• Domingo 22 de Diciembre de 2024, 17:17

Autor Tema:  Desempolvando Un Poco Esta Seccion. Grabando Cds  (Leído 1241 veces)

xcx

  • Miembro MUY activo
  • ***
  • Mensajes: 175
  • Nacionalidad: cl
    • Ver Perfil
    • Fotos y captura
Desempolvando Un Poco Esta Seccion. Grabando Cds
« en: Jueves 14 de Julio de 2005, 19:04 »
0
Eso es muchachos... para desempolvar un poco este foro.. el tema de hoy: grabando cds comprimidos bajo linux.
No parece ser muy conocido el hecho de que se pueden crear CDs comprimidos.

Son CDs normales formato ISO9660 + Rock Ridge, pero con una
pequeña extensión, Zisofs. El resultado es un CD con una capacidad de
aproximadamente un giga (dependiendo de la compresibilidad de los
archivos), y que el kernel permite montar y leer tal cual, con las mismas
herramientas que usamos para montar y leer cualquier CD, pero en Linux.

CDs formato ISO9660: son legibles en cualquier sistema operativo.
CDs ...Joliet: con extensiones para Windows.
CDs ...RockRidge: con extensiones para Linux o Unix (permisos, propietarios, etc)
CDs ...HFS: Los mismo, para los Mac.

(Más: en "man mkisofs")

Requisitos:

 - Programa zisofs y un mkisofs parcheado (SuSE lo hace desde la version 8.0 u 8.1).
 - kernel 2.4.x con soporte zisofs (los de SuSE lo tienen desde la versión 7.3 o por ahí).

Los CDs comprimidos usan una extensión de RockRidge, que no es estandard:
unicamente se pueden usar bien en Linux, a partir del kernel 2.4.14. En windows son legibles, pero los archivos hay que descomprimirlos manualmente. En linux, si el kernel se compiló con soporte zisofs (todos los kernels de SuSE lo traen desde la versión 8 o por ahí, pero incluso en la 7.3 se puede usar) estos CDs se pueden usar de forma transparente, sin que nos demos cuenta.

La ventaja es obvia: guardamos más archivos en un CD. Comparado con un
tar.gz, es más sólido (un error de escritura en un tgz puede inlutilizar todo el archivo), y es más rápido de usar, puesto que no hay que descomprimir el archivo: simplemente se monta el CD y se leen, copian, exploran, etc, los archivos con las herramientas que queramos: consola, midnight comander, konkeror, mozilla... Y como es formato RockRidge, los archivos y directorios mantienen la información de permisos original.

¿Inconvenientes? Los hay. El principal es que es tedioso de crear: mientras que la lectura es transparente, la generación no lo es. Además, requiere tener bastante espacio libre en disco, como giga y medio por cada CD (El doble de tamaño que lo que ocupe cada CD). Se hace en tres pasos - los dos primeros es necesario hacerlos en consola:

 1) Crear una copia comprimida del arbol de directorios y archivos que queramos guardar; si queremos mantener la información de permisos, propietarios, y fechas, no es necesario hacerlo como root:
Código: Text
  1.  
  2. $ mkzftree /arbol_original /arbol_comprimido
  3.  
  4.  

Donde "/arbol_comprimido" no debe ni existir previamente, si no el comando dará error y no iniciará. El comando "mkzftree" tiene algunas opciones posibles, pero yo lo uso así. Por mencionar alguna, con "--parallelism 3" ejecuta tres procesos simultaneos, para aquellos afortunados con varios procesadores.

Podemos generar varios directorios comprimidos para preparar nuestro
backup: /backup/cmp/etc, /backup/cmp/home, /backup/cmp/usr/local... etc,
los que quieran.

Se puede observar que los archivos creados son idénticos a los originales, pero más pequeños, e ilegibles: están comprimidos.

 1.5) Agrupar nuestros directorios en bloques de tamaño aproximado de 700 megas (un poco menos), lo que quepa en un CD cada grupo. Yo suelo jugar con mc (midnight comander) para conseguirlo. Al final, acabo con varios directorios: /backup/cmp-1, /backup/cmp-2, /backup/cmp-3... cada uno del tamaño adecuado.

 2) Generar la imagen ISO para quemar el CD. El comando básico es:
Código: Text
  1.  
  2. $ mkisofs -z -R -o cd.iso /arbol_comprimido
  3.  
  4.  

La "-R" es por RockRidge, y la "-z" por zisofs - si se olvidais de eso, el CD no será legible.

 2.5) Una vez generada la imagen, la pueden probar:
Código: Text
  1.  
  2. # mount -t iso9660 -o loop cd.iso /mnt
  3.  
  4.  

y entonces comprobar que "/mnt" contiene exactamente lo que deseaban tener. Finalizar con "umount /mnt"

 3) Por último, grabar la imagen - con el programa que quieran, ya podemos abandonar la consola. Yo uso el propio cdrecord pero podrían usar xcdroast para ello.

¡Y ya está! Podeis leer el CD resultante montándolo como de costumbre de hacer: "mount /cdrom", por ejemplo.

Deben borrar los archivos intermedios: el arbol comprimido, y la imagen iso.
¿Y los DVDs? de la misma forma.

Espero que les sirva.. chiabela.