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

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

86.jpeg
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

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

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

2)请执行lsattr命令检查/usr/bin目录权限,发现该目录有i属性,导致无法写入文件。执行以下命令解除目录的i属性即可。

chattr -i /usr/bin

1.png

3. 执行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 *

阿里巴巴开源镜像站 提供全面,高效和稳定的镜像下载服务。钉钉搜索 ' 21746399 ‘ 加入镜像站官方用户交流群。”

相关文章
|
18天前
|
Linux
linux centos history 查看命令历史 显示时间戳
linux centos history 查看命令历史 显示时间戳
|
17小时前
|
Linux C语言 C++
Linux 下centos 查看 -std这个编译时命令 是否支持 C17
Linux 下centos 查看 -std这个编译时命令 是否支持 C17
7 2
|
1月前
|
运维 监控 Linux
【热门话题】CentOS 常见命令指南
此文档是CentOS常用命令指南,涵盖文件操作、系统管理、网络配置、软件安装更新等方面。包括切换目录(`cd`)、查看目录(`ls`)、创建/删除目录(`mkdir`, `rmdir`, `rm`)、文件查看编辑(`cat`, `less`, `vi/vim`)、系统信息(`uname -a`, `hostname`, `top`)、用户权限管理(`useradd`, `passwd`, `sudo`, `chmod`, `chown`)、软件包管理(`yum`或`dnf`)、网络状态(`ip addr`, `ping`)、进程管理(`ps`, `kill`, `nohup`, `jobs`
89 1
|
1月前
|
安全 Linux 虚拟化
解决Centos7 yum 出现could not retrieve mirrorlist 错误
在新安装的CentOS7.x通过VMware后,遇到无法通过`ip addr`获取IP地址以及`yum`安装软件时加载镜像列表失败的问题。
35 2
|
18天前
|
缓存 Linux
CentOS7添加阿里云yum源
CentOS7添加阿里云yum源
|
18天前
|
弹性计算 Linux
(已解决) centos6.5 yum源 失效 The whole CentOS 6 is dead and shouldn’t be used anywhere at all
(已解决) centos6.5 yum源 失效 The whole CentOS 6 is dead and shouldn’t be used anywhere at all
|
18天前
|
开发工具
centos8 yum安装mysql8 流程配置
centos8 yum安装mysql8 流程配置
|
18天前
|
Linux 应用服务中间件 开发工具
centos linux 通过yum安装nginx
centos linux 通过yum安装nginx
|
1月前
|
Web App开发 缓存 运维
CentOS命令大全:从入门到精通
CentOS命令大全:从入门到精通
|
24天前
|
Linux
CentOS yum源设置为国内aliyun yum源
CentOS yum源设置为国内aliyun yum源
524 0