https://naba-san.hatenablog.com/


CentOS 6.6 に OpenJDK 8 をインストール

CentOS 6.6 の JDK 関連パッケージ

[root@vps-at1 ~]# yum search jdk
読み込んだプラグイン:downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.vcu.edu
 * extras: repos.mia.quadranet.com
 * updates: centos.mirrors.wvstateu.edu
============================ N/S Matched: jdk =============================
java-1.6.0-openjdk.i686 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.i686 : OpenJDK Demos
java-1.6.0-openjdk-devel.i686 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.i686 : OpenJDK API Documentation
java-1.6.0-openjdk-src.i686 : OpenJDK Source Bundle
java-1.7.0-openjdk.i686 : OpenJDK Runtime Environment
java-1.7.0-openjdk-demo.i686 : OpenJDK Demos
java-1.7.0-openjdk-devel.i686 : OpenJDK Development Environment
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.i686 : OpenJDK Source Bundle
java-1.8.0-openjdk.i686 : OpenJDK Runtime Environment
java-1.8.0-openjdk-demo.i686 : OpenJDK Demos
java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment
java-1.8.0-openjdk-headless.i686 : OpenJDK Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.8.0-openjdk-src.i686 : OpenJDK Source Bundle
ldapjdk-javadoc.i686 : Javadoc for ldapjdk
icedtea-web.i686 : Additional Java components for OpenJDK - Java browser
                 : plug-in and Web Start implementation
ldapjdk.i686 : The Mozilla LDAP Java SDK

  Name and summary matches only, use "search all" for everything.
[root@vps-at1 ~]#


OpenJDK 8 は、Red Hat Enterprise Linux 6.6, CentOS 6.6 いずれもテクノロジプレビューの扱いとのこと*1 *2。何がプレビューなのかよくわからないけど、本番環境は避けろって事かねこれ。

Red Hatのリリースノートの参照先が古かった様子。最新版⇒ https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/6.6_Release_Notes/index.html

Red Hat Enterprise Linux 6.6 features the java-1.8.0-openjdk packages, which contain the latest version of the Open Java Development Kit, OpenJDK8, that is now fully supported.

パッケージごとのライフサイクルもこの辺にありました⇒https://access.redhat.com/support/policy/updates/rhscl

但し OpenJDK への言及なし、読み方もよく分からん。追記ここまで。

[root@vps-at1 ~]# yum install java-1.8.0-openjdk-devel.i686 java-1.8.0-openjdk-headless.i686 java-1.8.0-openjdk-javadoc.noarch
読み込んだプラグイン:downloadonly, fastestmirror
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
 * base: mirror.vcu.edu
 * extras: repos.mia.quadranet.com
 * updates: centos.mirrors.wvstateu.edu
依存性の解決をしています
    • > トランザクションの確認を実行しています。
      • > Package java-1.8.0-openjdk-devel.i686 1:1.8.0.45-28.b13.el6_6 will be インストール
    • > 依存性の処理をしています: java-1.8.0-openjdk = 1:1.8.0.45-28.b13.el6_6 のパッケージ: 1:java-1.8.0-openjdk-devel-1.8.0.45-28.b13.el6_6.i686
    • > 依存性の処理をしています: libawt_xawt.so(SUNWprivate_1.1) のパッケージ: 1:java-1.8.0-openjdk-devel-1.8.0.45-28.b13.el6_6.i686
    • > 依存性の処理をしています: libawt_xawt.so のパッケージ: 1:java-1.8.0-openjdk-devel-1.8.0.45-28.b13.el6_6.i686
      • > Package java-1.8.0-openjdk-headless.i686 1:1.8.0.45-28.b13.el6_6 will be インストール
      • > Package java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.45-28.b13.el6_6 will be インストール
    • > トランザクションの確認を実行しています。
      • > Package java-1.8.0-openjdk.i686 1:1.8.0.45-28.b13.el6_6 will be インストール
    • > 依存性解決を終了しました。
依存性を解決しました ==================================================================================================================== パッケージ アーキテクチャ バージョン リポジトリー 容量 ==================================================================================================================== インストールしています: java-1.8.0-openjdk-devel i686 1:1.8.0.45-28.b13.el6_6 updates 10 M java-1.8.0-openjdk-headless i686 1:1.8.0.45-28.b13.el6_6 updates 31 M java-1.8.0-openjdk-javadoc noarch 1:1.8.0.45-28.b13.el6_6 updates 17 M 依存性関連でのインストールをします。: java-1.8.0-openjdk i686 1:1.8.0.45-28.b13.el6_6 updates 173 k トランザクションの要約 ==================================================================================================================== インストール 4 パッケージ 総ダウンロード容量: 59 M インストール済み容量: 404 M これでいいですか? [y/N]y パッケージをダウンロードしています: (1/4): java-1.8.0-openjdk-1.8.0.45-28.b13.el6_6.i686.rpm | 173 kB 00:02 (2/4): java-1.8.0-openjdk-devel-1.8.0.45-28.b13.el6_6.i686.rpm | 10 MB 00:02 (3/4): java-1.8.0-openjdk-headless-1.8.0.45-28.b13.el6_6.i686.rpm | 31 MB 00:06 (4/4): java-1.8.0-openjdk-javadoc-1.8.0.45-28.b13.el6_6.noarch.rpm | 17 MB 00:02
                                                                                                                                                                                                                                      • -
合計 4.2 MB/s | 59 MB 00:14 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています インストールしています : 1:java-1.8.0-openjdk-javadoc-1.8.0.45-28.b13.el6_6.noarch 1/4 インストールしています : 1:java-1.8.0-openjdk-headless-1.8.0.45-28.b13.el6_6.i686 2/4 インストールしています : 1:java-1.8.0-openjdk-1.8.0.45-28.b13.el6_6.i686 3/4 インストールしています : 1:java-1.8.0-openjdk-devel-1.8.0.45-28.b13.el6_6.i686 4/4 Verifying : 1:java-1.8.0-openjdk-1.8.0.45-28.b13.el6_6.i686 1/4 Verifying : 1:java-1.8.0-openjdk-javadoc-1.8.0.45-28.b13.el6_6.noarch 2/4 Verifying : 1:java-1.8.0-openjdk-headless-1.8.0.45-28.b13.el6_6.i686 3/4 Verifying : 1:java-1.8.0-openjdk-devel-1.8.0.45-28.b13.el6_6.i686 4/4 インストール: java-1.8.0-openjdk-devel.i686 1:1.8.0.45-28.b13.el6_6 java-1.8.0-openjdk-headless.i686 1:1.8.0.45-28.b13.el6_6 java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.45-28.b13.el6_6 依存性関連をインストールしました: java-1.8.0-openjdk.i686 1:1.8.0.45-28.b13.el6_6 完了しました! [root@vps-at1 ~]#
[root@vps-at1 ~]# java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.3.el6_6-i386 u79-b14)
OpenJDK Client VM (build 24.79-b02, mixed mode, sharing)
[root@vps-at1 ~]# javac -version
javac 1.7.0_79
[root@vps-at1 ~]#

パスの設定は alternatives で

[root@vps-at1 ~]# alternatives --config java

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

  選択       コマンド
                                                                                            • -
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk/bin/java 2 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.45-28.b13.el6_6.i386/jre/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2 [root@vps-at1 ~]# alternatives --config javac 2 プログラムがあり 'javac' を提供します。 選択 コマンド
                                                                                            • -
*+ 1 /usr/lib/jvm/java-1.7.0-openjdk/bin/javac 2 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.45-28.b13.el6_6.i386/bin/javac Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2

なんでパス違うんや‥テクニカルプレビューだから?

[root@vps-at1 ~]# java -version
openjdk version "1.8.0_45"
OpenJDK Runtime Environment (build 1.8.0_45-b13)
OpenJDK Server VM (build 25.45-b02, mixed mode)
[root@vps-at1 ~]# javac -version
javac 1.8.0_45
[root@vps-at1 ~]#

ちなみに、yum erase でパッケージ削除すると、残った OpenJDK 7 にパスを再設定してくれます。

[root@vps-at1 ~]# alternatives --config java

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

  選択       コマンド
                                                                                            • -
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: [root@vps-at1 ~]# alternatives --config javac 1 プログラムがあり 'javac' を提供します。 選択 コマンド
                                                                                            • -
*+ 1 /usr/lib/jvm/java-1.7.0-openjdk/bin/javac Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: [root@vps-at1 ~]#

>|
[root@vps-at1 ~]# java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.3.el6_6-i386 u79-b14)
OpenJDK Client VM (build 24.79-b02, mixed mode, sharing)
[root@vps-at1 ~]# javac -version
javac 1.7.0_79
[root@vps-at1 ~]#