GNU/Linux >> Tutoriels Linux >  >> Linux

Ubuntu :OpenJDK 8 - Impossible de localiser le package

J'obtiens OpenJDK 8 à partir des dépôts Debian officiels, plutôt que d'un PPA aléatoire ou d'un binaire Oracle non libre. Voici comment j'ai procédé :

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

Faire /etc/apt/sources.list.d/debian-jessie-backports.list :

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

Faire /etc/apt/preferences.d/debian-jessie-backports :

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

Ensuite, faites enfin l'installation :

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

cela devrait fonctionner


Comme vous pouvez le voir, je n'ai installé que Java 1.7 (sur une machine Ubuntu 14.04).

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

Pour installer Java 8, je l'ai fait,

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

Après, maintenant j'ai java 7 et 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 AJOUTÉ (comment basculer entre différentes versions)

  • exécutez la commande suivante depuis le terminal :

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:

Comme vous pouvez le voir, j'exécute open jdk 8. Pour passer à jdk 7, appuyez sur 1 et appuyez sur Entrée clé. Faites de même pour javac ainsi que, sudo update-alternatives --config javac .

Vérifiez les versions pour confirmer le changement :java -version et javac -version .


MISE À JOUR :installation sans privilèges root ci-dessous

Je vous conseille de ne pas installer les packages manuellement sur le système ubuntu s'il existe déjà un référentiel (semi-officiel) capable de résoudre votre problème. De plus, utilisez Oracle JDK pour le développement, juste pour éviter les problèmes de compatibilité (très sporadiques) (j'ai essayé il y a de nombreuses années, c'est sûrement mieux maintenant).

Ajoutez le webupd8 dépôt sur votre système :

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

Installez votre version préférée de jdk (versions de java-6 à java-9 disponibles) :

sudo apt-get install oracle-java8-installer

Vous pouvez également installer plusieurs versions de jdk, en mélangeant les versions openjdk et oracle. Ensuite, vous pouvez utiliser la commande update-java-alternatives pour basculer entre les versions installées :

# 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

Exigences

Si vous obtenez add-apt-repository: command not found assurez-vous d'avoir software-properties-common installé :

sudo apt-get install software-properties-common

Si vous utilisez une ancienne version d'Ubuntu :

sudo apt-get install python-software-properties

Installation JDK sans privilèges root

Si vous n'avez pas les droits d'administrateur sur votre machine cible, votre pari le plus simple est d'utiliser sdkman pour installer l'openjdk certifié zulu :

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

REMARQUE :sdkman permet d'installer également le JDK officiel d'Oracle, bien que ce ne soit pas l'option par défaut. Afficher les versions disponibles avec :

sdk ls java

Installez la version choisie avec :

sdk install java <version>

Par exemple :

sdk install java 9.0.1-oracle

Glossaire des commandes

  • sudo <command> [command_arguments] :exécute une commande avec le privilège de superutilisateur.

  • add-apt-repository <PPA_id> :Ubuntu (tout comme tous les dérivés de Debian et généralement toutes les distributions Linux) possède un référentiel principal de packages qui gère des éléments tels que les dépendances de packages et la mise à jour. Dans Ubuntu, il est possible d'étendre le référentiel principal à l'aide d'un PPA (Personal Package Archive) qui contient généralement des packages non disponibles dans le système (tout comme oracle jdk) ou des versions mises à jour de ceux disponibles (exemple :LibreOffice 5 dans LTS n'est disponible que via ce PPA).

  • apt-get [install|update|upgrade|purge|...]  :c'est "le" gestionnaire de paquets en ligne de commande utilisé pour manipuler l'état de chaque référentiel sur le système (l'installation / la mise à jour / la mise à niveau peut être considérée comme une modification de l'état actuel du référentiel).

Dans notre cas :avec la commande sudo add-apt-repository ppa:webupd8team/java nous informons le système que la prochaine mise à jour du référentiel doit également récupérer les informations sur les packages à partir du référentiel webupd8.

Avec sudo apt-get update nous mettons en fait à jour le référentiel système (toutes ces opérations nécessitent des privilèges de superutilisateur, nous préajoutons donc sudo aux commandes).

sudo apt-get install oracle-java8-installer

  • mise à jour-java-alternatives (une version java spécifique de update-alternatives ) :dans Ubuntu, plusieurs packages fournissent les mêmes fonctionnalités (naviguer sur Internet, compiler des e-mails, éditer un fichier texte ou fournir des exécutables java/javac...). Pour permettre au système de choisir l'outil de favoris de l'utilisateur pour une tâche spécifique un mécanisme utilisant des liens symboliques sous /etc/alternatives/ est utilisé. Essayez de mettre à jour le jdk comme indiqué ci-dessus (basculez entre java 7 et java 8) et voyez comment modifier la sortie de cette commande :

    ls -l /etc/alternatives/java*

Dans notre cas :sudo update-java-alternatives --set java-8-oracle mettre à jour les liens symboliques sous /etc/alternatives pour pointer vers les exécutables java-8-oracle.

Extras :

  • homme <command> :commencez à utiliser man pour lire une aide très bien écrite et détaillée sur (presque) toutes les commandes shell et ses options (chaque commande que je mentionne dans cette petite réponse a une page de manuel, essayez man update-java-alternatives ).

  • apt-cache search <search_key> :interroge le cache APT pour rechercher un package lié à la clé de recherche fournie (peut être le nom du package ou un mot dans la description du package).

  • apt-cache show <package> :fournit des informations APT pour un package spécifique (version du package, installé ou non, description).


Linux
  1. Installer Zulip sur Ubuntu

  2. Comment installer la localisation sur un serveur Ubuntu

  3. Docker - Impossible de localiser le package docker-engine

  4. Installer Qt sur Ubuntu

  5. Ubuntu 20.04 : E :Impossible de localiser le package python-pip

Dépannage de l'erreur "E :Impossible de localiser le package" sur Ubuntu [Tutoriel du débutant]

Comment installer Kubernetes sur Ubuntu 18.04 LTS

Comment installer Yarn sur Ubuntu 18.04

COMMENT INSTALLER NEXTCLOUD SUR UBUNTU ?

Comment installer Asterisk dans Ubuntu 20.04

Comment installer Sendmail sur Ubuntu 22.04