Hanya menggunakan dd
dan md5sum
/ sha1sum
sudah cukup, tetapi seperti yang dikatakan sebelumnya, berhati-hatilah, perangkat Anda tidak memiliki ukuran yang sama dengan file Anda, jadi jumlahnya akan berbeda.
Di sini bagaimana Anda masih bisa melakukannya
Pertama, Anda harus mengetahui ukuran file:
$ stat -c '%s' debian-live-8.2.0-amd64-lxde-desktop.iso
1003487232
Kemudian, untuk menjadi keren dengan syscalls Anda, Anda lebih baik mendapatkan ini sebagai kelipatan dari kekuatan yang bagus dari dua suka 4096
, perkalian dari keduanya HARUS menghasilkan persis ukuran file, dengan cara lain, Anda akan memeriksa terlalu sedikit atau terlalu banyak byte, menghasilkan checksum yang salah.
$ bc
bc 1.06.95
scale = 9
1003487232 / 4096
244992.000000000
Saya senang, 4096 × 244992 = 1003487232
jadi 4096 baik untuk saya, (dan akan untuk Anda, mungkin) jadi saya bisa menggunakan ukuran blok 4096
(tipikal) dan jumlah blok 244992
.
Jangan lupa untuk menulis file di tombol USB ...
$ dd if=debian-live-8.2.0-amd64-lxde-desktop.iso of=/dev/sd? && sync
Dan tahu, menggunakan ukuran blok yang diketahui dan jumlah blok, Anda dapat membaca jumlah byte yang tepat dari kunci dan memeriksanya:
$ dd if=/dev/sdb bs=4096 count=244992 | sha1sum
b0dbe4ca8f526d1e43555459c538607d4a987184
(Ya md5sum
jauh lebih cepat daripada sha1sum
tapi itu jelas bukan hambatan Anda di sini, hambatannya adalah USB thoughput, terima kasih telah memperhatikan).
Atau, singkatnya:
dd if=/dev/sdb bs=4096 count=$(($(stat -c '%s' the.iso) / 4096)) | sha1sum