yum がハングして応答しない

yum がハングして応答しない

実行していますyum check-updateが、2 行の出力後にフリーズします。

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

何が起こっているのかよく分かりません。yum で最後にやったことは、yum updateCentOS 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 を試して、うまくいけば、 を再設定する必要がありますcsfcsf次のコマンドで再度有効にします。

csf -e

また、プロキシ設定も確認してください。 の .repo ファイルで https を http に変更してみることもできます/etc/yum.repos.d/

答え3

私の場合、/var/lib/rpm/.dbenv.lockyum コマンドがハングする原因は、残存している RPM データベース ロック ファイルでした。そのファイルを削除した後、yum を再び使用できるようになりました。

答え4

同様の問題が発生しましたが、その理由は、/var/run/yum.pid以前の yum 実行で致命的なエラーのために残された yum ロック ファイルが存在していたためです。

それを取り除いたらsudo rm /var/run/yum.pid問題は解決しました。

関連情報