预计所需阅读时间:6分钟

原因

之前,曾经在VPS上想更新Python的版本,升级时也把yum依赖的Python2也卸载了,安装Python3.8,同时也把yum重装了一遍。然后,在虚拟机上由于用yum安装不了任何程序,想更新yum,过程中不小心把虚拟机的yum和Python2删除了,所以也重新安装了yum。

重装的教程

1.卸载现有的Python,强制删除已安装程序及其关联:

rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps

2.强制删除Python所有残余文件:

whereis python| xargs rm -frv

3.卸载现有的yum:

rpm -qa| grep yum| xarg

4.强制删除所有残余文件:

whereis yum| xargs rm -frv

5. 检查CentOS 7内核版本:cat /etc/centos-release

6.寻找对应的文件下载,在http://vault.centos.org 找到对应的依赖下载。

我的CentOS7版本完整路径为:http://vault.centos.org/7.7.1988/os/x86_64/Packages/

使用wget下载文件:

  • libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
  • python-2.7.5-68.el7.x86_64.rpm
  • python-backports-1.0-8.el7.x86_64.rpm
  • python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
  • python-chardet-2.2.1-1.el7_1.noarch.rpm
  • python-devel-2.7.5-68.el7.x86_64.rpm
  • python-iniparse-0.4-9.el7.noarch.rpm
  • python-ipaddress-1.0.16-2.el7.noarch.rpm
  • python-kitchen-1.1.1-5.el7.noarch.rpm
  • python-libs-2.7.5-68.el7.x86_64.rpm
  • python-pycurl-7.19.0-19.el7.x86_64.rpm
  • python-setuptools-0.9.8-7.el7.noarch.rpm
  • python-urlgrabber-3.10-8.el7.noarch.rpm
  • python-virtualenv-15.1.0-2.el7.noarch.rpm
  • rpm-4.11.3-32.el7.x86_64.rpm
  • rpm-build-4.11.3-32.el7.x86_64.rpm
  • rpm-build-libs-4.11.3-32.el7.x86_64.rpm
  • rpm-libs-4.11.3-32.el7.x86_64.rpm
  • rpm-python-4.11.3-32.el7.x86_64.rpm
  • rpm-sign-4.11.3-32.el7.x86_64.rpm
  • yum-3.4.3-158.el7.centos.noarch.rpm
  • yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
  • yum-plugin-aliases-1.1.31-45.el7.noarch.rpm
  • yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
  • yum-plugin-protectbase-1.1.31-45.el7.noarch.rpm
  • yum-utils-1.1.31-45.el7.noarch.rpm

7.安装依赖

单个安装方式(针对多个文件一个一个安装):

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

批量安装方式:

rpm -Uvh --replacepkgs python*.rpm

rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm rpm-*.rpm

下载完成后安装这些包,有些依赖你可能要自己解决:

rpm -Uvh --replacepkgs *.rpm

注意,无论是单个安装还是批量安装,若是出现安装依赖的问题,针对报错的依赖复制下来,在http://vault.centos.org/7.7.11988/os/x86_64/Packages/(结合自己实际的CentOS7版本地址)上进行搜索依赖包,下载到CentOS 7机子上,安装报错的依赖包。

8.完成测试

输入命令yumpython -V

附:

这是我重装VPS服务器使用的yum和Python的RPM安装包,版本为7.7,CentOS 7上应该都可以使用

点击下载yum和Python重装的RPM安装包

下载之后,上传到自己的服务器的里的一个文件夹。使用如下命令批量安装:

rpm -Uvh --replacepkgs *.rpm

出现问题再到官网下载对应的依赖包。