Spacewalk / Red Hat Satellite / SUSE Manager Paketaufgabe schlägt fehl: "empty transaction [[6]]"
Beim Verteilen von Software-Paketen über Spacewalk, Red Hat Satellite oder SUSE Manager kann es nach einiger Zeit zu folgender Fehlermeldung auf den betroffenen Client-Systemen kommen:
1Error while executing packages action: empty transaction [[6]]
Die Ursache des Problems liegt in der Datenbank der Management-Suite. Nach einiger Zeit (oder nach einem Update der Datenbank-Schemata) sind die zwischengespeicherten Paketinformationen der einzelnen Client-Systeme fehlerhaft. Es werden beispielsweise bereits installierte Updates für Client-Systeme vorgesehen - eine Installation schlägt dann natürlich fehl.
Unter Spacewalk und Red Hat Satellite hatte ich diesen Effekt bereits mehrfach - unter SUSE Manager noch nicht, was daran liegt, dass ich diesen nicht produktiv einsetze. Prinzipiell funktioniert die Anleitung auch unter SUSE Manager.
Ein Lösungsansatz ist es, das Client-Profil zu aktualisieren:
1# rhn-profile-sync -v
Schlägt das fehl (was bei mir meistens der Fall war) hilft das Löschen des RHN-Caches auf dem Management-System. Hierzu müssen die Dienste gestoppt und ein Verzeichnis gelöscht werden:
1satellite # rhn-satellite stop
2susemgr_spacewalk # spacewalk-service stop
3# rm -rf /var/cache/rhn/*
Darüber hinaus muss temporär eine Variable in der RHN-Konfigurationsdatei angepasst werden, bevor der Dienst wieder gestartet wird:
1# vi /etc/rhn/rhn.conf
2...
3#fix incorrect repodata - DON'T forget to reset to 1!
4user_db_repodata=0
5
6ESC ZZ
7
8satellite # rhn-satellite start
9susemgr_spacewalk # spacewalk-service start
Es dauert nun bis zu einer Stunde bis der Cache wieder aufgebaut ist. Zwischenzeitlich kann es auf den registrierten Client-Systemen zu Fehlermeldungen in der Paketverwaltung kommen:
1# yum update
2...
3cannot retrive repository metadata (repod.xml) for repository: xyz
Anschließend wird die RHN-Konfigurationsdatei wieder angepasst:
1# vi /etc/rhn/rhn.conf
2...
3#fix incorrect repodata - DON'T forget to reset to 1!
4user_db_repodata=1
5
6ESC ZZ
Pro Client-System kann es notwendig sein, das Profil zu aktualisieren, um die korrekten verfügbaren Updates vorzuschlagen:
1# rhn-profile-sync -v
In meinem Fall wurden anschließend wieder die korrekten Patches aufgelistet. 🙂