Невозможно установить jdk8 в Ubuntu 17.10

Невозможно установить jdk8 в Ubuntu 17.10

Я использовал следующий код для установки 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 уже является новейшей версией

Это сообщение об ошибке, которое вы получаете, когда пытаетесь установить один и тот же пакет дважды, потому что пакет уже установлен. Чтобы убедиться в этом, выполните следующую команду, чтобы узнать, установлен ли 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 оттуда и установите его, следуя инструкциям в этом ответе:Как установить фирменную версию Java JDK 6/7/8 или JRE от Sun/Oracle?.

решение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

Второе 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.

Связанный контент