Fedora Core/SUN JDK
出典: Fukudat
Fedora付属のjavaは1.4.2レベルなのと,パフォーマンスがあまりよくない. 最新のJDKを入手してインストールする.
基本的には,http://www.jpackage.org/installation.php に従って導入.
これによって,tomcat5 も 新しい JDK で動作するようになる.
インストール
http://java.sun.com/ から Linux 用のJava SE配布パッケージを入手する. NetbeansとかJ2EEとかは不要なので,Java SEだけのパッケージ
jdk-6uX-linux-i586.rpm.bin
をゲットする. 6uX の Xはアップデートレベルで,数字.例えば 6u6なら,JDK 1.6.0 update 6.
それを実行してroot 権限でインストールする.
# sh jdk-6uX-linux-i586.rpm.bin
JPackage をインストール
yum を使って導入する.このためにまず http://www.jpackage.org/jpackage17.repo をゲットして /etc/yum.repos.d/ に置く…のだけれど,変数 $releasever が _ とつながっていて,そのままだと上手く動かない.そこで,次のように書き換える.
# Be sure to enable the distro specific repository for your distro below: # - jpackage-fc for Fedora Core # - jpackage-rhel for Red Hat Enterprise Linux and derivatives [jpackage-generic] name=JPackage (free), generic mirrorlist=http://www.jpackage.org/jpackage_generic_1.7.txt failovermethod=priority gpgcheck=1 gpgkey=http://www.jpackage.org/jpackage.asc enabled=1 [jpackage-fc] name=JPackage (free) for Fedora Core $releasever mirrorlist=http://www.jpackage.org/jpackage_fedora-$releasever.txt failovermethod=priority gpgcheck=1 gpgkey=http://www.jpackage.org/jpackage.asc enabled=1 [jpackage-rhel] name=JPackage (free) for Red Hat Enterprise Linux $releasever mirrorlist=http://www.jpackage.org/jpackage_rhel-$releasever.txt failovermethod=priority gpgcheck=1 gpgkey=http://www.jpackage.org/jpackage.asc enabled=0 [jpackage-generic-nonfree] name=JPackage (non-free), generic mirrorlist=http://www.jpackage.org/jpackage_generic_nonfree_1.7.txt failovermethod=priority gpgcheck=1 gpgkey=http://www.jpackage.org/jpackage.asc enabled=1
オリジナルのファイルとの変更点は、mirrorlist= の行と,enabled= の行.対象が fedora なのでjpackage-fc セクションがイネーブル(enabled=1)されている.RedHat の場合は,jpackage-rhel セクションをイネーブルする.
次に,jpackage をインストール.
# yum intall java-1.6.0-sun-compat-1.6.0.0X
ここで X は先ほどインストールした JDK のアップデートレベル(数字).
これで完成.バージョンを確かめてみる.
$ which java /usr/bin/java $ java -version Java(TM) SE Runtime Environment (build 1.6.0_01-b06) Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)
と /usr/bin/java が先ほどインストールした JDK 1.6.0 になった.
alternatives でJDKを切替
Fedoraのjavaをアンインストールする必要はない.alternativesコマンドで切替可能.
まず現在どう設定されいるか調べてみる.
$ alternatives --display java java - status is auto. link currently points to /usr/lib/jvm/jre-1.6.0-sun/bin/java /usr/lib/jvm/jre-1.4.2-gcj/bin/java - priority 1420 slave jcontrol: (null) slave keytool: /usr/lib/jvm/jre-1.4.2-gcj/bin/keytool slave orbd: (null) slave pack200: (null) slave policytool: (null) slave rmid: (null) slave rmiregistry: /usr/lib/jvm/jre-1.4.2-gcj/bin/rmiregistry slave servertool: (null) slave tnameserv: (null) slave unpack200: (null) slave jre_exports: /usr/lib/jvm-exports/jre-1.4.2-gcj slave jre: /usr/lib/jvm/jre-1.4.2-gcj slave javaws: (null) slave java.1: (null) slave javaws.1: (null) slave keytool.1: (null) slave orbd.1: (null) slave pack200.1: (null) slave policytool.1: (null) slave rmid.1: (null) slave rmiregistry.1: (null) slave servertool.1: (null) slave tnameserv.1: (null) slave unpack200.1: (null) /usr/lib/jvm/jre-1.6.0-sun/bin/java - priority 1603 slave jcontrol: /usr/lib/jvm/jre-1.6.0-sun/bin/jcontrol slave keytool: /usr/lib/jvm/jre-1.6.0-sun/bin/keytool slave orbd: /usr/lib/jvm/jre-1.6.0-sun/bin/orbd slave pack200: /usr/lib/jvm/jre-1.6.0-sun/bin/pack200 slave policytool: /usr/lib/jvm/jre-1.6.0-sun/bin/policytool slave rmid: /usr/lib/jvm/jre-1.6.0-sun/bin/rmid slave rmiregistry: /usr/lib/jvm/jre-1.6.0-sun/bin/rmiregistry slave servertool: /usr/lib/jvm/jre-1.6.0-sun/bin/servertool slave tnameserv: /usr/lib/jvm/jre-1.6.0-sun/bin/tnameserv slave unpack200: /usr/lib/jvm/jre-1.6.0-sun/bin/unpack200 slave jre_exports: /usr/lib/jvm-exports/jre-1.6.0-sun slave jre: /usr/lib/jvm/jre-1.6.0-sun slave javaws: /usr/lib/jvm/jre-1.6.0-sun/javaws slave java.1: /usr/share/man/man1/java-java-1.6.0-sun-compat.1 slave javaws.1: /usr/share/man/man1/javaws-java-1.6.0-sun-compat.1 slave keytool.1: /usr/share/man/man1/keytool-java-1.6.0-sun-compat.1 slave orbd.1: /usr/share/man/man1/orbd-java-1.6.0-sun-compat.1 slave pack200.1: /usr/share/man/man1/pack200-java-1.6.0-sun-compat.1 slave policytool.1: /usr/share/man/man1/policytool-java-1.6.0-sun-compat.1 slave rmid.1: /usr/share/man/man1/rmid-java-1.6.0-sun-compat.1 slave rmiregistry.1: /usr/share/man/man1/rmiregistry-java-1.6.0-sun-compat.1 slave servertool.1: /usr/share/man/man1/servertool-java-1.6.0-sun-compat.1 slave tnameserv.1: /usr/share/man/man1/tnameserv-java-1.6.0-sun-compat.1 slave unpack200.1: /usr/share/man/man1/unpack200-java-1.6.0-sun-compat.1 Current `best' version is /usr/lib/jvm/jre-1.6.0-sun/bin/java.
この例では,1.4.2がプライオリティ 1420 で,1.6.0がプライオリティ 1603 で導入されていることがわかる.
java を切り替えるには,
# alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java *+ 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java Enter to keep the current selection[+], or type selection number:
と出るので,1 と入れると元の 1.4.2 が選択される.
