Ubuntu22.04にAptを使用してJavaをインストールする方法
序章
Tomcat 、 Jetty 、 Glassfish 、 Cassandra 、 ジェンキンス。
このガイドでは、apt
を使用して、さまざまなバージョンのJava Runtime Environment(JRE)およびJava Developer Kit(JDK)をインストールします。 OpenJDKとOracleの公式JDKをインストールします。 次に、プロジェクトに使用するバージョンを選択します。 終了すると、JDKを使用してソフトウェアを開発したり、Javaランタイムを使用してソフトウェアを実行したりできるようになります。
前提条件
このチュートリアルに従うには、次のものが必要です。
- Ubuntu 22.04初期サーバーセットアップガイドチュートリアルに従ってセットアップされた1つのUbuntu22.04サーバー。これには、sudo非rootユーザーとファイアウォールが含まれます。
デフォルトのJRE/JDKのインストール
Javaをインストールするための最も簡単なオプションは、Ubuntuにパッケージされているバージョンを使用することです。 デフォルトでは、Ubuntu22.04にはOpenJDK 11が含まれています。これは、JREおよびJDKのオープンソースバリアントです。
このバージョンをインストールするには、最初にパッケージインデックスを更新します。
sudo apt update
次に、Javaがすでにインストールされているかどうかを確認します。
java -version
Javaが現在インストールされていない場合は、次の出力が表示されます。
OutputCommand 'java' not found, but can be installed with: sudo apt install default-jre # version 2:1.11-72build1, or sudo apt install openjdk-11-jre-headless # version 11.0.14+9-0ubuntu2 sudo apt install openjdk-17-jre-headless # version 17.0.2+8-1 sudo apt install openjdk-18-jre-headless # version 18~36ea-1 sudo apt install openjdk-8-jre-headless # version 8u312-b07-0ubuntu1
次のコマンドを実行して、デフォルトのJavaランタイム環境(JRE)をインストールします。これにより、OpenJDK11からJREがインストールされます。
sudo apt install default-jre
JREを使用すると、ほぼすべてのJavaソフトウェアを実行できます。
次の方法でインストールを確認します。
java -version
次のような出力が表示されます。
Outputopenjdk version "11.0.14" 2022-01-18 OpenJDK Runtime Environment (build 11.0.14+9-Ubuntu-0ubuntu2) OpenJDK 64-Bit Server VM (build 11.0.14+9-Ubuntu-0ubuntu2, mixed mode, sharing)
特定のJavaベースのソフトウェアをコンパイルして実行するには、JREに加えてJava Development Kit(JDK)が必要になる場合があります。 JDKをインストールするには、次のコマンドを実行します。これにより、JREもインストールされます。
sudo apt install default-jdk
Javaコンパイラであるjavac
のバージョンを確認して、JDKがインストールされていることを確認します。
javac -version
次の出力が表示されます。
Outputjavac 11.0.14
次に、Oracleの公式JDKとJREをインストールする方法を見ていきます。
OracleJDK11のインストール
OracleのJavaのライセンス契約では、パッケージマネージャを介した自動インストールは許可されていません。 Oracleが配布する公式バージョンであるOracleJDKをインストールするには、Oracleアカウントを作成し、JDKを手動でダウンロードして、使用するバージョンの新しいパッケージリポジトリを追加する必要があります。 次に、apt
を使用して、サードパーティのインストールスクリプトを使用してインストールできます。
ダウンロードする必要のあるOracleのJDKのバージョンは、インストーラスクリプトのバージョンと一致している必要があります。 必要なバージョンを見つけるには、oracle-java11-installerページにアクセスしてください。
次の図に示すように、Jammyのパッケージを見つけます。
この画像では、スクリプトのバージョンは11.0.13
です。 この場合、OracleJDK11.0.13が必要になります。 バージョン番号は、ソフトウェアをインストールする時期によって異なる場合があります。
このページから何もダウンロードする必要はありません。 間もなくapt
からインストールスクリプトをダウンロードします。
次に、ダウンロードページにアクセスして、必要なバージョンと一致するバージョンを見つけます。
最新リリースではないバージョンが必要な場合は、アーカイブダウンロードで見つけることができます。 Linux用の.tar.gz
パッケージをクリックします。
Oracleライセンス契約に同意するように求める画面が表示されます。 チェックボックスを選択してライセンス契約に同意し、ダウンロードボタンを押します。 ダウンロードが始まります。 ダウンロードを開始する前に、Oracleアカウントにもう一度ログインする必要がある場合があります。
ファイルがダウンロードされたら、サーバーに転送する必要があります。 ローカルマシンで、ファイルをサーバーにアップロードします。 Windows Subsystem for Linux を使用するmacOS、Linux、またはWindowsでは、scp
コマンドを使用して、ファイルをsammy
ユーザーのホームディレクトリに転送します。 次のコマンドは、OracleJDKファイルがローカルマシンのDownloads
フォルダに保存されていることを前提としています。
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
次の出力が表示されます。
Outputgpg: 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
でダウンロードしたOracleJDKを探します。 このディレクトリを作成し、OracleJDKアーカイブをそこに移動します。
sudo mkdir -p /var/cache/oracle-jdk11-installer-local/ 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のバージョンを選択する方法を見ていきます。
Javaの管理
1台のサーバーに複数のJavaをインストールできます。 update-alternatives
コマンドを使用して、コマンドラインで使用するデフォルトのバージョンを構成できます。
sudo update-alternatives --config java
このチュートリアルで両方のバージョンのJavaをインストールした場合、出力は次のようになります。
OutputThere 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
を押して現在の設定をそのままにします。
これは、コンパイラ(javac
)などの他のJavaコマンドに対して実行できます。
sudo update-alternatives --config javac
このコマンドを実行できる他のコマンドには、keytool
、javadoc
、およびjarsigner
が含まれますが、これらに限定されません。
JAVA_HOME
環境変数の設定
Javaを使用して作成された多くのプログラムは、JAVA_HOME
環境変数を使用してJavaのインストール場所を決定します。
この環境変数を設定するには、最初にJavaがインストールされている場所を特定します。 update-alternatives
コマンドを使用します。
sudo update-alternatives --config java
このコマンドは、Javaの各インストールとそのインストールパスを表示します。
OutputThere 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:
この場合のインストールパスは次のとおりです。
- OpenJDK11は
/usr/lib/jvm/java-11-openjdk-amd64/bin/java.
にあります - OracleJavaは
/usr/lib/jvm/java-11-oracle/jre/bin/java
にあります。
ご希望のインストールからパスをコピーします。 次に、nano
またはお気に入りのテキストエディタを使用して/etc/environment
を開きます。
sudo nano /etc/environment
このファイルの最後に次の行を追加し、強調表示されたパスを自分のコピーしたパスに置き換えてください。ただし、パスのbin/
部分は含めないでください。
/ etc / environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
このファイルを変更すると、システム上のすべてのユーザーのJAVA_HOME
パスが設定されます。
ファイルを保存して、エディターを終了します。
次に、このファイルをリロードして、現在のセッションに変更を適用します。
source /etc/environment
環境変数が設定されていることを確認します。
echo $JAVA_HOME
設定したパスが表示されます。
Output/usr/lib/jvm/java-11-openjdk-amd64
他のユーザーは、コマンドsource /etc/environment
を実行するか、ログアウトしてから再度ログインしてこの設定を適用する必要があります。
結論
このチュートリアルでは、Javaの複数のバージョンをインストールし、それらを管理する方法を学びました。 これで、Tomcat、Jetty、Glassfish、Cassandra、JenkinsなどのJavaで実行されるソフトウェアをインストールできます。