大于4GB的文件在Centos上损坏。 如何提取?

我在centOS 5上压缩了一个文件夹,压缩到4.1GB左右。

现在我正试图解压缩它,但它给错误。 我已经尝试了一些选项。 首先使用unzip命令说

在这里输入图像说明

然后我试图使用

jar xvf文件名

正如我在研究中发现的那样,它可以工作。 它的工作来提取一些文件,但然后给出以下错误。

在这里输入图像说明

最后我尝试了7zip作为一个选项。 但它没有给出以下错误。

在这里输入图像说明

这是一些额外的信息。

在文件上运行文件命令

site_backup_sep03_2015.zip:Zip档案资料,至less要提取v2.0

运行stat命令就可以了

在这里输入图像说明

有没有一种方法来提取文件?

在32位系统上,使用32位应用程序和/或使用6.0以上版本的解压缩版本,您可能会遇到这些限制之一

最有可能的这个限制,“单个文件的压缩大小” 4GB

实际上,由于UnZip使用fseek()函数在档案中跳转,因此在许多系统上实际的限制可能是2 GB。 由于fseek的偏移参数通常是一个带符号的长整数,因此在32位系统上,UnZip不会从归档的开头find超过2 GB的任何文件。 而在64位系统上,UnZip从一开始就不会find超过4GB的文件(因为zipfile格式只能存储大的偏移量)。 因此,档案中的最后一个文件可能会是任意大的(理论上,无论如何 – 我们还没有testing过),但是其余的总和必须小于2GB或4GB。

不幸的是,除非你能find另一个可以读取和解压文件的应用程序,否则你将不得不移动到一个64位的系统,或者把你的系统升级到附带unzip 6.0的CentOS 7,或者在你的CentOS 5上编译unzip 6.0并从您的主目录运行它也许。

从解压缩6.0

[snip] Zip归档条目大于4 GiBytes

制作该文件的副本 ,然后尝试zip -FF <filename>

从手册页( man zip

 -F Fix the zip archive. This option can be used if some portions of the archive are missing. It is not guaranteed to work, so you MUST make a backup of the original archive first. When doubled as in -FF the compressed sizes given inside the damaged archive are not trusted and zip scans for special signatures to identify the limits between the archive members. The single -F is more reliable if the archive is not too much damaged, for example if it has only been truncated, so try this option first.