2015年6月2日火曜日

CentOSでyumが壊れたときの対処方法

Yum - Jelly by Oh-mai-gawd http://oh-mai-gawd.deviantart.com/art/Yum-Jelly-114439461
新しくPythonをインストールした時などに、yumが壊れることがあります。
(しっかり、configureを設定しろ。という話ではありますが。ついうっかり。ということはあるでしょう・・・。)
以下は、そんなときの対処方法です。

yumが壊れたときのメッセージです。
"No module named yum" と怒られています。
# yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named yum

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.9 (default, Mar  6 2015, 15:07:57)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)]

If you cannot solve this problem yourself, please go to
the yum faq at:
  http://yum.baseurl.org/wiki/Faq
Python2.6とyumをrpmから強制再インストール。
# rpm -Uhv --force http://mirror.centos.org/centos/6.6/os/x86_64/Packages/python-2.6.6-52.el6.x86_64.rpm
# rpm -Uhv --force http://mirror.centos.org/centos/6.6/os/x86_64/Packages/yum-3.2.29-60.el6.centos.noarch.rpm
yumの動作確認。
# yum --help
別バージョンのPythonとyumを共存させたい場合は、 /usr/bin/yum ファイルの1行目のシェバンを調整すると良いでしょう。
# emacs /usr/bin/yum

#!/usr/bin/python
->
#!/usr/bin/python2.6