Ubuntu 17.10 に jdk8 をインストールできません

Ubuntu 17.10 に jdk8 をインストールできません

私は次のコードを使用してjdk 8をインストールし、リポジトリを追加しました

sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update

その後、次のコマンドを使用してJavaをインストールしようとすると、

sudo apt-get install oracle-java8-installer

メッセージを受け取りました。コード応答は次のとおりです。

Reading package lists... Done
Building dependency tree      
Reading state information... Done
oracle-java8-installer is already the newest version (8u151-1~webupd8~0).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.

答え1

oracle-java8-installerはすでに最新バージョンです

これは、パッケージがすでにインストールされているために同じパッケージを 2 回インストールしようとしたときに表示されるエラー メッセージです。これを証明するには、次のコマンドを実行して、oracle-java8-installer がインストールされているかどうかを表示します。

apt policy oracle-java8-installer  

oracle-java8-installer をインストールしようとすると、次のエラー メッセージが表示されました。

ダウンロードが完了しました。
古くなったキャッシュされたダウンロードを削除しています...
sha256sum 不一致 jdk-8u151-linux-x64.tar.gz
Oracle JDK 8 がインストールされていません。
dpkg: パッケージ oracle-java8-installer (--configure) の処理中にエラーが発生しました:
サブプロセスがインストールされましたインストール後のスクリプトがエラー終了ステータス 1 を返しました
処理中にエラーが発生しました: oracle-java8-installer
E: サブプロセス /usr/bin/dpkg がエラーコードを返しました (1)

apt は、oracle-java8-installer はインストールされているがjava -versionjava が見つからないと表示しています。そのため、sha256sum mismatchエラーが原因で正しくインストールされていない可能性があります。つまり、jdk-8u151-linux-x64.tar.gz が oracle-java8-installer スクリプトによって正しくダウンロードされなかったことを意味します。

oracle-java8-installer スクリプトが正しく動作しないという、他のユーザーと同じ問題が発生している可能性があります。ソフトウェアをインストールまたは削除しようとするとエラーが発生します。どなたか助けてください。公式ウェブサイトをご覧くださいOracle Java 9 ウェブサイトそこから jdk-9.0.1_linux-x64_bin.tar.gz をダウンロードし、この回答の手順に従ってインストールします。Sun/Oracle 独自の Java JDK 6/7/8 または JRE をインストールするにはどうすればよいですか?

答え2

インストールされていることを確認する別の方法は、ターミナルから次のコマンドを実行することです。

 dpkg-query -l oracle-java8-installer

次のように表示されます。

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                               Version                Architecture           Description
+++-==================================-======================-======================-=========================================================================
ii  oracle-java8-installer             8u151-1~webupd8~0      all                    Oracle Java(TM) Development Kit (JDK) 8

2番目はiインストールされていることを意味します。

からman dpkg-query

-l, --list [package-name-pattern...]
              List  packages  matching  given  pattern.  If  no package-name-pattern is given, list all packages in /var/lib/dpkg/status, excluding the ones
              marked as not-installed (i.e. those which have been previously purged). Normal shell wildcard characters are allowed in  package-name-pattern.
              Please  note  you  will  probably have to quote package-name-pattern to prevent the shell from performing filename expansion. For example this
              will list all package names starting with “libc6”:

                dpkg-query -l 'libc6*'

              The first three columns of the output show the desired action, the package status, and errors, in that order.

              Desired action:
                u = Unknown
                i = Install
                h = Hold
                r = Remove
                p = Purge

              Package status:
                n = Not-installed
                c = Config-files
                H = Half-installed
                U = Unpacked
                F = Half-configured
                W = Triggers-awaiting
                t = Triggers-pending
                i = Installed

              Error flags:
                <empty> = (none)
                R = Reinst-required

              An uppercase status or error letter indicates the package is likely to cause severe problems. Please refer to dpkg(1)  for  information  about
              the above states and flags.

              The  output  format  of this option is not configurable, but varies automatically to fit the terminal width. It is intended for human readers,
              and is not easily machine-readable. See -W (--show) and --showformat for a way to configure the output format.

関連情報