Nous venons tout juste de mettre nos nouveaux serveurs en service et nous utilisons tous CentOS. Après avoir installé Ruby Enterprise Edition avec succès, j'aimerais maintenant ajouter le /usr/lib/ruby-enterprise/bin
répertoire REE / bin (situé à ) pour en faire l'interpréteur Ruby par défaut sur le serveur.
J'ai essayé ce qui suit, qui ne fait que l'ajouter à la session actuelle du shell:
export PATH=/usr/lib/ruby-enterprise/bin:$PATH
Quelle serait la bonne approche pour ajouter de manière permanente ce répertoire à $ PATH pour tous les utilisateurs . Je suis actuellement connecté en tant que root.
Merci d'avance!
~/.profile
est une autre option valable aussiAprès avoir suivi les conseils de fmonk, j’ai vérifié
/etc/bashrc
, et j’ai remarqué qu’il était écrit que "tout ce qui concerne l’ environnement va dans / etc / profile". J'ai commencé à regarder/etc/profile
, j'ai vu ceci:Pour résoudre mon problème, j'ai simplement ajouté
pathmunge /usr/lib/ruby-enterprise/bin
sous la déclaration if. Cela a résolu mon problème.la source
"$EUID" = "0"
signifie le moyen dans ce contexte?/etc/profile.d/
dossier et vous le remarquerez. En outre, comme il l’a dit, une mise à jour du système pourrait annuler votre solution.Par conséquent, je ne mettrais pas de variables d’environnement dans bashrc, car cela va non seulement à l’encontre des conventions courantes, mais vous manquerez également de vos variables bashrc lors de l’appel d’un terminal à partir d’un environnement graphique de bureau.
Sur Redhat dans le
/etc/profile
j'ai trouvé ce commentaire:Par conséquent, si vous souhaitez définir des variables d'environnement utilisateur par utilisateur, faites-le dans le fichier .bash_profile de l'utilisateur.
En
.bash_profile
me dirigeant vers le je lis:Conclusion
Si vous voulez que seul root voie les programmes, par exemple, dans /
sbin
I, ajoutez ce chemin au.bash_profile
fichier de root . Mais si vous voulez que chaque utilisateur de voir quels programmes sont installés sur la racine de votre boîte , je mettrais/sbin
en/etc/.profile
. Désormais, chaque utilisateur peut utiliser la complétion de tabulation pour rechercher des programmes spécifiques à la racine et, le cas échéant, élever les droits.Cas particulier: SSH
Lorsque ssh est démarré avec une ligne de commande, un shell de connexion interactif est démarré. Mais dans ce cas,
/etc/profile
n'est pas lu. Lorsque j'ai défini les variables d'environnement dans le.bash_profile
fichier de chaque utilisateur, cela fonctionnait avec ssh.la source
DÉSOLÉ a mal interprété la question la réponse suivante est pour le profil d’un utilisateur, le laissant au cas où cela aiderait quelqu'un
modifier .bash_profile
puis quelque part dans le fichier, ajoutez / modifiez vos chemins séparés par:
puis rechargez votre profil
ou vous déconnecter et vous reconnecter
si vous cochez la case PATH, il devrait inclure les chemins récemment ajoutés
la source
Vous pouvez définir des variables d'environnement dans un fichier .rc; pour les shells bash (le plus courant, je crois, et par défaut dans CentOS), chaque utilisateur a un fichier nommé .bashrc dans son répertoire personnel.
Ajoutez la commande PATH = / usr / lib / ruby-enterprise / bin: $ PATH à ce fichier pour le définir pour un utilisateur particulier.
Pour le définir pour tous les utilisateurs (comme vous l'avez mentionné), modifiez-le dans / etc / bashrc (le fichier .bashrc par défaut dans le répertoire de base de chaque utilisateur doit générer ce fichier, mais vous devez le cocher deux fois).
la source