Hablando de tuberÃas, mujeres y traiciones
2008-01-21 13:47:31-06
BSD
Problema
Vamos a suponer que tienes un directorio que te está ocupando mucho espacio y no tienes lo suficiente para poder crear el archivo tar, comprimirlo con el gzip, crear la imágen y quemarlo.
Solución
Con este “sencillo” comando te libras del asunto:
[$] tar cf - path/to/files | \
gzip --best --to-stdout - | \
mkisofs -J -joliet-long -r -root / -stream-media-size 333000 -udf -V "Nombre del disco" - | \
cdrecord -v -eject speed=0 dev=/dev/cdburner tsize=333000s -
gzip --best --to-stdout - | \
mkisofs -J -joliet-long -r -root / -stream-media-size 333000 -udf -V "Nombre del disco" - | \
cdrecord -v -eject speed=0 dev=/dev/cdburner tsize=333000s -
Explicación
Los caracteres “\” forman parte del shell y permite separar el comando por líneas para su mejor comprensión.
tar
Este programa se encargará de agrupar todos los archivos del directorio.| Opción |
Descripción |
| c |
Crea un nuevo archivo. |
| f - |
Se envía a la sálida estándar, stdout. |
| path/to/files |
La ruta de acceso de los archivos. |
| | |
La tubería. El enlace hacia el otro programa. |
gzip
Vamos a comprimir cada uno de los archivos con el máximo nivel de compresión, sino estás interesado en este nivel, puedes ocupar otros niveles variando desde --fast (nivel -0) hasta el nivel máximo --best (nivel -9).| Opción |
Descripción |
| --best |
Máximo nivel de compresión. |
| --to-stdout |
Escribimos el resultado a la salida estándar. |
| - |
Leemos desde la entrada estándar, stdin. |
| | |
Redigirimos todo hacia el otro programa. |
mkisofs
Vamos a generar la imágen del disco.
No es necesario especificar el archivo de salida (stdout) ya que cuando se omite la opción “-o filename”, se manda la información automáticante hacia éste.
| Opción |
Descripción |
| -J |
Permite usar el disco en Windows. |
| -joliet-long |
Permite los nombres largos en Windows. |
| -r |
Permite los nombres largos en Unix (*BSD, GNU/Linux, etc.) |
| -root / |
Reubica los archivos en el directorio raiz (/) del CD. |
| -stream-media-size 333000 |
Esta opción permite el encadenamiento, sin éste no se podría generar la imágen del CD. |
| -udf |
Usa esta opción si vas a quemar un DVD de datos. |
| -V "Nombre del disco" |
El nombre que aparece cuando se monta el disco |
| - |
Escribimos todo a la salida estándar, stdout. |
| | |
Mandamos todo hacia el siguiente comando. |
cdrecord
Finalmente llegamos al último comando.
Para que sepas en dónde está mappeado el quemador en tu sistema, sólo basta con que ejecutes:
[$] cdrecord -scanbus
En algunos sistemas, sobre todo en los *BSD's, es posible que este comando no funcione. En ese caso te aconsejo que cheques las notas de la instalación vía pkg_info. Por ejemplo en NetBSD y en FreeBSD podrías utilizar el siguiente comando:
[$] pkg_info | grep cdrtools | sed 's/ .*//' | xargs pkg_info -D
en OpenBSD sólo cambia la opción “-D” por la opción “-M” del último comando.
En GNU/Linux puedes checar el manual de cdrecord, mkisofs, genisoimage (el equivalente de mkisofs) o de wodim (el equivalente de cdrecord).
| Opción |
Descripción |
| -v |
Indicamos que nos diga qué todo esta pasando (verbose mode). |
| -eject |
Que “escupa” el disco cuando acabe. |
| speed=0 |
Escogemos la velocida más lenta posible para evitar las insuficiencias de bufer. |
| dev=/dev/cdburner |
El resultado del comando “cdrecord -scanbus”. |
| tsize=333000s |
El “encadenamiento” de cdrecord con mkisofs. |
| - |
Leemos los datos desde la entrada estándar, stdin. |
Y listo. Después de un rato ya tenemos un nuevo CD/DVD con ese directorio que tanto queremos respaldar (cof cof pr0n cof cof).
Observaciones generales
Como habrás notado, en toda la serie de comandos nunca dimos un nombre de archivo, te preguntarás “¿y cómo diablos se guarda el directorio en la imágen del disco?”.
La respuesta nos la da el manual de mkisofs/genisoimage:
“-stream-media-size #
If this option has been specified, mkisofs reads from stdin and creates a file with the name STREAM.IMG.”
En otras palabras, cuando montes el CD/DVD lo único que verás en él es un archivo llamado “STREAM.IMG” el cual es un archivo como si fuera “STREAM.tar.gz” y lo puedes descomprimir de la siguiente manera:
[$] tar vxzf /mnt/cdrom/STREAM.IMG
en el directorio donde quieres que se descomprima.
Es importante que tengas el cuidado de no crear un proceso que pueda afectar al proceso entero del agrupamiento/genzippado/generado la imágen/quemado de la imágen, ya que si el quemador se llegara a quedar sin datos en el búfer ¡adiós Nicanor con tu disco!
Es por eso que elegimos la velocidad más lenta para quemar el disco.
Todo este procedimiento puede ser reemplazado por el K3B, pero incluso a veces éste falla y ¡mocos! adiós disco.
Suerte y ¡¡¡shut up and hack!!!
Permalink: http://www.mononeurona.org/users/entry/asarch/1072
Comentblogs:1.-
vendaval wrote:
hombre eso se llama magia, magaso!!!
aunque te soy sincero, yo uso Nero, por que me lo regalaron cuando compre el quemador, pero trtare de hacerlo a tu estilo, hacerlo mio y mejorarlo. Saludos
2008-01-22 10:40:33-06
hombre eso se llama magia, magaso!!!
aunque te soy sincero, yo uso Nero, por que me lo regalaron cuando compre el quemador, pero trtare de hacerlo a tu estilo, hacerlo mio y mejorarlo. Saludos
2008-01-22 10:40:33-06
2.-
saidjose wrote:
Todo esto lo deberias de juntar y hacer un manual como moverse en consola desde NetBSD jejejejejejejeje
2008-01-23 13:23:29-06
Todo esto lo deberias de juntar y hacer un manual como moverse en consola desde NetBSD jejejejejejejeje
2008-01-23 13:23:29-06










