これは私が達成したいことですが、私は失敗しています(私はLinuxの初心者です)。
Fedora 16ボックス(64ビット)があり、複数のバージョンのoracle java(現時点ではjava 6およびjava 7)をインストールしたいと考えています。rpmソフトウェアを使用してjavaをインストールしようとしていますが、両方にインストールしたいと思い/opt
ます。
必要なパッケージをOracleサイトからダウンロードしました。
jdk-6u30-linux-x64-rpm.bin
jdk-7u2-linux-x64.rpm
.bin
実行中のファイル内からrpmパッケージを抽出しました
./jdk-6u30-linux-x64-rpm.bin -x
次の状況を取得します。
jdk-6u30-linux-amd64.rpm
jdk-7u2-linux-x64.rpm
それから私は内部を見jdk-6u30-linux-amd64.rpm
ました:
rpm -qpl ~/Downloads/jdk-7u2-linux-x64.rpm
そして、Java 6がファイルを次の場所にインストールすることを取得しました:
/etc (some files)
/usr/java/jdk1.6.0\_30 (the majority of the files)
同様に、Java 7は次の場所にインストールされます。
/etc
/usr/java/jdk1.7.0\_02
にインストールしたいので、rpm relocation/opt
を使用してインストールしようとしました。どちらのパッケージも、実際にはrpmで再配置可能であるようです。
rpm -qpi ~/Downloads/jdk-6u30-linux-amd64.rpm | grep -i reloc
結果として与える
Relocations : /usr/java
そして
rpm -qpi ~/Downloads/jdk-7u2-linux-x64.rpm | grep -i reloc
結果として与える
Relocations : /usr/java
試行1(Java 6をインストールしてからJava 7をインストールする)
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.rpm
これはrpmが言うのでほぼスムーズに実行されます
ln: failed to create symbolic link '/usr/java/jdk1.6.0\_30': No such file or directory`
rpm -q jdk
言う
jdk-1.6.0\_30-fcs.x86\_64_ ... OK!
その後
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-7u2-linux-x64.rpm
途方もなく言って失敗します:
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*
試行2(Java 7をインストールしてからJava 6をインストールする)
まだJava 6をインストールしているので、まず削除します。
sudo rpm -e jdk*
sudo rpm -q jdk*
与える:
package jdk is not installed* <- OK, uninstalled!
それからJava 7をインストールしてみましょう
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-7u2-linux-x64.rpm*
通常のエラーが発生します:
ln: failed to create symbolic link '/usr/java/jdk1.7.0_02': No such file or directory`*
そして今Java 6
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.rpm*
2つのことを言って失敗します:
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*
そして
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*
私の質問は:
- シンボリックリンク作成の問題:それを修正する方法はありますか?インストールプロセスは、パッケージが再配置可能であっても(私が見る限り)、再配置メカニズムを使用しようとしたことを認識していないようです
- インストールプロセスで何か不足していますか?同じLinuxマシンでJava 6とJava 7の両方を使用することは本当に可能ですか?どうやって?何が悪いのですか?
- 私の目標を達成する別の方法はありますか?
PS:これが私の最初の質問です。何か問題がある場合は事前に謝罪します(私の英語から書式設定まで)PS2:この質問にsun-java7-jdkタグを追加しようとしましたが、このタグを実行するのに十分な評判がありません...作成されますか?