<Précédent | Table des matières | Suivant>
Extra Credit
Il est souvent utile de vérifier l'intégrité d'une image iso que nous avons téléchargée. Dans la plupart des cas, un distributeur d'une image iso fournira également un fichier de somme de contrôle. Une somme de contrôle est le résultat d'un calcul mathématique exotique résultant en un nombre qui représente le contenu du fichier cible. Si le contenu du fichier change même d'un bit, la somme de contrôle résultante sera très différente. La méthode la plus courante de génération de somme de contrôle utilise le md5sum programme. Lorsque vous utilisez md5sum, il produit un nombre hexadécimal unique :
image md5sum.iso
34e354760f9bb7fbf85c96f6a3f94ece image.iso
image md5sum.iso
34e354760f9bb7fbf85c96f6a3f94ece image.iso
Après avoir téléchargé une image, vous devez exécuter md5sum contre elle et comparer les résultats avec les md5sum valeur fournie par l'éditeur.
En plus de vérifier l'intégrité d'un fichier téléchargé, nous pouvons utiliser md5sum pour vérifier les supports optiques nouvellement écrits. Pour ce faire, nous calculons d'abord la somme de contrôle du fichier image, puis calculons une somme de contrôle pour le média. L'astuce pour vérifier le support est de limiter le calcul à la seule partie du support optique qui contient l'image. Pour ce faire, nous déterminons le nombre de blocs de 2048 octets que contient l'image (le support optique est toujours écrit en blocs de 2048 octets) et en lisant ce nombre de blocs à partir du support. Sur certains types de supports, cela n'est pas obligatoire. Un CD-R écrit en mode disc-at-once peut être vérifié de cette façon :
somme md5 /dev/cdrom
34e354760f9bb7fbf85c96f6a3f94ece /dev/cdrom
somme md5 /dev/cdrom
34e354760f9bb7fbf85c96f6a3f94ece /dev/cdrom
De nombreux types de supports, comme les DVD, nécessitent un calcul précis du nombre de
Extra Credit
blocs. Dans l'exemple ci-dessous, nous vérifions l'intégrité du fichier image dvd-image.iso
et le disque dans le lecteur DVD /dév/dvd. Pouvez-vous comprendre comment cela fonctionne?
md5sum dvd-image.iso; dd if=/dev/dvd bs=2048 count=$(( $(stat -c "%s" dvd-image.iso) / 2048 )) | somme md5
md5sum dvd-image.iso; dd if=/dev/dvd bs=2048 count=$(( $(stat -c "%s" dvd-image.iso) / 2048 )) | somme md5