błąd rozpakowania „Nie znaleziono podpisu końca katalogu centralnego”


96

Próbuję rozpakować plik zip, ale wystąpił błąd:

$ 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.

Poszukałem google, ale nie znalazłem rozwiązania. Zastanawiałem się, dlaczego tak jest i jak powinienem to naprawić? Dzięki!

Plik zip można pobrać z COCR2_100 . Jest to aplikacja, a tutaj jest jej strona internetowa http://users.belgacom.net/chardic/cocr2.html .

Mój system operacyjny to 10.10.


Udało mi się pobrać i rozpakować program bez żadnych problemów za pomocą linku dublującego. Być może twoje pobieranie jest uszkodzone? oto moje wyjście md5sum w pliku: a55352aac3193948478952dea33828ef /home/chuck/Desktop/COCR2_100.zip
Ctuchik

2
Jeśli sumujesz plik i otrzymujesz ten sam wynik „a55352aac3193948478952dea33828ef” To twoje pobieranie jest dobre, ale jeśli nie jest DOKŁADNIE takie samo, to twoje pobieranie jest uszkodzone
Ctuchik

@Ctuchik: Dzięki! Lustrzany jest dobry. Oryginalny jest zepsuty.
Tim

np bud, cieszę się, że mogłem być pomocny.
Ctuchik

5
Użyj bardziej niezawodnego jar xvf archive.ziplub spróbuj naprawić archiwum za pomocą zip -F archive.zip -O archive-fixed.zip(lub -FFzobacz man zip).
Zaz

Odpowiedzi:


27

Problem polega dokładnie na tym, co mówi. Rozpakuj nie może znaleźć wiersza kodu sygnalizującego koniec archiwum, więc albo:

  1. Archiwum jest uszkodzone.
  2. To nie jest archiwum .zip.
  3. Archiwum zawiera więcej niż 1 części, ale nie wydaje mi się to możliwe. Powinieneś spróbować również drugiego lustra. To zadziałało dla mnie.

PS Zwróć uwagę, jak program jest stworzony dla systemu Windows. Więc potrzebujesz Wine (z http://www.winehq.com lub Centrum Oprogramowania Ubuntu), aby go uruchomić.


2
Wygląda na to, że „rozpakuj” nie jest zbyt solidny i dlatego nie radzi sobie z uszkodzonymi (lub niekompletnie pobranymi) archiwami.
loevborg

Nie do końca, mogę rozpakować such fileprzez Winrar lub inne popularne narzędzia Windows. Przykładowy plik stanford-chinese-corenlp-2016-10-31-models.jarna nlp.stanford.edu/software/CRF-NER.shtml .
Mithril

162

Wypróbuj to doskonałe rozwiązanie:

jar xvf COCR2_100.zip

kroki:

  1. przeciągnij i upuść plik do okna terminala.
  2. za pomocą strzałek na klawiaturze nawiguj do początku linii w terminalu
  3. wpisz jar xvfprzed nazwą pliku, pamiętając o pozostawieniu spacji przed początkiem nazwy pliku.
  4. weź piwo i obserwuj, jak terminal wykuwa pliki.

Lokalizacja nowych plików jest różna, ale zwykle najlepszym sposobem na ich znalezienie jest kliknięcie nazwy komputera w Finderze, która powinna wyświetlać ostatnią aktywność na górze wszystkich plików.

Jeśli jarpolecenie nie jest dostępne, możesz zainstalować fastjar, wklejając w terminalu:

sudo apt-get install fastjar

10
@EliahKagan to nie jest, ale sztuczka działa
Christoph Walesch

6
To magicznie działało dla mnie. +1
Yahel

3
Wow, właśnie tego szukałem! Powinien być przyjętą odpowiedzią. Wiesz, dlaczego to działa?
Willem Ellis,

4
Myślę, że działa to w przypadku uszkodzonych (lub niekompletnie pobranych) plików, ponieważ jarnarzędzie nie sprawdza End-of-central-directorypodpisu przed rozpoczęciem rozpakowywania. Jeśli tak jest naprawdę, istnieje prawdopodobieństwo, że wyodrębnienie każdego pliku może nie być możliwe, a narzędzie może zakończyć się błędem jak Unexpected end of ZLIB input streamna końcu.
Chirag Bhatia - chirag64

5
Pozytywne. Dziękuję: naprawienie pliku zip o rozmiarze 6,5 Gb za pomocą „zip -FF” to problem z bólem głowy: wyprodukowane „naprawione” archiwum było właściwie kopią uszkodzonego (niekompletnego) oryginalnego. Wiedziałem, że pliki .jar są wewnętrznie zamkami, ale nigdy nie użyłem pliku wykonywalnego jar do rozpakowania archiwów zip :-)
Troublemaker-DV

20

Rozpakowanie za pomocą 7z działało dla mnie:

7z x COCR2_100.zip

Zainstaluj za pomocą APT za pomocą apt install p7zip-full.


Dzięki @Campa 7zpomógł mi otworzyć zaszyfrowany hasłem zip z podobnym problemem.
Cyryl

@Campa Dzięki, miałem problem z rozpakowaniem za pomocą artifacory, kompilacji aplikacji eliksirowej.
ShreePool,

6

Miałem dzisiaj podobny problem i odniosłem pewien sukces z dd i gunzip. Spróbuj tego:

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

W moim przypadku nadal występuje błąd „gunzip: stdin: nieoczekiwany koniec pliku”, ale przynajmniej mam trochę danych wyjściowych do wyświetlenia.


Odkryłem, że zcat corrupt.zip > xx.csvzrobiło to prawie dokładnie to samo ....
Wilf

1
Dlaczego wyprowadzasz go jako plik csv?
Daniel Pendergast

2

Błąd może być spowodowany mieszaniem typów archiwów:

Zauważyłem, że podczas używania unzip, ale w gunziparchiwum (GNU) dostaję ten błąd, np

Nie znaleziono podpisu końca centralnego katalogu. Albo ten plik nie jest plikiem zip, albo stanowi jeden dysk wieloczęściowego archiwum. W tym drugim przypadku centralny katalog i komentarz do pliku zip znajdą się na ostatnich dyskach tego archiwum. rozpakuj: nie można znaleźć katalogu zipfile w jednym z create_tables.sql.gz lub create_tables.sql.gz.zip i nie można znaleźć create_tables.sql.gz.ZIP, kropka. "

Korzystanie gunzipz tego samego archiwum odbywa się bez błędów. !!


1

Myślę, że chłopaki / dziewczęta, które ci odpowiedziały, są na dobrej drodze, to bardzo dobrze uszkodzony plik. W takim przypadku spróbuj pobrać inny plik z innego serwera lustrzanego. Możesz spróbować zainstalować rar, otwierając terminal, sudo apt-get install rar który dla prawdziwego pliku zip jest trochę przesadzony. Dodaje jednak obsługę innych formatów i umożliwia wyodrębnianie różnych typów plików.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.