これらすべてがうまくいきませんでした.
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.
これは、サーバーから情報を受信できないことを示します。 yum によって表示される URL (上で link-to-server-repository で示されている) を Web ブラウザーで試してください。この投稿からではなく、yum の応答からコピーして貼り付けてください。リストを取得すると、リポジトリがオンラインであることがわかります。
ブラウザでエラーが発生した場合は、そのリポジトリを /etc/yum.repos.d
から削除してみてください . wget を使用してサーバー上のリストを取得し、URL を貼り付けてみてください:
wget link-to-server-repository/repomd.xml
これでタイムアウトが発生する場合は、ファイアウォールまたはプロキシの設定に問題があります。ファイアウォールを無効にしてみてください。
csf
を実行している場合 (ConfigServer セキュリティとファイアウォール) および lfd
csf を無効にするには:
csf -x
yum をもう一度試してみて、うまくいく場合は csf
を再設定する必要があります . csf
を有効にする もう一度:
csf -e
また、プロキシ設定も確認してください。 /etc/yum.repos.d/
の .repo ファイルで https を http に変更することもできます。 .
DNS に問題がある可能性があります。 DNS レコードをローカルで解決できることを確認してください:
nslookup google.com
そのコマンドから IP が返された場合、DNS は問題ありません。次に、最速のミラー キャッシュを削除して、yum コマンドを再実行してみてください:
rm -f /var/cache/yum/timedhosts.txt
同様の問題がありました。 resolv.conf
の古い DNS アドレスであることが判明しました . IP を正しいものに変更したところ、問題は解決しました。