
Ich habe meinen Oracle Linux 6.4-Server auf Oracle Linux 6.8 aktualisiert, das beim Spacewalk-Server registriert ist. Aber nach dem Update funktionieren Yum-Befehle auf dem Server nicht.
[root@j4server tmp]# yum update
Loaded plugins: aliases, changelog, kabi, presto, refresh-packagekit, rhnplugin, security, tmprepo, verify,
: versionlock
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 298, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 115, in main
base.getOptionsConfig(args)
File "/usr/share/yum-cli/cli.py", line 229, in getOptionsConfig
self.conf
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 911, in <lambda>
conf = property(fget=lambda self: self._getConfig(),
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 363, in _getConfig
self.plugins.run('init')
File "/usr/lib/python2.6/site-packages/yum/plugins.py", line 184, in run
func(conduitcls(self, self.base, conf, **kwargs))
File "/usr/share/yum-plugins/rhnplugin.py", line 115, in init_hook
login_info = up2dateAuth.getLoginInfo()
File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 219, in getLoginInfo
login()
File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 167, in login
if readCachedLogin():
File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 133, in readCachedLogin
expireTime = float(li['X-RHN-Auth-Expiration'])
KeyError: 'X-RHN-Auth-Expiration'
Es wird diese Ausgabe ausgegeben. Wenn ich versuche, das Rhn-Plugin zu deaktivieren, funktionieren Yum-Befehle, ich liste die Pakete beim Spacewalk auf, kann sie aber, wie Sie vermuten, nicht installieren.
Haben Sie Ideen zu dieser Situation? Vielen Dank für jede Hilfe!
Antwort1
Ich habe die Lösung gefunden und poste sie hier, falls jemand in die gleiche Situation gerät. Der Grund für diesen Fehler ist, dass, wenn Sie den Oracle Linux-Server über Spacewalk mit dem Befehl „yum update“ aktualisieren, yum update das für Spacewalk aktivierte rhn-Plugin des Servers durch ein für ULN aktiviertes Plugin ersetzt.
Ich habe die up2date-Pakete mit „yum erase up2date“ und „yum erase pirut“ gelöscht und anschließend das ISO von „RHEL 6.8“ auf dem Oracle Linux-Server gemountet. Danach habe ich dieses ISO als lokales Repository hinzugefügt. Ich habe die rhn-Tools mit „yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin“ installiert und die lokale Repository-Datei entfernt. Jetzt funktioniert alles einwandfrei!
Antwort2
Ich bin auf denselben Fehler gestoßen, allerdings vielleicht aus einem anderen Grund. Ich habe mein Oracle Linux 6.7 bei einem Spacewalk-Server registriert, aber vergessen, vorher die Spacewalk-Pakete zu aktualisieren. Viele Recherchen haben nicht viel mehr ergeben, als dass dies ein Problem ist. (Ich habe die Lösung von DNND ausprobiert, aber rhn übernimmt yum. Einer der folgenden Befehle funktioniert mit seiner Lösung)
Es gibt einen bekannten Fehler in einem Python-Skript. Bearbeiten /usr/share/rhn/up2date_client/up2dateAuth.py
und ändern Sie 3 Instanzen von :X-RHN-Auth-Expiration
in X-RHN-Auth-Expire-Offset
.
Verwenden Sie entweder das Linux-ISO wie DNND oder ein modernes Repository und verwenden Sie Yum, indem Sie das RHN-Plugin deaktivieren:
yum --disableplugin=rhnplugin -y install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin
Antwort3
Hier ist eine einfache Lösung dafür. Ich habe herausgefunden, dass das rhnreg
gleichzeitige Ausführen des Befehls auf mehreren Servern, um den Client auf Spacewalk/Redhat Satellite zu registrieren, dieses Problem verursacht. Ich führe diesen Befehl beispielsweise auf 4 meiner Server aus und nur ein Server wurde erfolgreich registriert.
3 meiner Server werfen den gleichen Fehler wie oben beschrieben aus. So habe ich das Problem gelöst.
Habe eine Sicherungskopie meiner aktuellen up2dateAuth.py
Datei erstellt
cp /usr/share/rhn/up2date_client/up2dateAuth.py /usr/share/rhn/up2date_client/up2dateAuth.py_`date +%m_%d_%Y`
Ich habe es scp
vom ersten Server aus gemacht, der erfolgreich beim Spacewalk-Server registriert ist.
scp /usr/share/rhn/up2date_client/up2dateAuth.py root@server2:/usr/share/rhn/up2date_client/
ls -lrth /usr/share/rhn/up2date_client/up2dateAuth.py*
laufen
yum repolist
rhnreg_ks --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --serverUrl=https://myspacewalkserver-corp.com/XMLRPC --activationkey=1-oraclelinux6-x86_64 --force
yum repolist (it work like a charm)
PS: Vergessen Sie nicht, cd /etc/yum.repos.d/; rm -rf spacewalk26-client.repo zu entfernen, bevor Sie den Befehl rhnreg ausführen, sonst wird ein weiterer Fehler ausgegeben.
Deaktivieren Sie den Zugriff auf das Spacewalk-Client-Repository in der Oracle Linux Yum Server-Repository-Konfigurationsdatei oder löschen Sie /etc/yum.repos.d/spacewalk26-client.repo.