Yum がクリーンな CentOS 7 で動作しない - 修正方法?
今日、私は次のような不可解な問題の解決策を見つけるために壁に頭をぶつけていました。パッケージのインストールやシステムの更新など、ターミナルでコマンドを実行すると、CentOS 7 の最小限のシステムで次のエラーがスローされます。
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.excellmedia.net
* elrepo: ftp.nluug.nl
* extras: mirrors.vonline.vn
* updates: mirrors.vonline.vn
Traceback (most recent call last): 27% [================ ] 140 kB/s | 2.5 MB 00:00:48 ETA
File "/usr/libexec/urlgrabber-ext-down", line 75, in
main()
File "/usr/libexec/urlgrabber-ext-down", line 61, in main
fo = PyCurlFileObject(opts.url, opts.filename, opts)
File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1258, in __init__
self._do_open()
File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1589, in _do_open
self._do_grab()
File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1723, in _do_grab
self._do_perform()
File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1517, in _do_perform
raise KeyboardInterrupt
KeyboardInterrupt
Exiting on user cancel
プロセスをキャンセルしたり、キーボードを中断したりしませんでしたが、CentOS 7 仮想マシンでは上記のエラーが表示され続けました。何度も試しましたが、パッケージのインストールやシステムの更新はできませんでした。
ありがたいことに、このスレッドから解決策を見つけました。
問題を解決するために私がやったことは次のとおりです。念のため、同じエラーが発生した場合は、次の手順を実行してください。
ターミナルからroot ユーザーとして次のコマンドを 1 つずつ実行します。
yum clean metadata
yum clean all
yum upgrade
または、単純に root ユーザーとして 1 行のコマンドを実行します。
bash -c 'yum clean metadata && yum upgrade'
それでおしまい。問題は解決しました!これで、どのソフトウェアも問題なくインストールできました。
2016 年 4 月 12 日の更新:
残念ながら、上記の解決策はもう機能しませんでした。理由は分かりません。ただし、次のトリックを実行することで、上記のエラーを一時的に修正することができました。
/usr/lib/python2.7/site-packages/urlgrabber/grabber.py ファイルを編集します。
vi /usr/lib/python2.7/site-packages/urlgrabber/grabber.py
次の行 (1510 行目) を見つけて、その行の前にハッシュ記号 (#) を追加して褒めます。
elif errcode in (42, 55, 56):
ファイルを保存して閉じます。
最後に、root ユーザーとして次のコマンドを 1 つずつ実行します。
yum clean metadata
yum clean all
yum upgrade
今度はうまくいきました!なぜこんなことが起こるのか本当に分かりません。お役に立てれば。