Je cherche un moyen rapide de comparer le contenu d'un répertoire. Est-il possible de faire un md5sum (ou une somme de contrôle équivalente) d'un répertoire entier ?
Utiliser Ubuntu Linux
Je cherche un moyen rapide de comparer le contenu d'un répertoire. Est-il possible de faire un md5sum (ou une somme de contrôle équivalente) d'un répertoire entier ?
Utiliser Ubuntu Linux
Bien sûr. md5sum directory/*
Si vous avez besoin de quelque chose d'un peu plus flexible (par exemple, pour la récursion de répertoire ou la comparaison de hachage), essayez md5deep.
apt-get install md5deep
md5deep -r directory
Pour comparer une structure de répertoire, vous pouvez lui donner une liste de hachages à comparer :
md5deep -r -s /directory1 > dir1hashes
md5deep -r -X dir1hashes /directory2
Cela affichera tous les fichiers du répertoire 2 qui ne correspondent pas au répertoire 1.
Cela ne montrera pas les fichiers qui ont été supprimés du répertoire1 ou les fichiers qui ont été ajoutés au répertoire2.
Je pense avoir déjà répondu à cette question avec cette réponse :
find . -xtype f -print0 | xargs -0 sha1sum | cut -b-40 | sort | sha1sum
donne : b1a5b654afee985d5daccd42d41e19b2877d66b1
l'idée est de hacher tous les fichiers, de découper les hachages un par ligne, de les trier et de les hacher pour obtenir un seul hachage. cela ne dépend pas des noms des fichiers.
Die cfv est très utile, non seulement il peut vérifier et créer des sommes de contrôle MD5, mais il peut aussi faire CRC32, sha1, torrent, par, par2.
pour créer un fichier de somme de contrôle CRC32 pour tous les fichiers du répertoire courant :
cfv -C
pour créer un fichier de somme de contrôle MD5 pour tous les fichiers du répertoire courant :
cfv -C -t md5 -f "current directory.md5sums"
Pour créer un fichier de somme de contrôle distinct pour chaque sous-répertoire :
cfv -C -r
Pour créer un "super" fichier de somme de contrôle contenant les fichiers de tous les sous-répertoires :
cfv -C -rr
J'ai utilisé hashdeep, comme expliqué dans cette réponse de askubuntu : Vérifier l'exactitude des fichiers copiés :
Pour calculer les sommes de contrôle :
$ cd <directory1>
$ hashdeep -rlc md5 . > ~/hashOutput.txt
Pour vérifier et lister les différences :
$ cd <directory2>
$ hashdeep -ravvl -k ~/hashOutput.txt .
hashdeep: Audit passed
Input files examined: 0
Known files expecting: 0
Files matched: 13770
Files partially matched: 0
Files moved: 0
New files found: 0
Known files not found: 0
Cette méthode présente l'avantage, par rapport à md5deep, d'afficher les fichiers renommés (déplacés), ajoutés et supprimés, et d'éviter le problème des fichiers de longueur 0 signalé au bas de la page http://www.meridiandiscovery.com/how-to/validating-copy-results-using-md5deep .
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.