ddrescue, confusingly, can refer to two completely separate programs, dd_rescue by Kurt Garloff, and GNU ddrescue. Both have the same purpose and are actively developed.
Garloff's program dd_rescue is the first attempt to improve on dd; GNU ddrescue is newer and was created to address shortcomings in dd_rescue.
Several sources prefer GNU ddrescue over dd_rescue. For example,
One advantage of GNU ddrescue is that it backs up most data faster, by first skipping bad blocks (which are slow to recover) and coming back to them only after good blocks have been backed up. One disadvantage of GNU ddrescue is that it doesn't support piped output, which means you can't compress the output image with gzip or lzop.
Ubuntu packages
Unfortunately, the package names in the Ubuntu repositories are confusing; dd_rescue is packaged under the name ddrescue, and ddrescue under gddrescue! From the package summaries:
gddrescue package:
Please note that this is the GNU ddrescue version providing
the /sbin/ddrescue executable. If you are searching for the
ddrescue version of Kurt Garloff please check out the
ddrescue package instead.
ddrescue package:
Please note that this is the dd_rescue version of Kurt Garloff
providing the /bin/dd_rescue executable. If you are searching
for the GNU ddrescue version please check out the gddrescue
package instead.
Summary of names
| Program name |
Ubuntu package name |
Executable name |
Name in URL |
| GNU ddrescue |
gddrescue |
ddrescue |
ddrescue |
| dd_rescue |
ddrescue |
dd_rescue |
ddrescue |