Centos 7 クラスターで yum を使用してパッケージをインストールしようとしたところ、次のエラーが発生しました。
One of the configured repositories failed (Unknown),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this: [...]
yum clean all
オンラインで提案されているいくつかの解決策 (キャッシュの削除、リポジトリ データベースの削除と再構築など)を試しましたが、何も機能しませんでした。
何時間もトラブルシューティングを行った後、回避策を見つけることができました。/etc/yum.repos.d/CentOS-Base.repo
ファイル上で、baseurl
行のコメントを解除し、$releasever
変数を「7」(OS のバージョン)に置き換えました。何らかの理由で、yum は $releasever を認識できず、リポジトリを見つけることができませんでした。
したがって、次の代わりに:
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
私は持っている:
baseurl=http://mirror.centos.org/centos/7/os/$basearch/
その後、yum update と yum install は両方とも正常に動作するようです。ただし、これが問題の永続的な解決策であるかどうかはわかりません。
何が起こっているのか、またこの問題を解決するより適切な方法があるかどうか、誰か教えてもらえますか?
ありがとう。
答え1
最近、この問題に遭遇しました。設定はうまくいきました。また、で設定releasever
を修正できることもわかりました。distroverpkg
/etc/yum.conf
次のように設定しました:
distroverpkg=centos-release
これは私にとってはうまくいきました。
答え2
解決策を見つけました。
yum --installroot=/usr/local install nginx --releasever=7
しかし、なぜ失敗したのかはまだ解明されていません。