背景

在Linux解压文件的过程中,由于压缩包大小过大(>4G),解压过程中出现错误:error:invalid zip file with overlapped components (possible zip bomb)。这个错误提示意味着你的 ZIP 文件可能是一个“ZIP 炸弹”,也就是一个恶意的 ZIP 文件,它会在解压缩时占用大量的系统资源,甚至可能会导致系统崩溃。

解决办法

安装7zip包来进行解压

可以通过命令行来进行在线安装,参考:
Linux中zip解压大压缩包失败
Linux 7zip
linux安装7zip

然而通过远程登陆Linux时,sudo被设置了权限,因此我在本地下载对应的安装包后上传,下载地址:https://www.7-zip.org/download.html

我是64位系统,下载后得到文件:7z2400-linux-x64.tar.xz,运行如下命令解压到名为7zip的文件夹下:tar xf 7z2400-linux-x64.tar.xz -c 7zip/,得到:
在这里插入图片描述
readme.txt中介绍了7zip和常用的解压缩指令,其中提到:

7-Zip和p7zip
===============
现在Linux/macOS上有两个不同的7-Zip端口:

  1. p7zip - Linux上的另一个7-Zip端口,由独立开发者制作。 p7zip的最新版本是16.02,而p7zip的16.02已经过时了。
  2. 7-Zip for Linux/macOS-这个包-它是新的代码与最新的Windows 7-Zip的所有变化。

这两个端口不完全相同。 还要注意,一些Linux特定的东西在p7zip中可以比在Linux的新7-Zip中更好地实现。

文档中给出的示例:

从当前目录下所有*.txt文件创建zip存档: ./7zz . a archive.zip "*.txt"
列出存档的内容:./7zz l archive.zip
列出档案内容,并为每个档案提供详细的技术资料: ./7zz l archive.zip -slt
解压归档文件到当前目录:./7zz x archive.zip
测试存档并显示每个文件的日志: ./7zz t archive.zip -bb
使用7-Zip的LZMA代码测试CPU性能的基准命令:./7zz b
使用基准测试命令测试CPU不同压缩、加密的性能 和哈希方法从7-Zip和不同的线程数:./7zz b "-mm=*" "-mmt=*"

其中./7zz是可执行文件7zz的地址,比如在上面的地址中./7zz应改为./7zip/7zz

常用解压缩指令请参考:Linux 7zip

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐