Minitutorial: grabando CD’s desde la consola


compact-disc.jpg

Todos conocemos las bondades de los mas conocidos programas para grabar cd/dvd como Gnomebaker o K3b. Nos maravillamos de lo que pueden hacer, incluso actualmente son superiores a sus contrapartes propietarias mas conocidas. Pero que hay detrás de ellos?.
Dos poderosas aplicaciones bajo licencia GPL, mkisofs y cdrecord que son parte de cualquier distro actual.
mkisofs crea una imagen pre-master, genera un file system híbrido ISO9660/JOLIET/HFS con atributos opcionales rock ridge.
Una vez generada dicha imagen cdrecord es la encargada del proceso de grabación.

Algunos conceptos antes de empezar:
ISO-9660: se refiere al antiguo estándar, acepta solamente archivos del tipo 8.3 (nombre de 8 caracteres mas extensión de 3 caracteres)
Joliet: Es una extensión de Microsoft al estándar ISO-9660, acepta caracteres UNICODE para ser utilizados en los nombres de archivos. Acepta archivos de longitud de hasta 64 caracteres. Es legible por Windows 95 en adelante inclusive por MAC con la extensión Joliet Volume Access pero solamente hasta 31 caracteres.
HFS (Hierarchical File System): Es el sistema de archivos nativo de las MAC.
Rock ridge: Es una extension al estándar ISO-9660 que acepta nombres largos, symlinks de UNIX, conserva atributos de archivo como dueño y permisos. Los atributos UNIX no se muestran cuando se ejecuta en Windows.

Generando una imagen:
Lo primero que vamos a hacer es generar una imagen ISO con la información:
mkisofs -o prueba.iso -Jrv -V imagen_prueba /home/sebastian/

-o: indica el nombre de la imagen iso a generar (en el ejemplo prueba.iso)
-J: indica usar compatibilidad joilet para que la imagen generada pueda ser leída en Windows
-r: indica user compatibilidad rock ridge
-v: verbose mode, va mostrando salida en pantalla de lo que va sucediendo
-V: nombre de volumen de disco, en nuestro caso imagen_prueba
La ultima parte indica los archivos a incluir en la imagen, en este caso todo el directorio home del usuario sebastian.

Antes de proceder a grabar la imagen generada es útil montarla para hacer una prueba que este todo bien:
mount -t iso9660 -o loop prueba.iso /mnt
si vamos al directorio /mnt deberíamos ver la información.

Grabando la información:
Es hora de utilizar cdrecord.
Antes de poder grabar debemos ver si cdrecord reconoce la unidad grabadora, para ello corremos lo siguiente:
Para un kernel 2.4.x (recordar tener la emulacion SCSI activada)
cdrecord -scanbus
Para el kernel 2.6.x
cdrecord dev=ATAPI -scanbus

NOTA: si no saben que versión del kernel tiene su distribución, correr el siguiente comando:
uname -r

Deberian obtener una salida parecida a esta:
Using libscg version ‘schily-0.8′.
scsibus0:
0,0,0 0) *
0,1,0 1) ‘_NEC ‘ ‘DVD+RW ND-1100A ‘ ’1.NE’ Removable CD-ROM
0,2,0 2) *
0,3,0 3) *
En nuestro caso el cd se encuentra en el scsibus 0, device ID 1, LUN (Logical Unit Number) 0, el ultimo numero indica nuevamente el device ID.

Ahora para grabar seria:
Para un kernel 2.4.x
cdrecord -v -eject speed=8 dev=0,1,0 prueba.iso
Para un kernel 2.6.x
cdrecord -v -eject speed=8 dev=ATAPI:0,1,0 prueba.iso
Otra forma seria dejar en blanco la sección dev en el caso de que exista /etc/default/cdrecord tomara los parámetros necesarios de allí.

-v: indica verbose mode, nos va a mostrar en pantalla que va haciendo.
-eject: una vez finalizada la grabación expulsara el cd.
speed: indica velocidad de grabación, en este caso 8x
-dev: es la información del dispositivo obtenida con la opción -scanbus
Por ultimo el archivo a grabar prueba.iso

Al cabo de unos minutos el proceso de grabación finalizara y expulsara el cd grabado listo para ser probado.

cdrecord tiene una extensa cantidad de opciones que seria imposible resumir en este pequeño minitutorial.
Para mayor información les recomiendo consulten el man page correspondiente:
man cdrecord

ESTE TEXTO SE PUBLICA BAJO LICENCIA CREATIVE COMMONS BY-NC-SA 2.5 AR.

Por lo tanto, usted es libre de: 1) Copiarlo, distribuirlo y exhibirlo. 2) Hacer obras derivadas. Bajo las siguientes condiciones: 1) Debe dar atribución mencionando el nombre del autor y del LUG Zona Norte. En caso de las notas que no llevan firma, mencionar sólo el nombre del LUG.
2) Usted no puede usar esta obra con fines comerciales. 3) Si usted altera, transforma, o crea sobre este texto, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta.

Más detalles y texto legal de la licencia en: http://creativecommons.org/licenses/by-nc-sa/2.5/ar

  1. No comments yet.
(will not be published)
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)

What is 4 + 13 ?
Please leave these two fields as-is: