重裝 CentOS7 yum,解決 「No module named yum」 錯誤

前言

下午工做的時候遇到了一個問題,測試服務器上的 yum 不知爲什麼不能使用,拋出錯誤 No module named yum。Google 了以後發現基本都是講修改 yum 使用的 python 版本,可是在我嘗試安裝了 python2.6 並修改了 /usr/bin/yum 文件後發現仍是不行,因而決定重裝 yum。html

卸載 yum

首先查看現有的 yum:node

rpm -qa yum

卸載現有的 yum 源:python

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

根據系統版本,下載所需 rpm 包

先查看系統版本:linux

cat /etc/centos-release

肯定系統版本爲 CentOS Linux release 7.0.1406 (Core) 後,到官網查找下列 rpm 包:
http://mirror.centos.org/centos/7/os/x86_64/Packages/segmentfault

  • yum-3.4.3-163.el7.centos.noarch.rpm
  • yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
  • yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

若是爲其餘系統,可自行查找對應的包下載。centos

下載 yum 的 rpm 包:服務器

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

須要一塊兒安裝,否則會報互相依賴的錯誤。python2.7

解決錯誤:undefined symbol: rpmtsAddReinstallElement

在安裝以後,我運行 yum 的時候仍是報錯:/usr/lib64/python2.7/site-packages/rpm/_rpm.so: undefined symbol: rpmtsAddReinstallElement
這是因爲 rpm 包的版本不對應致使的。使用下列指令查看:測試

rpm -qa | grep rpm

顯示結果爲:ui

rpmfusion-free-release-7-4.noarch
rpm-python-4.11.3-40.el7.x86_64
rpm-libs-4.11.3-25.el7.x86_64
rpm-4.11.3-25.el7.x86_64
rpm-build-libs-4.11.3-25.el7.x86_64

發現其中 rpm-python 的包爲 3-40 ,而其餘包版本爲 3-25。這時再去下載對應 3-40 的包:

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/rpm-4.11.3-40.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/rpm-build-libs-4.11.3-40.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.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

安裝成功後再運行 yum 指令,就發現安裝成功啦~

參考文檔

Python 升級致使 yum 不可用 「 No module named yum」 - Linux 社區
yum 的卸載與從新安裝 - CSDN
CentOS7 的 yum 重裝 - CSDN
centos7 中 yum 的安裝 - 博客園
CentOS7 誤刪 python 及 yum(重裝)
rpm 安裝依賴問題 - 思否

相關文章
相關標籤/搜索