Minhas variáveis são
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Como salvar essas variáveis permanentemente?
environment-variables
user3021349
fonte
fonte
/usr/lib/oracle/11.2/client64/lib
um novo arquivo no/etc/ld.so.conf.d/
caminho. Então você não precisa definir LD_LIBRARY_PATH, veja também aqui .Respostas:
Você pode adicioná-lo ao arquivo
.profile
ou ao arquivo de perfil do shell de login (localizado no diretório inicial).Para alterar a variável ambiental "permanentemente", é necessário considerar pelo menos estas situações:
bater
/etc/profile
,~/.bash_profile
,~/.bash_login
,~/.profile
na ordem~/.bashrc
$BASH_ENV
zsh
ksh
Bourne
csh ou tcsh
Se você quiser torná-lo permanente para todos os usuários, poderá editar os arquivos correspondentes em
/etc/
, por exemplo ,/etc/profile
para shells semelhantes a Bourne,/etc/csh.login
para (t) csh e/etc/zsh/zprofile
e/etc/zsh/zshrc
para zsh.Outra opção é usar
/etc/environment
, que nos sistemas Linux é lida pelo módulo PAMpam_env
e suporta apenas atribuições simples, não expansões no estilo de shell. (Veja o guia do Debian sobre isso.)É provável que esses arquivos já contenham algumas atribuições; portanto, siga a sintaxe que você já vê presente no seu arquivo.
Certifique-se de reiniciar o shell e conectar novamente o usuário, para aplicar as alterações.
Se você precisar adicionar uma variável de ambiente para todo o sistema, agora existe uma
/etc/profile.d
pasta que contém o script sh para inicializar a variável.Você pode colocar seu script sh com todas as variáveis exportadas aqui.
Tenha cuidado, embora isso não deva ser usado como uma maneira padrão de adicionar variáveis ao env no Debian.
fonte
.profile
dentro,/etc/
mas eu não como definir as variáveis neste,.profile
por favor me diga.profile
está no seu diretório pessoal não/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wq
é o comando para gravar o arquivo e saia em vi não se esqueça de digitaresc
antescrontab
scripts. Nenhum desses locais será procurado quando umcrontab
script estiver em execução.Para fazer isso para todos os usuários / conchas, dependendo da distribuição que você possa usar
/etc/environment
ou/etc/profile
. Criar um novo arquivo/etc/profile.d
pode ser preferível, se existir, pois será menos provável que entre em conflito com as atualizações feitas pelo sistema de empacotamento.Em
/etc/environment
, as variáveis são geralmente definidas comname=value
, por exemplo:Em
/etc/profile
, você deve usar,export
pois este é um script, por exemplo:O mesmo vale para um arquivo
/etc/profile.d
, também pode haver restrições de nomes que devem ser atendidas para que o arquivo funcione. No Debian, o arquivo deve ter a extensão.sh
(embora não precise de uma linha de reta ou permissões executáveis, pois é originário). verifique a documentação da sua distribuição ou consulte o/etc/profile
script para ver como esses arquivos são carregados.Observe também que essa configuração
LD_LIBRARY_PATH
permanentemente é potencialmente problemática , incluindo um risco à segurança. Como alternativa, eu sugeriria encontrar uma maneira de acrescentarLD_LIBRARY_PATH
o início da linha de comando para cada programa que precisa dele antes da execução. Por exemplo:Uma maneira de fazer isso é usar um script de wrapper para executar o programa. Você pode atribuir a ele o mesmo nome que o seu programa e colocá-lo em
/usr/local/bin
qualquer lugar que aparecer antes da localização do seu programaPATH
. Aqui está um exemplo de script (não esqueçachmod +x
do script):fonte
environment
arquivo, o que faz com que eles sejam carregados? Por exemplo, depois de sair do editor vi (alterações escrito com sucesso), estou esperando para escreverecho $MY_NEW_VARIABLE
e vê-lo imprimir - EDIT: Eu vejo que eles estão lá se eu lançar um novo shell de comando/etc/environment
, mesmo se eu reiniciei o terminal bash ou digiteisource /etc/environment
. Portanto, se você estiver tendo problemas em que a variável de ambiente não está se perpetuando, tente reiniciar./etc/environment
não é um script, portanto não pode ser originado. Ele é carregado no momento do login (e em vários outros eventos do sistema) pelo PAM, para que você possa fazer logout / login ou executar uma nova sessão de login em um terminal,$ su <your username here>
para selecionar os novos valores nessa sessão isolada. Os valores desaparecerão assim que você sair, por isso provavelmente é menos propenso a erros fazer logoff / login totalmente completos.Quando você instala o oracle, o oracle solicita que você execute alguns scripts antes de clicar em ok. Esse script colocou uma configuração fictícia no
.bash_profile
diretório inicial do usuário in oracle. Para ver o arquivo,ls -al
mostrará todos os arquivos ocultos.Digite
nano bash_profile
para abrir o arquivo. Faça alterações no arquivo para refletir seu nome de host e o nome sid apropriado. verifique outras configurações que precisem de modificação. pressione o controle x para salvar e digite y quando for perguntado se deseja salvar. Pressione a tecla Enter para salvar. Reinicie o computador. Registrando como usuário Oracle. inicie o banco de dados digitandofonte