web-dev-qa-db-ja.com

yumがハングし、応答しません

私は走っているyum check-updateおよび2行の出力後にフリーズします。

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

何が起こっているのかわかりません。 yumで最後に覚えたことはyum updateそして、CentOSのyumリポジトリの1つを確認しましたが、何も変更していません。

Yumを修正するための提案はありますか?

38
barrrista

DNSに問題がある可能性があります。ローカルでDNSレコードを解決できることを確認してください。

nslookup google.com

そのコマンドからIPが返された場合、DNSは問題ありません。次に、fastestmirrorキャッシュを削除して、yumコマンドを再実行します。

rm -f /var/cache/yum/timedhosts.txt

22
Garrett

これはすべて私にはうまくいきませんでした。

CentOSとyumを使用します。 yumは、少なくともエラーメッセージなしでハングアップするため、表示されます。押す Ctrl+C 機能しません(何度も何度も押します)。

確認する必要があるいくつかのこと:-リポジトリは大丈夫ですか? -ネットワークは正常ですか? -yumおよびrpmデータベースは大丈夫ですか?

だから、最初は簡単なものから始めてください-データベースをきれいにしてください:

rm -f /var/lib/rpm/__*
rpm --rebuilddb -v -v   
yum clean all

それでも問題が解決しない場合は、/etc/yum.confでyumのデバッグレベル、エラーレベル、タイムアウトを設定できます。

debuglevel=1
errorlevel=1
timeout=1

タイムアウトは標準30秒です。したがって、リポジトリが応答しない場合、エラーが表示されるまでに30秒かかります。オプション--nopluginsを使用して、プラグインなし(最速のミラーや優先度など)なしでyumを使用してみてください。これで、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.

これは、サーバーから情報を受信できないことを示しています。 Webブラウザで、yumによって表示されるURL(上記のlink-to-server-repositoryで示されている)を試してください。この投稿ではなく、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

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

68
user179734

同様の問題がありました。 resolv.confの古いDNSアドレスであることが判明しました。 IPを正しいものに変更し、問題を修正しました。

2
Joe Sulkowski

上記のコメントについて質問するのに十分な評判がありません。

このソリューションを試してみたところ、-nopluginsを使用するとすべてが正常に実行されることに気付きました。プラグインをバイナリ検索した後、subscription-managerがすべての問題の原因であることがわかりました。私はそれを無効にしてボイラ! – Mariuslp

@mariuslp、-nopluginsを追加するだけで、yumを実行することもできます。 「プラグイン間のバイナリ検索」をどのように実行したか、その検索で何が問題の原因を特定したかについて、詳細を教えてもらえますか?ありがとう!

0
cniggeler

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

Sudo rm /var/run/yum.pidで削除し、問題は解決しました。

0
bekce