zip 3.0不能与zip 2.3.1向后兼容?

我有两个文件,一个是使用zip 2.3.1制作的,另一个是使用zip 3.0制作的。 两者都是同一个目录的zip文件。 这是两个文件及其大小:

1.7G from-2.3.1.zip 1.7G from-3.0.zip 

我的计划是将我的系统转换为新的压缩文件,以便我可以创build更大的压缩文件,例如高达3 GB左右。

然而,我担心的是,当我解压缩这些文件,稍微老一点的解压缩版本时,当我尝试解压缩使用zip 3.0创build的压缩文件时,出现错误。

 $ unzip -t from-2.3.1.zip > /dev/null # NO Errors $ unzip -t from-3.0.zip > /dev/null warning [from-3.0.zip]: 76 extra bytes at beginning or within zipfile (attempting to process anyway) error [from-3.0.zip]: reported length of central directory is -76 bytes too long (Atari STZip zipfile? JHHolm ZIPSPLIT 1.1 zipfile?). Compensating... error: expected central file header signature not found (file #67358). (please check that you have transferred or created the zipfile in the appropriate BINARY mode and that you have compiled UnZip properly) $ 

我担心的原因是,如果我移动到zip 3.0,我将迫使我的下游用户全部升级到更新版本的解压缩,例如,解压缩6.0,例如,解压这些文件没有错误。

在所有情况下都不会发生这种exception情况,所以我不确定这是否完全。

有什么build议么? 我不知何故错误地构buildzip 3.0?

谢谢。

不同的是Zip64文件格式,它是为了能够压缩较大的文件而引入的。 旧的实用程序(如Windows XP的文件资源pipe理器)不理解它。

就Linux而言,Debian Stable 至less包含了自2011年发布以来的版本(更新日志称, zip 3.0a在2004年发布,2009年发布的unzip 6.00 ),所以我个人认为如果你“强迫”你用户升级,你正在帮他们一个忙。