Erreur quand `tar` a` .zip` sous Linux
Je zippé un répertoire sur mon Mac OSX avec le zip
ligne de commande et -r
option. Je scp
la .zip
pour une exploitation de cluster sous Linux.
Si j'essaie de décompresser le .zip
avec
tar -vxzf foo.zip
sur ma machine, il fonctionne. Mais la même commande ne fonctionne pas sur le cluster. Je reçois le message d'erreur
gzip: stdin has more than one entry--rest ignored
tar: Child returned status 2
tar: Error is not recoverable: exiting now
Comment puis-je résoudre ce problème?
source d'informationauteur Remi.b
Vous devez vous connecter pour publier un commentaire.
La
tar
commande pour la décompression des archives TAR, pas les fichiers zip. Vous devez utiliser leunzip
de commande au lieu detar
:Ou faire un
tar.gz
archive du côté du Mac au lieu d'un fichier zipqui vous pouvez décompresser avec votre
tar
de commande côté Linux.Cette erreur :
Signifie que
tar
essaie de décompresser votre archive zip comme si c'était une archive gzip, cela ne fonctionne pas toujours (voir "Les fichiers créés par zip peut être non compressé par gzip seulement si ils ont un seul membre de comprimé avec la "déflation"méthode" pour plus d'info).Vous devez utiliser
unzip foo.zip
au lieu de décompresser une archive zip.Standard GNU
tar
ne gère pas les.zip
fichiers directement. Je suis surpris MacOSX gère.Le problème est que
tar
sait comment gérergzip
fichiers, qui sont pas Info-Zip (.zip
) format des fichiers. Info-Zip fichiers sont conçus pour gérer à la fois l'archivage et la compression, tandis quetar
ne le fait pas. (La plupart destar
implémentations maintenant filtrer lestar
fichier avec le bon compresseur/décompresseur basé sur les options de ligne de commande.)Utilisation
unzip
sur votre cluster de la place. C'est le programme conçu pour gérer.zip
fichiers. Vous ne devriez pas avoir besointar
à tous.