Java sur Debian ;-)

Vous avez besoin de la JVM Officielle pour de multiple raison ? Debian ne la fournit pas par défaut. Elle utilise OpenJDK qui est la machine virtuelle open-source.

Voici un petit mémo afin d’intégrer le JVM d’Oracle dans un système Debian

1° – Installation des paquets nécessaires

Pour construire notre paquet, nous avons besoin de fakeroot et make-jpkg présent dans les outils java-package :

# apt-get install  fakeroot java-package
Les NOUVEAUX paquets suivants seront installés :
java-package
0 mis à jour, 1 nouvellement installés, 0 à enlever et 152 non mis à jour.
Il est nécessaire de prendre 19,7 ko dans les archives.
Après cette opération, 88,1 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
Réception de : 1 http://debian.proxad.net/debian/ jessie/contrib java-package all 0.53 [19,7 kB]
19,7 ko réceptionnés en 0s (218 ko/s)
Sélection du paquet java-package précédemment désélectionné.
(Lecture de la base de données... 372936 fichiers et répertoires déjà installés.)
Preparing to unpack .../java-package_0.53_all.deb ...
Unpacking java-package (0.53) ...
Processing triggers for man-db (2.6.5-2) ...
Paramétrage de java-package (0.53) ...

2°- Récuper la JDK

Télécharger ensuite la JDK  sur le site d’Oracle http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html dans le répertoire de votre choix.

Je suppose que vous êtes en root pour effectuer tout ce qui suit.

3°- Construction du paquet

Nous allons ensuite créer un paquet .deb à partir de l’archive récupérée chez oracle

○ fakeroot make-jpkg jdk-7u45-linux-x64.tar.gz
Creating temporary directory: /tmp/make-jpkg.FFp8HpGwmL
Loading plugins: /usr/share/java-package/common.sh /usr/share/java-package/javase.sh /usr/share/java-package/jdk-doc.sh /usr/share/java-package/jdk.sh /usr/share/java-package/jre.sh /usr/share/java-package/oracle-jdk-doc.sh /usr/share/java-package/oracle-jdk.sh /usr/share/java-package/oracle-jre.sh

Detected Debian build architecture: amd64
Detected Debian GNU type: x86_64-linux-gnu

Detected product:
Java(TM) Development Kit (JDK)
Standard Edition, Version 7 Update 45
Oracle(TM)
Is this correct [Y/n]: y

Checking free diskspace: done.

In the next step, the binary file will be extracted. Probably a
license agreement will be displayed. Please read this agreement
carefully. If you do not agree to the displayed license terms, the
package will not be built.

Press [Return] to continue:

 

Vous pouvez ignoré les erreurs du type dpkg-shlibdeps: erreur: pas d’information de dépendance trouvée pour /usr/lib/libGL.so.1.

 

Après ça vous avez un jolie paquet debian contenant la JVM  oracle-java7-jdk_7u45_amd64.deb

 

4°- Installation du package java

Ici l’opération est très simple :

dpkg -i oracle-java7-jdk_7u45_amd64.deb
Sélection du paquet oracle-java7-jdk précédemment désélectionné.
(Lecture de la base de données... 372932 fichiers et répertoires déjà installés.)
Preparing to unpack oracle-java7-jdk_7u45_amd64.deb ...
Unpacking oracle-java7-jdk (7u45) ...
Paramétrage de oracle-java7-jdk (7u45) ...
update-alternatives: utilisation de « /usr/lib/jvm/jdk-7-oracle-x64/jre/bin/ControlPanel » pour fournir « /usr/bin/ControlPanel » (ControlPanel) en mode automatique

 

5° – Intégration de JAVA dans le système

Reste plus qu’a mettre java au centre du système :)

Ceci ce fait grâce à update-alternative. Pour chaque commande lancé, choisissez le JDK Oracle :

# update-alternatives --config java
Il existe 3 choix pour l'alternative java (qui fournit /usr/bin/java).

Sélection Chemin Priorité État
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 mode automatique
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 mode manuel
2 /usr/lib/jvm/jdk-7-oracle-x64/jre/bin/java 317 mode manuel
* 3 /usr/local/lib/jdk/bin/java 500 mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :2
update-alternatives: utilisation de « /usr/lib/jvm/jdk-7-oracle-x64/jre/bin/java » pour fournir « /usr/bin/java » (java) en mode manuel

 

# update-alternatives --config javac
Il existe 3 choix pour l'alternative javac (qui fournit /usr/bin/javac).

Sélection Chemin Priorité État
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1071 mode automatique
1 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1071 mode manuel
2 /usr/lib/jvm/jdk-7-oracle-x64/bin/javac 317 mode manuel
* 3 /usr/local/lib/jdk/bin/javac 500 mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :2
update-alternatives: utilisation de « /usr/lib/jvm/jdk-7-oracle-x64/bin/javac » pour fournir « /usr/bin/javac » (javac) en mode manuel

 

# update-alternatives --config javaws
Il existe 3 choix pour l'alternative javaws (qui fournit /usr/bin/javaws).

Sélection Chemin Priorité État
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javaws 1071 mode automatique
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/javaws 1061 mode manuel
2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javaws 1071 mode manuel
3 /usr/lib/jvm/jdk-7-oracle-x64/jre/bin/javaws 317 mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :3
update-alternatives: utilisation de « /usr/lib/jvm/jdk-7-oracle-x64/jre/bin/javaws » pour fournir « /usr/bin/javaws » (javaws) en mode manuel

 

# update-alternatives --config jexec
Il existe 2 choix pour l'alternative jexec (qui fournit /usr/bin/jexec).

Sélection Chemin Priorité État
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jexec 1071 mode automatique
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jexec 1071 mode manuel
2 /usr/lib/jvm/jdk-7-oracle-x64/jre/lib/jexec 317 mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :2
update-alternatives: utilisation de « /usr/lib/jvm/jdk-7-oracle-x64/jre/lib/jexec » pour fournir « /usr/bin/jexec » (jexec) en mode manuel

 

# update-alternatives --config mozilla-javaplugin.so
Il existe 2 choix pour l'alternative mozilla-javaplugin.so (qui fournit /usr/lib/mozilla/plugins/libjavaplugin.so).

Sélection Chemin Priorité État
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so 1071 mode automatique
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so 1071 mode manuel
2 /usr/lib/jvm/jdk-7-oracle-x64/jre/lib/amd64/libnpjp2.so 317 mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :2
update-alternatives: utilisation de « /usr/lib/jvm/jdk-7-oracle-x64/jre/lib/amd64/libnpjp2.so » pour fournir « /usr/lib/mozilla/plugins/libjavaplugin.so » (mozilla-javaplugin.so) en mode manuel

 

6°- Conclusion

Voila :) Vous pouvez contrôler que tout va bien grâce à la commande java -version :

# java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

 

Et également contrôler le plugin dans votre navigateur avec about:config.

Bon JAVA !


Article lu 2336 fois

Laisser un commentaire