いつも忘れるのでメモ。
javaの例で。
現状確認
$ sudo update-alternatives --config java
2 プログラムがあり 'java' を提供します。
選択 コマンド
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: (Ctrl+Cで強制終了)
$ java -version
java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.6) (fedora-31.b16.fc12-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
OpenJDKが入ってます。
新しいalternativeをインストール
Sun Javaを入れます。
$ sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_17/bin/java 16017
使用法: update-alternatives --install <リンク> <名前> <パス> <優先度>
です。
ちなみにjre-1.6.0-openjdkの優先度は16000、jre-1.5.0-gcの優先度は1500になっていました。それより高い優先度を設定。
$ sudo update-alternatives --config java
3 プログラムがあり 'java' を提供します。
選択 コマンド
1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
*+ 3 /usr/java/jdk1.6.0_17/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
$ java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)
優先度が一番高いものが自動的に選択されるようになりました。(もちろん手動でも変えれる)