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
:
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
:
OutputLast 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:
OutputImporting 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:
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
.
Outputopenjdk 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
:
OutputDigitalOcean 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
:
OutputLast 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
:
Outputopenjdk 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
:
L’output dovrebbe elencare entrambe le versioni di Java che hai installato:
outputThere 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:
Outputopenjdk 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:
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:
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:
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:
Quindi installa l’RPM con yum localinstall
(se hai scaricato una versione diversa, sostituisci il nome del file qui):
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:
Adesso puoi eseguire nuovamente il comando alternatives
e dovresti vedere una terza opzione per utilizzare Oracle Java:
outputThere 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