当我unzip
在 Red Hat Enterprise Linux (RHEL) 中使用来压缩在 Windows 10 64 位系统上创建的 8.8Gb zip 文件时,出现错误bad CRC eb71d36a (should be b0968d02)
。zip 文件中的单个文本文件确实被提取,但已损坏。
我可以使用 7z 在 Windows 10 64 位计算机上解压完全相同的 zip 文件,没有任何问题,然后sftp
将该scp
文件解压到同一台 RHEL 计算机上,一切正常。但是,这不是一个可行的长期解决方案。
以下网站记录了此错误的几乎相同的详细信息:
- https://bbs.archlinux.org/viewtopic.php?id=153011
- https://centos.org/forums/viewtopic.php?f=14&t=5451&sid=99b599f3615126e1dc48d671468336d8&start=10
它们似乎都记录了 unzip 中未解决的错误。
所以问题是:从 RHEL bash shell 中,如何在不使用的情况下解压缩在 Windows 10 64 位系统上压缩的大型 zip 文件unzip
?
我尝试了以下操作,但产生了显示的错误:
$ gunzip -S .zip largefile.zip
gzip: largefile.zip: first entry not deflated or stored -- use unzip
$ jar -xvf largefile.zip
java.util.zip.ZipException: invalid compression method
at java.util.zip.ZipInputStream.read(ZipInputStream.java:224)
at java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:139)
at sun.tools.jar.Main.extractFile(Main.java:1015)
at sun.tools.jar.Main.extract(Main.java:924)
at sun.tools.jar.Main.run(Main.java:264)
at sun.tools.jar.Main.main(Main.java:1231)
Linux 版本
$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 7.3 (Maipo)
Release: 7.3
Codename: Maipo
解压版本
$ unzip -v
UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.
Compiled with gcc 4.8.5 20150623 (Red Hat 4.8.5-4) for Unix (Linux ELF) on Apr 15 2016.
答案1
您的 RHEL 服务器上有 7z 吗?否则,您可以使用它来提取 zip 文件。
7z e archive.zip