yum出错的原因有很多种,其中一种是由于python的版本变更。
由于yum是强依赖于python,一旦pyhon环境改变(即默认的python bin程序路径改变),基本yum是跟着殉情的。
#定位python程序路径
whereis python
[root@zero_op ~]# whereis python
python: /usr/bin/python2.6 /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.6 /usr/libpython2.7 /usr/lib64/python2.6 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usrshare/man/man1/python.1.gz
#现在使用的是哪个python
which python
#找出yum的路径
which yum
#修改yum的python环境变量(这里yum的路径为/usr/bin/yum)
vi /usr/bin/yum
#修改首行的环境配置
e.g.
#!/usr/bin/python
改为
#!/usr/bin/python2.7
通过反复修改yum的python环境变量,基本能找到yum最初依赖的python,保存正确的python环境变量,yum基本能够复活
有些时候,yum能够使用了,但报出一些包不存在的错误,可以根据错误在google查询,查到报错的(包/函数)关联的文件,修改其python环境变量
e.g.
yum报错不能执行 _readline()函数,通过google查询,最后文件与/usr/libexec/urlgrabber-ext-down
相关
修复方法与上文雷同
vi /usr/libexec/urlgrabber-ext-down
e.g.
#!/usr/bin/python
改为
#!/usr/bin/python2.7
安装新python环境时,一般不要更改$PATH中的python路径
例如python2的base下安装python3,如果将pytho3的bin路径置于python2前,导致默认python为python3,就会导致yum及其关联的命令执行报错
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。