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?


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


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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.