萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

CentOS 6.4 升級 Python 導致 yum 失效?修改 Shebang 與重裝 RPM 完美修復

CentOS 6 系統預設 Python 2.6.6,若直接編譯安裝 Python 2.7 並修改 /usr/bin/python 軟連結,會導致依賴 Python 2.6 的 yum 無法運作。本文提供兩階段修復方案:先修正 yum shebang,若仍失效則從安裝媒體重裝核心 RPM 套件。

升級 Python 典型流程(回顧)

wget https://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar -jxvf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure && make && make install
/usr/local/bin/python2.7 -V  # 確認 2.7.3

修改預設 python 指向

mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
python -V  # 顯示 2.7.3

修復步驟 1:修正 yum shebang

vi /usr/bin/yum
# 將第一行 #!/usr/bin/python 改為
#!/usr/bin/python2.6.6

此步驟通常已能恢復 yum 功能。

修復步驟 2:若仍報錯,從安裝 ISO 重裝核心 RPM

掛載 CentOS 6.4 安裝光碟/ISO,複製以下套件至 /usr/local/src/Python-2.6.6/:

  • python-2.6.6-36.el6.x86_64.rpm
  • python-urlgrabber-3.9.1-8.el6.noarch.rpm
  • python-devel-2.6.6-36.el6.x86_64.rpm
  • python-libs-2.6.6-36.el6.x86_64.rpm
  • yum-3.2.29-40.el6.centos.noarch.rpm

執行強制重裝:

cd /usr/local/src/Python-2.6.6/
rpm -Uvh --replacepkgs *.rpm

完成後 yum 即可正常運作。

最佳實踐建議

生產環境不建議替換系統預設 python 連結。需較新 Python 時,請使用 python2.7、virtualenv 或 pyenv 管理獨立環境,避免破壞系統工具。

copyright © 萬盛學電腦網 all rights reserved