Gravure sous GNU/linux
Création d'iso et copie de CD
mkisofs consiste alors à créer un système de fichiers ISO 9660.
mkisofs supporte le protocole Rock Ridge Interchange. Rock Ridge consiste à spécifier que le système de fichiers POSIX (celui qui spécifie les autorisations, la longueur des noms de fichiers etc.) est inclut dans le système de fichiers ISO 9660. En d'autres termes, on garde tous noms, droits et il est possible d'écrire des noms de fichiers assez longs, garder les mêmes hiérarchies de dossiers ... ISO 9660 étant assez restrictif au niveau de la gestion des noms (8+3 caractères) Microsoft et Macintosh ont tous 2 développé des extensions « Joliet » qui autorisent plus de caractères et donc des noms plus lisibles que DOCUME~1.ODT.
Pour vérifier la taille d'un répertoire pour lequel on souhaite créer une image, on va utiliser du qui sert à connaître l'espace occupé par un fichier ou répertoire :
du -sh /home/mon_dossier_article/
Création de l'image iso que l'on va nommer mon_article avec un dossier source qui s'appelle par exemple article.
mkisofs -R -J -v -V "CD POUR SUPINFO" -o mon_article.iso article/
mkisofs contient énormément d'options qui déroutent, mais on utilisera que celles qui sont vraiment utiles et/ou indispensables.
L'option -R va spécifier que l'on va utiliser Rock Ridge (pour notre organisation de fichiers). L'option -J va spécifier que l'on va utiliser l'extension Joliet pour les noms de fichiers longs. Le -v est utilisé pour le mode verbeux. Le -V est utilisé pour spécifier un nom de volume et le -o qu'on doit mettre en dernier va lire juste ce qu'il y a après, c'est à dire le nom de l'image iso. L'option -r (à la place de -R) peut être plus utile et logique si le CD doit être lu sur une autre machine car les numéros d'identifiant des utilisateurs ne correspondront plus à aucun utilisateur sur l'autre machine.
Le temps de création de l'image est proportionnel à la puissance de la machine mais pour un dossier contenant 520 Mo de fichiers musicaux, la création a pris environ 40 secondes. mkisofs montre un coté pratique car lors de la création d'une image avec des fichiers nommés avec des caractères spéciaux comme des carrés, j'ai eu droit à une erreur qui a spécifié quoi utiliser (dans mon cas l'option -input-charset iso8859-1 comprenant une table avec des caractères en plus).
On s'assure que l'image correspond bien à ce que l'on souhaite en la montant :
mount -t iso9660 -o loop /le_chemin_de_votre_image/mon_article.iso /media/temporaire
Si vous souhaitez faire une image iso mais cette fois directement d'un CD, il faudra faire :
dd if=/dev/cdrom of=mon_image.iso
Et si maintenant vous voulez faire une copie à la volée, il faudra passer l'option -isosize à votre ligne de commande :
cdrecord -v _isosize speed=4 dev=1,0,0 /dev/votre_lecteur_cd
C'est dans un cas comme ceci que l'on peut utiliser le burnproof qui évitera de jeter un CD en cas d'erreur. Vous pouvez aussi utiliser cdrdao qui semble plus parlant pour la copie à la volée :
cdrdao copy –source-device a,b,c –device 1,0,0 -–on-the-fly