汪微的博客
zane,做一个有思维的开发者

汪微的博客

CentOS下安装yum,No module named yum和No module named rpm都可用此方法重装

2018年04月10日133 browse

一、升级或卸载Python:

1、查看已安装python的版本,可能是当前系统存在多个python导致


[root@test ~]# whereis python
python: /usr/bin/python2.6 /usr/bin/python /usr/bin/python2.6-config /usr/lib/python2.6 /usr/lib64/python2.6 /usr/include/python2.6 /usr/share/man/man1/python.1.gz

[root@test ~]# vi /usr/bin/yum
将 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

如果是源代码安装的,默认路径是/usr/local/bin/python2.6,做个软链接即可
rm -rf /usr/bin/python
ln -s /usr/local/bin/python2.6 /usr/bin/python


二、完全重装python和yum

1、删除现有Python
[root@test ~]# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联
[root@test ~]# whereis python |xargs rm -frv ##删除所有残余文件 ##xargs,允许你对输出执行其他某些命令
[root@test ~]# whereis python ##验证删除,返回无结果

2、删除现有的yum
[root@test ~]# rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
[root@test ~]# whereis yum |xargs rm -frv

3、从http://mirrors.ustc.edu.cn/centos/6.4/os/x86_64/Packages/下载相应的包
python-2.6.6-66.el6_8.x86_64.rpm
python-devel-2.6.6-66.el6_8.x86_64.rpm
python-iniparse-0.3.1-2.1.el6.noarch.rpm
python-libs-2.6.6-66.el6_8.x86_64.rpm
python-pycurl-7.19.0-9.el6.x86_64.rpm
python-setuptools-0.6.10-3.el6.noarch.rpm
python-urlgrabber-3.9.1-11.el6.noarch.rpm
rpm-python-4.8.0-55.el6.x86_64.rpm

yum-3.2.29-81.el6.centos.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
yum-plugin-aliases-1.1.30-40.el6.noarch.rpm
yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
yum-plugin-protectbase-1.1.30-40.el6.noarch.rpm
yum-utils-1.1.30-40.el6.noarch.rpm

由于源中版本会更新,具体请查看URL中的版本再下载下来!
之后执行下面两句:
[root@test ~]# rpm -Uvh --replacepkgs python*.rpm
[root@test ~]# rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm


如果允许安装之中有报错,请按提示安装相应插件,例如yum-utils会依赖libxml2-python插件:

rpm -ivh libxml2-python-2.7.6-21.el6_8.1.x86_64.rpm
如果报错就强制安装不依赖其他插件:
rpm -ivh --nodeps --force libxml2-python-2.7.6-21.el6_8.1.x86_64.rpm


三、使用网易CentOS镜像

1.首先备份/etc/yum.repos.d/CentOS-Base.repo
进入目录:
cd /etc/yum.repos.d
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2.删除CentOS-Base.repo

rm -rf CentOS-Base.repo

3.下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)

CentOs7
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
CentOs6
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOs5
wget http://mirrors.163.com/.help/CentOS5-Base-163.repo

4.运行以下命令生成缓存

yum clean all
yum makecache



博主 zane 发表于 2018-04-10 13:38:29,添加在了 linux 标签下

打赏

您的支持将鼓励我继续努力与分享。

扫码打赏,建议金额1-10元

提醒:打赏金额将直接进此方账号,无法退款,请您谨慎操作。

评论

正在加载验证码......

提交