./sysutils/dd_rescue, Tool like dd(1) for rescuing data from media with errors

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.33, Package name: dd_rescue-1.33, Maintainer: pkgsrc-users

Like dd, dd_rescue does copy data from one file or block device to another.
You can specify file positions (called seek and Skip in dd).

There are several differences:
* dd_rescue does not provide character conversions.
* The command syntax is different. Call dd_rescue -h.
* dd_rescue does not abort on errors on the input file, unless you specify a
maximum error number. Then dd_rescue will abort when this number is
* dd_rescue does not truncate the output file, unless asked to.
* You can tell dd_rescue to start from the end of a file and move backwards.
* It uses two block sizes, a large (soft) block size and a small (hard) block
size. In case of errors, the size falls back to the small one and is
promoted again after a while without errors.
* It does not (yet) support non-seekable in- or output.

Required to build:

Master sites:

RMD160: ed39efddcf3fa6708926cb31c9b32020e0d59208
Filesize: 36.058 KB

Version history: (Expand)

CVS history: (Expand)

   2021-10-07 16:58:44 by Nia Alarie | Files touched by this commit (630)
Log message:
sysutils: Remove SHA1 hashes for distfiles
   2015-11-04 02:32:42 by Alistair G. Crooks | Files touched by this commit (499)
Log message:
Add SHA512 digests for distfiles for sysutils category

Problems found with existing digests:
	Package memconf distfile memconf-2.16/memconf.gz
	b6f4b736cac388dddc5070670351cf7262aba048 [recorded]
	95748686a5ad8144232f4d4abc9bf052721a196f [calculated]

Problems found locating distfiles:
	Package dc-tools: missing distfile dc-tools/abs0-dc-burn-netbsd-1.5-0-gae55ec9
	Package ipw-firmware: missing distfile ipw2100-fw-1.2.tgz
	Package iwi-firmware: missing distfile ipw2200-fw-2.3.tgz
	Package nvnet: missing distfile nvnet-netbsd-src-20050620.tgz
	Package syslog-ng: missing distfile syslog-ng-3.7.2.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2013-06-14 03:07:58 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
patch-ab modified to fix clang build problem:
  (1) clang flags:
  dd_rescue.c:1494:22: warning: implicit declaration of function 'basename' is \ 
invalid in C99 [-Wimplicit-function-declaration]
        const char* ibase = basename(inm);
  (3) clang flags:
  dd_recue.c:(.text+0x12b4): undefined reference to `mypread'
  dd_rescue.c:(.text+0x1374): undefined reference to `mypwrite'
Reported by joerg@ bulkbuild, and discussed on tech-pkg@, thanks.
   2013-06-04 16:55:03 by Makoto Fujiwara | Files touched by this commit (1)
Log message:
Add instruction to README at pkg_add or installation time.
   2013-06-04 02:47:47 by Makoto Fujiwara | Files touched by this commit (5) | Package updated
Log message:
Bump dd_rescue Version 1.23 to 1.33
Version 1.33, released 2013-03-30.
  It brings long options, a new double overwrite mode (-2) and
  a man page.

Version 1.32
  has a new option -x to append to the output file
  and you can specify -Y (multiple times if you wish so) to
  write the same data to secondary output files.

Version 1.31 (2013-02-03)
  brought a few tiny improvements in the output (such as
  displaying the total elapsed time in the summary as opposed to
  ETA of 0, and the amount of data really written with option
  -W). But importantly, it has the new mode of triple
  overwriting of data (options -3 and -4), with random numbers,
  inverse random numbers, new random numbers (only for -4) and
  zeros, this way allowing paranoia-safe deletion of

Version 1.30 (2013-01-25)
  brought a fix for outputting data to stdout and a fix for a
  possible double free operation (introduced in 1.29). The
  message formatting has been streamlined a bit. The PRNG can
  now be initialized from a file (e.g. -Z /dev/urandom). The
  program now can also avoid writing to a target block if the
  target block already has the same data (option -W). Think of
  SSDs or other devices where you want to avoid writes.

In Version 1.29 (2013-01-22)
  a bug was fixed, where the last bytes where not copied
  corrected if hardbs == softbs. 1.29 also brings a number of
  new features; the ability to write the same (softbs sized)
  block again and again (option -R, automatically set if infile
  is /dev/zero), the ability to limit transfer size such that
  the outfile won't be enlarged (-M) and the possibility to use
  userspace random numbers (libc/frandom) to fill files with
  random data (options -z and -Z). Last not least, OBS also
  builds .deb binaries for Ubu12.04 / Deb6 now.

Version is 1.28 (released 2012-05-19)
  uses better defaults for hard and softblock sizes (4k/64k
  for buffered I/O, 512/1M for direct IO), as suggested by Jan
  Kara. Also the copying of access times with the option -p
  was fixed.

Version 1.27
  allowed to do 512b direct IO (which is possible in latest
  Linux kernels) -- idea and patch from Jan Kara. Change
  posix_memalign() variable assignment. It has a number of
  fixes from Valentin Lab; most importantly, when exiting
  because of an error, it updates the variables that are
  output. dd_rescue now avoid specal characters in the
  logfile. It handles situations gracefully, where wrong
  positions resulted in the progress graph causing
  faults. Some come from illegal input (negative offset ...),
  which is nw detected.

Version 1.25
  contains a fix for spurious "Success" messages that resulted
  from overwritten (cleared) errno. Bad blocks are formatted
  in a way that they are not overwritten on screen and block
  numbers are output as unsigned.

Version 1.24
  contains a compile fix for Linux versions that contain the
  splice syscall but not the other definitions. I also allows
  for specifying a directory (such as ".") as output filename
  in which case dd_rescue just appends the input file basename
  to it, just like cp does. Maybe most importantly, the RPM
  now contains the latest version of dd_rhelp (0.1.2).
VS: ----------------------------------------------------------------------
   2013-04-06 05:45:29 by Blue Rats | Files touched by this commit (152)
Log message:

 COMMENT should not be longer than 70 characters.
 COMMENT should not begin with 'A'.
 COMMENT should not begin with 'An'.
 COMMENT should not begin with 'a'.
 COMMENT should not end with a period.
 COMMENT should start with a capital letter.

pkglint warnings. Some files also got minor formatting, spelling, and style
   2012-10-23 21:51:39 by Aleksej Saushev | Files touched by this commit (447)
Log message:
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.
   2010-11-05 09:32:19 by Geert Hendrickx | Files touched by this commit (5) | Package updated
Log message:
Update to dd_rescue 1.23.  Changelog:

In version 1.23, the default to not sync every 512 soft blocks is now really
changed to only sync at the end (documented for 1.18, but mostly ineffective,
ouch). More importantly, a short read because of EOF is now not considered an
error any more and thus neither triggers messages (with quiet) nor does it
cause a confusing exit code any more.
Version 1.22 contains a number of little improvements: Display of compiler,
compile time, enabled options, don't repeat copy attempts if hardbs == softbs,
fix FPE in progress bar for non-seekable input reverse copy, and make the code
more digestable for non-GCC compilers, optional fallbacks for strsignal, pread,
pwrite. Last not least, the documentation has a few notes on the goodies now.
Version 1.21 issues warnings when writing in a sparse mode into existing files
or to block devices.
In version 1.20, there's also a progress estimation if input file size is
unknown, but transfer size is limited with -m.
Version 1.19 brings the support for fallocate.
In version 1.18, we have changed the default to -y0 (no fsync), the avg. speed
is calculated in a meaningful way nevertheless now.
In version 1.17, a progress bar, completion percentage and ETA has been added.
In version 1.16, the work was done to determine and display the total amount of
data that will be copied.
Version 1.15 brings support for the Linux splice() mechanism to avoid copying
data to a userspace bugffer.