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: 22.01.2014 (Java 7 Upgrade 51)

1. Download des richtigen Java 7 Packages (JRE / Server JRE / JDK)

Im ersten Schritt müssen wir das passende Java 7 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.

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

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-7u51-linux-x64.tar.gz) wird anschließend auf den zu installierenden Server ins Verzeichnis /usr/src kopiert.

Update 09.09.2013: Durch den Tipp von “pfender” in den Kommentaren, kann das Java Paket auch via wget heruntergeladen werden. Das Zauberwort heisst hier “Cookie”.

Java 7 auf der Command Line via wget downloaden

Download der JDK 64bit Variante 7.51:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" "http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz"

Download der JDK 32bit Variante 7.51:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" "http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.tar.gz"

Download der JRE 64bit Variante 7.51:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" "http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-x64.tar.gz"

Download der JRE 32bit Variante 7.51:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" "http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-i586.tar.gz"

Java 7 Package entpacken und installieren

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

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

mkdir /usr/lib/jvm
mv /usr/src/jre1.7.0_51 /usr/lib/jvm/

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

ln -s /usr/lib/jvm/jre1.7.0_51/ /usr/lib/jvm/java-7-oracle

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

update-alternatives --install "/usr/bin/java" "java" "/usr/lib/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_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-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-7u51-linux-x64.tar.gz

Das Java Verzeichnis wird nun, wie bei der älteren Java Installation an seinen richtigen Platz geschoben: /usr/lib/jvm/

mv /usr/src/jre1.7.0_51 /usr/lib/jvm/

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

java-7-oracle -> /usr/lib/jvm/jre1.7.0_25/
jre1.7.0_21
jre1.7.0_25
jre1.7.0_45

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_25 dargestellt. Wird der Symlink nun auf die neue Version gelegt, so wird auch die neue Java Version verwendet:

rm /usr/lib/jvm/java-7-oracle
ln -s /usr/lib/jvm/jre1.7.0_51/ /usr/lib/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/lib/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/lib/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/lib/jvm/java-7-oracle
HowTo: Oracle (sun) Java 7 - Installation unter Debian 6 Squeeze + Wheezy, 4.9 out of 5 based on 42 ratings
GD Star Rating
loading...
Patrick Schoyswohl

Patrick Schoyswohl

Systemadministrator
Hallo, mein Name ist Patrick Schoyswohl und ich bin Systemadministrator in einer Agentur für neue Medien und seit 2009 Betreiber und leidenschaftlicher Blogger von SysADMINsLife.com. Meine Leidenschaft gehört den Webservern und der Serverüberwachung auf Open-Source Basis. Falls du gefallen an meinen Artikel hast, kannst du mir gerne auf Google+, Facebook oder Twitter folgen.
Patrick Schoyswohl
Wer von euch hat #ebay gekillt „DNS failure" - 1 Woche ago
Patrick Schoyswohl
Patrick Schoyswohl

Latest posts by Patrick Schoyswohl (see all)

Tags: , , , , , , , ,

Montag, 06. August 2012 Linux Author: Patrick Schoyswohl

41 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!

  • 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).

  • Willi sagt:

    Anleitung funktioniert leider nicht :-(
    root@srv:/usr/lib64/jvm/java-7-oracle/bin# uname -m
    i686
    …also 64bit Version…
    Alles nach Anleitung installiert, dann Versionscheck
    root@srv:/usr/lib64/jvm/java-7-oracle/bin# ./java -version
    -bash: ./java: cannot execute binary file
    root@srv:/usr/lib64/jvm/java-7-oracle/bin# java -version
    -bash: /usr/bin/java: cannot execute binary file
    root@srv:/usr/lib64/jvm/java-7-oracle/bin#
    Auch die direkte Ausführung scheitert…

  • Nicki sagt:

    Vielen Dank! Endlich geht es auch bei mir.
    Weiter so.
    viele Grüße!

  • Ben sagt:

    vielen Dank für den Hinweis mit dem Cookie zum runterladen von Java.

  • Rewur sagt:

    Vielen Dank für die Hilfe
    schade das du keinen Flattr Button hast

  • Hi,super Anleitung die auch gut funktioniert unter Debian 6 und 7!
    Man sollte wenn man bereits OpenJDK hat, dieses apt-get removen, da sonst das update-alternatives nicht funktioniert.
    Bei dem einen wget ist hinten ein ” zuviel! ++

  • THEMonk sagt:

    Danke für das Tutorial, hat mir schon oft geholfen!

  • tgs sagt:

    Danke fuer die klasse Anleitung!
    Habe heute Java 7 unter Debian 7 auf einem dedizierten Root Server mit Hilfe dieser Anleitung erfolgreich installiert.

    Was mich aber noch interessiert: Woher bekommt man den downloadlink fuer die aktuelle Java Version?

  • Liquid sagt:

    Mir ist aufgefallen das es zwischen download-datei und der zu entpackenden datei einen unterschied gibt :

    Download : jre-7u45-linux-x64.tar.gz
    Entpacken : jre-7u45-linux-x64.gz

    Bei mir hat das logischerweise so nicht funktioniert ;)

    Ansonsten top tutorial, habe mir einen bashscript daraus erstellt um in der zukunft alles per double-click zu machen :D

    Mein System : Debian 7 wheezy

  • Liquid sagt:

    Hmmm…also ganz oben ist der kleine unterschied immernoch(fehlendes “tar”).

    Java 7 auf der Command Line via wget downloaden :
    …/jre-7u45-linux-x64.tar.gz”
    Java 7 Package entpacken und installieren :
    cd /usr/src
    tar -xzvf jre-7u45-linux-x64.???.gz

    Wieso mein erstes “Reply” gelöscht wurde frag ich jetz nicht ;)
    Oder ist das nur bei mir so ?

  • Gabriel sagt:

    Vielen Dank für die Anleitung, hat alles super geklappt!
    Bin gerade dabei, das Einrichten Virtueller Maschinen mit Ansible zu automatisieren. Hier ist der Link zu meinem Ansible Playbook:
    https://gist.github.com/gbirke/8314571

  • Leave a Reply

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

    Subscribe to our mailing list

    * indicates required Email Adresse *
    Werbung schalten

    *=Affiliatelink

    Blogverzeichnis - Blog Verzeichnis bloggerei.de