You are here: Foswiki>Main/Cimec Web>GrabacionDeCDsenLinux (14 Nov 2005, JorgeDElia)Edit Attach

Grabando CD's y DVD's en Linux


# $Id: GrabacionDeCDsenLinux.txt,v 1.9 2005/11/14 12:52:24 JorgeDElia Exp apache $

 COMO GUARDAR DATOS GENERADOS EN LINUX EN UN CD USANDO UNA GRABADORA
       INSTALADA EN UNA MAQUINA CON WINDOWS
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Para  aquellos  que  quieran  guardar  datos en  un  CD  desde  Linux,
grabandolos en una grabadora que  esta en una maquina Windows, como la
que esta en Orion, aca van unos pequenhos hints.

USANDO TAR
==========

Una posibilidad (la mas evidente) es hacer un tar grande con todos los
datos

$ tar cvf MISDATOS.tar MISDATOS

(suponiendo que queremos bajar todo el directorio MISDATOS).  moverlos
a la maquina Windows y  grabarlos como un archivo comun. (Acordarse de
hacer la transferencia con ftp  como `binary'). Esos datos despues los
podes var  en una  Linux montando  el CDROM y  extrayendo o  viendo el
contenido  con  `tar' o  en  una maquina  Windows  con  `WinZip' o  en
cualquier  UNIX  donde se  pueda  montar el  CD  (por  ejemplo en  las
Alpha). .  La desventaja de  esto es que  el acceso bajo Linux  de los
datos a trves del tar es  medio hincha. Seria deseable poder montar el
CD y  verlo como un disco  mas para poder  recorrer directorios, hacer
`find' etc...

COMO IMAGEN DE DISCO
====================

Existe entonces la siguiente posibilidad alternativa: crear una imagen
del CD en un archivo y grabar  este archivo en el CD. Despues se monta
el CD por  ejemplo en /cdrom y se monta el  archivo como un filesystem
en otro lugar, por ejemplo /mnt.  Esto usa una propiedad (que no se si
es  comun en  todos los  Unix)  que es  que podes  montar imagenes  de
filesystems (podria ser  tambien una imagen de un  filesystem ext2 (el
nativo de Linux, o un MSDOS o VFAT)) que residen en archivos.

Los pasos a seguir son:

1./ Crear la imagen del CD con

   $ mkisofs  -r -o  MISDATOS.img  MISDATOS

2./ Copiarlos a la maquina Windows (siempre en binario!!) con ftp o
  similar. 

3./ Hacer el copiado al CD de MISDATOS.img como un archivo estandar. 

4./ Para ver los datos en Linux hay que hacer

   $ mount /cdrom
   $ mount -t iso9660 -o ro,loop=/dev/loop0 MISDATOS.img  /mnt

y ves los datos en /mnt como si fuera un filesystem normal. 

La desventaja de este metodo es que no se puede acceder a los datos
sino es desde una Linux.

Para despues chequear 

COMO IMAGEN DE DISCO EXT2
=========================

Para crear una imagen ext2

1./ Crea el archivo

$ dd if=/dev/zero of="BACKUP.img" bs=1024k count=350 

2./ Da la estructura de filesystem

$ /sbin/mke2fs BACKUP.img 

2./ Monta el fs

$ su -c 'mount -t ext2 -o loop=/dev/loop1 BACKUP.img /mnt'

3./ Copia con tar para preservar permisos estc...

$ cd /mnt
$ tar -cvf - -C /x mstorti -X /x/scratch/mstorti/exclude | tar xvf - # copia 

4./ Guardar un listado de lo que contiene el backup

$ ls -lR /mnt/mstorti/ >BACKUP_ls-lR.txt
$ find /mnt/mstorti/ >BACKUP_find.txt

5./ Desmontar

$ su -c 'umount /mnt'

6./ Copiar tambien este `Linux_Cd_Write_HOWTO.txt'

7./ Para chequear el disco hacer 

$ /sbin/e2fsck -nf /cdrom/BACKUP.img 

Grabacion de DVD's
==================

En este momento (Mon, 28 Jun 2004) se estan consiguiendo DVD's de
4.7GB a u$s 2. La unidad para grabar DVD's cuesta u$s 140, con lo cual
es una opcion muy buena para hacer backup. 

Basicamente los DVD's se graban igual que los CD's, pero el `cdrecord'
que viene por default no graba sobre DVD's. Si lo hacen en `minerva'
basta que usen `/u/mstorti/bin/dvdrecord'. Se crea la imagen del DVD
con `mkisofs', por ejemplo. 

   $ mkisofs -r -o petsc.iso /u/mstorti/PETSC 

y despues se graba (ojo, como root):

# /u/mstorti/bin/dvdrecord -sao -v speed=8 dev=0,0,0 -data petsc.iso 
# /u/mstorti/bin/dvdrecord -sao -v speed=8 dev=/dev/hdd -data petsc.iso 

Hay que usar la opcion '-sao'. 

Detalles de instalacion de cdrecord-ProDVD
==========================================

Hay que bajarse el cdrecord-ProDVD de

ftp://ftp.berlios.de/pub/cdrecord/ProDVD/

Para linux es el `cdrecord-prodvd-2.01b31-i686-pc-linux-gnu'. Yo lo
tengo en `minerva:/u/mstorti/bin_exe'. Es free para uso personal, pero
para usarlo hay que definir una variable de entorno
`CDR_SECURITY'. Eso lo tengo en un script wrapper en
/u/mstorti/bin/dvdrecord.

La pag. web de `cdrecord' es 

http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html

Para instalar las grabadoras
============================

Tanto las grabadoras de CD como DVD deben instalarse `emulando
SCSI'. Es decir hay que poner el comando 

modprobe ide-scsi

en `/etc/rc.local'. Ojo que de esa forma levanta todas las unidades de
CD como `ide-scsi'. A partir de ahi las unidades se ven como `/dev/scd0',
`/dev/scd1' ...

Grabando en multisesion
=======================

Permite ir agregando contenido al CD.

Todas las grabaciones se deben hacer con la opcion -multi. Para la
segunda grabacion y posteriores se debe hacer la imagen de disco en
forma especial, como se explica a continuacion.

Hacer 

  #cdrecord -msinfo dev=0,0,0 

eso tira dos numeritos enteros start,end, por ejemplo 197629,266976

Crear la imagen de disco con
las opciones -M y -C,

  # mkisofs -M 0,0,0 -C start,end -r -o [imagen-de-disco] [directorio]

por ejemplo

  # mkisofs -M 0,0,0 -C 197629,266976 -r -o mydata.img mydata

    * Grabar con la opcion -multi por ejemplo:

  # cdrecord -multi -v speed=8 dev=0,0,0 -data run_new.img 

En estos ejemplos el device scsi es '0,0,0' (como en minerva), si no
cambiarlo por el device apropiado.

Los comandos cdrecord deben hacerse como root, el mkisofs puede
hacerse como user.

Como usar `md5sum' para chequear un CD
======================================

Si queremos verificar que el CD fue grabado correctamente entonces
podemos comparar bit a bit la imagen de disco con la copia, por
ejemplo

   $ diff mstorti.iso /dev/hdd

pero en realidad es mejor usar `md5sum'. El programa `md5sum' genera
una `huella digital' (fingrprint) del archivo. La huella digital es un
numero hexa de 32 digitos:

   [root@minerva backup]# md5sum dalcinl.iso 
   ae1b5af9493ed2b634707a71785c64a6  dalcinl.iso
   [root@minerva backup]# 

Si dos archivos tienen la misma huella digital entonces lo mas
probable es que sean iguales. Obviamente no hay una relacion biunivoca
entre un archivo y su huella digital, pero puede demostrarse que el
algoritmo para encontrar un archivo que de una cierta huella digital
es NP en la longitud de la huella digital, de manera que es muy poco
probable que dos archivos tengan la misma huella digital. Para tomar
la huella digital del CD grabado hay que tomarselo directamente al
device 

    [root@minerva backup]# dd if=/dev/scd0 | md5sum
    6101632+0 records in
    6101632+0 records out
    ae1b5af9493ed2b634707a71785c64a6  -
    [root@minerva backup]# 

Con `cdrecord' he tenido problemas en que al tomar el md5sum de un
archivo da un error y la huella reportada no corresponde con la del
archivo. Ademas las longitud (en sectores) de la imagen y del archivo
leido no son iguales. Sin embargo la huella del CD es correcta si se
fuerza a `dd' a tomar el numero correcto de sectores, con lo cual en
principio la grabacion esta bien. Por otra parte la huella de
distintas grabaciones de la msisma imagen resulta ser igual. De manera
que, yo en general lo que hago es grabar y tomar nota de la huella del
CD (no de la imagen) y del numero de `records' que reporta, como en el
ejemplo previo. 

Con `cdrecord-proDVD' no existe ese problema. La huella del archivo y
la del DVD son exactamente iguales. 

En geronimo no se pueden generar archivos >2GB
========================================================

El RH7.1 de geronimo se rehusa a crear archivos de mas de
2GB. Entonces para poder llevar los archivos a minerva hago lo
siguiente. Mando la salida del tar por stdout a un split

$ tar cvf - -C /u/mstorti/PETSC/RUN_2/  | split -b 1000M - run2

Esto genera "on de fly" archivos `run2aa', `run2ab', etc... de
1GB. Los archivos se llevan a minerva, y ahi se recupera toda la
estructura de directorios.

$ cat run2* | tar xvf -a

Entonces como ahora en minerva se pueden generar archivos de >2GB se
generan las imagenes ISO ahi y se graban. 

Para que las grabaciones sean `compatibles' con Windows
=======================================================

mkisofs' genera normalmente imagenes en formato ISO9660 con extensiones
Rock-Ridge. Esto garantiza nombres largos, e ilimitados niveles de
profundidad en los disrectorios. Sin embargo esos CD si se llevan a
Windows se ven mal, con nombres truncados tipo 8.3 (8 letras para el
nombre y 3 para la extension). Para que se vean bien en Windows hay
que usar la extension Joliet que se obtiene con la bandera `-J' para
`mkisofs':

$ mkisofs -r -J -o mstorti.iso mstorti


Mon Sep 25 18:37:15 ART 2000
Topic revision: r9 - 14 Nov 2005, JorgeDElia
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback