openSUSE: Update-Probleme rpm

Nach dem letzten automatischen mitternächtlichen Update verweigerten alle unsere openSUSE 13.1/13.2-Instanzen jedes weitere Update mit einer rpm-Fehlermeldung:

openSUSE rpm-Fehlermeldung

Offensichtlich war es bei der Erstellung eines der Update-Pakete zu einem Fehler gekommen, der zwar wenig später behoben wurde - nur, wer zu diesem Zeitpunkt bereits das fehlerhafte Paket im System hatte stand nun vor dem klassischen “Henne und Ei”-Problem: theoretisch wäre der Fehler durch das Einspielen des Updates behoben worden, nur praktisch konnte man ihn nicht einspielen weil ja eben die Update-Funktion “broken” ist.

Ein kleiner, aber beherzter Eingriff auf der Kommandozeile löst das Dilemma - im ersten Schritt:

zypper refresh
zypper up rpm

Dieses Update scheitert nun wie angekündigt, jetzt einfach rpm von Hand mit dem Pfad aus der Fehlermeldung von Schritt 1 aufrufen, dabei aber darauf achten dass event. Leerzeichen (wie ich Pfade mit Leerzeichen liebe! ;-)) escaped werden:

rpm -F /var/cache/zypp/packages/openSUSE\ Current\ OSS\ updates/x86_64/rpm-4.11.3-8.1.x86_64.rpm

Danach kann das Online-Update wie gewohnt entweder von Hand aufgerufen werden (oder man wartet bis zum nächsten automatischen Aufruf):

/etc/cron.daily/opensuse.org-online_update

Behebung openSUSE rpm-Fehlermeldung

PS: wie man sieht habe ich bei uns tägliche Updates eingestellt (was ja auch irgendwie die Ursache für das Problem war), wenn man z.B. wöchentliche Abstände eingestellt hat dann findet sich das Kommando natürlich unter:

/etc/cron.weekly/opensuse.org-online_update

Wenn man sich die Sucherei sparen will: in Wirklichkeit ruft opensuse.org-online_update nur zypper auf, was man natürlich auch von Hand machen kann:

zypper --non-interactive --quiet patch

Wenn man das “—quiet” wegläßt dann sieht man sogar was passiert.

blogroll

social