CentOS 删除Python和yum后如何恢复yum

有一逗逼朋友在搞Python的时候把Python2.7卸载了,并顺手删除了yum.

帮忙恢复,遇到了一些坑,特此记录一下。

步骤一丶 安装Python

以安装Python2.7.15为例,远程至Linux服务器,依次执行:

$ cd /usr/local/src

$ wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz

$ tar -zxvf Python-2.7.15.tgz

$ cd Python-2.7.15

$ ./configure

$ make && make install
  • 如果你在删除yum之前未安装wget,可以在本地下载后上传到服务器并进行安装。

步骤二丶 恢复yum

先把可能残留的yum相关的东西删除:

rpm -aq|grep yum|xargs rpm -e --nodeps

http://mirrors.163.com/centos目录下,下载所需的相关文件

  • python-urlgrabber-3.10-8.el7.noarch.rpm

  • python-iniparse-0.4-9.el7.noarch.rpm

  • yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm

  • yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

  • yum-3.4.3-158.el7.centos.noarch.rpm

这些文件的具体链接和你是用的系统版本有关,如我是用的是CentOS7,则对应的目录为:http://mirrors.163.com/centos/7/os/x86_64/Packages,如使用CentOS6,可以到http://mirrors.163.com/centos/6/os/x86_64/Packages目录下寻找.

$ 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/python-iniparse-0.4-9.el7.noarch.rpm 

$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.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-3.4.3-158.el7.centos.noarch.rpm

下载完毕之后,安装顺序进行安装:

$ rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm

$ rpm -ivh python-urlgrabber-3.10-8.el7.noarch.rpm

$ rpm -ivh yum-3.4.3-158.el7.centos.noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm

其中第三步中的包需要同时进行安装,单独安装会出现依赖错误。

如果在安装过程中出现类似于:python(abi) = 2.7 is needed by xxx这样的错误,那你可能需要先安装如下两个包:

  • python-libs-2.7.5-68.el7.x86_64.rpm

  • python-2.7.5-68.el7.x86_64.rpm

  • python-devel-2.7.5-68.el7.x86_64.rpm

同样的,安装方法为:

$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-libs-2.7.5-68.el7.x86_64.rpm 

$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-2.7.5-68.el7.x86_64.rpm

$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-devel-2.7.5-68.el7.x86_64.rpm

$ rpm -ivh python-libs-2.7.5-68.el7.x86_64.rpm 

$ rpm -ivh python-2.7.5-68.el7.x86_64.rpm

$ rpm -ivh python-devel-2.7.5-68.el7.x86_64.rpm

然后再返回去执行前面几个的安装。

步骤三丶 更新repo文件

依次执行如下的命令:

$ cd /etc/yum.repos.d

$ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

$ rm -rf CentOS-Base.repo

$ mv CentOS7-Base-163.repo CentOS7-Base.repo

此时,安装已经完成。可在命令行下直接使用yum指令进行验证,如任有问题,请检查以上步骤是否有遗漏。

其他

在刚开始修复yum时,尝试使用下载yum,通过运行 yummain.py install yum 进行安装,遇到了诸如pycurl缺失,sqlitecachec缺失等一系列的问题,最终发现还是通过以上的方法安装最为省事。

你可能感兴趣的:(CentOS 删除Python和yum后如何恢复yum)