web-dev-qa-db-ja.com

ddrescue、gddrescue、およびdd_rescueの違いは何ですか?

ddコマンドは、一般的に ドライブまたはパーティションのイメージバックアップの作成に使用 です。ただし、ソースドライブの信頼性が低いか故障している場合は、パフォーマンスが低下します。 ddrescue/dd_rescueは、最初に読み取れなかったセクターをインテリジェントに再読み取りしようとするため、不良ドライブからイメージを回復するために使用するのに適したツールであることを読みました。

しかし、Ubuntuリポジトリには、2つの異なるddrescueプログラムがあり、3つの異なるが類似した名前が異なる場所に表示されます:ddrescuegddrescuedd_rescue。違いは何ですか?

57

混乱を招くddrescueは、2つの完全に別個のプログラム、 dd_rescue Kurt Garloff、および GNU ddrescue を参照できます。どちらも同じ目的を持ち、積極的に開発されています。

Garloffのプログラムdd_rescueは、ddを改善する最初の試みです。 GNU ddrescueはより新しく、 dd_rescueの欠点に対処するために作成されました

いくつかのソースは、dd_rescueよりもGNU ddrescueを好んでいます。例えば、

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

    ddrescueは(私の本では)C++で書かれた効率的な自己完結型プログラム(シェルスクリプトのクラッジではない)であり、コンソール/端末でよりクリーンな出力を生成し、(最も重要なこと)読み取り不能なブロックを適切かつインテリジェントに処理します

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

    GNU ddrescueはあなたの親友です。

    これは、先行する2つのプログラム、dd_rescue(アンダーバー付き)、およびdd_rhelpをモデルにしています。しかし、GNUは両方よりもはるかに優れています-私は同じドライブで3つすべてを試し、普通の「dd」を使用しようとしました。

    アントニオ・ディアス・ディアスのGNU ddrescueはこれらの経験から学んだ。これは、大きなブロックを読み取ってギアをシフトするdd_rescueの機能と、ディスクのどの部分がすでに見られているかを記憶するdd_rhelpの機能の両方を兼ね備えています。この情報は非常にシンプルなログファイル形式で保持され、30秒ごと、または停止または中断されるたびに更新されます。 C++で書かれており、小さくて高速です。

GNU ddrescueの利点の1つは、最初に不良ブロックをスキップし(回復に時間がかかる)、正常なブロックがバックアップされた後にのみそれらに戻ることにより、ほとんどのデータを高速にバックアップすることです。 GNU ddrescueの欠点の1つは、 パイプ出力をサポートしていないことです。つまり、gzipまたはlzop で出力イメージを圧縮することはできません。

Ubuntuパッケージ

残念ながら、Ubuntuリポジトリのパッケージ名はわかりにくいです。 dd_rescueは、名前ddrescueでパッケージ化され、ddrescuegddrescueの下にパッケージ化されています!パッケージの概要から:

  • gddrescueパッケージ:

    これは/ sbin/ddrescue実行可能ファイルを提供するGNU ddrescueバージョンであることに注意してください。 Kurt Garloffのddrescueバージョンを探している場合は、代わりにddrescueパッケージをチェックしてください。

  • ddrescueパッケージ:

    これは/ bin/dd_rescue実行可能ファイルを提供するKurt Garloffのdd_rescueバージョンであることに注意してください。 GNU ddrescueバージョンを検索している場合は、代わりにgddrescueパッケージを確認してください。

名前の要約:

Program name     Ubuntu package name     Executable name    Name in URL
GNU ddrescue     gddrescue               ddrescue           ddrescue
dd_rescue        ddrescue                dd_rescue          ddrescue
68