壊れた yum インストール

壊れた yum インストール

yum update を使用してサーバー上の CentOS を更新しようとしましたが、次のエラーが発生します。

Traceback (most recent call last):
  File "/usr/bin/yum", line 4, in <module>
    import yum
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 59, in <module>
    import config
  File "/usr/lib/python2.7/site-packages/yum/config.py", line 30, in <module>
    from parser import ConfigPreProcessor, varReplace
  File "/usr/lib/python2.7/site-packages/yum/parser.py", line 4, in <module>
    import urlgrabber
  File "/usr/lib/python2.7/site-packages/urlgrabber/__init__.py", line 55, in <module>
    from grabber import urlgrab, urlopen, urlread
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1616
    errstr = str(e.args[1]) or pyerr2str.get(errcode, '<Unknown>')

私の Python に重大な問題があるとしか思えません。どうすれば修正できますか?

PS 私は Debian ベースのシステムには経験がありますが、rpm ベースのシステムには経験がありません。これは私の最初の rpm ベースのサーバーなので、寛容に見守ってください。

編集:

[root@WEBITCONSULT ~]# yum repolist
Traceback (most recent call last):
  File "/usr/bin/yum", line 4, in <module>
    import yum
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 59, in <module>
    import config
  File "/usr/lib/python2.7/site-packages/yum/config.py", line 30, in <module>
    from parser import ConfigPreProcessor, varReplace
  File "/usr/lib/python2.7/site-packages/yum/parser.py", line 4, in <module>
    import urlgrabber
  File "/usr/lib/python2.7/site-packages/urlgrabber/__init__.py", line 55, in <module>
    from grabber import urlgrab, urlopen, urlread
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1616
    errstr = str(e.args[1]) or pyerr2str.get(errcode, '<Unknown>')
         ^
SyntaxError: invalid syntax

答え1

yum キャッシュとメタデータを消去するには、次の操作を試してください。

yum clean metadata && yum clean all

RPM データベースを再構築します。

rm -f /var/lib/rpm/__db*
rpm -vv --rebuilddb

それでも問題が解決しない場合は、yum repolistここに出力を含めてください。

関連情報