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

前書き

JavaおよびJVM(Java仮想マシン)は、http://tomcat.apache.org/ [Tomcat]、https://www.eclipse.org/jetty/ [Jetty]、httpsを含む多くの種類のソフトウェアに必要です。 //javaee.github.io/glassfish/[Glassfish]、https://cassandra.apache.org/[Cassandra]、およびhttps://jenkins.io/[Jenkins]。

このガイドでは、Debianの「+ apt +」パッケージ管理システムを使用して、Java Runtime Environment(JRE)とJava Developer Kit(JDK)の異なるバージョンをインストールします。

OpenJDK 11とオラクルの公式Java 11ソフトウェアをインストールします。 次に、プロジェクトに使用するバージョンを選択します。 終了したら、JDKを使用してソフトウェアを開発したり、Javaランタイムを使用してソフトウェアを実行したりできます。

前提条件

このチュートリアルを開始するには、次のものが必要です。

  • ルート以外の `+ sudo +`対応ユーザーを持つDebian 10サーバー。 これはhttps://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-10[Debian 10初期サーバーセットアップガイド]に従って設定できます。

デフォルトのJRE / JDKのインストール

Javaをインストールする最も簡単なオプションは、Debianにパッケージされているバージョンを使用することです。 デフォルトでは、Debian 10にはOpenJDKバージョン11が含まれています。これは、JREとJDKのオープンソース版であり、Java 11と互換性があります。

Java 11は、Javaの現在の長期サポートバージョンです。

JavaのOpenJDKバージョンをインストールするには、最初に `+ apt +`パッケージインデックスを更新します。

sudo apt update

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

java -version

Javaが現在インストールされていない場合、次の出力が表示されます。

Output-bash: java: command not found

次に、 `+ apt install +`コマンドを使用してOpenJDKをインストールします。

sudo apt install default-jre

これにより、Java Runtime Environment(JRE)がインストールされ、ほぼすべてのJavaソフトウェアを実行できるようになります。

以下を使用してインストールを検証します。

java -version

次の出力が表示されます。

Outputopenjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Debian-1deb10u1, mixed mode, sharing)

特定のJavaベースのソフトウェアをコンパイルして実行するには、Java Development Kit(JDK)も必要になる場合があります。 JDKをインストールするには、次のコマンドを実行します。

sudo apt install default-jdk

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

javac -version

次の出力が表示されます。

Outputjavac 11.0.4

次に、オラクルの公式JDKおよびJREをインストールする方法を見てみましょう。

Oracle JDKのインストール

公式のOracle JDKをインストールするには、いくつかのファイルをOracleから直接ダウンロードし、サードパーティのリポジトリから取得するインストーラーを使用してインストールする必要があります。

まず、OracleのWebサイトからJavaをダウンロードします。

OracleのJava SEソフトウェアパッケージのダウンロード

OracleがJavaライセンスを処理する方法が最近変更されたため、インストールを続行する前に、Oracleアカウントを作成し、Webサイトからソフトウェアを直接ダウンロードする必要があります。

Oracleアカウントをまだお持ちでない場合は、https://profile.oracle.com/myprofile/account/create-account.jspx [Oracleのアカウント作成ページ]で作成してください。

その後、https://www.oracle.com/technetwork/java/javase/downloads/index.html [OracleのJava SEダウンロードページ]に移動します。

image:https://assets.digitalocean.com/articles/apt-install-java/downloads-page.png [Oracle JavaダウンロードWebページ]

インストーラーが期待するものと一致する必要があるため、正しいバージョンのJavaをダウンロードしていることを確認する必要があります。 インストーラーのソフトウェアリポジトリのhttps://launchpad.net/%7Elinuxuprising/+archive/ubuntu/java/+packages [パッケージリスト]にアクセスすると、インストーラーに必要なバージョンを確認できます。

次のステップでこのリポジトリからインストールをダウンロードしますが、今のところは `+ oracle-java11-installer-local …​ +`ファイルを探します:

image:https://assets.digitalocean.com/articles/apt-install-java/package-list.png [linuxuprising javaインストーラーパッケージリストのスクリーンショット]

この場合、インストーラーはバージョン11.0.4を期待していることがわかります。 パッケージバージョン番号の「-」ハイフンの後にある数字は無視します(上記のスクリーンショットの例では「1」)。

正しいバージョン番号がわかったので、正しいバージョンが見つかるまでJavaダウンロードページを下にスクロールします。

image:https://assets.digitalocean.com/articles/apt-install-java/download-link.png [Oracle JDKダウンロードボタンの場所を示すスクリーンショット]

ダウンロードボタンを押すと、最終画面が表示されます。

image:https://assets.digitalocean.com/articles/apt-install-java/download-selection.png [Javaダウンロードオプションのスクリーンショット]

[ライセンス契約に同意する]ラジオボタンを選択し、Linux用の `+ .tar.gz +`パッケージをクリックすると、ダウンロードが開始されます。 ダウンロードを開始する前に、Oracleアカウントにもう一度ログインする必要がある場合があります。

ダウンロードが完了したら、ダウンロードしたファイルをサーバーに取得する必要があります。 そのために「+ scp +」コマンドを使用しますが、使い慣れたファイル転送ソフトウェアを使用できます。

ローカルコンピューターで、「+ scp +」を使用してファイルをサーバーにアップロードします。 次のコマンドは、ユーザーのホームフォルダー内の* Downloads ディレクトリにファイルがダウンロードされ、サーバー上の sammy *ユーザーのホームディレクトリにアップロードされることを前提としています。 システムの必要に応じてファイルパスを調整します。

scp ~/Downloads/jdk-_linux-x64_bin.tar.gz  @:~

サーバーに適切なJavaソフトウェアパッケージがインストールされたので、Javaのインストールに使用するインストーラーを含むリポジトリを追加しましょう。

インストーラーのAptリポジトリーの追加

まず、システムに + add-apt-repository`コマンドを追加する + software-properties-common`パッケージをインストールします。

sudo apt install software-properties-common

次に、インストールするソフトウェアの確認に使用する署名キーをインポートします。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

次に、 `+ add-apt-repository`コマンドを使用して、パッケージソースのリストにリポジトリを追加します。

sudo add-apt-repository ppa:linuxuprising/java

次のメッセージが表示されます。

Output Oracle Java 11 (LTS) and 12 installer for Ubuntu, 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 11, 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`を押してインストールを続行します。 「+有効なOpenPGPデータが見つかりません」というメッセージが表示される場合があります。 これは無視できます。

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

sudo apt update

次に、利用可能にしたばかりの新しいソフトウェアを使用して、Javaパッケージをインストールします。

ダウンロードしたJavaソフトウェアのインストール

最初に、インストーラーがJavaソフトウェアパッケージを見つけるために使用する特定のディレクトリを作成し、次に次の場所に `+ .tar.gz +`ファイルをコピーする必要があります。

sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
sudo cp ~/jdk-_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

ファイルのコピーが完了したら、 `+ oracle-java11-installer-local +`パッケージをインストールしてOracleのJava 11をインストールします。

sudo apt install oracle-java11-installer-local

インストーラは、最初にOracleライセンス契約に同意するように求めます。 契約に同意すると、インストーラーはJavaパッケージを抽出してインストールします。

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

このコマンドを実行できる他のコマンドには、以下が含まれますが、これらに限定されません: + keytool ++ javadoc +、および + jarsigner +

次に、 `+ JAVA_HOME +`環境変数を設定しましょう。

`+ JAVA_HOME +`環境変数の設定

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

この環境変数を設定するには、最初にJavaがインストールされている場所を判別します。 もう一度 `+ update-alternatives +`コマンドを使用します:

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は、「+ / usr / lib / jvm / java-11-oracle / bin / java」にあります。

  • OpenJDK 11は `+ / usr / lib / jvm / java-11-openjdk-amd64 / bin / java +`にあります。

これらのパスは、「+ java +」実行可能ファイルへのパスを示しています。

末尾の `+ bin / java `コンポーネントを除いて、希望するインストールのパスをコピーします。 次に、「 nano 」またはお好みのテキストエディターを使用して「 / etc / environment +」を開きます。

sudo nano /etc/environment

このファイルは最初は空白です。 ファイルの最後に次の行を追加し、強調表示されたパスをコピーした独自のパスに置き換えます。

/ etc / environment

JAVA_HOME=""

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

ファイルを保存し、エディターを終了します。

次に、このファイルをリロードして、現在のセッションに変更を適用します。

source /etc/environment

環境変数が設定されていることを確認します。

echo $JAVA_HOME

設定したパスが表示されます:

Output

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

結論

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