Tar multicinta (era Re: popen2)

Oscar Merchan o.merchan en terra.es
Mar Mar 9 09:40:24 CET 2004


On Tue, 09 Mar 2004 09:27:10 +0100
Chema Cortes <ch3m4 en ch3m4.org> wrote:

Buenas.

> joolivar en ing.uchile.cl escribió:
> 
> > #!/usr/bin/env python
> > import popen2
> > cmd='tar cfM /dev/fd0  postgresql-server-7.3.2-3.i386.rpm'
> > po, pi, pe = popen2.popen3('cmd')
> > pe.readline()
> > 
> > por la salida de errores obtengo la petición de cambio de cinta pero 
> > el scrip no es capaz de  entregar el valor ya que se queda esperando 
> > indefinidamente  alguna idea...?
> 
> Cuando sea, debes envia a la entrada ('pi') la pulsación de tecla que te 
> pide para continuar, por ejemplo:
> 
>    pi.write('y\n')
> 
> 
> ¿Has probado el módulo 'tarfile'?
> En http://www.gustaebel.de/lars/pytar/ puedes ver un uso avanzado del 
> tarfile.
> 

Esta contestacion va para Chema, y para quien le interese. 
Hace unos dias escribi en la lista que tenia un problema de perdida de archivos con el modulo tarfile, con esto no estoy desanimando a Joolivar a que no lo utilice ni mucho menos, es mas se lo recomiendo ya que te da un mayor control sobre el tar, saber cuando terminara, etc ... ... ...
Pues bien, despues de varios dias haciendo pruebas, enviando correos a la lista de python y al creador del tarfile, al final supe lo que pasaba. El modulo tarfile de python, pierde los enlaces duros que hallamos comprimido en un archivo, me esplico, en mi caso comprimi el direcorio /usr/bin/ a modo de copia de seguridad, junto a mas directorios. Luego me hice un programita con barra de progreso y todo, y cuando me funcionaba todo perfectamente, me di cuenta que me faltaban archivos. Pues despues de varios dias, ya pude ver lo que era, los enlaces duros, el tarfile los lee y te los puede mostrar por la salida standar pero no te lo escribe en el HD.

Aqui teneis la respues del creador del modulo tarfile que me dio anoche cuando ya supe el problema .-

[Oscar Merchan]
> I have done everything what you have said to me, and i can see the problem.
>
> The problem gives it when I decompress hard link.

Yes, that has been a known issue for a few weeks. I have uploaded a fixed 
version to the webpage today that should work for you. You can download it 
at:

http://www.gustaebel.de/lars/tarfile/

If you're using Python 2.3, remember to put /usr/lib/python2.3/site-packages 
before /usr/lib/python2.3 in sys.path so the fixed version will be imported.

Regards,


Espero que esta informacion os sirva, yo voy a probarlo ahora mismo en cuanto le de al boton de enviar el correo :-D.

Saludos, Oscar Merchan.




Más información sobre la lista de distribución Python-es