Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 0d5cd12c82d627a82c59047e1ba7b8a9 > files > 181

howto-html-fr-9.0-0.2mdk.noarch.rpm

<HTML>
<HEAD>
<TITLE>&Eacute;crire un CD</TITLE>
</HEAD>
<BODY>
<A NAME="ecrire_cd"></A> <H1>3. <A NAME="s3"></A>&Eacute;crire un CD</H1>
<P>
<A HREF="CD-Writing-HOWTO.html#toc3">Contenu de cette section</A></P>

<P></P>
<P>``Si en fum&eacute;e tu te transformes, je ne cesserai de jouer pendant que
tu te consumes.'' (L'empereur N&eacute;ron en &eacute;crivant ses propres CDs
classiques ; il n'avait rien compris)</P>
<P>En g&eacute;n&eacute;ral l'&eacute;criture d'un CD se fait en deux &eacute;tapes :</P>
<P>
<UL>
<LI>r&eacute;colter les logiciels d&eacute;sir&eacute;s et les empaqueter en un grand
fichier avec <CODE>mkisofs/mkhybrid</CODE> ;
</LI>
<LI>&eacute;crire le grand fichier sur le CD enregistrable avec
<CODE>cdwrite</CODE> ou <CODE>cdrecord</CODE>.
</LI>
</UL>
</P>
<P>Il est aussi possible de combiner les deux &eacute;tapes en une avec un tube mais
ceci n'est pas recommand&eacute; parce que ce n'est pas fiable. Voir ci-dessous.</P>
<P></P>
<H2>3.1 <A NAME="ss3.1"></A> D&eacute;terminez &agrave; quel p&eacute;riph&eacute;rique SCSI g&eacute;n&eacute;rique le graveur est attach&eacute;</H2>

<P></P>
<P>(Veuillez noter : la fa&ccedil;on actuelle de nommage des p&eacute;riph&eacute;riques SCSI
sous Linux est compliqu&eacute;e &agrave; souhait et pas assez fiable. Le fait que
je la d&eacute;crive ici en maints d&eacute;tails ne devrait pas &ecirc;tre mal interpr&eacute;t&eacute;
comme la confirmation de cette &eacute;tat de faits. Les personnes poss&eacute;dant
un graveur de CD-ROMs ATAPI peuvent essayer "cdrecord -scanbus" pour
d&eacute;tecter le bon p&eacute;riph&eacute;rique et sauter le reste de cette section.)</P>
<P>Apr&egrave;s avoir suivi toutes les &eacute;tapes du dernier chapitre, votre syst&egrave;me
devrait &ecirc;tre capable de g&eacute;rer le gravage de CDs. Cette section peut &ecirc;tre
utilis&eacute;e comme preuve que tout fonctionne comme pr&eacute;vu.</P>
<P>Lancez la commande <CODE>dmesg</CODE>. Elle devrait rapporter les messages
du noyau Linux, avec ceux imprim&eacute;s lors du d&eacute;marrage (limitation :
seulement les 200 derniers) et contient des informations sur le
graveur de CDs connect&eacute;s au bus SCSI.</P>
<P>Exemple simple :</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
              Vendor: YAMAHA  Model: CDR100       Rev: 1.11
              Type:   WORM                        ANSI SCSI revision: 02
            Detected scsi CD-ROM sr1 at scsi0, channel 0, id 3, lun 0
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Cette machine poss&egrave;de quatre p&eacute;riph&eacute;riques SCSI connect&eacute;s (vous ne
pouvez pas le voir donc je vous le dis), avec les ID SCSI allant de 0
&agrave; 3. Le graveur est le quatri&egrave;me p&eacute;riph&eacute;rique SCSI physiquement
pr&eacute;sent et doit donc &ecirc;tre connect&eacute; sur <CODE>/dev/sgd</CODE> (le quatri&egrave;me
p&eacute;riph&eacute;rique SCSI g&eacute;n&eacute;rique quand on compte &agrave; partir de la lettre
a). Dans ce cas, la commande</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
            cdwrite  --eject  --device /dev/sgd
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>ouvre le tiroir et est un test pour voir si tout fonctionne
correctement. Un exemple plus compliqu&eacute; :</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
            scsi0 : AdvanSys SCSI 1.5: ISA (240 CDB)
            scsi1 : Adaptec 1542
            scsi : 2 hosts.

              Vendor: HP      Model: C4324/C4325  Rev: 1.20
              Type:   CD-ROM                      ANSI SCSI revision: 02
            Detected scsi CD-ROM sr0 at scsi0, channel 0, id 2, lun 0

              Vendor: IBM     Model: DPES-31080   Rev: S31Q
              Type:   Direct-Access               ANSI SCSI revision: 02
            Detected scsi disk sda at scsi1, channel 0, id 0, lun 0

            scsi : detected 1 SCSI cdrom 1 SCSI disk total.
            SCSI device sda: hdwr sector= 512 bytes.
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Dans cet exemple deux contr&ocirc;leurs SCSI h&eacute;bergent un p&eacute;riph&eacute;rique SCSI
chacun. Quel g&acirc;chis (ils sont capables d'h&eacute;berger jusqu'&agrave; sept
p&eacute;riph&eacute;riques chacun). Ce n'est pas ma configuration alors arr&ecirc;tez de
demander si j'ai trop d'argent... Cependant dans le but d'&ecirc;tre un
exemple dont on peut se passer, cette configuration est
excellente. :-)</P>
<P>Dans l'exemple ci-dessus le graveur de CD a l'ID SCSI 2 mais elle est
associ&eacute;e au premier p&eacute;riph&eacute;rique SCSI g&eacute;n&eacute;rique <CODE>/dev/sga</CODE> parce
que c'est le premier p&eacute;riph&eacute;rique SCSI physiquement pr&eacute;sent que Linux a
d&eacute;tect&eacute;. J'esp&egrave;re que ceci montre clairement que l'ID SCSI d'un
p&eacute;riph&eacute;rique n'a rien &agrave; voir avec le p&eacute;riph&eacute;rique g&eacute;n&eacute;rique associ&eacute;.</P>
<P>Deux questions restent en suspens : qu'arrive-t-il si vous prenez le
mauvais p&eacute;riph&eacute;rique ? Si vous ne sp&eacute;cifiez ni l'option
"--&lt;MANUFACTURER&gt;" ni n'&eacute;crivez de donn&eacute;es sur le p&eacute;riph&eacute;rique,
en g&eacute;n&eacute;ral un message d'avertissement est affich&eacute; et rien de plus :</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
                bash$ cdwrite  --eject  --device /dev/sgb

                Unknown CD-Writer; if this model is compatible with any
                supported type, please use the appropriate command line
                flag.

                Manufacturer:  IBM
                Model:         DPES-31080
                Revision:      S31Q
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Dans ce cas le p&eacute;riph&eacute;rique <CODE>/dev/sbg</CODE> est un disque dur SCSI
(d'IBM).</P>
<P>Si vous &eacute;crivez des donn&eacute;es sur le mauvais p&eacute;riph&eacute;rique, vous en &eacute;crasez
le contenu d'origine et endommagerez votre syst&egrave;me de fa&ccedil;on probablement
irr&eacute;m&eacute;diable. Faites attention, cela m'est d&eacute;j&agrave; arriv&eacute; par accident.</P>
<P></P>

<H2>3.2 <A NAME="ss3.2"></A> Rassembler les logiciels</H2>

<P></P>
<P>En g&eacute;n&eacute;ral cela prend plus de temps qu'on ne le croit ; Rappelez-vous
que les fichiers manquants ne pourront pas &ecirc;tre ajout&eacute;s une fois que
le CD sera &eacute;crit. :-)</P>
<P>Gardez aussi &agrave; l'esprit qu'un certain montant de l'espace libre d'un CD
est utilis&eacute; pour stocker les informations sur le syst&egrave;me de fichiers ISO
9660 (en g&eacute;n&eacute;ral quelques Mo).</P>
<P></P>

<H2>3.3 <A NAME="ss3.3"></A> Stocker les donn&eacute;es sur un CD</H2>

<P></P>
<P>Le terme <I>ISO 9660</I> se rapporte au format dans lequel les
donn&eacute;es sont stock&eacute;es sur le CD Pour &ecirc;tre plus pr&eacute;cis : c'est le
syst&egrave;me de fichiers sur le CD.</P>
<P>Bien s&ucirc;r, l'apparence des fichiers stock&eacute;s dans ce format est unifi&eacute;e
par le noyau Linux comme pour tout autre syst&egrave;me de fichiers. Par
cons&eacute;quent, si vous montez un CD dans l'arborescence des r&eacute;pertoires,
vous ne pouvez pas distinguer son contenu des autres fichiers... &agrave;
part le fait qu'on ne peut &eacute;crire dessus... m&ecirc;me pas pour root. :-)
(Le m&eacute;canisme utilis&eacute; pour unifier l'apparence des fichiers est appel&eacute;
<I>syst&egrave;me de fichiers virtuel</I>, en abr&eacute;g&eacute; <I>VFS</I>.</P>
<P>Les possibilit&eacute;s du syst&egrave;me de fichiers ISO 9660 ne sont pas si riches
compar&eacute;es &agrave; celles du syst&egrave;me de fichiers ext2 qui est normalement
utilis&eacute; sous Linux.  Par contre, le CD n'est inscriptible qu'une seule
fois et certaines possibilit&eacute;s n'ont m&ecirc;me pas de sens. Les limitations
du syst&egrave;me de fichiers ISO 9660 sont :</P>
<P>
<UL>
<LI>uniquement huit niveaux de sous-r&eacute;pertoires autoris&eacute;s (compt&eacute;s &agrave;
partir du r&eacute;pertoire racine du CD) (utilisez les extensions RockRidge
pour augmenter ce nombre) ;
</LI>
<LI>longueur maximale des noms de fichiers : 32 caract&egrave;res ;
</LI>
<LI>capacit&eacute; de 650 Mo.</LI>
</UL>
</P>
<P></P>

<A NAME="iso"></A> <H2>3.4 <A NAME="ss3.4"></A> Cr&eacute;er un syst&egrave;me de fichiers ISO 9660</H2>

<P></P>
<P>Avant de pouvoir utiliser un support de stockage (par exemple une
disquette, un disque dur ou un CD), il doit avoir un syst&egrave;me de
fichiers (en langage DOS : &ecirc;tre format&eacute;). Ce syst&egrave;me de fichiers est
responsable de l'organisation et de l'incorporation des fichiers qui
devraient &ecirc;tre stock&eacute;s sur le support.</P>
<P>Bon, un CD inscriptible ne l'est qu'une fois et donc si nous y
&eacute;crivons un syst&egrave;me de fichiers vide, il serait format&eacute; -- mais
resterait pour l'&eacute;ternit&eacute; compl&egrave;tement vide. :-)</P>
<P>Nous avons donc besoin d'un outil qui cr&eacute;e le syst&egrave;me de fichiers en
m&ecirc;me temps qu'il copie les fichiers sur le CD. Cet outil s'appelle
<CODE>mkisofs</CODE>. Une utilisation simple ressemble &agrave; ceci :</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
                 mkisofs  -r  -o cd_image   collection_privee/
                              `---------'   `----------------'
                                   |                |
                   ecrire la sortie vers    prendre repertoire comme entree
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>L'option '-r' positionne les permissions de tous les fichiers pour
&ecirc;tre lisibles publiquement sur le CD et permet les extensions Rock
Ridge. C'est ce que l'on veut en g&eacute;n&eacute;ral et l'utilisation de cette
option est recommand&eacute;e jusqu'&agrave; ce que vous sachiez ce que vous
faites. (Astuce : sans le '-r', le point de montage prend les
permissions de <CODE>collection_privee</CODE> !)</P>
<P>Si vous utilisez un noyau Linux ant&eacute;rieur &agrave; 2.0.31, vous devriez
ajouter l'option '-K' pour contourner un bogue du code du syst&egrave;me de
fichiers. Vous avez besoin de la version patch&eacute;e de mkisofs pour
cela. Cette option est &eacute;quivalente &agrave; l'option '-P' de
<CODE>cdwrite</CODE>. Veuillez regarder la page de manuel de
<CODE>mkisofs</CODE> pour plus de d&eacute;tails.</P>
<P><CODE>mkisofs</CODE> essaiera de convertir tous les noms de fichiers au
format 8.3 utilis&eacute; par DOS pour assurer une compatibilit&eacute; maximale. En
cas de conflits de noms (des fichiers diff&eacute;rents qui auraient le m&ecirc;me
nom 8.3), des num&eacute;ros sont utilis&eacute;s dans les noms de fichiers et les
informations sur le nom de fichier choisi sont imprim&eacute;es sur l'erreur
standard (en g&eacute;n&eacute;ral l'&eacute;cran).</P>
<P><B>Ne paniquez pas :</B></P>
<P>
<BLOCKQUOTE>
Sous Linux, vous ne verrez jamais ces noms de fichiers 8.3 parce que
Linux utilise les extensions Rock Ridge qui contiennent les
informations d'origine du fichier (permissions, nom de fichier, etc.).
</BLOCKQUOTE>
</P>
<P>Maintenant vous pouvez vous demander pourquoi la sortie de
<CODE>mkisofs</CODE> n'est pas envoy&eacute;e directement au p&eacute;riph&eacute;rique de
gravage. Ceci est d&ucirc; &agrave; deux raisons :</P>
<P>
<UL>
<LI><CODE>mkisofs</CODE> ne connait rien sur la mani&egrave;re de piloter les
graveurs de CD (voir la section 
<A HREF="CD-Writing-HOWTO-2.html#perifgen">perifgen</A>
) ;
</LI>
<LI>On ne peut pas compter sur cette m&eacute;thode (voir 
<A HREF="CD-Writing-HOWTO-4.html#faq">faq</A>
).
</LI>
</UL>
</P>
<P>La synchronisation d'un graveur de CD est un point tellement critique
que nous ne le remplissons pas directement avec <CODE>mkisofs</CODE>
(rappelez-vous que Linux n'est pas un syst&egrave;me d'exploitation en temps
r&eacute;el et que les t&acirc;ches peuvent &ecirc;tre mal temporis&eacute;es). &Agrave; la place, il
est recommand&eacute; de stocker la sortie de <CODE>mkisofs</CODE> dans un
fichier s&eacute;par&eacute; sur le disque dur. Ce fichier est alors une image
parfaite du CD &agrave; venir et est en fait &eacute;crite sur le CD avec l'outil
<CODE>cdwrite</CODE> dans un deuxi&egrave;me temps.</P>
<P>L'image parfaite est stock&eacute;e dans un fichier &eacute;norme, et vous avez donc
besoin de la m&ecirc;me quantit&eacute; d'espace disque libre que ce que prennent
vos logiciels rassembl&eacute;s. C'est le probl&egrave;me.</P>
<P>On pourrait penser &agrave; cr&eacute;er une partition suppl&eacute;mentaire pour cela et
&eacute;crire l'image sur cette partition plut&ocirc;t que dans un fichier. Je suis
contre cette strat&eacute;gie parce que si vous &eacute;crivez sur la mauvaise
partition (&agrave; cause d'une faute de frappe), vous pouvez perdre votre
syst&egrave;me Linux en entier. De plus, c'est du g&acirc;chis d'espace disque
parce que l'image du CD repr&eacute;sente des donn&eacute;es temporaires que l'on
pourra effacer apr&egrave;s avoir grav&eacute; le CD.</P>
<P></P>

<A NAME="test"></A> <H2>3.5 <A NAME="ss3.5"></A> Tester l'image CD</H2>

<P></P>
<P>Linux a la possibilit&eacute; de monter des fichiers comme si c'&eacute;tait des
partitions de disques. Ceci est tr&egrave;s utile pour v&eacute;rifier si la
structure des r&eacute;pertoires de l'image du CD est bonne. Pour monter le
fichier <CODE>cd_image</CODE> cr&eacute;&eacute; ci-dessus dans le r&eacute;pertoire
<CODE>/cdrom</CODE>, envoyez la commande</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
        mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Vous pouvez maintenant inspecter les fichiers sous <CODE>/cdrom</CODE> --
ils apparaissent exactement comme ils le seraient sur un vrai CD. Pour
d&eacute;monter l'image CD, tapez simplement <CODE>umount
/cdrom</CODE>. Attention : si vous n'avez pas utilis&eacute; l'option '-K' avec
mkisofs, le dernier fichier sur <CODE>/cdrom</CODE> peut ne pas &ecirc;tre
enti&egrave;rement lisible.</P>
<P>Note :</P>
<P>
<BLOCKQUOTE>
certaines versions anciennes de <CODE>mount</CODE> ne savent pas manipuler
les p&eacute;riph&eacute;riques loopback. Si vous avez une version de <CODE>mount</CODE>
si vieille que &ccedil;a, c'est une indication pour mettre votre syst&egrave;me
Linux &agrave; jour.
<P>Plusieurs personnes m'ont d&eacute;j&agrave; sugg&eacute;r&eacute; de mettre des informations sur
la mani&egrave;re d'obtenir les derni&egrave;res versions de mount dans ce HOWTO.
Je refuse toujours de le faire. Si votre distribution Linux contient
un vieux <CODE>mount</CODE>, dites-leur que c'est une erreur. Si votre
distribution Linux se met &agrave; jour difficilement, dites-leur que c'est
une erreur.</P>
<P>Si je devais donner toutes les informations n&eacute;cessaires pour
contourner les erreurs des distributions Linux mal faites, ce HOWTO
serait beaucoup plus gros et dur &agrave; lire.</P>
</BLOCKQUOTE>
</P>
<P></P>

<H2>3.6 <A NAME="ss3.6"></A> Remarques sur les disques CD R&eacute;inscriptibles vierges</H2>

<P></P>
<P>Le magazine informatique allemand "c't" donne une liste de trucs
concernant les CD vierges dans leur num&eacute;ro de novembre 1996 :</P>
<P>
<UL>
<LI>les disques "sans-noms" (noname) ne sont en g&eacute;n&eacute;ral pas de la
plus grande qualit&eacute; et il vaut mieux ne pas les utiliser ;
</LI>
<LI>si un CD r&eacute;inscriptible est d&eacute;fectueux, il y a des chances que
&ccedil;a soit la m&ecirc;me chose pour le paquet entier (si vous en avez achet&eacute;
plus d'un &agrave; la fois) ; vous avez peut-&ecirc;tre de la chance et pouvez au
moins utiliser les 500 premiers Mo de tels CDs...
</LI>
<LI>ne touchez pas les CD sur leur face brillante avant l'&eacute;criture.
</LI>
</UL>
</P>
<P></P>

<H2>3.7 <A NAME="ss3.7"></A> &Eacute;crivez l'image du CD sur un CD</H2>

<P></P>
<P>Plus grand chose &agrave; faire. Avant de vous montrer la derni&egrave;re commande,
laissez-moi vous avertir que les graveurs de CDs doivent &ecirc;tre
aliment&eacute;s par un flot continu de donn&eacute;es parce qu'ils n'ont que de
petits caches de donn&eacute;es. Le processus d'&eacute;criture de l'image CD sur le
CD ne doit donc pas &ecirc;tre interrompu ou bien le r&eacute;sultat est un CD
corrompu.</P>
<P>Pour &ecirc;tre s&ucirc;r que rien ne vient interrompre le processus, virez tous
les utilisateurs de votre syst&egrave;me et d&eacute;branchez le c&acirc;ble
Ethernet... Lisez le <I>Bastard Operator From Hell</I> pour en
apprendre sur la bonne attitude &agrave; adopter. ;-)</P>
<P>Si vous &ecirc;tes pr&ecirc;t mentalement, mettez une blouse noire, multipliez l'ID
SCSI du graveur de CD par son num&eacute;ro de version et allumez autant de
bougies, r&eacute;citez deux strophes de la FAQ ASR et finalement tapez :</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
        cdwrite --device /dev/sgd cd_image
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>ou bien</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
        cdrecord -v speed=2 dev=4,0 cd_image
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>selon le logiciel que vous voulez utiliser. Vous devez bien s&ucirc;r
remplacer le p&eacute;riph&eacute;rique d'exemple par le p&eacute;riph&eacute;rique SCSI auquel
votre graveur de CD est connect&eacute;.</P>
<P>Veuillez noter qu'aucun graveur ne peut repositionner son laser et
continuer au point o&ugrave; il a &eacute;t&eacute; d&eacute;rang&eacute;. Par cons&eacute;quent toute vibration
forte ou m&ecirc;me un choc d&eacute;truira compl&egrave;tement le CD que vous &ecirc;tes en
train de graver.</P>
<P></P>

<H2>3.8 <A NAME="ss3.8"></A> Si quelque chose va mal...</H2>

<P></P>
<P>...rappelez-vous que vous pouvez toujours utiliser les CD rat&eacute;s comme
dessous de bouteilles. :-)</P>
<P></P>

<HR>
<P>
Chapitre <A HREF="CD-Writing-HOWTO-4.html">suivant</A>,
Chapitre <A HREF="CD-Writing-HOWTO-2.html">Pr&eacute;c&eacute;dent</A>
<P>
Table des mati&egrave;res de <A HREF="CD-Writing-HOWTO.html#toc3">ce chapitre</A>,
 <A HREF="CD-Writing-HOWTO.html#toc">Table des mati&egrave;res</A> g&eacute;n&eacute;rale</P>
<P>
<A HREF="CD-Writing-HOWTO.html">D&eacute;but</A> du document,
 <A HREF="#0"> D&eacute;but de ce chapitre</A></P>
</BODY>
</HTML>