Saya mengikuti ini DebianEeePC HowTo InstallUsingStandardInstaller petunjuk di Debian Wiki, untuk menulis Debian ISO ke USB saya.
dd if=debian-*-netinst.iso of=/dev/sdX
Dengan menggunakan sha1sum
, saya dapat memeriksa checksum dari file ISO yang saya unduh. Bagaimana saya dapat memeriksa checksum dari perangkat USB stick, untuk memastikan bahwa USB stick tidak memiliki masalah dan ISO disalin dengan sempurna?
filesystems
usb
checksum
Desa
sumber
sumber
Jawaban:
Anda dapat menggunakan
cmp
untuk memeriksa apakah semuanya disalin dengan baik:Solusi ini tidak secara eksplisit menghitung checksum dari Anda
/dev/sdX
- tetapi Anda tidak perlu melakukan itu karena Anda sudah melakukan ini untuk sumber perbandingan (yaitudebian-X-netinst.iso
).Melakukan hanya
dd if=/dev/sdX | sha1sum
dapat menghasilkan checksum yang salah hanya karena Anda mendapatkan blok tambahan (/dev/sdX
kemungkinan besar lebih besar dari file-iso).Melalui
cmp -n
Anda pastikan tidak ada trailing byte pada Anda/dev/sdX
yang dibandingkan.Jika Anda paranoid tentang kualitas perangkat penyimpanan massal USB yang Anda panggil
sync
, keluarkan, masukkan kembali, lalu lakukan perbandingan - jika tidak, semua atau beberapa blok mungkin hanya berasal dari kernel VM (cache) - padahal mungkin bit pada perangkat keras kacau.sumber
Jawaban Julien berhasil, tetapi ada cara yang lebih sederhana dan lebih cepat untuk melakukan ini:
sumber
head -c $(stat -c '%s' the.iso) /dev/sdc | sha1sum
Hanya menggunakan
dd
danmd5sum
/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:
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.Saya senang,
4096 × 244992 = 1003487232
jadi 4096 baik untuk saya, (dan akan untuk Anda, mungkin) jadi saya bisa menggunakan ukuran blok4096
(tipikal) dan jumlah blok244992
.Jangan lupa untuk menulis file di tombol USB ...
Dan tahu, menggunakan ukuran blok yang diketahui dan jumlah blok, Anda dapat membaca jumlah byte yang tepat dari kunci dan memeriksanya:
(Ya
md5sum
jauh lebih cepat daripadasha1sum
tapi itu jelas bukan hambatan Anda di sini, hambatannya adalah USB thoughput, terima kasih telah memperhatikan).Atau, singkatnya:
sumber
$ dd if=/dev/sdb1 bs=4096 count=<filesize/4096> | md5sum
saya bisa memeriksa md5sum dari gambar Debian ditulis ke usb stick dan membandingkannya dengan Debian md5sums.Berdasarkan jawaban @Kyle Jones
Anda harus menggunakan
md5sum
karena lebih cepat daripadasha1sum
(ini akan menghemat waktu ketika Anda memeriksa file besar)sumber
md5sum
setidaknya dua kali lebih cepat? Itu pasti karena OP sudah memilikisha1sum
dari situs unduhan dan tidak harus menghitungnya. Dan membaca dari USB akan menjadi faktor pembatas bukan perhitungan sha1 / md5.