Graver
en multi-session sur (ligne de) commande avec les cdrtools.
Faire des CD-R, CD-RW, DVD de données,
audio, des gravures multi-session ou encore des mixtes
données/audio, voilà ce que permet cdrecord de
Jörg Schelling, le principal outil des cdrtools. Cela
nécessite une petite prise en main, mais qui peut
s'avérer payante.
L'installation.
Les cdrtools sont un ensemble d'outils à installer avec fink
par la commande:
%
fink install cdrtools
Le meilleur moyen de savoir si cdrecord reconnaît le graveur
intégré de l'ordinateur est de lancer la commande:
%
cdrecord -dev=IODVDServices -v
-eject
Le tiroir devrait s'ouvrir pour éjecter un CD-R. L'option
-dev permet de définir le graveur interne - IODVDServices
pour un iMac -; -v appelle le mode bavard.
En cas d'échec, il faut identifier le lecteur-graveur en
lançant la commande:
%
cdrecord -scanbus
Graver
un CD-RW multi-session.
Nous allons graver un CD-RW multi-session comprenant la
bibliothèque de photos, puis le contenu d'un
répertoire temporaire ~/tmp contenant les travaux en cours.
Dans tout ce qui suit, il faudra veiller avant chaque utilisation de
la commande cdrecord à démonter le volume comme
indiqué avec hdiutil pour qu'il n'y ait pas
interférence
entre le graveur graphique et le graveur en ligne de commande.
Les deux principaux outils que nous allons utiliser sont mkisofs et
cdrecord, le premier servant à créer une image
disque, le second à graver, puisque dans tout processus de
gravure, il faut distinguer ces deux opérations. Nous
créons l'image photos.iso que nous plaçons dans
un répertoire ~/imageISO/
%
mkisofs -R -r -J -o
imageISO/photos.iso
~/Pictures/iPhoto\ Library\
Le volume est compatible avec les extensions Rock Ridge des
systèmes Unix/Linux (option -R), et Joliet pour Windows
(option -J). L'option -r permet de rationaliser les permissions de
manière à rendre l'image lisible par tous.
L'option -o spécifie le répertoire de sortie.
Nous pouvons graver l'image:
%
hdiutil unmount /Volumes/CDROM
"disk1s0" unmounted
successfully.
% cdrecord
-dev=IODVDServices -speed=10 -v -eject -multi
imageISO/photos.iso
Bien évidemment, pour une gravure simple, il suffit de
suivre la même méthode sans l'option -multi.
On réintroduit à présent le CD pour la
seconde session et on suit la démarche suivante:
%
hdiutil unmount /Volumes/CDROM
"disk1s0" unmounted
successfully.
% cdrecord
-dev=IODVDServices -v -msinfo
Ce qui donne, en dernière ligne après toute une
série d'informations, un nombre dont nous allons avoir grand
besoin pour créer la nouvelle image disque, comme celui-ci:
0,81722
Nous créons l'image disque en insérant le nombre
avec l'option -C:
%
hdiutil unmount /Volumes/CDROM
"disk1s0" unmounted
successfully.
% mkisofs -R -r -J -o
~/imageISO/tmp.iso -C 0,81722 -M
IODVDServices
~/tmp/
Puis nous la gravons:
%
hdiutil unmount /Volumes/CDROM
"disk1s0" unmounted
successfully.
% cdrecord
-dev=IODVDServices -speed=10
-v -eject -multi imageISO/tmp.iso
Pour la dernière session, on n'utilise pas l'option -multi.
Pour effacer un CD-RW, s'il s'agit d'une première
utilisation, on conseille en général de l'effacer
totalement (option -blank=all); sinon, c'est l'effacement rapide qui
sera le plus souvent utilisé (option -bank=fast):
%
cdrecord -dev=IODVDServices
-speed=10 -v -blank=fast -eject
Conclusion.
Pourquoi, demandera-t-on, graver en ligne de commande quand on dispose
d'outils en interface graphique aussi performants que BurnX Free,
MissingMediaBurner et ceux livrés avec Mac OS X, sans
compter Toast Titanium? - Tout simplement pour se réserver
la possibilité d'écrire des petits scripts maison
bien léchés: et là, il n'y a pas de
limite à une imagination que des besoins très
spécifiques peuvent inspirer. Petit plus: on peut
lire les pages man de cdrecord en français si on a
installé le kit des pages man
traduites disponible sur le site
MacBidouille (cf
AvosMac!
n°
40, p. 40).
Voir également la page:
Graver
un CD audio ou un mixte données-audio avec les
cdrtools.
->
http://www.fr.linuxfromscratch.org/view/blfs-1.0-fr/multimedia/cdrtools.html
->
http://www.trustonme.net/didactels/299.html#conf