Definir caminho para todos os usuários (shell de login e não-login)

1

Ok. Então, eu estou acostumado com o Ubuntu e o CentOS mais do que o redhat, então eu espero que haja alguma solução óbvia para isso que eu esteja perdendo.

Eu instalei o Anaconda (Python). Eu coloquei em:

/opt/anaconda3

Eu gostaria que todos os usuários pudessem ter o seguinte em seus caminhos:

/opt/anaconda3/bin

Eu pesquisei e ganhei muitas informações conflitantes sobre como "realizar" minha missão corretamente.

Coisas que eu tentei:

  1. Adicionando um script bash ao /etc/profile.d
  2. Editando / etc / profile
  3. Editando / etc / bashrc
  4. Adicionando ao root bashrc
  5. Editando o usuário .bashrc

Todas as edições envolviam alguma forma de:

PATH=/opt/anaconda3/bin:$PATH

ou

export PATH=/opt/anaconda3/bin:$PATH

A opção 2 produziu a adição de / opt / anaconda3 / bin para o caminho de vários usuários, mas após as reinicializações do terminal ainda não executou os comandos dentro do bin (por exemplo, instalação do ipython, etc)

Alguma idéia?

    
por Audrey 27.10.2015 / 15:09

2 respostas

1

Crie um arquivo chamado (digamos) anaconda.sh em /etc/profile.d/ com o conteúdo:

PATH=/opt/anaconda3/bin:$PATH

O trailing ".sh" é importante, pois é a sintaxe que o / etc / profile usa para procurar por arquivos a serem incluídos. Bash irá ler / etc / profile no login. Se você quiser que um shell / terminal atual ative a mudança, apenas execute . /etc/profile.d/anaconda.sh .

Se você encontrar situações em que um shell não interativo precisa, você ficará com ~ / .bashrc (a menos que o ambiente de chamada use --rcfile para substituir esse comportamento).

    
por 28.10.2015 / 19:25
0

Anexe o caminho aos caminhos de arquivo mencionados no arquivo / etc / environment.

Isso é carregado primeiro antes do diretório de usuários local. O arquivo .bashrc é carregado, então é o melhor lugar para configurar vars de largura de sistema.

    
por 27.10.2015 / 15:54