Linux中unzip命令解压大文件失败(error:invalid zip file with overlapped components (possible zip bomb))
卡卡南安 2024-06-19 17:37:01 阅读 71
背景
在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端口:
p7zip - Linux上的另一个7-Zip端口,由独立开发者制作。 p7zip的最新版本是16.02,而p7zip的16.02已经过时了。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
上一篇: Linux进阶篇——进程的查看与管理
下一篇: Ubuntu开机自启服务systemd.service配置教程(Ubuntu服务)(Linux服务)upstart(systemd教程)
本文标签
Linux中unzip命令解压大文件失败(error:invalid zip file with overlapped components (possible zip bomb))
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。