我正在尝试解压一个大小为 2GB 的文件,
但出现以下错误:
unzip CLTE_C_08.zip
存档:CLTE_C_08.zip
未找到中央目录结尾签名。此文件不是 zip 文件,或者它构成了多部分存档中的一个磁盘。在后一种情况下,中央目录和 zip 文件注释将位于此存档的最后磁盘上。unzip
:在 CLTE_C_08.zip 或 CLTE_C_08.zip.zip 中找不到 zip 文件目录,也找不到 CLTE_C_08.zip.ZIP,就是这样。
经过谷歌搜索后,有人说这个错误是因为文件太大,有人说是因为文件已损坏,还有人说它可能不是 unix 档案。
所以我的问题是,如何找出文件是否是 Centos 上的有效存档文件,以及解压缩大文件的命令/技巧是什么(如果有的话)
提前致谢 :)
我发出了命令文件 CLTE_C_08.zip,它给出以下内容:
文件 CLTE_C_08.zip
CLTE_C_08.zip:数据
我尝试在自己的电脑上查看文件信息,得到了以下信息:
文件 avatarminis.zip
avatarminis.zip:Zip 存档数据,至少需要 v1.0 才能提取
上述差异是否意味着 CLTE_C_08.zip 不是一个 zip 文件?
答案1
我发现有两件事可能存在问题。
第一个问题是操作系统是否相同?(UNIX / MS / MAC)都使用不同的 EOF 字符。我在 ZIP 文件上没有遇到过这种情况,但在其他文件上遇到过很多次。
第二个问题是邮政编码/可执行文件有多旧?C / C++ 直接文件访问使用长整数来获取其文件位置。此文件的最大大小为 2GB。
答案2
作为对可能感兴趣的人的反馈/跟进,我注意到了一些事情:
我尝试解压放在服务器上的一个小型 zip 文件,但出现了同样的错误,因此我所做的就是下载、提取、转到文件夹内容、选择文件、压缩它们、上传、解压 - 它成功了。
对较小的文件进行故障排除后得到:zip -T filename.zip zip 警告:缺少结束签名 - 可能不是 zip 文件(您在传输时是否记得使用二进制模式?)
我安装了 7zip,并使用常规文件夹进行了测试7za x 文件名.zip,它起作用了,但在这个文件夹中,它不起作用叹
错误可能是“双重压缩”的问题……或者是传输模式的问题,根据我的直觉……希望得到您的反馈
遗憾的是,我遇到问题的文件有 2GB,我无法通过我的互联网连接下载/上传它
答案3
我在尝试从 Microsoft TEAMS 应用下载大型文件时遇到了同样的问题。因此,我在 Chrome 上打开了同一个文件夹并从那里下载了它,并且成功了。