背景:之前想着练习一下python3,故把python2及其软连接文件都删除了,殊不知yum会依赖python2,导致yum用不了。网上试了好多方法都不行(绝大部分都说把/usr/bin/yum的第一行指向原来的python2.6,但是我的2.6已经被卸载了,2.6的软连接什么都没有了。。。),经过无数次实验,终于跌跌撞撞的把yum修复好了,python也还原到了python2。
解决办法:
其实是很暴力的,那就是直接把yum和python都统统删除:
步骤1:卸载python
rpm -qa|greppython|xargsrpm -e --allmatches --nodeps
whereispython|xargsrm-fr
然后用whereis python检验,如果结果为空,就表示删除干净。
步骤2:卸载yum
rpm -qa|grepyum|xargsrpm -e --allmatches --nodepsrm-rf /etc/yum.repos.d/*
whereis yum|xargs rm -fr
同样检查一下。
步骤3:下载对应版本的python rpm包和yum rpm包
新建/usr/local/src/python路径,存放后面下载的python和yum的rpm安装包。
由于我的系统是7.2.2511,但是上面显示只能用7的,所以我的链接为:
首先安装python,python 的rpm安装包:
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-2.7.5-48.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-devel-2.7.5-48.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-libs-2.7.5-48.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-python-4.11.3-21.el7.x86_64.rpm
使用rpm -ivh python-* rpm-python-* 命令来安装python,如果提示依赖问题:
则在rpm -ivh python-* rpm-python-* 后面加上 --force --nodeps来忽略依赖关系。
然后安装yum,yum的rpm安装包为:
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-150.el7.centos.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm
同样使用rpm -ivhyum-* 命令来安装yum:
这样,yum和python就安装好了,yum亲测可用,python可以看到是2.7.5版本:
最后用yum search 一下发现好多东西都没有,所以
步骤4:更新yum源。
[1] 首先备份/etc/yum.repos.d/CentOS-Base.repo
mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[2] 进入yum源配置文件所在文件夹
[root@localhost yum.repos.d]# cd /etc/yum.repos.d/
[3] 下载163的yum源配置文件,放入/etc/yum.repos.d/(操作前请做好相应备份)
[root@localhost yum.repos.d]#wgethttp://mirrors.163.com/.help/CentOS6-Base-163.repo
[4] 运行yum makecache生成缓存
[root@localhost yum.repos.d]# yum makecache
[5] 更新系统
[root@localhost yum.repos.d]# yum -y update
[6] 安装vim编辑器
[root@localhost ~]# yum -yinstallvim*