2016-03-31 11 views
0

1.8から1.6にダウングレードするために、Java alternativesを使用しようとしています。これは--set経由選択肢で正しく設定されているにもかかわらずしかしJavaのバージョンは、まだ1.8を返します。/usr/bin/javaが/ usr/java/default/bin/javaにリンクするのはなぜですか?

ls -la /usr/bin/java 
lrwxrwxrwx 1 root root 26 Mar 31 11:27 /usr/bin/java -> /usr/java/default/bin/java 

ls -la /usr/java/ 
total 20 
drwxr-xr-x 4 root root 4096 Mar 31 11:30 . 
drwxr-xr-x 16 root root 4096 Oct 7 11:41 .. 
lrwxrwxrwx 1 root root 16 Mar 31 11:27 default -> /usr/java/latest 
drwxr-xr-x 7 root root 4096 Mar 31 11:27 jre1.6.0_37 
drwxr-xr-x 7 root root 4096 Mar 31 11:30 jre1.8.0_66 
lrwxrwxrwx 1 root root 21 Mar 31 11:30 latest -> /usr/java/jre1.8.0_66 

私が持っている:

Selection Command 
----------------------------------------------- 
*+ 1   /usr/java/jre1.6.0_37/bin/java 
    2   /usr/java/jre1.8.0_66/bin/java 

java -version 
java version "1.8.0_66" 

よく見ると、その後/usr/bin/javaは常にための最新バージョンをポイントすることが明らかになりました2つのRHEL 5.10/11システムでこれを体験しました。 CentOSでこれを複製しようとしている間に、私は/usr/bin/java/etc/alternatives/javaにリンクしていることに気づいた。私のRHELシステム上に戻る

/etc/alternatives/javaを見て:それは /usr/bin/java/etc/alternatives/javaにリンクする必要があることを意味正しいバージョンにリンクして期待されるように

ls -la /etc/alternatives/ 
total 24 
drwxr-xr-x 2 root root 4096 Mar 31 12:02 . 
drwxr-xr-x 78 root root 12288 Sep 25 2012 .. 
lrwxrwxrwx 1 root root 30 Mar 31 12:02 java -> /usr/java/jre1.6.0_37/bin/java 

これがデフォルトの動作ではないのはなぜですか?ダウングレードを管理するためにシンボリックリンクを '/ etc/alternatives/java'に変更するだけですか?

答えて

0

RPMパッケージは、/ usr/java/latestと/ usr/java/defaultという2つのリンクを作成します。

  1. /usr/java/latestリンクは、常に最新バージョンと見なされるJavaのバージョンを指します。パッケージのそれ以降のアップグレードは、最新バージョンでない場合はこの値を上書きします。

  2. デフォルトでは、/ usr/java/defaultは/ usr/java/latestを指します。ただし、管理者が/ usr/java/defaultをJavaの別のバージョンを指すように変更すると、その後のパッケージのアップグレードは管理者によって提供され、上書きすることはできません。 RHEL上の選択肢については

、以下に従ってください。

How to use alternatives for setting default JDK?

は、あなたはこれを検討しましたか? Problem changing Java version using alternatives

+0

なぜなら、 '/ usr/bin/java'がデフォルトで最新のものを指していて、 'etc/alternatives/java'を指していない理由を説明していますか?ダウングレードを管理するために '/ etc/alternatives/java'へのシンボリックリンクを変更するだけですか? – kaizenCoder

+0

既存の質問については、私の問題はダウングレードしています。アップグレードは期待どおりに動作し、 '/ usr/bin/java'がシンボリックリンクする場所にローカライズされます。 – kaizenCoder

関連する問題