CDに書き込んだISOファイルがあります。 CDが正しく作成されているかどうかを確認するにはどうすればよいですか? ISOファイルで計算したハッシュサムでチェックするために使用できるハッシュサムを計算するコマンドが欲しいのですが。理想的には、コマンドは次のようにする必要があります。
- ISOファイルに関係なく機能します。つまり、ディスク内の各ファイルのハッシュサムのリストを保持したり、ブロック数を覚えたりしたくありません。
- 比較的短くしてください。1行のコマンドは優れています。2行の長さのコマンドのチェーンは問題ありませんが、1ページにまたがるスクリプトは問題ありません。
- かなり効率的である:たとえば、
dd
ディスクをファイルに戻し、md5sum
を実行します ファイル上では受け入れられません
すべてを満たすことができない答えがない場合は、私も最も近い試合に感謝します。なぜそれほど単純ではないのか教えていただければさらに良いです。
承認された回答:
基本的な問題は、元々ISOにあったものとまったく同じ情報のmd5sumを取得したいということです。 ISOをCDに書き込む場合、ディスクの端に空白がある可能性があり、必然的にmd5sumが変更されます。したがって、非常に短い方法:
md5sum /dev/cdrom
機能しません 。動作する(そしてオンラインドキュメントで一般的である)のは、デバイスから正確なバイト数を読み取り、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
で コマンド)。