cd, music, audio
Informatique

Vérifier ses gravures (ou ses sauvegardes)…

Pour une raison indéterminée, K3B plante de temps en temps lors de la vérification de mes gravures de Bluray. Je suis donc obligé de vérifier « à la main » les fichiers. Rien de bien compliqué sous Linux, deux commandes suffisent.

Vérification des données avec la somme MD5

Une solution simple pour vérifier l’intégrité de fichiers est l’utilisation d’une somme de contrôle. Plusieurs algorithme existe, le plus connu reste la somme MD5. La somme MD5 est une « signature » unique (quoique des collisions existent, c’est pour cela qu’il ne faut plus l’utiliser pour de la cryptographie) d’un fichier. La commande md5sum de linux permet de calculer la somme d’un fichier mais aussi (et c’est un peu moins connu) de vérifier des fichiers en utilisant leurs sommes de contrôle.

Création des sommes de contrôle

Les sommes de contrôle sont calculées avec un groupement d’instructions assez simple :

  • un find permet de retrouver tous les fichiers
  • un xargs permet d’utiliser les noms de fichiers (en spécifiant \n comme caractère de séparation pour que les noms de fichiers comportant des espaces soient bien pris en compte).
  • le calcul de la somme MD5 est réalisé par md5sum.

Le résultat des somme est placé dans un fichier stocké dans le répertoire temporaire (/tmp), il sera automatiquement supprimé par le système. En une ligne (exécutée dans le répertoire source) ça donne :

find . -type f | xargs -d'\n' md5sum > /tmp/chksum.md5

Vérification des fichiers

La commande md5sum permet aussi de vérifier des fichiers à partir d’une liste de sommes de contrôle avec l’option -c. Dans le répertoire des copies, la commande fait tout le travail de vérification :

md5sum -c /tmp/chksum.md5  1>/dev/null

La redirection de la sortie standard vers /dev/null permet de ne garder l’affichage que des erreurs et donc des fichiers non/mal copiés.

Références

Enregistrer

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *