Je souhaite exporter LD_LIBRARY_PATH
vers les services système et tous les utilisateurs. Les services système sont exécutés avant la connexion, donc .bashrc
ne s'applique pas.
Comment y parvenir?
Je souhaite exporter LD_LIBRARY_PATH
vers les services système et tous les utilisateurs. Les services système sont exécutés avant la connexion, donc .bashrc
ne s'applique pas.
Comment y parvenir?
Réponses:
Vous n'en avez pas besoin. Ajoutez le répertoire /etc/ld.so.conf
ou un nouveau fichier dans /etc/ld.so.conf.d/
, selon la distribution.
Après cela, vous devez exécuter (au moins sur Redhat) en ldconfig
tant que root.
Par prudence, vous devez faire attention aux bibliothèques que vous ajoutez au chemin d'accès à la bibliothèque partagée du système (via l'environnement, ld.so.conf, ou en insérant / usr / local / lib). En particulier, méfiez-vous de deux versions différentes de la même bibliothèque avec le même soname. Par exemple, si vous avez un libfoo.0.1 (soname libfoo.0) installé via dpkg / rpm / etc., Vous ne voulez pas un libfoo.0.2 (également soname libfoo.0) dans votre répertoire de bibliothèque personnalisé.
(En fait, il n'est pas si facile d'extraire une variable d'environnement à l'échelle du système. Vous pouvez obtenir la plupart des connexions utilisateur avec /etc/environment
. Les scripts dépendront de votre système init, mais (par exemple) avec sysv init sur Debian, vous pouvez l'intégrer /etc/default/rcS
. Tout courir directement hors de inittab, eh bien, je ne pense pas que vous puissiez.)
Vous pouvez ajouter chaque chemin dans le fichier /etc/ld.so.conf.d
puis exécuter:
ldconfig -v
Chargez-les ensuite.