Inilah yang ingin saya capai, tetapi saya gagal (saya seorang pemula di Linux).
Saya memiliki kotak Fedora 16 (64 bit) dan ingin menginstal beberapa versi java oracle (java 6 dan java 7 untuk saat ini). Saya mencoba menginstal java menggunakan perangkat lunak rpm dan saya ingin menginstal keduanya di bawah /opt
.
Saya mengunduh paket-paket yang diperlukan dari situs Oracle:
jdk-6u30-linux-x64-rpm.bin
jdk-7u2-linux-x64.rpm
dan mengekstrak paket rpm dari dalam .bin
file yang sedang berjalan
./jdk-6u30-linux-x64-rpm.bin -x
mendapatkan situasi berikut:
jdk-6u30-linux-amd64.rpm
jdk-7u2-linux-x64.rpm
Kemudian saya melihat ke dalam jdk-6u30-linux-amd64.rpm
dengan:
rpm -qpl ~/Downloads/jdk-7u2-linux-x64.rpm
dan diperoleh bahwa java 6 akan menginstal file-nya ke:
/etc (some files)
/usr/java/jdk1.6.0\_30 (the majority of the files)
Dengan cara yang sama java 7 akan menginstal ke:
/etc
/usr/java/jdk1.7.0\_02
Karena saya ingin menginstal ke /opt
saya mencoba menginstal menggunakan relokasi rpm . Kedua paket tampaknya relocatable-rpm, pada kenyataannya:
rpm -qpi ~/Downloads/jdk-6u30-linux-amd64.rpm | grep -i reloc
memberi hasilnya
Relocations : /usr/java
dan
rpm -qpi ~/Downloads/jdk-7u2-linux-x64.rpm | grep -i reloc
memberi hasilnya
Relocations : /usr/java
Percobaan 1 (instal java 6 dan kemudian java 7)
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.rpm
ini berjalan hampir lancar karena kata rpm
ln: failed to create symbolic link '/usr/java/jdk1.6.0\_30': No such file or directory`
rpm -q jdk
kata
jdk-1.6.0\_30-fcs.x86\_64_ ... OK!
kemudian
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-7u2-linux-x64.rpm
gagal mengatakan:
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*
Percobaan 2 (instal java 7 dan kemudian java 6)
setelah menginstal java 6 saya akan menghapusnya terlebih dahulu:
sudo rpm -e jdk*
sudo rpm -q jdk*
memberi:
package jdk is not installed* <- OK, uninstalled!
maka mari kita coba instal java 7
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-7u2-linux-x64.rpm*
memberikan kesalahan yang biasa:
ln: failed to create symbolic link '/usr/java/jdk1.7.0_02': No such file or directory`*
dan sekarang java 6
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.rpm*
gagal mengatakan dua hal:
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*
dan
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*
Pertanyaan saya adalah:
- masalah pembuatan tautan simbolik: apakah ada cara untuk memperbaikinya? proses instalasi tampaknya tidak menyadari bahwa saya mencoba menggunakan mekanisme relokasi, bahkan jika paket tersebut dapat dipindahkan (sejauh yang saya lihat)
- Apakah saya kehilangan sesuatu dalam proses instalasi? Apakah benar-benar memungkinkan untuk memiliki java 6 dan java 7 di mesin Linux yang sama? Bagaimana? Apa yang saya lakukan salah?
- Apakah ada cara lain untuk mencapai tujuan saya?
PS: ini pertanyaan pertamaku di sini. Saya minta maaf sebelumnya jika ada sesuatu yang salah (dari bahasa Inggris saya ke format dan apa pun) PS2: Saya mencoba menambahkan tag sun-java7-jdk untuk pertanyaan ini, tetapi saya tidak memiliki reputasi yang cukup untuk melakukannya ... haruskah tag ini dibuat?