Entpacken-Fehler "Signatur des Endes des zentralen Verzeichnisses nicht gefunden"

96

Ich versuche eine Zip-Datei zu entpacken, habe aber eine Fehlermeldung erhalten:

$ unzip COCR2_100.zip 
Archive:  COCR2_100.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
note:  COCR2_100.zip may be a plain executable, not an archive
unzip:  cannot find zipfile directory in one of COCR2_100.zip or
        COCR2_100.zip.zip, and cannot find COCR2_100.zip.ZIP, period.

Ich habe gegoogelt, aber keine Lösung gefunden. Ich habe mich gefragt, warum es so ist und wie ich es reparieren soll. Vielen Dank!

Die zip-Datei kann von COCR2_100 heruntergeladen werden . Es ist eine Anwendung, und hier ist die Website http://users.belgacom.net/chardic/cocr2.html .

Mein Betriebssystem ist 10.10.

Tim
quelle
Ich konnte das Programm problemlos über den Mirror-Link herunterladen und extrahieren. Möglicherweise ist Ihr Download beschädigt? Hier ist meine md5sum-Ausgabe in der Datei: a55352aac3193948478952dea33828ef /home/chuck/Desktop/COCR2_100.zip
Ctuchik
2
Wenn Sie die Datei md5sum und erhalten das gleiche Ergebnis "a55352aac3193948478952dea33828ef" Dann ist Ihr Download gut, aber wenn es nicht genau das gleiche ist, dann ist Ihr Download
beschädigt
@ CTUCHIK: Danke! Der Spiegel ist gut. Das Original ist kaputt.
Tim
np knospe, ich bin froh, dass ich dir behilflich sein kann.
Ctuchik
5
Verwenden Sie die robustere jar xvf archive.zipoder versuchen Sie, das Archiv mit zip -F archive.zip -O archive-fixed.zip(oder -FF, siehe man zip) zu reparieren .
Zaz

Antworten:

27

Das Problem ist genau das, was es sagt. Unzip kann die Codezeile, die das Ende des Archivs anzeigt, nicht finden.

  1. Das Archiv ist beschädigt.
  2. Es ist kein .zip-Archiv.
  3. Das Archiv enthält mehr als 1 Teile, aber das scheint mir nicht möglich zu sein. Sie sollten auch den anderen Spiegel ausprobieren. Es hat bei mir funktioniert.

PS Beachten Sie, wie das Programm für Windows gemacht ist. Sie benötigen also Wine (von http://www.winehq.com oder dem Ubuntu Software Center), um es auszuführen.

Thomas
quelle
2
Es scheint, dass "unzip" nicht sehr robust ist und daher nicht mit beschädigten (oder unvollständig heruntergeladenen) Archiven zurechtkommt.
Lövborg
Nicht genau, ich kann such filemit Winrar oder anderen gängigen Windows-Tools entpacken . Beispieldatei stanford-chinese-corenlp-2016-10-31-models.jarunter nlp.stanford.edu/software/CRF-NER.shtml .
Mithril
162

Probieren Sie diese hervorragende Lösung aus:

jar xvf COCR2_100.zip

Schritte:

  1. Ziehen Sie die Datei in das Terminalfenster und legen Sie sie dort ab.
  2. Verwenden Sie die Pfeiltasten, um zum Zeilenanfang im Terminal zu navigieren
  3. Geben Sie jar xvfvor Ihrem Dateinamen ein und denken Sie daran, vor dem Beginn Ihres Dateinamens ein Leerzeichen zu setzen.
  4. Nehmen Sie ein Bier und beobachten Sie, wie das Terminal seine Magie entfaltet, während es Dateien extrahiert.

Die Position, an der die neuen Dateien abgelegt werden, ist unterschiedlich. In der Regel empfiehlt es sich jedoch, im Finder auf den Namen Ihres Computers zu klicken, um die neuesten Aktivitäten über allen Dateien anzuzeigen.

Wenn der jarBefehl nicht verfügbar ist, können Sie installieren, fastjarindem Sie Folgendes in das Terminal einfügen:

sudo apt-get install fastjar
青色 青色
quelle
10
@EliahKagan ist es nicht, aber der Trick funktioniert
Christoph Walesch
6
Das hat auf magische Weise für mich funktioniert. +1
Yahel
3
Wow, genau das habe ich gesucht! Sollte auf jeden Fall die akzeptierte Antwort sein. Irgendeine Idee, warum das funktioniert?
Willem Ellis
4
Ich denke, dies funktioniert für beschädigte (oder unvollständig heruntergeladene) Dateien, da das jarDienstprogramm End-of-central-directoryvor dem Starten der Extraktion nicht nach der Signatur sucht . Wenn dies tatsächlich der Fall ist, können Sie möglicherweise nicht alle Dateien extrahieren, und das Dienstprogramm wird möglicherweise wie Unexpected end of ZLIB input streamam Ende mit einem Fehler beendet.
Chirag Bhatia - Chirag64
5
Upvoted. Vielen Dank: Es bereitete Kopfzerbrechen, eine 6,5-GB-Zip mit "zip -FF" zu reparieren: Das erstellte "feste" Archiv war die Originalkopie des beschädigten (unvollständigen) Originals. Ich wusste, dass .jar-Dateien intern ZIP-Dateien sind, aber ich habe die ausführbare JAR-Datei nie zum Entpacken von ZIP-Archiven verwendet :-)
Troublemaker-DV
20

Das Entpacken mit 7z hat bei mir funktioniert:

7z x COCR2_100.zip

Installieren Sie über APT mit apt install p7zip-full.

Campa
quelle
Danke @Campa 7zhat mir geholfen, eine passwortverschlüsselte Zip mit dem ähnlichen Problem zu öffnen.
Cyril
@Campa Danke, ich hatte Probleme mit Artifacory, Build der Elixier-App, zu entpacken.
ShreePool
6

Ich hatte heute ein ähnliches Problem und hatte einige Erfolge mit dd und gunzip. Versuche dies:

dd if=corrupt.zip | gunzip -f > xx.csv

In meinem Fall habe ich immer noch den Fehler "gunzip: stdin: unerwartetes Dateiende" erhalten, aber zumindest habe ich eine Ausgabe zum Anzeigen.

gd2010
quelle
Ich fand, dass zcat corrupt.zip > xx.csvdas fast genau das Gleiche tat ...
Wilf
1
Warum gibst du es als csv aus?
Daniel Pendergast
2

Fehler können durch Vertauschen von Archivtypen verursacht werden:

Mir ist aufgefallen, dass ich bei der Verwendung unzipeines gunzip(GNU-) Archivs diesen Fehler erhalte, z

Signatur für das Ende des zentralen Verzeichnisses nicht gefunden. Entweder handelt es sich bei dieser Datei nicht um eine Zip-Datei, oder es handelt sich um eine Platte eines mehrteiligen Archivs. In letzterem Fall befinden sich das zentrale Verzeichnis und der Zip-Dateikommentar auf den letzten Datenträgern dieses Archivs. unzip: zip-Dateiverzeichnis in einem von create_tables.sql.gz oder create_tables.sql.gz.zip nicht gefunden und create_tables.sql.gz.ZIP, Punkt nicht gefunden. "

Verwendung gunzipauf dem gleichen Archiv ohne Fehler durchgeführt. !!

Elliptische Ansicht
quelle
1

Ich denke, die Jungs / Mädels, die auf dich geantwortet haben, sind auf dem richtigen Weg, es ist sehr gut eine beschädigte Datei. Wenn dies der Fall ist, versuchen Sie es mit einem anderen Spiegel, um die Datei herunterzuladen. Sie können versuchen, rar zu installieren, indem Sie das Terminal öffnen, sudo apt-get install rar was für eine echte ZIP-Datei ein wenig übertrieben ist. Es werden jedoch andere Formate unterstützt, und Sie können verschiedene Dateitypen extrahieren.

freier Vogel
quelle