web-dev-qa-db-fra.com

Comment définir une variable d'environnement de manière permanente dans CentOS?

J'ai utilisé une commande suivante dans un terminal SSH sur mon serveur:

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

et cela fonctionne bien: mon programme trouve toutes les bibliothèques à ce stade (si je le lance à partir de ma ligne de commande SSH).

Une commande

env

indique que LD_LIBRARY_PATH est défini correctement.

Mais! Lorsque je ferme mon client SSH et que je me reconnecte, il n'y a plus de jeu LD_LIBRARY_PATH.

Comment définir des variables d'environnement constamment sur mon serveur sous CentOS? Merci.

6
user3545570

Comme mentionné dans votre propre réponse et celle donnée par @Fegnoid, exporter les variables dans un fichier .sh à l'intérieur de /etc/profile.d/ ou de ~/.bash_profile ferait l'affaire. N'oubliez pas que si vous envisagez d'utiliser ces variables d'environnement dans un script de service, il se peut que celui-ci ne fonctionne pas comme prévu, car service purge toutes les variables d'environnement, à l'exception de quelques-unes.

Voir https://unix.stackexchange.com/a/44378/148497 .

3
Santiago Baldrich

Exportez les variables dans les fichiers ~/.profile ou ~/.bash_profile de l'utilisateur pour les définir lors de la connexion afin que la ligne soit

LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
0
Fegnoid