web-dev-qa-db-ja.com

障害のあるJavaインストールを新しいものに置き換える方法は?

最近、17.04から17.10にアップグレードしましたが、その際、ubuntu semesでJDK 8のインストールを「忘れて」しまいました。

引き続きJavaを使用できます。

olian04:~$ Java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

しかし、パッケージをインストールしようとしたり、未使用のものを削除したりするたびに、私はこれに迎えられます。

Connecting to download.Oracle.com (download.Oracle.com)|92.122.94.143|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-01-20 16:35:41 ERROR 404: Not Found.

download failed
Oracle JDK 8 is NOT installed.
dpkg: error processing package Oracle-Java8-installer (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 Oracle-Java8-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)

だから私の質問は、これをどのように修正するのですか?古いバージョンを削除して再インストールするか、実際のJavaをubuntuに再度接続する(Javaがインストールされている場所に "リマインド")か、そのままにしておくか障害のあるJava 8が背後にインストールされ、新しいJavaをつかみます9.これを行う方法がわかりません...

openjdk-9-jdkをインストールしようとしましたが、Javaなしでパッケージをインストールすることは許可されていないので、JDK 8がインストールされていないという不満があります。 ..

2
Olian04

WebUpd8が提供するJava 8のバージョン(8u151)は古く、Oracleによって提供されなくなったため、HTTP 404(not found)エラーが発生します。 別の回答 は一時的な修正を提供します:


バージョン151がアーカイブされたため、この問題が再び発生しました。このバージョンは現在PPAによって参照されています。次のコマンドを使用して、参照を161に更新できます。

cd /var/lib/dpkg/info

Sudo sed -i 's|Java_VERSION=8u151|Java_VERSION=8u161|' Oracle-Java8-installer.*
Sudo sed -i 's|PARTNER_URL=http://download.Oracle.com/otn-pub/Java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.Oracle.com/otn-pub/Java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|' Oracle-Java8-installer.*
Sudo sed -i 's|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|' Oracle-Java8-installer.*
Sudo sed -i 's|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_161|' Oracle-Java8-installer.*

次に、Sudo apt update; Sudo apt upgradeを試してください。

1
Chai T. Rex

あなたはあなたのaptを順番に取得しようとすることができます

apt-get install --fix-broken

それが助けになれば、dpkgにさらに深く行くことができます

dpkg -P Oracle-Java8-installer

または

dpkg -r -P openjdk-8-jdk

exact package nameが何であれ!すべてのパッケージを見ることができます

dpkg -l

およびgrepforJavaまたはjdk

障害のあるインストールを削除し、aptが再びコンテンツになったら、Java8またはJava9の新規インストールを実行できます。

0
Robert Riedl