Java をインストールする

必要なパッケージ

jpackage とは

Sun が提供する Javaソースコードの公開がなされていなかったため、フリーのコンパイラである gcj が搭載されている。
CentOS では Sun の JDK をインストールすることができるのだが、gcjコンパイルすることを前提にしているパッケージが存在するために gcj を削除することができない。
そこで、jpackage を利用して、Sun の Javagcj を切り替える仕組みを用意する必要が出てくる。

インストール手順

Sun の JDK は WEB サイトからダウンロードをして、root のホームディレクトリに配置する。
http://java.sun.com/javase/ja/6/download.html
ダウンロードをするのは、Linux RPM in self-extracting file と記述されているファイル。

# yum -y install jpackage-utils
# ls -l
-rw-r--r-- 1 root root 66590171 May 13 10:09 jdk-6u6-linux-i586-rpm.bin

# Sun の JDK をインストールする
# 最後に利用許諾の確認が表示されるので、yes と答える
# sh jdk-6u6-linux-i586-rpm.bin
Do you agree to the above license terms? [yes or no]
yes

# jpackege の GPG Key をインポートする
# rpm --import http://jpackage.org/jpackage.asc

# jpackege の リポジトリを設定する
# cd /etc/yum.repos.d
# vi jpackage.repo
# cat jpackage.repo
[jpackage-generic]
name=JPackage (free), generic
mirrorlist=http://www.jpackage.org/jpackage_generic.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
# enabled=1 を 0 に変更する
enabled=0

# jpackege をインストールする
# yum --enablerepo=jpackage-generic install java-1.6.0-sun-compat

# コンパイラを切り替える
# alternatives --config java
There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-sun/bin/java
   2           /usr/lib/jvm/jre-1.4.2-gcj/bin/java

Enter to keep the current selection[+], or type selection number: 1

jpackage を RPM からインストールする場合

# rpm --import http://jpackage.org/jpackage.asc
# wget http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
# ls -l java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
# rpm -Uvh java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm