Comment, sous Linux, vérifier l'intégrité d'un téléchargement avec son MD5 et/ou son SHA1?
Souvent les téléchargements de fichiers sont accompagnés de leur "checksum" de contrôle : MD5 ou/et SHA1. C'est notamment vrai pour les images iso de distributions Linux. Voici comment vérifier l'intégrité de votre téléchargement.
Pour vérifier l'intégrité d'un téléchargement il n'y a qu'une solution vérifier que le MD5 ou le SHA1 (qui ne sont en fait que des checksum) de votre fichier téléchargé corresponde avec celui que vous donne le site de téléchargement (c'est toujours vrai pour des images iso de distribution Linux, mais pas seulement).
1 - Téléchargement avec un Torrent
Dans ce cas, sachez que la vérification de l'intégrité est implicite lors d'un téléchargement via la méthode BitTorrent. Si le fichier est corrompu c'est qu'il l'était à la source.
2 - Calculer le MD5 - SHA1
Dans ce qui qui suit je parlerai je ne parlerai plus que de MD5, mais vous pouvez le remplacer systématiquement par SHA1 y compris dans le nom de la commande.
$ md5sum -c <nom_fichier>.md5
$ sha1sum -c <nom_fichier>.md5
Lors d'un téléchargement classique, vous avez votre fichier.iso et un un fichier.iso.md5. Ce dernier fichier peut s'ouvrir avec un simple éditeur (nano, vi, emacs), ou encore plus simplement par la commande :
$ cat <fichier>.iso.md5
ce qui vous retourne une série de caractères alphanumériques comme ici :
D'accord, mais comment faire pour calculer le MD5 de notre fichier téléchargé. Enfantin ! sous Linux, et ce quelque soit la distribution, vous avez la commande md5sum de disponible. Elle s'utilise soit de la façon la plus basique (en supposant ici que vous êtes sous le même répertoire que le fichier):
$ md5sum <fichier>.iso
Il suffit alors de vérifier que le résultat correspond bien au contenu de votre <fichier>.iso.md5.
Mais vous pouvez demander à la commande de vérifier elle-même la concordance du MD5, comme ceci (toujours en supposant que vous êtes sous le même répertoire que les fichiers):
$ md5sum -c <fichier>.iso.md5
exemple :
Nota : dans les captures d'écran je suis en administrateur, mais n'en tenez pas compte, en situation classique, la commande md5sum s’exécute en tant qu'utilisateur.
3 - Calculer le MD5 du CD gravé
Votre téléchargement, c'est bien passé, mais quand sera-t-il de la gravure ?
Hé bien avec Linux, vous pouvez utiliser md5sum de la même manière qu'avec un fichier .iso. Il suffit de le lancer sur le /dev/ correspondant au cdrom. Le seul petit problème est de le trouver. Sur cette page de Framasoft il est indiqué de regarder dans /etc/fstab, mais pas de chance sur ma mandriva 2010.2 installée sur mon VAIO cela ne marche pas. Je préconise plutôt cette méthode :
$ ls -al /dev/ | grep cdrom
pour rechercher toutes les lignes comprenant cdrom
puis lancer md5sum sur le /dev/ trouvé (souvent /dev/cdrom), ou tester les /dev/ trouvés si vous en avez plusieurs (2 dans mon cas) le bon sera celui qui fera tourner le lecteur de CDROM ! Ainsi pour moi cela a donné ceci :
Vous aurez reconnu le MD5 de la mandriva-linux-free-2010.2-x86_64.iso.md5 ;-)
4 - Calculer le MD5 - sous Windows
Parler de Windows, sous une rubrique Linux, certains vont hurler. Mais je pense ne pas être le seul à passer indifféremment d'un environnement Linux à Windows et vice-versa. Et quand bien même, vous avez peut-être acheté un micro avec Windows pré-installé (Ha bon !) et vous avez téléchargé l'image d'une distribution Linux dont vous voulez vérifier l'intégrité. Donc quelque soit la raison, la question est : comment calculer un MD5 sous Windows ?
La réponse est simple puisque la commande MD5 existe aussi sous Windows, pas en natif bien sûr, mais une recherche sur le net vous donnera différentes petites applications rendant ce service comme cet outil hashtab-windows-shell-extension intégré dans l'explorateur Windows par exemple.
Pour plus de détail voir aussi mon article sous "Windows - Bon à savoir"