Não sei ao certo como /etc/environment
é aplicado pelo PAM, mas parece que ele é originado. Então, quando ele encontra uma linha como:
JAVA_HOME =/usr/lib/jvm/jdk1.7.0/bin
o shell interpretará JAVA_HOME
como um comando devido ao espaço antes de =
, que é um erro grave, pois JAVA_HOME
não foi encontrado no PATH nem foi definido como um alias ou função. Um erro em source
faz com que o shell saia (já que os scripts de manutenção são executados dessa forma), e é por isso que esse erro parou as instalações. (Equivalentemente, um espaço após =
faz com que o shell veja /usr/lib/jvm/jdk1.7.0/bin
como um comando, o que não é tão ruim, mas ainda é um problema.) Portanto, a linha correta é:
JAVA_HOME=/usr/lib/jvm/jdk1.7.0/bin