エンジニアの転職を支援するFEnetインフラのテックブログ。ネットワークなどのITインフラ情報を中心に発信中。

  1. FEnetインフラ
  2. FEnetテックマガジン
  3. サーバー
  4. LinuxにJavaをインストールする方法|アンインストールする方法まで詳しく解説

LinuxにJavaをインストールする方法|アンインストールする方法まで詳しく解説

  • サーバー
  • テクノロジー
  • プログラミング
公開日時:   更新日時:
LinuxにJavaをインストールする方法|アンインストールする方法まで詳しく解説
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    LinuxにJavaをインストールする方法


    この記事はLinuxでJavaの開発環境(JDK)をインストールしたい方に簡単なJavaの環境構築方法を解説していきます。なおOpenJDKではJava11から実行環境(JRE)単体の配布は廃止されました。
    詳しくはこちらを参考にしてください。yumやaptなどLinuxの標準で提供するパッケージではJRE単体でインストールすることもできます。

    Javaで動作する言語や統合開発環境を使用する方へ

    Scala(sbt),Groovy,Kotlinなどの他のJavaを使用する言語や統合開発環境では各ドキュメントにJavaの開発環境(JDK)のインストール手順を記載していますのでそちらもお読みください。

    Java,Kotlinなどは統合開発環境を使用しての開発が一般的です。NetBeans ,Intellij , Android Studioでは予めJDK(もしくはその互換)が同梱されています。

    JDK(Java Development Kit)とは

    LinuxでJavaの開発をするためにJDK(Java Development Kit)をインストールします。JDKはJava SE(Javaの標準的なAPI)やJava仮想マシンなどのJavaの実行環境に加え開発に必要なコンパイラやデバッガなどアプリケーションの開発に必要もしくは有用なツールを含んだソフトウェア開発キット(SDK)です。

    OpenJDKとは

    JDKは実装が複数ありますが、 Oracle社の提供するJDKとオープンソースのOpenJDKが一般的です。ここではOpenJDKについて解説します。

    以下の説明コードではCPUx64のマシンでCentOS7とUbuntu18.04上でyumコマンドとaptコマンドを例に使います。DNFなど別のコマンドを使用している場合は対応するコマンドを確認してください。

    公式サイトからバイナリをダウンロードする

    公式サイトから入手したいバージョンのJavaをダウンロードします。適当な場所にLinux向けの圧縮されたJDKをダウンロードします(ここでは現在の最新版OpenJDK15 で場所は$HOME/example/です)。

    ハッシュ値の確認して解凍する

    ハッシュ値を確認する

    sha256ファイルの値と一致していればとりあえず改ざんやエラーはありません。
    $ tar xvf openjdk-15_linux-x64_bin.tar.gz
    jdk15という名前のディレクトリができました。

    起動させてみよう

    テキストエディタでhello.javaを作成する

    Linuxシステムから参照できるようにする

    JAVA_HOMEを保存する

    ここで指定した変数はシェルを閉じると消えるので、シェルを起動したら有効化したい場合は.bashrcに、ログインした時点で有効化するには.profile、または(.bash_profile)などに記述してください。

    シェルを介さずLinuxから利用する場合はログインした時点で有効になっている必要があります。複数のJDKをLinuxで管理する方法は後述します。

    JAVA_HOMEとは

    次から説明するパッケージ管理システムからインストールする場合もプログラムからJAVA_HOMEが参照されることがあるので、JAVA_HOMEを実際にJDKの配置されているディレクトリ
    (例/usr/lib/jvm/openjdk-バージョン・)に指定して.profileまたは(bash_profile)に定義してください。

    JAVA_HOMEは同時に一つしか定義されません。使用するJDKのバージョンに合わせて定義してください。

    OS標準のレポジトリからインストールする

    使用したいバージョンがLinuxで標準でサポートされている場合、パッケージ管理システムで簡単にインストールできます。ここでは最新の長期サポート(LTS)JDK-11を例にして書いてみます。

    パッケージ管理システムからインストールするとこのバージョンのバグなどの不具合を修正した最新バージョンに自動的にアップデートの通知が来てコマンドでアップデートすることができます。

    コマンドを入力する

    インストールするバージョンのJDKがLinuxで標準にサポートされているか確認する

    インストールする

    外部のレポジトリからインストールする

    OSの標準で入手したいSDKのバージョンがサポートされていない場合は外部のリポジトリを登録できます。ここではCentOS7.9とUbuntu18.04の例を書きます。インストールするJDKのバージョンはJDK15にします。外部のリポジトリが提供する最新の状態に自動的にアップデートの通知が来てコマンドでアップデートできます。外部リポジトリのサイトをいくつか紹介します。

    Zulu:
    AdoptOpenJDK:
    Amazon Corretto:
    Launchpad (Ubuntu):

    コマンドを入力する

    リポジトリを追加する

    インストールする(ここではJDK15をインストールします)

    rpm, debファイルからJDKをインストールする

    rpm, deb形式のファイルをダウンロードする

    インストールする

    更新する

    Linuxの設定方法

    まずLinuxの環境変数でJavaプログラムを起動する際に参照される変数を紹介します。
    JAVA_HOMEまたはJDK_HOMEは、JAVAで書かれたアプリケーションから参照されることがある実際のJDKの配置されているディレクトリです。環境変数PATHにその配下のbinを追加します。

    CLASSPATH変数はJavaの実行時にロードされるクラスやjarファイルなどを指定します。実行時にコマンドから指定することもできます。外部ライブラリの読み込みなどで使用されます。

    複数のJDKを管理する

    パッケージ管理ツールからインストールされたJDKのコマンドは/usr/bin/から/etc/alternative/へリンクされここで最終的に/usr/lib/jvm内に存在するバージョンごとの/binなどに存在する実行形式ファイルへとリンクされます。

    /usr/lib/jvm直下の(.java・バージョン・.jinfo)ファイルに/usr/binに繋がる実行ファイルの一覧が定義されています。

    JDKを切り替える一つ目の方法は/etc/alternativeのリンク先を変えることです。コマンドを入力した時LinuxにどのJDKのバージョンの実行ファイルが実行されるかを確認してみます。

    Linuxに登録されているJavaコマンドを確認する

    パッケージ管理システム経由でインストールすると大抵は新しくインストールしたJavaのコマンドがLinuxに登録されています。

    パッケージ管理システムから入れても登録されていなかった場合手動もしくは先程の.jinfoファイルからコマンドを登録できるのですが、今回は二番目の方法でJDKを切り替えます。

    JDKのバージョンを変更する

    バージョンを変更する

    JAVA_HOMEも使用するJDKの配置してあるPATHに切り替えてください。

    環境変数のみを切り替える

    二つ目の方法は簡単で、バイナリをダウンロードした時などに使います。コマンドのパスをこれから使うJDKにすることで変更できます。JDKは$HOME/example/下に格納されているとして .pofileまたは(.bash_profile)に下記のように定義するとPATHが/usr/binなどより優先されます。

    気になるところ

    RED HATの公式のドキュメントには書かれていませんが、パッケージ管理システムでインストールした場合JDK/lib配下にある実行ファイルjexecも /usr/binにリンクされていることがあるのでもしjexecコマンドが存在したら、export PATH=”$JAVA_HOME/lib:$PATH” も.profileまたは(.bash_profile)に加えた方が良いでしょう。

    アンインストールする

    アンインストールするパッケージを確認します。ディレクトリ名とパッケージ名は大抵異なります。( update- )alternativesコマンドで表示される実行ファイルのフルパスからファイルの属するパッケージ名を特定します。

    またアンインストール後はJAVA_HOMEの値からアンインストールしたJDKへのパスを外してください。

    yum, aptからインストールしたパッケージを特定する

    (ここではJDK8をアンインストールします)

    yum, aptからインストールしたJDKをアンインストールする

    -jdkもしくは -develだけではなく-jreや -jre-headlessなどのパッケージもアンインストールする。

    もし削除したはずのバージョンが( update- )alternativesコマンドで候補に上がる場合は同バージョンでアンインストールされていないパッケージがないか確認してください。

    rpm, dpkgからインストールしたJDKをアンインストールする

    アンインストールするJDKの正確なパッケージ名を探す

    アンインストールする。

    ダウウンロードしたJDKをアンインストールする

    バイナリをダウンロードした場合はJAVA_HOMEとPATHを設定ファイルから消して、パッケージを削除すればアンインストール完了です。

    最後に

    ここではインストール作業周辺について説明してきました。これから様々なJavaの開発ツールを使用する際、設定ファイルがホームディレクトリの隠しファイルとして生成されることがあるので、そちらも把握しておいてください。

    FEnet経験者優遇! 最短10秒!

    FEnetを運営しているネプラス株式会社はサービス開始から10年以上
    『エンジニアの生涯価値の向上』をミッションに掲げ、
    多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
    ネプラス株式会社ロゴ

    ネプラス株式会社はこんな会社です

    秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • インフラ業界に特化

      インフラ業界に特化

      ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。

      業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。

    • 正社員なのにフリーランスのような働き方

      正社員なのにフリーランスのような働き方

      正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。

      プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。

    • 大手直取引の高額案件

      大手直取引の高額案件

      案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。

      Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。

    • スキルアップ支援

      スキルアップ支援

      不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。

      受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など

      ※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。

    • 現給与を保証します!

      100%現給与保証

      前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。

      ※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。

    • インセンティブ制度

      インセンティブ制度

      ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。

      取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。

    • 社会保険・福利厚生

      社会保険・福利厚生

      社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。

      さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    ネプラス株式会社に興味を持った方へ

    ネプラス株式会社では、インフラエンジニアを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    ネプラス株式会社へのご応募はこちら↓
    ネプラス株式会社へのご応募はこちら↓

    Linux新着案件New Job

    人気記事Popular Posts