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
ここに出力を含めてください。