Dies ist, was ich erreichen möchte, aber ich versage (ich bin ein Neuling in Linux).
Ich habe eine Fedora 16-Box (64 Bit) und möchte mehrere Versionen von Oracle Java installieren (Java 6 und Java 7 für den Moment). Ich versuche Java mit der RPM-Software zu installieren und möchte beide unter installieren /opt
.
Ich habe die erforderlichen Pakete von der Oracle-Site heruntergeladen:
jdk-6u30-linux-x64-rpm.bin
jdk-7u2-linux-x64.rpm
und extrahierte das RPM-Paket aus der .bin
laufenden Datei
./jdk-6u30-linux-x64-rpm.bin -x
Erhalten der folgenden Situation:
jdk-6u30-linux-amd64.rpm
jdk-7u2-linux-x64.rpm
Dann schaute ich hinein jdk-6u30-linux-amd64.rpm
mit:
rpm -qpl ~/Downloads/jdk-7u2-linux-x64.rpm
und erhalten, dass Java 6 seine Dateien in installiert:
/etc (some files)
/usr/java/jdk1.6.0\_30 (the majority of the files)
In ähnlicher Weise wird Java 7 installiert in:
/etc
/usr/java/jdk1.7.0\_02
Da ich in installieren möchte, habe /opt
ich versucht, mit RPM-Verschiebung zu installieren . Beide Pakete scheinen in der Tat rpm-verlagerbar zu sein:
rpm -qpi ~/Downloads/jdk-6u30-linux-amd64.rpm | grep -i reloc
gibt als Ergebnis
Relocations : /usr/java
und
rpm -qpi ~/Downloads/jdk-7u2-linux-x64.rpm | grep -i reloc
gibt als Ergebnis
Relocations : /usr/java
Versuch 1 (Java 6 und dann Java 7 installieren)
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.rpm
Dies läuft fast reibungslos, weil U / min sagt
ln: failed to create symbolic link '/usr/java/jdk1.6.0\_30': No such file or directory`
rpm -q jdk
sagt
jdk-1.6.0\_30-fcs.x86\_64_ ... OK!
dann
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-7u2-linux-x64.rpm
scheitert enorm zu sagen:
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*
Versuch 2 (Java 7 und dann Java 6 installieren)
Nachdem ich Java 6 noch installiert habe, werde ich es zuerst entfernen:
sudo rpm -e jdk*
sudo rpm -q jdk*
gibt:
package jdk is not installed* <- OK, uninstalled!
Versuchen wir dann, Java 7 zu installieren
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-7u2-linux-x64.rpm*
gibt den üblichen Fehler:
ln: failed to create symbolic link '/usr/java/jdk1.7.0_02': No such file or directory`*
und jetzt Java 6
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.rpm*
sagt zwei Dinge nicht:
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*
und
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*
Meine Fragen sind:
- Problem bei der Erstellung symbolischer Links: Gibt es eine Möglichkeit, dieses Problem zu beheben? Dem Installationsprozess scheint nicht bewusst zu sein, dass ich versucht habe, den Umzugsmechanismus zu verwenden, auch wenn das Paket umsetzbar ist (soweit ich das sehe).
- Fehlt mir etwas im Installationsprozess? Ist es wirklich möglich, Java 6 und Java 7 auf demselben Linux-Computer zu haben? Wie? Was mache ich falsch?
- Gibt es einen anderen Weg, um mein Ziel zu erreichen?
PS: Das ist meine erste Frage hier. Ich entschuldige mich im Voraus, wenn etwas nicht stimmt (von meinem Englisch über die Formatierung bis hin zu irgendetwas). PS2: Ich habe versucht , dieser Frage das Tag sun-java7-jdk hinzuzufügen , aber ich habe nicht genug Ruf, um es zu tun ... sollte dieses Tag erstellt werden?
Dies ist der einfachere Weg, wenn Sie diesen Fehler erhalten:
Verwenden Sie das
--force
Flag, um mehrere Versionen zu installieren.Also zum Beispiel:
quelle
jdk-7u2-linux-x64.rpm
ist neuer alsjdk-6u30-linux-amd64.rpm
und das RPM-Paketverwaltungstool ist intelligent genug, um es mit der neueren Version zu überschreiben.Der einfachste Weg, Sun Java 6 und Sun Java 7 nebeneinander zu installieren, besteht darin, die Java-Tarballs von Oracle herunterzuladen und in Oracle zu extrahieren
/opt
quelle
Ich denke, Dejan hat Recht, wenn es darum geht, die Java-Tarballs anstelle des RPM zu installieren. Wenn Sie Ihre
JAVA_HOME
und diePATH
meisten Anwendungen korrekt eingerichtet haben, benötigen Sie nicht das zusätzliche Setup, das Ihnen die RPM-Installation bietet ( Einzelheiten zu den tatsächlichen Funktionen von jexec finden Sie auf dieser Seite ).Ein Problem könnte sein, dass einige Versionen des JDK kein tarball (
*.tar.gz
) zur Verfügung stellen, sondern nur ein*-rpm.bin
und ein geben*.bin
. In diesem Fall ist die*.bin
Datei eigentlich nur ein selbstextrahierendes Archiv, das beim Ausführen zum üblichen JAVA_HOME-Verzeichnis führt.quelle
So installieren Sie Java Runtime Environment unter Fedora, Oracle Linux, Red Hat Enterprise Linux usw.
Installation des Pakets zur Entwicklung von Programmen mit Java unter Fedora, Oracle Linux, Red Hat Enterprise Linux usw.
von http://namhuy.net/1195/how-to-install-oracle-java-jdk-7.html
quelle