O Ubuntu usa o sistema update-alternatives para gerenciar qual instalação do Java JDK ou JRE deve ser usada. Isso permite que você tenha várias versões do Java instaladas, mas ainda controle qual delas é usada por padrão.
É por isso que which java não mostra a versão que você instalou; /usr/bin/java é apenas um link simbólico. Se você executar ls -l /usr/bin/java , verá algo como:
lrwxrwxrwx 1 root root 22 Jul 4 2013 /usr/bin/java -> /etc/alternatives/java
e se você seguir a trilha executando ls -l /etc/alternatives/java , verá algo como:
lrwxrwxrwx 1 root root 39 Jul 15 2013 /etc/alternatives/java -> /usr/lib/jvm/java-7-oracle/jre/bin/java
mas o caminho exato dependerá de qual versão você selecionou.
Você pode selecionar qual versão do Java você deseja executar usando este comando:
sudo update-alternatives --config java
Seu caminho contém bin/java duas vezes porque você configurou $JAVA_HOME incorretamente. $JAVA_HOME deve apontar para o diretório raiz da sua instalação do Java; no seu caso, /usr/lib/jvm/java-7-openjdk-i386/ . Você estava apontando para o próprio binário java .
Não é necessário adicionar $JAVA_HOME ao seu $PATH , a menos que você esteja instalando o Java manualmente e não usando update-alternatives , porque /usr/bin já está no seu $PATH .