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éé?
C'est le moyen le plus simple, lorsque vous obtenez cette erreur:
Utilisez l'
--force
indicateur pour installer plusieurs versions.Ainsi, par exemple:
la source
jdk-7u2-linux-x64.rpm
est plus récent quejdk-6u30-linux-amd64.rpm
et l'outil de gestion des packages RPM est suffisamment intelligent pour le remplacer par la nouvelle version.La façon la plus simple d'installer côte à côte Sun Java 6 et Sun Java 7 est de télécharger les tarballs Java d'Oracle et de les extraire dans
/opt
la source
Je pense que Dejan a raison d'installer les tarballs Java au lieu du RPM. Si vous configurez votre
JAVA_HOME
etPATH
correctement la plupart des utilisations n'auront pas besoin de la configuration supplémentaire que l'installation RPM vous donne (voir cette page pour plus de détails sur ce que jexec fait réellement ).Un problème pourrait être que certaines versions du JDK ne rendent pas tarball (
*.tar.gz
) disponible mais vous donnent simplement un*-rpm.bin
et un*.bin
. Dans ce cas, le*.bin
fichier n'est en fait qu'une archive auto-extractible qui se traduit par le répertoire JAVA_HOME habituel lorsque vous l'exécutez.la source
Pour installer Java Runtime Environment sur Fedora, Oracle Linux, Red Hat Enterprise Linux, etc.
Pour installer le package de développement de programmes utilisant Java sur Fedora, Oracle Linux, Red Hat Enterprise Linux, etc.
depuis http://namhuy.net/1195/how-to-install-oracle-java-jdk-7.html
la source