Translation(s): English - Français - Italiano


Gravure de supports optique

Il existe plusieurs interfaces graphiques disponibles dans Debian.

Par exemple, utilisez apt-get install brasero et démarrez brasero dans une session X (c'est un graveur avec une interface graphique). D'autres sont : xfburn. et k3b.

Mais parfois vous pourriez vouloir utiliser la ligne de commande ou écrire un script shell.

Fabriquer une image disque ISO 9660

Deux programmes sont disponibles pour produire des systèmes de fichier ISO 9660 : genisoimage et xorriso.

En supposant que vous ayez déjà fait apt-get install genisoimage et apt-get install xorriso, vous pouvez mettre l'arborescence de fichiers /home/user/for_iso dans le fichier image de système de fichiers ISO 9660 /home/user/file.iso en exécutant l'une de ces deux lignes :

genisoimage -v -J -r -V MY_DISK_LABEL -o /home/user/file.iso /home/user/for_iso
xorriso -as mkisofs -v -J -r -V MY_DISK_LABEL -o /home/user/file.iso /home/user/for_iso

Ces deux programmes lancés dans cet exemple sont contrôlés par les mêmes options qui viennent du même programme : mkisofs.

Graver un fichier image disque sur un CD, DVD, ou BD

Pour les disques CD, il existe wodim. Pour les DVD et BD (Blu-ray), il existe growisofs. Pour les CD, DVD, et BD, il existe cdrskin et xorriso.

En supposant que vous ayez déjà fait apt-get install wodim, apt-get install cdrskin, et apt-get install xorriso, vous pouvez graver le fichier image disque /home/user/file.iso sur un CD par l'une de ces trois commandes :

wodim -v dev=/dev/sr0 -dao /home/user/file.iso
cdrskin -v dev=/dev/sr0 -dao /home/user/file.iso
xorriso -as cdrecord -v dev=/dev/sr0 -dao /home/user/file.iso

Ces trois programmes lancés dans cet exemple sont contrôlés par les mêmes options qui viennent du même programme : cdrecord.

Concernant les supports DVD ou BD, on peut lancer les mêmes commandes pour cdrskin et xorriso comme dans l'exemple plus haut. On peut également utiliser growisofs (après apt-get install growisofs) :

growisofs -dvd-compat -Z /dev/sr0=/home/user/file.iso

Il est préférable de ne pas utiliser wodim avec des supports DVD ou BD.

Comme cela est fréquent avec la ligne de commande, la gravure démarrera tout de suite sans demander de confirmation. Si vous rencontrez une erreur, pensez à demander des conseils sur la liste de diffusion ?debian-user@lists.debian.org ou ?pkg-libburnia-devel@lists.alioth.debian.org.

Tester la gravure

Pour comparer les sommes MD5 on doit restreindre la lecture à partir du CD, DVD ou BD, en exactement le même nombre de blocs de données qui ont été écrits par le programme de gravure. Pour cela, renseignez la taille du fichier ISO.

blocks=$(expr $(ls -l /home/user/file.iso | awk '{print $5}') / 2048)
dd if=/dev/sr0 bs=2048 count=$blocks | md5sum
md5sum /home/user/file.iso

Cela devrait donner des chaines de sommes de contrôle MD5 identiques. Par exemple :

8213+0 records in
8213+0 records out
16820224 bytes (17 MB) copied, 12.189631 s, 1.4 MB/s
492bd13e477b3efb507149152a4e7736  -
492bd13e477b3efb507149152a4e7736  /home/user/file.iso

On peut également monter le disque et comparer les fichiers de données avec leurs originaux sur le disque dur en faisant :

sudo mount /dev/sr0 /mnt/cdrom
diff /mnt/cdrom/my/file /home/user/for_iso/my/file
sudo umount /dev/cdrom

Il se pourrait que vous deviez créer le répertoire /mnt/cdrom avant de pouvoir monter le disque. Si vous éjectez le disque et l'insérez à nouveau, il se pourrait qu'il soit monté automatiquement dans un sous-répertoire de /media/. Dans ce cas, vous n'avez pas à lancer les commandes sudo.

CD Audio

Les lecteurs de CD musicaux attendent le format CD-DA, qui n'est pas un système de fichiers mais une simple liste d’entités semblables à des fichiers qu'on appelle « pistes ». Chaque piste est un morceau de musique. Par exemple, une chanson complète.

Le contenu des pistes se présente comme des fichiers de données non compressés d'une fréquence d’échantillonnage de 44100 Hz, résolution de 16 bits, 2 canaux, petit-boutiste et en-tête WAV. Ils sont aussi connus sous le nom de fichiers « .wav ».

Cela ne concerne pas les supports DVD et BD. Les logiciels utilisables sont wodim et cdrskin.

wodim -v dev=/dev/sr0 -sao -audio track1.wav track2.wav ... trackN.wav
cdrskin -v dev=/dev/sr0 -sao -audio track1.wav track2.wav ... trackN.wav

Le disque audio ne peut pas être lu par dd ou un autre logiciel de lecture de données. La lecteurs de pistes audio à partir du CD peut être fait par readom fournit par le paquet wodim, ou par l'option extract_audio_to= de cdrskin. Voir

man readom
man cdrskin

Adresse du lecteur CD

Les exemples ci-dessus utilisent l'adresse de fichier de périphérique du premier lecteur optique : /dev/sr0. Pour obtenir une liste de tous vos lecteurs optiques, faites l'une de ces commandes :

cdrskin --devices
xorriso -devices

Le résultat devrait se ressembler à quelque chose comme :

0  -dev '/dev/sr0' rwrw-- :  'HL-DT-ST' 'BDDVDRW GGC-H20L'
1  -dev '/dev/sr1' rwrw-- :  'HL-DT-ST' 'DVDRAM GH24NSC0'
2  -dev '/dev/sr2' rwrw-- :  'Optiarc ' 'BD RW BD-5300S'

Wodim ne réussira cela que si les fichiers de périphériques obsolètes /dev/scd* existent.

La séquence de numérotation du lecteur peut changer à chaque redémarrage. Si vous avez besoin des noms de périphériques persistants, vous pouvez utiliser ceux dans le répertoire /dev/disk/by-id/. Vous les reconnaitrez par leurs noms de modèles et de fabricants identiques à ceux donnés par le résultat de la commande --devices ci-dessus. Par exemple :

/dev/disk/by-id/usb-Optiarc_BD_RW_BD-5300S_306663601043-0:0

Graver un ISO 9660 à la volée

On pourrait éviter le besoin de stocker un ficher image de système de fichiers ISO 9660 en redirigeant la sortie du logiciel producteur ISO vers l'entrée standard du programme de gravure. Il faut juste enlever l'option -o avec le logiciel producteur et utiliser « - » comme comme nom de fichier de données avec le logiciel de gravure. Utilisez l'option -tao à la place de -dao ou -sao, car ce dernier a besoin de savoir en avance la quantité de données :

genisoimage -v -J -r -V MY_DISK_LABEL /home/user/for_iso \
| wodim -v dev=/dev/sr0 -tao -

Avec growisofs :

genisoimage ... \
| growisofs -Z /dev/sr0=/dev/fd/0

Le programme xorriso avec son ensemble de commandes natives fait cela en un seul processus

xorriso \
  -md5 on \
  -outdev /dev/sr0 \
  -blank as_needed \
  -joliet on \
  -volid MY_DISK_LABEL \
  -map /home/user/for_iso / \
  -find / -exec mkisofs_r --

ISO 9660 Multi-Session

Bien que les systèmes de fichiers ISO 9660 sont en lecture seule, il est possible de créer de nouveaux fichiers de données et de nouvelles arborescences de répertoire pouvant faire référence autant à d'anciens fichiers qu'à des nouveaux.

Session initiale (si nécessaire, réécrire de zéro sur un disque réinscriptible comme un BD-RE) :

xorriso \
  -for_backup \
  -outdev /dev/sr0 \
  -blank as_needed \
  -volid MY_BACKUP_"$(date '+%Y_%m_%d_%H%M%S')" \
  -update_r /home/user/documents /documents

Les sessions de mise à jour suivantes ajouteront de nouveaux fichiers, réécriront les fichiers qui ont changés et effaceront les fichiers supprimés :

xorriso \
  -for_backup \
  -assert_volid 'MY_BACKUP_*' fatal \
  -dev /dev/sr0 \
  -volid MY_BACKUP_"$(date '+%Y_%m_%d_%H%M%S')" \
  -update_r /home/user/documents /documents

À partir d'un moment, une énième tentative de mise à jour sera impossible car le disque sera plein. Vous devrez alors une session initiale sur un autre disque vierge ou réinscriptible.

Vérification des données de la dernière session :

xorriso -for_backup -indev /dev/sr0 -check_md5 FAILURE --

Vérification de toutes les sessions enregistrées :

xorriso -for_backup -indev /dev/sr0 -check_media --

En cas de non concordance, la valeur de sortie sera différente de zéro

if test $? = 0 ; then echo "OK" ; else echo "MISMATCH !" ; fi

Voir aussi