Was ist der Unterschied zwischen ddrescue, gddrescue und dd_rescue?

57

Der ddBefehl wird normalerweise zum Erstellen von Image-Sicherungen eines Laufwerks oder einer Partition verwendet . Die Leistung ist jedoch schlecht, wenn das Quelllaufwerk unzuverlässig ist oder ausfällt. Ich habe gelesen, dass ddrescue/ dd_rescueein gutes Werkzeug ist, um ein Image von einem fehlerhaften Laufwerk wiederherzustellen, da es auf intelligente Weise versucht, Sektoren neu zu lesen, die es beim ersten Mal nicht gelesen hat.

Aber in den Ubuntu - Repositories, sehe ich zwei verschiedene ddrescueProgramme, mit 3 verschiedenen , aber ähnlichen Namen in verschiedenen Orten zeigt sich: ddrescue, gddrescue, dd_rescue. Was ist der Unterschied?

Mechanische Schnecke
quelle

Antworten:

71

ddrescueVerwirrenderweise kann auf zwei völlig getrennte Programme dd_rescuevon Kurt Garloff und GNU ddrescue verwiesen werden . Beide haben den gleichen Zweck und werden aktiv weiterentwickelt.

Garloffs Programm dd_rescueist der erste Versuch, sich zu verbessern dd. GNU ddrescue ist neuer und wurde entwickelt, um Mängel zu behebendd_rescue .

Mehrere Quellen ziehen GNU ddrescue vor dd_rescue. Zum Beispiel,

  • http://lwn.net/Articles/430000/

    ddrescue gewinnt (in meinem Buch), weil es ein effizientes in sich geschlossenes Programm ist, das in C ++ geschrieben wurde (kein Shell-Skript-Kludge), eine viel sauberere Ausgabe auf der Konsole / dem Terminal erzeugt und (am wichtigsten) mit unlesbaren Blöcken elegant und intelligent umgeht .

  • http://www.toad.com/gnu/sysadmin/index.html#ddrescue

    GNU ddrescue ist dein bester Freund.

    Es ist den beiden vorhergehenden Programmen dd_rescue (mit einem Unterstrich) und dd_rhelp nachempfunden. Aber GNU ddrescue ist weitaus besser als beide - ich habe alle drei auf demselben Laufwerk ausprobiert und versucht, einfaches altes "dd" zu verwenden.

    Antonio Diaz Diaz 'GNU ddrescue hat aus diesen Erfahrungen gelernt. Es kombiniert die Fähigkeit von dd_rescue, große Blöcke zu lesen und dann den Gang zu wechseln, mit der Fähigkeit von dd_rhelp, sich daran zu erinnern, welche Teile der Festplatte bereits angesehen wurden. Diese Informationen werden in einem wirklich einfachen Protokolldateiformat gespeichert und alle 30 Sekunden oder immer dann aktualisiert, wenn sie angehalten oder unterbrochen werden. Es ist in C ++ geschrieben und klein und schnell.

Ein Vorteil von GNU ddrescue besteht darin, dass die meisten Daten schneller gesichert werden, indem zuerst fehlerhafte Blöcke übersprungen werden (die sich nur langsam wiederherstellen lassen) und erst dann wiederhergestellt werden, wenn gute Blöcke gesichert wurden. Ein Nachteil von GNU ddrescue ist, dass es keine Pipe-Ausgabe unterstützt, was bedeutet, dass Sie das Ausgabebild nicht mit gzipoder komprimieren könnenlzop .

Ubuntu-Pakete

Leider sind die Paketnamen in den Ubuntu-Repositories verwirrend. dd_rescueist unter dem Namen verpackt ddrescue, und ddrescueunter gddrescue! Aus den Paketzusammenfassungen:

  • gddrescue Paket:

    Bitte beachten Sie, dass dies die GNU ddrescue-Version ist, die die ausführbare Datei / sbin / ddrescue bereitstellt. Wenn Sie nach der ddrescue-Version von Kurt Garloff suchen, lesen Sie stattdessen das ddrescue-Paket.

  • ddrescue Paket:

    Bitte beachten Sie, dass dies die dd_rescue-Version von Kurt Garloff ist, die die ausführbare Datei / bin / dd_rescue bereitstellt. Wenn Sie nach der GNU ddrescue-Version suchen, lesen Sie stattdessen das gddrescue-Paket.

Zusammenfassung der Namen:

Program name     Ubuntu package name     Executable name    Name in URL
GNU ddrescue     gddrescue               ddrescue           ddrescue
dd_rescue        ddrescue                dd_rescue          ddrescue
Mechanische Schnecke
quelle
2
Zwei Jahre zu spät, aber: sehr guter Beitrag für ein Problem, das immer noch Menschen betrifft, und nicht nur auf Ubuntu! Ich werfe meine eigenen zwei Cent ein, wie es nur in der obigen Antwort erwähnt wird: Einer der Vorteile von GNU ddrescue ist seine Protokolldatei-Funktion. Sie können damit nicht nur Teilwiederherstellungen fortsetzen und später erneut versuchen, sondern sie können auch später für eine erweiterte Datenwiederherstellung verwendet werden, da sie sowohl vom Menschen als auch vom Computer lesbar sind. Ich musste das erst kürzlich auf einem beschädigten Laufwerk tun. ohne die logdatei hätte ich nicht gewusst, wo ich anfangen soll!
Andlabs
4
Aktuelle Ubuntus (14.04 und höher ) scheinen nur zu haben gddrescue, eine Ubuntu- Paketsuche nach ddrescue zeigt gddrescue(& ddrescueview) jetzt nur noch Kurt Garloffs ddrescuein 12.04
Xen2050
2
Der Grund für das "erste Überspringen fehlerhafter Blöcke" ist das Speichern der noch intakten Daten, bevor versucht wird, fehlerhafte Daten wiederherzustellen. Aktivitäten auf dem Laufwerk können mehr Teile zerstören, insbesondere wiederholte Versuche, fehlerhafte Bereiche wiederherzustellen.
Jonas Stein