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

前書き

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

このガイドでは、 `+ apt +`を使用して、Java Runtime Environment(JRE)およびJava Developer Kit(JDK)のさまざまなバージョンをインストールします。 OpenJDKとOracleの公式パッケージをインストールします。 次に、プロジェクトに使用するバージョンを選択します。 終了したら、JDKを使用してソフトウェアを開発したり、Javaランタイムを使用してソフトウェアを実行したりできます。

前提条件

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

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

Javaをインストールする最も簡単なオプションは、Debianにパッケージされているバージョンを使用することです。 デフォルトでは、Debian 9にはOpen JDKが含まれています。これは、JREおよびJDKのオープンソース版です。

このパッケージは、Java 8と互換性のあるOpenJDKバージョン1.8をインストールします。 Java 8は現在の長期サポートバージョンであり、まだ広くサポートされていますが、パブリックメンテナンスは2019年1月で終了します。

このバージョンをインストールするには、まずパッケージインデックスを更新します。

sudo apt update

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

java -version

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

Output-bash: java: command not found

次のコマンドを実行してOpenJDKをインストールします。

sudo apt install default-jre

このコマンドは、Java Runtime Environment(JRE)をインストールします。 これにより、ほぼすべてのJavaソフトウェアを実行できます。

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

java -version

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

Outputopenjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

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

sudo apt install default-jdk

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

javac -version

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

Outputjavac 1.8.0_181

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

Oracle JDKのインストール

Oracleが配布する公式バージョンであるOracle JDKをインストールする場合は、使用するバージョンの新しいパッケージリポジトリを追加する必要があります。

まず、ソースリストにリポジトリを追加するために使用する + apt-get-repository`コマンドを追加する + software-properties-common`パッケージをインストールします。

次のコマンドで `+ software-properties-common +`をインストールします:

sudo apt install software-properties-common

これをインストールすると、OracleのJavaをインストールできます。

Oracle Java 8のインストール

現在の長期サポートバージョンであるJava 8をインストールするには、最初にパッケージリポジトリを追加します。

sudo add-apt-repository ppa:webupd8team/java

リポジトリを追加すると、次のようなメッセージが表示されます。

output Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Java files in this PPA.

Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html

Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html

The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04.

More info (and Ubuntu installation instructions):
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

Debian installation instructions:
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html
More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it

続行するには、「+ ENTER」を押します。 GPG署名キーをインポートしようとしますが、有効なキーを見つけることができません。

Outputgpg: keybox '/tmp/tmpgt9wdvth/pubring.gpg' created
gpg: /tmp/tmpgt9wdvth/trustdb.gpg: trustdb created
gpg: key C2518248EEA14886: public key "Launchpad VLC" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no valid OpenPGP data found.

次のコマンドを実行して、リポジトリソースのGPGキーを手動で追加します。

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C2518248EEA14886

次に、パッケージリストを更新します。

sudo apt update

パッケージリストが更新されたら、Java 8をインストールします。

sudo apt install oracle-java8-installer

システムはOracleからJDKをダウンロードし、ライセンス契約に同意するように求めます。 契約に同意すると、JDKがインストールされます。

Oracle Java 10のインストール

Oracle Java 10をインストールするには、まずそのリポジトリを追加します。

sudo add-apt-repository ppa:linuxuprising/java

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

Output Oracle Java 10 installer

Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 10 (JDK 10), 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/

Issues or suggestions? Leave a comment here: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html
More info: https://launchpad.net/~linuxuprising/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it

`+ ENTER`を押してインストールを続行します。 Java 8と同様に、無効な署名キーに関するメッセージが表示されます。

Outputgpg: keybox '/tmp/tmpvuqsh9ui/pubring.gpg' created
gpg: /tmp/tmpvuqsh9ui/trustdb.gpg: trustdb created
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no valid OpenPGP data found.

このコマンドを実行して、必要なキーをインポートします。

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

次に、パッケージリストを更新します。

sudo apt update

パッケージリストが更新されたら、Java 10をインストールします。

sudo apt install oracle-java10-installer

システムはOracleからJDKをダウンロードし、ライセンス契約に同意するように求めます。 契約に同意すると、JDKがインストールされます。

次に、使用するJavaのバージョンを選択する方法を見てみましょう。

Javaの管理

1つのサーバーに複数のJavaをインストールできます。 `+ update-alternatives +`コマンドを使用して、コマンドラインで使用するデフォルトのバージョンを設定できます。

sudo update-alternatives --config java

これは、このチュートリアルですべてのバージョンのJavaをインストールした場合の出力です。

OutputThere are 3 choices for the alternative java (providing /usr/bin/java).

 Selection    Path                                            Priority   Status
------------------------------------------------------------
 0            /usr/lib/jvm/java-10-oracle/bin/java             1091      auto mode
* 1            /usr/lib/jvm/java-10-oracle/bin/java             1091      manual mode
 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
 3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      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-10-oracle/bin/java             1091      auto mode
* 1            /usr/lib/jvm/java-10-oracle/bin/java             1091      manual mode
 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
 3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1081      manual mode

この場合、インストールパスは次のとおりです。

  • Oracle Java 10は、「+ / usr / lib / jvm / java-10-oracle / jre / bin / java」にあります。

  • Oracle Java 8は `+ / usr / lib / jvm / java-8-oracle / jre / bin / java +`にあります。

  • OpenJDK 8は `+ / usr / lib / jvm / java-8-openjdk-amd64 / jre / 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で実行されるソフトウェアをインストールできるようになりました。