Jaka jest różnica między ddrescue, gddrescue i dd_rescue?

57

ddKomenda jest powszechnie używany do tworzenia kopii zapasowych obrazu dysku lub partycji . Działa jednak słabo, jeśli dysk źródłowy jest zawodny lub nie działa. Przeczytałem, że ddrescue/ dd_rescuejest dobrym narzędziem do odzyskiwania obrazu ze złego dysku, ponieważ inteligentnie próbuje ponownie odczytać sektory, których nie odczytał za pierwszym razem.

Ale w repozytoriach Ubuntu, widzę dwa różne ddrescueprogramy, z 3 różnych, ale podobnych nazwy pojawiają się w różnych miejscach: ddrescue, gddrescue, dd_rescue. Co za różnica?

Ślimak mechaniczny
źródło

Odpowiedzi:

71

ddrescue, myląco, może odnosić się do dwóch całkowicie oddzielnych programów dd_rescueautorstwa Kurta Garloffa i GNU ddrescue . Oba mają ten sam cel i są aktywnie rozwijane.

Program Garloffa dd_rescuejest pierwszą próbą ulepszenia dd; GNU ddrescue jest nowszy i został stworzony w celu usunięcia niedociągnięćdd_rescue .

Kilka źródeł woli GNU ddrescue dd_rescue. Na przykład,

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

    ddrescue wygrywa (w mojej książce), ponieważ jest to skuteczny, samodzielny program napisany w C ++ (nie kludge skryptu powłoki), produkuje znacznie czystsze wyjście na konsoli / terminalu i (co najważniejsze) obsługuje wdzięcznie i inteligentnie nieczytelne bloki .

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

    GNU ddrescue jest twoim najlepszym przyjacielem.

    Jest wzorowany na dwóch poprzednich programach: dd_rescue (z podpisem) i dd_rhelp. Ale GNU ddrescue jest znacznie lepszy niż oba - wypróbowałem wszystkie trzy, na tym samym dysku, a także próbowałem użyć zwykłego starego „dd”.

    GNU ddrescue Antonio Diaz Diaz nauczył się z tych doświadczeń. Łączy w sobie zarówno zdolność dd_rescue do czytania dużych bloków, a następnie zmiany biegów, oraz zdolność dd_rhelp do zapamiętywania, które części dysku były już oglądane. Przechowuje te informacje w naprawdę prostym formacie pliku dziennika i aktualizuje je co 30 sekund lub za każdym razem, gdy się zatrzymuje lub zostaje przerwane. Jest napisany w C ++ i jest mały i szybki.

Jedną z zalet GNU ddrescue jest to, że szybciej tworzy kopie zapasowe większości danych, najpierw pomijając złe bloki (których powolne odzyskiwanie) i wracając do nich dopiero po utworzeniu kopii zapasowej dobrych bloków. Jedną wadą GNU ddrescue jest to, że nie obsługuje ongziplzop potokowego wyjścia, co oznacza, że ​​nie można kompresować obrazu wyjściowego za pomocą lub .

Pakiety Ubuntu

Niestety nazwy pakietów w repozytoriach Ubuntu są mylące; dd_rescuejest zapakowany pod nazwą ddrescuei ddrescuepod gddrescue! Ze streszczeń pakietów:

  • gddrescue pakiet:

    Należy pamiętać, że jest to wersja GNU ddrescue zapewniająca plik wykonywalny / sbin / ddrescue. Jeśli szukasz wersji Kurt Garloff w wersji ddrescue, sprawdź pakiet ddrescue.

  • ddrescue pakiet:

    Pamiętaj, że jest to wersja Kurt Garloff dd_rescue zapewniająca plik wykonywalny / bin / dd_rescue. Jeśli szukasz wersji GNU ddrescue, sprawdź pakiet gddrescue.

Podsumowanie nazw:

Program name     Ubuntu package name     Executable name    Name in URL
GNU ddrescue     gddrescue               ddrescue           ddrescue
dd_rescue        ddrescue                dd_rescue          ddrescue
Ślimak mechaniczny
źródło
2
Dwa lata spóźnienia, ale: bardzo dobry post na problem, który wciąż dotyka ludzi, i to nie tylko na Ubuntu! Wrzucę własne dwa centy, jak wspomniano tylko w powyższej odpowiedzi: jedną z zalet GNU ddrescue jest funkcja pliku dziennika. Nie tylko pozwala ci wznowić częściowe odzyskiwanie i spróbować ponownie później, ale ponieważ jest czytelny zarówno dla człowieka, jak i komputera, zarówno ludzie, jak i komputery mogą go później użyć do bardziej zaawansowanego odzyskiwania danych. Ostatnio musiałem to zrobić na uszkodzonym dysku; bez pliku dziennika nie wiedziałbym, od czego zacząć!
andlabs,
4
Najnowsze Ubuntu (14.04 i nowsze) wydają się mieć tylko gddrescue, wyszukiwanie pakietu Ubuntu dla ddrescue pokazuje tylko gddrescue(i ddrescueview) teraz, Kurt Garloff ddrescuejest tylko w 12.04
Xen2050
2
Powodem „pierwszego pomijania złych bloków” jest zapisanie najpierw nietkniętych danych przed próbą odzyskania złych danych. Aktywność na dysku może zniszczyć więcej bitów, szczególnie powtarzane próby przywrócenia złych obszarów.
Jonas Stein