Apa perbedaan antara ddrescue, gddrescue, dan dd_rescue?

57

The ddperintah umumnya digunakan untuk membuat backup image dari drive atau partisi . Namun, kinerjanya buruk jika drive sumber tidak dapat diandalkan atau gagal. Saya membaca bahwa ddrescue/ dd_rescueadalah alat yang baik untuk digunakan untuk memulihkan gambar dari drive yang buruk, karena ia dengan cerdas mencoba membaca kembali sektor-sektor yang gagal dibaca pertama kali.

Namun dalam repositori Ubuntu, saya melihat dua yang berbeda ddrescueprogram, dengan 3 nama yang berbeda namun serupa muncul di tempat yang berbeda: ddrescue, gddrescue, dd_rescue. Apa bedanya?

Siput mekanik
sumber

Jawaban:

71

ddrescue, secara membingungkan, dapat merujuk pada dua program yang sepenuhnya terpisah, dd_rescueoleh Kurt Garloff, dan GNU ddrescue . Keduanya memiliki tujuan yang sama dan dikembangkan secara aktif.

Program Garloff dd_rescueadalah upaya pertama untuk meningkatkan dd; GNU ddrescue lebih baru dan dibuat untuk mengatasi kekurangan didd_rescue .

Beberapa sumber lebih memilih ddrescue GNU daripada dd_rescue. Sebagai contoh,

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

    ddrescue menang (dalam buku saya) karena ini adalah program mandiri yang ditulis dalam C ++ (bukan shell script kludge), menghasilkan keluaran yang jauh lebih bersih pada konsol / terminal, dan (yang paling penting) menangani blok yang tidak dapat dibaca dengan anggun dan cerdas .

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

    GNU ddrescue adalah sahabat Anda.

    Ini dimodelkan setelah dua program sebelumnya, dd_rescue (dengan underbar), dan dd_rhelp. Tapi GNU ddrescue jauh lebih baik daripada keduanya - Saya sudah mencoba ketiganya, pada drive yang sama, serta mencoba menggunakan "dd" lama.

    GNU ddrescue karya Antonio Diaz Diaz belajar dari pengalaman ini. Ini menggabungkan kemampuan dd_rescue untuk membaca blok-blok besar dan kemudian menggeser persneling, dengan kemampuan dd_rhelp untuk mengingat bagian disk yang sudah dilihat. Itu menyimpan info ini dalam format logfile yang sangat sederhana, dan membuatnya diperbarui setiap 30 detik, atau setiap kali berhenti atau terganggu. Ini ditulis dalam C ++ dan kecil dan cepat.

Satu keuntungan dari GNU ddrescue adalah bahwa ia mencadangkan sebagian besar data lebih cepat, dengan terlebih dahulu melewatkan blok yang buruk (yang lambat untuk pulih) dan kembali ke mereka hanya setelah blok yang baik telah dicadangkan. Salah satu kelemahan dari GNU ddrescue adalah tidak mendukung output yang disalurkan, yang berarti Anda tidak dapat mengompres gambar output dengan gzipataulzop .

Paket Ubuntu

Sayangnya, nama-nama paket dalam repositori Ubuntu membingungkan; dd_rescuedikemas dengan nama ddrescue, dan di ddrescuebawah gddrescue! Dari ringkasan paket:

  • gddrescue paket:

    Harap dicatat bahwa ini adalah versi dUrescue GNU yang menyediakan / sbin / ddrescue dapat dieksekusi. Jika Anda mencari versi ddrescue dari Kurt Garloff, silakan periksa paket ddrescue sebagai gantinya.

  • ddrescue paket:

    Harap dicatat bahwa ini adalah versi dd_rescue dari Kurt Garloff yang menyediakan / bin / dd_rescue dapat dieksekusi. Jika Anda mencari versi GNU ddrescue, silakan periksa paket gddrescue sebagai gantinya.

Ringkasan nama:

Program name     Ubuntu package name     Executable name    Name in URL
GNU ddrescue     gddrescue               ddrescue           ddrescue
dd_rescue        ddrescue                dd_rescue          ddrescue
Siput mekanik
sumber
2
Dua tahun terlambat tetapi: posting yang sangat bagus untuk masalah yang masih mempengaruhi orang, dan bukan hanya di Ubuntu! Saya akan memasukkan dua sen saya sendiri, karena hanya disebutkan dalam jawaban di atas: salah satu kelebihan GNU ddrescue adalah fitur file log-nya. Tidak hanya memungkinkan Anda melanjutkan pemulihan sebagian dan mencoba lagi nanti, tetapi karena keduanya dapat dibaca manusia dan komputer, baik manusia maupun komputer dapat menggunakannya untuk pemulihan data yang lebih lanjut di lain waktu. Saya harus melakukan ini baru-baru ini pada drive yang rusak; tanpa file log saya tidak akan tahu harus mulai dari mana!
andlabs
4
Ubuntu terbaru (14,04 ke atas) tampaknya hanya memiliki gddrescue, pencarian paket Ubuntu untuk ddrescue hanya menunjukkan gddrescue(& ddrescueview) sekarang, Kurt Garloff ddrescuehanya dalam 12,04
Xen2050
2
Alasan untuk "pertama melewatkan blok buruk" adalah untuk menyimpan data yang masih utuh terlebih dahulu sebelum data buruk mencoba untuk pulih. Aktivitas pada drive dapat menghancurkan lebih banyak bit, terutama upaya berulang untuk memulihkan area yang buruk.
Jonas Stein