JDK 1.6.x のインストール (CentOS 5.5 64bit)

2013/4/26 追記
最新バージョンについては以下を参照してください。
@see 「Java SE 7 のインストール (CentOS 6.3 64bit)

試用感覚で2ヶ月間ほど OpenJDK を使いつづけてみましたが、特にこれといった問題には直面しませんでした。(「Eclipse インストールと日本語化 (CentOS 5.4 64bit) 編 」参照)
このまま使いつづけても良さそうですが、気づけば Sun が提供する JDK はバージョンが 1.6.0_21 まで進んでいました。Sun 製 JDK にバグが多いのか、それとも OpenJDK のパッチ速度が遅いのか判断に迷うところですが、そろそろ使い慣れた(?) JDK に復帰することとしました。

1. JDK のダウンロード

Sun (今は買収されて Oracle ですが。。。) のダウンロードページ Sun Developer Network (SDN) から最新の JDK をダウンロードします。
実行形式 (bin) 版と RPM 版がありますが、今回は RPM 版にしました。
本日時点の 64bit Linux 版の最新版は jdk-6u21-linux-x64-rpm.bin でした。

2. JDK のインストールとパスの設定

2.1. JDK のインストール

RPM 版についても実行形式版で提供されていますので、ダウンロードしたファイルを実行するだけでインストールは完了します。

# chmod a+x jdk-6u21-linux-x64-rpm.bin
# ./jdk-6u21-linux-x64-rpm.bin

インストール先は /usr/java 配下となります。

2.2. JDK へのパスを設定

/etc/profile にインストールした JDK へのパス定義を追加します。

/etc/profile への追記内容

# JDK
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin

/usr/java/default は 最後にインストールされた JDK へのリンクとなっています。(正確には /usr/java/latest へのリンクで、latest が JDK 本体へのリンクとなっています)

JAVA_HOME を /usr/java/default としているのは、将来、最新の JDK をインストールした場合でもパス設定を変更不要とするためです。

2.3. /etc/profile の有効化

変更した /etc/profile を有効化します。

$ source /etc/profile

3. OpenJDK のアンインストール

OpenJDK がインストールされたままだと /usr/bin 配下に javac や javadoc など多数のファイル (リンク) が存在しています。
前項でパス定義を追加してもこのままでは OpenJDK が読み込まれてしまうため、OpenJDK のアンインストールをおこないます。

3.1. インストール済み OpenJDK のパッケージ確認

yum コマンドでアンインストールするため、OpenJDK のパッケージ名を確認します。

# rpm -qa | grep java
sun-javadb-core-10.5.3-0.2
java-1.6.0-openjdk-devel-1.6.0.0-1.11.b16.el5
sun-javadb-demo-10.5.3-0.2
java-1.6.0-openjdk-1.6.0.0-1.11.b16.el5
sun-javadb-common-10.5.3-0.2
sun-javadb-docs-10.5.3-0.2
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
sun-javadb-javadoc-10.5.3-0.2
tzdata-java-2010i-1.el5
sun-javadb-client-10.5.3-0.2

java-1.6.0-openjdk-devel、java-1.6.0-openjdk、java-1.4.2-gcj-compat が不要となりそうです。

3.2. OpenJDK パッケージのアンインストール

yum コマンドで洗い出したパッケージを削除します。

# yum remove java-1.6.0-openjdk-devel

これで java-1.6.0-openjdk-devel パッケージの削除は完了です。

同様に java-1.6.0-openjdk と java-1.4.2-gcj-compat も削除するつもりでしたが、OpenOffice 他多数のパッケージと関連していたため削除はいったん見送りました。

3.3. /usr/bin 配下のリンク先変更

8/1 追記
alternatives コマンドでリンク先を切り替えた方がスマートに実現できるため、別途以下の記事を参照してください。
@see 「alternatives コマンドを使用した java バージョンの切り替え

java-1.6.0-openjdk と java-1.4.2-gcj-compat を残したため、/usr/bin 配下のリンク先を変更します。

まずは現在のリンク状況を確認します。

# cd /usr/bin
# ls -l java*
lrwxrwxrwx 1 root root 22 4月 18 18:11 java -> /etc/alternatives/java
lrwxrwxrwx 1 root root 28 7月 17 20:29 javaws -> /usr/java/default/bin/javaws

/usr/bin/java のみ変更すれば問題なさそうです。

# rm java
# ln -s /usr/java/default/bin/java java

変更後のリンク先を確認します。

# ls -l java*
lrwxrwxrwx 1 root root 26 7月 17 20:39 java -> /usr/java/default/bin/java
lrwxrwxrwx 1 root root 28 7月 17 20:29 javaws -> /usr/java/default/bin/javaws

4. 動作確認

version オプションを使用して Sun JDK が動作していることを確認します。

$ java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode)

$ javac -version
javac 1.6.0_21

java、javac コマンド共に Sun JDK が動作していることが確認できました。

[ END ]


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*