YUM重装经历

云服务器用了一段时间,今天发现yum用不了了,使用yum时提示如下错误

  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

由于是云服务器提供了快照,理论上可以通过回滚还原,但快照间隔时间有点长,其间又装了无数内容,所以只能选择修复yum。

通过搜索问题得知由于yum依赖python2,此错误是python3不兼容导致。所以我下载了python2源码(python2.7和python2.5都尝试过)并进行了安装、创建了python的软连接、修改了/usr/bin/python,但运行时依旧如下报错

        No module named yum

Please install a package which provides this module, or verify that the module is installed correctly.

再次搜索,其间装了各种版本python2始终不行,最后只有重装yum。但网上方案有些比较坑,除了删除yum相关内容还要删除python相关内容,其实完全没有必要。通过rpm -qa|grep yum和rpm -qa|grep python可以查看已安装内容,yum的只有三个还比较少,但python相关就很多了,所以最好先只卸载rpm:

rpm -qa | grep yum | xargs rpm -e –nodeps

然后通过cat /etc/redhat-release查看linux版本,去http://mirrors.163.com/centos/X/os/x86_64/Packages/下载yum包

1、yum-\*.rpm

2、yum-metadata-parser-\*.rpm

3、yum-plugin-fastestmirror-\*.rpm

但安装时可能会有类似rpm >= 0:4.11.3-22 is needed by yum-3.4.3-154.el7.centos.noarch的报错,那就按照提示下载相应rpm-*.rpm的包进行安装,推荐先普通安装,如果显示已经安装过,再通过--force强制覆盖安装

安装后尝试运行yum指令,还是No module named yum的报错,于是再安装python包,下载

1 python-*.rpm

2 python-libs-*.rpm

安装时又提示libcrypto.so.10(OPENSSL_1.0.2)(64bit) is needed,于是再去下载

1 openssl-*.rpm

2 openssl-libs-*.rpm

安装完后yum就能正常使用了(我是装了两次,第二次强制安装才正常,即使有效包已经存在但并不会生效,一定要强制覆盖安装)

 

总结:包存在情况一定要强制覆盖安装才能使包生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值