J'ai suivi ces instructions de DebianEeePC HowTo InstallUsingStandardInstaller sur le wiki Debian, pour écrire une ISO Debian sur mon USB.
dd if=debian-*-netinst.iso of=/dev/sdX
À l'aide de sha1sum
, je peux vérifier les sommes de contrôle de mon fichier ISO téléchargé. Comment puis-je vérifier la somme de contrôle de la clé USB, pour être sûr que la clé USB ne pose aucun problème et que l'ISO a été parfaitement copiée?
filesystems
usb
checksum
Village
la source
la source
Réponses:
Vous pouvez utiliser
cmp
pour vérifier si tout a bien été copié:Cette solution ne calcule pas explicitement la somme de contrôle de votre
/dev/sdX
- mais vous n'avez pas besoin de le faire car vous l'avez déjà fait pour la source de la comparaison (c'est-à-diredebian-X-netinst.iso
).Faire juste un
dd if=/dev/sdX | sha1sum
peut produire une somme de contrôle de mauvaise correspondance simplement parce que vous obtenez des blocs de fin (/dev/sdX
est probablement plus grand que le fichier iso).Via
cmp -n
vous vous assurez qu'aucun octet de fin sur votre/dev/sdX
n'est comparé.Si vous êtes paranoïaque à propos de la qualité de votre périphérique de stockage de masse USB que vous appelez
sync
, éjectez-le, réinsérez-le, puis faites la comparaison - sinon tout ou partie des blocs peuvent simplement provenir de la VM des noyaux (cache) - alors qu'en réalité, peut-être des bits sur le matériel sont vissés.la source
La réponse de Julien fait l'affaire, mais il existe un moyen plus simple et plus rapide de le faire:
la source
head -c $(stat -c '%s' the.iso) /dev/sdc | sha1sum
Il suffit d'utiliser
dd
etmd5sum
/sha1sum
, mais comme dit précédemment, faites attention, votre appareil n'est pas de la même taille que votre fichier, donc les sommes seront différentes.Voici comment vous pouvez toujours le faire
Vous devez d'abord connaître la taille du fichier:
Ensuite, pour être cool avec vos appels système, vous feriez mieux de l'obtenir comme un multiple d'une belle puissance de deux comme
4096
, la multiplication des deux DOIT produire exactement la taille du fichier, autrement, vous vérifierez trop peu ou trop d'octets, ce qui donne une mauvaise somme de contrôle.Je suis heureux,
4096 × 244992 = 1003487232
donc 4096 est bon pour moi (et le sera probablement pour vous), donc je peux utiliser une taille de bloc de4096
(typique) et un nombre de blocs de244992
.N'oubliez pas d'écrire le fichier sur la clé USB ...
Et sachez qu'en utilisant la taille de bloc connue et le nombre de blocs, vous pouvez lire le nombre exact d'octets de la clé et les vérifier:
(Oui,
md5sum
c'est beaucoup plus rapide quesha1sum
mais ce n'est clairement pas votre goulot d'étranglement ici, le goulot d'étranglement est le débit USB, merci de l'avoir remarqué).Ou, en bref:
la source
$ dd if=/dev/sdb1 bs=4096 count=<filesize/4096> | md5sum
avoir pu vérifier la somme md5 d'une image Debian écrite sur une clé USB et la comparer à md5sums Debian.D'après la réponse de @Kyle Jones
vous devez utiliser
md5sum
car il est plus rapide quesha1sum
(cela vous fera gagner du temps lorsque vous vérifiez un gros fichier)la source
md5sum
est au moins deux fois plus rapide? Cela doit être puisque l'OP a déjàsha1sum
le site de téléchargement et n'a pas à le calculer. Et la lecture depuis l'USB va être un facteur limitant et non le calcul de sha1 / md5.