Avant de commencer à graver, il faut créer l'image ISO du CD. Pour cela, on utilise la commande mkisofs.
Prenons l'exemple d'une sauvegarde du home de l'utilisateur toto :
vérifiez qu'il fait moins que la capacité du CD-R ou RW :
%
du -sh /home/toto/
créez l'ISO :
%
mkisofs -R -r -J --hide-rr-moved -V "SauvHome" -o backup.iso /home/toto/
Explication des options utilisées dans mkisofs:
-R : rajoute l'extension Rock Ridge qui permet de conserver les noms longs et les permissions sous Linux,
-r : permet de générer une image qui soit lisible par tout le monde malgré les permissions activées par l'extension Rock Ridge,
-J : active l'extension Joliet pour avoir les noms longs sous Windows,
--hide-rr-moved : renomme le
répertoire rr_moved
(dû aux extensions Rock
Ridge) en un répertoire caché .rr_moved
,
-V : spécifie un Nom de Volume (ici "SauvHome"),
-o : spécifie le nom et l'emplacement
du fichier ISO (ici backup.iso
dans le répertoire
courant).
Autre exemple : vous voulez créer une ISO qui contienne
le répertoire /home/toto/
, le fichier
/etc/X11/XF86Config-4
, et en plus le contenu du
répertoire /mnt/win/toto/
qui devra apparaître sur
le CD dans un répertoire win-toto
:
%
mkisofs -R -r -J --hide-rr-moved -V "SauvHome" -o backup.iso -graft-points /home/toto/ /etc/X11/XF86Config-4 win-toto/=/mnt/win/toto/
Pour vérifier que l'ISO du CD marche bien, on va monter le fichier
contenant l'ISO en loopback dans le répertoire
/mnt/tmp/
(à créer avant s'il n'existe pas) :
#
mount -t iso9660 -o loop backup.iso /mnt/tmp
Si tout va bien, vous pouvez aller vous balader dans le répertoire
/mnt/tmp/
pour voir le contenu de l'ISO. Une fois
que vous avez vérifié que tout est bon, démontez l'ISO du CD :
#
umount /mnt/tmp
Maintenant que l'ISO est créée, vous allez utiliser la commande cdrecord pour graver le CD. Les options à connaître et à utiliser sont :
dev=ATAPI:/dev/graveur où /dev/graveur est un lien symbolique pointant vers le device correspondant à votre graveur IDE.
-data image_ISO.iso pour préciser que l'on grave à partir de l'image ISO d'un CD.
si vous avez un graveur qui supporte le burnproof, l'option driveropts=burnproof permet d'activer cette fonction.
Si vous voulez graver sur un CD-RW, il faut au préalable effacer ce qui est écrit dessus :
si le CD-RW est tout neuf :
#
cdrecord -v dev=ATAPI:/dev/graveur -blank=all
si le CD-RW a déjà été utilisé :
#
cdrecord -v dev=ATAPI:/dev/graveur -blank=fast
Pour lancer la gravure, tapez la commande suivante :
si votre graveur supporte le burnproof :
#
cdrecord -v dev=ATAPI:/dev/graveur driveropts=burnproof -data backup.iso
si votre graveur ne supporte pas le burnproof :
#
cdrecord -v dev=ATAPI:/dev/graveur -data backup.iso
Dans la suite de ce chapitre, vous pourrez toujours ajouter l'option driveropts=burnproof à la commande cdrecord pour activer cette fonctionnalité.
Pour réaliser une copie directe de lecteur CD à graveur, il faut lancer cdrecord avec l'option -isosize :
#
cdrecord -v dev=ATAPI:/dev/graveur -isosize /dev/cdrom
Le choix de la vitesse de gravure V est ici très important : il faut choisir le minimum entre la vitesse de votre lecteur de CD et la vitesse de gravure... car si le lecteur de CD est plus lent que le graveur, le tampon du graveur va se vider et vous n'aurez plus qu'à jeter votre CD-R à la poubelle !
L'utilisation de cdrecord pour graver des CDs audio induit une pause de deux secondes entre chaque piste lors de la lecture, car il utilise le mode TAO (Track At Once). Pour éliminer cette pause, il faut graver le CD en mode DAO (Disk At Once), ce qui n'est pas expliqué dans ce chapitre.
Pour graver un CD audio avec cdrecord, il faut disposer d'un fichier son au format CDR, WAV ou AU pour chaque piste. Si les fichiers sont au format WAV ou AU, chaque fichier doit être en stéréo, 16-bits à 44100 échantillons / seconde.
Pour convertir un MP3 au format CDR, il suffit d'utiliser mpg321 :
%
mpg321 ma_chanson.mp3 --cdr ma_chanson.cdr
Pour extraire une piste d'un CD audio au format CDR, il faut utiliser cdparanoia (disponible dans le paquet du même nom) :
%
cdparanoia -B -p
Il suffit alors de taper :
#
cdrecord -v -dev=ATAPI:/dev/graveur -audio track1.cdr track2.cdr track3.cdr [etc...]
ou
#
cdrecord -v -dev=ATAPI:/dev/graveur -audio track1.wav track2.wav track3.wav [etc...]
ou
#
cdrecord -v -dev=ATAPI:/dev/graveur -audio track1.au track2.au track3.au [etc...]
[TODO : tester l'option -dao pour graver en mode DAO]