ISOファイルを持っています。これをCDに書き込みました。 CDが正しく作成されているかどうかを確認するにはどうすればよいですか? ISOファイルで計算したハッシュ合計を確認するために使用できるハッシュ合計を計算するコマンドが欲しいのですが。理想的には、コマンドは次のとおりです。
dd
ディスクをファイルに戻し、そのファイルに対してmd5sum
を実行することはできません。何もかも納得できない答えが無い場合は最寄のマッチもよろしくお願いします。なぜそれほど簡単ではないのか教えていただければなおさらです。
基本的な問題は、元々ISOにあったのとまったく同じ情報のmd5sumを取得することです。 ISOをCDに書き込む場合、ディスクの最後に空白スペースがある可能性があり、これによりmd5sumが必然的に変更されます。したがって、非常に短い方法:
md5sum /dev/cdrom
が機能しません。機能するのは(そして online のドキュメントで一般的です)、デバイスから正確なバイト数を読み取り、md5sum
。バイト数がわかっている場合は、次のようなことができます。
dd if=/dev/cdrom bs=1 count=xxxxxxxx | md5sum
ここで、「xxxxx」はバイト単位のISOのサイズです。
手元のバイト数がわからないが、ディスクにisoがまだある場合は、次のような方法でlsを使用してバイトを取得できます( ここから取得 )。
dd if=/dev/cdrom | head -c `stat --format=%s file.iso` | md5sum
動作するはずの他の多くの単線構造があります。いずれの場合も、ディスクからバイトを読み取るためにdd
を使用していますが、これらをファイルにパイプするのではなく、すぐにmd5sumに渡していることに注意してください。
いくつかの計算を行って、より大きなブロックサイズ(bs=
(dd
コマンド)。
このタスクのためのプログラムがあります。それは呼ばれています - checkisomd5
。 Ubuntuでは、次のコマンドでインストールできます。
Sudo apt-get install isomd5sum
ディスク上のイメージのサイズが2048の整数で割り切れる場合、これは非常に一般的なようですが、次のように正確なMD5sumを取得できます。ここで、_sr0
_は光学式の名前です。 _lshw -C disk
_-を使用し、「count」は画像サイズの被除数を2048で割ったものです。
_dd if=/dev/sr0 bs=2048 count=356352 |md5sum
_