ddとmd5sum/ を使用sha1sumするだけで十分ですが、前述したように、デバイスのサイズはファイルのサイズと同じではないため、合計が異なります。
ここでまだそれを行う方法
まず、ファイルのサイズを知る必要があります。
$ stat -c '%s' debian-live-8.2.0-amd64-lxde-desktop.iso
1003487232
次に、syscallでクールにするには、2の2のべき乗の倍数としてこれを取得することをお勧めします。2つ4096の乗算は、ファイルのサイズを正確に生成する必要があります。他の方法では、チェックが少なすぎるか、バイトが多すぎるため、チェックサムが間違っています。
$ bc
bc 1.06.95
scale = 9
1003487232 / 4096
244992.000000000
私は嬉しい4096 × 244992 = 1003487232ので、4096は私にとって(そしておそらくあなたにとっても)良いので、ブロックサイズ4096(標準)とブロックカウントを使用できます244992。
USBキーにファイルを書き込むことを忘れないでください...
$ dd if=debian-live-8.2.0-amd64-lxde-desktop.iso of=/dev/sd? && sync
また、既知のブロックサイズとブロック数を使用して、キーから正確なバイト数を読み取り、それらを確認できます。
$ dd if=/dev/sdb bs=4096 count=244992 | sha1sum
b0dbe4ca8f526d1e43555459c538607d4a987184
(はいmd5sum、はるかに高速ですsha1sumが、ここでは明らかにボトルネックではありません。ボトルネックはUSBのスループットです。
または、要するに:
dd if=/dev/sdb bs=4096 count=$(($(stat -c '%s' the.iso) / 4096)) | sha1sum