24/7 twenty-four seven

iOS/OS X application programing topics.

JPackageの仕組みを利用して、CentOSにJDKをインストールする。

Sun JDKのダウンロード

SunのサイトからJDKをダウンロード。
バージョン6.0以外のJDKについて、JPackageは少し古いリリースまでしか対応してないので、1.4.2と5.0のJDKはアーカイブからダウンロードする。

JPackageのJDKパッケージをダウンロード

ここから使用するJDKのバージョンに合ったパッケージをダウンロードする。

$ wget http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/java-1.4.2-sun-compat-1.4.2.13-1jpp.i586.rpm
$ wget http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/java-1.5.0-sun-compat-1.5.0.14-1jpp.i586.rpm
$ 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
Sun JDKのインストール

5.0のJDKは6.0が先に入っているとインストールできないので、両方インストールする場合は5.0から先にインストールすること。1.4.2のJDKはどの順番でもOK。

$ sudo sh j2sdk-1_4_2_13-linux-i586-rpm.bin
$ sudo rpm -ivh j2sdk-1_4_2_13-linux-i586.rpm
$ sudo sh jdk-1_5_0_14-linux-i586-rpm.bin
$ sudo sh jdk-6u6-linux-i586-rpm.bin
JPackageのJDKパッケージのインストール

各パッケージはコンフリクトするので、2つ目以降は--forceオプションを付ける。

$ sudo rpm -ivh java-1.4.2-sun-compat-1.4.2.13-1jpp.i586.rpm
$ sudo rpm -ivh --force java-1.5.0-sun-compat-1.5.0.14-1jpp.i586.rpm
$ sudo rpm -ivh --force java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm
javaコマンドの切り替え
$ sudo /usr/sbin/alternatives --config java

「+」が付いているのが現在のデフォルトのjavaコマンドで、変更する場合は番号を入力してEnter。

4 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
   1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
   2           /usr/lib/jvm/jre-1.4.2-sun/bin/java
   3           /usr/lib/jvm/jre-1.5.0-sun/bin/java
*+ 4           /usr/lib/jvm/jre-1.6.0-sun/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
javacコマンドの切り替え

同様にjavacコマンドも切り替えられる。連動しないので、javaとjavacのバージョンを別にすることも可能。

$ sudo /usr/sbin/alternatives --config javac