HowTo: Oracle (sun) Java 7 – Installation unter Debian 6 Squeeze + Wheezy

java

Da Oracle mal wieder glaubt einen auf “Wichtig” machen zu müssen und die Lizenzbestimmungen ständig ändert gibt es für Java 7 auch keine non-free Pakete in den Standard Debian Mirrors mehr. Eine Installation von Oracle (Sun) Java 7 unter Debian Squeeze und Wheezy wird daher manuell durchgeführt:

Letztes Update: 23.04.2013 (Java 7 Upgrade 21)

1. Download des richtigen Java 7 Packages

Im ersten Schritt müssen wir das passende Java 7 Package 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 JRE aus, da es mittlerweile doch die gängigste Variante sein sollte.

Downloadlink: Download der JRE Version für Linux (tar.gz) 64bit:

Java Download 7u21

Leider will Oracle direkt vor dem Download die Lizenz bestätigt haben wodurch wir leider nicht direkt über wget downloaden können. Somit bleibt es uns nicht erspart den Download über einen Browser zu starten.

Die downgeloadete Datei (jre-7u15-linux-x64.tar.gz) wird anschließend auf den zu installierenden Server ins Verzeichnis /usr/src kopiert

Java 7 Package entpacken und installieren

cd /usr/src
tar -xzvf jre-7u21-linux-x64.gz

Wir schieben das Java Verzeichnis nun an seinen richtigen Platz: /usr/lib64/jvm/ (bei 32bit nach /usr/lib/jvm)

mkdir /usr/lib64/jvm
mv /usr/src/jre1.7.0_21 /usr/lib64/jvm/

…und setzen den Symlink /usr/lib64/java-7-oracle auf die aktuellste Version. Dieser Vorgang erleichtert später ein Upgrade auf eine neue Java Version.

ln -s /usr/lib64/jvm/jre1.7.0_21/ /usr/lib64/jvm/java-7-oracle

Abschließend geben wir unserem Debian die Anweisung Java 7 zu verwenden.

update-alternatives --install "/usr/bin/java" "java" "/usr/lib64/jvm/java-7-oracle/bin/java" 1

Java 7 Installation testen

Mit folgendem Befehl wird die installierte Java Version überprüft:

java -version

Output:

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b03)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

Java 7 Upgrade (minor Release)

Da 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.

cd /usr/src
tar -xzvf jre-7u21-linux-x64.gz

Das Java Verzeichnis wird nun, wie bei der älteren Java Installation an seinen richtigen Platz geschoben: /usr/lib64/jvm/ (bei 32bit nach /usr/lib/jvm…

mv /usr/src/jre1.7.0_21 /usr/lib64/jvm/

Das /usr/lib64/jvm Verzeichnis könnte nun ähnlich wie hier aussehen (ls -la):

java-7-oracle -> /usr/lib64/jvm/jre1.7.0_11/
jre1.7.0_07
jre1.7.0_11
jre1.7.0_15

Es sind nun also mindestens zwei Java Installation vorhanden (in meinem Beispiel sogar 3). java-7-oracle wird als Symbolischer Link auf jre1.7.0_11 dargestellt. Wird der Symlink nun auf die neue Version gelegt, so wird auch die neue Java Version verwendet:

rm /usr/lib64/jvm/java-7-oracle
ln -s /usr/lib64/jvm/jre1.7.0_21/ /usr/lib64/jvm/java-7-oracle

Ein “java -version” sollte dann die aktuellste Java Version ausgeben.

Upgrade von Java 6 auf Java 7

Falls bereits eine ältere Java Version (zB:. java-6-sun)  installiert ist, kann mit folgendem Befehl die Version geändert werden:

update-alternatives --config java

Output:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                   Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-sun/jre/bin/java    63        auto mode
  1            /usr/lib/jvm/java-6-sun/jre/bin/java    63        manual mode
* 2            /usr/lib64/jvm/java-7-oracle/bin/java   1         manual mode

Press enter to keep the current choice[*], or type selection number: 

Umgebungsvariable $JAVA_HOME für Java 7 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…

vi /etc/profile

…um folgende 2 Zeilen:

JAVA_HOME="/usr/lib64/jvm/java-7-oracle"
export JAVA_HOME

Damit die Umgebungsvariable aktiviert wird, könnt ihr das System rebooten oder folgendes Kommando ausführen:

source /etc/profile

Um zu überprüfen, ob die Variable auch tatsächlich gesetzt wurde verwenden wir diesen Befehl

echo $JAVA_HOME

Die Ausgabe sollte dann wie folgt aussehen

/usr/lib64/jvm/java-7-oracle
HowTo: Oracle (sun) Java 7 - Installation unter Debian 6 Squeeze + Wheezy, 4.8 out of 5 based on 23 ratings
GD Star Rating
loading...

Tags: , , , , , , , ,

Montag, 06. August 2012 Linux Author: Patrick

23 Kommentare zum Thema HowTo: Oracle (sun) Java 7 – Installation unter Debian 6 Squeeze + Wheezy

  • ted sagt:

    habe kein standard Browser bei Java Anwendungen.

    Alle anderen Anwendungen z.B. Icedove, pidgin u.s.w öffnen links korrekt im standard Browser

    Wo kann ich das für Java definieren …. vielleicht irgendwas mit “export……” ?

    a.) mit meinem Standard user – JAVA APP unter Fluxbox funktioniert NICHT
    b.) Mit neuen user – JAVA APP unter Fluxbox FUNKTIONIERTS !

    ich denke das das ist irgend eine UserSpace umgebungs Variable, aber welche ?

  • ted sagt:

    Hoi,egal welches Java APP, ich bekomm Meldung wie “error attempting to launch web browswer: Failed to show URI:http://…” , hast du Idee welches cache?

  • Michael sagt:

    Hallo Ted,

    danke für das gute Tutorial,
    Ich habe das ganze für 32Bit mit der i586 version von Sun/Oracle versucht. Deshalb auch /usr/lib anstatt /usr/lib64 benutzt. Ich bekomme nach den Schritten immer folgende Fehlermeldung:

    user@computer:/etc/alternatives$ java -version
    -bash: /usr/bin/java: Kann die Datei nicht ausführen.
    user@computer:/etc/alternatives$

    Alle Dateien und Links zu /usr/lib/jvm/jre1.7.0_07/bin/java haben x-Recht. Was kann ich tun?

  • Max sagt:

    Hallo zusammen,

    das Tutorial ist sehr gut und funktioniert wunderbar.

    Recht vielen Dank

    VG Max

  • Eine super Anleitung!

    Aber: Man kann es – entgegen deiner Aussage – auch mit wget herunterladen – einfach die Präfix –no-check-certificate anhängen:

    wget [link] –no-check-certificate

    Grüße!

    • Patrick sagt:

      Hallo Pascale,

      Danke für den Tipp, aber ich frage mich welchen Link du zum Download via wget verwendest?
      via: http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jre-7u9-linux-x64.tar.gz funktionierts leider nicht

      Gruß
      Patrick

      • Das funktioniert so tatsächlich nicht, aber das sorgt dafür, dass das Zertifikat nicht serverseitig überprüft wird. Das Problem bei der Oracle-Seite ist, dass man es ohne die Akzeptierung der Lizenzen nicht herunterladen kann – deshalb funktioniert es auch sowieso nicht mit wget.

        Man kann es so wie ich es geschrieben habe zwar herunterladen, aber die Datei ist dann beschädigt – bringt also auch nichts.

        Verzeihung!

        • Steveinho sagt:

          Es ist sehr gut möglich die Date per wget zu holen. Die betreffende Datei downloaden, dann den Downloadlink kopieren und mit wget Datei holen lassen. Dann das Dateiformat anpassen/umbennen und schon ist es vollständig und unbeschädigt runtergeladen.

  • b0cki sagt:

    Vielen Dank!
    Hier wird einmal richtig von A-Z beschrieben, so dass man als Anfänger alles gut nachvollziehen und lernen kann!
    Weiter so!

  • Luis sagt:

    Hervorragend und gut verständlich erklärt!
    Vielen Dank dafür!

  • [...] Wer auf dem Server auch Programme compiliern will besorgt sich ein jdk. Für die Installatin von Java 7 verweise ich auf einen ausgezeichneten Blog Beitrag von SysadminsLife [...]

  • Christian sagt:

    Hallo, ich scheitere jedesmal bei der Versionsprüfung.
    bei “java -version” kommt immer “-bash: /usr/bin/java: No such file or directory”. ich ab das Tutorial jetz bestimmt 5mal durchgelesen und befolgt aber immer kommt der selbe Fehler. Weiß denn keiner eine Lösung?

  • Daniel sagt:

    Herzlichen Dank für diese tolle Seite!

    Die Infos sind umfassend, stimmig und treffen genau meine Bedürfnisse.
    Außerdem ist das Design klasse!

    Weiter so!

    Vielen Dank und viele Grüße
    Daniel

  • Doro sagt:

    Hallo,

    super Tutorial, vielen Dank dafür! kleiner Hinweis für alle bei denen nach dem Tutorial beim Test mit java -version eine falsche Version erscheint: das kann daran liegen dass man eventuell mehere java versionen installiert hat, helfen tut hier der Befehl:
    update-alternatives –config java

    Grüße
    Doro

  • Chaos sagt:

    Wäre es möglich, die aktuellste JRE/JDK zu bennen? denn das 7u15 ist schon ziemlich veraltet :) .

    Ansonsten … sehr gutes HowTo, sollte man mal in diversen Foren pinnen :) *thumbsup*

    • Patrick sagt:

      Hallo Chaos,

      den Artikel immer auf den aktuellsten Stand zu halten ist leider sehr viel Arbeit. Oracle gibt mittlerweile fast wöchentlich ein Update heraus. Die Guide kann ich leider dann nicht immer gleich anpassen.

      Aber habe gerade auf die Version 7u21 upgedated.

      Gruß
      Patrick

      • Chaos sagt:

        Danke dir :) .

        Naja, muss ja nun auch nicht jede Woche sein, aber nach so 14-21 Tagen, sprich einmal im Monat, kann man ja mal nen Blick riskieren, da alles andere ja total übertrieben wäre ^^.

        Gruß
        Chaos

      • Chaos sagt:

        Huhu Patrick,

        ich hab nen dist-upgrade auf Wheezy gemacht (eigentlich versehentlich) und nun ist der /lib64 wech und java nur in /lib als x86_64 ist ja nen Ding der Unmöglichkeit.

        Wurde ich jetzt etwa auf nen 32bit system runtergeschossen? Immerhon läuft mein TS3 ja als 64bit Version ohne “Wenn und Aber”.

        Hoffentlich kannst Du mir da behilflich sein, damit ich Java wieder zum laufen bekomme :)

        • Patrick sagt:

          Hallo Chaos,

          wie sieht denn deine /usr/lib* Struktur nun aus?
          Normalerweise ist unter 64 bit Systemen /usr/lib64 nur ein Symlink auf /usr/lib.

          Also so viel sollte hier nicht falsch gelaufen sein ;)

          Hast du vielleicht die Multiarch Funktion aktiviert?

          Gruß
          Patrick

          • Chaos sagt:

            Nicht, dass ich wüsste.

            Einfach nur apt-get update && apt-get upgrade gemacht, danach noch apt-get dist-upgrade und schwupp war wheezy drauf.

            Der Symlink fehlt leider in /usr/ aber dafür ist /lib und /lib64 da (o0).

  • Leave a Reply

    rssfeed google+ youtube
    Hosting-Lösungen (VPS, Dedicated Server, Webspace und Colocation) von Contabo

    Subscribe to our mailing list

    * indicates required Email Adresse *
    Blogverzeichnis - Blog Verzeichnis bloggerei.de
    Werbung schalten

    *=Affiliatelink