他の場合にのみDDにコマンドを書きますか?

他の場合にのみDDにコマンドを書きますか?

私は通常、ddコマンド(または同様のコマンド)を使用してgzipにパイプして作成された一部のコンピュータドライブのイメージベースのバックアップを維持します。バックアップを復元するためにプロセスを逆にしました。回転ドライブにはうまく機能しますが、SSDを使用すると、すでにドライブにあるデータを回復するために書き込みを無駄にするのが嫌いです。すでにドライブにあるデータとイメージバックアップにあるデータの間に技術的に数ギガバイトのデータ差がある場合、SSDに1TBのデータを書き、寿命を1〜2%短​​縮することができます。

もしそうなら、ddイメージを復元し、データが異なる場合にのみドライブにデータを書き込む方法があるかどうか疑問に思います。データブロックを比較し、そのブロックのデータが異なる場合にのみそのブロックに書き込む場合でも、バイト単位のチェックである必要はありません。これはとても役に立ちます。

ベストアンサー1

私はより速い選択肢を見つけるためにここに来ました。

これに関して、私の現在の最善の努力は次のとおりです。

xdelta3 -e -s /dev/mmcblk0 <(zcat backup.img.gz) /tmp/delta
xdelta3 -d -s /dev/mmcblk0 /tmp/delta /dev/mmcblk0

これは結局かなり遅くなりますが、書き込み増幅効果を避けるようです。

この回答に対するロボットの関心のおかげで、xdelta3しばらくDebianディストリビューションで使用できました(apt-get install xdelta3

Xdelta3は、バイナリ間の変更を計算するように設計されたツールのセットです。これらの変更(デルタファイル)は、ファイル間の変更のみを保存して転送するために使用できるという点で、「diff」プログラムの出力に似ています。 Xdelta3が管理する「デルタファイル」はRFC3284(VCDIFF)形式で保存されます。

おすすめ記事