Para ilustrar o ponto: baixei a biblioteca LEDA do site da empresa . O uso do tar -xzf nele falha:
$ 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
No entanto, gunzip seguido por tar -xf funciona perfeitamente:
$ 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
Alguém pode me dizer por que isso poderia ser? - Eu gostaria que o tar
comando padrão funcionasse o tempo todo.
gunzip < archive.tar.gz | tar -x
deve funcionar em qualquer lugar.
tar
não suporta gunzip descompressão, você pode fazer o seguinte em vez disso: gunzip -c $file | tar -x
. É comum agrupar isso em uma função shell.
tar xzf
dá um erro, no Debian GNU / Linux (que obviamente usa gnutar). Ímpar.
tar
que não implementa -z