Les programmes de somme de contrôle sont utilisés pour générer des chaînes de clé de somme de contrôle à partir des fichiers et vérifier ultérieurement l'intégrité des fichiers en utilisant cette chaîne de somme de contrôle. Un fichier peut être distribué sur le réseau ou sur tout support de stockage vers différentes destinations. Pour de nombreuses raisons, il y a des chances que le fichier soit corrompu en raison de quelques bits manquants lors du transfert de données pour différentes raisons. Ces erreurs se produisent le plus souvent lors du téléchargement des fichiers depuis Internet, du transfert via un réseau, de l'endommagement du CD-ROM, etc.
Par conséquent, nous devons savoir si le fichier reçu est le bon ou non en appliquant une sorte de test. La chaîne de clé spéciale utilisée pour ce test d'intégrité de fichier est connue sous le nom de somme de contrôle . La technique de somme de contrôle la plus connue et la plus largement utilisée est md5sum .
Calculer md5sum
1. Nous devons d'abord calculer la somme md5 du fichier. Pour imprimer la somme de contrôle md5 sur le terminal, utilisez la commande md5sum suivie du nom de fichier.
# md5sum file dcf21e3a1a0181294bceae07ec16a9d9 file
md5sum est une chaîne hexadécimale de 32 caractères comme indiqué.
2. Vous pouvez également rediriger le md5sum vers un fichier comme indiqué ci-dessous.
# md5sum file > hash.md5
3. Vous pouvez également créer un hachage md5sum pour plusieurs fichiers à l'aide de la même commande.
# md5sum file1 file2 file3
Vérifier l'intégrité d'un fichier avec la somme de contrôle md5
1. Pour vérifier que la chaîne alphanumérique imprimée sur le terminal correspond au hachage md5 fourni avec le fichier. Pour vérifier la somme de contrôle md5 à partir d'un fichier.
# md5sum -c hash.md5 file: OK
Le programme imprimera sur la console le nom du fichier et ok si vérifié. Le format du fichier doit être :hash(deux espaces)filename.
# vim hash.md5 dcf21e3a1a0181294bceae07ec16a9d9 file
2. Si la somme de contrôle du fichier échoue, vous obtiendrez une sortie comme indiqué ci-dessous.
$ md5sum -c hash.md5 file: FAILED
Comment vérifier la somme de contrôle de tous les fichiers dans un répertoire de manière récursive
Supposons que vous souhaitiez vérifier la somme de contrôle de tous les fichiers/sous-répertoires d'un répertoire. L'utilitaire md5sum n'a pas l'option récursive. Ne vous inquiétez pas, il y a une petite astuce que vous pouvez utiliser ici.
1. Vous pouvez créer une liste md5sum en combinant find et md5sum. Par exemple :
# find [DirectoryName] -type f -exec md5sum {} \; > ~/md5sum.txt
La commande ci-dessus vous permet de créer une liste md5sum pour tous les fichiers d'un répertoire.
2. Pour le vérifier, vous pouvez simplement faire comme :
# md5sum --check md5sum.txt > result.txt
md5deep pour calculer la somme de contrôle sur les répertoires
Les sommes de contrôle sont généralement calculées sur les fichiers. Mais si vous voulez les calculer sur un répertoire, vous devrez calculer les sommes de contrôle pour tous les fichiers du répertoire, de manière récursive. Ceci peut être facilement réalisé par l'utilitaire "md5deep". Par exemple pour calculer le md5sum sur un répertoire.
# md5deep -rl /path/to/directory > directory.md5
Ici,
-r – fournit la fonctionnalité récursive md5sum
-l – est utilisé pour le chemin relatif. Par défaut, il écrit le chemin absolu du fichier dans la sortie.