CentOS系统中使用yum update命令更新软件时提示“error: unpacking of archive failed on file /usr/bin/wget;5e3a332a: cpio: open”

问题描述

在CentOS系统中使用yum update命令更新软件过程中提示以下报错,这里是以wget为例。

Error unpacking rpm package wget-1.14-18.el7_6.1.x86_64
error: unpacking of archive failed on file /usr/bin/wget;5e3a332a: cpio: open
Verifying: wget-1.14-18.el7_6.1.x86_64 1/2
wget-1.14-18.el7.x86_64 was supposed to be removed but is not!
Verifying: wget-1.14-18.el7.x86_64 2/2
Failed:wget.x86_64 0:1.14-18.el7   wget.x86_64 0:1.14-18.el7_6.1

问题原因

根据报错信息确定是向/usr/bin目录下解压文件失败,检查磁盘使用情况、容量、inode都有足够剩余空间。然后检查/usr/bin目录权限,发现该目录被+i属性锁定,导致文件不能写入。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

请您执行chattr -i [$Catalog]命令取消掉对应目录+i属性,再执行yum update命令即可。

说明

  • [$Catalog]指的是对应的目录。
  • CentOS 6与CentOS 8操作系统版本结束了生命周期(EOL),按照社区规则,CentOS 6/8的源地址内容已移除。当您在CentOS 6/8系统内继续使用默认配置的源地址时会发生报错。建议您先切换CentOS 6/8的源地址,然后再进行操作。具体操作,请参见CentOS 6 EOL如何切换源?CentOS 8 EOL如何切换源?

适用于

  • 云服务器ECS