помилка розпакування "Підпис в кінці центрального каталогу не знайдено"


96

Я намагаюся розпакувати zip-файл, але сталася помилка:

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

Я гуглив, але не знайшов рішення. Мені було цікаво, чому це так і як я повинен це виправити? Дякую!

Файл zip можна завантажити з COCR2_100 . Це додаток, і ось його веб-сайт http://users.belgacom.net/chardic/cocr2.html .

Моя ОС 10.10.


Мені вдалося без проблем завантажити та витягнути програму за допомогою дзеркального посилання. Можливо, ваше завантаження пошкоджено? ось мій вихід md5sum у файл: a55352aac3193948478952dea33828ef /home/chuck/Desktop/COCR2_100.zip
Ctuchik

2
Якщо ви md5sum і отримаєте той самий результат "a55352aac3193948478952dea33828ef", то ваше завантаження добре, але якщо воно НЕ ТОЧНО те саме, завантаження пошкоджено
Ctuchik

@Ctuchik: Дякую! Дзеркальний - це добре. Оригінальний зламаний.
Тім

np bud, рада, що можу бути корисною.
Ctuchik

5
Скористайтеся більш надійними jar xvf archive.zipабо спробуйте виправити архів за допомогою zip -F archive.zip -O archive-fixed.zip(або -FF, див. man zip).
Заз

Відповіді:


27

Проблема полягає саме в тому, що воно говорить. Unzip не може знайти рядок коду, який сигналізує про закінчення архіву, тому:

  1. Архів пошкоджений.
  2. Це не архів .zip.
  3. В архіві є більше 1 частини, але мені це не здається можливим. Спробуйте спробувати і інше дзеркало. Це працювало для мене.

PS Зауважте, як зроблено програму для Windows. Тож для запуску вам потрібно Wine (від http://www.winehq.com або Центр програмного забезпечення Ubuntu).


2
Здається, що "unzip" не дуже надійний і тому не може впоратися з пошкодженими (або неповно завантаженими) архівами.
loevborg

Не зовсім точно, я можу розпакувати such fileWinrar або інші популярні засоби Windows. Приклад файлу stanford-chinese-corenlp-2016-10-31-models.jarна nlp.stanford.edu/software/CRF-NER.shtml .
Мітрил

162

Спробуйте це відмінне рішення:

jar xvf COCR2_100.zip

кроки:

  1. перетягніть файл у вікно терміналу.
  2. використовувати стрілки клавіатури для навігації до початку рядка в терміналі
  3. введіть jar xvfперед своїм іменем файлу, пам’ятаючи, щоб залишити місце перед початком імені вашого файлу.
  4. візьміть пиво і дивіться, як термінал виконує свою магію, коли він витягує файли.

Місце, куди йдуть нові файли, різниться, але, як правило, найкращим трюком їх знайти - це натиснути ім’я комп'ютера в Finder, який повинен відображати найновішу активність у верхній частині всіх файлів.

Якщо jarкоманда недоступна, ви можете встановити fastjarїї, вставивши в термінал наступне:

sudo apt-get install fastjar

10
@EliahKagan це не так, але фокус працює
Крістоф Валенш

6
Це магічно спрацювало для мене. +1
Яхель

3
Ого, це саме те, що я шукав! Чи має бути визнана прийнята відповідь. Будь-яка ідея, чому це працює?
Віллем Елліс

4
Я думаю, що це працює для пошкоджених (або неповно завантажених) файлів, оскільки jarутиліта не перевіряє наявність End-of-central-directoryпідпису перед початком вилучення. Якщо це дійсно так, швидше за все, ви не зможете витягти кожен файл, і утиліта може закінчитися помилкою, як Unexpected end of ZLIB input streamв кінці.
Chirag Bhatia - chirag64

5
Отримано. Дякую: виправити ZIP 6,5 Гбіт "zip -FF" було головним болем: створений "фіксований" архів був есактною копією пошкодженої (неповної) оригінальної. Я знав, що .jar-файли є внутрішніми ZIP-файлами, але я ніколи не використовував виконувану банку для розпакування архівів zip :-)
Troublemaker-DV

20

Розпакування з 7z працювало для мене:

7z x COCR2_100.zip

Встановити через APT за допомогою apt install p7zip-full.


Спасибі @Campa 7zдопомогла мені відкрити зашифрований паролем zip з подібною проблемою.
Кирило

@Campa Спасибі, я зіткнувся з проблемою розпакувати артефактори, створити додаток еліксир.
ShreePool

6

У мене був аналогічний випуск сьогодні і мав певний успіх з дд і пістолетом. Спробуйте це:

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

У моєму випадку я все-таки отримав помилку "gunzip: stdin: несподіваний кінець файлу", але принаймні я отримав деякий вихід для перегляду.


Я виявив, що zcat corrupt.zip > xx.csvзробив майже те саме ...
Вільф,

1
Чому ви виводите його як csv?
Даніель Пендергаст

2

Помилка може бути викликана змішуванням типів архівів:

Я помітив, що при використанні unzip, але в gunzipархіві (GNU) я отримаю цю помилку, наприклад

Підпис кінця центрального каталогу не знайдено. Або цей файл не є zipfile, або він являє собою один диск багаточастинного архіву. В останньому випадку центральний каталог та коментарі до zipfile будуть знайдені на останньому диску цього архіву. unzip: не вдається знайти каталог zipfile в одному з create_tables.sql.gz або create_tables.sql.gz.zip, і не можна знайти create_tables.sql.gz.ZIP, період. "

Використання gunzipцього ж архіву виконується без помилок. !!


1

Я думаю, що хлопці / дівчата, які відповіли на вас, на правильному шляху, це дуже добре пошкоджений файл. Якщо це так, то спробуйте інше дзеркало, щоб завантажити файл. Ви можете спробувати встановити rar, відкривши термінал, sudo apt-get install rar який для справжнього поштового файлу rar є трохи зайвим. Однак це додає підтримку інших форматів і дозволяє витягувати різні типи файлів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.