解压缩错误“找不到中央目录结尾签名”


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.

我用谷歌搜索,但没有找到解决方案。我想知道为什么会这样,应该如何解决?谢谢!

可以从COCR2_100下载zip文件。它是一个应用程序,在这里是其网站http://users.belgacom.net/chardic/cocr2.html

我的操作系统是10.10。


使用镜像链接,我可以下载并提取程序,而没有任何问题。也许您的下载已损坏?这是我在文件上的md5sum输出:a55352aac3193948478952dea33828ef /home/chuck/Desktop/COCR2_100.zip
Ctuchik 2011年

2
如果您对文件md5sum进行了下载,并得到相同的结果“ a55352aac3193948478952dea33828ef”,则说明下载效果不错,但如果不完全相同,则说明您的下载文件已损坏
Ctuchik 2011年

@Ctuchik:谢谢!镜子一好。原来的一个坏了。
蒂姆(Tim)

np芽,很高兴我能为您服务。
Ctuchik

5
使用功能更强大的jar xvf archive.zip,或尝试使用修复档案zip -F archive.zip -O archive-fixed.zip(或-FF参见man zip)。
2014年

Answers:


27

问题恰恰是它所说的。解压缩找不到表明归档已结束的代码行,因此:

  1. 档案已损坏。
  2. 它不是.zip存档。
  3. 存档中有超过1个部分,但对我而言似乎是不可能的。您也应该尝试其他镜子。它为我工作。

PS请注意,该程序是如何针对Windows制作的。因此,您需要Wine(来自http://www.winehq.com或Ubuntu软件中心)来运行它。


2
似乎“解压缩”不是很可靠,因此无法应对损坏(或下载不完全)的档案。
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不是,但技巧有效
Christoph Walesch 2012年

6
这为我神奇地工作。+1
Yahel

3
哇,这正是我想要的!def应该是公认的答案。知道为什么这样做有效吗?
Willem Ellis 2014年

4
我认为这适用于损坏(或下载不完整)的文件,因为该jar实用程序End-of-central-directory在开始提取之前不会检查签名。如果真是这样,您可能无法提取每个文件,并且该实用程序可能会以类似结尾的错误Unexpected end of ZLIB input stream结尾。
Chirag Bhatia-chirag64

5
已投票。谢谢:用“ zip -FF”修复6.5Gb zip令人头疼:产生的“固定”档案是损坏的(不完整的)原始档案的完整副本。我知道.jar文件在内部是zip,但是我从未使用过jar可执行文件来解压缩zip存档:-)
Troublemaker-DV

20

7z解压缩对我有用:

7z x COCR2_100.zip

通过APT通过安装apt install p7zip-full


谢谢@Campa 7z帮助我打开了类似问题的密码加密zip。
西里尔'18

@Campa谢谢,我在用artifacory解压缩灵药应用程序时遇到问题。
ShreePool

6

今天我遇到了类似的问题,并且在dd和gunzip上取得了一些成功。尝试这个:

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

就我而言,我仍然收到“ gunzip:stdin:文件意外结束”错误,但至少我有一些输出要查看。


我发现那zcat corrupt.zip > xx.csv几乎做完了同样的事情
。...– Wilf

1
为什么将其输出为csv?
Daniel Pendergast

2

混淆存档类型可能导致错误:

我注意到使用时unzip,但是在gunzip(GNU)存档上我会遇到此错误,例如

找不到中央目录末尾签名。该文件不是zip文件,或者它是一个多部分归档文件的一个磁盘。在后一种情况下,将在此存档的最后一个磁盘上找到中央目录和zipfile注释。解压缩:找不到create_tables.sql.gz或create_tables.sql.gz.zip之一中的zipfile目录,也找不到句点“ create_tables.sql.gz.ZIP”。

gunzip在相同的存档上使用时没有错误。!!


1

我认为回复您的人/小伙子走在正确的轨道上,很可能是损坏的文件。如果是这种情况,请尝试使用另一个镜像下载文件。您可能会尝试通过打开终端来安装rar sudo apt-get install rar ,对于真正的zip文件rar来说有点过头了。但是,它确实增加了对其他格式的支持,并允许您提取不同的文件类型。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.