YUM更新时客户端突然断连,SSH连接后发现YUM和Python无法使用
不管是什么情况导致了YUM和Python无法使用时,每次我都是采用最暴力的办法:重装系统。
这绝对能解决任何问题;不过一切顺利还好,如果中途出现这样或那样的问题,光解决问题都要用很久, 特别是每次搭建网站环境的时候,每次搭建出现的问题都不一样,光解决问题都要把人折磨到崩溃。
通过网上的搜索整理加上我自己的亲身经历,我觉得如果再遇到这种软件无法使用的情况, 最好的办法是只卸载系统的YUM和Python软件,然后重装这两款软件。
1、把系统中的YUM和Python软件通过RPM卸载干净,只要有关于两款软件的都要删除干净。
# rpm -qa | grep python | xargs rpm -e --allmatches --nodeps
# whereis python | xargs rm -fr
# rpm -qa | grep yum | xargs rpm -e --allmatches --nodeps
# rm -rf /etc/yum.repos.d/*
# whereis yum|xargs rm -fr
2、在安装Py和YUM的时候,先查看RPM是不是最新版本,不是的话,先更新一下,要不然后面安装 Py和YUM的时候会报如下类似依赖错误。
rpm = 4.11.3-32.el6 is needed by rpm-python-4.11.3-32.el6.x86_64
像我的系统上的RPM是4.11.3-32,而我看到CentOS7的版本是4.11.3-40,则就从镜像站下载最新 版本的RPM及其依赖并一起更新。
# mkdir /tmp/rpm && cd /tmp/rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/rpm-4.11.3-40.el7.x86_64.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/rpm-build-libs-4.11.3-40.el7.x86_64.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/rpm-libs-4.11.3-40.el7.x86_64.rpm
# rpm -Uvh rpm-4.11.3-40.el7.x86_64.rpm \
rpm-build-libs-4.11.3-40.el7.x86_64.rpm \
rpm-libs-4.11.3-40.el7.x86_64.rpm
更新完后,rpm的版本更新到最新的了,截图如下:
3、更新完RPM后就需要安装Python,必须要先安装Py,因为YUM安装依赖Py, 下载Py及其依赖可以通过各大镜像网站下,我是从163镜像网站下。
注意,安装之前要先把两个依赖软件卸载掉,后面一起安装,要不然Py安装不上,这两款软件分别是
python-rpm-macros
和python-srpm-macros
。
# mkdir /tmp/python && cd /tmp/python
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/python-rpm-macros-3-32.el7.noarch.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/python-srpm-macros-3-32.el7.noarch.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/python-2.7.5-86.el7.x86_64.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/python-devel-2.7.5-86.el7.x86_64.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/python-libs-2.7.5-86.el7.x86_64.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/rpm-python-4.11.3-40.el7.x86_64.rpm
# rpm -ivh python-* rpm-python-*
4、安装YUM,首先下载YUM及其依赖。
# mkdir /tmp/yum && cd /tmp/yum
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
# wget http://mirrors.163.com/centos/7.7.1908/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm
# rpm -ivh yum-*
只要不出意外,基本上到此就安装完成了,也可以测试能用了。
5、之前卸载YUM的时候已经把YUM源也给删除了,为了能成功下载其他软件,我们需要添加YUM源,我是用阿里云的。
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# yum makecache
结束了,以上仅是我成功了,如果你们安装过程中有发生其他错误的,麻烦评论与我讨论。
目前共有 1 条回复