Re: Verstndnisfrage zu ldd

2004-02-20 Diskussionsfäden Jrg Schtter
Hello Stefan,

On Mon, 26 Jan 2004 18:12:26 +0100
Weinzierl Stefan [EMAIL PROTECTED] wrote:

 Jörg Schütter wrote:
  Da ich hier nur ein Binary habe (Closed Source) habe ich wohl keine
  andere Wahl. Ich hoffe, daß ich durch Kopieren des Verzeichnisses /lib
  (aus einer Minimalinstallation) alles Notwendige an Bibliotheken
  übertragen habe.
 
 Gerade durch Zufall entdeckt:
 
 Führe deine Anwendung aus ermittle die PID und lass dir /proc/$PID/maps 
 anzeigen...

war sehr hilfreich. Sobald aber pam benötigt wird, komme ich auch damit
nicht weiter.


Jörg

-- 
Jörg Schütter   http://www.lug-untermain.de/
[EMAIL PROTECTED] http://www.schuetter.org/joerg/
ICQ: 298982789  http://mypenguin.bei.t-online.de/


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Verstndnisfrage zu ldd

2004-01-26 Diskussionsfäden Weinzierl Stefan
Jörg Schütter wrote:
Da ich hier nur ein Binary habe (Closed Source) habe ich wohl keine
andere Wahl. Ich hoffe, daß ich durch Kopieren des Verzeichnisses /lib
(aus einer Minimalinstallation) alles Notwendige an Bibliotheken
übertragen habe.
Gerade durch Zufall entdeckt:

Führe deine Anwendung aus ermittle die PID und lass dir /proc/$PID/maps 
anzeigen...

Stefan

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Verstndnisfrage zu ldd

2004-01-26 Diskussionsfäden Jrg Schtter
Hello Stefan,

On Mon, 26 Jan 2004 18:12:26 +0100
Weinzierl Stefan [EMAIL PROTECTED] wrote:

 Jörg Schütter wrote:
  Da ich hier nur ein Binary habe (Closed Source) habe ich wohl keine
  andere Wahl. Ich hoffe, daß ich durch Kopieren des Verzeichnisses /lib
  (aus einer Minimalinstallation) alles Notwendige an Bibliotheken
  übertragen habe.
 
 Gerade durch Zufall entdeckt:
 
 Führe deine Anwendung aus ermittle die PID und lass dir /proc/$PID/maps 
 anzeigen...

klingt vielversprechend. Das werde ich auf dem besagten System mal
austesten und anschließend berichten.


Jörg

-- 
Jörg Schütter   http://www.lug-untermain.de/
[EMAIL PROTECTED] http://www.schuetter.org/joerg/
ICQ: 298982789  http://mypenguin.bei.t-online.de/


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Verstndnisfrage zu ldd

2004-01-25 Diskussionsfäden Jrg Schtter
Hello Sven,

On Sun, 25 Jan 2004 01:39:12 +0100
Sven Hartge [EMAIL PROTECTED] wrote:

 Andreas Metzler [EMAIL PROTECTED] wrote:
  Sven Hartge [EMAIL PROTECTED] wrote:
   Jörg Schütter [EMAIL PROTECTED] wrote:
 
   ldd zeigt nur die Libraries, die dynamisch an das Programm
   gebunden (gelinkt) sind und die beim Starten des Programms durch
   den dynamischen Linker der libc dazugelinkt werden.
 
   Ein Programm kann z.B. durch dlopen() weitere Bibliotheken
   nachladen, allerdings steht dieses Nachladen dann unter der
   Kontrolle des Programms und _nicht_ unter der Kontrolle des
   dynamischen Linkers und kann daher von ldd nicht angezeigt werden.

so etwas habe ich befürchtet.
 
  Nicht zu vergessen PAM, und libc6, die dlopen (oder einen aehnlichen
  Mechanismus) fuer NSS (benoetigt fuer Basisfunktionen wie getpwnam())
  oder iconv() (/usr/lib/gconv/*) benutzt.
 
 Richtig.
Danke für eure Hilfe.
 
 Allgemein kann man sagen, das man beim chroot()en von Programm, die
 nicht genau sagen, was sie wann so benötigen, eben nur auf Trial'n'Error
 zurückgreifen kann, wenn man den Code nicht lesen und verstehen kann.

Da ich hier nur ein Binary habe (Closed Source) habe ich wohl keine
andere Wahl. Ich hoffe, daß ich durch Kopieren des Verzeichnisses /lib
(aus einer Minimalinstallation) alles Notwendige an Bibliotheken
übertragen habe.


Jörg

-- 
Jörg Schütter   http://www.lug-untermain.de/
[EMAIL PROTECTED] http://www.schuetter.org/joerg/
ICQ: 298982789  http://mypenguin.bei.t-online.de/


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Verstndnisfrage zu ldd

2004-01-25 Diskussionsfäden Jrg Schtter
Hello Joel,

On Sat, 24 Jan 2004 22:27:34 +0100
Joel HATSCH [EMAIL PROTECTED] wrote:

 On Sat, 24 Jan 2004 20:00:36 +0100
 Jörg Schütter [EMAIL PROTECTED] wrote:
 
  Hallo Liste,
  
  ich habe hier ein Verständnisproblem mit ldd. Wenn ich die Manpage
  richtig verstanden habe, sollte mir der Befehl ldd _alle_ Libs
  aufzeigen die für dieses Programm benötigt werden.
  Anhand dieser Information habe ich ein root-jail (chroot) für dieses
  Programm gebaut und versucht das Programm zu starten. So weit so gut,
  wenn ich aber das Programm erneut starte (mit anderen Parametern), da
  damit das laufende Programm gestuert wird, erhalte ich etliche
  Fehlermeldungen.
  Durch Aufruf von strace konnte ich feststellen, daß dieses Programm
  noch weitere Libs benötigt. Warum konnten diese durch den ldd-Befehl
  nicht ermittelt werden.
 
 Hi,
 
 (ich rate) kann es sein, dass es nicht dein Programm sondern die
 Libraries sind, die diese Librarie benötigen ?
 z.B. :
 nostromo:~# ldd /usr/lib/libmysqlclient.so.10.0.0
 libz.so.1 = /usr/lib/libz.so.1 (0x40041000)
 libcrypt.so.1 = /lib/libcrypt.so.1 (0x40052000)
 libnsl.so.1 = /lib/libnsl.so.1 (0x4008)
 libm.so.6 = /lib/libm.so.6 (0x40095000)
 libc.so.6 = /lib/libc.so.6 (0x400b7000)
 /lib/ld-linux.so.2 = /lib/ld-linux.so.2 (0x8000)

nö, es ist wirklich das Programm. Da ich auch zuerst die Libs in
Verdacht hatte, habe ich ldd auf alle benötigten Libs losgelassen.


Jörg

-- 
Jörg Schütter   http://www.lug-untermain.de/
[EMAIL PROTECTED] http://www.schuetter.org/joerg/
ICQ: 298982789  http://mypenguin.bei.t-online.de/


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Verstndnisfrage zu ldd

2004-01-24 Diskussionsfäden Jrg Schtter
Hallo Liste,

ich habe hier ein Verständnisproblem mit ldd. Wenn ich die Manpage
richtig verstanden habe, sollte mir der Befehl ldd _alle_ Libs aufzeigen
die für dieses Programm benötigt werden.
Anhand dieser Information habe ich ein root-jail (chroot) für dieses
Programm gebaut und versucht das Programm zu starten. So weit so gut,
wenn ich aber das Programm erneut starte (mit anderen Parametern), da
damit das laufende Programm gestuert wird, erhalte ich etliche
Fehlermeldungen.
Durch Aufruf von strace konnte ich feststellen, daß dieses Programm noch
weitere Libs benötigt. Warum konnten diese durch den ldd-Befehl nicht
ermittelt werden.

Jörg

-- 
Jörg Schütter   http://www.lug-untermain.de/
[EMAIL PROTECTED] http://www.schuetter.org/joerg/
ICQ: 298982789  http://mypenguin.bei.t-online.de/


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Verstndnisfrage zu ldd

2004-01-24 Diskussionsfäden Andreas Winkelmann
Am Samstag, 24. Januar 2004 20:00 schrieb Jörg Schütter:

 ich habe hier ein Verständnisproblem mit ldd. Wenn ich die Manpage
 richtig verstanden habe, sollte mir der Befehl ldd _alle_ Libs aufzeigen
 die für dieses Programm benötigt werden.
 Anhand dieser Information habe ich ein root-jail (chroot) für dieses
 Programm gebaut und versucht das Programm zu starten. So weit so gut,
 wenn ich aber das Programm erneut starte (mit anderen Parametern), da
 damit das laufende Programm gestuert wird, erhalte ich etliche
 Fehlermeldungen.
 Durch Aufruf von strace konnte ich feststellen, daß dieses Programm noch
 weitere Libs benötigt. Warum konnten diese durch den ldd-Befehl nicht
 ermittelt werden.

ldd zeigt dir die libs, die direkt mit dem programm verbunden sind. Wenn diese 
Libs noch andere Libs brauchen, siehst Du das dann mit ldd lib.so und so 
weiter.

-- 
Andreas


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Verstndnisfrage zu ldd

2004-01-24 Diskussionsfäden Sven Hartge
Jörg Schütter [EMAIL PROTECTED] wrote:

 Anhand dieser Information habe ich ein root-jail (chroot) für dieses
 Programm gebaut und versucht das Programm zu starten. So weit so gut,
 wenn ich aber das Programm erneut starte (mit anderen Parametern), da
 damit das laufende Programm gestuert wird, erhalte ich etliche
 Fehlermeldungen.

ldd zeigt nur die Libraries, die dynamisch an das Programm gebunden
(gelinkt) sind und die beim Starten des Programms durch den dynamischen
Linker der libc dazugelinkt werden.

 Durch Aufruf von strace konnte ich feststellen, daß dieses Programm
 noch weitere Libs benötigt. Warum konnten diese durch den ldd-Befehl
 nicht ermittelt werden.

Ein Programm kann z.B. durch dlopen() weitere Bibliotheken nachladen,
allerdings steht dieses Nachladen dann unter der Kontrolle des Programms
und _nicht_ unter der Kontrolle des dynamischen Linkers und kann daher
von ldd nicht angezeigt werden.

dlopen() wird sehr gerne für Plugins benutzt, die zur Laufzeit
nachgeladen werden können, aber die nicht zwingend benötigt werden.

transcode z.B. benutzt diese Methode.

S°

-- 
BOFH excuse #385:

Dyslexics retyping hosts file on servers


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Verstndnisfrage zu ldd

2004-01-24 Diskussionsfäden Sven Hartge
Andreas Metzler [EMAIL PROTECTED] wrote:
 Sven Hartge [EMAIL PROTECTED] wrote:
 Jörg Schütter [EMAIL PROTECTED] wrote:

 ldd zeigt nur die Libraries, die dynamisch an das Programm gebunden
 (gelinkt) sind und die beim Starten des Programms durch den
 dynamischen Linker der libc dazugelinkt werden.

 Ein Programm kann z.B. durch dlopen() weitere Bibliotheken nachladen,
 allerdings steht dieses Nachladen dann unter der Kontrolle des
 Programms und _nicht_ unter der Kontrolle des dynamischen Linkers und
 kann daher von ldd nicht angezeigt werden.

 Nicht zu vergessen PAM, und libc6, die dlopen (oder einen aehnlichen
 Mechanismus) fuer NSS (benoetigt fuer Basisfunktionen wie getpwnam())
 oder iconv() (/usr/lib/gconv/*) benutzt.

Richtig.

Allgemein kann man sagen, das man beim chroot()en von Programm, die
nicht genau sagen, was sie wann so benötigen, eben nur auf Trial'n'Error
zurückgreifen kann, wenn man den Code nicht lesen und verstehen kann.

Die Ausgabe von ldd gibt einem da schon einen guten Ansatzpunkt und
viele der mir bekannten Scripte zum chroot()-Bauen greifen auch darauf
zurück.

S°

-- 
142 Reasons, Why You Can't Find Your System Administrator
125. they're busy testing new ideas for the BOFH Of The Year Award.


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)