Veja: update-alternatives
Além disso: O Debian geralmente desencoraja desenvolvedores que confiam em variáveis ENV, você descobriu uma razão para isso.
Não é que eles sejam tabus porque não devem estar sempre disponíveis.
Nota: Adicionar seu caminho java no final do caminho existente significa que qualquer outro java será encontrado e usado primeiro.
(ou seja, o (link simbólico) em / usr / bin)
então:
ls -lah /usr/bin/java
diz:
lrwxrwxrwx 1 root root 22 Apr 22 2011 /usr/bin/java -> /etc/alternatives/java
file $(which java)
/usr/bin/java: symbolic link to '/etc/alternatives/java'
file /etc/alternatives/java
/etc/alternatives/java: symbolic link to '/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java'
** < problema secundário > e também serve para demonstrar porque $ (exec no estilo subshell) é preferível, para "backtick exec mode", ou "eval this".
((como '' '' e "" fica muito confuso, pelo menos para mim, e nem sempre funciona como esperado em todos os shells o tempo todo. Investigue o modo POSIX AKA / bin / sh))
< / assunto secundário > **
man update-alternatives
explica porque este sistema alternativo existe ...
meantime
update-alternatives --config java
pode ajudar.
/ usr / local / é um bom lugar para instalar pacotes construídos por fontes ...
Existem também outras formas de esfolar o seu gato.
Incluindo:
- mão re-apontando o link / usr / bin / java:)
(embora esteja atento a upgrades ou instalações de dependência para redefini-lo ... não é uma boa escolha, mas funciona)
-
definindo um alias para java por usuário [1]
-
prefixando $ PATH nos usuários .bashrc
(você pode usar o .bashrc em .bash_profile se quiser)
- chamando o caminho completo das versões específicas por instância
(aposta mais segura, mas provavelmente não é prática)
[1] .alias ou .bashrc
help alias
(é um bash construído)
Finalmente, um exemplo para o bem ou para o mal: retirado do meu Debian .bash_profile ...
# include .bashrc if it exists
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:"${PATH}"
fi
Espero que isso ajude em vez de dificultar
Pete