Existe-t-il d'autres options pour décompresser un fichier dans Ubuntu en plus de «décompresser»? [fermé]


11

Mon administrateur système est inaccessible en ce moment, et j'ai un fichier compressé sur le serveur que je voudrais décompresser ... cependant, nous n'avons actuellement pas de zip et de décompression installé, et je n'ai pas d'accès root pour les installer. ..

Suis-je complètement à court d'options? Y a-t-il d'autres choses qui peuvent dézipper ce fichier?


Le tar n'est-il pas installé? tar -x
spuder

vient d'essayer tar -x file.zip et il semble faire quelque chose ...
johnnietheblack

@spuder, vous devriez laisser une réponse au cas où cela fonctionnerait, et je vous voterai positivement
johnnietheblack

Réponses:


10

Je n'ai pas essayé cela, mais il y a un zipfilemodule dans la bibliothèque standard de Python depuis la version 1.6, et depuis la version 2.6 a une extractallméthode

Vous devriez pouvoir faire quelque chose comme:

  1. Créez un fichier avec le contenu suivant (modifiez-le pour l'adapter à votre cas d'utilisation).
  2. Enregistrez le fichier sous "unzipfile.py"
  3. Exécuter avec python unzipfile.py

Et ça va extraire test.zipà /home/user/directory.

import zipfile

with zipfile.ZipFile('test.zip', "r") as z:
  z.extractall("/home/user/directory")

Source: https://stackoverflow.com/a/9432315/167299

Sinon, BusyBox contient un "module" de décompression, et si vous pouviez télécharger et exécuter la BusyBox liée de manière statique, alors vous pourriez l'utiliser pour décompresser des choses.


j'ai essayé la première partie de ceci et j'ai obtenu: Le programme 'import' peut être trouvé dans les paquets suivants: * imagemagick * graphicsmagick-imagemagick-compat - btw ... je ne vous ai pas
downvote

Oh. Vous savez que vous devez l'exécuter via Python?
Tom O'Connor

1
SENSATIONNEL. on dirait que ça a fonctionné .... J'ai trébuché avec succès en mode interactif!
johnnietheblack

2
Bienvenue dans Python. C'est génial.
Tom O'Connor

2
Vous pouvez maintenant simplement appeler le module directement à partir de la ligne de commande python -m zipfile -e monty.zip target-dir/(voir docs.python.org/2/library/zipfile.html#command-line-interface )
Peter Gibson

11

Si vous avez javainstallé, la jarcommande peut décompresser un fichier compressé:

jar xvf file.zip 

Notez que vous pouvez installer java sans accès root: http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html


1
Aujourd'hui j'ai appris.
Tom O'Connor

Le programme 'jar' peut être trouvé dans les packages suivants: * default-jdk * fastjar * gcj-4.6-jdk * openjdk-6-jdk * gcj-4.5-jdk * openjdk-7-jdk Demandez à votre administrateur d'installer l'un des les :(
johnnietheblack

1
Voir ma mise à jour de réponse.
jlliagre

Je suis un peu tenté d'installer quoi que ce soit sur le serveur, par crainte de la colère de mon administrateur système, mais j'essaierai certainement cela si besoin est.
johnnietheblack

2

BSD / Mac OSX

L'utilitaire tar fourni avec les dérivés Mac et BSD prend en charge l'extraction des archives zip à partir de la commande tar

tar -xvf foo.zip

tar --version
bsdtar 2.8.3 - libarchive 2.8.3

Debian / RHEL

L'archive tar fournie avec Ubuntu et d'autres ne prend pas en charge l'extraction de fichiers zip. La meilleure option sera de scp le fichier sur une machine avec zip installé.

tar -xvf foo.zip
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

Test de fumée

echo "the quick brown fox jumped over the lazy dog" > bar.txt
zip -r bar.zip bar.txt
rm bar.txt
tar -xvf bar.txt
cat bar.txt
the quick brown fox jumped over the lazy dog

Mise à jour

Réécriture de la réponse pour clarifier que tar -xvf ne fonctionne que sur les OS bsd. Bien que ce soit une bonne information, cela ne fonctionnera pas dans ce scénario après tout.


que fait -zxvf?
johnnietheblack

quand j'essaye, j'obtiens tar: cela ne ressemble pas à une archive tar tar: sauter à l'en-tête suivant ... cela signifie-t-il qu'il a échoué ou qu'il continue?
johnnietheblack

tarla capacité de traiter les fichiers zip serait une extension que Ubuntu tar (ie GNU tar) ne semble pas fournir. -zest pour les fichiers compressés, pas ceux compressés (sauf s'il s'agit d'une extension très récente).
jlliagre

cela signifie-t-il que si je télécharge un gzip, cela fonctionnerait?
johnnietheblack

Ce sera le cas, mais ce n'est pas votre question ;-)
jlliagre

2

Je ne crois pas qu'il existe d'autres façons de décompresser le fichier sur un système sans unzip, mais vous pouvez envoyer le fichier vers un autre système Linux (avec décompression installée ou accès root disponible), décompressez le fichier là-bas et - si nécessaire - envoyez le décompressé fichier vers le serveur d'origine.

La commande pour envoyer un fichier d'un serveur à un autre est scp. La syntaxe pour envoyer le fichier est:

scp <filename> <username>@<otherhostname>:<portnumber><fullpathtolocation>
e.g.: scp file.zip  user@server.example.com:2222/home/user/ 

J'espère que cela t'aides!


0

Copiez le fichier sur une autre machine, décompressez et recopiez.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.