alternative システムは、
同じ機能をもつ複数のプログラムを一つのシステムにインストールして、
共存させることを可能とする仕組みだそうです。
(そんな仕組みがあって、知らず知らずのうちに使っていたとは…)
例えば、java というコマンドをたどっていくと、/etc/alternatives/java にシンボリックリンクが張られています。
さらにその先は、/usr/lib/jvm/java-6-sun/jre/bin/java にリンクが張られていたりします。
$ which java /usr/bin/java $ ll /usr/bin/java lrwxrwxrwx 1 root root 22 Jun 30 09:29 /usr/bin/java -> /etc/alternatives/java
複数の java のパッケージをインストールした場合、alternatives の設定を変更することで、
どの java コマンドを使うか明示的に切り替えることができます。
PATH の設定を変えても java が切り替わらない方は、この設定を確認すると良いと思います。
alternatives の設定を変更するには、update-alternatives コマンドを使います。
自分でシンボリックリンクを張り替えるよりは、このコマンド使った方が安全そうです。
java コマンドの実態を java-6-sun に切り替える場合は、以下のようにします (番号を選択)。
# update-alternatives --config java There are 4 alternatives which provide `java'. Selection Alternative ----------------------------------------------- 1 /usr/bin/gij-4.2 + 2 /usr/lib/jvm/java-gcj/jre/bin/java 3 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java * 4 /usr/lib/jvm/java-6-sun/jre/bin/java Press enter to keep the default[*], or type selection number: 4 Using '/usr/lib/jvm/java-6-sun/jre/bin/java' to provide 'java'.
参考:
http://manpages.ubuntu.com/manpages/hardy/ja/man8/update-alternatives.8.html