On Tuesday 02 December 2003 13:04, Antonio Castro wrote: > On Mon, 1 Dec 2003, Ramiro Aceves wrote: > > Hola amigos. > > > > Animado por la interesante discusión, instalé afio pero no logro que me > > funcione correctamente para grabar en un CD con cdrecord tal y como dice > > la página del man. Una vez grabado el CD, al tratar de verificarlo con > > afio -r /dev/scd1, funciona bien pero al llegar los últimos archivos da > > error. ?Alguien me puede pasar exactamente el comando en vuestro sistema? > > Yo hacía (sin comprimir): > > > > find . -depth -print0 | afio -oxv0 -b 2048 -s 325000x '!cdrecord -v > > speed=4 dev=0,1,0 -' > > > > Luego, verificaba con > > afio -rv /dev/scd1 > > Si tienes CDs regrabables puede que tengas que hacer unas cuantas > pruebas. parece que en este ejemplo afio es informado de > entregar la información por bloques pero que pasa con el > último bloque ? Si el último bloque no se llena quizas no > lo entregue y naturalmente cdrecord no grabará el último > bloque. Se pueden intentar varias cosas: > > a) Verifica con isoinfo el tamaño tehorico del sistema de ficheros > y comparalos con el número de bytes grabados. El número de bytes > grabados debe ser igual o mayor que el valor entregado por isoinfo. > > b) En lugar de grabar al vuelo grabar primero la imagen en disco y > luego pasarla a CD. > > c) Mirate el man de cdrecord y haz que grabe algunos bytes de más > al final, aunque creo que es eso lo que hace por defecto. > > b) Create un fichero basura suficientemente grande y lo pasas como > último nombre a afio. > > find . -depth -print0 > /tmp/find.out > head --bytes=2048k < /dev/zero > /tmp/head.out > echo /tmp/head.out >> /tmp/find.out > cat /tmp/find.out | afio -oxv0 -b 2048 -s 325000x '!cdrecord ... > > > No sé si es correcto, porque con este "megacomando" cualquiera se > > confunde :-) > > No estoy muy convencido de la parte final del comando. > > He probado con CDRW nuevos y me da el mismo resutado. > > Estupendo probar con CDRW es lo adecuado en estos casos. > > Yo creo que con lo que te cuento seguro que logras hacerlo > funcionar y deberías comprobar que tal se comporta la solución > elegida en multivolumen. Creo que la complicación del comando > merece la pena si logras un buen comportamiento en multivolumen. > > En realidad lo de -b 2048 -s 325000x parece pensado para el > tratamiento de CDs de 650Mbytes no ? > > Tampoco te fies de lo que yo te cuento. Son ideas. Repasa los man > de afio y de cdrecord y asegurate de los tamaños de bloques y cosas > así. O eso o espera a que alguien te de la receta ya terminada. :-) > > > -- > Un saludo > Antonio Castro > > /\ /\ Ciberdroide Informática > \\W// << http://www.ciberdroide.com >> > _|0 0|_ > +-oOOO-(___o___)-OOOo---------------------+ > > | . . . . U U . Antonio Castro Snurmacher | > | . . . . . . . [EMAIL PROTECTED] | > > +()()()---------()()()--------------------+
Vi este articulo y supuse que te puede servi, bueno, me tome mi tiempo para pasarlo. es sobre samba pero tiene la parte de grabacion de Cd que te puede ineteresar. (disculpen errores de tipeo) saludos. andres dv. Articulo Pseudoimpresoras Samba Por Roderick W. Smith Revista Linix Magazine (edicion española) listado 2: definicion de una comprticion grabadora de CD-R [smbcdr] comment = Create a CD-R path = /var/spool/samba printable = Yes max connections = 1 print command = /usr/local/bin/smbcdr %H %s %U /var/spool/samba Listado 3: El script smbcdr tuesta ficheros en CD-Rs #!/bin/sh HomeDir=$1 ArchiveFilename=$2 Username=$3 SharePach=%4 TempPatch=/tmp/cdr/$ArchiveFilename MaxCdrSize=665600 mkdir -p $TempPath cd $TempPath unzip $/SharePach/$ArchiveFilename rm $/SharePach/$ArchiveFilename # Comprobar el tamaño del CD-R CdrSize='du -sk $TempPath | cut -f 1' if [ $CdrSize -lt $MaxCdrSize ] then mkisofs -J -r -o $Homedir/image-$ArchiveFilename.iso \ -log-file /tmp/$ArchiveFilename ./ cdrecord speed=2 dev=4,0 $Homedir/image-$ArchiveFilename.iso cat /tmp/$ArchiveFilename | mail -s "CD-R Creation finished" \ $Username rm $Homedir/image-$ArchiveFilename.iso /tmp/$ArchiveFilename else mail -s "Too many files to burn CD-R ($CdrSize kilobytes)!" \ $Username fi cd .. rm -r $TempPath Articulo de la revista Grabacion de CR-Rs Las grabadoras cd CRs hoy en dia son bastante comunes, pero para nasa universales. Muchos equipos siguen sin teneer estos dipositivos. En una red pequeña, es muy posible que solamente una maquina disponga de uno, pero deseamos que todos los usuarios puedan acceder a el. Una manera de conseguirlo es de utilizar una pseudo-impresora compartida Samba para automatizar el proceso de creacion CD-Rs- En el Listado 2 podemos ver una configuracion de pseudo-impresora compartida Samba que, en conjuncion con el script mostrado en LISTADO ·; CREAN UN CDR a partir de u ficheros almacenados en un archovo zip que proviene del cliente (tal y como ocurria en el Listado 1, el Listado 2 forma parte de un fichero smb.conf mas largo). Añadimos el Listado 2 a nuestro smb.conf y copiemos el Listado 3 a un archivo que guardamos en /usr/bin/smbcdr. Le daremos permiso de ejecucion a este ultimo archivo teclando "chmod a+x /usr/bin/smbcdr". Deberemos re-arrancar Samba para hacer accesible la impresora compartida. Como se puede observar, la seccion de Samba no es my compleja, aunque pasa variables al script que utiliza para tostar el CD (con Samba 2.0x podemos pasarle la variable %P en ver del directorio persona de la comparticion, pero en las versiones 2.2x, %P no funciona en este contexto). La mayoria del trabajo se lleva a cabo en el script smbcdr que se muestra en el Listado 3. Este script hace varias cosas: + Primero establece el nombre del directorio temporal que contendra los ficheros a tostar y establece la variable %MaxCdrSize al maximo tamaño del CD-R en Kilobytes. El Listado 3 supone un CD-R de 650 MB. * El script monta un directorio ara contener los ficheros CD-R descomprime el archivo que recibe del directorio del cliente. El Script tambien elimina el fichero archivo original. * El script calcula el tamaño de los ficheros en el directorio de contenido CD-R y asigna ese calor a la variable $CdrSize. * El script utiliza el tamaño computado de los archivos para determinar si debe o no tostar el CD. Si los ficheros caben en el CD, el Script crea una imagen utilizando mkisofs y a continuacion tosta la imagen en el CD utilizando cdrecord. No hemos de olvidar configurar la instruccion cdrecord para que se adapte a nuestro sistema. Debemos ajustar el valor de la velocidad a algo apropiado para nuestra grabadora y establecer el SCSI ID de la grabadora con el parametro dev. Esta configuracion, o algo muy parecido, deberia funcionar para la mayoria de los sistemas Linux que tienen grabadoras CD-R(W). Sin enbargo, debemos establecer el binario cdrecord a SUID root (escribiendo chmod o+s /usr/bin/cdrecord funciona en la mayoria de los sistemas). Tambien se puede utilizar force user en la definicion de comparticion Samba para establecer el nombre de usuario a alguno que pueda correr cdrecord. Una cosa para tener en cuenta que es muy importante es que el servidro Samba ha de tener una cantidad adecuada de espacio en disco de los directorios criticos. El Listado 2 y 3 almacenan ficheros temporales potencialmente muy grandes en /VAR/spool/samba, /tmp y en el directorio personal del usuario. Se puede cambiar las localizaciones de los directorios a cualquier sitio donde se tenga espacio en el sistema , pero en todo caso se ha de tener sitio suficiente como para almacenar el equivalente a dos CDs enteros de datos. etc...