Forum Linux.débutant vérifier un CD avec md5sum

Posté par (page perso) .
Tags : aucun
2
30
août
2011

Bonjour à tous,
Je cherche la méthode pour vérifier un CD dont on possède la clé md5 de l'image ISO. Les recherches donnent la méthode pour vérifier l'ISO (ça OK, c'est compris). Mais je veux vérifier le CD une fois celui-ci gravé : pour détecter une erreur finale au niveau du graveur.
md5sum n'a pas l'air de prendre en charge ce cas?
Sur Ubuntu 10.04 ça donne :
md5sum -c /media/CDROM CD.md5
(où CD.md5 est le fichier contenant la clé )
réponse:
"/media/CDROM : erreur de lecture"
et la tentative pour créer une clé md5 du CDROM pour la comparer à l'autre à la main donne:
md5sum /media/CDROM > CDROM.md5
"/media/CDROM : est un dossier"
merci pour votre aide

  • # md5sum d'un CD

    Posté par . Évalué à 3.

    Salut,

    /media/CDROM est le répertoire dans lequel le contenu du CD est visible (point de montage). Il ne s'agit donc pas d'un équivalent de l'image ISO (fichier).
    La somme md5 doit être calculée sur cette image, et il faut donc le faire sur le fichier "device" correspondant à ton lecteur de CD. Il s'agit normalement de /dev/scd0 pu /dev/sr0. Pour en être sûr, tu peux taper cette commande lorsque le CD est accessible (monté) :
    mount | grep /media
    qui te renverras quelque chose de ce genre :
    /dev/sr0 on /media/cdrom0 type iso9660 (ro,noexec,nosuid,nodev,user=xxxx)

    Ensuite, il suffit de calculer le hash md5 :
    dd if=/dev/scd0 | md5sum
    et de le comparer avec celui du fichier image.

    A+
    JJD

    • [^] # Re: md5sum d'un CD

      Posté par . Évalué à 3.

      Cela ne suffira pas car l'image ISO gravée n'a peut-être pas la même taille que le CD / DVD. md5sum va tenir compte de tous les bits du média y compris ceux inutilisés.

      Si tu connais la taille de ton iso (ls -l fichier.iso suffit), tu peux faire :

      dd if=/dev/sr0 bs=1 count=TailleFichierISO | md5sum

      dd va lire le cdrom par blocs de 1 octet par 1 octet (bs=1), ce qui est lent. Tu peux mettre bien plus à condition de réduire count en conséquence (bs x count = TailleFichierISO).

      • [^] # Re: md5sum d'un CD

        Posté par . Évalué à 3.

        Euh…
        >l'image ISO gravée n'a peut-être pas la même taille que le CD / DVD

        On peut récupérer l'image ISO d'un CD simplement avec
        dd if=/dev/sr0 of=image.iso
        et, dans ce cas, l'image ISO fait bien la taille des données effectivement présentes sur le CD, pas une taille fixe d'environ 650MO, et représente bien l'image exacte du CD. Je ne pense donc pas que l'on ait besoin de se soucier de la taille (ce qui rendrait la vérification compliquée et, à mon avis, la fausserait).

        • [^] # Re: md5sum d'un CD

          Posté par . Évalué à 7.

          Effectivement on peut récupérer l'image ISO d'un CD gravé avec

          $ dd if=/dev/cdrom of=image.iso
          
          

          mais M27 a raison, tu n'obtiendras pas forcément le même fichier .iso que celui qui a servit à graver le CD (il aura typiquement 2ko de trop) et donc le md5sum ne sera pas bon. En fait il faut faire:
          $ isoinfo -d -i /dev/cdrom
          
          	CD-ROM is in ISO 9660 format
          	System id: WIN32
          	Volume id: RQ0010
          	Volume set id:
          	Publisher id:
          	Data preparer id:
          	Application id: ULTRAISO V9.3 CD & DVD CREATOR, (C)2008 EZB SYSTEMS, INC.
          	Copyright File id:
          	Abstract File id:
          	Bibliographic File id:
          	Volume set size is: 1
          	Volume set sequence number is: 1
          	Logical block size is: 2048
          	Volume size is: 1825
          	Joliet with UCS level 3 found
          	NO Rock Ridge present
          
          

          Puis recopier volume size et block size

          $ dd if=/dev/cdrom bs=2048 count=1825 of=image.iso
          
          
  • # ton soft de gravure ne fait pas la verification ?

    Posté par . Évalué à 1.

    tout est dans le titre

  • # md5sum direct

    Posté par (page perso) . Évalué à -2.

    Je n'utilise qu'une méthode:

    $ md5sum /dev/sr0

    Où /dev/sr0 est le périphérique contenant le CD qui vient d'être gravé. Je m'assure avant, d'avoir ouvert le tiroir et laissé refroidir un peu le CD avant de le réinsérer (sinon : I/O Error). Puis, il faut attendre encore quelques secondes pour qu'il soit vu par le système.

    Moyennant ces quelques précautions, ça fonctionne.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.