/usr/bin/java é na verdade um link simbólico para /etc/alternatives/java , que é um link simbólico para o binário java real. O script update-alternatives muda para onde /etc/alternatives/java está vinculado. Ao executar update-alternatives , /usr/bin/java terminará com links simbólicos para /usr/bin/jvm/java-6-oracle/bin/java .
O motivo which java retorna /usr/bin/java é que /usr/bin está no seu PATH antes de /usr/bin/jvm/java-6-oracle/bin . Se você executar which -a java , ele deverá mostrar os dois /usr/bin/java e /usr/bin/jvm/java-6-oracle/bin/java .