最終更新日: 2012年 2月 12日
Linux用のOracle Java JDK はrpm形式と、自己解凍バイナリの2つがあります。ここではrpm形式をインストールして設定します。
ダウンロードは以下からできます。 Java SE Downloads (Oracle)
Oracleのサイトで公開されているインストール方法は以下です。
ここでは、ダウンロードしたJDK RPM 64bit版のファイル名を jdk-6u31-linux-x64-rpm.bin とします。 これをインストールします。
まず、パッケージに実行権限を与えます。
# chmod a+x ./jdk-6u31-linux-x64-rpm.bin
次に実行してインストールを開始します。
# ./jdk-6u31-linux-x64-rpm.bin Unpacking... Checksumming... Extracting... UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu). inflating: jdk-6u31-linux-amd64.rpm inflating: sun-javadb-common-10.6.2-1.1.i386.rpm inflating: sun-javadb-core-10.6.2-1.1.i386.rpm inflating: sun-javadb-client-10.6.2-1.1.i386.rpm inflating: sun-javadb-demo-10.6.2-1.1.i386.rpm inflating: sun-javadb-docs-10.6.2-1.1.i386.rpm inflating: sun-javadb-javadoc-10.6.2-1.1.i386.rpm 準備しています... ########################################### [100%] ・・・ ・・・ For more information on what data Registration collects and how it is managed and used, see: http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html Press Enter to continue.....Enterキーの入力を求められるので、Enterキーを押します。すると
Done.と表示されてインストールが終了します。
インストールが成功すると、/usr/java/ が作成されて、その中が以下のようになっているはずです。
# ls -l /usr/java/ 合計 4 lrwxrwxrwx 1 root root 16 3月 23 01:41 default -> /usr/java/latest drwxr-xr-x 9 root root 4096 3月 23 01:41 jdk1.6.0_31 lrwxrwxrwx 1 root root 21 3月 23 01:41 latest -> /usr/java/jdk1.6.0_31
# ls -l /usr/java/jdk1.6.0_31/ 合計 18888 -rw-r--r-- 1 root root 3339 1月 21 03:47 COPYRIGHT -rw-r--r-- 1 root root 40 1月 21 03:47 LICENSE -rw-r--r-- 1 root root 115 1月 21 03:47 README.html -rw-r--r-- 1 root root 168902 1月 21 03:47 THIRDPARTYLICENSEREADME.txt drwxr-xr-x 2 root root 4096 3月 23 01:41 bin drwxr-xr-x 10 root root 4096 3月 23 01:41 demo drwxr-xr-x 3 root root 4096 3月 23 01:41 include drwxr-xr-x 6 root root 4096 3月 23 01:41 jre drwxr-xr-x 3 root root 4096 3月 23 01:41 lib drwxr-xr-x 4 root root 4096 3月 23 01:41 man -r--r--r-- 1 root root 5170 3月 23 01:41 register.html -r--r--r-- 1 root root 6616 3月 23 01:41 register_ja.html -r--r--r-- 1 root root 4773 3月 23 01:41 register_zh_CN.html drwxr-xr-x 9 root root 4096 3月 23 01:41 sample -rw-r--r-- 1 root root 19102077 1月 21 03:47 src.zip
OpenJDKを先にインストールしていると、そちらの方にパスが通ったままです。 そのため、alaternativesにOracle Javaの設定を追加します。
現在、alternatives に登録されているJavaの設定を見てみます。
# alternatives --config java 1 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:Enterキーを押せば、現状のままです。
現在alternativesにはJavaが1つだけ登録されていました。 次に、この登録内容の詳細を確認します。
# alternatives --display java java - ステータスは手動です。 リンクは現在 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java を指しています。 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - 優先項目 16000 スレーブ keytool: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/keytool スレーブ orbd: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/orbd スレーブ pack200: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/pack200 スレーブ rmid: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/rmid スレーブ rmiregistry: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/rmiregistry スレーブ servertool: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/servertool スレーブ tnameserv: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/tnameserv スレーブ unpack200: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/unpack200 スレーブ jre_exports: /usr/lib/jvm-exports/jre-1.6.0-openjdk.x86_64 スレーブ jre: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64 スレーブ java.1.gz: /usr/share/man/man1/java-java-1.6.0-openjdk.1.gz スレーブ keytool.1.gz: /usr/share/man/man1/keytool-java-1.6.0-openjdk.1.gz スレーブ orbd.1.gz: /usr/share/man/man1/orbd-java-1.6.0-openjdk.1.gz スレーブ pack200.1.gz: /usr/share/man/man1/pack200-java-1.6.0-openjdk.1.gz スレーブ rmid.1.gz: /usr/share/man/man1/rmid-java-1.6.0-openjdk.1.gz スレーブ rmiregistry.1.gz: /usr/share/man/man1/rmiregistry-java-1.6.0-openjdk.1.gz スレーブ servertool.1.gz: /usr/share/man/man1/servertool-java-1.6.0-openjdk.1.gz スレーブ tnameserv.1.gz: /usr/share/man/man1/tnameserv-java-1.6.0-openjdk.1.gz スレーブ unpack200.1.gz: /usr/share/man/man1/unpack200-java-1.6.0-openjdk.1.gz 現在の「最適」バージョンは /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java です。
これを参考にして、以下のようにOracle JDK用を追加します。
# alternatives --install /usr/bin/java java /usr/java/default/bin/java 100 \ --slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \ --slave /usr/bin/orbd orbd /usr/java/default/bin/orbd \ --slave /usr/bin/pack200 pack200 /usr/java/default/bin/pack200 \ --slave /usr/bin/rmid rmid /usr/java/default/bin/rmid \ --slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry \ --slave /usr/bin/servertool servertool /usr/java/default/bin/servertool \ --slave /usr/bin/tnameserv tnameserv /usr/java/default/bin/tnameserv \ --slave /usr/bin/unpack200 unpack200 /usr/java/default/bin/unpack200
alternatives --configを実行してみると、java の選択肢に追加されているのが確認できるはずです。
# alternatives --config java 2 プログラムがあり \'java\' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java 2 /usr/java/default/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:ここで、”2”を入力すると、Oracle版にパスが通ることになります。
java と同様に javac の設定を追加します。
同様に javac の登録内容を最初に確認します。
# alternatives --display javac javac -ステータスは自動です。 リンクは現在 /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/javac を指しています。 /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/javac - 優先項目 16000 スレーブ java_sdk: /usr/lib/jvm/java-1.6.0-openjdk.x86_64 スレーブ java_sdk_exports: /usr/lib/jvm-exports/java-1.6.0-openjdk.x86_64 スレーブ appletviewer: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/appletviewer スレーブ apt: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/apt スレーブ extcheck: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/extcheck スレーブ jar: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jar スレーブ jarsigner: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jarsigner スレーブ javadoc: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/javadoc スレーブ javah: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/javah スレーブ javap: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/javap スレーブ jconsole: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jconsole スレーブ jdb: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jdb スレーブ jhat: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jhat スレーブ jinfo: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jinfo スレーブ jmap: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jmap スレーブ jps: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jps スレーブ jrunscript: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jrunscript スレーブ jsadebugd: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jsadebugd スレーブ jstack: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jstack スレーブ jstat: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jstat スレーブ jstatd: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jstatd スレーブ native2ascii: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/native2ascii スレーブ policytool: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/policytool スレーブ rmic: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/rmic スレーブ schemagen: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/schemagen スレーブ serialver: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/serialver スレーブ wsgen: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/wsgen スレーブ wsimport: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/wsimport スレーブ xjc: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/xjc スレーブ appletviewer.1.gz: /usr/share/man/man1/appletviewer-java-1.6.0-openjdk.1.gz スレーブ apt.1.gz: /usr/share/man/man1/apt-java-1.6.0-openjdk.1.gz スレーブ extcheck.1.gz: /usr/share/man/man1/extcheck-java-1.6.0-openjdk.1.gz スレーブ jar.1.gz: /usr/share/man/man1/jar-java-1.6.0-openjdk.1.gz スレーブ jarsigner.1.gz: /usr/share/man/man1/jarsigner-java-1.6.0-openjdk.1.gz スレーブ javac.1.gz: /usr/share/man/man1/javac-java-1.6.0-openjdk.1.gz スレーブ javadoc.1.gz: /usr/share/man/man1/javadoc-java-1.6.0-openjdk.1.gz スレーブ javah.1.gz: /usr/share/man/man1/javah-java-1.6.0-openjdk.1.gz スレーブ javap.1.gz: /usr/share/man/man1/javap-java-1.6.0-openjdk.1.gz スレーブ jconsole.1.gz: /usr/share/man/man1/jconsole-java-1.6.0-openjdk.1.gz スレーブ jdb.1.gz: /usr/share/man/man1/jdb-java-1.6.0-openjdk.1.gz スレーブ jhat.1.gz: /usr/share/man/man1/jhat-java-1.6.0-openjdk.1.gz スレーブ jinfo.1.gz: /usr/share/man/man1/jinfo-java-1.6.0-openjdk.1.gz スレーブ jmap.1.gz: /usr/share/man/man1/jmap-java-1.6.0-openjdk.1.gz スレーブ jps.1.gz: /usr/share/man/man1/jps-java-1.6.0-openjdk.1.gz スレーブ jrunscript.1.gz: /usr/share/man/man1/jrunscript-java-1.6.0-openjdk.1.gz スレーブ jsadebugd.1.gz: /usr/share/man/man1/jsadebugd-java-1.6.0-openjdk.1.gz スレーブ jstack.1.gz: /usr/share/man/man1/jstack-java-1.6.0-openjdk.1.gz スレーブ jstat.1.gz: /usr/share/man/man1/jstat-java-1.6.0-openjdk.1.gz スレーブ jstatd.1.gz: /usr/share/man/man1/jstatd-java-1.6.0-openjdk.1.gz スレーブ native2ascii.1.gz: /usr/share/man/man1/native2ascii-java-1.6.0-openjdk.1.gz スレーブ policytool.1.gz: /usr/share/man/man1/policytool-java-1.6.0-openjdk.1.gz スレーブ rmic.1.gz: /usr/share/man/man1/rmic-java-1.6.0-openjdk.1.gz スレーブ schemagen.1.gz: /usr/share/man/man1/schemagen-java-1.6.0-openjdk.1.gz スレーブ serialver.1.gz: /usr/share/man/man1/serialver-java-1.6.0-openjdk.1.gz スレーブ wsgen.1.gz: /usr/share/man/man1/wsgen-java-1.6.0-openjdk.1.gz スレーブ wsimport.1.gz: /usr/share/man/man1/wsimport-java-1.6.0-openjdk.1.gz スレーブ xjc.1.gz: /usr/share/man/man1/xjc-java-1.6.0-openjdk.1.gz 現在の「最適」バージョンは /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/javac です。
これをもとに、以下のように実行します。
alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 100 \ --slave /usr/bin/apt apt /usr/java/default/bin/apt \ --slave /usr/bin/extcheck extcheck /usr/java/default/bin/extcheck \ --slave /usr/bin/jar jar /usr/java/default/bin/jar \ --slave /usr/bin/jarsigner jarsigner /usr/java/default/bin/jarsigner \ --slave /usr/bin/javadoc javadoc /usr/java/default/bin/javadoc \ --slave /usr/bin/javah javah /usr/java/default/bin/javah \ --slave /usr/bin/javap javap /usr/java/default/bin/javap \ --slave /usr/bin/jconsole jconsole /usr/java/default/bin/jconsole \ --slave /usr/bin/jdb jdb /usr/java/default/bin/jdb \ --slave /usr/bin/jhat jhat /usr/java/default/bin/jhat \ --slave /usr/bin/jinfo jinfo /usr/java/default/bin/jinfo \ --slave /usr/bin/jmap jmap /usr/java/default/bin/jmap \ --slave /usr/bin/jps jps /usr/java/default/bin/jps \ --slave /usr/bin/jrunscript jrunscript /usr/java/default/bin/jrunscript \ --slave /usr/bin/jsadebugd jsadebugd /usr/java/default/bin/jsadebugd \ --slave /usr/bin/jstack jstack /usr/java/default/bin/jstack \ --slave /usr/bin/jstat jstat /usr/java/default/bin/jstat \ --slave /usr/bin/jstatd jstatd /usr/java/default/bin/jstatd \ --slave /usr/bin/native2ascii native2ascii /usr/java/default/bin/native2ascii \ --slave /usr/bin/policytool policytool /usr/java/default/bin/policytool \ --slave /usr/bin/rmic rmic /usr/java/default/bin/rmic \ --slave /usr/bin/schemagen schemagen /usr/java/default/bin/schemagen \ --slave /usr/bin/serialver serialver /usr/java/default/bin/serialver
注. appletviewr と、man関係は書式が分らなかったので外しています。
追加後に登録内容を確認すると
# alternatives --display java java - ステータスは手動です。 リンクは現在 /usr/java/default/bin/java を指しています。 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - 優先項目 16000 スレーブ keytool: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/keytool スレーブ orbd: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/orbd スレーブ pack200: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/pack200 スレーブ rmid: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/rmid スレーブ rmiregistry: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/rmiregistry スレーブ servertool: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/servertool スレーブ tnameserv: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/tnameserv スレーブ unpack200: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/unpack200 スレーブ jre_exports: /usr/lib/jvm-exports/jre-1.6.0-openjdk.x86_64 スレーブ jre: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64 スレーブ java.1.gz: /usr/share/man/man1/java-java-1.6.0-openjdk.1.gz スレーブ keytool.1.gz: /usr/share/man/man1/keytool-java-1.6.0-openjdk.1.gz スレーブ orbd.1.gz: /usr/share/man/man1/orbd-java-1.6.0-openjdk.1.gz スレーブ pack200.1.gz: /usr/share/man/man1/pack200-java-1.6.0-openjdk.1.gz スレーブ rmid.1.gz: /usr/share/man/man1/rmid-java-1.6.0-openjdk.1.gz スレーブ rmiregistry.1.gz: /usr/share/man/man1/rmiregistry-java-1.6.0-openjdk.1.gz スレーブ servertool.1.gz: /usr/share/man/man1/servertool-java-1.6.0-openjdk.1.gz スレーブ tnameserv.1.gz: /usr/share/man/man1/tnameserv-java-1.6.0-openjdk.1.gz スレーブ unpack200.1.gz: /usr/share/man/man1/unpack200-java-1.6.0-openjdk.1.gz /usr/java/default/bin/java - 優先項目 100 スレーブ keytool: /usr/java/default/bin/keytool スレーブ orbd: /usr/java/default/bin/orbd スレーブ pack200: /usr/java/default/bin/pack200 スレーブ rmid: /usr/java/default/bin/rmid スレーブ rmiregistry: /usr/java/default/bin/rmiregistry スレーブ servertool: /usr/java/default/bin/servertool スレーブ tnameserv: /usr/java/default/bin/tnameserv スレーブ unpack200: /usr/java/default/bin/unpack200 スレーブ jre_exports: (null) スレーブ jre: (null) スレーブ java.1.gz: (null) スレーブ keytool.1.gz: (null) スレーブ orbd.1.gz: (null) スレーブ pack200.1.gz: (null) スレーブ rmid.1.gz: (null) スレーブ rmiregistry.1.gz: (null) スレーブ servertool.1.gz: (null) スレーブ tnameserv.1.gz: (null) スレーブ unpack200.1.gz: (null) 現在の「最適」バージョンは /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java です。