A maneira correta de alternar entre várias versões de um software instalado é usar:
sudo update-alternatives --config <package>
Então, para java, você precisa executar:
sudo update-alternatives --config java
que deve retornar as versões instaladas, que no meu caso é:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1053 auto mode
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1053 manual mode
Para alternar entre as versões, você pode inserir selection
, ou seja, 0, 1, 2 nesse caso, dependendo da versão para a qual deseja alternar.
No entanto, no caso de python, python2 e python3 não são alternativas, então você não encontrará essa opção, você precisará criar aliases para isso.
Portanto, se você quiser que o python se refira à versão 2.xx do python e ao python3 para se referir à versão 3.xx do python, você pode abrir o arquivo ~/.bash_aliases
e digitar o seguinte:
alias python='/usr/bin/python'
alias python3='/usr/bin/python3'
Este arquivo pode estar vazio se você não tiver criado aliases antes, o que é bom. Você pode até querer o alias ao contrário, ou seja, python para se referir a python3 e python2 para se referir a python2, você pode ajustar o alias como quiser.
Como você pode ver, depende se as versões instaladas são alternativas uma da outra - se elas são alternativas, você pode usar update-alternatives
, se não, você terá que ajustar usando aliases ou soft-links. Pode haver soluções melhores e mais limpas, mas eu não estou ciente disso.