物理的に焼き付けたCDとその元のISOイメージを持っています。CDコンテンツの参照チェックサムファイルは提供されませんでした。実際のCDが正しく(元のイメージに対応)、完全に読み取り可能であることを確認するにはどうすればよいですか?
md5sum
CD / DVDを起動したくない場合は、自分で実行して比較することもできます。
物理的に焼き付けたCDとその元のISOイメージを持っています。CDコンテンツの参照チェックサムファイルは提供されませんでした。実際のCDが正しく(元のイメージに対応)、完全に読み取り可能であることを確認するにはどうすればよいですか?
md5sum
CD / DVDを起動したくない場合は、自分で実行して比較することもできます。
回答:
まず、CDを一時ファイルにリッピングします。
dd if=/dev/sr0 of=copy.iso
そして、あなたはどうかをチェックcopy.iso
し、orig.iso
と例えば、同じサイズを持っています:
stat -c '%s %n' orig.iso copy.iso
サイズが同じであれば簡単です。
sha1sum orig.iso copy.iso
ただし、コピーまたは元の画像のいずれかに後続ゼロが存在するため、サイズが多少異なる場合があることに気付きました。たとえば、copy.iso
がより小さい場合orig.iso
:
sha1sum copy.iso
head -c $(stat -c %s copy.iso) orig.iso | sha1sum
もちろん、後続のバイトがゼロであることも確認する必要があります。
od -j $(stat -c %s copy.iso) orig.iso
オフセットを除いて、最初の行はゼロのみでなければなりません。2行目はアスタリスクである必要があります。アスタリスクは、連続する同一の行を表示しないようにするためのものです。
head -c $(stat -c %s /path/to/master.iso) /dev/sr0 | sha1sum
、焼き付けたCDのイメージを作成する必要がないようにすることができます。
ISOファイルがCDの書き込みに使用されたものと同じである場合、ここに私の2つのお気に入りがあります。
diff /dev/sr0 /tmp/file.iso
記録された画像を画像ファイルと比較します。あなたがもう少しマゾヒズムを感じるなら、あなたはこのようなことを試すことができます:
sha1sum /dev/sr0 /tmp/file.iso
署名を比較します。これは、SHA1サムがすでにどこかにある場合に便利です。どちらのコマンドもメディアを最後まで読み取ります。
@ Marki555が提案する方法でそれを行う場合は、最初に光学ドライブとイメージの両方をマウントする必要があります。完全なスクリプトは次のとおりです(もちろん、sudo
ルートである場合は省略できます—一般的には悪い考えです)
sudo mkdir /tmp/{a,b}
sudo mount /dev/sr0 /tmp/a -o ro # or whatever
sudo mount /tmp/file.iso /tmp/b -o loop,ro
diff -dur /tmp/{a,b}
sudo umount /tmp/a
sudo umount /tmp/b
sudo rmdir /tmp/{a,b}
cmp [-l]
バイナリファイルに適しています。Diffはテキストに最適です。
ISOがまだある場合は、を使用してバイト単位で比較できますcmp
。これは単純なコマンドであり、最初に見つかった違いで終了するので、実際に早い段階で実際にエラーが発生した場合にチェックサムを作成するよりもかなり高速です。
cmp /dev/cdrom /path/cdrom.iso
成功の可能性のある結果:
&& echo OK
出力がないために混乱する場合は、コマンドに追加できます。cmp: EOF on cdrom.iso
:同一ですが、cdromにはisoファイルよりも多くのバイトがあります。これは通常、CD-ROMの最後のゼロパディングが原因です。それは実際には問題ではないので、それはまだ成功です。失敗した場合の考えられる結果:
cmp: EOF on /dev/cdrom
:何らかの理由でCDROMのデータが不完全です。ISOが大きすぎて実際のCDに収まらない可能性があります。/dev/cdrom cdrom.iso differ: byte 18296321, line 71780
:CDROMとISOイメージの間に予期しない違いがあります。dd
(たとえばdd if=/dev/cdrom of=/dev/null
)を使用して、CDが完全に読み取り可能であることを確認できます。ただし、ISOイメージと直接比較することはできません。これらの異なるISOイメージはすべて同じCDコンテンツ(ディレクトリ構造、ファイル属性、およびファイルコンテンツ)を提供しますが、各ソフトウェアはわずかに異なるISOファイル(おそらくいくつかの異なるヘッダーまたはパディング)を作成します。
したがって、CDをマウントし、ISOイメージをマウントして、ある種のディレクトリ比較ツールを使用してファイルシステムレベルで比較することしかできません(申し訳ありませんが、Linuxではまだ使用していません)。
diff -r
ディレクトリの内容を再帰的に比較します。