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

但為什麼失敗仍然沒有弄清楚。

相關內容