Gibt es neben "Entpacken" noch andere Optionen zum Entpacken einer Datei in Ubuntu? [geschlossen]

11

Mein Systemadministrator ist momentan nicht erreichbar und ich habe eine komprimierte Datei auf dem Server, die ich entpacken möchte. Derzeit sind jedoch keine komprimierten und entpackten Dateien installiert, und ich habe keinen Root-Zugriff, um sie zu installieren. ..

Habe ich keine Optionen mehr? Gibt es andere Dinge, die diese Datei entpacken können?

johnnietheblack
quelle
Ist kein Teer installiert? tar -x
Spuder
habe gerade tar -x file.zip ausprobiert und es scheint etwas zu tun ...
johnnietheblack
@spuder Sie sollten eine Antwort hinterlassen, falls dies funktioniert, und ich werde Sie
johnnietheblack

Antworten:

9

Ich habe dies nicht ausprobiert, aber es gibt ein zipfileModul in Pythons Standardbibliothek seit Version 1.6 und seit Version 2.6 eine extractallMethode hat

Sie sollten in der Lage sein, etwas zu tun wie:

  1. Erstellen Sie eine Datei mit den folgenden Inhalten (bearbeiten Sie sie entsprechend Ihrem Anwendungsfall).
  2. Speichern Sie die Datei als "unzipfile.py"
  3. Führen Sie mit python unzipfile.py aus

Und es wird extrahieren test.zipzu /home/user/directory.

import zipfile

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

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

Alternativ enthält BusyBox ein "Modul" zum Entpacken. Wenn Sie die statisch verknüpfte BusyBox herunterladen und ausführen können, können Sie damit Dinge entpacken.

Tom O'Connor
quelle
Ich habe den ersten Teil davon ausprobiert und bekam: Das Programm 'Import' ist in den folgenden Paketen zu finden: * imagemagick * graphicsmagick-imagemagick-kompatibel - übrigens ... ich habe dich nicht herabgestimmt
johnnietheblack
Oh. Sie wissen, dass Sie es über Python ausführen müssen?
Tom O'Connor
1
BEEINDRUCKEND. sieht aus wie es funktioniert hat .... Ich bin im interaktiven Modus erfolgreich durchgestolpert!
Johnnietheblack
2
Willkommen bei Python. Es ist toll.
Tom O'Connor
2
Sie können das Modul jetzt einfach direkt über die Befehlszeile aufrufenpython -m zipfile -e monty.zip target-dir/ (siehe docs.python.org/2/library/zipfile.html#command-line-interface )
Peter Gibson
11

Wenn Sie javainstalliert haben, kann der jarBefehl eine komprimierte Datei entpacken:

jar xvf file.zip 

Beachten Sie, dass Sie Java ohne Root-Zugriff installieren können: http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

jlliagre
quelle
1
Heute habe ich gelernt.
Tom O'Connor
Das Programm 'jar' befindet sich in den folgenden Paketen: * default-jdk * fastjar * gcj-4.6-jdk * openjdk-6-jdk * gcj-4.5-jdk * openjdk-7-jdk Bitten Sie Ihren Administrator, eines der Pakete zu installieren sie :(
Johnnietheblack
1
Siehe mein Antwort-Update.
Jlliagre
Ich habe ein wenig Angst, irgendetwas auf dem Server zu installieren, aus Angst vor dem Zorn meines Systemadministrators, aber ich werde es auf jeden Fall versuchen, wenn es sein muss.
Johnnietheblack
2

BSD / Mac OSX

Das mit Mac- und BSD-Derivaten gelieferte Dienstprogramm tar unterstützt das Extrahieren von Zip-Archiven aus dem Befehl tar

tar -xvf foo.zip

tar --version
bsdtar 2.8.3 - libarchive 2.8.3

Debian / RHEL

Das mit Ubuntu und anderen gelieferte Tar-Archiv unterstützt das Extrahieren von Zip-Dateien nicht. Die beste Option ist, die Datei auf einen Computer mit installierter Zip-Datei zu übertragen.

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

Rauchtest

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

Aktualisieren

Die Antwort wurde neu geschrieben, um zu verdeutlichen, dass tar -xvf nur auf bsd-Betriebssystemen funktioniert. Obwohl es sich um gute Informationen handelt, funktioniert es in diesem Szenario doch nicht.

Spuder
quelle
Was macht der -zxvf?
Johnnietheblack
Wenn ich das versuche, bekomme ich tar: Dies sieht nicht aus wie ein Teerarchiv tar: Zum nächsten Header springen ... bedeutet das, dass es fehlgeschlagen ist oder immer noch läuft?
Johnnietheblack
tarDie Fähigkeit, Zip-Dateien zu verarbeiten, wäre eine Erweiterung, die Ubuntu tar (dh GNU tar) anscheinend nicht bietet. -zist für komprimierte Dateien, nicht für komprimierte Dateien (es sei denn, es handelt sich um eine sehr aktuelle Erweiterung).
Jlliagre
Bedeutet das, wenn ich ein gzip hochlade, würde es funktionieren?
Johnnietheblack
Es wird, aber das ist nicht deine Frage ;-)
Jlliagre
2

Ich glaube nicht, dass es andere Möglichkeiten gibt, die Datei auf einem System ohne zu entpacken unzip, aber Sie könnten die Datei an ein anderes Linux-System senden (mit installiertem Entpacken oder verfügbarem Root-Zugriff), die Datei dort entpacken und - falls erforderlich - die entpackte Datei senden Datei zurück zum ursprünglichen Server.

Der Befehl zum Senden einer Datei von einem Server an einen anderen lautet scp. Die Syntax zum Senden der Datei lautet:

scp <filename> <username>@<otherhostname>:<portnumber><fullpathtolocation>
e.g.: scp file.zip  [email protected]:2222/home/user/ 

Hoffe das hilft!

Luc van Donkers ging
quelle
0

Kopieren Sie die Datei auf einen anderen Computer, entpacken Sie sie und kopieren Sie sie zurück.

dmourati
quelle