Grabando y copiando CDS desde la consola:

Ciertamente, grabar o copiar un CD desde la consola Linux, no es una tarea demasiado cómoda que se diga. No es tampoco excesivamente compleja, pero las
órdenes son todas tan tremendamente flexibles que, posiblemente, existan muchas más de las que podamos comentar aquí y que, incluso, existan variaciones
de éstas que puedan funcionar mejor o ser más fáciles, pero eso os tocará descubrirlo a vosotros a base de trastear y estropear unos cuantos discos o mediante
la lectura de oscuros comos (howto) que andan desperdigados por ahí por las profundidades de la Web.

Creando la imagen de un cd de datos:

Muchas veces usamos programas gráficos para grabar CDS que no son más que frontends para los programas cdrecord, mkisofs, cdrdao, etc. Para hacer una imagen

podemos usar simplemente las órdenes cat o dd:

El primer paso será, pues, el montaje de la unidad de CD, lo cual haremos con una línea de órdenes similar a la siguiente:

mount -t iso9660 -ro unhide /dev/sr1 /media/cdrom

/dev/sr1 es el dispositivo donde este nuestro cdrom

-ro significa que lo vamos a montar en sólo lectura

unhide es Para que se puedan leer también los ficheros ocultos

Notas: /media/cdrom es donde se montan las unidades de cdrom en mi ubuntu de pruebas, en vuestra distro podría estar en otros lugares tales como /mnt/cdrom
o /cdrom. También os comento que posiblemente se pueda montar perfectamente con la orden corta de montaje ya que suele venir prevista en el fichero de
configuración.

Con el cdrom montado tenemos varios métodos de crear las imágenes iso para luego ser quemadas.

La primera que podemos utilizar es generándola con la utilidad mkisofs. Si no la tienes en el sistema, suele venir en todos, instálala del modo habitual:
apt-get install mkisofs. Así pues, Creamos la Imagen del CDROM del siguiente modo:

mkisofs -R -J -T -o /tmp/imagen.iso /media/cdrom

La aplicación mkisofs, crea un archivo de sistema híbrido iso9660/joliet/hfs/Rock Ridge. Esto nos permite combinar dos sistemas en un mismo CD, para que
pueda resultar portable entre los diversos sistemas operativos que podamos querer utilizar.

Como habréis podido intuir, la sintaxis básica del programa es:

mkisofs [opciones] -o [salida] [entrada]

donde:

[salida]: Es el directorio donde se creará la imagen: imagen.iso

[entrada]: Es el directorio donde se encuentran los archivos para crear la imagen: /media/cdrom

Con la opción -r generaremos un sistema de archivos con extensión Rock Ridge pero reseteando todos los permisos de modo tal que todos los usuarios puedan
acceder al CD por completo. La imagen será generada en el directorio de salida que hemos especificado.

Por cierto, que no os lo comenté al principio, yo estoy haciendo esto todo desde el usuario root para evitarme movidas con los permisos, aunque supongo
que previa gestión de permisos para cualquier otro usuario podría hacerse desde él, de todos modos por pereza uso demasiado más el root de lo estrictamente
necesario, como ya creo haber comentado con anterioridad en estos apuntillos. Para más información sobre modificadores de este programa ejecútalo con la
opción -help o lee su manpage. Tiene muchas opciones y es tremendamente flexible.

Otras opciones para hacer lo mismo pueden ser las dós líneas de órdenes siguientes, una con cat y otra con dd:

cat /dev/cdrom > imagen.iso

dd if=/dev/cdrom/ of=image.iso

Montar imágenes .iso:

Es posible montar imágenes iso hechas por nosotros o descargadas desde Internet para tener un modo rápido de poder ver su contenido o para poder extraer
algún archivo de su interior. Es algo parecido a como lo podemos hacer en Windows con las unidades virtuales de cdrom que instalan algunas suites de copia
tales como Nero o CloneCD. Esto lo podremos lograr utilizando la orden mount:

mount -t iso9660 -o ro,loop=/dev/loop0 /DirectorioDe/imagen.iso /media/cdrom

Si no hubo ningún fallo, al abrir el directorio /media/cdrom o el que corresponda al montaje del cdrom en vuestra distribución, podremos ver los archivos
tal y como estarían en caso de quemar la imagen en un CD.

Quemando la imagen .iso creada:

El programa que nos va a permitir realizar quemados en la grabadora es el cdrecord. Antes de ponernos a la tarea es necesario conocer el bus al que está
conectada la grabadora para poder decirle al programa de quemado dónde ha de enviar los datos. para ello, deberemos ejecutar la orden siguiente desde la
consola:

cdrecord --scanbus

Deberíais ver, tras esto, aparecer por pantalla, entre varios mensajes, la indicación de la marca de vuestra grabadora y en que bus está conectada.

Si nuestra grabadora, por ejemplo, estuviera conectada en el bus 0,0,0, sería el dato que necesitaríamos para proseguir adecuadamente con el proceso de
quemado.

Colocamos ahora un CD virgen en la grabadora y escribimos la siguiente línea de órdenes:

cdrecord -v speed=16 dev=0,0,0 -data /DirectorioDe/imagen.iso

Donde speed=16 es La velocidad de grabación adecuada. Ésta dependerá, en todo caso, del hardware que tengáis, por lo que deberéis adecuarla a la situación
particular de cada quien. Recordad también que los valores de la velocidad de grabación siempre se van a ir incrementando en potencias de 2 [2,4,8,16...]

dev=0,0,0 es el bus en el que esta conectada la grabadora de CDS.

Finalmente, cuando ya terminemos de quemar todas las copias que queramos de la imagen, solamente hemos de eliminarla del disco duro del siguiente modo:

rm /DirectorioDe/imagen.iso

Si queremos otro modo de copiar un cd, obtendremos la información necesaria acerca del CDROM que necesitemos copiar con la orden isoinfo:

Antes de nada hemos de desmontar el cd si éste lo estuviese tecleando la consabida línea de mandato:

umount /dev/cdrom

Seguidamente escribiremos la siguiente línea de órdenes

# isoinfo -d -i /dev/cdrom

La cual nos lanzará un pantallazo de información que podría ser similar a lo siguiente:

CD-ROM is in ISO 9660 format

System id:

Volume id: W4BSR1

Volume set id:

Publisher id:

Data preparer id: UNTITLED

Application id:

Copyright File id:

Abstract File id: ABSTRACT.TXT

Bibliographic File id:

Volume set size is: 1

Volume set sequence number is: 1

Logical block size is: 2048

Volume size is: 140564

NO Joliet present

NO Rock Ridge present

Con toda la información que nos imprime la orden anterior solamente utilizaremos para nuestros propósitos los dos siguientes datos:

Logical block size is: 2048 <=== bs

Volume size is: 140564 <=== count

Quede claro que, por supuesto, los datos cambiarán dependiendo de las diferentes distribuciones de hardware que cada uno tenga en su máquina.

Con esto en mente vamos a copiar el contenido del CD para crear una imagen .iso con la orden dd de un modo similar a como ya se hizo más arriba:

dd if=/dev/cdrom of=imagenprograma.iso bs=2048 count=140564

Ahora ya disponemos de una imagen .iso creada y, al igual que hicimos más arriba, podremos montarla para verificar su contenido.

Podemos hacerlo con un directorio ya creado o, por el contrario, generar uno:

mkdir /media/temp

Y, seguidamente, montar la imagen allí:

# mount -t iso9660 -o loop imagenprograma.iso /media/temp

Podremos, asimismo, grabar directamente la imagen .iso sobre un CD virgen con la siguiente línea de órdenes:

cdrecord -v -eject dev=/dev/cdrom speed=16 imagenprograma.iso

Copiando Música

El primer paso va a ser el mostrado de las pistas que contenga el cd, por tanto, utilizaremos el rippeador cdparanoia que vimos en el capítulo anterior,
del siguiente modo:

cdparanoia -Q -d /dev/sr1

Seguidamente Extraeremos el audio donde n será el número de canciones que queremos obtener para la copia:

cdparanoia -W -Z -X -B -d /dev/sr1 -v 1-n

Finalmente, para grabarlas en el CD teclearemos la siguiente orden:

cdrecord -v speed=4 -eject fs=20M dev=0,0 -audio -nopreemp track* -defpregap=[tiempo en segundos]

Para Copiar CD de música en directo (sin espacio y cortes entre canciones) haremos lo siguiente:

Instalaremos la aplicación cdda2wav del modo habitual en el que venimos haciéndolo.

Mostraremos las canciones que tenga el cd:

cdparanoia -Q -d /dev/sr1

Extraeremos todo el audio en un sólo fichero con la siguiente orden:

cdda2wav -D /dev/sr1 -s -x -t 1+n

Y, finalmente, Grabaremos el fichero wav a un cd

cdrecord -v speed=4 -eject fs=20M dev=0,0 -audio audio.wav

De momento esto es todo lo que vamos a ver sobre la grabación y copia de CD. En realidad, el grabado de discos en Linux es un tema que me sigue pareciendo
bastante oscuro, sobre todo porque algunas grabadoras, la mía sin ir más lejos, dan bastantes problemas a la hora de ser auto reconocidas por el sistema
operativo, y esto puede lograr que más de uno se desespera antes de conseguir ponerla en marcha.

VOLVER A LA PORTADA DE LOS APUNTES