Accueil > Informatique > Linux > Graver en ligne de commande

Graver en ligne de commande

jeudi 4 décembre 2008, par frederic

Introduction

Je suppose ici que vous possédez les logiciels mkisofs, cdrecord et cdrdao Matériel :
 un graveur de CD (éventuellement de DVD)
 un CD-RW pour tester les commandes de ce tutoriel.

La gravure en ligne de commande nous impose de connaîtte ce que l’on appelle le device (dev) de notre graveur.

Dans le cas des kernel 2.6.x, on a :

# cdrecord -scanbus
scsibus2:
        2,0,0   200) 'TSSTcorp' 'CDRWDVD TS-H493B' 'D200' Removable CD-ROM
        2,1,0   201) *
        2,2,0   202) *
        2,3,0   203) *
        2,4,0   204) *
        2,5,0   205) *
        2,6,0   206) *
        2,7,0   207) *

Création d’une image iso

À l’aide de la commande mkisofs, nous allons créer l’image iso d’un répertoire. L’image iso créé ici s’appelle image.iso, rien ne vous empêche de l’appeler toto.iso ou sauvegarde.iso ! et chemin_du_repertoire désigne le chemin de votre répertoire, par exemple /home/user/projet

# mkisofs -v -r -J -o image.iso chemin_du_repertoire

Quelques explications concernant les options :
 -v représente le mode verbose autrement dit mkisofs commente la manière dont il agit.
 -r pour être bref cela permet de remettre les droits à zéro, disons que vous soyez root, cette option est obligatoire pour permettre au client par exemple un user d’avoir les droits sur le ou les fichiers de cette image.
 -J c’est ce qu’on appelle la Joliet extension cela permet entre autre de supporter les noms longs de votre image, cela est utile notamment lorque vous utilisez cette image sous Windows 2000,NT,XP ou des systèmes WIN32
 -o comme output pour désigner le nom de la sortie, ici c’est image.iso

Gravure

L’idée est de créer une image iso à l’aide de mkisofs et ensuite de graver cette image sur notre CD. À noter, que l’on peut échapper à la création de cette image iso, pour cela vous pouvez vous réferez à la gravure express. Une fois que votre image iso image.iso est crée, on utilise cdrecord

# cdrecord -v -speed=10 dev=/dev/scd0 -data image.iso

Si vous voulez graver un fichier :

# mkisofs -r -print-size chemin_du_fichier

on obtient à la fin de l’execution de mkisofs un entier represéntant la taille de l’image, un exemple de résultat

Total extents scheduled to be written = 30147 30147

À présent l’idée est d’utiliser un tube (pipe) vers cdrecord, en considérant le device. Pour faire simple, nous allons graver le cd sans créer l’image iso en utilisant la taille de cette dernière si elle avait été crée(ici 30147) :

# mkisofs -r -print-size chemin_du_repertoire 2>/dev/null | cdrecord -v -speed=10 -dev=ATA:1,0,0 tsize=30147s -

pour un fichier on a si la taille de son image iso est 65432 :

# mkisofs -r -print-size chemin_du_repertoire 2>/dev/null | cdrecord -v -speed=10 -dev=ATA:1,0,0 tsize=65432s -

Effacer un CD-RW

Vous avez la méthode rapide :

cdrecord -v -speed=10 -dev=ATA:1,0,0 -blank=fast

et la méthode complète

cdrecord -v -speed=10 -dev=ATA:1,0,0 -blank=all