Je vais reprendre les modalités d'installation de Java (en pensant réaliser un tutorial pour FC4 ...). La source de référence est l'excellent
tutorial de Stanton Finley .
1- PREALABLES:
FC4 incorpore par défaut une première réalisation d'un Java "libre" (non diffusé par Sun):
gcj. La release note précise cependant:
"Fedora Core 4 users are advised not to use the Java RPM provided by Sun. It contains Provides that conflict with names used in packages provided as part of Fedora Core 4. Because of this, Sun Java might disappear from an installed system during package upgrade operations. Fedora Core 4 users should use either the RPM from jpackage.org or manually install the Sun Java tarball into /opt. Sun Java 1.5+ is recommended for stability purposes."
"Il est recommandé aux utilisateurs de FC4 de ne pas utiliser le rpm Java fourni par Sun. Il contient Provides qui entre en conflit, pour des raisons de nommage, avec les paquetages fournis comme composantes de FC4. Pour cette raison, les composantes Java issues de Sun doivent disparaître de tout système Fedora pendant les opérations de migration (note herrib: FC3 vers FC4). Les utilisateurs de FC4 doivent préférer les rpm de jpackage.org ou installer manuellement l'archive Sun Java dans le répertoire /opt. Sun Java 1.5+ est recommandé pour des raisons de stabilité."
Dès lors, et notamment pour faire tourner des applications sous Java telles que Azureus, il est préférable d'installer Java Sun, en proscrivant l'installation par rpm.
On notera que deux types d'installation peuvent être engagées:
* une installation du plugin Java, pour intégration dans Firefox;
* une installation complète du JRE pour utiliser le compilateur Java, notamment pour faire fonctionner Azureus.
2- PREPARATION:
2.1- téléchargement de l'archive Java Sun JRE
On téléchargera JRE 5.0 Update 4 a minima depuis l'adresse suivante:
http://java.sun.com/j2se/1.5.0/download.jsp
On choisira, après validation de la license Sun, sous "Linux Platform - J2SE(TM) Runtime Environment 5.0 Update 4", (ou version pus récente) l'option "Linux self-extracting file".
On téléchargera dès lors un fichier (exemple: jre-1_5_0_04-linux-i586.bin) en extension *.bin en veillant à le sauvegarder dans un répertoire bien identifié (de préférence /home/repertoire_de_l_utilisateur).
2.2- décompactage de l'archive
Le fichier *.bin téléchargé est une archive auto décompactable. On déroulera les opérations suivantes:
2.2.1- Ouvrir un terminal et hériter des droits root:
$ su -
$ password: <saisir le mot de passe root>
2.2.2- déplacer l'archive télécharger dans le répertoire /opt (on fournit ici un exemple supposant que l'archive a été téléchargée dans le répertoire personnel de l'utilisateur et se nomme jre-1_5_0_04-linux-i586.bin)
# mv /home//repertoire_de_l_utilisateur/jre-1_5_0_04-linux-i586.bin /opt
2.2.3- la décompacter:
# cd /opt (on se positionne dans le répertoire /opt)
# chmod +x *-linux-i586.bin (on rend l'archive exécutable)
# ./*.bin (on exécute l'archive en se positionnant dans le répertoire courant, ce que signifie ./)
On accepte alors les termes de la licence en saisissant explicitement "yes"
3- INSTALLATION DU PLUGIN JAVA SUN
Les plugins s'installent, sous FC4, dans le répertoire /usr/lib/mozilla/plugins.
Ils sont alors accessibles à Firefox, Mozilla, et au-delà, l'ensemble des navigateurs prévus dans la distribution (Konqueror ...).
A partir de l'installation de l'archive, réalisée précédemment, on va réaliser, par un lien symbolique, l'implantation du fichier objet dans le répertoire des plugins.
Dans une console avec les droits root et l'environnement root:
(on reprend l'exemple fourni précédemment pour illustrer la démarche)
# ln -s /opt/jre1.5.0_04/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/libjavaplugin_oji.so
4- PARAMETRAGE POUR UTILISER LE COMPILATEUR JAVA SUN
L'utilisation du compilateur Java Sun est recommandée pour des applications telles que Azureus (ou JAlbum).
Les actions suivantes vont permettre de paramétrer l'environnement FC4 en sorte que le compilateur Java Sun soit utilisé.
Dans une console avec les droits root et l'environnement root (le su doit nécessairement comporter le tiret!):
1- on créé un fichier java.sh qui déclare des variables d'environnement permettant l'exploitation du compilateur Java Sun; pour ce faire, on utilise par commodité un éditeur de fichier graphique, gedit. Vi peut aussi être directement utilisé:
gedit /etc/profile.d/java.sh
Dans
gedit, on ajoutera les lignes suivantes:
export J2RE_HOME=/opt/jre1.5.0_04
export PATH=$J2RE_HOME/bin:$PATH
(l'exemple fourni se réfère à l'exemple décrit au point 2).
La dernière ligne sera vide (retour charriot). On sauvegardera et quittera.
2- On assurera le paramétrage de l'environnement:
* lancement de la déclaration des variables
# source /etc/profile.d/java.sh
* vérification de la prise en compte des variables
# which java
La commande doit renvoyer
/opt/jre1.5.0_04/bin/java.
* déclaration du compilateur Java Sun en choix 2
# /usr/sbin/alternatives --install /usr/bin/java java /opt/jre1.5.0_04/bin/java 2
Cette commande positionne le choix du compilateur Java Sun en choix 2; le compilateur libre, livré avec FC4, est par défaut déclaré en choix 1.
* déclaration du choix 2 comme choix actif:
# /usr/sbin/alternatives --config java
Cette commande permet de faire ressortir les différents choix de compilateurs Java possibles, en fonction des déclarations réalisées, et de positionner le choix actif; le message suivant doit apparaître:
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
2 /opt/jre1.5.0_04/bin/java
Enter to keep the current selection[+], or type selection number:
On choisira 2 (on saisira donc cette valeur!).
* vérification:
/usr/sbin/alternatives --display java
Cette commande permet de vérifier quel choix pour java est actif; elle doit renvoyer le message suivant:
java - status is manual.
link currently points to /opt/jre1.5.0_04/bin/java
...
4- NOTA: ALTERNATIVES
Alternatives permet de maintenir des liens symboliques vers des fichiers exécutables et de gérer des priorités entre différents fichiers exécutables. Il évite la complexité liée à la gestion de variables PATH et n'oblige pas à gérer les exécutables dans un répertoire donné.
Exemple:
/usr/bin/java -pointe sur-> /etc/alternatives/java -pointe sur-> /chemin vers l'exécutable
# ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 jun 15 19:37 /usr/bin/java -> /etc/alternatives/java
# ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 25 jun 25 18:26 /etc/alternatives/java -> /opt/jre1.5.0_04/bin/java
Cette approche introduit une une couche d'abstraction; dans l'exemple pris, java (/usr/bin/java) pointe sur /etc/alternatives/java qui détermine l'exécutable devant effectivement être lancé (dans le cas d'espèce, il s'agira de Java Sun).
Il est ainsi possible de modifier cet exécutable sans affecter le reste de la chaîne; il est aussi possible de changer l'exécutable se lançant effectivement, uniquement en agissant sur alternatives (gcj, le compilateur Java par défaut de FC4 ou Sun Java ou un autre compilateur Java).
Un
man alternatives décrit les commandes utiles.