1 votes

tar piped to curl : Cela ne ressemble pas à une archive tar

curl -L http://download.transmissionbt.com/files/transmission-2.80.tar.xz -s -o - | tar -xf -

L'erreur :

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

Cependant, lorsque je fais cela, il peut extraire l'archive :

curl -LO http://download.transmissionbt.com/files/transmission-2.80.tar.xz
tar xf transmission-2.80.tar.xz

Pourquoi le tuyau n'a pas fonctionné ?

6voto

Dan D. Points 5666

Je pense que vous avez besoin tar 's -J dans votre pipe, par exemple | tar -xJf -

El -J L'option indique tar à utiliser xz compression.

Je pense que la raison pour laquelle tar xf transmission-2.80.tar.xz fonctionne sans -J est que l'option est déduite par tar en fonction de l'extension du fichier.

4voto

Le pipe n'a pas fonctionné car un flux binaire ne se termine pas par une extension de fichier reconnue. Dans ce cas particulier, le flux binaire a été compressé avec LZMA. Une archive tar n'est pas la même chose que des données compressées avec LZMA. C'est exactement ce que tar vous a dit.

Si vous lui faites savoir avec quel type de compression (options J, j, z) une archive tar a été créée, il décompressera d'abord en utilisant cet algorithme et reconnaîtra le flux de données décompressé comme une archive tar.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X