Cómo instalar Java en CentOS, Rocky Linux, RHEL y Fedora

Introducción

Este tutorial te mostrará cómo instalar Java en las versiones actuales de las distribuciones de Linux basadas en RPM: Red Hat Enterprise Linux, CentOS, Fedora y Rocky Linux. Java es un lenguaje de programación y plataforma de software popular que te permite ejecutar muchas aplicaciones en el servidor.

Este tutorial cubre la instalación de la versión predeterminada más reciente de Java, así como la selección manual de versiones anteriores para la instalación y el cambio entre múltiples versiones en tu entorno según sea necesario.

Prerrequisitos

Antes de comenzar esta guía, debes tener un usuario regular, que no sea root, con privilegios sudo configurados en tu servidor; este es el usuario con el que debes iniciar sesión en tu servidor. Puedes aprender cómo configurar una cuenta de usuario regular siguiendo los pasos en nuestra guía de configuración inicial del servidor para Rocky Linux 8.

Paso 1: Instalación de OpenJDK

Hay tres ediciones diferentes de la Plataforma Java: Standard Edition (SE), Enterprise Edition (EE) y Micro Edition (ME). Este tutorial se centra en Java SE (Java Platform, Standard Edition). Casi todo el software Java de código abierto está diseñado para ejecutarse con Java SE.

Existen dos paquetes diferentes de Java SE que se pueden instalar: el Entorno de Ejecución de Java (JRE) y el Kit de Desarrollo de Java (JDK). JRE es una implementación de la Máquina Virtual de Java (JVM), que te permite ejecutar aplicaciones Java compiladas y applets. El JDK incluye el JRE así como otro software necesario para escribir, desarrollar y compilar aplicaciones Java y applets.

También hay dos implementaciones diferentes de Java: OpenJDK y Oracle Java. Ambas implementaciones se basan en gran medida en el mismo código, pero OpenJDK, la implementación de referencia de Java, es completamente de código abierto mientras que Oracle Java contiene algo de código propietario. La mayoría de las aplicaciones Java funcionarán bien con cualquiera, pero deberías usar la implementación que tu software requiera.

Puedes instalar varias versiones y lanzamientos de Java en un solo sistema, pero la mayoría de las personas solo necesitan una instalación. Con eso en mente, trata de instalar solo la versión de Java que necesitas para ejecutar o desarrollar tu(s) aplicación(es).

Esta sección te mostrará cómo instalar los paquetes precompilados de JRE y JDK de OpenJDK usando el gestor de paquetes yum. yum es el gestor de paquetes por defecto para distribuciones que utilizan paquetes RPM.

Para instalar OpenJDK usando yum, puedes ejecutar sudo yum install java:

  1. sudo yum install java

Por defecto, intentar instalar java sin especificar una versión se resolverá a la versión estable más común del JRE OpenJDK. Como puede ver en esta salida, en el momento de escribir esto, esa es java-1.8.0-openjdk:

Output
Last metadata expiration check: 0:02:38 ago on Tue 22 Feb 2022 04:57:59 PM UTC. Dependencies resolved. ======================================================================================== Package Arch Version Repo Size ======================================================================================== Installing: java-1.8.0-openjdk x86_64 1:1.8.0.322.b06-2.el8_5 appstream 341 k Installing dependencies: alsa-lib x86_64 1.2.5-4.el8 appstream 488 k atk x86_64 2.28.1-1.el8 appstream 270 k avahi-libs x86_64 0.7-20.el8 baseos 61 k copy-jdk-configs noarch 4.0-2.el8 appstream 29 k cups-libs x86_64 1:2.2.6-40.el8 baseos 432 k fribidi x86_64 1.0.4-8.el8 appstream 88 k …

También se proporcionarán múltiples dependencias junto con Java. En el indicador de confirmación, ingrese y y luego presione Enter para continuar con la instalación. También puede que se le pida que acepte las claves de firma para los repositorios desde los que está instalando:

Output
Importing GPG key 0x6D745A60: Userid : "Release Engineering <[email protected]>" Fingerprint: 7051 C470 A929 F454 CEBE 37B7 15AF 5DAC 6D74 5A60 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial Is this ok [y/N]:

Ingrese y y luego presione Enter nuevamente.

Ahora debería tener una instalación de Java funcional. Para confirmarlo, puede ejecutar java -version para verificar la versión de Java que está disponible en su entorno:

  1. java -version

Nota: La mayoría de las veces, los argumentos de línea de comandos van precedidos por un guión para argumentos de una sola letra, o dos guiones para argumentos de palabra completa. Java sigue una convención diferente de usar un guión para todos los argumentos, en este caso, -version.

Output
openjdk version "1.8.0_322" OpenJDK Runtime Environment (build 1.8.0_322-b06) OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

Las interacciones entre las convenciones de nomenclatura de Java y las convenciones de nomenclatura de paquetes de Linux pueden ser algo confusas. Anteriormente en este tutorial, aclaramos la diferencia entre el entorno completo del JDK para el desarrollo y el entorno JRE para ejecutar aplicaciones Java. Aunque OpenJDK es el nombre de la distribución de código abierto de Java, en realidad solo has instalado el JRE de OpenJDK. Para instalar el JDK completo de OpenJDK, debes instalar el paquete correspondiente con -devel agregado a su nombre. Esta es una convención común para los paquetes de desarrollo de otros entornos de programación, que Java también sigue, aunque la terminología se superpone de manera incómoda aquí.

Como antes, puedes instalar java-devel para obtener la versión predeterminada, o especificar java-1.8.0-openjdk-devel:

  1. sudo yum install java-devel
Output
DigitalOcean Droplet Agent 63 kB/s | 3.3 kB 00:00 Dependencies resolved. ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: java-1.8.0-openjdk-devel x86_64 1:1.8.0.322.b06-2.el8_5 appstream 9.8 M Transaction Summary ======================================================================================== Install 1 Package Total download size: 9.8 M Installed size: 41 M Is this ok [y/N]:

Después de instalar este paquete, deberías tener un entorno completo de OpenJDK que pueda compilar y ejecutar cualquier software Java que no tenga incompatibilidades de versión específicas. En la próxima sección, instalarás y administrarás otras versiones de Java.

Paso 2: Instalación de Otras Versiones de OpenJDK

Más recientemente, OpenJDK cambió su esquema de numeración de versiones para seguir más de cerca las versiones de Oracle Java. Para instalar una versión más nueva de OpenJDK, puedes especificar el número de versión en el nombre del paquete, tal como lo hiciste con 1.8.0. Por ejemplo, para instalar OpenJDK 17, puedes usar yum install java-17-openjdk:

  1. sudo yum install java-17-openjdk
Output
Last metadata expiration check: 0:03:36 ago on Tue 22 Feb 2022 05:42:44 PM UTC. Dependencies resolved. ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: java-17-openjdk x86_64 1:17.0.2.0.8-4.el8_5 appstream 244 k Installing dependencies: adwaita-cursor-theme noarch 3.28.0-2.el8 appstream 646 k adwaita-icon-theme noarch 3.28.0-2.el8 appstream 11 M at-spi2-atk x86_64 2.26.2-1.el8 appstream 88 k at-spi2-core x86_64 2.28.0-1.el8 appstream 168 k colord-libs x86_64 1.4.2-1.el8 appstream 234 k java-17-openjdk-headless x86_64 1:17.0.2.0.8-4.el8_5 appstream 41 M lcms2 x86_64 2.9-2.el8 appstream 163 k …

Como antes, puedes instalar el entorno completo de JDK agregando -devel al nombre del paquete. Sin embargo, después de esto, los programas java seguirán utilizando la versión OpenJDK 1.8.0 que instalaste anteriormente de forma predeterminada, lo cual puedes confirmar ejecutando java -version nuevamente:

  1. java -version
Output
openjdk version "1.8.0_322" OpenJDK Runtime Environment (build 1.8.0_322-b06) OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

En el siguiente paso, administrarás las versiones instaladas de Java.

Paso 3 – Configurar tu Versión de Java Predeterminada

Si instalaste múltiples versiones de Java, es posible que desees establecer una como predeterminada (es decir, la que se ejecutará cuando un usuario ejecute el comando java). Además, algunas aplicaciones requieren que ciertas variables de entorno estén configuradas para ubicar qué instalación de Java utilizar.

El comando alternatives, que administra comandos predeterminados mediante enlaces simbólicos, se puede utilizar para seleccionar la versión de Java predeterminada. Para enumerar las versiones de Java disponibles que pueden ser gestionadas por alternatives, usa alternatives --config java:

  1. sudo alternatives --config java

La salida debería enumerar ambas versiones de Java que has instalado:

output
There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java) 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java) Enter to keep the current selection[+], or type selection number:

Ingrese el número de selección para elegir qué ejecutable de java se debe usar de forma predeterminada. Rearreglará los enlaces simbólicos necesarios en su sistema para asegurarse de que el comando java apunte al conjunto correcto de bibliotecas. Puede volver a ejecutar este comando según sea necesario, y la salida de java -version debería cambiar en consecuencia.

  1. java -version
Output
openjdk version "17.0.2" 2022-01-18 LTS OpenJDK Runtime Environment 21.9 (build 17.0.2+8-LTS) OpenJDK 64-Bit Server VM 21.9 (build 17.0.2+8-LTS, mixed mode, sharing)

Muchas aplicaciones Java también utilizan las variables de entorno JAVA_HOME o JRE_HOME para determinar qué ejecutable de java utilizar.

Por ejemplo, si instaló Java en (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin (es decir, su ejecutable java se encuentra en <^>(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java), podría configurar su variable de entorno JAVA_HOME en un shell bash o script de la siguiente manera:

  1. export JAVA_HOME=(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre

Nota: La variable de entorno JAVA_HOME prefiere que establezca la ruta de su instalación de Java terminando en el directorio /jre. Esta convención puede cambiar de una variable a la siguiente, por lo que es mejor verificar cuidadosamente los ejemplos al realizar cambios.

Si desea que JAVA_HOME se establezca para cada usuario en el sistema de forma predeterminada, agregue la línea anterior al archivo /etc/environment. Puede agregarlo al archivo usando la redirección de shell echo y >>, para evitar tener que editar directamente el archivo /etc/environment, ejecutando este comando:

  1. sudo sh -c "echo export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre >> /etc/environment"

En el siguiente paso, instalará Java propietario de Oracle junto con sus versiones de OpenJDK.

Paso 4 – Instalación de Oracle Java

Esta sección de la guía te mostrará cómo instalar Oracle Java JRE y JDK (64 bits), la última versión de estos paquetes al momento de escribir esto.

Nota:
Si estás utilizando el terminal interactivo en esta página, no podrás descargar e instalar Oracle Java en el entorno.

A lo largo de esta sección, estaremos usando el comando wget para descargar los paquetes de software de Oracle Java. Es posible que wget no esté incluido de forma predeterminada en tu distribución de Linux, así que para seguir adelante, necesitarás instalarlo ejecutando:

  1. sudo yum install wget

Debes aceptar el Acuerdo de Licencia de Código Binario de Oracle para Java SE, que es uno de los pasos incluidos, antes de instalar Oracle Java.

Nota: Para instalar Oracle Java, necesitarás ir a la Página de Descargas de Oracle Java, aceptar el acuerdo de licencia y copiar el enlace de descarga del paquete Linux x86 adecuado en formato .rpm. Sustituye el enlace de descarga copiado en lugar de la parte resaltada del comando wget.

Cambia a tu directorio de inicio y descarga el RPM de Oracle Java con estos comandos:

  1. cd ~
  2. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm"

Luego, instala el RPM con yum localinstall (si descargaste una versión diferente, sustituye el nombre de archivo aquí):

  1. sudo yum localinstall jdk-17_linux-x64_bin.rpm

En la ventana de confirmación, ingresa y y luego presiona Enter para continuar con la instalación.

Puedes eliminar el archivo de archivo que descargaste anteriormente:

  1. rm ~/jdk-17_linux-x64_bin.rpm

Ahora puedes volver a ejecutar el comando alternatives y deberías ver una tercera opción para usar Oracle Java:

  1. sudo alternatives --config java
output
There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java) + 2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.2.0.8-4.el8_5.x86_64/bin/java) * 3 /usr/java/jdk-17.0.2/bin/java Enter to keep the current selection[+], or type selection number:

Los pasos en este tutorial deberían ser suficientes para instalar y ejecutar cualquier versión disponible de Java dependiendo de tu caso de uso.

Conclusión

En este tutorial, instalaste y gestionaste múltiples versiones de Java usando el gestor de paquetes yum, el comando alternatives y variables de entorno. Todos estos son aspectos fundamentales de la gestión del entorno Linux, y Java proporciona un ejemplo especialmente bueno de trabajar con ellos debido a sus muchas versiones diferentes.

A continuación, es posible que desees aprender cómo usar Java en otros contextos.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-java-on-centos-and-fedora