有一逗逼朋友在搞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缺失
等一系列的问题,最终发现还是通过以上的方法安装最为省事。