Saltar al contenido

Ubuntu: OpenJDK 8 – No se puede ubicar el paquete

[*]Te doy la bienvenida a nuestro sitio, aquí hallarás la solucíon de lo que estás buscando.

Solución:

[*]ACTUALIZAR: instalación sin privilegios de root a continuación


[*]Le aconsejo que no instale paquetes manualmente en el sistema ubuntu si ya existe un repositorio (semioficial) capaz de resolver su problema. Además, use Oracle JDK para el desarrollo, solo para evitar problemas de compatibilidad (muy esporádicos) (lo intenté hace muchos años, seguramente es mejor ahora).

[*]Añade el webupd8 repositorio en su sistema:

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

[*]Instale su versión preferida de jdk (versiones de java-6 a java-9 disponibles):

sudo apt-get install oracle-java8-installer

[*]También puede instalar varias versiones de jdk, mezclando versiones de openjdk y oracle. Entonces puedes usar el comando actualizar-alternativas-java para cambiar entre la versión instalada:

# 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

[*]Requisitos

[*]Si lo consigues add-apt-repository: command not found asegúrese de tener software-properties-common instalado:

sudo apt-get install software-properties-common

[*]Si está utilizando una versión anterior de Ubuntu:

sudo apt-get install python-software-properties

[*]Instalación de JDK sin privilegios de root

[*]Si no tiene derechos de administrador en su máquina de destino, su apuesta más simple es usar sdkman para instalar el openjdk certificado por zulu:

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

[*]NOTA: sdkman permite instalar también el JDK oficial de Oracle, aunque no es la opción predeterminada. Ver versiones disponibles con:

sdk ls java

[*]Instale la versión elegida con:

sdk install java 

[*]Por ejemplo:

sdk install java 9.0.1-oracle

[*]Glosario de comandos

  • [*]sudo [command_arguments]: ejecuta un comando con privilegios de superusuario.

  • [*]agregar-repositorio-apto: Ubuntu (al igual que todos los derivados de Debian y, en general, todas las distribuciones de Linux) tiene un repositorio principal de paquetes que maneja cosas como las dependencias de paquetes y la actualización. En Ubuntu es posible extender el repositorio principal usando un PPA (Archivo Personal de Paquetes) que generalmente contiene paquetes que no están disponibles en el sistema (como oracle jdk) o versiones actualizadas de los disponibles (ejemplo: LibreOffice 5 en LTS está disponible solo a través de este PPA).

  • [*]apt-get[install|update|upgrade|purge|...]: es “el” controlador de paquetes de la línea de comandos que se utiliza para manipular estado de cada repositorio en el sistema (la instalación / actualización / actualización puede verse como una alteración del estado actual del repositorio).

[*]En nuestro caso: con el comando sudo add-apt-repository ppa:webupd8team/java informamos al sistema que la próxima actualización del repositorio debe recuperar la información de los paquetes también del repositorio webupd8.

[*]Con sudo apt-get update de hecho, actualizamos el repositorio del sistema (todas estas operaciones requieren privilegios de superusuario, por lo que anteponemos sudo a los comandos).

[*]sudo apt-get install oracle-java8-installer

  • [*]actualizar-alternativas-java (una versión java específica de alternativas de actualización): en Ubuntu, varios paquetes proporcionan la misma funcionalidad (navegar por Internet, compilar correos, editar un archivo de texto o proporcionar ejecutables java / javac …). Permite que el sistema elija la herramienta de favoritos del usuario dada una tarea específica, un mecanismo que utiliza enlaces simbólicos en /etc/alternatives/ se utiliza. Intente actualizar el jdk como se indicó anteriormente (cambie entre java 7 y java 8) y vea cómo cambiar la salida de este comando:

    [*]ls -l /etc/alternatives/java*

[*]En nuestro caso: sudo update-java-alternatives --set java-8-oracle actualice los enlaces simbólicos en / etc / alternativas para que apunten a los ejecutables java-8-oracle.

[*]Extras:

  • [*]hombre: comience a usar man para leer una ayuda muy bien escrita y detallada sobre (casi) cada comando de shell y sus opciones (cada comando que menciono en esta pequeña respuesta tiene una página de manual, intente man update-java-alternatives).

  • [*]apt-cachesearch : consulta la caché APT para buscar un paquete relacionado con la clave_búsqueda proporcionada (puede ser el nombre del paquete o alguna palabra en la descripción del paquete).

  • [*]apt-cacheshow : proporciona información APT para un paquete específico (versión del paquete, instalada o no, descripción).

[*]Como puede ver, solo tengo java 1.7 instalado (en una máquina con Ubuntu 14.04).

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

[*]Para instalar Java 8, lo hice,

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

[*]Luego, ahora tengo java 7 y 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 AGREGADO (cómo cambiar entre diferentes versiones)

  • ejecute el siguiente comando desde la 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:

[*]Como puede ver, estoy ejecutando jdk abierto 8. Para cambiar a jdk 7, presione 1 y golpea el Ingresar key. Haz lo mismo por javac también con, sudo update-alternatives --config javac.

[*]Verifique las versiones para confirmar el cambio: java -version y javac -version.

[*]Obtengo OpenJDK 8 de los repositorios oficiales de Debian, en lugar de algún PPA aleatorio o binario de Oracle no libre. Así es como lo hice:

[*]sudo apt-get install debian-keyring debian-archive-keyring

[*]Hacer /etc/apt/sources.list.d/debian-jessie-backports.list:

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

[*]Hacer /etc/apt/preferences.d/debian-jessie-backports:

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

[*]Luego, finalmente haz la instalación:

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

Reseñas y puntuaciones del artículo

[*]Recuerda dar difusión a este post si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *