RPM: Segmentation fault after update from 8.1 -> 9.0
Hallo Linux-Gurus, I habe ein Problem das rpm-Programm betreffend, dass mich überfordert. Die Vorgeschichte sei kurz beschrieben: Es handelt sich um einen Root-Server bei hetzner.de mit SuSE 8.1 vorinstalliert, zu dem ich nur Zugriff über ssh habe. Da mir die Versionen einiger Pakete (PHP < 4.3) zu alt waren und ich mir die Suche und Installation der rpms ersparen wollte, habe ich versucht, das System mit dem im Netzwerk vorhandenen SuSE 9.0 DVDs upzudaten. Yast bietet hierzu die Option "System Update" an, die auch ausgewählt wurde, nachdem die DVD1 als Installationsquelle gewählt wurde. Die Einstellungen hier wurden alle bei den Default-Werten (Minimalsystem, sonst nix angekreuzt) belassen. In der Zusammenfassung hat mich "Update Base packages: no" irritiert und ich habe weder genau verstanden was bedeutet noch eine Möglichkeit gefunden, das umzustellen. Das Update hab einige Pakete installiert und dann kam die Meldung "[Zahl] packages returned an error. Do you want to see the logfile?". Das Logfile schaut folgendermaßen aus: <snap> yast2-trans-de-2.8.11-2.noarch.rpm installed ok glibc-2.3.2-88.i686.rpm installed ok Additional rpm output: /sbin/ldconfig: relative path `var/tmp/rpm-tmp.34004' used to build cache execution of glibc-2.2.5-184 script failed, exit status 1 ethtool-1.8-33.i586.rpm failed rpm output: expat-1.95.6-80.i586.rpm failed rpm output: </snap> Seitdem ich das System upgedatet habe, funktioniert weder Paketmanager (immer die gleiche Fehlermeldung wie oben + immer die gleichen einträge wie am schluss des logfiles) noch funktioniert das rpm direkt über die shell. Ein Aufruf von rpm bewirkt, dass, wenn die Abhängigkeiten nicht erfüllt sind, das Programm sich mit einer Fehlermeldung korrekt beendet. Sobald man aber den Paramter --force oder --nodeps hinzufügt, oder ein Paket wählt, bei dem die Abhängigkeiten erfüllt sind, endet das Programm jedes Mal sofort mit einem "Segmentation fault", und das ist auch schon die einzige Information, die das Programm ausgibt. Ich bin in einer problematischen Situation, da ich keinen direkten Zugriff (=Neuinstallation) auf den Server habe und kann ab jetzt keine Pakete mehr installieren kann. Da das System aber sonst noch stabil ist und keine Probleme zeigt, wär ich jedem dankbar, der mir in dieser Situation mit Rat zur Seite steht. Vielen Dank für eure Hilfe Georg Schnattinger
Am Freitag, 23. Januar 2004 20:08 schrieb Georg Schnattinger:
I habe ein Problem das rpm-Programm betreffend, dass mich überfordert. Die Vorgeschichte sei kurz beschrieben: Es handelt sich um einen Root-Server bei hetzner.de mit SuSE 8.1 vorinstalliert, zu dem ich nur Zugriff über ssh habe. Da mir die Versionen einiger Pakete (PHP < 4.3) zu alt waren und ich mir die Suche und Installation der rpms ersparen wollte, habe ich versucht, das System mit dem im Netzwerk vorhandenen SuSE 9.0 DVDs upzudaten. Yast bietet hierzu die Option "System Update" an, die auch ausgewählt wurde, nachdem die DVD1 als Installationsquelle gewählt wurde.
Im laufenden System? Vergiß es! Der glibc Update spuckt Dir da mächtig in die Suppe. Generier Dir die Boot-CD oder Boot-Disketten von der DVD, boote von denen und Update das System davon.
Ich bin in einer problematischen Situation, da ich keinen direkten Zugriff (=Neuinstallation) auf den Server habe und kann ab jetzt keine Pakete mehr installieren kann. Da das System aber sonst noch stabil ist und keine Probleme zeigt, wär ich jedem dankbar, der mir in dieser Situation mit Rat zur Seite steht.
Dass Du Dich überhaupt noch anloggen kannst, ist schon ein Glücksfall, wäre eine 7.3 die Basis, könntest Du sogar das vergessen (PAM überlebt den glibc Wechsel da nicht). Sorry, aber da wirst Du nicht drum rum kommen, den Rechner Wiederherstellen zu lassen. Wenn Du wirklich verzweifelt bist, kannst Du auch versuchen RPM neu zu compilieren und auf der Basis den Rest des Systems updaten, oder das RPM-RPM der SuSE 9.0 zu Hause auseinander zu nehmen und die Dateien dann per scp auf den Rechner zu spielen. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
Ich beginne nun zu realisieren, was ich mit dem Update angerichtet habe. Ich hätte nicht gedacht, das die Situation so kritisch ist. Wenn ich richtig verstehe, dann liegt das Problem daran, dass zwar die neue glibc installiert ist, aber RPM mit der alten Version gelinkt ist. Also sowohl eine Neukompilieren des rpm als auch ein Aufspielen der alten glibc müsste das Problem beheben, wenn das jetzt im System noch möglich ist. Ob das der Fall ist, sei dahingestellt. Eine Warnmeldung von SuSE oder zumindestens ein Hinweis, für welche Fälle das System Update geeignet ist, wäre sehr hilfreich gewesen. Den Hinweis, von Diskette oder CD zu booten, versteh ich nicht, denn, wie erwähnt, besitzte ich einen Root-Server, auf dessen Laufwerke ich keinen Zugriff habe. Besteht dann überhaupt eine Möglichkeit, ein solches System gefahrlos upzudaten? Ich werd jetzt auf jeden Fall versuchen, dass Problem selber in den Griff zu kriegen. Sollte ich daran scheitern, werde ich an Kosten wohl nicht herumkommen. Auf jeden Fall vielen Dank für die aufschlussreiche Hilfe Georg Schnattinger Manfred Tremmel wrote:
Am Freitag, 23. Januar 2004 20:08 schrieb Georg Schnattinger:
I habe ein Problem das rpm-Programm betreffend, dass mich überfordert. Die Vorgeschichte sei kurz beschrieben: Es handelt sich um einen Root-Server bei hetzner.de mit SuSE 8.1 vorinstalliert, zu dem ich nur Zugriff über ssh habe. Da mir die Versionen einiger Pakete (PHP < 4.3) zu alt waren und ich mir die Suche und Installation der rpms ersparen wollte, habe ich versucht, das System mit dem im Netzwerk vorhandenen SuSE 9.0 DVDs upzudaten. Yast bietet hierzu die Option "System Update" an, die auch ausgewählt wurde, nachdem die DVD1 als Installationsquelle gewählt wurde.
Im laufenden System? Vergiß es! Der glibc Update spuckt Dir da mächtig in die Suppe. Generier Dir die Boot-CD oder Boot-Disketten von der DVD, boote von denen und Update das System davon.
Ich bin in einer problematischen Situation, da ich keinen direkten Zugriff (=Neuinstallation) auf den Server habe und kann ab jetzt keine Pakete mehr installieren kann. Da das System aber sonst noch stabil ist und keine Probleme zeigt, wär ich jedem dankbar, der mir in dieser Situation mit Rat zur Seite steht.
Dass Du Dich überhaupt noch anloggen kannst, ist schon ein Glücksfall, wäre eine 7.3 die Basis, könntest Du sogar das vergessen (PAM überlebt den glibc Wechsel da nicht). Sorry, aber da wirst Du nicht drum rum kommen, den Rechner Wiederherstellen zu lassen. Wenn Du wirklich verzweifelt bist, kannst Du auch versuchen RPM neu zu compilieren und auf der Basis den Rest des Systems updaten, oder das RPM-RPM der SuSE 9.0 zu Hause auseinander zu nehmen und die Dateien dann per scp auf den Rechner zu spielen.
Hallo!!! Ich habe das Problem in den Griff bekommen, indem ich rpm manuell aufgespielt habe (mit rpm2cpio auf einer anderen Maschine). Jetzt ist ein neueres aber weniger kritisches Problem aufgetaucht: YaST kann zwar neue Pakete problemlos installieren, weiß aber nicht mehr, welche Pakete installiert sind. Im Paketmanager sind keine Pakete als installiert markiert, das installieren und mit Abhängigkeiten funktioniert aber problemlos. Auch nachdem Pakete installiert wurden, sind sie beim nächsten Programmaufruf nicht als bereits installiert markiert. Wie man die Paketdatenbank neu erstellt, weiß ich nicht. "rpm --rebuilddb" hilft nicht weiter. Wenn ihr einen Tipp habt, dann lasst es mich wissen. Auf jeden Fall schonmal Danke im Voraus! Mit freundlichen Grüßen Georg Schnattinger Georg Schnattinger wrote:
Ich beginne nun zu realisieren, was ich mit dem Update angerichtet habe. Ich hätte nicht gedacht, das die Situation so kritisch ist. Wenn ich richtig verstehe, dann liegt das Problem daran, dass zwar die neue glibc installiert ist, aber RPM mit der alten Version gelinkt ist. Also sowohl eine Neukompilieren des rpm als auch ein Aufspielen der alten glibc müsste das Problem beheben, wenn das jetzt im System noch möglich ist. Ob das der Fall ist, sei dahingestellt. Eine Warnmeldung von SuSE oder zumindestens ein Hinweis, für welche Fälle das System Update geeignet ist, wäre sehr hilfreich gewesen. Den Hinweis, von Diskette oder CD zu booten, versteh ich nicht, denn, wie erwähnt, besitzte ich einen Root-Server, auf dessen Laufwerke ich keinen Zugriff habe. Besteht dann überhaupt eine Möglichkeit, ein solches System gefahrlos upzudaten? Ich werd jetzt auf jeden Fall versuchen, dass Problem selber in den Griff zu kriegen. Sollte ich daran scheitern, werde ich an Kosten wohl nicht herumkommen.
Auf jeden Fall vielen Dank für die aufschlussreiche Hilfe Georg Schnattinger
Manfred Tremmel wrote:
Am Freitag, 23. Januar 2004 20:08 schrieb Georg Schnattinger:
I habe ein Problem das rpm-Programm betreffend, dass mich überfordert. Die Vorgeschichte sei kurz beschrieben: Es handelt sich um einen Root-Server bei hetzner.de mit SuSE 8.1 vorinstalliert, zu dem ich nur Zugriff über ssh habe. Da mir die Versionen einiger Pakete (PHP < 4.3) zu alt waren und ich mir die Suche und Installation der rpms ersparen wollte, habe ich versucht, das System mit dem im Netzwerk vorhandenen SuSE 9.0 DVDs upzudaten. Yast bietet hierzu die Option "System Update" an, die auch ausgewählt wurde, nachdem die DVD1 als Installationsquelle gewählt wurde.
Im laufenden System? Vergiß es! Der glibc Update spuckt Dir da mächtig in die Suppe. Generier Dir die Boot-CD oder Boot-Disketten von der DVD, boote von denen und Update das System davon.
Ich bin in einer problematischen Situation, da ich keinen direkten Zugriff (=Neuinstallation) auf den Server habe und kann ab jetzt keine Pakete mehr installieren kann. Da das System aber sonst noch stabil ist und keine Probleme zeigt, wär ich jedem dankbar, der mir in dieser Situation mit Rat zur Seite steht.
Dass Du Dich überhaupt noch anloggen kannst, ist schon ein Glücksfall, wäre eine 7.3 die Basis, könntest Du sogar das vergessen (PAM überlebt den glibc Wechsel da nicht). Sorry, aber da wirst Du nicht drum rum kommen, den Rechner Wiederherstellen zu lassen. Wenn Du wirklich verzweifelt bist, kannst Du auch versuchen RPM neu zu compilieren und auf der Basis den Rest des Systems updaten, oder das RPM-RPM der SuSE 9.0 zu Hause auseinander zu nehmen und die Dateien dann per scp auf den Rechner zu spielen.
Hallo Georg, hallo Leute, Am Samstag, 24. Januar 2004 14:44 schrieb Georg Schnattinger:
Ich habe das Problem in den Griff bekommen, indem ich rpm manuell aufgespielt habe (mit rpm2cpio auf einer anderen Maschine). Jetzt ist ein neueres aber weniger kritisches Problem aufgetaucht: YaST kann zwar neue Pakete problemlos installieren, weiß aber nicht mehr, welche Pakete installiert sind. Im Paketmanager sind keine Pakete als installiert markiert, das installieren und mit Abhängigkeiten funktioniert aber problemlos. Auch nachdem Pakete installiert wurden, sind sie beim nächsten Programmaufruf nicht als bereits installiert markiert. Wie man die Paketdatenbank neu erstellt, weiß ich nicht. "rpm --rebuilddb" hilft nicht weiter. Wenn ihr einen Tipp habt, dann lasst es mich wissen.
Nur eine Vermutung: Mit SuSE 9.0 hat SuSE ja auf RPM 4.x umgestellt. Als ich das Update gemacht habe (allerdings von CD gebootet), lief erstmal eine Weile ein Fortschrittsbalken, der die Konvertierung der RPM-Datenbank ins 4er Format gemeldet hat. Dieser Schritt dürfte bei Dir fehlen. Moment... cb@tux:~> rpm -q --scripts rpm postinstall scriptlet (through /bin/sh): test -f var/lib/rpm/Packages || rpm --initdb if test -s var/lib/rpm/packages.rpm ; then echo "converting rpm-3 database to rpm-4 format..." usr/lib/rpm/convertdb1 var/lib/rpm/packages.rpm mv -f var/lib/rpm/packages.rpm var/lib/rpm/packages.rpm3 rm -f var/lib/rpm/conflictsindex.rpm var/lib/rpm/fileindex.rpm var/lib/rpm/groupindex.rpm var/lib/rpm/nameindex.rpm var/lib/rpm/providesindex.rpm var/lib/rpm/requiredby.rpm var/lib/rpm/triggerindex.rpm fi postuninstall scriptlet (through /bin/sh): sbin/insserv etc/init.d cb@tux:~> Installiere RPM nochmal sauber als RPM, dabei sollte die RPM-DB ins neue Format konvertiert werden. Falls der Satz jetzt zu oft "RPM" enthielt und Du nicht mehr durchblickst - ich meine folgendes: rpm -Uhv rpm-4.1.1-*.rpm [TOFU gelöscht] Bitte http://learn.to/quote Gruß Christian Boltz --
Bitte? Ich glaub ich steh im Wald! wenn rings um dich lauter Bäume sind dann hast Du vermutlich recht. [> David Haller und Bernhard Walle in suse-linux]
Hallo! Vielen Dank, aber das hat sich bereits erübrigt, denn nachdem ich rpm geupdatet hat, hat der die Datenbank neu aufgebaut, d.h. nur alle neu installierten Pakete sind wieder aufgenommen, die alte DB ist weg. Ist mir auch nicht mehr wichtig, da ich nun ein lauffähiges SuSE 9 hab und die Datenbank funktioniert auch wieder, allerdings nur für neue Pakete, aber das stellt kein Problem dar. Eines ist für mich jedoch immer noch ein Rätsel: Wie soll ich das nächste mal vorgehen, um das System (hetzner.de entry server) upzudaten? Von CD booten? Geht wohl nicht, denn ich kann nicht eine cd "ferneinlegen" und der SSH Dämon läuft ja auch nicht. Zwei Methoden würden mir in den Sinn kommen, allerdings hab ich keine Ahnung, wie man das konkret verwirklichen könnnte: 1. Irgendwie über das Netzwerk booten, vielleicht sogar von den CDs/DVDs und von dort dann updaten 2. Ein alternatives Linux von der gleichen Platte starten, dass bei einem Update nicht in Mitleidenschaft gezogen wird (also die systemwichtigen Pakete) MfG Georg Schnattinger
Nur eine Vermutung: Mit SuSE 9.0 hat SuSE ja auf RPM 4.x umgestellt. Als ich das Update gemacht habe (allerdings von CD gebootet), lief erstmal eine Weile ein Fortschrittsbalken, der die Konvertierung der RPM-Datenbank ins 4er Format gemeldet hat. Dieser Schritt dürfte bei Dir fehlen.
Moment...
cb@tux:~> rpm -q --scripts rpm postinstall scriptlet (through /bin/sh): test -f var/lib/rpm/Packages || rpm --initdb if test -s var/lib/rpm/packages.rpm ; then echo "converting rpm-3 database to rpm-4 format..." usr/lib/rpm/convertdb1 var/lib/rpm/packages.rpm mv -f var/lib/rpm/packages.rpm var/lib/rpm/packages.rpm3 rm -f var/lib/rpm/conflictsindex.rpm var/lib/rpm/fileindex.rpm var/lib/rpm/groupindex.rpm var/lib/rpm/nameindex.rpm var/lib/rpm/providesindex.rpm var/lib/rpm/requiredby.rpm var/lib/rpm/triggerindex.rpm fi postuninstall scriptlet (through /bin/sh): sbin/insserv etc/init.d cb@tux:~>
Installiere RPM nochmal sauber als RPM, dabei sollte die RPM-DB ins neue Format konvertiert werden. Falls der Satz jetzt zu oft "RPM" enthielt und Du nicht mehr durchblickst - ich meine folgendes: rpm -Uhv rpm-4.1.1-*.rpm
[TOFU gelöscht]
Bitte http://learn.to/quote
Gruß
Christian Boltz
Am Montag, 26. Januar 2004 14:37 schrieb Georg Schnattinger: [tofu gelöscht]
Bitte http://learn.to/quote
WANN liest du das oben angegebene endlich mal? -- Die unaufgeforderte Zusendung einer Werbemail an Privatleute verstößt gegen §1 UWG und 823 I BGB (Beschluß des LG Berlin vom 2.8.1998 Az: 16 O 201/98). Jede kommerzielle Nutzung der übermittelten persönlichen Daten sowie deren Weitergabe an Dritte ist ausdrücklich untersagt! gpg key fingerprint: 5F64 4C92 9B77 DE37 D184 C5F9 B013 44E7 27BD 763C
Mathias Homann wrote:
Am Montag, 26. Januar 2004 14:37 schrieb Georg Schnattinger:
[tofu gelöscht]
Bitte http://learn.to/quote
WANN liest du das oben angegebene endlich mal?
Wenn du mit dieser Zitatform nicht zufrieden bist, dann teile mir doch bitte mit, wo man im Thunderbird die "Zitateinleitung" konfiguriert. Ich habe diese Option nicht gefunden und ich bin keinesfalls Willens, dies händisch zu machen noch meinen Mail-Client zu ändern. Basta.
Am Freitag, 23. Januar 2004 20:08 schrieb Georg Schnattinger:
Ich bin in einer problematischen Situation, da ich keinen direkten Zugriff (=Neuinstallation) auf den Server habe und kann ab jetzt keine Pakete mehr installieren kann. Da das System aber sonst noch stabil ist und keine Probleme zeigt, wär ich jedem dankbar, der mir in dieser Situation mit Rat zur Seite steht.
also ich würde Dir eine Neuinstallation empfehlen. Da Du wahrscheinlich den Entry Server für 39 EURO hast, bist Du dabei jedoch auf die Kulanz von Hetzner angewiesen. Hetzner hat die Möglichkeit die Platte kurzzeitig in ein Rack mit 2 Platten (einer neuen und deiner alten) einzubauen und Dir per LARA Zugriff auf den Rechner zu geben. Ich habe die Erfahrung gemacht, dass wenn man denen anbietet eine Service Pauschale von 50 oder 100 EURO zu zahlen, machen die sowas auch beim Entry Server (eigentlich nur beim Best Price) cu stonki -- www.stonki.de: the more I see, the more I know....... www.proftpd.de: Deutsche ProFTPD Dokumentation www.krename.net: Der Batch Renamer für KDE www.kbarcode.net: Die Barcode Solution für KDE
participants (5)
-
Christian Boltz
-
Georg Schnattinger
-
Manfred Tremmel
-
Mathias Homann
-
Stefan Onken