背景:
centos7.3想通过yum安装mysql服务,发现yum不可用,下面是解决问题的过程
日志:
直接使用yum命令,报错日志截取一部分
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum // 注意这句话,表明没有yum这个模块
问题排查
网上查找资料,多数是说python版本冲突的,就是说有多个python版本,需要修改 /usr/bin/yum文件,检查环境并没有版本冲突
root@172.16.24.220[/home/lushuan/rpm/yum/python]#python -V
Python 2.7.5
root@172.16.24.220[/home/lushuan/rpm/yum/python]#whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
修改/usr/bin/yum文件
#!/usr/bin/python 更改为 #!/usr/bin/python2.7
到这里感觉无从下手了,讲的都是通过rpm重装yum
卸载yum
root@172.16.24.220[/etc/yum.repos.d]#rpm -qa|grep -i yum
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-plugin-fastestmirror-1.1.31-40.el7.noarch
yum-3.4.3-150.el7.centos.noarch
卸载
rpm -e yum-plugin-fastestmirror-1.1.31-40.el7.noarch --nodeps
rpm -e yum-3.4.3-150.el7.centos.noarch --nodeps
rpm -e yum-metadata-parser-1.1.4-10.el7.x86_64 --nodeps
下载yum
wget http://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm
wget http://vault.centos.org/7.3.1611/os/x86_64/Packages/yum-plugin-1.0.7-6.el7.centos.x86_64.rpm
wget http://vault.centos.org/7.2.1511/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
重新安装
root@172.16.24.220[/home/lushuan/rpm/yum/test]#rpm -ivh yum-*
warning: yum-3.4.3-132.el7.centos.0.1.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:yum-metadata-parser-1.1.4-10.el7 ################################# [ 33%]
2:yum-plugin-fastestmirror-1.1.31-3################################# [ 67%]
3:yum-3.4.3-132.el7.centos.0.1 ################################# [100%]
再次使用yum命令
root@172.16.24.220[/home/lushuan/rpm/yum/test]#yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named urlgrabber // 注意这里是缺少 urlgrabber 包,报错日志变了
在网易镜像上下载对应rpm包安装
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm
直接安装报错,这里注意一下,说是和python自带的模块冲突
root@172.16.24.220[/home/lushuan/rpm/yum/python]#rpm -ivh python-urlgrabber-3.10-9.el7.noarch.rpm
warning: python-urlgrabber-3.10-9.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
file /usr/lib/python2.7/site-packages/urlgrabber/grabber.py from install of python-urlgrabber-3.10-9.el7.noarch conflicts with file from package python-urlgrabber-3.10-8.el7.noarch
file /usr/lib/python2.7/site-packages/urlgrabber/grabber.pyc from install of python-urlgrabber-3.10-9.el7.noarch conflicts with file from package python-urlgrabber-3.10-8.el7.noarch
file /usr/lib/python2.7/site-packages/urlgrabber/grabber.pyo from install of python-urlgrabber-3.10-9.el7.noarch conflicts with file from package python-urlgrabber-3.10-8.el7.noarch
卸载python自带urlgrabber 包,发现就没有安装
root@172.16.24.220[/home/lushuan/rpm/yum/python]#rpm -e python-urlgrabber-3.10-9.el7.noarch
error: package python-urlgrabber-3.10-9.el7.noarch is not installed
没办法只能强制安装了
root@172.16.24.220[/home/lushuan/rpm/yum/python]#rpm -ivh python-urlgrabber-3.10-9.el7.noarch.rpm --nodeps --force
warning: python-urlgrabber-3.10-9.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:python-urlgrabber-3.10-9.el7 ################################# [100%]
再次验证ok, over
参考:https://blog.csdn.net/kucoll/article/details/81585117
https://blog.csdn.net/weixin_34194379/article/details/91733391