Wystarczy użyć dd
i md5sum
/ sha1sum
, ale, jak powiedziano wcześniej, bądź ostrożny, twoje urządzenie nie jest tego samego rozmiaru co plik, więc sumy będą się różnić.
Oto jak możesz to zrobić
Najpierw musisz znać rozmiar pliku:
$ stat -c '%s' debian-live-8.2.0-amd64-lxde-desktop.iso
1003487232
Następnie, aby zachować spokój ze swoimi syscallami, lepiej uzyskać to jako wielokrotność ładnej potęgi dwóch takich jak 4096
, mnożenie dwóch MUSI dać dokładnie rozmiar pliku, innymi słowy, zaznaczysz za mało lub za dużo bajtów, co daje złą sumę kontrolną.
$ bc
bc 1.06.95
scale = 9
1003487232 / 4096
244992.000000000
Jestem szczęśliwy, 4096 × 244992 = 1003487232
więc 4096 jest dla mnie dobry (i prawdopodobnie dla ciebie), więc mogę użyć rozmiaru bloku 4096
(typowego) i liczby bloków 244992
.
Nie zapomnij zapisać pliku na kluczu USB ...
$ dd if=debian-live-8.2.0-amd64-lxde-desktop.iso of=/dev/sd? && sync
I wiedz, używając znanego rozmiaru bloku i liczby bloków, możesz odczytać dokładną liczbę bajtów z klucza i sprawdzić je:
$ dd if=/dev/sdb bs=4096 count=244992 | sha1sum
b0dbe4ca8f526d1e43555459c538607d4a987184
(Tak, md5sum
jest o wiele szybszy niż, sha1sum
ale to oczywiście nie jest twoje wąskie gardło, wąskie gardło to przepustowość USB, dziękuję za zauważenie).
Lub w skrócie:
dd if=/dev/sdb bs=4096 count=$(($(stat -c '%s' the.iso) / 4096)) | sha1sum