Nie można zainstalować jdk8 w Ubuntu 17.10

-1

Użyłem następującego kodu, aby zainstalować jdk 8 i dodać repozytorium

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

Po tym, gdy próbuję zainstalować Javę za pomocą następującego polecenia,

sudo apt-get install oracle-java8-installer

Otrzymuję wiadomość, odpowiedź na kod to:

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.
Nadim Tareq
źródło

Odpowiedzi:

1

Instalator oracle-java8 jest już najnowszą wersją

To jest komunikat o błędzie, który pojawia się, gdy próbujesz zainstalować ten sam pakiet dwa razy, ponieważ pakiet jest już zainstalowany. Aby to udowodnić, uruchom następującą komendę, aby pokazać, czy instalator oracle-java8-installer jest zainstalowany:

apt policy oracle-java8-installer  

Podczas próby zainstalowania instalatora oracle-java8-instalator pojawia się następujący komunikat o błędzie:

Pobieranie gotowe.
Usuwanie nieaktualnych pobranych plików z pamięci podręcznej ...
sha256sum mismatch jdk-8u151-linux-x64.tar.gz
Oracle JDK 8 NIE jest zainstalowany.
dpkg: pakiet przetwarzania błędów oracle-java8-installer (--configure):
podproces zainstalowany skrypt poinstalacyjny zwrócił błąd wyjścia status 1
Napotkano błędy podczas przetwarzania: oracle-java8-installer
E: Podproces / usr / bin / dpkg zwrócił kod błędu (1)

apt mówi, że instalator oracle-java8-installer jest zainstalowany, ale java -versionnie może znaleźć java, więc nie mógł zostać poprawnie zainstalowany z powodu sha256sum mismatchbłędu, co oznacza, że ​​jdk-8u151-linux-x64.tar.gz nie został poprawnie pobrany przez wyrocznię -java8-skrypt instalatora.

Być może masz ten sam problem, co inni, że skrypt instalatora oracle-java8 nie działa poprawnie: gdy spróbuję zainstalować lub usunąć oprogramowanie, pojawi się błąd, proszę, niech ktoś mi pomoże, więc odwiedź oficjalną stronę Oracle Java 9 , pobierz stamtąd jdk-9.0.1_linux-x64_bin.tar.gz i zainstaluj go, postępując zgodnie z instrukcjami zawartymi w tej odpowiedzi: Jak zainstalować zastrzeżoną dla JUN / JDK 6/7/8 lub JRE firmę Sun / Oracle? .

Karel
źródło
tak, sprawdziłem twoją komendę.
Nadim Tareq
Jeśli apt policy oracle-java8-installerpowiesz, że instalator oracle-java8-installer jest zainstalowany, nie musisz nic robić. Jeśli wersja Candidate pakietu jest nowsza niż wersja Zainstalowana, można użyć apt, aby zaktualizować ten pakiet do najnowszej wersji za pomocą polecenia:sudo apt upgrade oracle-java8-installer
karel
Ale kiedy uruchamiam wersję java: program „java” można znaleźć w następujących pakietach:
Nadim Tareq
Jak mogę zainstalować prawnie zastrzeżoną Javę JDK 6/7/8 lub JRE firmy Sun / Oracle? a następnie ustaw Java 8 jako domyślną Javę za pomocą polecenia:sudo apt install oracle-java8-set-default
karel
0

Innym sposobem potwierdzenia, że ​​jest zainstalowany, jest uruchomienie tego polecenia z terminala:

 dpkg-query -l oracle-java8-installer

Powinieneś to zobaczyć:

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

Drugi ioznacza, że ​​jest zainstalowany.

Od 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.
George Udosen
źródło
tak, sprawdziłem twoją komendę.
Nadim Tareq
Uruchom, java -versionjeśli nadal nie masz pewności, czy jest zainstalowany
George Udosen
po uruchomieniu java -version: Program „java” można znaleźć w następujących pakietach:
Nadim Tareq
Co się stanie, kiedy to zrobisz?
George Udosen,
Kiedy uruchamiam polecenie sudo apt-get install oracle-java8-installer, wtedy mówi Pobieranie zakończone, a Oracle jdk nie jest zainstalowany
Nadim Tareq