在CentOS上如果沒有yum命令,裝任何軟件都將變的異常艱難。最近發現一台閑置的服務器上yum命令運行不起來了,一直報”Python找不到yum擴展”,服務器版本CentOS 6.8。查了各種問題都無法修復,最后想想重裝算了。很多時候如果發現修復比重做更費時我們應該果斷重做。
刪除所有Python依賴
首先需要強制刪除已安裝程序及其關聯
rpm -qa|grep python|sudo xargs rpm -ev –allmatches –nodeps
然后刪除所有殘余文件
whereis python |sudo xargs rm -frv
最后驗證是否刪除完成,返回無結果表示刪除成功
whereis python
刪除所有yum依賴
刪除依賴
rpm -qa|grep yum|sudo xargs rpm -ev –allmatches –nodeps
全局搜索刪除
whereis yum |sudo xargs rm -frv
下載需要用到的安裝文件
可以到對應的操作系統版本下載對應的文件,鏡像下載鏈接如下(這里以centos/6.8為例)http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/
需要下載如下文件:
python-2.6.6-64.el6.x86_64.rpm python-devel-2.6.6-64.el6.x86_64.rpm python-libs-2.6.6-64.el6.x86_64.rpm python-pycurl-7.19.0-9.el6.x86_64.rpm python-setuptools-0.6.10-3.el6.noarch.rpm python-urlgrabber-3.9.1-11.el6.noarch.rpm python-iniparse-0.3.1-2.1.el6.noarch.rpm rpm-python-4.8.0-55.el6.x86_64.rpm yum-3.2.29-73.el6.centos.noarch.rpm yum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-utils-1.1.30-37.el6.noarch.rpm yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm yum-plugin-protectbase-1.1.30-37.el6.noarch.rpm yum-plugin-aliases-1.1.30-37.el6.noarch.rpm
這樣一個一個下載非常麻煩,我建議寫成shell腳本,如果是CentOS 6.8可以直接復制如下內容到 t.sh 文件中,然后執行 t.sh 。
wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-2.6.6-64.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-devel-2.6.6-64.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-libs-2.6.6-64.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-pycurl-7.19.0-9.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-setuptools-0.6.10-3.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/rpm-python-4.8.0-55.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-utils-1.1.30-37.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-plugin-protectbase-1.1.30-37.el6.noarch.rpm wget http://mirrors.ustc.edu.cn/centos/6.8/os/x86_64/Packages/yum-plugin-aliases-1.1.30-37.el6.noarch.rpm
安裝文件
首先安裝python相關的rpm包
rpm -Uvh –replacepkgs python*.rpm
然后安裝yum相關的包
rpm -Uvh –replacepkgs rpm-python*.rpm yum*.rpm
如果提示報錯,可以一個一個包安裝,比如提示(-ivh是安裝覆蓋,-Uvh是升級安裝):
rpm -ivh yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
提示:
yum >= 3.0 is needed by yum-plugin
改為:
rpm -ivh yum-3.2.29-73.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
運行
最后我們可以運行” yum -h ”來驗證是否安裝成功。