YumはCentos reposファイルの$ releasever変数を認識しないようです。

YumはCentos reposファイルの$ releasever変数を認識しないようです。

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」(つまりオペレーティングシステムのバージョン)に置き換えました。何らかの理由で、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

しかし、なぜ失敗したのかはまだ明確ではありません。

関連情報