GNU/Linux >> Znalost Linux >  >> Linux

Ubuntu:OpenJDK 8 - Nelze najít balíček

Dostávám OpenJDK 8 z oficiálních repozitářů Debianu, spíše než nějaký náhodný PPA nebo nesvobodný Oracle binární soubor. Udělal jsem to takto:

sudo apt-get install debian-keyring debian-archive-keyring

Vytvořte /etc/apt/sources.list.d/debian-jessie-backports.list :

deb http://httpredir.debian.org/debian/ jessie-backports main

Udělejte /etc/apt/preferences.d/debian-jessie-backports :

Package: *
Pin: release o=Debian,a=jessie-backports
Pin-Priority: -200

Nakonec proveďte instalaci:

sudo apt-get update
sudo apt-get -t jessie-backports install openjdk-8-jdk

sudo apt-get update
sudo apt-get  install openjdk-8-jdk

to by mělo fungovat


Jak můžete vidět, mám nainstalovanou pouze javu 1.7 (na počítači Ubuntu 14.04).

update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64

Nainstaloval jsem Java 8,

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk

Poté mám nyní Java 7 a 8,

update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

BONUS PŘIDÁN (jak přepínat mezi různými verzemi)

  • spusťte následující příkaz z terminálu:

sudo update-alternatives --config java

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      manual mode

Press enter to keep the current choice[*], or type selection number:

Jak vidíte, používám open jdk 8. Chcete-li přepnout na jdk 7, stiskněte 1 a stiskněte Enter klíč. Udělejte totéž pro javac stejně jako sudo update-alternatives --config javac .

Zkontrolujte verze a potvrďte změnu:java -version a javac -version .


AKTUALIZACE :instalace bez oprávnění root níže

Doporučuji vám neinstalovat balíčky ručně na systém ubuntu, pokud již existuje (polooficiální) úložiště schopné vyřešit váš problém. Dále používejte pro vývoj Oracle JDK, abyste se vyhnuli (velmi sporadickým) problémům s kompatibilitou (zkoušel jsem to před mnoha lety, teď je to určitě lepší).

Přidejte soubor webupd8 repo do vašeho systému:

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

Nainstalujte si preferovanou verzi jdk (k dispozici jsou verze od java-6 po java-9):

sudo apt-get install oracle-java8-installer

Můžete také nainstalovat více verzí jdk, smíchat verze openjdk a oracle. Pak můžete použít příkaz update-java-alternatives pro přepínání mezi nainstalovanou verzí:

# list available jdk
update-java-alternatives --list

# use jdk7
sudo update-java-alternatives --set java-7-oracle

# use jdk8
sudo update-java-alternatives --set java-8-oracle

Požadavky

Pokud získáte add-apt-repository: command not found ujistěte se, že máte software-properties-common nainstalováno:

sudo apt-get install software-properties-common

Pokud používáte starší verzi Ubuntu:

sudo apt-get install python-software-properties

Instalace JDK bez oprávnění root

Pokud na cílovém počítači nemáte administrátorská práva, nejjednodušší je použít sdkman k instalaci openjdk s certifikací Zulu:

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java

POZNÁMKA :sdkman umožňuje nainstalovat také oficiální Oracle JDK, i když to není výchozí možnost. Zobrazit dostupné verze pomocí:

sdk ls java

Nainstalujte vybranou verzi pomocí:

sdk install java <version>

Například:

sdk install java 9.0.1-oracle

Slovník příkazů

  • sudo <command> [command_arguments] :vykoná příkaz s oprávněním superuživatele.

  • add-apt-repository <PPA_id> :Ubuntu (stejně jako všechny deriváty Debianu a obecně každá distribuce Linuxu) má hlavní úložiště balíčků, které se starají o věci, jako jsou závislosti balíčků a aktualizace. V Ubuntu je možné rozšířit hlavní úložiště pomocí PPA (Personal Package Archive), který obvykle obsahuje balíčky nedostupné v systému (stejně jako oracle jdk) nebo aktualizované verze dostupných (příklad:LibreOffice 5 v LTS je dostupný pouze prostřednictvím tohoto PPA).

  • apt-get [install|update|upgrade|purge|...] :je to "ten" obslužný program příkazového řádku používaný k manipulaci se stavem každého úložiště v systému (instalaci/aktualizaci/aktualizaci lze považovat za změnu aktuálního stavu úložiště).

V našem případě :pomocí příkazu sudo add-apt-repository ppa:webupd8team/java informujeme systém, že příští aktualizace úložiště musí získat informace o balíčcích také z úložiště webupd8.

S sudo apt-get update ve skutečnosti aktualizujeme systémové úložiště (všechny tyto operace vyžadují oprávnění superuživatele, proto přidáme sudo k příkazům).

sudo apt-get install oracle-java8-installer

  • update-java-alternatives (konkrétní java verze alternativ aktualizace ):v Ubuntu několik balíčků poskytuje stejnou funkcionalitu (procházení internetu, kompilování e-mailů, úprava textového souboru nebo poskytování spustitelných souborů java/javac...). Chcete-li systému umožnit výběr uživatelského oblíbeného nástroje pro konkrétní úkol, mechanismus využívající symbolické odkazy pod /etc/alternatives/ se používá. Zkuste aktualizovat jdk, jak je uvedeno výše (přepínejte mezi java 7 a java 8) a podívejte se, jak změnit výstup tohoto příkazu:

    ls -l /etc/alternatives/java*

V našem případě :sudo update-java-alternatives --set java-8-oracle aktualizujte symbolické odkazy v /etc/alternatives, aby ukazovaly na spustitelné soubory java-8-oracle.

Doplňky:

  • muž <command> :začněte používat man ke čtení opravdu dobře napsané a podrobné nápovědy k (téměř) každému příkazu shellu a jeho možnostem (každý příkaz, který zmiňuji v této malé odpovědi, má manuálovou stránku, zkuste man update-java-alternatives ).

  • apt-cache search <search_key> :dotaz na mezipaměť APT pro vyhledání balíčku souvisejícího s poskytnutým vyhledávacím klíčem (může to být název balíčku nebo nějaké slovo v popisu balíčku).

  • apt-cache show <package> :poskytuje informace APT pro konkrétní balíček (verze balíčku, nainstalovaná nebo ne, popis).


Linux
  1. Nainstalujte PHP 7 na nový Ubuntu VPS:[Opravit] Nelze najít balíček PHP

  2. Instalace Cuda 8 na Ubuntu 16:Nelze najít balíček Cuda?

  3. Docker – Nelze najít balíček docker-engine

  1. Nelze nainstalovat Mariadb na Ubuntu 20.04?

  2. E:Nelze najít balíček python-pip na Ubuntu 18.04

  3. Ubuntu 20.04:E:Nelze najít balíček python-pip

  1. Nainstalujte Odoo 9 na Ubuntu 14.04

  2. Jak nainstalovat vyhledejte na serveru Ubuntu

  3. Jak nainstalovat Docker na Ubuntu 22.04