有一逗逼朋友在搞Python的時候把Python2.7卸載了,并順手刪除了yum.
幫忙恢復(fù),遇到了一些坑,特此記錄一下。
步驟一丶 安裝Python
以安裝Python2.7.15
為例,遠程至Linux服務(wù)器,依次執(zhí)行:
$ cd /usr/local/src
$ wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
$ tar -zxvf Python-2.7.15.tgz
$ cd Python-2.7.15
$ ./configure
$ make && make install
- 如果你在刪除
yum
之前未安裝wget
,可以在本地下載后上傳到服務(wù)器并進行安裝迎膜。
步驟二丶 恢復(fù)yum
先把可能殘留的yum相關(guān)的東西刪除:
rpm -aq|grep yum|xargs rpm -e --nodeps
到http://mirrors.163.com/centos
目錄下,下載所需的相關(guān)文件
python-urlgrabber-3.10-8.el7.noarch.rpm
python-iniparse-0.4-9.el7.noarch.rpm
yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-3.4.3-158.el7.centos.noarch.rpm
這些文件的具體鏈接和你是用的系統(tǒng)版本有關(guān),如我是用的是CentOS7,則對應(yīng)的目錄為:http://mirrors.163.com/centos/7/os/x86_64/Packages
,如使用CentOS6,可以到http://mirrors.163.com/centos/6/os/x86_64/Packages
目錄下尋找.
$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-158.el7.centos.noarch.rpm
下載完畢之后,安裝順序進行安裝:
$ rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm
$ rpm -ivh python-urlgrabber-3.10-8.el7.noarch.rpm
$ rpm -ivh yum-3.4.3-158.el7.centos.noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
其中第三步中的包需要同時進行安裝,單獨安裝會出現(xiàn)依賴錯誤袍辞。
如果在安裝過程中出現(xiàn)類似于:python(abi) = 2.7 is needed by xxx
這樣的錯誤,那你可能需要先安裝如下兩個包:
python-libs-2.7.5-68.el7.x86_64.rpm
python-2.7.5-68.el7.x86_64.rpm
python-devel-2.7.5-68.el7.x86_64.rpm
同樣的,安裝方法為:
$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-libs-2.7.5-68.el7.x86_64.rpm
$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-2.7.5-68.el7.x86_64.rpm
$ wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-devel-2.7.5-68.el7.x86_64.rpm
$ rpm -ivh python-libs-2.7.5-68.el7.x86_64.rpm
$ rpm -ivh python-2.7.5-68.el7.x86_64.rpm
$ rpm -ivh python-devel-2.7.5-68.el7.x86_64.rpm
然后再返回去執(zhí)行前面幾個的安裝。
步驟三丶 更新repo文件
依次執(zhí)行如下的命令:
$ cd /etc/yum.repos.d
$ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
$ rm -rf CentOS-Base.repo
$ mv CentOS7-Base-163.repo CentOS7-Base.repo
此時,安裝已經(jīng)完成造寝】暮椋可在命令行下直接使用yum
指令進行驗證,如任有問題,請檢查以上步驟是否有遺漏。
其他
在剛開始修復(fù)yum時,嘗試使用下載yum,通過運行 yummain.py install yum
進行安裝,遇到了諸如pycurl缺失
,sqlitecachec缺失
等一系列的問題,最終發(fā)現(xiàn)還是通過以上的方法安裝最為省事诫龙。