
私は次のコードを使用して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 -version
java が見つからないと表示しています。そのため、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.