tsujimotterのノートブック

日曜数学者 tsujimotter の「趣味で数学」実践ノート

RPMを使って java 8 を CentOS 6.5 にインストール

Java 8 のインストールについて備忘録的に書いておきます。
(自分の環境はこれでうまくいったよ~と言う話なので、ベストプラクティスかどうかはわかりません。。。)


jdk 8 の rpm を oracle のサイトからダウンロードしてきます。

私の Cent OS は 64 bit 版だったので下記の rpm をダウンロードしました。

$ rpm -ivh jdk-8u5-linux-x64.rpm

インストールはこれだけのはずなんですが。。。


バージョンを確認してみる

$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)

あれ、おかしい。。。

javac のほうは・・・?

$ javac -version
javac 1.8.0_05

javac の方だけ、インストールされている?

いや、そんなわけない。

ためしに、インストール先を探してみると、

$ /usr/java/default/bin/java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

ちゃんと入っていますね。
(/usr/java/default に 先ほどインストールした java 8 が入っています。)


では、java のコマンドはどっから実行されているかというと、

$ which java
/usr/bin/java

ここだ。

こいつはシンボリックリンクなのですが、きっとリンク先がおかしかったのですね。

ちなみに javac の方はというと、

$ which javac
/usr/bin/javac

という風になって、中身をみてみると、

$ ls -la /usr/bin/javac 
lrwxrwxrwx. 1 root root 27  626 21:14 2014 /usr/bin/javac -> /usr/java/default/bin/javac

となっていることがわかります。

というわけで、javaコマンドの方も同じように修正してあげましょう。

シンボリックリンクの修正

もとのシンボリックリンクをとりあえず退避

$ sudo mv /usr/bin/java /usr/bin/java-org 

新しくシンボリックリンクを作成

$ sudo ln -s /usr/java/default/bin/java /usr/bin/java 

確認

$ java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)


まぁ、だいぶ無理やりな気もするのですが。。。

今日はこの辺で。