J'ai un CD physique gravé et l'image ISO originale de celui-ci. Aucun fichier de contrôle de référence n'a été fourni pour le contenu du CD. Comment puis-je vérifier que le CD réel est correct (correspond à l'image d'origine) et entièrement lisible?
10
md5sum
vous lancer et comparer si vous ne voulez pas démarrer le CD / DVD.Réponses:
Tout d'abord, vous extrayez votre CD dans un fichier temporaire:
Ensuite, vous vérifiez si
copy.iso
etorig.iso
avez la même taille, par exemple avec:Si la taille est identique, c'est simple:
Mais j'ai remarqué que dans certains cas, la taille peut être légèrement différente car il y a des zéros de fin dans la copie ou l'image d'origine. Par exemple, si
copy.iso
est plus petit queorig.iso
:Bien sûr, vous devez également vérifier que les octets de fin ne sont que des zéros:
La première ligne, à l'exception du décalage, doit être uniquement composée de zéros. La deuxième ligne doit être un astérisque. L'astérisque évite d'afficher des lignes identiques consécutives.
la source
head -c $(stat -c %s /path/to/master.iso) /dev/sr0 | sha1sum
pour éviter d'avoir à faire une image du CD gravé.Si le fichier ISO est le même que celui utilisé pour graver le CD, voici mes deux favoris:
Compare l'image enregistrée avec le fichier image. Si vous vous sentez un peu plus masochiste, vous pouvez essayer quelque chose comme ceci:
et comparer les signatures. Celui-ci est plus utile si vous avez déjà quelque part la somme SHA1. Les deux commandes liront le support jusqu'à la fin.
Si vous voulez le faire comme le suggère @ Marki555, vous devez d'abord monter le lecteur optique et l'image. Voici un script complet: (vous pouvez, bien sûr, vous dispenser du
sudo
si vous êtes root - une mauvaise idée, en général)la source
cmp [-l]
est mieux adapté aux fichiers binaires. Diff fonctionne mieux sur le texte.Si vous avez encore l'ISO, vous pouvez les comparer octet par octet en utilisant
cmp
. C'est une commande assez simple et elle se termine à la première différence qu'elle trouve, donc c'est beaucoup plus rapide que de faire une somme de contrôle s'il y a effectivement une erreur au début.Résultats possibles du succès:
&& echo OK
à la commande si le manque de sortie vous déroute.cmp: EOF on cdrom.iso
: il est identique mais le cdrom contient plus d'octets que votre fichier iso. Cela est généralement dû à un remplissage nul à la fin du cdrom. Comme cela n'a pas d'importance dans la pratique, c'est quand même un succès.Résultats possibles en cas d'échec:
cmp: EOF on /dev/cdrom
: pour une raison quelconque, les données de votre CD-ROM sont incomplètes. Peut-être que votre ISO était trop grande pour contenir un vrai CD./dev/cdrom cdrom.iso differ: byte 18296321, line 71780
: il existe une différence inattendue entre votre CD-ROM et votre image ISO.la source
Vous pouvez vérifier que le CD est entièrement lisible en utilisant
dd
(par exempledd if=/dev/cdrom of=/dev/null
). Mais vous ne pouvez pas le comparer directement avec une image ISO. Chaque logiciel créera un fichier ISO légèrement différent (peut-être des en-têtes différents ou un remplissage), bien que ces différentes images ISO fournissent toutes le même contenu de CD (structure de répertoire, attributs de fichier et contenu de fichier).Vous pouvez donc uniquement monter le CD, monter l'image ISO et la comparer au niveau du système de fichiers en utilisant une sorte d'outil de comparaison de répertoires (désolé, je n'en ai pas encore utilisé sous linux).
la source
diff -r
comparera récursivement le contenu du répertoire.Brasero peut le faire: Outils -> Vérifier l'intégrité ...
la source