sonnenblen.de - Das unabhängige Sun User Forum
Betriebssysteme => Solaris/x86 und OpenSolaris => Thema gestartet von: msueper am 26. November 2006, 15:14:51
-
Hallo,
ich habe im Web schon überall rumgesucht, aber nichts wirklich Nützliches gefunden.
Folgendes Problem:
$ useradd
ld.so.1: useradd: fatal: libc.so.1: version `SUNW_1.22.2' not found (required by file /usr/sbin/useradd)
ld.so.1: useradd: fatal: libc.so.1: open failed: No such file or directory
Killed
Useradd stürzt also einfach ab. Das Problem ist mit Patch 120051-04 oder 03 aufgetaucht. Was macht man da (ausser den Patch wieder zu entfernen)? Grundsätzlich würde ich den Patch gern drauflassen, weil er ein Security-Patch ist.
Der Patch ist schon vom 04.11.06, weshalb ich bezeifle, dass SUN von dem Umstand weiss, oder?
Martin
-
Hallo Martin,
willkommen hier im Sonnenblende-Forum. :D
Zu deinem Problem:
schaue bitte mal unter /usr/lib bzw. /lib nach, ob der entsprechende symbolische Link für die libc.so.1 vorhanden ist.
ld.so.1: useradd: fatal: libc.so.1: open failed: No such file or directory
Deutet darauf hin.
Einen symbolischen Link kannst du wiefolgt für diese Bibliothek anlegen:
# ln -sf /lib/libc.so.1 /lib/libc.so.1.22.2
Bitte stelle den entsprechenden Output deines /lib bzw. /usr/lib Verzeichnisses mit ls -l zur Verfügung.
$ useradd
Das Programm versuchst du aber nicht mit einem normalen Benutzer auszuführen, oder? ;)
Alternativ kannst du dir mit...
# echo $LD_LIBRARY_PATH
...mal die Verzeichnisse ausgeben lassen, in denen nach Bibliotheken gesucht wird.
Gruß
escimo
-
Hallo,
danke erstmal, hat leider nichts gebracht. Hier der gewünschte Output:
# echo $LD_LIBRARY_PATH
/lib:/usr/lib::/usr/local/lib
# ls -l /usr/lib/libc.so*
lrwxrwxrwx 1 root root 19 Nov 20 16:31 /usr/lib/libc.so -> ../../lib/libc.so.1
lrwxrwxrwx 1 root root 19 Nov 20 16:31 /usr/lib/libc.so.1 -> ../../lib/libc.so.1
lrwxrwxrwx 1 root root 14 Nov 26 16:45 /usr/lib/libc.so.1.22.2 -> /lib/libc.so.1
# ls -l /lib/libc.so*
lrwxrwxrwx 1 root root 9 Nov 20 16:34 /lib/libc.so -> libc.so.1
-rwxr-xr-x 1 root bin 1051360 Sep 7 23:29 /lib/libc.so.1
lrwxrwxrwx 1 root root 14 Nov 26 16:47 /lib/libc.so.1.22.2 -> /lib/libc.so.1
# useradd
ld.so.1: useradd: fatal: libc.so.1: version `SUNW_1.22.2' not found (required by file /usr/sbin/useradd)
ld.so.1: useradd: fatal: libc.so.1: open failed: No such file or directory
Killed
# id
uid=0(root) gid=0(root)
#
So, übergangsweise habe ich nun folgenden work around:
Patch 120051-02 geladen und entpackt. Im Zip-File sind die 3 Tools enthalten (usermod, userdel und useradd). Die habe ich einfach nach /usr/local/bin kopiert. Diese Tools laufen noch, die gepatchte Version unter /usr/sbin wird damit ignoriert. Die Links /usr/lib/libc.1.22.2 und /lib/libc.1.22.2 habe ich wieder entfernt.
Warten wir mal, was 120051-5 bringt ;-)
Grüße, Martin
-
Mmm... ???
Scheint zumindest ein offizieller Bug zu sein:
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6490476 (http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6490476)
beziehungsweise...
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6489363 (http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6489363)
Der Work Around dazu lautet: "Remove 120050-04 from your system."
In deinem Fall also: Patch 120051-04
Bei...
# ldd /usr/sbin/useradd
...sollte eine Zeile erscheinen wie...
libc.so.1 (SUNW_1.22.2) => (version not found)
-
Hallo,
korrekt. Wenn ich den Patch aber zurücknehme wird er mir immer wieder angezeigt. Vom Prinzip habe ich nun das Gleiche erreicht. Der Patch scheint nichts anderes zu tun, als die drei Tools auszutauschen.
Mich würde nur interessieren, ob man dieses SUNW_1.22.2 Paket irgendwo laden kann, und was das genau ist?
Martin
-
Was für eine Solaris10-Variante benutzt du?
Wenn du dir die Quellen besorgst, kannst du es vielleicht mit großen Aufwand selbst fixen, aber davon möchte ich dir eher abraten. Da kann noch weit mehr "schiefgehen".
Oder du wartest halt auf die offizielle Solaris Release 10/06 oder den Patch zum Patch. ;)
-
Moin,
Mich würde nur interessieren, ob man dieses SUNW_1.22.2 Paket irgendwo laden kann, und was das genau ist?
Martin
SUNW_1.22.2 ist kein Paket sondern eine interne Versionsnummer der libc. Das Problem hier besteht darin, dass die Binaries aus dem Patch gegen eine neuere Version der libc gelinkt wurden. Diese neuere libc Version gibt es aber noch nicht in Form eines Patches (sollte eigentlich der Fall sein, wenn man schon Programme dagegen gelinkt hat).
Welche Versionen deine libc unterstuetzt siehst du mit "elfdump -v /lib/libc.so".
Wie gesagt: neue Version 1.22.2 gibt es noch nicht --- sollte aber halt irgendwann mit einem libc Patch rauskommen.
Tschau,
Drusus.
-
Hallo,
falls jemand dieses Problem noch hat:
mit dem Upgrade auf das neueste Solaris 10 (also 11/06) hat sich der Fehler in Wohlgefallen aufgelöst.
Grüße, Martin