Hallo Liste, ich wollte ja eigentlich "nur" meinen C-Compiler updaten und habe dazu glibc-2.3.2-1 installiert. Nun kann ich mich via SSH (und ich komme nur via SSH auf die Konsole, da die Maschine ca. 500km entfernt steht) nicht mehr anmelden. Da ich webmin drauf habe, kann ich noch ein wenig was machen und ich habe mir direkt mal die /var/log/messages angeschaut: May 28 00:45:19 x sshd[28304]: PAM unable to dlopen(//lib/security/pam_unix.so) May 28 00:45:19 x sshd[28304]: PAM [dlerror: /lib/libnss_nisplus.so.2: version `GLIBC_2.1' not found (required by //lib/security/pam_unix.so)] May 28 00:45:19 x sshd[28304]: PAM adding faulty module: //lib/security/pam_unix.so May 28 00:45:19 x sshd[28304]: PAM unable to dlopen(/lib/security/pam_unix.so) May 28 00:45:19 x sshd[28304]: PAM [dlerror: /lib/libnss_nisplus.so.2: version `GLIBC_2.1' not found (required by /lib/security/pam_unix.so)] May 28 00:45:19 x sshd[28304]: PAM adding faulty module: /lib/security/pam_unix.so May 28 00:45:19 x sshd[28304]: Could not reverse map address abc.def.ghi.ikl. May 28 00:45:22 x sshd[28304]: Failed password for userbla from abc.def.ghi.ikl port 1237 Ich habe das noch nie gesehen, aber es sieht nicht wirklich gut aus. Da ich SuSE 7.2 habe, habe ich von ftp.suse.com die pub/suse/i386/7.2/suse/a1/glibc.rpm runter geholt und wollte diese installieren. Es ist die Version glibc-2.2.2-42. Leider schaffe ich es nicht, diese zu installieren.
rpm -U --oldpackage glibc.rpm rpm -q -a | grep glibc glibc-2.3.2-1 glibc-devel-2.2.2-60
Ich habe erst an einen
rpm -e --nodeps glibc-2.3.2-1 rpm -i glibc.rpm
gedacht, aber nach dem ich gesehen habe, welche Packete alle in der Abhängigkeit sind, habe ich den Gedanken sofort wieder abgelegt. Ich hätte zwei Fragen: a) Was genau ist mein Problem? b) Wie kann ich es lösen? Ich wäre sehr sehr dankbar, wenn mir jemand helfen könnte, da eine Neuinstallation eigentlich nicht nötig sein sollte. Gruß, vielen Dank im voraus Dennis
Dennis Hückelheim
ich wollte ja eigentlich "nur" meinen C-Compiler updaten und habe dazu glibc-2.3.2-1 installiert.
Und dir damit wahrscheinlich das System ruiniert. Das Aktualisieren der glibc ist weitaus gefährlicher als die des Kernels. Beim Wechsel auf glibc 2.3.X funktionieren z.B. pseudo-statisch gelinkte Programme1) wie rpm nicht mehr. Deine einzige Chance wäre das booten vor Ort und dann das rückspielen der glibc. Philipp 1) pseudo-statisch, weil sie zwar statisch gelinkt sind, aber Funktionen zur Namensauflösung wie z.B. gethostbyname() verwenden, welche über die libnss*.so Module zur Verfügung gestellt werden, die *grundsätzlich* dynamisch geladen werden (ansonsten wäre das ganze NSS-Konzept hinfällig.
Dennis Hückelheim schrieb:
Hallo Liste,
ich wollte ja eigentlich "nur" meinen C-Compiler updaten und habe dazu glibc-2.3.2-1 installiert. Nun kann ich mich via SSH (und ich komme nur
[...] hihi noch so einer :) den Fehler hab ich auch gemacht, zwar mit ner 8.1 aber fast die selbe Idee... Bei mir läuft das System zwar noch (bischen langsamer, n paar Abstürze, aber nix gravierendes), nur rpm funktioniert nicht mehr. Das produziert nur noch Speicherzugriffsfehler und geht dann übern Jordan. Ich werde mir also den Spaß machen dürfen, und zum ersten mal ein rpm per Hand einzubauen. (Zumindest wurde mir das von erfahrenerer Seite so geraten...) Lange Rede kurze Frage: Wie macht man denn dann so ein update richtig?
"Ernst A. Thaler"
Lange Rede kurze Frage: Wie macht man denn dann so ein update richtig?
Gar nicht! Eine neue Version der glibc kann immer Probleme mit sich bringen, zumal Programme wie rpm eben nicht wirklich statisch gelinkt sind. Für einen Update der glibc sollte man immer die komplette Distribution erneuern. Philipp
Am Mittwoch, 28. Mai 2003 01:00 schrieb Dennis Hückelheim:
ich wollte ja eigentlich "nur" meinen C-Compiler updaten und habe
Wieso, was compilierst Du auf einem 500 km entfernten Rechner? Falls es ein Server ist, sollte da grundsätzlich keine Compiler drauf sein.
dazu glibc-2.3.2-1 installiert. Nun kann ich mich via SSH (und ich komme nur via SSH auf die Konsole, da die Maschine ca. 500km entfernt
Oh oh, schon verloren. Einzige Möglichkeit dürfte jetzt sein, den Rechner per CD/DVD zu booten und von dort wieder eine glibc 2.2.x draufzuspielen. Per SSH wirst Du da gar nichts machen können.
Ich habe das noch nie gesehen, aber es sieht nicht wirklich gut aus. Da ich SuSE 7.2 habe, habe ich von ftp.suse.com die
Gibt es irgend einen Grund einen gcc 3.3 auf eine SuSE 7.2 zu spielen? C++ Programme wirst Du damit prinzipiell nicht compiliert bekommen, da gcc 3.x und 2.9x in dem bereich keine compatiblen Programme erzeugen. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
Manfred Tremmel [mailto:Manfred.Tremmel@iiv.de]
Wieso, was compilierst Du auf einem 500 km entfernten Rechner? Falls es
ein Server ist, sollte da grundsätzlich keine Compiler drauf sein.
Nun ja, das ist ein root-Server bei 1&1 und bei denen komme ich nicht ins RZ. Und meiner Ansicht nach sollte auch auf einem Server ein Compiler drauf sein.
Gibt es irgend einen Grund einen gcc 3.3 auf eine SuSE 7.2 zu spielen? C++ Programme wirst Du damit prinzipiell nicht compiliert bekommen, da gcc 3.x und 2.9x in dem bereich keine compatiblen Programme erzeugen.
Ich hatte beim compilieren von PHP-4.2.3 Probleme mit diesem "tempname" und "tmpnam" (oder wie die Dinger heißen) und gcc hat das compilieren abgebrochen. Ein Bekannter sagte mir, die einzige Möglichkeit sei das Updaten von gcc. Im Endeffekt ist es eh egal, ich habe 1&1 gestern Abend noch angewiesen das Ding neu zu installieren. Jetzt ist auch SuSE 8.1 drauf. Zwar auf einem schlechten Wege, aber es funktioniert nun wieder alles. Ich danke allen für die (in Zukunft hilfreichen) Informationen. Gruß, Dennis
Dennis Hückelheim
ins RZ. Und meiner Ansicht nach sollte auch auf einem Server ein Compiler drauf sein.
Bei einem Server würde ich *immer* die Sachen woanders kompilieren und dann auf den Server transferieren.
Ich hatte beim compilieren von PHP-4.2.3 Probleme mit diesem "tempname" und "tmpnam" (oder wie die Dinger heißen) und gcc hat das compilieren abgebrochen. Ein Bekannter sagte mir, die einzige Möglichkeit sei das Updaten von gcc.
Zeigt wie viel Ahnung dein Bekannter hat. Gcc hat bestimmt nicht wegen tmpnam das Compilieren abgebrochen. Die Warnung kommt vom Linker, genauer gesagt aus der glibc, wenn Code tmpnam aufruft. Die Warnung hat seinen Sinn, weil nur der Programmierer feststellen kann, ob an einer Stelle tmpnam sicher verwendet wird. Aber das ist nur eine Warnung und führt normalerweise nicht zum Abbruch. Der Grund dürfte ganz woanders gelegen haben, da bin ich sicher. Sorry, aber wenn man mit solchen Problemen nicht umgehen kann, sollte man IMO die Finger vom selberkompilieren lassen. Oder zumindest in dem Fall dann auf suse-programming nachfragen, bevor man gleich zum neuen Compiler greift. Philipp
participants (4)
-
Dennis Hückelheim
-
Ernst A. Thaler
-
Manfred Tremmel
-
Philipp Thomas