利用RedHat6.6光碟來重新安裝python和yum
環境: RedHat6.6
核心版本:2.6.32-279.el6.i686
gcc版本: 4.4.7
最近在物理機上安裝了RedHat6.6, 嫌系統安裝的python2.6.6太舊, 打算安裝python3.5。 安裝python3.5的步驟如同多數教程網站介紹一樣,安裝完畢。 為了配置新的python環境,結果手賤把舊的python2.6.6給解除安裝掉了, rm -rf /usr/lib/python2.6; rm -rf /usr/include.python2.6; 導致的結果是yum源失效, ibus-pinyin輸入法也失效。踩到大坑!!!
無奈, 一番“度娘谷哥”, 最終搞清楚了yum這個工具是基於python2.x開發的, 3.0以上的python與 2.x版本的python有很大的區別, 而RedHat, CentOS的系統工具對python有很嚴重的依賴性, 所以, 以後安裝新版本的軟體,千萬不能再手賤刪除舊版本的東西, 否則說不準會影響系統的哪一個工具的使用。 最好的辦法就是備份原來的可執行檔案,然後用軟連線(符號連結)來配置新的可執行檔案, 這樣既不破壞舊的環境, 又不影響新版本軟體的使用。
事已至此, 只能嘗試一下找對應的python2.6.6原始檔編譯安裝, 將安裝好的python2.6的庫與標頭檔案複製一份到誤刪除的目錄, 結果還是失敗, yum啟動不正常。一怒之下,乾脆全部刪除python和yum所有相關檔案, 再利用光碟配套的yum源中的rpm包來重新配置一次環境。如下為重灌yum和python的詳細步驟:
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps 刪除所有與yum相關的已經安裝的.rpm包:
whereis yum |xargs rm -frv #刪除與yum相關的配置檔案
whereis yum ##驗證刪除,返回無結果
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
##強制刪除已安裝程式及其關聯
whereis python |xargs rm -frv ##刪除所有殘餘檔案 ##xargs,允許你對輸出執行其他某些命令
whereis python ##驗證刪除,返回無結果
在安裝光碟的Package資料夾找到下列檔案, 版本號可以不同, 字首要相同:
python-2.6.6-64.el6.x86_64
python-devel-2.6.6-64.el6.x86_64
python-dateutil-1.4.1-6.el6.noarch
python-pycurl-7.19.0-9.el6.x86_64
rpm-python-4.8.0-55.el6.x86_64
python-iniparse-0.3.1-2.1.el6.noarch
python-libs-2.6.6-64.el6.x86_64
python-urlgrabber-3.9.1-11.el6.noarch
python-setuptools-0.6.10-3.el6.noarch
yum-plugin-fastestmirror-1.1.30-37.el6.noarch #該外掛包沒找到, 網上下載一個,版本號也可以不同
yum-metadata-parser-1.1.2-16.el6.x86_64 #yum 的基礎安裝包
yum-3.2.29-73.el6.centos.noarch #yum 的基礎安裝包,除此以外,還有一個yum-rhn-plugin-0.9.1-50.el6.noarch.rpm外掛包,可選安裝
將上述檔案拷貝到同一個資料夾,然後開啟終端,切換root使用者執行安裝程式:
rpm -Uvh --replacepkgs python*.rpm
rpm -ivh yum-3.2.29-73.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
yum install yum-* #安裝yum支援的所有外掛
安裝完畢後, 可能你的/etc/yum/pluginconf.d資料夾內缺少product-id.conf和subscription-manager.conf
自己vi寫一個, 內容都是:
[main]
enabled=0
儲存,退出;
yum clean all;
yum makecache;
執行上述命令沒出錯,說明成功恢復了之前的yum配置環境了。
至此, yum恢復了, 但是ibus-pinyin的問題筆者還沒有解決,還在修bug中, 初步兩個途徑, 安裝一個
新的中文輸入法代替ibus-pinyin, 重新安裝ibus-pinyin,甚至用yum groupinstall 重新安裝中文支援模組。
引用文獻: