gzip: stdin: unexpected end of file tar: 归档文件中异常的 EOF 安装redis过程出错-日记

在CentOS7系统中配置Redis时遇到压缩包解压错误,提示gzip和tar异常。问题可能源于从Windows主机拖拽到虚拟机的压缩包在传输过程中受损。解决方案包括检查两个系统中压缩包的大小,确认是否完整,如果受损则重新传输或直接在虚拟机内从官网下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、案发现场:

今天xin麒在自己虚拟机配置好了centos7系统,打算配置一下redis环境,于是出现下面报错:

在这里插入图片描述

再来一遍:tar -zxvf redis-6.2.6.tar.gz

在这里插入图片描述

于是xin麒使用sudo rm -rf + 文件夹名称删除了。

报错信息:

gzip: stdin: unexpected end of file
tar: 归档文件中异常的 EOF
tar: 归档文件中异常的 EOF
tar: Error is not recoverable: exiting now

二、解决:

这样有一个原因:

可能是在虚拟机的压缩包有损坏。xin麒就是将win主机的redis压缩包(redis-6.2.6.tar.gz)拖到虚拟机里的,可以查看两压缩包的属性看看两压缩包大小是不是不一样,是不是拖到虚拟机里的压缩包小了很多,如果是这个问题那么很可能是压缩包受损了。

在保证win主机里redis-6.2.6.tar.gz压缩包是完好的情况下可以重新将虚拟机里的压缩包删除了,重新扔进去一个,看看压缩包大小有没有受损,如果还是受损,那就直接在虚拟机从官网里下载吧。

### 解决方案概述 当遇到 `gzip: stdin: unexpected end of file` 和 `tar: 归档文件异常EOF` 错误时,通常意味着压缩文件在传输过程中受到了损坏或不完整的下载。以下是几种常见的解决方案: #### 文件完整性验证 确保所使用的 `.tar.gz` 或其他类型的压缩文件未受损害。可以通过校验文件哈希值来确认文件完整性。 ```bash sha256sum filename.tar.gz ``` 如果计算出来的哈希值与官方提供的不符,则说明文件已损坏[^1]。 #### 正确获取源文件 对于因跨平台(如 Windows 到 Linux 虚拟机)直接拖拽造成的文件损伤情况,建议通过安全可靠的途径传送文件,比如利用 FTP 工具 Xftp 进行上传操作[^2]。 #### 清理残留文件 有时在同一目录内存在多个版本相同名字但带有不同后缀编号(例如 .1, .2 等)的文件会干扰正常解压流程。应删除这些多余的副本并只保留最新的完整版压缩包再尝试解压[^3]。 #### 使用修复工具 针对部分轻微受损但仍可读取部分内容的情况,可以考虑使用专门的数据恢复软件尝试修复该档案;不过这并非总是有效的方法。 #### 替代解压方式 某些情况下更换不同的解压缩程序也可能绕过此错误提示继续完成工作。例如,在命令行参数后面加上 `-i` 参数让 tar 命令忽略一些非致命性的错误警告信息: ```bash tar -xzvf filename.tar.gz --ignore-failed-read ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值