実行していますyum check-update
が、2 行の出力後にフリーズします。
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
何が起こっているのかよく分かりません。yum で最後にやったことは、yum update
CentOS yum リポジトリの 1 つを見ただけで、変更は何もしていませんでした。
yum を修正するための提案はありますか?
答え1
DNS に問題がある可能性があります。DNS レコードをローカルで解決できることを確認してください。
nslookup google.com
このコマンドから IP が返された場合、DNS は問題ありません。次に、最速のミラー キャッシュを削除して、yum コマンドを再実行してみてください。
rm -f /var/cache/yum/timedhosts.txt
答え2
これらすべては私には効果がありませんでした。
CentOS と yum を使用しています。少なくとも、エラー メッセージは表示されずに yum がハングするようです。Ctrl+を押してCも機能しません (何度も何度も押すと機能します)。
いくつかの点を確認する必要があります: - リポジトリは正常ですか? - ネットワークは正常ですか? - yum および rpm データベースは正常ですか?
まず、簡単なところから始めましょう。データベースをクリーンアップします。
rm -f /var/lib/rpm/__*
rpm --rebuilddb -v -v
yum clean all
それでもうまくいかない場合は、 yum のデバッグ レベル、エラー レベル、タイムアウトを次のように設定します/etc/yum.conf
。
debuglevel=1
errorlevel=1
timeout=1
タイムアウトは標準で 30 秒です。したがって、リポジトリが応答しない場合、エラーが表示されるまで 30 秒かかります。また、オプション を指定して、プラグイン (最速ミラーや優先度など) なしで yum を使用してみてください--noplugins
。これで、yum を再度起動すると、より速く、より多くの情報が得られるはずです。次を使用してテストします。
yum --verbose --noplugins info
次のような結果になるかもしれません:
Config time: 0.105
Yum Version: 3.2.22
Setting up Package Sacks
Loading mirror speeds from cached hostfile
* base: mirror.nl.leaseweb.net
* extras: mirror.nl.leaseweb.net
* ius: mirrors.ircam.fr
* rpmforge: mirror.nl.leaseweb.net
* updates: mirror.nl.leaseweb.net link-to-server-repository/repomd.xml: [Errno 4] IOError: urlopen error (97, 'Address family not supported by protocol')
Trying other mirror.
これは、サーバーから情報を受信できないことを示しています。yum によって表示される URL (上記の link-to-server-repository で示されています) を Web ブラウザーで試してください。この投稿からではなく、yum の応答からコピーして貼り付けてください。リストが表示されれば、リポジトリがオンラインであることがわかります。
ブラウザでエラーが表示される場合は、 からそのリポジトリを削除してみてください/etc/yum.repos.d
。wget を使用してサーバー上のリストを取得し、URL を貼り付けてみてください。
wget link-to-server-repository/repomd.xml
タイムアウトが発生する場合は、ファイアウォールまたはプロキシ設定に問題があります。ファイアウォールを無効にしてみてください。
csf
(ConfigServer Security and Firewall)を実行している場合は、lfd
次のコマンドで csf を無効にできます。
csf -x
もう一度 yum を試して、うまくいけば、 を再設定する必要がありますcsf
。csf
次のコマンドで再度有効にします。
csf -e
また、プロキシ設定も確認してください。 の .repo ファイルで https を http に変更してみることもできます/etc/yum.repos.d/
。
答え3
私の場合、/var/lib/rpm/.dbenv.lock
yum コマンドがハングする原因は、残存している RPM データベース ロック ファイルでした。そのファイルを削除した後、yum を再び使用できるようになりました。
答え4
同様の問題が発生しましたが、その理由は、/var/run/yum.pid
以前の yum 実行で致命的なエラーのために残された yum ロック ファイルが存在していたためです。
それを取り除いたらsudo rm /var/run/yum.pid
問題は解決しました。