4 votes

Changement de la variable d'environnement PATH pour tous les utilisateurs. (Ubuntu)

J'ai récemment compilé Ruby Enterprise Edition (REE) sur un serveur Ubuntu 8.04.

Je voudrais mettre à jour mon PATH pour assurer que cette nouvelle version de Ruby (trouvée dans /opt/ruby_ee/bin ) remplace l'ancienne version dans /usr/local/bin . (Je veux toujours avoir l'ancienne version à portée de main, cependant).

Je voudrais que ces changements de PATH affectent tous les utilisateurs et crontabs.

Tentative de solution n°1 :

La documentation de REE recommande de placer le dossier bin de REE au début du PATH global dans le dossier /etc/environment . J'ai modifié le PATH dans ce fichier pour lire :

PATH="/opt/ruby_ee/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

Cela n'a pas affecté mon PATH du tout.

Tentative de solution n°2 :

Ensuite, j'ai suivi ces instructions et mis à jour le paramètre PATH dans /etc/login.defs y /etc/crontab . (Je n'ai pas changé /etc/sudoers .)

Cela n'a pas affecté mon PATH non plus, même après s'être déconnecté et avoir redémarré le serveur.

Autres informations :

  • Je semble avoir le même problème décrit ici .
  • Je teste en utilisant les commandes " echo $PATH " et " ruby -v ".
  • Mon Shell est bash. Mon .bashrc ne remplace pas mon PATH.
  • Oui, j'ai entendu parler du projet Ruby Version Manager ;)

4voto

ajdecon Points 1281

Avez-vous essayé de modifier le bashrc par défaut ? Il doit se trouver soit dans /etc/bashrc soit dans /etc/bash.bashrc (je pense que c'est le second dans Ubuntu). Ensuite, dans votre répertoire personnel, assurez-vous que votre .bash_profile inclut :

if [ -f /etc/bash.bashrc ]; then
    . /etc/bash.bashrc
fi

Cela permettra de s'assurer que les variables définies au niveau du système sont lues dans le Shell de l'utilisateur. Cette instruction if doit être incluse par défaut dans le fichier .bash_profile créé lorsque vous utilisez la commande adduser (Je sais que c'est le cas dans RHEL).

2voto

Bart De Vos Points 17611

Juste pour être clair, /etc/environment n'est pas chargé tant que vous n'ouvrez pas un nouveau Shell / ne vous reconnectez pas.
Vous vous êtes déconnecté et reconnecté ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X