Ich richte ein yum-Repository ein und muss einige der URLs in der Datei yum.conf debuggen. Ich muss wissen, warum Scientific Linux versucht, diese URL abzurufen, als ich damit gerechnet habe, dass eine andere URL abgerufen wird:
# yum install package
http://192.168.1.100/pub/scientific/6.1/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: sl. Please verify its path and try again
Die Hilfeseite yum.conf (5) enthält einige Informationen zu diesen Variablen:
Variablen
Es gibt eine Reihe von Variablen, mit denen Sie die Verwaltung der Konfigurationsdateien von yum vereinfachen können. Sie stehen in den Werten mehrerer Optionen zur Verfügung, einschließlich Name, Baseurl und Befehle.
$ releasever Dies wird durch den Wert der Version des in distroverpkg aufgelisteten Pakets ersetzt. Dies ist standardmäßig die Version des Pakets 'redhat-release'.
$ arch Dies wird durch Ihre Architektur ersetzt, wie sie in Python durch os.uname () [4] aufgeführt ist.
$ basearch Dies wird in yum durch Ihre Basisarchitektur ersetzt. Wenn Ihr $ arch zum Beispiel i686 ist, ist Ihre $ basearch i386.
$ YUM0- $ YUM9 Diese werden durch den Wert der gleichnamigen Shell-Umgebungsvariablen ersetzt. Wenn die Shell-Umgebungsvariable nicht vorhanden ist, wird die Konfigurationsdateivariable nicht ersetzt.
Gibt es eine Möglichkeit, diese Variablen mithilfe des yum
Befehlszeilendienstprogramms anzuzeigen ? Ich würde es vorziehen, die Version des Pakets 'redhat-release' nicht zu finden oder den Wert von os.uname () [4] in Python manuell abzurufen.
/etc/redhat-release
ist nicht dasselbe wie die $releasever
Variable. Die Frage hier ist, was Yum anstelle dieser Variablen ersetzt. Was passiert programmatisch?
rpm -qf /etc/issue
ist die kanonische Methode und wäre die Methode in LSB gewesen, außer dass SuSE sich in den FSStnd-Meetings nicht bewegt hat. YARLY.
cat /etc/redhat-release
Verwenden Siecat /etc/system-release
stattdessen, da dies ein Symlink zu / etc / redhat-release, / etc / centos-release, / etc / oel-release oder / etc / <was auch immer für wissenschaftliches Linux verwendet wird> ist.