| Comprar | Carrito | Buscar | cosaslibres.com cd / |
| ¿ Que es ? | Entretenimiento | Nosotros | Catalogo de Productos Linux | |||||||||||
| [#Linux|Software|Hardware] | [Kiosco|Links] | [Acerca|Buscar] | [Colombia|Hosting|Internacional] |
[ Preguntas frecuentes ] [ Visite nuestra Promoción vigente ]
6. Programas necesarios para grabarCasi todos los programas que aquí vamos a mencionar pueden obtenerse de ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/; no obstante, es posible que no estén las últimas versiones de desarrollo, por ello procuro además dar en la sección de cada uno la dirección origen. Aquí hago una descripción de los programas que vamos a necesitar para elaborar nuestros propios CDs, con ellos haremos las imágenes y las grabaremos; podremos comprobar la diversidad que hay y las ventajas que nos proporcionan. Sólo voy a describir las últimas versiones de estos programas, que aunque en algunos casos están en fase alpha o de desarrollo (sólo algunos) funcionan perfectamente. En el caso concreto de cdrecord, resulta imprescindible para poder usar grabadoras IDE, IDE-ATAPI de puerto paralelo y las regrabables, al ser el único que de momento las soporta. 6.1 Programas para creación de las imágenesLa parte más importante es hacer una imagen, pero ¿porqué hay que hacer una imagen? Muy sencillo, la imagen es el molde con el que se crea el futuro CD; y no sólo eso, la imagen nos permite comprobar que el CD va a salir como nosotros queremos, pudiendo evitar errores y ciertas cosas más, difícilmente detectables en el momento de la grabación si la generamos al tiempo de grabar. Además, podemos montar las imágenes para comprobar cómo han quedado, como se explica en el apartado Otras opciones del Kernel recomendables Sí, ya lo sé, en windows puedo hacer CDs perfectamente sin necesidad de hacer imágenes, si continúa leyendo, luego explico cómo podrá hacer CDs sin necesidad de hacer imágenes. mkisofsPuede obtener este programa de ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs. La última versión estable disponible es la 1.11 y la de desarrollo es la 1.12b5. Este es el principal programa que usaremos para crear nuestras imágenes, ya que está hecho especialmente para hacer imágenes ISO9660 a las que añadir extensiones Rock Ridge, o imágenes Joliet (sólo versiones 1.12). Puede también combinar las dos, es decir, en un solo CD tener los dos sistemas, Rock Ridge y Joliet, de tal forma que el CD sea portable entre los sistemas operativos que usen uno u otro, manteniendo los nombres largos (sólo versión 1.12). Esta explicación está basada en la versión 1.12a5, de la cual sólo voy a indicar los parámetros que son más utilizados. La sintaxis de este programa y su uso se explica a continuación:
Estos son los parámetros más utilizados, si quiere más información o más posibilidades siempre puede consultar la página del manual. Ahora unos pocos ejemplos de cómo funcionan algunos parámetros: Para generar un sistema de ficheros Rock Ridge simplemente tenemos hacer esto:
Aquí se indica un sistema de ficheros Rock Ridge al que se le incluyen todos los archivos que se encuentren en el directorio /ficheros, generando archivos TRANS.TBL, para el archivo de imagen /cd/imagen.iso. Para que al crear la imagen se establezca el nombre de volumen, la identificación, el editor y la aplicación del CD, hay dos métodos, uno consiste en crear un archivo llamado .mkisofsrc en nuestro directorio personal. Recuerdo que este archivo sólo sirve para la versión 1.12, con una sintaxis como ésta:
O bien puede especificarlo en la línea de comandos así:
Este único comando se ha introducido en dos líneas, detrás del carácter \ hay que teclear Enter, y teclear el resto. Se ha hecho así por motivos de formato de este documento. En él podemos observar, aparte de cómo poner el nombre de volumen al CD y otras cosas, que estamos haciendo un CD con el modo de compatibilidad para otros sistemas de 32 caracteres, tomando los permisos y la identificación que tiene cada archivo en el disco. Un ejemplo de cómo crear un sistema de ficheros con Joliet es:
En este sistema de ficheros Joliet hemos excluido todos los archivos que correspondan con la descripción *.o y core con la opción -m, la opción -f indica que los enlaces que se encuentren serán tomados como los archivos o directorios a los que apuntan. Por último, excluimos el directorio excluir que se encuentra en la ruta de origen desde donde queremos hacer la imagen. Y por último un sistema de ficheros con Rock Ridge y Joliet, que recuerdo que sólo se puede hacer en la versión 1.12:
Para hacer un CD arrancable (para arrancar con él es necesario que la BIOS soporte arranque desde unidades CD-ROM) necesitamos la imagen de un disquete de arranque de 720KB, 1.44MB o 2.88MB, de MS-DOS o Linux según queramos, que podemos encontrar en varios sitios ya hechos o hacernos nosotros mismos. Una vez tenemos la imagen, la ponemos dentro del directorio en donde se encuentran los archivos desde los que vamos a hacer la imagen y procedemos a lo siguiente:
Nótese que a los parámetros -b y -c le especificamos lo que parece un path absoluto, pero el directorio /cdboot no se encuentra en el directorio raíz de su disco duro, sino que en realidad es un subdirectorio de /master; esto es así porque mkisofs para este parámetro se sitúa como si estuviera ya dentro del CD. mkhfsPuede obtener este programa de ftp://ftp.ge.ucl.ac.uk/pub/mkhfs. Es su homólogo para el sistema de ficheros de los mac, HFS, no lo he llegado a probar todavía pero seguro que funciona bien. Su uso es muy sencillo y no tiene mucha complicación. mkhybridPuede obtener este programa de ftp://ftp.ge.ucl.ac.uk/pub/mkhfs. Es la mezcla de los dos anteriores, la ultima versión usa código del mkisofs 1.12 para mejor soporte de Joliet. La ayuda parece exactamente la del mkisofs, salvo que incluye las siguientes opciones para añadir el sistema de ficheros de los mac:
mke2fs¿Cómo? ¡Pero si este programa sirve para crear sistemas de ficheros en el formato nativo de Linux, el ext2! Pues sí, es posible crear CD-Roms en formato ext2, que por supuesto no podrán leerse en sistemas que no dispongan de algún tipo de soporte para leer este tipo de sistema de archivos, básicamente Linux. Su utilidad dependerá de la creatividad de cada uno ;) Para ello, hay que seguir el siguiente procedimiento:
Si queremos montar un CD-Rom de este tipo, habrá que especificarle a mount que el tipo de sistema de ficheros es ext2, y de sólo lectura:
si queremos incluirlo en /etc/fstab, habrá que indicar además de su tipo de sistema de ficheros, y de ser sólo lectura, que no sea comprobado:
El último 0 es el que hace que fsck no lo compruebe en cada arranque. 6.2 Software de extracción de audioAviso: La mayoría de las grabadoras requieren que el orden de palabra de los ficheros de audio en formato CDDA o PCM raw sea Big Endian, salvo las Yamaha, Sony y recientemente las últimas grabadoras que cumplen el estándar SCSI-3/MMC, que lo necesitan Little Endian. Casi todos los programas extractores de CD-Audio extraen por defecto en Big Endian. Si graba ficheros de audio con el orden de palabra equivocado para su grabadora, cuando intente escuchar ese CD no oirá más que un horripilante ruido, similar al sonido de una televisión sin sintonizar. Dependiendo del software que utilice para grabar, esto se puede abordar de dos maneras:
Otro concepto, que aunque es mencionado más veces posteriormente a lo largo del documento, quiero recalcar, y que necesitará especialmente con los extractores, es el del dispositivo genérico SCSI, que es explicado en la sección Dispositivos genéricos. readcddaEste programa es un poco difícil de encontrar, ya que las versiones disponibles son modificaciones o portings del original a Linux. Uno de los paquetes que lo trae modificado es el X-CDRoast, que es de donde lo he obtenido, ver sección X-CD-Roast. No hay página man disponible, y tampoco certifico que los comandos que aquí explico correspondan a la versión que Vd. pueda conseguir; no obstante lo expongo aquí por su excepcional calidad y fiabilidad. Eso sí, sólo funciona con dispositivos SCSI. Su sintaxis es un poco pesada, pero como decía antes, vale la pena. El orden de palabra de los ficheros cdda creados con readcdda es Big Endian por defecto.
Así que un ejemplo, utilizando el CDROM SCSI que estuviera en el ID SCSI 3, que fuese el primer CDROM disponible, extrayendo de la pista 1 a la 15, a velocidad 6x en un solo fichero .cdr, sería:
Esto es un poco latoso si queremos que cada pista tenga su fichero, para ello podemos utilizar un bucle:
cdda2wavEste programa es más reciente, y permite extraer de CDROMs IDE si éstos soportan extracción. Puede obtenerlo de ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav/. También se puede encontrar incluido en el mismo paquete de las últimas versiones de cdrecord. Comentaré sólo las opciones más habituales:
Supongamos que usamos un lector SCSI, que tiene el ID 2 del bus SCSI, que queremos extraer las pistas de la 3 a la 8, en formato CDDA, Big Endian (por defecto), en ficheros con el patrón audio_*.cdr separados, con sus correspondientes ficheros informativos:
tambien se puede escribir de forma más abreviada de la siguiente forma:
Si extraemos las pistas con la opción -O wav por defecto serán Little Endian. En la versión 1.0 de cdda2wav y en adelante para extraer las pistas de audio directamente, aunque hayan otros tipos de pistas en el disco, como por ejemplo una de datos al principio o al final, se ha de poner tan sólo esto:
al mismo tiempo, esto nos puede servir de ejemplo de como se pueden extraer pistas para la sección DAO con cdrecord. Existe una variante del cdda2wav, llamada cdparanoia, de rendimiento muchísimo menor, pero que como su nombre indica, es muy paranoica con la calidad de las pistas extraídas, puede resultar útil con CDs muy estropeados. 6.3 Software de grabacióncdrecordLa página principal de cdrecord es Puede obtenerlo por FTP de ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/. Este programa es más avanzado y actual que cdwrite, al estar en desarrollo e incorporar soporte para las novedades del mercado actual, a pesar de no soportar algunas unidades antiguas que sí lo hace cdwrite. La mayor ventaja de este programa es que funciona perfectamente con las grabadoras IDE (con emulación SCSI activada, por supuesto) y SCSI, incluyendo más opciones como el soporte para regrabables y sus comandos específicos, como borrar un CD-RW, una partición, etc. Permite visualizar las tablas de contenido (TOC, Table Of Contents), que es donde se almacena la información sobre las pistas y el tamaño de las mismas. Esta tabla la genera el programa y se tiene que grabar para que se pueda leer el CD, ya sea cuando haga un CD multisesión o al hacer un CD normal o de CD-Audio. También puede grabar pistas CDI, en modo normal de datos data 1 y data 2, multisesión xa1 y xa2 de datos, y audio. Otra función muy útil es que puede realizar ciertas pruebas a la unidad para comprobar sus capacidades y compatibilidad, etc. Los comandos que más nos pueden interesar se detallan a continuación:
Estos son los comandos que más se usan, para ampliar información puede acudir al manual. Ahora unos ejemplos para que la cosa quede mas clara:
Así se realizan los test; en el primero se escanea el bus SCSI para ver nuestra unidad, en los demás se toma que tenemos la unidad en el dispositivo que corresponde al bus 0, id 0 y lun 0 para hacerle los test a los que corresponde la explicación anterior.
Aquí podemos ver que le hemos puesto 8 Mb al buffer fifo, especificado que grabe a doble velocidad, que expulse el CD una vez terminado, que la primera pista es una imagen de datos en formato multisesión XA 1 y las siguientes pistas serán de audio (este programa puede grabar varios formatos de audio como el .wav de Microsoft, el .cdda, el PCM en bruto o .raw y el .au siempre y cuando tengan una calidad de muestreo de 44100 Hz a 16 bits, en estéreo). Y al final no será escrita la TOC por lo que para hacerlo tenemos la siguiente línea:
Para grabar una sola pista de datos podemos usar esto:
Ya que como se dijo antes no hacía falta especificar el parámetro -data, que es el asumido por defecto. Las nuevas opciones que incluye el cdrecord 1.8 se describen en su sección. Parámetros configurables permanentemente de cdrecordComo puede observar, es un poco latoso el tener que especificar datos no cambiantes una y otra vez, como por ejemplo dónde se encuentra la grabadora, o la velocidad de grabación ya que generalmente grabará casi siempre al máximo de velocidad. Para no tener que especificarlo siempre en la línea de comandos, cdrecord provee la posibilidad de establecer dichos parámetros por defecto, mediante las variables de entorno CDR_DEVICE, CDR_SPEED y CDR_FIFOSIZE. Supongamos que su grabadora está en el primer bus SCSI, y tiene el ID 4. (El LUN siempre va a ser 0). Y que quiere que la velocidad de grabación por defecto, a menos de que se especifique lo contrario mediante parámetros de la línea de comandos, va a ser a doble velocidad (2x) y el buffer de datos FIFO sea de 16 megabytes. Estableceríamos dichas variables de entorno mediante la inserción, generalmente en el fichero /etc/profile, de las siguientes líneas, suponiendo que utilice bash como intérprete de comandos:
Dichas variables no estarán disponibles hasta que el sistema relea el fichero /etc/profile, lo mejor es reiniciar el terminal con un logout o bien recargando el archivo con source /etc/profile. Si esto no funciona, reinicie el sistema para salir de dudas. Grabacion sin imagenAhora viene algo que puede interesar a más de uno, hacer un CD directamente desde el disco sin necesidad de hacer una imagen previa. He de advertir sobre este procedimiento y es que no se debe, por ninguna circunstancia, acceder al disco que contenga el directorio maestro con los ficheros a partir de los que se está generando una imagen directa al CD, ya que cualquier mínimo retraso en la transferencia de datos puede ocasionar que no se grabe el CD correctamente a pesar de que durante la grabación no aparezcan errores. El problema de que no se genere correctamente la imagen puede no radicar necesariamente en que su disco duro sea lento, hay otros factores como la memoria disponible: tenga en cuenta que por ejemplo mkisofs necesita al menos 12MB de memoria para generar las extensiones Rock Ridge. Repito, no acceda al disco duro maestro durante la grabación, peligro de hacer un CD desde el que no se pueda leer ningún dato sano, aunque aparentemente se haya grabado bien; esto se puede comprobar editando un archivo de texto y viendo como parte del archivo anterior o los gaps se han introducido en ellos. Así mismo recomiendo realizar esta operación sólo con versiones de cdrecord superiores o iguales a la 1.6.1, y 1.12b5 de mkisofs , ya que he comprobado que funcionan y se entienden mucho mejor, con mucho menor peligro de realizar CDs corruptos. Antes de grabar el CD debe realizar primero la siguiente operación:
la cual nos facilitará un número, este número se lo deberemos de pasar en un parámetro al cdrecord para que nos reconozca el tamaño de la imagen a grabar, ya que si no, cdrecord no tiene forma de saber cuál es el tamaño de la imagen. De esta forma, si por ejemplo, mkisofs nos mostrará la siguiente línea:
Para que cdrecord reconozca el tamaño de la imagen a grabar:
O bien para multisesión:
Nótese que no especificamos ni la localización SCSI de la grabadora, ni la velocidad de grabación, ya que la hemos establecido con las variables de entorno mencionadas anteriormente. Seguramente se preguntará el porqué del nice --20 que hay delante de cada uno de los programas. El comando nice sirve para asignar la prioridad de ejecución, y en este caso concreto establecemos la máxima posible. Se preguntará por qué en la opción tsize del cdrecord multiplico por 2048 la cantidad dada por el mkisofs. La razón es muy simple, a partir de la version 1.6.1 y 1.8 de cdrecord, hay que pasarle el tamaño en bytes de la imagen, y debido a que realiza la multiplicación él mismo, sólo lo tenemos que multiplicar por el tamaño de cada sector de un CD y listo. Use esto con cuidado. Y para terminar voy a indicar cómo usar el programa con las grabadoras IDE/ATAPI y de puerto paralelo, que por ejemplo al ejecutar la siguiente linea nos muestre algo como lo siguiente:
Así es como ve cdrecord nuestra grabadora, ya sea interna o externa, por lo que para indicarle cómo acceder a nuestra grabadora tendremos que especificar el parámetro dev=0,0,0.
Recomiendo usar la grabadora con una version de cdrecord 1.6.1, aunque como se aprecia en el escaneado de muestra anterior hecho con la versión 1.6, esta última es capaz de usarla. También es muy recomendable hacer pruebas de grabación para comprobar que no haya falta velocidad en el puerto paralelo antes de proceder a la grabación final de CD-ROMs. cdwritePuede obtener este programa (y casi todos los relativos a creación de CDs) de ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/. Este programa era el más utilizado hasta hace un par de años mas o menos, (y el único que había). Está en actual desuso, ya que ha dejado de desarrollarse y se ha quedado algo anticuado; de todas formas funciona perfectamente en grabadoras SCSI a excepción de las Sony. Si ha comprendido los comandos del cdrecord no tendrá problemas en entender los de este programa ya que no tiene muchos. Una diferencia que sí hay entre uno y otro es que para identificar la unidad grabadora utiliza los dispositivos /dev/srX y no va directamente al bus SCSI, lo cual puede resultar mas fácil de usar. Por defecto cdwrite busca /dev/cdwriter como dispositivo por defecto de la grabadora, por lo que si hace un enlace simbólico del dispositivo /dev/sgX a /dev/cdwriter con el dispositivo de acceso genérico correspondiente, (vea sección Dispositivos genéricos) se ahorrará un parámetro más que poner. cdwrite necesita que se le especifique el tamaño en bytes de la imagen que va a grabarse; para saberlo, usamos el programa isosize (lo podemos encontrar dentro del paquete de distribución de cdwrite con otras utilidades extra que nos pueden venir muy bien); si nuestra imagen se llama imagen.iso:
nos informa de que el tamaño es 382060544, parámetro que le especificaremos posteriormente con -b. podemos usarlo también con CD-Roms o particiones, si hemos generado la imagen directa a una partición en lugar de a fichero:
Si hemos volcado la imagen generada por mkisofs en la primera partición del primer disco SCSI (con la opción -o /dev/sda1). Algunos ejemplos de cómo se usa cdwrite son:
Copiará directamente el CD que esté en el primer CD-Rom SCSI del sistema a la grabadora, expulsará el CD una vez listo, e irá informando del transcurso de la grabación; 382060544 es el tamaño del CD en cuestión, que hemos averiguado previamente mediante isosize.
Grabará un CD mixto de datos y audio, en donde el parámetro -s indica la velocidad de grabación (equivale al speed=2 del cdrecord), el parámetro -e expulsa el CD al terminar (equivalente al -eject), el -D indica la unidad grabadora, aunque si ha hecho un link de /dev/sgd (por ejemplo) a /dev/cdwriter no hace falta que lo especifique; y por último igual que en el anterior están los parámetros -data y -audio, estando el formato de los ficheros de sonido en Compact Disc Digital Audio (extensiones .cdda o .cdr); podemos pasarlo de otros formatos a éste mediante el programa sox. cdwrite necesita que el orden de la palabra del fichero de audio sea el apropiado para su grabadora, u obtendrá un CD en el que sólo se escuche un desagradable ruido. Consulte la sección Software de extracción de audio. No podrá hacer CDs multisesión con este programa. Para hacer CDs multisesión tendrá que usar las opciones que lleva el mkisofs para este fin, generando una imagen multisesión. cdrdaoParece ser que se ha conseguido que este programa haga lo que se quería, copiar CDs al vuelo, incluso los mixtos, de música, y ohhhhhhh, de ¡Playstation!. No dejéis de ver la sección dedicada a este programa porque merece la pena. 6.4 Entornos IntegradosX-CD-RoastPuede obtener este programa de http://www.fh-muenchen.de/rz/xcdroast/. Este programa es el más sencillo de usar ya que está hecho para las X con un interfaz TCL/TK y se basa en modificaciones del cdrecord y mkisofs para su funcionamiento. En versiones anteriores utilizaba un derivado del cdwrite, pero tuvo que dejarlo ya que cdwrite ha dejado de desarrollarse. La mayor ventaja que tiene este programa es su facilidad de uso y que detecta y configura los dispositivos automáticamente, además de funcionar correctamente y sin problemas. Con él puede configurar y hacer las imágenes de CD fácilmente sin necesidad de ir a la línea de comandos, así como extraer pistas de audio y volver a grabarlas gracias a sus modificaciones del readcdda y playcdda (que sólo se pueden usar con dispositivos SCSI). Si quiere sacar pistas de audio con un lector IDE lector ha de usar el cdda2wav, aunque no todas la unidades lectoras soportan la extracción de pistas CDDA o de CD-Audio. Puede hacer una copia directa de CD a CD, siempre que sean sólo de datos, y que las dos unidades, la grabadora y la lectora, sean dispositivos SCSI, ya que con las IDE no funciona muy bien, debido no al programa en sí, sino mas bien por las características de las unidades IDE, ya que no suelen satisfacer las capacidades de carga de las grabadoras. Aun así he llegado a comprobar como unidades del tipo Philips IDE de 32x en adelante funcionaban perfectamente. Lo normal es que no tenga problemas para grabar con este programa siempre y cuando su grabadora sea SCSI, cuando sea IDE o usa la ultima versión 0.96d final o superior o no conseguirá que salga ni un solo CD bien. Burn-ItEste entorno utiliza las últimas versiones de cdrecord, mkisofs y cdda2wav, lo más peculiar sin duda es que esta escrito íntegramente en java; su desarrollo es muy rápido. Puede obtenerlo de http://www.imada.ou.dk/~jews/BurnIT/. CDRCDR son las siglas de Create/Duplicate/Rip (Crear/Duplicar/Extraer). Su utilidad actualmente es más que nada para la preparación de audio que posteriormente va a ser grabado con cdrecord o cdwrite desde la línea de comandos. Provee una interfaz tipo ncurses. Sólo extrae de unidades SCSI. Puede obtenerlo de http://www.burdell.org/cdr.shtml. 6.5 Otros programas y utilidadesHay varias utilidades entre las que tengo que destacar sdir, isovfy, cdinfo y isodetect, que son pequeñas, de consola, pero muy útiles a la hora de comprobar y verificar CDs. Estas pequeñas utilidades se pueden encontrar en el FTP de sunsite ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/ y otras que se pueden encontrar tanto en el paquete de X-CD-Roast (sección X-CD-Roast) como en el de cdrecord ( cdrecord). Por ejemplo, sdir nos puede ayudar a saber el tamaño total de un directorio y sus subdirectorios lo cual resulta muy útil cuando queremos evaluar y calcular el tamaño del CD a copiar al vuelo; isovfy nos sirve para verificar que no hayan errores en una imagen creada en el disco duro; cdinfo nos puede ayudar a comprobar que se han copiado bien los CDs y no sólo eso, este pequeño programa muestra la estructura de un CD en minutos y segundos, nos dice si es arrancable, los sistemas de ficheros que contiene, si lleva pistas de audio o es un vídeo CD, etc; por último, con isodetect podemos ver la etiqueta del volumen de un CD así como los comentarios de los mismos. Descripción de las utilidades:
Anterior Siguiente Indice
Atención: Visite nuestro listado de productos de computadores, Linux y software libre aqui... |