
私のUbuntu 15.04にはsudo update-alternatives --config java
次のものが表示されます。
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-8-oracle/jre/bin/java 1074 auto mode
1 /opt/java32/jdk1.7.0_71/jre/bin/java 1 manual mode
2 /usr/lib/jvm/java-1.7.0-openjdk-i386/jre/bin/java 10 manual mode
3 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
4 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1070 manual mode
* 5 /usr/lib/jvm/java-8-oracle/jre/bin/java 1074 manual mode
1つのパスに/usr/lib/jvm/java-8-oracle/jre/bin/java
2つのエントリ(1つはスキーマにあり、auto
もう1つはmanual
スキーマにあります)があるのはなぜですか?
どちらのパスも同じ優先順位1024を持ち、manual
パスはデフォルトとして表示されます。手動モードは常に自動モードよりも優先順位が高くなりますか?
答え1
表示された項目は*
現在の選択項目を示します。update-alternatives
変更したくない場合は何も入力する必要がないため、これはデフォルト値です。
システムのデフォルトは常にですauto
。これは、パッケージマネージャが決定したときに常に優先順位が最も高い選択肢を選択するように設定が変更されることを意味します。連続したアスタリスクは、manual
誰かが選択肢を変更したことを示します。アップデートのインストール時に優先順位が変更されても、システムはこの選択を変更しません。はい。手動モードは常に自動モードよりも優先されます。明らかに誰か(手動で!)バイナリの設定を変更しましたが、java
現在の選択肢はシステムがモードで選択したものと同じであるため、auto
項目が2回表示されます。
java
システムが自動的に「最適な」代替パスを選択するようにするには、0
ここで選択します。特にJavaアプリケーションは、使用される実装とバージョンが難しいかもしれませんので、変更に注意してください。 DebianまたはUbuntuリポジトリでそれぞれ提供されるJavaアプリケーションは、常にデフォルトのJREを使用して実行できる必要があります。