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パッケージインデックスをアップデートしてください。
- sudo apt update
次に、Javaがすでにインストールされているかどうかを確認してください。
- java -version
もし現在Javaがインストールされていない場合、以下のメッセージが表示されます。
-bash: java: command not found
以下のコマンドを実行して、OpenJDK 11からデフォルトのJREをインストールしてください。
- sudo apt install default-jre
JREを使用すれば、ほとんどのJavaソフトウェアを実行することができます。
以下の方法でインストールを確認してください。
- java -version
以下の出力は次のように表示されます:
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もインストールされます。
- sudo apt install default-jdk
javacのバージョン、つまりJavaコンパイラのバージョンを確認することでJDKがインストールされているかを確認してください。
- javac -version
次の結果を受け取ることになります:
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のページを訪れてください。パッケージの場所は、以下の図に示されています。
この画像では、スクリプトのバージョンは11.0.13です。したがって、Oracle JDK 11.0.13が必要です。ソフトウェアをインストールする時期によって、バージョン番号は異なる場合があります。
このページからは何もダウンロードする必要はありません。すぐにaptを通じてインストールスクリプトをダウンロードする予定です。
次に、アーカイブのダウンロードページへ移動し、必要なバージョンを見つけてください。
このリストから、Linux x64の圧縮アーカイブ.tar.gzパッケージを選んでください。 (Kono risuto kara, Linux x64 no atsukurushī akāibu.tar.gz pakkēji o erande kudasai.)
オラクルの使用許諾契約に同意するかどうかを求める画面が表示されます。使用許諾契約を承諾するためにチェックボックスを選択し、「ダウンロード」ボタンを押してください。ダウンロードが開始されます。ダウンロードが開始される前に、もう一度オラクルアカウントにログインする必要がある場合もあります。
ファイルをダウンロードしたら、サーバーに転送する必要があります。ローカルマシンでは、ファイルをサーバーにアップロードします。macOS、Linux、またはWindowsのWindows Subsystem for Linuxを使用して、scpコマンドを使用してファイルをsammyユーザーのホームディレクトリに転送します。以下のコマンドは、Oracle JDKファイルをローカルマシンのダウンロードフォルダに保存したと仮定しています。
- scp Downloads/jdk-11.0.13_linux-x64_bin.tar.gz sammy@your_server_ip:~
ファイルのアップロードが完了したら、サーバーに戻り、OracleのJavaをインストールするためのサードパーティのリポジトリを追加してください。
最初に、インストールするソフトウェアを検証するために使用する署名キーをインポートしてください。 (最初に、インストールしようとしているソフトウェアを検証するために使われる署名キーを取り込んでください。)
- sudo gpg –homedir /tmp –no-default-keyring –keyring /usr/share/keyrings/oracle-jdk11-installer.gpg –keyserver keyserver.ubuntu.com –recv-keys EA8CACC073C3DB2A
以下の出力結果を受け取ります。
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
次に、リポジトリをパッケージソースのリストに追加してください。
- 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
新しいソフトウェアをインストールできるように、パッケージリストを更新してください。
- sudo apt update
インストーラーは、/var/cache/oracle-jdk11-installer-localにダウンロードしたOracle JDKを探します。まず、このディレクトリを作成してください。
- sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
それから、Oracle JDKのアーカイブをそこに移動してください。
- sudo cp jdk-11.0.13_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/
ついに、パッケージをインストールしてください。
- 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コマンドを使用して、コマンドラインで使用するデフォルトのバージョンを構成することができます。
- sudo update-alternatives –config java
このチュートリアルで両方のバージョンのJavaをインストールした場合には、以下の出力が表示されます。
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))でもこれを行うことができます。
- sudo update-alternatives –config javac
このコマンドで実行できる他のコマンドは、以下に限らず、keytool、javadoc、およびjarsignerが含まれます。
ステップ3 — JAVA_HOME環境変数を設定する
多くのJavaで書かれたプログラムは、JAVA_HOME環境変数を使用して、どのJavaのインストール場所を決定します。
この環境変数を設定するには、まずJavaがインストールされている場所を確認してください。update-alternativesコマンドを使用してください。
- sudo update-alternatives –config java
この出力には、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
この場合、インストールパスは以下の通りです。
- 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を開いてください。
- sudo nano /etc/environment
最初はこのファイルは空白のままかもしれません。ファイルの最後に、以下の行を追加してください。ただし、強調表示されたパスはあなた自身のコピーしたパスに置き換え、パスには「bin/」の部分を含めないようにしてください。
エーティーシーエンバイロメント
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
このファイルを修正すると、システム上のすべてのユーザーのJAVA_HOMEパスが設定されます。
ファイルを保存し、エディターを終了してください。もしnanoを使用している場合は、CTRL + X、Y、その後ENTERを押すことでこれを行うことができます。
現在のセッションに変更を適用するために、このファイルを再度ロードしてください。
- source /etc/environment
環境変数が設定されているかを確認してください。
- echo $JAVA_HOME
以前に設定したパスが返されます。
/usr/lib/jvm/java-11-openjdk-amd64
他のユーザーは、この設定を適用するためにコマンド「source /etc/environment」を実行するか、ログアウトして再度ログインする必要があります。
結論
このチュートリアルでは、複数のバージョンのJavaをインストールし、それらを管理する方法を学びました。これにより、Tomcat、Jetty、Glassfish、Cassandra、またはJenkinsなどのJavaで動作するソフトウェアをインストールすることができます。