Yum scheint die Variable $releasever in der Centos-Repos-Datei nicht zu erkennen

Yum scheint die Variable $releasever in der Centos-Repos-Datei nicht zu erkennen

Ich habe versucht, yum auf einem Centos 7-Cluster zum Installieren eines Pakets zu verwenden und habe die folgende Fehlermeldung erhalten:

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: [...]

Ich habe mehrere online vorgeschlagene Lösungen ausprobiert ( yum clean allCache löschen, Repo-Datenbanken löschen und neu erstellen usw.), und nichts hat funktioniert.

Nach stundenlanger Fehlersuche gelang es mir, eine Problemumgehung zu finden. In der /etc/yum.repos.d/CentOS-Base.repoDatei habe ich die Zeile auskommentiert baseurlund die $releaseverVariable durch „7“ (also die Version des Betriebssystems) ersetzt. Aus irgendeinem Grund konnte Yum $releasever nicht erkennen und das Repo nicht finden.

Also statt:

baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

Ich habe:

baseurl=http://mirror.centos.org/centos/7/os/$basearch/

Danach scheinen sowohl Yum Update als auch Yum Install einwandfrei zu funktionieren. Ich weiß jedoch nicht, ob dies eine dauerhafte Lösung des Problems ist.

Kann mir jemand sagen, was los ist und ob es eine bessere Möglichkeit gibt, dieses Problem zu beheben?

Danke.

Antwort1

Ich hatte vor kurzem dieses Problem. Die Einstellung releaseverhat bei mir funktioniert. Ich habe auch festgestellt, dass ich die distroverpkgEinstellung in beheben konnte /etc/yum.conf.

Ich habe es auf Folgendes eingestellt:

distroverpkg=centos-release

Das hat bei mir funktioniert.

Antwort2

Ich habe die Lösung gefunden.

yum --installroot=/usr/local install nginx --releasever=7

aber warum es fehlschlug, ist noch immer nicht herausgefunden worden.

verwandte Informationen