質問: Ubuntuで、Oracle-Java8をインストールしようとしたらエラーが出ました。 $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer 上記の手順で、インストールを進めたら、以下のようなログが出ました! Oracle JDK 8 is NOT installed. dpkg: パッケージ oracle-java8-installer の処理中にエラーが発生しました (--configure): サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました 処理中にエラーが発生しました: oracle-java8-installer E: Sub-process /usr/bin/dpkg returned an error code (1) Oracle Java8をインストールしたいです。よろしくお願いします
回答: 無理にPPAからインストールしようとせずとも、公式サイトで配布されているLinux向けのtar.gz形式アーカイブをダウンロードしてきて適当な場所に展開し、その場所をPATHに加えれば利用できます。 jdk-8u152-linux-x64.tar.gzを~/Downloadにダウンロードしたものとします。また、Ubuntu系ではJava環境は/usr/lib/jvm/の下に展開される慣例なので、その通りにするものとします。Ubuntu 17.10で動作確認しています。 ``` $ sudo mkdir -p /usr/lib/jvm $ cd /usr/lib/jvm $ sudo tar xvfo ~/Download/jdk-8u152-linux-x64.tar.gz $ sudo ln -s jdk1.8.0_152 java-8-oracle-amd64 $ cd $ echo 'export JAVA_HOME=/usr/lib/jvm/java-8-oracle-amd64' >> .bashrc $ echo 'export PATH=${JAVA_HOME}/bin:${PATH}' >> .bashrc ``` これで再ログインすれば使えるはずです。 また、新たなバージョンがリリースされたなら、同じ要領で/usr/lib/jvmディレクトリーに展開まで行い、次のように操作します(jdk1.8.0_160というものがリリースされたという仮定)。 ``` $ sudo ln -snf jdk1.8.0_160 java-8-oracle-amd64 ``` のようにしてリンクの張替えをすれば、.bashrcを編集し直さなくても新たなバージョンを利用できます。Javaを扱うソフトウェアでも、/usr/lib/jvm/java-8-oracle-amd64をJDKの場所として設定しておけば、ソフトウェア側の設定を変更することなく新しいバージョンを利用できます。