C'est ce que j'aimerais réaliser, mais j'échoue (je suis un débutant sous Linux).
J'ai une boîte Fedora 16 (64 bits) et je voudrais installer plusieurs versions d'Oracle Java (Java 6 et Java 7 pour le moment). J'essaie d'installer java à l'aide du logiciel rpm et je voudrais installer les deux sous /opt
.
J'ai téléchargé les packages requis depuis le site Oracle:
jdk-6u30-linux-x64-rpm.bin
jdk-7u2-linux-x64.rpm
et extrait le package rpm de l'intérieur du .bin
fichier en cours d'exécution
./jdk-6u30-linux-x64-rpm.bin -x
obtenir la situation suivante:
jdk-6u30-linux-amd64.rpm
jdk-7u2-linux-x64.rpm
Puis j'ai regardé à l'intérieur jdk-6u30-linux-amd64.rpm
avec:
rpm -qpl ~/Downloads/jdk-7u2-linux-x64.rpm
et obtenu que java 6 installe ses fichiers dans:
/etc (some files)
/usr/java/jdk1.6.0\_30 (the majority of the files)
De la même manière, java 7 s'installera dans:
/etc
/usr/java/jdk1.7.0\_02
Parce que je veux installer dans, /opt
j'ai essayé d'installer en utilisant la relocalisation rpm . Les deux packages semblent être déplaçables par rpm, en fait:
rpm -qpi ~/Downloads/jdk-6u30-linux-amd64.rpm | grep -i reloc
donne comme résultat
Relocations : /usr/java
et
rpm -qpi ~/Downloads/jdk-7u2-linux-x64.rpm | grep -i reloc
donne comme résultat
Relocations : /usr/java
Tentative 1 (installez java 6 puis java 7)
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.rpm
cela fonctionne presque sans à-coups parce que le régime indique
ln: failed to create symbolic link '/usr/java/jdk1.6.0\_30': No such file or directory`
rpm -q jdk
dit
jdk-1.6.0\_30-fcs.x86\_64_ ... OK!
puis
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-7u2-linux-x64.rpm
échoue énormément en disant:
file /etc/init.d/jexec from install of
jdk-2000:1.7.0\_02-fcs.x86\_64* conflicts with file from package
jdk-2000:1.6.0\_30-fcs.x86\_64*
Tentative 2 (installez java 7 puis java 6)
après avoir installé java 6, je le supprimerai d'abord:
sudo rpm -e jdk*
sudo rpm -q jdk*
donne:
package jdk is not installed* <- OK, uninstalled!
alors essayons d'installer java 7
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-7u2-linux-x64.rpm*
donne l'erreur habituelle:
ln: failed to create symbolic link '/usr/java/jdk1.7.0_02': No such file or directory`*
et maintenant java 6
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.rpm*
ne dit pas deux choses:
package jdk-2000:1.7.0\_02-fcs.x86\_64 (which is newer than jdk-2000:1.6.0\_30-fcs.x86\_64) is already installed*
et
file /etc/init.d/jexec from install of jdk-2000:1.6.0\_30-fcs.x86\_64
conflicts with file from package jdk-2000:1.7.0\_02-fcs.x86\_64*
Mes questions sont:
- problème de création de liens symboliques: existe-t-il un moyen de le résoudre? le processus d'installation ne semble pas savoir que j'ai essayé d'utiliser le mécanisme de relocalisation, même si le package est relocalisable (pour autant que je vois)
- est-ce que je manque quelque chose dans le processus d'installation? Est-il vraiment possible d'avoir à la fois java 6 et java 7 sur la même machine Linux? Comment? Qu'est-ce que je fais mal?
- Existe-t-il un autre moyen d'atteindre mon objectif?
PS: c'est ma première question ici. Je m'excuse à l'avance si quelque chose ne va pas (de mon anglais au formatage et n'importe quoi) PS2: J'ai essayé d'ajouter le tag sun-java7-jdk à cette question mais je n'ai pas assez de réputation pour le faire ... si ce tag Être créé?