L'extraction d'un fichier tar.gz retourne, "Cela ne ressemble pas à une archive tar."

J'ai un fichier tar.gz et je veux l'extraire à l'aide du terminal. J'ai utilisé les commandes suivantes: tar tvzf ldtp_3.5.0.orig.tar.gz et tar -xvzf ldtp_3.5.0.orig.tar.gz . Cependant, j'ai le même résultat pour les deux fichiers:

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

La sortie de la commande de fichier montre son fichier gzip:

 $ file ldtp_3.5.0.orig.tar.gz ldtp_3.5.0.orig.tar.gz: gzip compressed data, from Unix 

Je peux l'extraire en utilisant le bouton droit de la souris -> Extraire mais je veux le faire en utilisant le terminal. Quelqu'un peut-il me dire comment faire cela?

En regardant l'erreur que vous voyez associée au fait que vous pouvez effectivement la décompresser, le fichier est une archive TAR / Gzip authentique, mais peut-être pas un TAR immédiat est créé après le Gzip.

Autrement dit, si vous l'avez téléchargé à partir d'un serveur Web, parfois, la compression Gzip est appliquée au contenu Web sur le serveur pour accélérer le téléchargement du contenu. Mais s'il n'est pas correctement configuré sur le serveur pour ignorer le contenu déjà compressé tel que celui-ci, il peut par inadvertance double-fichiers Gzip.

Dans cet esprit, je verrais si simplement un-Gzip il de la ligne de commande pour voir ce qui se passe. Utilisez une commande comme ceci:

 gzip -d ldtp_3.5.0.orig.tar.gz 

Et voir quel est le fichier résultant. J'ai un sentiment drôle après avoir exécuté cette commande, vous ne verrez pas ldtp_3.5.0.orig.tar dans le répertoire, mais plutôt un fichier nommé source- ldtp_3.5.0.orig.tar.gz – mais peut-être que la modification a changé ? Si c'est le cas, il est vraiment double-gzipé. Donc, à ce moment-là, après que l'un-Gzip initial – vous pouvez exécuter la commande tar vous avez comme ceci:

 tar -xvzf ldtp_3.5.0.orig.tar.gz 

Et il devrait maintenant décompresser correctement l'archive TAR complète.

Une autre façon de faire quelque chose de similaire à ce processus en deux étapes est de canaliser la sortie de gzip à tar comme ceci:

 gzip -dc ldtp_3.5.0.orig.tar.gz | tar -xvzf - 

Le c dans le gzip ainsi que le - à la fin de la commande est la clé:

  • L'option c pour gzip indique à gzip de décompresser sur le flux de sortie standard.
  • Le - à la fin de la commande tar signifie "utiliser l'entrée standard". Ainsi couplé avec le -c dans gzip , le tuyau prend ensuite le flux de sortie standard qui lui est transmis par le biais de gzip et connectez-le à l'entrée standard dans le tar .