tar.bz2 corrupto.
Horst H. von Brand
vonbrand en inf.utfsm.cl
Sab Ene 24 23:55:10 CLST 2009
César Sepúlveda <kropotkinix en gmail.com> wrote:
> Tengo un problema con un archivo tar.bz2 que esta corrupto, y necesito
> obtener información de este.
Urgh. Unica copia?
[...]
> Hasta el momento estos son los pasos que he realizado.
>
> bzip2recover el cual me genero 10435 archivos bz2, si no estoy equivocado
> bz2 comprime en bloques de 900k por lo cual cada uno de esos archivoz bz2
> debieran corresponder a 900k de mi archivo .tar cierto?
Asi es, AFAIU.
> bueno, luego de eso descomprimÃ, todos esos archivos bz2 lanzando la salida
> hacia un único tar.
OK.
> for i in $(seq 0 9); do bzip2 -dc rec0$i*.tar.bz2 >> home_recuperado.tar ;
> done && for i in $(seq 0 2); do bzip2 -dc rec1$i*.tar.bz2 >>
> home_recuperado.tar ; done
> luego de quitar algunos bz2 que estaban malos, creo que fueron alrededor
> de 4 o 5 la operación se pudo finalizar sin problemas creando un archivo
> tar de 10G aprox.
Tal vez varias iteraciones de '-v' hagan que bzip2(1) escupa suficiente
informacion para reparar esas piezas dan~adas?
El formato de tar(1) es bastante simple: Hay un encabezado para cada
archivo, luego el contenido del archivo (redondeado al siguiente 1/2 KiB).
Si faltan pedazos, pierde el hilo de donde va... y si el pajarito tenia tar
(sin comprimir) por alli, tendras serios problemas...
Detalles utiles en <http://en.wikipedia.org/wiki/Tar_%28file_format%29>.
Un programa alternativo es star, suele ser mas astuto en el manejo de
archivos dan~ados.
Una cosa con la que jugue un tiempo es tarx, pero star generalmente es
mejor opcion. Te envio el tarball actual por el privado.
> el problema es que ahora cuando intento extraer los archivos desde ese
> tar, este no funciona, me extrae unos cuantos archivos (ninguno
> necesario) y luego da error, copio algunas lineas:
> tar vxf home_recuperado.tar
> ...
> ..
> .
> cesar/.mozilla/firefox/q7e43hjp.default/compreg.dat
> cesar/.mozilla/firefox/q7e43hjp.default/urlclassifier3.sqlite
> tar: Skipping to next header
Esto indica que encontro algo raro en el archivo. Probablemente un pedazo
faltante, y perdio el hilo.
Quiza la mejor opcion es reemplazar los pedazos malos por secuencias de 900
KiB de nulos (o espacios, o...)?
> tar: Archive contains obsolescent base-64 headers
> tar: Error exit delayed from previous errors
Esto da la idea de que tomo por encabezado algo que no lo era realmente.
> he buscado en Internet pero no se como hacer para que me extraiga las
> carpetas que realmente me importan (Documents, Desktop) (Suerte que uso
> correo a través de imap.)
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile 2340000 Fax: +56 32 2797513
Más información sobre la lista de distribución Linux