<!doctype linuxdoc system>

<article><!-- LyX 1.2 created this file. For more info see http://www.lyx.org/ -->
<title>Graver un cd
</title><author>Jean-Daniel Dodin - www.dodin.net - jdanield@dodin.net
</author><date>V0.1 24 aout 2002 
</date><abstract>Ci-dessous, pour illustrer une conférence donnée le 31 Juillet
 2002 pour le CULTe, quelques éléments sur la manière de graver un
 CD sous Linux.
</abstract><toc><sect>Préalable
<p>Il est très fréquent que ces opérations échouent pour des raisons
 de <em>permissions</em> des fichiers, des répertoires ou des devices (/dev).
</p><p>Faites toujours un essai en root pour vérifier. Si ca marche
 en root et pas pour vous c'est un problème de permission.
</p><p>On doit pouvoir le résoudre en gérant convenablement les groupes.
 Quand à moi, j'utilise xcdroast avec les bonnes permissions et quand
 ca ne suffit pas, ce qui est rare, je travaille en root.
</p><p>Les fichiers que nous allons gérer sont très gros. Il est donc
 peu raisonnable de les loger dans votre /home. En particulier vous
 ne pourrez plus sauvegarder celui-ci. En ce qui me concerne, j'ai
 créé un répertoire /images dans la racine (je l'ai même créé sur
 une partition différente des autres) et je lui ai conféré tous les
 droits d'accès pour moi qui suis le seul à utiliser cette fonction.
</p><sect>Quel contenu&nbsp;?
<sect1>Données (sauvegardes)
<p>La première utilisation que je fais des CD est la gravure de
 sauvegardes de mes fichiers. Pour ce usage, le cd le <em>moins </em>réinscriptible
 est le meilleur. Je ne veux surtout pas risquer qu'une fausse manoeuvre
 efface une sauvegarde précédente.
</p><p>Le plus difficile est de sélectionner les fichiers à sauvegarder,
 en particulier pour que leur somme tienne sur un seul CD. Il existe
 une foule d'utilitaires qui s'occupent de répartir les fichiers entre
 plusieurs cd, mais je considère que ce système est difficile à gérer
 et je ne l'utilise pas.
</p><p>Je me débrouille pour que mes fichiers soient isolés dans des
 partitions ou des répertoires de taille raisonnables.
</p><p>Ces fichiers doivent ensuite, avant gravure, être rassemblés
 dans un seul "fichier iso", qui sera, lui, gravé sur le cd.
</p><p>C'est le travail de mkisofs.
</p><sect1>Musique
<p>La musique peut être gravée sous forme de mp3 ou ogg, auquel
 cas il s'agit de fichiers normaux, ou sous forme de cd audio. Le
 plus simple est de partir de fichier wav qui peuvent être fournis
 par n'importe quel logiciel "magnétophone". Ils sont ensuite gravés
 directement.
</p><sect1>CD "extras"
<p>On peut avoir des cd "mixtes", avec des pistes de musique et des
 pistes de données.
</p><sect>Copier un cd sur disque dur
<sect1>Pourquoi&nbsp;?
<p>Il s'agit d'abord de copier le cd original sur le disque dur
 avant de graver la nouvelle image. C'est moins facile qu'on ne pourrait
 le croire.
</p><p>Même si on copie un disque "à la volée" (d'un lecteur de cd vers
 un graveur), il est très risqué de le faire sans passer par le disque
 dur. La gravure ne pose guère de problèmes, mais la lecture si. Supposons
 que votre cd soit sale (traces de doigts) et que le lecture soit
 interrompue. Si vous avez commencé à graver, le cd récepteur est
 fichu.
</p><p>Supposez que votre gamin veuille lui-aussi une copie, il vous
 faudra lire le cd deux fois... mieux vaut toujours faire une copie
 sur disque dur. En général je garde même les images sur le disque
 tant que je n'ai pas besoin de la place. Si vous copier votre debian
 pour un copain, ce serait bien le diable si un autre copain n'en
 avait pas envie aussi...
</p><sect1>Copier un disque de données dans une image iso
<p>Un disque de données EST une image iso... donc&nbsp;:
</p><p>dd if=/dev/hdc of=/mnt/hdb1/image.iso
</p><p>(si /dev/hdc est le lecteur de cdrom).
</p><p>Des fichiers bizarres (longueur nulle, liens cassés) peuvent
 donner des erreurs sans importance. Comme on indique pas le nombre
 de serceurs à copier, ca se termine forcément par une erreur, c'est
 normal.
</p><p>Durée environ 6-7 minutes.
</p><p>On peut essayer aussi :
</p><p>cat /dev/hdc &gt; image.iso
</p><sect1>Copier un disque de musique dans un répertoire
<p>Un disque de musique <em>n'est pas </em>une image iso. Il n'y a aucun
 système de fichier sur un disque de musique. Il faut donc <em>lire</em> les
 plages musicales et les transcrire en fichier (en général wav).
</p><sect2>cdparanoia
<p>Les cd du commerce sont le plus souvent très mauvais. La lecture
 de la doc de "cdparanoia" est éclairante à ce sujet et ce logiciel
 essaie de corriger les défauts les plus criants. Ce n'est pas facile
 est souvent assez long.
</p><p>cdparanoia
</p><p>-d /dev/hdc si il ne le trouve pas tout seul
</p><p>-B batch (sans arrêt)
</p><p>-v verbose
</p><p>-h pour l'aide et, en particulier, voir les smiley qui commentent
 les résultats.
</p><p>exemple&nbsp;:
</p><p>cdparanoia -B "-1" (tout le disque)
</p><p>-&gt; disque dans le graveur SCSI&nbsp;: ok
</p><p>-&gt; disque dans le lecteur ide, il faut rajouter -d /dev/hdc
</p><p>cdparanoia vous donne un compte rendu de son travail en affichant
 un caractère&nbsp;:
</p><p>-Z aucune correction, vitesse maximale du lecteur.
</p><p>-Y comme cdda2wav, rapide, corrections minimales.
</p><sect2>cdda2wav
<p>Ce logiciel se pose moins de questions et ne corrige rien, du
 coup il est bien plus rapide.
</p><p>Se mettre dans le répertoire récepteur.
</p><p>cdda2wav -D /dev/hdc -B
</p><p>=&gt; autant de fichiers wav que de pistes.
</p><sect2>cdfs
<p>cdfs est un module du noyau qui crée un système de fichier virtuel
 équivallent au lecteur de cd. On peut alors monter le cd et copier
 les pistes comme si elles existaient réellement en tant que fichiers.
 Il y a longtemps que je ne m'en suis pas servi.
</p><sect2>konqueror
<p>Konqueror, l'explorateur de kde fait un peu comme cdfs, en mieux.
 Il est capable d'ouvrir un cd de musique et de le présenter comme
 une succession de répertoires wav, ogg, cda, qui représentent en
 fait les mêmes données, mais sous des formats différents. En réalité
 les fichiers ne sont créés que lors de la copie, prévoir du temps
 pour les fichiers ogg.
</p><p>L'ouverture est également très longue (plusieurs minutes et il
 faut attendre car si on clique deux fois il ouvre deux fois&nbsp;: c'est
 deux fois plus long :-(.
</p><p>Seul problème, ca ne marche plus chez moi. Quand j'ai voulu faire
 cet exposé, j'ai obtenu une erreur alors que je m'en suis servi dix
 fois il y a quelques mois. Sait pas pourquoi.
</p><sect2>Vitesse
<p>La lecture est toujours très lente, elle est souvent égale à
 la vitesse normale d'écoute, moins si le cd est très mauvais. De
 toute façon les lecteurs de cd ne sont pas capables de lire les pistes
 son très vite (pourquoi le feraient-ils&nbsp;?).
</p><p>Je n'ai pas trouvé de moyen de calculer ou de mesurer cette vitesse
 :-(. L'option de réglage de cdda2wav (-S) n'a l'air de rien donner
 sur mon portable.
</p><sect1>cdextra
<p>Je n'ai eu qu'une fois à copier un cd extra. Je l'ai fait en
 deux "passes", une fois avec dd pour avoir l'image iso et l'autre avec
 cdparanoia.
</p><sect>Graver un cd
<sect1>Obtenir des infos sur un disque cd (même loupé)
<p>cdrecord dev=0,5,0 (adapter)
</p><p>-msinfo : multisession info
</p><p>-toc : table of content
</p><p>-atip : infos du disque vierge (absolute time in pregroove)
</p><p>-inq : inquiry
</p><p>-prcap : plein d'infos
</p><p>-scanbus trouver l'adresse scsi du graveur
</p><sect1>Créer une image iso9660 du contenu de hdb1
<p>Pour les disques de données, il faut d'abord créer une image
 iso.
</p><p>mkisofs -r-J -o /mnt/hdb5/image.iso /mnt/hdb1
</p><p>Il y a de nombreux problèmes potentiels liés au système de fichiers
 iso qui est très limité (profondeur d'arborescence faible, noms de
 fichiers limités), en particulier si votre cd doit être lisible par
 Windows.
</p><sect1>Copier une image iso9660 sur un cd
<p>cdrecord -v dev=0,5,0 speed=4 -eject /images/image.iso
</p><sect1>Copier des pistes audio
<p>cdrecord -v dev=0,5,0 speed=4 -eject /images/*.wav
</p><sect1>Créer un cd extra
<p>Il suffit de donner à cdrecord les fichiers à écrire dans l'ordre
 voulu. La seule fois ou je l'ai fait j'ai du donner le fichier de
 données avant les fichiers audio. Il y a alors une piste supplémentaire
 qui perturbe parfois les lecteurs audio.
</p><sect1>Contrôle
<p>Pour contrôler une image iso copiée sur le disque&nbsp;:
</p><p>mount -t iso9660 -o ro,loop=/dev/loop0 /image/image.iso /mnt/loop
</p><sect>Des scripts
<p>A adapter à vos besoins.
</p><sect1>Copie-cd
<p>&num;/bin/sh
</p><p>cd /images
</p><p>rm *.wav *.iso
</p><p>dd if=/dev/sr1 of=image.iso
</p><sect1>Voir-image
<p>&num;/bin/sh
</p><p>cd /images
</p><p>mount -t iso9660 -o ro,loop=/dev/loop0 image.iso /mnt/loop
</p><p>ls -l /mnt/loop
</p><p>df | grep loop
</p><p>umount /mnt/loop
</p><sect1>Image-copie
<p>&num;/bin/sh
</p><p>cd /images
</p><p>cdrecord -v dev=0,1,0 -speed=8 -eject image.iso
</p><sect1>Copie-audio
<p>&num;!/bin/sh
</p><p>cd /images
</p><p>rm *.wav *.iso
</p><p>cdparanioa -B -d /dev/sr1 "1-"
</p><sect1>Rapide-audio
<p>cd /images
</p><p>rm *.wav *.iso
</p><p>cdda2wav 
</p><sect1>Audio-copie
<p>cdrecord -v dev=0,1,0 -speed=8 -eject *.wav
</p><sect>Cd RW
<p>Les cd Read-Write (donc réenregistrables) sont un danger, il
 faut donc s'en méfier.
</p><p>Un danger car nous sommes tous habitués à considérer les cd comme
 non effacables et donc à les manipuler sans précaution.
</p><p>Je ne m'en sert à peu près (depuis que j'ai l'adsl) que pour
 graver des images de distributions à essayer, que je suis à peu près
 sur de ne pas conserver sous cette forme.
</p><p>Leur seule particularité est qu'il faut les effacer, même quand
 ils sont neufs (c'est une sorte de formatage), avec cdrecord -blank.
 J'ai souvent eu à utiliser l'option -force, sans savoir pourquoi.
</p><sect>Durabilité
<p>Des gens semble-t-il sérieux disent que la durée de vie d'un
 CD est très variable, même s'il est bien stocké et jamais utilisé.
 Dix ans semble un maximum, à comparer avec la durée d'un Daguerréotype
 (celle du verre et de l'argent&nbsp;: des siècles).
</p><p>Il se dit qu'une gravure à plus de 8x n'est pas fiable et qu'il
 vaut mieux utiliser des CD à feuille d'or "gold". J'en ai quelques
 uns sous la main... au cas où.
</p><p>Les Cd-RW ont mauvaise réputation. Ils sont effacables, donc
 sujet à effacement.
</p><p>Ce qui est sur c'est qu'un cd utilisé peut être rayé et donc
 détruit. Toujours utiliser une copie si le cd est important.
</p><sect>Interface graphique
<sect1>xcdroast
<p>Lire l'excellente doc (dans /usr/share/doc/packages/xcdroast),
 qui détaille les modifications de permissions nécessaires pour que
 les utilisateurs puissent utiliser xcdroast.
</p><sect>Multi-session
<p>Il est possible de graver des cd multi-session avec cdrecord.
 Cependant je me pratique pas cette possibilité et je la déconseille
 même vivement.
</p><p>Elle était utile à l'époque où les disques durs étaient trop
 petits pour contenir une image de cd, ce n'est plus le cas aujourd'hui.
</p><p>Elle souffre de plusieurs défauts majeurs.
</p><p>Le principal est qu'une erreur de manipulation peut rendre inaccessible
 les pistes précédemment enregistrées. Ce risque me parait ridicule
 aujourd'hui compte tenu du petit avantage.
</p><p>ensuite on ne peut pas graver un même répertoire, même avec des
 fichiers différents, il ne doit y avoir aucune coincidence de répertoires
 entre deux sessions.
</p><p>En pratique il est beaucoup plus simple de conserver sur le disque
 dur la première session (ou de la recopier du cd) et d'y ajouter
 la seconde.
</p><p>Je pratique de la façon suivante, avec des cd réenregistrables.
</p><p>Je grave le cd. la fois suivante, j'assemble les deux parties
 sur mon disque dur et je grave un deuxième cd. Je remet ensuite l'ancien
 cd sous la pile de cd RW. Ceci fait qu'il ne sera réenregistré que
 quand j'aurais épuisé la pile et qu'en cas de problème je peux le
 retrouver.
</p>

</article>