Para ilustrar el punto: descargué la biblioteca LEDA del sitio web de la compañía . Usando tar -xzf en él falla:
$ tar -xzf LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar.gz
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
Sin embargo, gunzip seguido de tar -xf funciona bien:
$ gunzip LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar.gz
$ tar -xf LEDA-6.3-free-fedora-core-8-64-g++-4.1.2-mt.tar
# no error
¿Alguien puede decirme por qué podría ser esto? Me gustaría que el tarcomando estándar funcione todo el tiempo.

tarque no implementa -zgunzip < archive.tar.gz | tar -xdebería funcionar en todas partes.tarno soporta gunzip de descompresión, puede hacer lo siguiente en su lugar:gunzip -c $file | tar -x. Es común envolver eso en una función de shell.tar xzfda un error, en Debian GNU / Linux (que por supuesto usa gnutar). Impar.Respuestas:
Lo que parece haber sucedido es que han comprimido dos veces el archivo.
Si ejecuta
filesu archivo gunzip'd, encontrará que todavía es un archivo gzip. Y si le cambia el nombre para que tenga .gz nuevamente, puede volver a comprimirlo.Parece que recientemente gnu tar agregará automáticamente la
-zopción, siempre que la entrada sea un archivo. Entonces, es por eso que funciona sin la-zopción después de que ya lo haya ejecutadogunzipuna vez, tar lo agregó automáticamente.Este comportamiento está documentado, desde la página de información:
Eso es de §8.1.1 "Creación y lectura de archivos comprimidos".
fuente