Alterando a variável de ambiente PATH para todos os usuários. (Ubuntu)

4

Eu recentemente compilei o Ruby Enterprise Edition (REE) em um servidor Ubuntu 8.04.

Gostaria de atualizar meu PATH para garantir que essa nova versão do Ruby (encontrada em /opt/ruby_ee/bin ) substitua a versão mais antiga em /usr/local/bin . (Eu ainda quero a versão antiga por aí, no entanto.)

Eu gostaria que essas mudanças no PATH afetassem todos os usuários e crontabs.

Tentativa de solução # 1:

A documentação do REE recomenda colocar a pasta REE bin no início do PATH global em /etc/environment . Eu alterei o PATH nesse arquivo para ler:

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

Isso não afetou meu PATH .

Tentativa de solução # 2:

Em seguida, segui estas instruções e atualizou a configuração PATH em /etc/login.defs e /etc/crontab . (Eu não mudei /etc/sudoers .)

Isso também não afetou meu PATH , mesmo depois de sair e reiniciar o servidor.

Outras informações:

  • Parece que estou tendo o mesmo problema descrito aqui
  • Estou testando usando os comandos " echo $PATH " e " ruby -v ".
  • Meu shell é bash. Meu .bashrc não substitui o meu PATH.
  • Sim, ouvi falar do projeto Ruby Version Manager. ;)
por Wally Glutton 06.03.2011 / 04:28

2 respostas

4

Você já tentou alterar o bashrc padrão? Isso deve estar localizado em / etc / bashrc ou /etc/bash.bashrc (acho que é o segundo no Ubuntu). Em seguida, no seu diretório pessoal, verifique se o seu .bash_profile inclui:

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

Isso fará com que as variáveis definidas em todo o sistema sejam lidas no shell do usuário. Esta declaração if deve ser incluída por padrão no .bash_profile criado quando você adduser (eu sei que é no RHEL).

    
por 06.03.2011 / 04:39
2

Só para deixar claro, /etc/environment não é carregado até que você abra um novo shell / login novamente.
Você fez o logoff e ligou?

    
por 06.03.2011 / 04:40