Variáveis ​​de ambiente - onde elas são armazenadas pelo Linux, como eu as altero e é seguro fazê-lo?

12

Estou tentando configurar um build a partir do código-fonte e uma versão antiga do gcc na minha máquina de desenvolvimento. A documentação destaca várias variáveis ​​de ambiente que precisam ser alteradas para fazer isso. Eu queria saber como fazer isso e também onde o Linux os armazena e se é necessário reiniciar o sistema para que as alterações sejam registradas?

mathematician1975
fonte
Você pode listar as variáveis ​​de ambiente que precisam ser alteradas?
Hashken

Respostas:

13

As variáveis ​​de ambiente Global do seu sistema são armazenadas /etc/environment.
Quaisquer alterações aqui serão refletidas em todo o sistema e afetarão todos os usuários do sistema. Além disso, você precisa de uma reinicialização, para que quaisquer alterações feitas aqui entrem em vigor.

As variáveis ​​de ambiente no nível do usuário são armazenadas .bashrce .profilearquivos na sua pasta Home. As alterações aqui afetam apenas esse usuário específico. Basta fechar e abrir o terminal para que as alterações na configuração ocorram.

Editar : Se você não deseja reinicializar ou reiniciar o terminal, pode usar o comando source.
Por exemplo. source /etc/environmentousource .bashrc

Hashken
fonte
4
Você não precisa de uma reinicialização. Você pode usar o comando source para carregar as variáveis ​​após uma alteração. ex: source / etc / environment ou source .bashrc
Manula Waidyanatha
Pelo que você está tentando fazer, mudar .profilenão é a coisa certa a fazer. .bashrcnão deve ser usado, pois pode, em algumas situações, causar problemas. E /etc/environmentestá longe (não mude o sistema para fazer um trabalho).
Ctrl-alt-delor 17/07/12
2

O que você precisa é de mudanças temporais locais. Você não vai precisar deles amanhã, quando estiver fazendo outra coisa, pode quebrar o que você faz amanhã. No entanto, você pode salvá-lo como um script de construção / makefile para uso amanhã.

export VARIABLE=value
export VARIABLE2=another_value
gcc …

ou

VARIABLE=value VARIABLE2=another_value gcc …

Nota: Se estiver usando make, o primeiro exemplo não funcionará. Make inicia um novo shell (sh) para cada linha.

ctrl-alt-delor
fonte
1

Você deve colocar suas variáveis ​​de ambiente por usuário em ~ / .pam_environment

Crie o arquivo se ele não existir. Veja aqui

Jules Moules
fonte