Debian 11でAptを使用してJavaをインストールする方法

Japanese translation: はじめに

多くの種類のソフトウェアには、JavaとJVM(Java仮想マシン)が必要です。Tomcat、Jetty、Glassfish、Cassandra、Jenkinsなどにも必要です。

このガイドでは、aptを使用してJava Runtime Environment(JRE)とJava Developer Kit(JDK)の異なるバージョンをインストールします。OpenJDKとOracleの公式JDKをインストールします。そして、プロジェクトで使用したいバージョンを選択します。完了したら、ソフトウェアの開発にJDKを使用したり、ソフトウェアを実行するためにJava Runtimeを使用することができます。

前提条件 (Zentei jōken)

このチュートリアルを進めるためには、以下が必要です:

  • One Debian 11 server with a non-root, sudo-enabled user. You can set this up by following our Debian 11 initial server setup guide.

ステップ1 — Javaのインストール

Javaのインストールには、主に2つの主要なコンポーネントがあります。JDKは、コンパイラやデバッガなど、Javaで開発するための必要なソフトウェアツールを提供します。JREは実際にJavaプログラムを実行するために使用されます。さらに、Javaのインストールオプションには主に2つの選択肢があります。OpenJDKはJavaのオープンソース実装であり、Debianとパッケージ化されています。Oracle JDKはJavaの元のバージョンであり、Javaの開発元であるOracleによって完全にメンテナンスされています。

これらのバージョンは、オラクルによって公式に認識されています。両方ともオラクルによって開発されていますが、OpenJDKはオープンソースの性質により、コミュニティの貢献が追加されています。ただし、Java 11からは、オラクルによって詳細に説明されたように、これらのオプションは機能的に同等です。インストールするかどうかの選択は、状況に応じた適切なライセンスを選択することになります。さらに、OpenJDKはJREを別個にインストールするオプションがありますが、OracleJDKはそのJREが同梱されています。

オプション1:デフォルトのJRE/JDKのインストール

Javaをインストールするオプションの一つは、Debianにバンドルされているバージョンを使用することです。デフォルトでは、Debian 11にはOpenJDKバージョン11が含まれており、これはJREとJDKのオープンソースのバリアントであり、Java 11と互換性があります。

Java 11は現在のJavaのLong Term Support(長期サポート)バージョンです。

OpenJDKのJavaバージョンをインストールするには、まずaptパッケージインデックスをアップデートしてください。

  1. sudo apt update

 

次に、Javaがすでにインストールされているかどうかを確認してください。

  1. java -version

 

もし現在Javaがインストールされていない場合、以下のメッセージが表示されます。

Output

-bash: java: command not found

以下のコマンドを実行して、OpenJDK 11からデフォルトのJREをインストールしてください。

  1. sudo apt install default-jre

 

JREを使用すれば、ほとんどのJavaソフトウェアを実行することができます。

以下の方法でインストールを確認してください。

  1. java -version

 

以下の出力は次のように表示されます:

Output

openjdk version “11.0.16” 2022-07-19 OpenJDK Runtime Environment (build 11.0.16+8-post-Debian-1deb11u1) OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Debian-1deb11u1, mixed mode, sharing)

一部の特定のJavaベースのソフトウェアをコンパイルおよび実行するために、JREに加えてJDKが必要になる場合があります。JDKをインストールするには、以下のコマンドを実行してください。これによりJREもインストールされます。

  1. sudo apt install default-jdk

 

javacのバージョン、つまりJavaコンパイラのバージョンを確認することでJDKがインストールされているかを確認してください。

  1. javac -version

 

次の結果を受け取ることになります:

Output

javac 11.0.16

次に、オラクルの公式のJDKとJREのインストール方法を学びます。

オプション2 – Oracle JDK 11のインストール

OracleのJavaのライセンス協定によれば、パッケージマネージャ経由の自動インストールは許可されていません。公式のOracle JDKをインストールするためには、Oracleのアカウントを作成し、手動でJDKをダウンロードし、使用したいバージョンの新しいパッケージリポジトリを追加する必要があります。その後、サードパーティのインストールスクリプトの助けを借りて、aptを使用してインストールできます。Oracle JDKにはJREが含まれているため、別途インストールする必要はありません。

必要なOracleのJDKのバージョンは、インストーラースクリプトのバージョンと一致する必要があります。必要なバージョンを見つけるためには、oracle-java11-installerのページを訪れてください。パッケージの場所は、以下の図に示されています。

The Oracle Java installer web page listing all the currently available packages

この画像では、スクリプトのバージョンは11.0.13です。したがって、Oracle JDK 11.0.13が必要です。ソフトウェアをインストールする時期によって、バージョン番号は異なる場合があります。
このページからは何もダウンロードする必要はありません。すぐにaptを通じてインストールスクリプトをダウンロードする予定です。

次に、アーカイブのダウンロードページへ移動し、必要なバージョンを見つけてください。

The Oracle Java archive downloads web page where you can find versions of Java that are not the latest release.

このリストから、Linux x64の圧縮アーカイブ.tar.gzパッケージを選んでください。 (Kono risuto kara, Linux x64 no atsukurushī akāibu.tar.gz pakkēji o erande kudasai.)

The Oracle Java 11.0.13 download webpage. Selected is the Linux x64 Compressed Archive file.

オラクルの使用許諾契約に同意するかどうかを求める画面が表示されます。使用許諾契約を承諾するためにチェックボックスを選択し、「ダウンロード」ボタンを押してください。ダウンロードが開始されます。ダウンロードが開始される前に、もう一度オラクルアカウントにログインする必要がある場合もあります。

ファイルをダウンロードしたら、サーバーに転送する必要があります。ローカルマシンでは、ファイルをサーバーにアップロードします。macOS、Linux、またはWindowsのWindows Subsystem for Linuxを使用して、scpコマンドを使用してファイルをsammyユーザーのホームディレクトリに転送します。以下のコマンドは、Oracle JDKファイルをローカルマシンのダウンロードフォルダに保存したと仮定しています。

  1. scp Downloads/jdk-11.0.13_linux-x64_bin.tar.gz sammy@your_server_ip:~

 

ファイルのアップロードが完了したら、サーバーに戻り、OracleのJavaをインストールするためのサードパーティのリポジトリを追加してください。

最初に、インストールするソフトウェアを検証するために使用する署名キーをインポートしてください。 (最初に、インストールしようとしているソフトウェアを検証するために使われる署名キーを取り込んでください。)

  1. sudo gpg –homedir /tmp –no-default-keyring –keyring /usr/share/keyrings/oracle-jdk11-installer.gpg –keyserver keyserver.ubuntu.com –recv-keys EA8CACC073C3DB2A

 

以下の出力結果を受け取ります。

Output

gpg: keybox ‘/usr/share/keyrings/oracle-jdk11-installer.gpg’ created gpg: /tmp/trustdb.gpg: trustdb created gpg: key EA8CACC073C3DB2A: public key “Launchpad PPA for Linux Uprising” imported gpg: Total number processed: 1 gpg: imported: 1

次に、リポジトリをパッケージソースのリストに追加してください。

  1. echo “deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-jdk11-installer.gpg] https://ppa.launchpadcontent.net/linuxuprising/java/ubuntu jammy main” | sudo tee /etc/apt/sources.list.d/oracle-jdk11-installer.list > /dev/null

 

新しいソフトウェアをインストールできるように、パッケージリストを更新してください。

  1. sudo apt update

 

インストーラーは、/var/cache/oracle-jdk11-installer-localにダウンロードしたOracle JDKを探します。まず、このディレクトリを作成してください。

  1. sudo mkdir -p /var/cache/oracle-jdk11-installer-local/

 

それから、Oracle JDKのアーカイブをそこに移動してください。

  1. sudo cp jdk-11.0.13_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

 

ついに、パッケージをインストールしてください。

  1. sudo apt install oracle-java11-installer-local

 

インストーラーはまず、Oracleのライセンス契約に同意するように求めます。契約に同意してください。その後、インストーラーはJavaパッケージを展開してインストールします。

今度は、使用するJavaのバージョンを選択する方法を学びます。 (Kondo wa, shiyou suru Java no baajon o sentaku suru houhou o manabi masu.)

ステップ2- Javaの管理

1つのサーバー上に複数のJavaインストールを持つことができます。update-alternativesコマンドを使用して、コマンドラインで使用するデフォルトのバージョンを構成することができます。

  1. sudo update-alternatives –config java

 

このチュートリアルで両方のバージョンのJavaをインストールした場合には、以下の出力が表示されます。

Output

There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ———————————————————— 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode Press <enter> to keep the current choice[*], or type selection number:

デフォルトとして使用するJavaのバージョンに関連する番号を選択するか、現在の設定をそのままにするためにENTERキーを押してください。

他のJavaコマンド(例:コンパイラ(javac))でもこれを行うことができます。

  1. sudo update-alternatives –config javac

 

このコマンドで実行できる他のコマンドは、以下に限らず、keytool、javadoc、およびjarsignerが含まれます。

ステップ3 — JAVA_HOME環境変数を設定する

多くのJavaで書かれたプログラムは、JAVA_HOME環境変数を使用して、どのJavaのインストール場所を決定します。

この環境変数を設定するには、まずJavaがインストールされている場所を確認してください。update-alternativesコマンドを使用してください。

  1. sudo update-alternatives –config java

 

この出力には、Javaの各インストールとそのインストールパスがリストされます。

Output

Selection Path Priority Status ———————————————————— 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode * 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode

この場合、インストールパスは以下の通りです。

  • Oracle Java 11 is located at /usr/lib/jvm/java-11-oracle/bin/java.
  • OpenJDK 11 is located at /usr/lib/jvm/java-11-openjdk-amd64/bin/java.

これらのパスは、Java実行ファイルへのパスを示しています。

次に、望ましいインストールのパスをコピーしてください。ただし、bin/javaコンポーネントは含めずにください。それから、nanoまたはお好みのテキストエディタを使用して/etc/environmentを開いてください。

  1. sudo nano /etc/environment

 

最初はこのファイルは空白のままかもしれません。ファイルの最後に、以下の行を追加してください。ただし、強調表示されたパスはあなた自身のコピーしたパスに置き換え、パスには「bin/」の部分を含めないようにしてください。

/etc/environmentを日本語で述べると、以下のようになります:
エーティーシーエンバイロメント
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

このファイルを修正すると、システム上のすべてのユーザーのJAVA_HOMEパスが設定されます。

ファイルを保存し、エディターを終了してください。もしnanoを使用している場合は、CTRL + X、Y、その後ENTERを押すことでこれを行うことができます。

現在のセッションに変更を適用するために、このファイルを再度ロードしてください。

  1. source /etc/environment

 

環境変数が設定されているかを確認してください。

  1. echo $JAVA_HOME

 

以前に設定したパスが返されます。

Output

/usr/lib/jvm/java-11-openjdk-amd64

他のユーザーは、この設定を適用するためにコマンド「source /etc/environment」を実行するか、ログアウトして再度ログインする必要があります。

結論

このチュートリアルでは、複数のバージョンのJavaをインストールし、それらを管理する方法を学びました。これにより、Tomcat、Jetty、Glassfish、Cassandra、またはJenkinsなどのJavaで動作するソフトウェアをインストールすることができます。

コメントを残す 0

Your email address will not be published. Required fields are marked *