Linux Mint 12 - Öffnen einer ZIP-Datei im Terminal


3

Die obige Frage zu deckt es ab - es tut mir sehr leid, ich sehe die Antworten die ganze Zeit, aber obwohl sie sehr explizit sind, kann ich sie einfach nicht auf mein Terminal anwenden.

Ich habe einen gezippten Ordner und kann ihn nicht im Archiv öffnen. Ich erhalte die folgende Fehlermeldung:

Archive:  /home/elansa/Music/Music.zip
Zip file size: 2011856896 bytes, number of entries: 4693

warning [/home/elansa/Music/Music.zip]:  end-of-central-directory record claims this
  is disk 176 but that the central directory starts on disk 20153; this is a
  contradiction.  Attempting to process anyway.
error [/home/elansa/Music/Music.zip]:  missing 3025939027 bytes in zipfile
  (attempting to process anyway)
error [/home/elansa/Music/Music.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

Ich habe gelesen, dass diese Art von Fehler im Terminal behoben werden kann. Ist das wahr? Wenn ja, kann ich eine Wegbeschreibung haben? Ich konnte noch nie einen Reißverschluss öffnen. Ich glaube nicht, dass ich dumm bin, aber das entgeht mir einfach.

Jede Hilfe wäre sehr dankbar.


Ist das ein .tar.gzoder ist es eine ‚.zip‘ -Datei? Es scheint zipaber deine Frage zu sein .tar.gz.
Kevin Panko

Hast du es mit Gunzip versucht?
ScottAndrewRogers

Gibt es eine nützliche Ausgabe, wenn Sie eingeben unzip -t Music.zip?
Tohuwawohu


1
Tatsächlich würde das Ergebnis helfen, das file Music.zipder ursprüngliche Fragesteller in die Frage stellte.
JdeBP

Antworten:


5

Zunächst einmal ist die Datei, die Sie in Ihrem Beitrag aufgeführt haben, keine .tar.gz-Datei. Es scheint sich um eine ZIP-Datei zu handeln. Die ZIP-Datei scheint auch beschädigt oder unvollständig zu sein.

Zur Beantwortung Ihrer Frage, wenn Sie eine .tar.gz-Datei haben (sagen wir, Sie haben music.tar.gz in Ihrem Home-Verzeichnis), würden Sie den Inhalt wie folgt extrahieren (dies setzt voraus, dass Sie sich in demselben Verzeichnis wie das befinden) .tar.gz Datei)

tar -xzvf music.tar.gz

Dies würde das .tar.gz-Archiv im aktuellen Verzeichnis (Ihrem Home-Verzeichnis) extrahieren.

-z : Uncompress the resulting archive with gzip command.
-x : Extract to disk from the archive.
-v : Produce verbose output i.e. show progress and file names while extracting files.
-f music.tar.gz : Read the archive from the specified file called music.tar.gz.

Ein paar Fragen an Sie. Haben Sie diese ZIP-Datei auf einem Linux-System oder unter Windows erstellt? Ich habe gesehen, dass, wenn Sie die Datei mit WinZIP erstellen, aus irgendeinem Grund das Archiv als unvollständig angezeigt wird, wenn Sie versuchen, es unter Linux oder Mac OS X zu extrahieren. Wenn Sie die ZIP-Datei unter Windows mit WinZIP erstellt haben, versuchen Sie es um es in Windows mit WinZIP zu öffnen und zu prüfen, ob Sie mindestens eine Liste der im Archiv enthaltenen Dateien sehen können. Wenn Sie können, extrahieren Sie die Dateien unter Windows und verwenden Sie ein echtes Archivierungsprogramm wie 7 Zip oder WinRAR, um das Archiv erneut zu erstellen.

Eine andere Möglichkeit wäre, den Befehl unzip unter Linux in der Befehlszeile zu verwenden. Die Syntax wäre

unzip music.zip

Dadurch wird das Archiv in den aktuellen Ordner extrahiert.


4

Diese Frage behandelt die Reparatur einer beschädigten Zip-Datei - Terminal-Tool (Linux) für die Reparatur beschädigter Zip-Dateien

Wenn Sie die Antworten ein wenig erweitern, möchten Sie Folgendes tun:

zip -F /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip

Wenn das nicht funktioniert, versuchen Sie:

zip -FF /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip

Nach dem zip-Handbuch ist es besser, zuerst mit nur -F zu versuchen:

Die Single -F ist zuverlässiger, wenn das Archiv nicht zu stark beschädigt ist. Probieren Sie diese Option zuerst aus.

Da Sie anscheinend Anfänger in der Befehlszeile sind und nicht sicher sind, ob das Zip-Programm unter Linux Mint standardmäßig installiert ist, finden Sie hier einen Befehl zur Installation:

sudo apt-get install zip

Hoffe das hilft.


zip -FFfunktionierte in meinem Fall (Entpacken eines Windows-ZIP-Archivs unter OS X). Vielen Dank.
Polym

3

Ich hatte das gleiche Problem mit einer sehr großen ZIP-Datei, die in Windows erstellt wurde. Das Ausführen des Zip-Tools verursachte denselben Fehler, den andere beschrieben haben (dies ist unter OS X mit Zip 3.0 der Fall):

bash-3.2$ unzip -l Users.zip 
Archive:  Users.zip
warning [Users.zip]:  126463302015 extra bytes at beginning or within zipfile
  (attempting to process anyway)
error [Users.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

In meinem Fall bestand die Lösung darin, stattdessen das Paket p7zip zu verwenden ( http://p7zip.sourceforge.net/ oder Ihren bevorzugten Paketmanager zu verwenden). Das hat einwandfrei funktioniert:

bash-3.2$ 7z l Users.zip
<tons of successful output>

Jemand anderes hat dieses genaue Szenario hier beschrieben: http://www.linuxquestions.org/questions/linux-software-2/unzip-error-in-linux-error-zip-file-too-big-939528/ .


0

Vielleicht ist es ein Thema, obwohl es zusätzlich zu der Antwort von Graeme -FFzfin meinem Fall funktioniert hat. Ich habe versucht, eine 6.6G-Datei zu entpacken, die wahrscheinlich unter Windows komprimiert wurde.

$ zip -v
...
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
...
ZIP64_SUPPORT

$ unzip a.zip
... start of central directory not found; zipfile corrupt.

$ zip -FF a.zip --out a_fixed.zip
...
zip error: Entry too big to split, read, or write (Poor compression resulted in unexpectedly large entry - try -fz)

$ zip -FFfz a.zip --out a_fixed.zip
$ unzip a.zip
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.