Seguí estas instrucciones de DebianEeePC HowTo InstallUsingStandardInstaller en el Wiki de Debian, para escribir un ISO de Debian en mi USB.
dd if=debian-*-netinst.iso of=/dev/sdX
Utilizando sha1sum
, puedo verificar las sumas de verificación de mi archivo ISO descargado. ¿Cómo puedo verificar la suma de verificación del dispositivo de memoria USB, para asegurarme de que la memoria USB no tenga ningún problema y que el ISO se haya copiado perfectamente?
filesystems
usb
checksum
Pueblo
fuente
fuente
Respuestas:
Puede usar
cmp
para verificar si todo se copió bien:Esta solución no calcula explícitamente la suma de comprobación de su
/dev/sdX
, pero no necesita hacerlo porque ya lo ha hecho para la fuente de la comparación (es decirdebian-X-netinst.iso
).Hacer solo un
dd if=/dev/sdX | sha1sum
puede generar una suma de comprobación de coincidencia errónea solo porque obtienes bloques finales (/dev/sdX
es muy probable que sea más grande que el archivo iso).A través de
cmp -n
usted, asegúrese de que no/dev/sdX
se comparen bytes finales en suSi está paranoico acerca de la calidad de su dispositivo de almacenamiento masivo USB al que llama
sync
, expúlselo, vuelva a insertarlo y luego haga la comparación; de lo contrario, todos o algunos bloques pueden provenir de la máquina virtual (caché) del núcleo, cuando en realidad quizás bits en el hardware están jodidos.fuente
La respuesta de Julien hace el trabajo, pero hay una manera más simple y rápida de hacer esto:
fuente
head -c $(stat -c '%s' the.iso) /dev/sdc | sha1sum
Solo usando
dd
ymd5sum
/sha1sum
es suficiente, pero como se dijo anteriormente, tenga cuidado, su dispositivo no es del mismo tamaño que su archivo, por lo que las sumas serán diferentes.Aquí cómo puedes hacerlo
Primero necesitará saber el tamaño del archivo:
Luego, para ser genial con sus llamadas al sistema, es mejor que obtenga esto como un múltiplo de un buen poder de dos como
4096
, la multiplicación de los dos DEBE producir exactamente el tamaño del archivo, de otras maneras, comprobará muy pocos o demasiados bytes, produciendo una suma de verificación incorrecta.Estoy feliz,
4096 × 244992 = 1003487232
así que 4096 es bueno para mí (y probablemente lo sea para usted), así que puedo usar un tamaño de bloque de4096
(típico) y un conteo de bloques244992
.No olvides escribir el archivo en la llave USB ...
Y sepa, utilizando el tamaño de bloque conocido y el recuento de bloques, puede leer el número exacto de bytes de la clave y verificarlos:
(Sí,
md5sum
es mucho más rápido quesha1sum
eso, pero claramente no es tu cuello de botella aquí, el cuello de botella es la conexión USB, gracias por notarlo).O, en resumen:
fuente
$ dd if=/dev/sdb1 bs=4096 count=<filesize/4096> | md5sum
pude comprobar el md5sum de una imagen de Debian escrita en un dispositivo USB y compararlo con Debian md5sums.Basado en la respuesta de @Kyle Jones
debe usar
md5sum
porque es más rápido quesha1sum
(esto le ahorrará tiempo cuando revise el archivo grande)fuente
md5sum
es al menos el doble de rápido? Tiene que ser porque el OP ya tiene elsha1sum
del sitio de descarga y no tiene que calcular eso. Y la lectura desde USB será un factor limitante, no el cálculo sha1 / md5.