JDK8 kann in Ubuntu 17.10 nicht installiert werden

JDK8 kann in Ubuntu 17.10 nicht installiert werden

Ich habe den folgenden Code verwendet, um JDK 8 zu installieren und das Repository hinzuzufügen

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

Wenn ich danach versuche, Java mit dem folgenden Befehl zu installieren,

sudo apt-get install oracle-java8-installer

Ich erhalte eine Nachricht. Die Codeantwort lautet:

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.

Antwort1

oracle-java8-installer ist bereits die neuste Version

Das ist die Fehlermeldung, die Sie erhalten, wenn Sie versuchen, dasselbe Paket zweimal zu installieren, weil das Paket bereits installiert ist. Um dies zu beweisen, führen Sie den folgenden Befehl aus, um zu zeigen, ob oracle-java8-installer installiert ist:

apt policy oracle-java8-installer  

Beim Versuch, oracle-java8-installer zu installieren, wurde Ihnen folgende Fehlermeldung angezeigt:

Herunterladen abgeschlossen.
Entfernen veralteter zwischengespeicherter Downloads …
sha256sum-Fehlanpassung jdk-8u151-linux-x64.tar.gz
Oracle JDK 8 ist NICHT installiert.
dpkg: Fehler bei der Verarbeitung des Pakets oracle-java8-installer (--configure):
Der installierte Unterprozess des Post-Installation-Skripts hat den Fehler-Exit-Status 1 zurückgegeben.
Bei der Verarbeitung sind Fehler aufgetreten: oracle-java8-installer
E: Der Unterprozess /usr/bin/dpkg hat einen Fehlercode zurückgegeben (1)

apt meldet, dass der Oracle-Java8-Installer installiert ist, java -versionkann Java aber nicht finden. Daher wurde es aufgrund des sha256sum mismatchFehlers wohl nicht korrekt installiert. Dies bedeutet, dass jdk-8u151-linux-x64.tar.gz vom Skript Oracle-Java8-Installer nicht korrekt heruntergeladen wurde.

Möglicherweise liegt bei Ihnen dasselbe Problem vor wie bei anderen, nämlich dass das Skript „oracle-java8-installer“ nicht richtig funktioniert:Wenn ich versuche, Software zu installieren oder zu entfernen, tritt ein Fehler auf. Kann mir bitte jemand helfen?Besuchen Sie also die offizielleOracle Java 9-Website, laden Sie jdk-9.0.1_linux-x64_bin.tar.gz von dort herunter und installieren Sie es, indem Sie den Anweisungen in dieser Antwort folgen:Wie kann ich das proprietäre Java JDK 6/7/8 oder JRE von Sun/Oracle installieren?.

Antwort2

Eine andere Möglichkeit zur Bestätigung der Installation besteht darin, diesen Befehl von Ihrem Terminal aus auszuführen:

 dpkg-query -l oracle-java8-installer

Sie sollten Folgendes sehen:

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

Das zweite ibedeutet, dass es installiert ist.

Aus 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.

verwandte Informationen