-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Vincent Jamart wrote: | Y a une méthode plus "propre" que de relancer un ldconfig incluant mon | path vers les librairies en question pour qu'elles soient trouvées par le | binaire? En plus la variable en elle-meme semble etre une mauvaise chose | si je me réfère à http://www.visi.com/~barr/ldpath.html | : "Ship your binaries as .o files, and as part of the install process | relink them with the correct installation library path" | mwais...?
Euh, bof. bofbofbof Pas tout-à-fait d'accord avec ça.
C'est aussi l'intérêt des paquets: de trouver les librairies à un endroit bien déterminé (du moins +ou-). Le fait d'avoir /lib, /usr/lib et /usr/local/lib dans le chemin de recherche statique de ld.so ("runtime linker" (*)) devrait en principe être un système assez flexible pour tout ce qui est installé proprement (oui, il y a aussi /usr/X11R6 et qqes petits trucs en plus). (*) je mets pas ça pour toi hein, Vincent, ni pour Jef ;)))
Il me semble avoir vu qqe part un programme permettant de manipuler les en-têtes ELF, et donc de modifier le "library search path" qui est encodé dans ces-entêtes (pour les "binaries" ("éxécutables") et shared libs). Mais c'est assez compliqué et je ne suis pas certain que c'est le moyen le plus "propre" (et je n'arrive plus à mettre la main dessus sur freshmeat.net lol).
| On Wed, 12 May 2004, Jean-Francois Dive wrote: |>si je me souviens bien, avec rexec .profile n'est pas lu par bash car etant |>Pour le detail man bash section INVOCATION. Un rapide |>coup d'oeuil semble dailleur confirmer se que je pensais.
Oui mais bash va quand même lire ce qui se trouve dans BASH_ENV, que tu peux positionner selon l'utilisateur via PAM (pam_env, pour être précis). Exemple: /etc/pam.d/rexec: #%PAM-1.0 ... auth required pam_env.so envfile=/etc/environment.rexec ...
Note qu'on passe directement à pam_env.so un fichier contenant un environnement à lire. Cela s'applique donc à tous les utilisateurs qui se connectent via rexec
/etc/environment.rexec: LD_LIBRARY_PATH=.......
Si tu veux utiliser du scripting shell à cet endroit, p.ex. pour ajouter un filtrage selon l'utilisateur (disons, ne positionner LD_LIBRARY_PATH que pour "toto" et "bidule"), il faut faire autrement:
/etc/environment.rexec: BASH_ENV=/etc/profile.rexec
/etc/profile.rexec: case $USER in toto|bidule) LD_LIBRARY_PATH=..... ;; esac
Note que je n'ai pas testé tout ça, c'est juste une proposition, à toi de faire le proof-of-concept ;)))
|>On Wed, May 12, 2004 at 11:30:31AM +0200, Vincent Jamart wrote: ... |>>En local, un ldd trouve toutes les librairies d?pendantes mais un remote exec sur cette meme machine avec le |>>meme user pour ex?cuter "ldd foo" sort en erreur: le librairies ne sont |>>pas trouv?es. Une id?e sur une solution pour le rexec de mon binaire? Note que si tu veux laisser aux bons soins de l'utilisateur de configurer son LD_LIBRARY_PATH (et pas via un /etc/profile.rexec qui est global (et donc root:root)), tu pourrais aussi mettre ceci dans /etc/profile.rexec (cf. ci-dessus): case $USER in toto|bidule) [ -r $HOME/.profile.rexec ] && . $HOME/.profile.rexec ;; esac
- -- ~ -o) Pascal Bleser http://guru.unixtech.be ~ /\\ <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> ~ _\_v The more things change, the more they stay insane. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQFApcVur3NMWliFcXcRAgibAKCmAD4JuopfSWdIIiJe/mmHZg65PACfRwGn iNBlrC/GuE+QOow227+/gEk= =vkV+ -----END PGP SIGNATURE----- _______________________________________________________ Linux Mailing List - http://www.unixtech.be Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux Archives: http://www.mail-archive.com/[EMAIL PROTECTED] IRC: chat.unixtech.be:6667 - #unixtech