CentOS 7 执行 yum 命令失败问题的排查方法

简介: 本文主要为大家讲解CentOS 7系统中执行yum命令失败等常见问题的排查方法。

1. 执行yum命令报404错误

1)检查yum仓库是否配置正确,可以到CentOS 镜像下载阿里云repo配置文件。
2)如果报错中包含$releasever变量, 则执行rpm -qa | grep centos-release确认centos-release是否安装。未安装可以执行以下命令下载安装包进行安装。

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/centos-release-7-7.1908.0.el7.centos.x86_64.rpm
rpm -ivh centos-release-7-7.1908.0.el7.centos.x86_64.rpm

   
   
  • 1
  • 2

2. 执行yum install命令提示failed错误

1)从报错可以看到提示以下信息,此处以安装Telnet为例。

ERROR UNpacking rpm package 1:telnet-0.17-64.e17.x86_64
error:unpacking of archive failed on file /usr/bin/telnet;5e785bc7:cpio:open

   
   
  • 1
  • 2

解除目录的i属性即可。

chattr -i /usr/bin

   
   
  • 1

在这里插入图片描述

3. 执行yum命令提示Python解释器不存在

在执行yum命令时提示以下报错信息。

-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

   
   
  • 1

说明:yum是一个python脚本。

1)执行以下命令查看yum路径。

cat /usr/bin/yum

   
   
  • 1

系统会返回以下路径。

#!/usr/bin/python

   
   
  • 1

2)执行以下命令检查上述查看的路径。

ls -al /usr/bin/python

   
   
  • 1

如果系统返回以下信息,Python可能被卸载、被改名或移动路径。

ls: cannot access /usr/bin/python: No such file or directory

   
   
  • 1

具体请参考以下步骤进行排查。

  • 执行以下命令查看安装包是否存在。
rpm -qa | grep python

   
   
  • 1

系统返回以下信息。

python-decorator-3.4.0-3.el7.noarchlibselinux-python-2.5-14.1.el7.x86_64python-backports-1.0-8.el7.x86_64python-pyudev-0.15-9.el7.noarchrpm-python-4.11.3-35.el7.x86_64python-2.7.5-76.el7.x86_64.....

   
   
  • 1
  • 执行以下命令查看Python相关文件。
ls -al /usr/bin/python*

   
   
  • 1

系统返回以下信息。

lrwxrwxrwx  1 root root   14 Feb 15  2019 /usr/bin/python-config -> python2-config
lrwxrwxrwx. 1 root root    7 Feb 15  2019 /usr/bin/python.bak -> python2
lrwxrwxrwx. 1 root root    9 Feb 15  2019 /usr/bin/python2 -> python2.7lrwxrwxrwx  1 root root   16 Feb 15  2019 /usr/bin/python2-config -> python2.7-config
-rwxr-xr-x. 1 root root 7216 Oct 31  2018 /usr/bin/python2.7-rwxr-xr-x  1 root root 1835 Oct 31  2018 /usr/bin/python2.7-config

   
   
  • 1
  • 2
  • 3
  • 4

请根据返回的信息参考以下场景进行操作。
1)检查/usr/bin/python.bak是否被改名,若发现被改名后手动改回即可恢复正常。
2)如果未发现Python相关文件,即判定Python被卸载。

请找个同系统的正常实例,执行如下命令。

mkdir /python/
yum install python --downloadonly --downloaddir=/python/

   
   
  • 1
  • 2

执行以下命令将/python/中的rpm包传到异常实例。

scp /python/* root@x.x.x.x:/tmp/

   
   
  • 1

注意> :x.x.x.x指的是需要访问的主机地址。前提是主机还有公网访问能力,能复制文件到主机中。

  • 执行以下命令在异常实例上安装Python即可。
cd /tmprpm -ivh *

   
   
  • 1

4、yum安装:zabbix-web-4.2.8-1.el7.noarch: [Errno 256] No more mirrors to try

报错信息 :zabbix-web-4.2.8-1.el7.noarch: [Errno 256] No more mirrors to try
在这里插入图片描述
解决办法 :

#mv /var/cache/yum/* /delete/
# yum clean all
# yum makecache
#yum install -y     #安装软件,不行就yum -y update

   
   
  • 1
  • 2
  • 3
  • 4

5、CentOS Yum进程被锁定解决方案

有时在执行yum命令中短线或强制终止时没有干净,导致下次运行时提示:Another app is currently holding the yum lock; waiting for it to exit…
在这里插入图片描述
解决方法:

rm -f /var/run/yum.pid

   
   
  • 1

执行以上命令删除yum.pid即可。

6、Yum 有未完成事务提示 清除办法

使用Yum安装东西时,如果有强制退出过yum或yum异常结束,再下次使用yum命令时会提示:There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them。
可以通过以下方法处理:

一、安装 yum-complete-transaction

yum -y install yum-utils

   
   
  • 1

这是一个能发现未完成或被中断的yum事务的程序。
在这里插入图片描述
二、清除yum缓存

yum clean all

   
   
  • 1

在这里插入图片描述
三、执行清理未完成事务

yum-complete-transaction --cleanup-only

   
   
  • 1

在这里插入图片描述

参考链接 :

Yum 有未完成事务提示 清除办法 :

CentOS Yum进程被锁定解决方案 :

CentOS 7 执行 yum 命令失败问题的排查方法 : https://v5.net/Related/CentOS-yum-utils.htmlhttps://v5.net/CentOSApp/CentOS-yum-lock-pid.htmlhttps://mp.weixin.qq.com/s/i-iTwYQY-x9sjY1biiWmAw

                                </div><div><div></div></div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-e0530931f4.css" rel="stylesheet">
                            </div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值