使用7zip解压CRC校验失败的zip文件

前言

偶尔遇到一些zip压缩文件,使用unzip解压时会遇到类似“CRC校验失败”而导致解压失败的问题。这个时候可以考虑使用7zip来解压。
在这里插入图片描述
7-Zip 是一款拥有极高压缩比的开源压缩软件,支持常见的压缩格式,还具备修复一些压缩包文件损坏的能力。
在这里插入图片描述

问题记录

在对某些zip文件进行解压时,使用unzip命令会解压失败。根据提示可以看出是zip包中部分文件校验有问题,无法正常解压。

Archive:  test.zip  
warning [test.zip]:  5067551026 extra bytes at beginning or within zipfile  
  (attempting to process anyway)  
error [test.zip]:  start of central directory not found;  
  zipfile corrupt.  
  (please check that you have transferred or created the zipfile in the  
  appropriate BINARY mode and that you have compiled UnZip properly)

向chatGPT咨询该问题,得到的反馈如下:

这个错误信息表明你的zip文件损坏了,导致无法解压缩。可能的原因有文件传输中的错误或文件创建过程中的问题。以下是一些可能的解决方法:

  1. 重新下载文件:如果你从互联网上下载的zip文件,尝试重新下载它,确保在下载过程中没有发生错误。

  2. 使用合适的二进制模式:如果你是通过FTP等方式传输文件的,请确保在传输过程中选择了二进制模式,而不是文本模式。文本模式可能会导致文件损坏。

  3. 尝试使用其他解压缩工具:有时,不同的解压缩工具对于处理损坏的zip文件可能更加有效。你可以尝试使用其他解压缩工具,如7-Zip、WinRAR等来解压缩文件。

如果尝试以上方法后仍然无法解决问题,那么很可能你的zip文件已经无法修复,需要重新获取一个有效的zip文件。

问题解决过程

尝试选择chatGPT推荐的7zip来解压:

7z是一个功能强大的压缩和解压缩工具,它支持多种压缩格式,包括zip。你可以使用以下命令来安装7z:
sudo apt-get install p7zip-full
然后,使用以下命令来解压缩zip文件: 7z x file.zip 其中,file.zip是你要解压缩的zip文件名。

实际上,按照chatGPT的回复内容安装的7zip版本很旧,解压还是会出现问题:

7z ERROR: CRC Failed : model.pth  
                                            
Sub items Errors: 1  
  
Archives with Errors: 1  
  
Warnings: 1  
  
Open Errors: 1  
  
Sub items Errors: 1

查询到参考资料[2],安装最新版本的7zip一般可以解决该CRC校验失败的问题:
在这里插入图片描述

根据参考资料[3],卸载旧版本,下载安装最新的版本:

在这里插入图片描述

__author__ = 'TracelessLe'
__website__ = 'https://blog.csdn.net/TracelessLe'

sudo apt remove p7zip-full

wget https://www.7-zip.org/a/7z2301-linux-x64.tar.xz
mkdir 7zip
tar xf 7z2301-linux-x64.tar.xz -C 7zip
cd 7zip/
./7zz x test.zip

新版本7zip自动修复该CRC校验失败的问题并正常解压出所有文件。

版权说明

本文为原创文章,独家发布在blog.csdn.net/TracelessLe。未经个人允许不得转载。如需帮助请email至tracelessle@163.com或扫描个人介绍栏二维码咨询。
在这里插入图片描述

参考资料

[1] 7-zip.org
[2] How to recover corrupted 7z archive
[3] How to Install 7-Zip on Ubuntu 22.04 or 20.04
[4] 7-zip download

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TracelessLe

❀点个赞加个关注再走吧❀

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值