Ubuntu20.04にAptを使用してJavaをインストールする方法
序章
Tomcat 、 Jetty 、 Glassfish 、 Cassandra 、 ジェンキンス。
このガイドでは、apt
を使用して、さまざまなバージョンのJava Runtime Environment(JRE)およびJava Developer Kit(JDK)をインストールします。 OpenJDKとOracleの公式JDKをインストールします。 次に、プロジェクトに使用するバージョンを選択します。 終了すると、JDKを使用してソフトウェアを開発したり、Javaランタイムを使用してソフトウェアを実行したりできるようになります。
前提条件
このチュートリアルに従うには、次のものが必要です。
- Ubuntu 20.04初期サーバーセットアップガイドチュートリアルに従ってセットアップされた1つのUbuntu20.04サーバー。これには、sudo非rootユーザーとファイアウォールが含まれます。
デフォルトのJRE/JDKのインストール
Javaをインストールするための最も簡単なオプションは、Ubuntuにパッケージされているバージョンを使用することです。 デフォルトでは、Ubuntu20.04にはOpenJDK 11が含まれています。これは、JREおよびJDKのオープンソースバリアントです。
このバージョンをインストールするには、最初にパッケージインデックスを更新します。
- sudo apt update
次に、Javaがすでにインストールされているかどうかを確認します。
- java -version
Javaが現在インストールされていない場合は、次の出力が表示されます。
OutputCommand 'java' not found, but can be installed with:
sudo apt install openjdk-11-jre-headless # version 11.0.11+9-0ubuntu2~20.04, or
sudo apt install default-jre # version 2:1.11-72
sudo apt install openjdk-13-jre-headless # version 13.0.7+5-0ubuntu1~20.04
sudo apt install openjdk-16-jre-headless # version 16.0.1+9-1~20.04
sudo apt install openjdk-8-jre-headless # version 8u292-b10-0ubuntu1~20.04
次のコマンドを実行して、デフォルトのJavaランタイム環境(JRE)をインストールします。これにより、OpenJDK11からJREがインストールされます。
- sudo apt install default-jre
JREを使用すると、ほぼすべてのJavaソフトウェアを実行できます。
次の方法でインストールを確認します。
- java -version
次のような出力が表示されます。
Outputopenjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing))
特定のJavaベースのソフトウェアをコンパイルして実行するには、JREに加えてJava Development Kit(JDK)が必要になる場合があります。 JDKをインストールするには、次のコマンドを実行します。これにより、JREもインストールされます。
- sudo apt install default-jdk
Javaコンパイラであるjavac
のバージョンを確認して、JDKがインストールされていることを確認します。
- javac -version
次の出力が表示されます。
Outputjavac 11.0.11
次に、Oracleの公式JDKとJREをインストールする方法を見てみましょう。
OracleJDK11のインストール
OracleのJavaのライセンス契約では、パッケージマネージャを介した自動インストールは許可されていません。 Oracleが配布する公式バージョンであるOracleJDKをインストールするには、Oracleアカウントを作成し、JDKを手動でダウンロードして、使用するバージョンの新しいパッケージリポジトリを追加する必要があります。 次に、apt
を使用して、サードパーティのインストールスクリプトを使用してインストールできます。
ダウンロードする必要のあるOracleのJDKのバージョンは、インストーラスクリプトのバージョンと一致している必要があります。 必要なバージョンを見つけるには、oracle-java11-installerページにアクセスしてください。
次の図に示すように、Focusのパッケージを見つけます。
この画像では、スクリプトのバージョンは11.0.7
です。 この場合、OracleJDK11.0.7が必要になります。 バージョン番号は、ソフトウェアをインストールする時期によって異なる場合があります。
このページから何もダウンロードする必要はありません。 間もなくapt
からインストールスクリプトをダウンロードします。
次に、ダウンロードページにアクセスして、必要なバージョンに一致するバージョンを見つけます。
JDKダウンロードボタンをクリックすると、使用可能なバージョンを示す画面が表示されます。 Linux用の.tar.gz
パッケージをクリックします。
Oracleライセンス契約に同意するように求める画面が表示されます。 チェックボックスを選択して使用許諾契約に同意し、ダウンロードボタンを押します。 ダウンロードが始まります。 ダウンロードを開始する前に、Oracleアカウントにもう一度ログインする必要がある場合があります。
ファイルがダウンロードされたら、サーバーに転送する必要があります。 ローカルマシンで、ファイルをサーバーにアップロードします。 Windows Subsystem for Linux を使用するmacOS、Linux、またはWindowsでは、scp
コマンドを使用して、ファイルをsammy
ユーザーのホームディレクトリに転送します。 次のコマンドは、OracleJDKファイルがローカルマシンのDownloads
フォルダに保存されていることを前提としています。
- scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~
ファイルのアップロードが完了したら、サーバーに戻り、OracleのJavaのインストールに役立つサードパーティのリポジトリを追加します。
software-properties-common
パッケージをインストールします。これにより、add-apt-repository
コマンドがシステムに追加されます。
- sudo apt install software-properties-common
次に、インストールしようとしているソフトウェアの確認に使用する署名キーをインポートします。
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A
次の出力が表示されます。
Outputgpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg: imported: 1
次に、add-apt-repository
コマンドを使用して、パッケージソースのリストにリポジトリを追加します。
- sudo add-apt-repository ppa:linuxuprising/java
次のメッセージが表示されます。
Output Oracle Java 11 (LTS) and 16 installer for Ubuntu (21.04, 20.10, 20.04, 18.04, 16.04 and 14.04), Pop!_OS, Linux Mint and Debian.
Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java, so a working Internet connection is required.
The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Created for users of https://www.linuxuprising.com/
Installation instructions (with some tips), feedback, suggestions, bug reports etc.:
. . .
Press [ENTER] to continue or Ctrl-c to cancel adding it.
ENTER
を押してインストールを続行します。 no valid OpenPGP data found
に関するメッセージが表示される場合がありますが、これは無視してかまいません。
パッケージリストを更新して、新しいソフトウェアをインストールできるようにします。
- 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.7_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/
部分は含めないでください。
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で実行されるソフトウェアをインストールできます。