Anleitung zur Installation von Oracle Java 8 unter Debian Wheezy und Upgrade von Java 7 auf Java 8 mit wenigen Schritten:
1. Download des richtigen Java 8 Packages (JRE / Server JRE / JDK)
Im ersten Schritt müssen wir das passende Java 8 Package (JRE / Server JRE / JDK) von der Oracle Webseite downloaden. Dazu ist es wichtig ob wir ein 64bit oder ein 32bit basiertes Debian benutzen. Mit dem Befehl „uname -m“ könnt ihr herausfinden welche Version installiert ist. Ich gehe in meiner Anleitung von einer 64bit Version aus, da es mittlerweile doch die gängigste Variante sein sollte. Bei der Server JRE Version gibt es ohnehin nur mehr 64 bit, welche ich auch empfehle.
Downloadlink: Download der JAVA JRE / Server JRE / JDK Version für Linux (tar.gz) 64bit:
Die downgeloadete Datei (jre-8xxxx-linux-x64.tar.gz) wird anschließend auf den zu installierenden Server ins Verzeichnis /usr/src kopiert.
Java 8 auf der Command Line Shell via wget downloaden
Download der Server JRE 64bit Variante 8.25:
[bash]wget –no-cookies –no-check-certificate –header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u25-b17/server-jre-8u25-linux-x64.tar.gz"[/bash]Download der JDK 64bit Variante 7.72:
[bash]wget –no-cookies –no-check-certificate –header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.tar.gz"[/bash]Download der JDK 32bit Variante 7.72:
[bash]wget –no-cookies –no-check-certificate –header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-i586.tar.gz"[/bash]Download der JRE 64bit Variante 8.25:
[bash]wget –no-cookies –no-check-certificate –header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jre-8u25-linux-x64.tar.gz"[/bash]Download der JRE 32bit Variante 8.25:
[bash]wget –no-cookies –no-check-certificate –header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jre-8u25-linux-i586.tar.gz"[/bash]Java 8 Server JRE Package entpacken und installieren
In meinem Beispiel verwende ich die Server Version. Jede andere Version wird aber auf die gleiche Art und Weise installiert. Die Dateinamen ändern sich dementsprechend.
[bash]cd /usr/srctar -xzvf server-jre-8u25-linux-x64.tar.gz[/bash]
Wir schieben das Java Verzeichnis nun an seinen richtigen Platz: /usr/lib/jvm/ (bei 32bit nach /usr/lib/jvm)
[bash]mkdir /usr/lib/jvmmv /usr/src/jdk1.8.0_25 /usr/lib/jvm[/bash]
…und setzen den Symlink /usr/lib/java-8-oracle auf die aktuellste Version. Dieser Vorgang erleichtert später ein Upgrade auf eine neue Java Version.
[bash]ln -s /usr/lib/jvm/jdk1.8.0_25/ /usr/lib/jvm/java-8-oracle[/bash]Abschließend geben wir unserem Debian die Anweisung Java 8 zu verwenden.
[bash]update-alternatives –install "/usr/bin/java" "java" "/usr/lib/jvm/java-8-oracle/bin/java" 1[/bash]Java 7 Installation testen
Mit folgendem Befehl wird die installierte Java Version überprüft:
[bash]java -version[/bash]Output:
[bash]java version "1.8.0_25"Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)[/bash] [sam id=“2″ codes=“true“]
Java 8 Upgrade (minor Release)
Da Oracle Java leider ziemlich viele Sicherheitslücken beinhaltet empfiehlt es sich die Version stets aktuell zu halten und Aktualisierungen der Java Installationen durchzuführen. Ein Upgrade auf die nächste Version ist, dank der einfachen Installation mit der Hilfe des Symlinks, überhaupt kein Problem und sehr schnell durchzuführen.
Dazu wird die neue Java Version heruntergeladen und wie bei der Installation in das Verzeichnis /usr/src entpackt.
[bash]cd /usr/srctar -xzvf server-jre-8u25-linux-x64.tar.gz[/bash]
Das Java Verzeichnis wird nun, wie bei der älteren Java Installation an seinen richtigen Platz geschoben: /usr/lib/jvm/
[bash]mv /usr/src/jdk1.8.0_25 /usr/lib/jvm[/bash]Das /usr/lib/jvm Verzeichnis könnte nun ähnlich wie hier aussehen (ls -la):
[bash]java-7-oracle -> /usr/lib/jvm/jdk1.8.0_12/jdk1.8.0.5
jdk1.8.0_12
jdk1.8.0_25[/bash]
Es sind nun also mindestens zwei Java Installation vorhanden (in meinem Beispiel sogar 3). java-8-oracle wird als Symbolischer Link auf jdk1.8.0.12 dargestellt. Wird der Symlink nun auf die neue Version gelegt, so wird auch die neue Java Version verwendet:
[bash]rm /usr/lib/jvm/java-8-oracleln -s /usr/lib/jvm/jdk1.8.0_25/ /usr/lib/jvm/java-8-oracle[/bash]
Ein „java -version“ sollte dann die aktuellste Java Version ausgeben.
Upgrade von Java 7 auf Java 8
Falls bereits eine ältere Java Version (zB:. java-6-sun oder java-7-oracle) installiert ist, kann mit folgendem Befehl die Version geändert werden:
[bash]update-alternatives –config java[/bash]Output:
[bash]There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status
————————————————————
* 0 /usr/lib/jvm/java-7-oracle/bin/java 1 auto mode
1 /usr/lib/jvm/java-7-oracle/bin/java 1 manual mode
2 /usr/lib/jvm/java-8-oracle/bin/java 1 manual mode
Press enter to keep the current choice[*], or type selection number: 2[/bash]
Umgebungsvariable $JAVA_HOME für Java 8 setzen
Viele Anwendungen setzen voraus, dass auch die Umgebungsvariable JAVA_HOME (environment variable) gesetzt wird. Dazu editieren wir die File /etc/profile und ergänzen diese…
[bash]vi /etc/profile[/bash]…um folgende 2 Zeilen:
[bash]JAVA_HOME="/usr/lib/jvm/java-8-oracle"export JAVA_HOME[/bash]
Damit die Umgebungsvariable aktiviert wird, könnt ihr das System rebooten oder folgendes Kommando ausführen:
[bash]source /etc/profile[/bash]Um zu überprüfen, ob die Variable auch tatsächlich gesetzt wurde verwenden wir diesen Befehl
[bash]echo $JAVA_HOME[/bash]Die Ausgabe sollte dann wie folgt aussehen
[bash]/usr/lib/jvm/java-8-oracle[/bash]
Warum so umständlich? Mit make-jpkg aus dem Pakte java-package wid ein deb erstellt.
Also bei Windows muss man nur ein-zwei Doppelklicks machen 😀
Vielen Dank für das tolle Tutorial.
Mir ist aufgefallen das unter dem Punkt „Java 8 Server JRE Package entpacken und installieren“ beim Verschieben der Dateien folgendes steht:
“
Wir schieben das Java Verzeichnis nun an seinen richtigen Platz: /usr/lib/jvm/ (bei 32bit nach /usr/lib/jvm)“
So wie es da steht, ist der Pfad für 32/64bit doch identisch oder hat sich da ein Fehler eingeschlichen ?
Falls ich etwas falsch verstanden habe kann dieser Post einfach gelöscht werden.
Mach so weiter !
Danke für die Anleitung, hat mir weiter geholfen.
Gruß
Moriz
Danke, habe nun in 5 Minuten die oracle-jdk installiert gekriegt. Ich frage mich, warum Debian da keine Packages anbietet?! OpenJDK macht nach wie vor zuviele Probleme mit Jira und Konsorten.
Vielen Dank für die Anleitung. 🙂