Acabamos de instalar nossos novos servidores e estamos executando o CentOS em todos eles. Após a instalação bem-sucedida do Ruby Enterprise Edition, agora eu gostaria de adicionar o /usr/lib/ruby-enterprise/bin
diretório REE / bin (localizado em ) para torná-lo o interpretador Ruby padrão no servidor.
Eu tentei o seguinte, que apenas o adiciona à sessão atual do shell:
export PATH=/usr/lib/ruby-enterprise/bin:$PATH
Qual seria a abordagem correta para adicionar permanentemente esse diretório ao $ PATH para todos os usuários . No momento, estou logado como root.
Desde já, obrigado!
~/.profile
é outra opção válida tambémDepois de seguir o conselho de fmonk, fiz o check-out
/etc/bashrc
, onde notei que "Coisas do ambiente entram em / etc / profile". Eu comecei a procurar/etc/profile
, vi o seguinte:Para resolver meu problema, simplesmente adicionei
pathmunge /usr/lib/ruby-enterprise/bin
embaixo da instrução if. Isso resolveu meu problema.fonte
"$EUID" = "0"
significa neste contexto?/etc/profile.d/
pasta e você notará. Além disso, como ele disse, uma atualização do sistema pode desfazer sua solução.Portanto, eu não colocaria variáveis de ambiente no bashrc, porque isso não é apenas contra a convenção comum, mas você também perderá suas variáveis bashrc ao chamar um terminal de um ambiente gráfico da área de trabalho.
Em Redhat no
/etc/profile
eu encontrei este comentário:Portanto, se você deseja definir variáveis de ambiente com base no usuário, faça-o no arquivo .bash_profile do usuário.
Indo para o que
.bash_profile
eu li:Conclusão
Se você deseja que apenas o root veja programas residindo, por exemplo, em /
sbin
eu adicionaria esse caminho ao.bash_profile
arquivo raiz . Mas se você quiser cada usuário para ver o que raiz programas específicos estão instalados em sua caixa Gostaria de colocar/sbin
em/etc/.profile
. Agora, todo usuário pode usar o preenchimento de guias para procurar programas específicos de raiz e, se necessário, elevar os direitos.Caso especial: SSH
Quando o ssh é iniciado com uma linha de comando, um shell de login interativo é iniciado. Mas neste caso
/etc/profile
não é lido. Quando defini variáveis de ambiente no.bash_profile
arquivo de cada usuário, ele trabalhou com o ssh.fonte
SORRY interpretou mal a pergunta, conforme a seguir é para o perfil de um USUÁRIO, deixando-a no caso de ajudar alguém
modificar .bash_profile
em algum lugar do arquivo, adicione / modifique seus caminhos separados por:
então recarregue seu perfil
ou saia e faça login novamente
se você marcar PATH, ele deverá incluir os novos caminhos adicionados
fonte
Você pode definir variáveis de ambiente em um arquivo .rc; para shells bash (acredito ser o mais comum e o padrão no CentOS), cada usuário possui um arquivo chamado .bashrc em seu diretório pessoal.
Inclua o comando PATH = / usr / lib / ruby-enterprise / bin: $ PATH neste arquivo para configurá-lo para qualquer usuário em particular.
Para defini-lo para todos os usuários (como você mencionou), altere-o em / etc / bashrc (o .bashrc padrão no diretório inicial de cada usuário deve originar esse arquivo, mas você deve verificar isso duas vezes).
fonte