第2章 Red Hat Enterprise Linux での OpenJDK 11 のインストール

OpenJDK は、モバイルアプリケーションからデスクトップアプリケーション、Web アプリケーション、エンタープライズシステムまで、プラットフォームに依存しない幅広いアプリケーションを開発および実行するための環境です。Red Hat は、OpenJDK と呼ばれる Java Platform SE(Standard Edition)のオープンソース実装を提供します。

アプリケーションは、JDK (Java Development Kit) を使用して開発されます。アプリケーションは、JRE (Java ランタイム環境) および JDK に含まれる JVM (Java 仮想マシン) で実行されます。フットプリントが最小で、ユーザーインターフェースに必要なライブラリーが含まれていないヘッドレスバージョンの Java もあります。ヘッドレスバージョンは、ヘッドレスサブパッケージにパッケージ化されています。

注記

JRE と JDK のどちらが必要かわからない場合は、JDK をインストールすることが推奨されます。

以下のセクションでは、Red Hat Enterprise Linux に OpenJDK をインストールする手順を説明します。

2.1. yum を使用して RHEL に JRE をインストール

システムパッケージマネージャー (yum) を使用して、OpenJDK Java Runtime Environment (JRE) をインストールできます。

前提条件

  • root 権限を持つユーザーとしてログイン

手順

  1. インストールするパッケージを指定して、yum コマンドを実行します。

    $ sudo yum install java-11-openjdk

  2. インストールが機能することを確認します。

    $ java -version
    openjdk version "11.0.9" 2020-10-15 LTS
    OpenJDK Runtime Environment 18.9 (build 11.0.9+10-LTS)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+10-LTS, mixed mode, sharing)

2.2. アーカイブを使用した RHEL への JRE のインストール

アーカイブを使用して OpenJDK Java Runtime Environment (JRE) をインストールできます。これは、Java 管理者が root 権限を持たない場合に便利です。

注記

後続バージョンのアップグレードを容易にするために、JRE を含む親ディレクトリーを作成し、汎用パスを使用して最新の JRE へのシンボリックリンクを作成します。

手順

  1. Linux 用の最新バージョンの JRE アーカイブをダウンロード
  2. アーカイブのコンテンツを任意のディレクトリーに展開します。

    $ mkdir ~/jres
    $ cd ~/jres
    $ tar -xf java-11-openjdk-11.0.9.10-0.portable.jre.el.x86_64.tar.xz
  3. アップグレードを容易にするために、JRE へのシンボリックリンクを使用して汎用パスを作成します。

    $ ln -s ~/jres/java-11-openjdk-11.0.9.10-0.portable.jre.el.x86_64 ~/jres/java-11

  4. JAVA_HOME 環境変数を設定します。

    $ export JAVA_HOME=~/jres/java-11
  5. JAVA_HOME 環境変数が正しく設定されていることを確認します。

    $ printenv | grep JAVA_HOME
    JAVA_HOME=~/jres/java-11
    注記

    この方法でインストールした場合、Java は現在のユーザーのみが使用できます。

  6. 一般的な JRE パスの bin ディレクトリーを PATH 環境変数に追加します。

    $ export PATH="$JAVA_HOME/bin:$PATH"
  7. 完全パスを指定せずに java -version が機能することを確認します。

    $ java -version
    openjdk version "11.0.9"
    OpenJDK Runtime Environment 18.9 (build 11.0.9+10-LTS)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+10-LTS, mixed mode, sharing)
注記

~/.bashrc に環境変数をエクスポートすることで、JAVA_HOME 環境変数が現在のユーザーに対して持続することを確認できます。

2.3. yum を使用して RHEL への OpenJDK のインストール

OpenJDK は、システムパッケージマネージャー yum を使用してインストールできます。

要件

  • root 権限を持つユーザーとしてログインします。

手順

  1. インストールするパッケージを指定して、yum コマンドを実行します。

    $ sudo yum install java-11-openjdk-devel
  2. インストールが機能することを確認します。

    $ javac -version
    javac 11.0.9_10

2.4. アーカイブを使用した RHEL への OpenJDK のインストール

OpenJDK はアーカイブでインストールできます。これは、Java 管理者が root 権限を持たない場合に便利です。

注記

アップグレードを容易にするために、JRE を含む親ディレクトリーを作成し、汎用パスを使用して最新の JRE へのシンボリックリンクを作成します。

手順

  1. Linux 用の最新バージョンの JDK アーカイブをダウンロード
  2. アーカイブのコンテンツを任意のディレクトリーに展開します。

    $ mkdir ~/jdks
    $ cd ~/jdks
    $ tar -xf java-11-openjdk-11.0.9.10-0.portable.jre.el.x86_64.tar.xz
  3. アップグレードを容易にするために、JDK へのシンボリックリンクを使用して汎用パスを作成します。

    $ ln -s ~/jdks/java-11-openjdk-11.0.9.10-0.portable.jre.el.x86_64 ~/jdks/java-11

  4. JAVA_HOME 環境変数を設定します。

    $ export JAVA_HOME=~/jdks/java-11
  5. JAVA_HOME 環境変数が正しく設定されていることを確認します。

    $ printenv | grep JAVA_HOME
    JAVA_HOME=~/jdks/java-11
    注記

    この方法でインストールした場合、Java は現在のユーザーのみが使用できます。

  6. 一般的な JRE パスの bin ディレクトリーを PATH 環境変数に追加します。

    $ export PATH="$JAVA_HOME/bin:$PATH"
  7. 完全パスを指定せずに java -version が機能することを確認します。

    $ java -version
    openjdk version "11.0.9"
    OpenJDK Runtime Environment 18.9 (build 11.0.9+10-LTS)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+10-LTS, mixed mode, sharing)
注記

~/.bashrc に環境変数をエクスポートすることで、JAVA_HOME 環境変数が現在のユーザーに対して持続することを確認できます。

2.5. yum を使用して RHEL に OpenJDK の複数のメジャーバージョンをインストール

システムパッケージマネージャー yum を使用して、OpenJDK の複数バージョンをインストールできます。

要件

  • インストールする OpenJDK を提供するリポジトリーへのアクセスを提供するアクティブなサブスクリプションを持つ Red Hat Subscription Manager (RHSM) アカウント。
  • システムに対する root 権限がある。

手順

  1. 以下の yum コマンドを実行してパッケージをインストールします。

    For OpenJDK 11

    $ sudo yum install java-11-openjdk

    OpenJDK 8 の場合

    $ sudo yum install java-1.8.0-openjdk

  2. インストール後に、利用可能な java バージョンを確認します。

    $ sudo yum list installed "java*"
    
    Installed Packages
    java-11-openjdk.x86_64             1:11.0.9.11-2.el8_3              @rhel-8-for-x86_64-appstream-rpms
    java-1.8.0-openjdk.x86_64          1:1.8.0.272.b10-3.el8_3         @rhel-8-for-x86_64-appstream-rpms
  3. 現在の Java バージョンを確認します。

    $ java -version
    openjdk version "11.0.9"
    OpenJDK Runtime Environment 18.9 (build 11.0.9+10-LTS)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+10-LTS, mixed mode)

参考情報

  • java --alternatives を使用して、使用するデフォルトの Java バージョンを設定できます。詳細は「Selecting a system-wide java version」を参照してください。

2.6. アーカイブを使用して RHEL に OpenJDK の複数のメジャーバージョンをインストール

OpenJDK の複数のメジャーバージョンをインストールするには、アーカイブを使用した RHEL への JRE のインストールと同じ手順を使用するか、複数のメジャーバージョンを使用してアーカイブを使用して RHEL 8 に OpenJDK をインストールできます。

注記

システムのデフォルトの OpenJDK バージョンを設定する方法は、「Selecting a system-wide archive java version」を参照してください。

2.7. yum を使用して RHEL に OpenJDK の複数のマイナーバージョンをインストール

RHEL には、OpenJDK の複数のマイナーバージョンをインストールできます。これは、インストールされているマイナーバージョンが更新されないようにすることで行われます。

要件

手順

  1. /etc/yum.confinstallonlypkgs オプションを追加して、yum がインストール可能でも更新できない OpenJDK パッケージを指定します。

    installonlypkgs=java-<version>--openjdk,java-<version>--openjdk-headless,java-<version>--openjdk-devel

    更新は、システムに古いバージョンを残したまま、新しいパッケージをインストールします。

    $ rpm -qa | grep java-11.0.9-openjdk
    java-11-openjdk-11.0.9.10-0.portable.jdk.el.x86_64
    java-11-openjdk-headless-11.0.9.10-0.portable.jdk.el.x86_64
  2. OpenJDK のさまざまなマイナーバージョンは、/usr/lib/jvm/<minor version> で参照できます。

    たとえば、以下は /usr/lib/jvm/java-11.0.9-openjdk-11 の一部を示しています。

    $ /usr/lib/jvm/java-11-openjdk-11.0.9.10-0.portable.jdk.el.x86_64/bin/java -version
    openjdk version "11.0.9.10-0"
    OpenJDK Runtime Environment (build 11.0.9-b11)
    OpenJDK 64-Bit Server VM (build 11.0.9-b11, mixed mode)
    
    $ /usr/lib/jvm/java-11-openjdk-11.0.9.10-0.portable.jdk.el.x86_64/bin/java -version
    openjdk version "11.0.8.10"
    OpenJDK Runtime Environment (build 11.0.9.10-b11)
    OpenJDK 64-Bit Server VM (build 25.172-b11, mixed mode)

2.8. アーカイブを使用して RHEL に OpenJDK の複数のマイナーバージョンをインストール

複数のマイナーバージョンのインストールは、複数のマイナーバージョンを使用した アーカイブを使用した RHEL への JRE のインストール または アーカイブを使用した RHEL 8 への OpenJDK のインストール と同じです。

注記

システムのデフォルトのマイナーバージョンを選択する方法は、「Selecting a system-wide archive java version」を参照してください。