[[Vorlage(Archiviert)]] {{{#!vorlage Warnung Bei Problemen mit einem Howto melde dies bitte in der dazugehörigen Diskussion und wende dich bitte zusätzlich an den Verfasser des Howtos. }}} ## Bitte die Angaben zu dem letzten erfolgreichen Test dieser Anleitung eintragen: {{{#!vorlage Hinweis Diese Howto-Anleitung wurde zuletzt von [user:Timothy Truckle:] am 17.08.2015 unter '''Ubuntu 14.04''' erfolgreich getestet. }}} Derzeit erlauben lizenzrechliche Probleme nicht, die Java-Laufzeitumgebung oder das Java-SDK von Oracle normal über die [:Paketverwaltung:] in ein Linux-System zu integrieren. Für den, der die offizielle von Oracle herausgegeben Java-Version nutzen will oder muss, gibt es daher einige zusätzliche Aufgaben. Der Vorgang ist [https://wiki.ubuntuusers.de/Java/Installation/Oracle_Java/Java_8 hier] beschrieben. Das folgende Script führt die dort beschriebenen notwendigen Aktionen nach dem Herunterladen des Java-Archivs automatisch durch. Die möglicher Weise schon vorhandenen Installationen der Oracle-Java Implementierung werden dabei nicht entfernt, auch nicht ältere Patch-Level der zu installierenden Java-Version. = Skript = Das von einem Anwender mit administrativen Rechten aufzurufende Script [2] * entpackt die als Parameter übergebene Datei nach `/opt/Oracle_Java/` * und aktiviert die neue Java Version im [:Alternativen-System:] Das folgende Skript in einen Editor[1] kopieren und als '''~/bin/set_new_java_Version.sh''' speichern: {{{#!code bash #!/bin/bash if [ -z "$1" ] then echo "usage:" echo $0 path/to/jdk-or-jre.tar.gz echo echo "the parmeter is the (absolute or relavive) path to the file you downloaded from Oracle website." else isJdk=$(echo $1 | grep 'jdk' -m 1 -o ) if [ "$isJdk" = 'jdk' ] then alternatives_files="java javaws javac jar" else alternatives_files="java javaws" fi echo extract $1 to /opt/Oracle_Java ... sudo mkdir -p /opt/Oracle_Java sudo tar -xzf $1 -C /opt/Oracle_Java new_version=/opt/Oracle_Java/$(tar -tzf $1 | grep '^[^/]*' -m 1 -o) echo setting alternatives to new version $new_version ... for f in $alternatives_files do sudo update-alternatives --install "/usr/bin/$f" "$f" "$new_version/bin/$f" 1 sudo update-alternatives --set "$f" "$new_version/bin/$f" done fi }}} Nach dem Speichern muss das Script ausführbar [3] gemacht werden. = Verwendung = == Vorbereitungen == Die gewünschte Java-Version als *.tar.gz von der Oracle-Webseite herunterladen. * [http://www.oracle.com/technetwork/java/javase/downloads/index.html]{dl}{en} == Ausführung == * Ein Terminalfenster (nicht root) öffnen[4] * den Namen des Scripts eintippen, anschließend nach einem Leerzeichen den Namen der Archivdatei mit der Java-Installation angeben. Der Pfad zum Archiv und sein Name müssen passend geändert werden. {{{#!vorlage Befehl ~/bin/set_new_java_Version.sh ~/Downloads/jdk-VERSION-linux-x64.tar.gz }}} Nach dem Start des Scripts fragt das Script (genauer der darin verwendete Befehl '''sudo''') nach dem Passwort des angemeldeten Benutzers, weil die Befehle innerhalb des Scripts mit Rootrechten durchgeführt werden müssen. Wenn der angemeldete Benutzer keine Rootrechte im System hat (oder das Passwort falsch eingibt) werden alle Anweisungen im Script fehlschlagen und es wird keine Änderung am System durchgeführt. # tag: Howto