Tar corrupto (carpeta resultante más pequeña que el archivo empaquetado)

Tar corrupto (carpeta resultante más pequeña que el archivo empaquetado)

Tengo un problema con un tarball creado en una versión del servidor SuSe 10.3.

El archivo .tar tiene un tamaño de 6,5 GB, pero si lo descomprimo en Ubuntu 9.10, la carpeta resultante solo tiene un tamaño de 1,5 GB.

Comandos utilizados: tar cvfpara empacar, tar xvfpara desempacar.

Quizás alguien sepa cómo se puede solucionar esto, sería genial.

Salud.

Respuesta1

Si tiene enlaces simbólicos o enlaces físicos en el directorio, es posible que tar agregue cada uno como un archivo separado. Cuando luego lo descomprime en un sistema de archivos Linux, restablecerá los enlaces y luego todo ocupará menos espacio.

Tar no sirve para comprimir, solo para crear un archivo que contenga varios archivos. Es por eso que normalmente lo encuentras canalizado a través de gzip o bzip.

Respuesta2

es posible que obtenga mejores resultados con cpio, es mucho más adecuado para copias de seguridad más grandes y puede programarse para manejar enlaces simbólicos y archivos especiales correctamente.

Respuesta3

Si tiene muchos archivos pequeños, puede encontrarse con bloqueos y sobrecarga de directorio en tar. La información importante es qué tan grande era el directorio de origen. tar puede haber comprimido el espacio vacío en los archivos al no asignarles bloques. Pruebe la --apparent-sizeopción de du.

Podría intentar comparar la lista de archivos generados con tar -tflos archivos extraídos. Extraiga con tar -xfpara ver si recibe algún error al extraer. Intente recrear una copia del tar para ver su tamaño.

Respuesta4

Yo sugeriría intentarpaz. Al menos así se llama en CentOS. IIRC, puede manejar archivos TAR corruptos omitiendo los miembros tar no válidos. De lo contrario te sugiero que experimentes con elarchivo tarmódulo de la biblioteca estándar de Python y haga esto mediante programación. Yo había hecho algo así hace unos años.

información relacionada