SuSE 10.2: Online-update mit zypper

LinuxAdmin

Moderator
Hi,

vermutlich ist das hier das falsche Forum, denn es scheint niemand "zypper" zu verwenden, zumindest findet man bei der Suche keinen einzigen relevanten Thread dazu...

Mein Problem: Das Online-update hatte mit openSuSE 10.2 vorher einwandfrei funktioniert, doch seit einiger Zeit gibt es nicht nachvollziehbare rpm-Fehler. Mir ist leider auch nicht bewusst, was ich geändert haben könnte, das diesen Fehler hervorruft -- auf einem anderen (ziemlich ähnlich konfigurierten) Server funktioniert das Update nach wie vor....

Die Symptome:
Code:
# zypper up
Restoring system sources...
Parsing metadata for 20070802-105539...
Parsing metadata for 20070630-215754...
Parsing RPM database...
Summary:
<install>   [S2:0][atom]rsync-2.6.8-29.i586
<install>   [S2:0][patch]rsync-3996-0.noarch
<uninstall> [S0:0][patch]rsync-3996-0.noarch
<uninstall> [S0:0][atom]rsync-2.6.8-29.i586
<uninstall> [S0:0][package]rsync-2.6.8-27.i586
<install>   [S2:0][package]rsync-2.6.8-29.i586
Continue? [y/n] y
Downloading: [S2:0][package]rsync-2.6.8-29.i586, 319.3 K(585.9 K unpacked)
Downloading patch.rpm: ./rpm/i586/rsync-2.6.8-29.i586.patch.rpm, 243.0 K
Installing: [S2:0][package]rsync-2.6.8-29.i586
[S2:0][package]rsync-2.6.8-29.i586 Subprocess failed. Error: RPM failed: 

Invalid object
Invalid object
Installing: [S2:0][package]rsync-2.6.8-29.i586
[S2:0][package]rsync-2.6.8-29.i586 Subprocess failed. Error: RPM failed: 

(with nodeps)Invalid object
(with nodeps)Invalid object
Installing: [S2:0][package]rsync-2.6.8-29.i586
[S2:0][package]rsync-2.6.8-29.i586 Subprocess failed. Error: RPM failed: 

(with nodeps+force)Invalid object
(A)bort, (R)etry, (I)gnore?
a
(with nodeps+force)Invalid object
Anscheinend passiert beim Bearbeiten des gepatchten RPMs ein Fehler, der allerdings nur eine "leere" Fehlermeldung gibt, aus der man nichts schließen kann. Leider werden die RPM-Operationen innerhalb von zypper in Form von Bibliotheksfunktionen ausgeführt, so dass man auch nicht rausfinden kann, was genau gemacht wurde (während simple Programme wie /bin/cp aufgerufen werden). Wenn man das zu aktualisierende RPM separat runter lädt und via "rpm -U" installiert, funktioniert das ohne Probleme, also kann es kaum an einer verpfuschten RPM-Datenbank, o.ä. liegen.
zypper --verbose sagt zwar viel, aber nichts interessantes zu den RPM-Operationen; in den knapp 180.000 Zeilen eines strace-Logs findet sich auch nichts wirklich brauchbares...

Hat schon jemand dieses Verhalten beobachtet oder weiß gar eine Lösung?:)

LinuxAdmin

PS: zypper-0.6.15-0.2, libzypp-2.15.10-0.1
 
Hi Sinepp,

den Bugzilla-Eintrag kannte ich schon, hatte ihn bisher aber nicht für relevant gehalten, da dort immer konkrete RPM-Fehler auftreten, die den zypper aus dem Takt bringen.

Aber wahrscheinlich hast Du Recht, und ich muss es dann doch mal versuchen und an dieser Stelle die Standard-Pakete der Distribution verlassen um auf die aktuelle Version zu wechseln. Leider kann man die dimstar-Pakete nicht so einfach installieren, da dessen Build-System in einigen Punkten von der Standard-Distribution abweicht (... und ich habe nicht vor, mich durch die ganzen Abhängigkeiten durch zu hangeln).

Da ich kein Buildenvironment auf meinem Produktiv-System habe, kann ich auch das src-RPM erst compilieren, wenn ich am Wochenende das passende VMware-Image mit openSuSE 10.2 aus meinem Archiv geholt habe...
Ob die neue Version dann der Bringer ist, wird sich zeigen -- allzu große Hoffnung habe ich nicht, aber zumindest muss ich es probiert haben ;). Insgesamt macht zypper noch einen etwas halbgaren Eindruck (insbesondere, wenn man den Bugzilla-Eintrag liest); keine Ahnung warum die das bei SuSE/Novell einsetzen...

Jedenfalls vielen Dank für die Antwort,
LinuxAdmin
 
Ich finds auch nicht so prickelnd. Drück Dir die Daumen, dass es damit geht. Komisch ist, dass die Fehler nicht in jedem Fall auftreten.

Grüße
Sinepp
 
Abschluss

So, hier noch eine Art Abschlussbericht:

Die Zypper-Version von vor 2 Wochen ließ sich leider nicht kompilieren (weiß nicht mehr genau, welcher C++-Fehler es war, ich glaube die Argumente bei irgendeinem überladenen Operator stimmten nicht -- hatte keine Lust mich da tiefer rein zu arbeiten).
Zwischenzeitlich gab es im dimstar-Repository eine neuere Version (zypper-0.8.16-2.1.i586.rpm, libzypp-3.18.4-2.1.i586.rpm), die sich sogar mit verhältnismäßig geringem Aufwand installieren ließ (es reicht, die libstdc++ auf die Version zu bringen, die sich bei dimstar findet). Leider findet diese Version keine patches, obwohl definitiv welche vorhanden sind. Das Neuladen der Repository-Daten half da auch nicht weiter. War wohl nichts...

Falls in den nächsten Wochen keine weiteren Tipps hier kommen sollten, werde ich den Server wohl neu installieren müssen:( In der Zwischenzeit ist halt manuelles Patchen angesagt...

LinuxAdmin
 
Lösung

Gut, die Ursache des Problems ist gefunden:
Code:
resource         held       maxheld   barrier  limit       failcnt
privvmpages  56270   102569     98304  106496  657
Auch wenn auf dem vServer nicht sonderlich viel läuft, reichen die Ressourcen nicht immer zum Update mit zypper aus. Wenn ich (fast) alle Dienste anhalte, funktioniert der zypper wieder...

Naja...,
LinuxAdmin
 
Back
Top