Einführung
In diesem Tutorial wird gezeigt, wie Sie Java auf aktuellen Versionen von RPM-basierten Linux-Distributionen installieren: Red Hat Enterprise Linux, CentOS, Fedora und Rocky Linux. Java ist eine beliebte Programmiersprache und Softwareplattform, die es ermöglicht, viele serverseitige Anwendungen auszuführen.
Dieses Tutorial umfasst die Installation der neuesten, standardmäßigen Version von Java sowie die Auswahl älterer Versionen für die Installation und das Wechseln zwischen mehreren Versionen in Ihrer Umgebung bei Bedarf.
Voraussetzungen
Bevor Sie mit dieser Anleitung beginnen, sollten Sie einen regulären, nicht-root Benutzer mit sudo
-Berechtigungen auf Ihrem Server konfiguriert haben – dies ist der Benutzer, mit dem Sie sich auf Ihrem Server anmelden sollten. Sie können lernen, wie Sie ein reguläres Benutzerkonto konfigurieren, indem Sie den Schritten in unserer Anleitung zur Einrichtung eines Servers unter Rocky Linux 8 folgen.
Schritt 1 – Installation von OpenJDK
Es gibt drei verschiedene Ausgaben der Java-Plattform: Standard Edition (SE), Enterprise Edition (EE) und Micro Edition (ME). Dieses Tutorial konzentriert sich auf Java SE (Java Platform, Standard Edition). Fast alle Open-Source-Java-Software ist darauf ausgelegt, mit Java SE zu laufen.
Es gibt zwei verschiedene Java SE-Pakete, die installiert werden können: die Java Runtime Environment (JRE) und das Java Development Kit (JDK). JRE ist eine Implementierung der Java Virtual Machine (JVM), die es ermöglicht, kompilierte Java-Anwendungen und Applets auszuführen. Das JDK enthält neben der JRE auch andere Software, die zum Schreiben, Entwickeln und Kompilieren von Java-Anwendungen und Applets benötigt wird.
Es gibt auch zwei verschiedene Implementierungen von Java: OpenJDK und Oracle Java. Beide Implementierungen basieren größtenteils auf demselben Code, aber OpenJDK, die Referenzimplementierung von Java, ist vollständig Open Source, während Oracle Java einige proprietäre Codes enthält. Die meisten Java-Anwendungen funktionieren problemlos mit beiden, aber Sie sollten die Implementierung verwenden, die Ihre Software erfordert.
Sie können verschiedene Versionen und Releases von Java auf einem einzigen System installieren, aber die meisten Menschen benötigen nur eine Installation. In diesem Sinne versuchen Sie nur, die Version von Java zu installieren, die Sie benötigen, um Ihre Anwendung(en) auszuführen oder zu entwickeln.
Dieser Abschnitt zeigt Ihnen, wie Sie die vorgefertigten OpenJDK-JRE- und JDK-Pakete mithilfe des yum
-Paketmanagers installieren. yum
ist der Standard-Paketmanager für Distributionen, die RPM-Pakete verwenden.
Um OpenJDK mit yum zu installieren, können Sie sudo yum install java
ausführen:
Standardmäßig wird versucht, java
ohne Angabe einer Version zu installieren, was zur stabilsten Version des OpenJDK JRE führt. Wie Sie aus dieser Ausgabe ersehen können, ist das zum Zeitpunkt dieser Abfassung 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
…
Es werden auch mehrere Abhängigkeiten zusammen mit Java bereitgestellt. Bei der Bestätigungsaufforderung geben Sie y
ein und drücken Sie dann die Eingabetaste, um mit der Installation fortzufahren. Möglicherweise werden Sie auch aufgefordert, die Signierschlüssel für die Repositorys zu akzeptieren, aus denen Sie installieren:
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]:
Geben Sie y
ein und drücken Sie erneut die Eingabetaste.
Sie sollten nun eine funktionierende Java-Installation haben. Um dies zu bestätigen, können Sie java -version
ausführen, um die Version von Java zu überprüfen, die jetzt in Ihrer Umgebung verfügbar ist:
Hinweis: In den meisten Fällen werden Befehlszeilenargumente durch einen Bindestrich für einbuchstabige Argumente oder zwei Bindestriche für mehrbuchstabige Argumente vorangestellt. Java folgt einer anderen Konvention und verwendet einen Bindestrich für alle Argumente, in diesem Fall -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)
Die Interaktionen zwischen den Java-Namenskonventionen und den Namenskonventionen für Linux-Pakete können etwas verwirrend sein. Früher in diesem Tutorial haben wir den Unterschied zwischen der vollständigen JDK-Umgebung für die Entwicklung und der JRE-Umgebung zum Ausführen von Java-Anwendungen geklärt. Obwohl OpenJDK der Name der Open-Source-Distribution von Java ist, haben Sie tatsächlich nur die OpenJDK JRE installiert. Um das vollständige OpenJDK JDK zu installieren, sollten Sie das entsprechende Paket mit -devel
am Ende seines Namens installieren. Dies ist eine gängige Konvention für Entwicklungspakete für andere Programmierumgebungen, der auch Java folgt, obwohl die Terminologie hier ungeschickt überlappt.
Wie zuvor können Sie java-devel
installieren, um die Standardversion zu erhalten, oder java-1.8.0-openjdk-devel
angeben:
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]:
Nach der Installation dieses Pakets sollten Sie eine vollständige OpenJDK-Umgebung haben, mit der Sie jede Java-Software kompilieren und ausführen können, die keine spezifischen Versionsinkompatibilitäten aufweist. Im nächsten Abschnitt werden Sie andere Versionen von Java installieren und verwalten.
Schritt 2 – Installation anderer OpenJDK-Versionen
In letzter Zeit hat OpenJDK sein Versionsnummernschema geändert, um enger mit den Oracle Java-Versionen zu korrespondieren. Um eine neuere Version von OpenJDK zu installieren, können Sie die Versionsnummer im Paketnamen angeben, genau wie bei 1.8.0
. Zum Beispiel, um OpenJDK 17 zu installieren, können Sie yum install java-17-openjdk
verwenden:
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
…
Wie zuvor können Sie die komplette JDK-Umgebung installieren, indem Sie -devel
an den Paketnamen anhängen. Nachdem dies geschehen ist, verwenden jedoch weiterhin die ausgeführten java
-Programme standardmäßig die OpenJDK-Version 1.8.0, die Sie zuvor installiert haben, was Sie erneut mit java -version
bestätigen können:
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)
Im nächsten Schritt werden Sie installierte Java-Versionen verwalten.
Schritt 3 – Festlegen Ihrer Standard-Java-Version
Wenn Sie mehrere Java-Versionen installiert haben, möchten Sie möglicherweise eine davon als Standard festlegen (d.h. diejenige, die ausgeführt wird, wenn ein Benutzer das java
-Kommando ausführt). Darüber hinaus erfordern einige Anwendungen, dass bestimmte Umgebungsvariablen gesetzt werden, um festzulegen, welche Java-Installation verwendet werden soll.
Das alternatives
-Kommando, das Standardbefehle über symbolische Links verwaltet, kann verwendet werden, um die Standard-Java-Version auszuwählen. Um die verfügbaren Java-Versionen aufzulisten, die von alternatives
verwaltet werden können, verwenden Sie alternatives --config java
:
Die Ausgabe sollte beide installierten Java-Versionen auflisten, die Sie haben:
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:
Geben Sie die Auswahlnummer ein, um festzulegen, welches java
-Ausführungsprogramm standardmäßig verwendet werden soll. Es werden die erforderlichen symbolischen Verknüpfungen auf Ihrem System neu angeordnet, um sicherzustellen, dass der java
-Befehl auf den richtigen Satz von Bibliotheken zeigt. Sie können diesen Befehl bei Bedarf erneut ausführen, und die Ausgabe von java -version
sollte entsprechend geändert werden:
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)
Viele Java-Anwendungen verwenden auch die Umgebungsvariablen JAVA_HOME
oder JRE_HOME
, um festzulegen, welches java
-Ausführungsprogramm verwendet werden soll.
Zum Beispiel, wenn Sie Java unter (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin
installiert haben (d. h. Ihr java
-Ausführungsprogramm befindet sich unter <^>(/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-2.el8_5.x86_64/jre/bin/java
), könnten Sie Ihre Umgebungsvariable JAVA_HOME
in einer Bash-Shell oder einem Skript wie folgt setzen:
Hinweis: Die Umgebungsvariable JAVA_HOME
bevorzugt, dass Sie den Pfad zu Ihrer Java-Installation mit dem Verzeichnis /jre
am Ende angeben. Diese Konvention kann sich von einer Variable zur nächsten ändern, daher ist es am besten, Beispiele sorgfältig zu überprüfen, wenn Sie Änderungen vornehmen.
Wenn Sie möchten, dass JAVA_HOME
standardmäßig für jeden Benutzer im System festgelegt wird, fügen Sie die vorherige Zeile der Datei /etc/environment
hinzu. Sie können sie mit der Shell-Umleitung echo
und >>
an die Datei anhängen, um die /etc/environment
-Datei nicht direkt bearbeiten zu müssen, indem Sie diesen Befehl ausführen:
Im nächsten Schritt installieren Sie das proprietäre Java von Oracle neben Ihren OpenJDK-Versionen.
Schritt 4 – Installation von Oracle Java
Dieser Abschnitt des Leitfadens zeigt Ihnen, wie Sie Oracle Java JRE und JDK (64-Bit), die neueste Version dieser Pakete zum Zeitpunkt der Erstellung dieses Textes, installieren.
Hinweis: Wenn Sie das interaktive Terminal auf dieser Seite verwenden, können Sie Oracle Java nicht in die Umgebung herunterladen und installieren.
Im Verlauf dieses Abschnitts verwenden wir das wget
-Befehl, um die Oracle Java-Softwarepakete herunterzuladen. wget
ist möglicherweise nicht standardmäßig in Ihrer Linux-Distribution enthalten. Um fortzufahren, müssen Sie es installieren, indem Sie Folgendes ausführen:
Sie müssen die Lizenzvereinbarung für den Oracle Binary Code für Java SE akzeptieren, was einer der enthaltenen Schritte ist, bevor Sie Oracle Java installieren.
Hinweis: Um Oracle Java zu installieren, müssen Sie zur Oracle Java-Downloadseite gehen, die Lizenzvereinbarung akzeptieren und den Download-Link des entsprechenden Linux x86 .rpm
-Pakets kopieren. Ersetzen Sie den kopierten Download-Link anstelle des markierten Teils des wget
-Befehls.
Wechseln Sie in Ihr Home-Verzeichnis und laden Sie das Oracle Java RPM mit diesen Befehlen herunter:
Anschließend installieren Sie das RPM mit yum localinstall
(falls Sie eine andere Version heruntergeladen haben, ersetzen Sie hier den Dateinamen):
Bei der Bestätigungsaufforderung geben Sie y
ein und drücken Sie dann die Eingabetaste, um mit der Installation fortzufahren.
Sie können die zuvor heruntergeladene Archivdatei löschen:
Sie können jetzt den Befehl alternatives
erneut ausführen, und Sie sollten eine dritte Option sehen, um Oracle Java zu verwenden:
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:
Die Schritte in diesem Tutorial sollten ausreichen, um je nach Anwendungsfall eine beliebige verfügbare Version von Java zu installieren und auszuführen.
Abschluss
In diesem Tutorial haben Sie mehrere Versionen von Java mithilfe des Paketmanagers yum
, des Befehls alternatives
und Umgebungsvariablen installiert und verwaltet. Dies sind alles grundlegende Aspekte des Linux-Umgebungsmanagements, und Java bietet ein besonders gutes Beispiel für die Arbeit damit aufgrund seiner vielen verschiedenen Versionen.
Als nächstes möchten Sie möglicherweise lernen, wie Sie Java in anderen Kontexten verwenden.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-java-on-centos-and-fedora