Yum, похоже, не распознает переменную $releasever в файле репозитория Centos

Yum, похоже, не распознает переменную $releasever в файле репозитория Centos

Я пытался использовать yum в кластере Centos 7 для установки пакета и получил следующую ошибку:

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

но почему это не удалось, до сих пор не выяснилось.

Связанный контент