Debian9にAptを使用してJavaをインストールする方法
序章
Tomcat 、 Jetty 、 Glassfish 、 Cassandra 、 ジェンキンス。
このガイドでは、apt
を使用して、さまざまなバージョンのJava Runtime Environment(JRE)およびJava Developer Kit(JDK)をインストールします。 OpenJDKとOracleの公式パッケージをインストールします。 次に、プロジェクトに使用するバージョンを選択します。 終了すると、JDKを使用してソフトウェアを開発したり、Javaランタイムを使用してソフトウェアを実行したりできるようになります。
前提条件
このチュートリアルに従うには、次のものが必要です。
- Debian9初期サーバーセットアップガイドチュートリアルに従ってセットアップされた1つのDebian9サーバー。これには、
sudo
アクセス権を持つ非rootユーザーとファイアウォールが含まれます。
デフォルトのJRE/JDKのインストール
Javaをインストールするための最も簡単なオプションは、Debianにパッケージされているバージョンを使用することです。 デフォルトでは、Debian9にはJREおよびJDKのオープンソースバリアントであるOpenJDKが含まれています。
このパッケージは、Java8と互換性のある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ランタイム環境(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
次に、Oracleの公式JDKとJREをインストールする方法を見てみましょう。
OracleJDKのインストール
Oracleが配布する公式バージョンであるOracleJDKをインストールする場合は、使用するバージョンの新しいパッケージリポジトリを追加する必要があります。
まず、software-properties-common
パッケージをインストールします。このパッケージは、ソースリストにリポジトリを追加するために使用するapt-get-repository
コマンドを追加します。
software-properties-common
を次のコマンドでインストールします。
sudo apt install software-properties-common
これをインストールすると、OracleのJavaをインストールできます。
OracleJava8のインストール
現在の長期サポートバージョンであるJava8をインストールするには、最初にそのパッケージリポジトリを追加します。
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
パッケージリストが更新されたら、Java8をインストールします。
sudo apt install oracle-java8-installer
システムはOracleからJDKをダウンロードし、ライセンス契約に同意するように求めます。 契約に同意すると、JDKがインストールされます。
OracleJava10のインストール
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
パッケージリストが更新されたら、Java10をインストールします。
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 javac
このコマンドを実行できる他のコマンドには、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
にあります。 - OracleJava8は
/usr/lib/jvm/java-8-oracle/jre/bin/java
にあります。 - OpenJDK8は
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
にあります。
これらのパスは、java
実行可能ファイルへのパスを示しています。
末尾のbin/java
コンポーネントを除いて、希望するインストールのパスをコピーします。 次に、nano
またはお気に入りのテキストエディタを使用して/etc/environment
を開きます。
sudo nano /etc/environment
このファイルの最後に、次の行を追加します。強調表示されたパスを、コピーした独自のパスに置き換えてください。
/ etc / environment
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"
このファイルを変更すると、システム上のすべてのユーザーのJAVA_HOME
パスが設定されます。
ファイルを保存して、エディターを終了します。
次に、このファイルをリロードして、現在のセッションに変更を適用します。
source /etc/environment
環境変数が設定されていることを確認します。
echo $JAVA_HOME
設定したパスが表示されます。
Output/usr/lib/jvm/java-8-oracle/jre
他のユーザーは、コマンドsource /etc/environment
を実行するか、ログアウトしてから再度ログインしてこの設定を適用する必要があります。
結論
このチュートリアルでは、Javaの複数のバージョンをインストールし、それらを管理する方法を学びました。 これで、Tomcat、Jetty、Glassfish、Cassandra、JenkinsなどのJavaで実行されるソフトウェアをインストールできます。