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

一、执行 yum 命令报 404 错误
1)检查 yum 仓库是否配置正确,能够到阿里云下载 repo 配置文件。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.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.rpmpython

二、 执行 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
2)执行lsattr命令检查 / usr/bin 目录权限,发现该目录有 i 属性,致使没法写入文件。执行如下命令解除目录的 i 属性便可。
chattr -i /usr/binlinux

三、执行 yum 命令提示 Python 解释器不存在
在执行 yum 命令时提示如下报错信息:
-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory
说明:yum是一个python脚本。
1)执行如下命令查看 yum 路径。
cat /usr/bin/yum
系统会返回如下路径:
#!/usr/bin/python
...
2)执行如下命令检查上述查看的路径。
ls -al /usr/bin/python
若是系统返回如下信息,Python 可能被卸载、被更名或移动路径。
ls: cannot access /usr/bin/python: No such file or directory
具体请参考如下步骤进行排查。
执行如下命令查看安装包是否存在。
rpm -qa | grep python
系统返回如下信息。
python-decorator-3.4.0-3.el7.noarch
libselinux-python-2.5-14.1.el7.x86_64
python-backports-1.0-8.el7.x86_64
python-pyudev-0.15-9.el7.noarch
rpm-python-4.11.3-35.el7.x86_64
python-2.7.5-76.el7.x86_64
.....
执行如下命令查看 Python 相关文件。
ls -al /usr/bin/python
系统返回如下信息。
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.7
lrwxrwxrwx 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)检查/usr/bin/python.bak是否被更名,若发现被更名后手动改回便可恢复正常。
2)若是未发现 Python 相关文件,即断定 Python 被卸载。
请找个同系统的正常实例,执行以下命令。
mkdir /python/
yum install python --downloadonly --downloaddir=/python/
执行如下命令将 / python / 中的 rpm 包传到异常实例。
scp /python/
root@x.x.x.x:/tmp/
注意 > :x.x.x.x 指的是须要访问的主机地址。前提是二者有通讯能力,能复制文件到主机中。
执行如下命令在异常实例上安装 Python 便可。
cd /tmp
rpm -ivh *centos

相关文章
相关标签/搜索