распаковать ошибку «подпись конца центрального каталога не найдена»

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: Спасибо! Зеркало одно хорошо. Оригинал сломан.
Тим
Нет, приятель, рад, что могу быть полезным.
Ctuchik
5
Используйте более надежный jar xvf archive.zipили попробуйте исправить архив с помощью zip -F archive.zip -O archive-fixed.zip(или -FF, см. man zip).
Zaz

Ответы:

27

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

  1. Архив поврежден.
  2. Это не архив ZIP.
  3. В архиве более 1 части, но мне это кажется невозможным. Вы должны попробовать другое зеркало тоже. Это сработало для меня.

PS Обратите внимание, как программа сделана для Windows. Таким образом, вам нужен Wine (с http://www.winehq.com или из Ubuntu Software Center), чтобы запустить его.

Томас
источник
2
Кажется, что «unzip» не очень надежен и поэтому не может справиться с поврежденными (или не полностью загруженными) архивами.
loevborg
Не совсем, я могу распаковать с such fileпомощью Winrar или других популярных инструментов 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в конце.
Чираг Бхатия - чираг64
5
Upvoted. Спасибо: это было головной болью, чтобы восстановить 6.5Gb zip с помощью «zip -FF»: созданный «исправленный» архив был точной копией поврежденного (неполного) оригинального. Я знал, что файлы .jar внутренне являются zip-файлами, но я никогда не использовал исполняемый файл jar для распаковки zip-архивов :-)
Troublemaker-DV
20

У меня распаковка с 7z сработала:

7z x COCR2_100.zip

Установить через APT с apt install p7zip-full.

Campa
источник
Благодаря @Campa 7zмне удалось открыть зашифрованный паролем zip с аналогичной проблемой.
Кирилл
@Campa Спасибо, я столкнулся с проблемой, чтобы разархивировать с помощью artifacory, сборки приложения для эликсира.
ShreePool
6

У меня была похожая проблема сегодня, и я имел некоторый успех с dd и gunzip. Попробуй это:

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

В моем случае я все еще получал ошибку «gunzip: stdin: неожиданный конец файла», но по крайней мере у меня был какой-то вывод для просмотра.

gd2010
источник
Я обнаружил, что zcat corrupt.zip > xx.csvсделал почти точно то же самое ....
Уилф
1
Почему вы выводите его как CSV?
Даниэль Пендергаст,
2

Ошибка может быть вызвана смешиванием типов архивов:

Я заметил, что при использовании unzip, но в gunzip(GNU) архиве я получаю эту ошибку, например

Подпись конца центрального каталога не найдена. Либо этот файл не является zip-файлом, либо он представляет собой один диск из многочастного архива. В последнем случае центральный каталог и комментарий к 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 который для настоящего zr-файла rar немного излишним. Однако он добавляет поддержку других форматов и позволяет извлекать файлы различных типов.

вольная птица
источник