ejemplos descomprimir comando archivos tar autotools autoconf automake

descomprimir - Autotools-tar Esto no parece un archivo tar



descomprimir tar (2)

Después de ejecutar make distcheck recibo el mensaje de que he creado el paquete correctamente y que estoy listo para su distribución. Si tar -zxvf hello-0.2.tar.gz tar.gz con tar -zxvf hello-0.2.tar.gz se extrae con éxito todo su contenido. Sin embargo, cuando intento extraerlos en diferentes máquinas obtengo:

tar: This does not look like a tar archive tar: Skipping to next header tar: Exiting with failure status due to previous errors

Lo raro es que funcionaba antes.

En la máquina que estoy tratando de construir el paquete, actualicé mi automake 1.10.1, autoconf 2.61, and tar 1.20 to automake 1.11.1, autoconf 2.65, and tar 1.23 y aún el mismo problema.

¿Alguna idea de cuál podría ser el problema?


El problema no está en la máquina de construcción; El problema está en las máquinas de destino.

No todas las versiones de tar reconocen automáticamente la descompresión que se aplica a un archivo tar comprimido. Dado que gunzip seguido de tar funciona, entonces el tar en su máquina objetivo es uno de esos. Las versiones de tar en los sistemas Unix convencionales (AIX, HP-UX, Solaris) no reconocen los archivos tar comprimidos automáticamente. Los de Linux y MacOS X lo hacen.

Tenga en cuenta que puede utilizar:

gzip -dc hello-0.2.tar.gz | tar -xf -

para evitar crear el archivo sin comprimir intermedio.


En realidad, esto podría suceder cuando el servidor del que descarga aplica otra ronda de GZip y el cliente que usó para descargar el archivo no lee / respeta el encabezado de Content-Encoding HTTP y almacena la carga útil HTTP tal como estaba en el cable.

Aunque el archivo parece tener solo la extensión .tar.gz , en realidad es .tar.gz.gz . después de ejecutar el gunzip una vez que el archivo obtiene la extensión .tar solo, pero esta vez ejecutando el comando tar xf hello-0.2.tar reconoce el formato GZip e implícitamente ejecuta el archivo a través de gunzip una vez más antes de extraerlo.

Puede verificar esto ejecutando head hello-02.tar.gz y head hello-02.tar . GZip es un formato muy binario, mientras que tar es bastante legible para los humanos. Si el archivo .tar aparece como "demasiado binario", tiene un archivo codificado en sus manos.