CentOS 7 执行 yum 命令失败问题的排查方法
一个执着于技术的公众号
简介
本文主要为大家讲解 CentOS 7系统中执行yum命令失败等常见问题的排查方法。
1、执行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.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
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 *
来自:
https://developer.aliyun.com/article/761306?spm=a2c6h.12873581.0.dArticle761306.5aaf2784Z7f8Ge&groupCode=mirror
结语
如果您看完本文后有所收获, 还希望您随手点个在看 、或者分享转发。您的支持是我坚持分享的最大动力!
往期精彩
我知道爱学习的你“在看”
CentOS 7 执行 yum 命令失败问题的排查方法的更多相关文章
- centos 开机执行的命令
centos开机执行的命令-------待验证,因为有可能涉及到root问题,没想明白怎么输入密码 1.增加rc.local可执行权限 chmod +x /etc/rc.d/rc.local 2.在里 ...
- CentOS下用yum命令安装jdk【转】
一.使用yum命令安装 1.查看是否已安装JDK,卸载 [root@192 ~]# yum list installed |grep java java-1.8.0-openjdk.x86_64 ...
- CentOS下用yum命令安装jdk
一.使用yum命令安装 1.查看是否已安装JDK,卸载 [root@192 ~]# yum list installed |grep java java-1.8.0-openjdk.x86_64 ...
- CentOS 下使用yum 命令安装MySQL
CentOS Linux下使用yum 命令安装MySQL过程记录. 1. 查看服务器中有没有安装过MySQL 1. 查看有没有安装包: yum list mysql* #移除已经安装的mysql yu ...
- CentOS下的yum命令
yum命令是rpm的一款前端工具,可以安装.更新.卸载rpm包,可以从指定服务器下下载rpm包并安装,可以自动解决依赖问题. 语法: yum [options] [command] [package ...
- centos中yum命令删除还原的补救方法介绍
前言 yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow ...
- centos中执行apt-get命令提示apt-get command not found
先说结论: 在centos下用yum install xxx yum和apt-get的区别: 一般来说著名的linux系统基本上分两大类: RedHat系列:Redhat.Centos.Fedora ...
- 执行yum命令报错"Unable to connect to Registration Management Service"
问题描述 linux上执行yum相关命令时,报无法连接到注册管理服务的错误,具体报错信息如下 [root@aijihe-core-zy-2-3 ~]# yum install gcc Loaded p ...
- 解决idea中执行maven命令失败的问题
1.问题描述 如上图所示,在使用idea 里的maven命令执行项目打包时,有时候会报如下一个错误. -Dmaven.multiModuleProjectDirectory system proper ...
随机推荐
- try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?
答:会执行,在方法返回调用者前执行.
- 是否使用过 Redis 集群,集群的原理是什么?
1).Redis Sentinal 着眼于高可用,在 master 宕机时会自动将 slave 提升为 master,继续提供服务. 2).Redis Cluster 着眼于扩展性,在单个 redis ...
- Dubbo 如何停机?
Dubbo 是通过 JDK 的 ShutdownHook 来完成优雅停机的,所以如果使用 kill -9 PID 等强制关闭指令,是不会执行优雅停机的,只有通过 kill PID 时,才 会执行.
- memcached 是原子的吗?
所有的被发送到 memcached 的单个命令是完全原子的.如果您针对同一份数据 同时发送了一个 set 命令和一个 get 命令,它们不会影响对方.它们将被串行化. 先后执行.即使在多线程模式,所有 ...
- java-jdbc-all
jdbc相关解析 JDBC(Java DataBase Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语 ...
- C语言之标识符(知识点3)
条件:用户表示符仅由大小写英文字母,数字和下划线组成,且第一个字符不能是数字 注意: 不能和关键字或函数库相同名字 但关键字的大写就可以用了,因为关键字都是小写的,而C语言区分大小写 案例
- CAN总线系列讲座第五讲——CAN总线硬件电路设计
CAN总线系列讲座第五讲--CAN总线硬件电路设计一 实战学习背景 CAN总线节点的硬件构成方案有两种,其中的方案:(1).MCU控制器+独立CAN控制器+CAN收发器.独立CAN控制器如SJA10 ...
- 关于js中this指向的总结
js中this指向问题一直是个坑,之前一直是懵懵懂懂的,大概知道一点,但一直不知道各种情况下指向有什么区别,今天亲自动手测试了下this的指向. 1.在对象中的this对象中的this指向我们创建的对 ...
- Web缓存总结
web缓存作用 减少网络带宽消耗降低服务器压力减少网络延迟,加快页面打开速度 Web缓存的类型 数据库数据缓存:为了提供查询的性能,会将查询后的数据放到内存中进行缓存,下次查询时,直接从内存缓存直接返 ...
- Python:爬取中国各市的疫情数据并存储到数据库
import requests import pymysql import json def create(): # 连接数据库 db = pymysql.connect(host = 'localh ...