Come Installare Java su CentOS, Rocky Linux, RHEL e Fedora

Introduzione

Questo tutorial ti mostrerà come installare Java nelle versioni attuali delle distribuzioni Linux basate su RPM: Red Hat Enterprise Linux, CentOS, Fedora e Rocky Linux. Java è un linguaggio di programmazione e una piattaforma software popolare che ti consente di eseguire molte applicazioni lato server.

Questo tutorial copre l’installazione dell’ultima versione predefinita di Java, così come la selezione di eventuali versioni più vecchie per l’installazione e il passaggio tra più versioni nel tuo ambiente secondo necessità.

Prerequisiti

Prima di iniziare questa guida, dovresti avere un utente regolare, non root, con privilegi sudo configurato sul tuo server – questo è l’utente con cui dovresti accedere al tuo server. Puoi imparare come configurare un account utente regolare seguendo i passaggi nella nostra guida alla configurazione iniziale del server per Rocky Linux 8.

Passaggio 1 – Installazione di OpenJDK

Ci sono tre diverse edizioni della Piattaforma Java: Standard Edition (SE), Enterprise Edition (EE) e Micro Edition (ME). Questo tutorial è incentrato su Java SE (Java Platform, Standard Edition). Quasi tutto il software Java open source è progettato per funzionare con Java SE.

Esistono due pacchetti Java SE diversi che possono essere installati: l’ambiente di esecuzione Java (JRE) e il kit di sviluppo Java (JDK). JRE è un’implementazione della Java Virtual Machine (JVM), che consente di eseguire applicazioni Java compilati e applet. Il JDK include il JRE e altri software necessari per scrivere, sviluppare e compilare applicazioni Java e applet.

Esistono anche due diverse implementazioni di Java: OpenJDK e Oracle Java. Entrambe le implementazioni si basano principalmente sullo stesso codice, ma OpenJDK, l’implementazione di riferimento di Java, è completamente open source mentre Oracle Java contiene alcuni codici proprietari. La maggior parte delle applicazioni Java funzionerà bene con entrambi, ma dovresti utilizzare l’implementazione richiesta dal tuo software.

Puoi installare varie versioni e release di Java su un singolo sistema, ma la maggior parte delle persone ha bisogno solo di un’installazione. Con questo in mente, cerca di installare solo la versione di Java necessaria per eseguire o sviluppare le tue applicazioni.

Questa sezione ti mostrerà come installare i pacchetti precompilati OpenJDK JRE e JDK utilizzando il gestore di pacchetti yum. yum è il gestore di pacchetti predefinito per le distribuzioni che utilizzano pacchetti RPM.

Per installare l’OpenJDK usando yum, puoi eseguire sudo yum install java:

  1. sudo yum install java

Per impostazione predefinita, provare a installare java senza specificare una versione risolverà alla versione più comune e stabile del JRE OpenJDK. Come puoi vedere da questo output, al momento della stesura, quella è 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 …

Verranno fornite anche molteplici dipendenze insieme a Java. Alla richiesta di conferma, inserisci y e premi Invio per continuare con l’installazione. Potrebbe anche essere richiesto di accettare le chiavi di firma per i repository da cui stai installando:

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]:

Inserisci y e premi nuovamente Invio.

Dovresti ora avere un’installazione di Java funzionante. Per confermare questo, puoi eseguire java -version, per verificare la versione di Java disponibile nell’ambiente:

  1. java -version

Nota: Nella maggior parte dei casi, gli argomenti della riga di comando sono preceduti da un trattino per gli argomenti di una sola lettera, o due trattini per gli argomenti di una parola intera. Java segue una convenzione diversa utilizzando un trattino per tutti gli argomenti, in questo 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)

Le interazioni tra le convenzioni di denominazione di Java e le convenzioni di denominazione dei pacchetti Linux possono essere un po’ confuse. In precedenza in questo tutorial, abbiamo chiarito la differenza tra l’ambiente JDK completo per lo sviluppo e l’ambiente JRE per l’esecuzione delle applicazioni Java. Anche se OpenJDK è il nome della distribuzione open source di Java, hai effettivamente installato solo l’OpenJDK JRE. Per installare il pieno OpenJDK JDK, dovresti installare il pacchetto corrispondente con -devel aggiunto al suo nome. Questa è una convenzione comune per i pacchetti di sviluppo per altri ambienti di programmazione, che Java segue anche se la terminologia si sovrappone in modo imbarazzante qui.

Come prima, puoi installare java-devel per ottenere la versione predefinita, o specificare 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]:

Dopo aver installato questo pacchetto, dovresti avere un ambiente OpenJDK completo in grado di compilare ed eseguire qualsiasi software Java che non abbia incompatibilità specifiche di versione. Nella sezione successiva, installerai e gestirai altre versioni di Java.

Passaggio 2 – Installazione di Altre Versioni di OpenJDK

Più recentemente, OpenJDK ha cambiato il suo schema di numerazione delle versioni per seguire più da vicino le versioni di Oracle Java. Per installare una versione più recente di OpenJDK, è possibile specificare il numero di versione nel nome del pacchetto, proprio come con 1.8.0. Ad esempio, per installare OpenJDK 17, è possibile eseguire 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 …

Come prima, è possibile installare l’intero ambiente JDK aggiungendo -devel al nome del pacchetto. Tuttavia, dopo ciò, l’esecuzione di programmi java utilizzerà ancora la versione OpenJDK 1.8.0 che hai installato in precedenza per impostazione predefinita, come puoi confermare eseguendo nuovamente java -version:

  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)

Nel prossimo passaggio, gestirai le versioni installate di Java.

Passaggio 3 – Impostare la tua versione predefinita di Java

Se hai installato più versioni di Java, potresti volerne impostare una come predefinita (cioè quella che verrà eseguita quando un utente esegue il comando java). Inoltre, alcune applicazioni richiedono che siano impostate determinate variabili d’ambiente per individuare quale installazione di Java utilizzare.

Il comando alternatives, che gestisce i comandi predefiniti tramite collegamenti simbolici, può essere utilizzato per selezionare la versione predefinita di Java. Per elencare le versioni di Java disponibili che possono essere gestite da alternatives, utilizzare alternatives --config java:

  1. sudo alternatives --config java

L’output dovrebbe elencare entrambe le versioni di Java che hai installato:

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:

Inserisci il numero della selezione per scegliere quale eseguibile java utilizzare per impostazione predefinita. Riorganizzerà i collegamenti simbolici necessari sul tuo sistema per assicurarsi che il comando java punti all’insieme corretto di librerie. Puoi eseguire nuovamente questo comando come necessario, e l’output di java -version dovrebbe cambiare di conseguenza:

  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)

Molte applicazioni Java utilizzano anche le variabili d’ambiente JAVA_HOME o JRE_HOME per determinare quale eseguibile java utilizzare.

Ad esempio, se hai installato Java in (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin (cioè il tuo eseguibile java si trova in <^>(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java), potresti impostare la tua variabile d’ambiente JAVA_HOME in una shell bash o in uno script in questo modo:

  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 variabile d’ambiente JAVA_HOME preferisce che tu imposti il percorso della tua installazione di Java terminante nella directory /jre. Questa convenzione può cambiare da una variabile all’altra, quindi è meglio controllare attentamente gli esempi quando apporti modifiche.

Se vuoi che JAVA_HOME sia impostato per ogni utente sul sistema per impostazione predefinita, aggiungi la riga precedente al file /etc/environment. Puoi aggiungerla al file utilizzando il reindirizzamento shell di echo e >>, per evitare di dover modificare direttamente il file /etc/environment, eseguendo questo 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"

Nel prossimo passaggio, installerai la versione proprietaria di Java di Oracle insieme alle tue versioni OpenJDK.

Passaggio 4 – Installazione di Oracle Java

Questa sezione della guida ti mostrerà come installare Oracle Java JRE e JDK (64-bit), l’ultima versione di questi pacchetti al momento della stesura.

Nota: Se stai utilizzando il terminale interattivo in questa pagina, non sarai in grado di scaricare e installare Oracle Java nell’ambiente.

In questa sezione utilizzeremo il comando wget per scaricare i pacchetti software di Oracle Java. wget potrebbe non essere incluso per impostazione predefinita nella tua distribuzione Linux, quindi per poter seguire, dovrai installarlo eseguendo:

  1. sudo yum install wget

Devi accettare l’Accordo di licenza del codice binario Oracle per Java SE, che è uno dei passaggi inclusi, prima di installare Oracle Java.

Nota: Per installare Oracle Java, dovrai andare alla Pagina di download di Oracle Java, accettare l’accordo di licenza e copiare il collegamento di download del pacchetto Linux x86 .rpm appropriato. Sostituisci il collegamento di download copiato al posto della parte evidenziata del comando wget.

Cambia nella tua directory home e scarica l’RPM di Oracle Java con questi comandi:

  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"

Quindi installa l’RPM con yum localinstall (se hai scaricato una versione diversa, sostituisci il nome del file qui):

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

Al prompt di conferma, inserisci y quindi premi Invio per continuare con l’installazione.

Puoi eliminare il file dell’archivio che hai scaricato in precedenza:

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

Adesso puoi eseguire nuovamente il comando alternatives e dovresti vedere una terza opzione per utilizzare 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:

I passaggi in questo tutorial dovrebbero essere sufficienti per installare ed eseguire qualsiasi versione disponibile di Java a seconda del tuo caso d’uso.

Conclusione

In questo tutorial, hai installato e gestito più versioni di Java utilizzando il gestore di pacchetti yum, il comando alternatives e le variabili d’ambiente. Questi sono tutti aspetti fondamentali della gestione dell’ambiente Linux, e Java fornisce un esempio particolarmente buono per lavorare con essi a causa delle sue molte versioni diverse.

Successivamente, potresti voler imparare come utilizzare Java in altri contesti.

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