यह वही है जो मैं हासिल करना चाहूंगा, लेकिन मैं असफल रहा हूं (मैं लिनक्स में नौसिखिया हूं)।
मेरे पास एक फेडोरा 16 बॉक्स (64 बिट) है और इस समय के लिए ओर्कल जावा (जावा 6 और जावा 7 के कई संस्करण) स्थापित करना चाहूंगा। मैं rpm सॉफ्टवेयर का उपयोग करके जावा को स्थापित करने की कोशिश कर रहा हूं और मैं उन दोनों को स्थापित करना चाहूंगा /opt
।
मैंने Oracle साइट से आवश्यक पैकेज डाउनलोड किए:
jdk-6u30-linux-x64-rpm.bin
jdk-7u2-linux-x64.rpm
और .bin
चल रहे फ़ाइल के अंदर से आरपीएम पैकेज निकाला
./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)
इसी तरह से जावा 7 में स्थापित होगा:
/etc
/usr/java/jdk1.7.0\_02
क्योंकि मैं आरपीएम रिलोकेशन/opt
का उपयोग करके इंस्टॉल करने का प्रयास करना चाहता हूं । दोनों पैकेज rpm-relocatable लग रहे हैं, वास्तव में:
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 प्रयास करें (जावा 6 स्थापित करें और फिर जावा 7)
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.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 (जावा 7 स्थापित करें और फिर जावा 6)
अभी तक स्थापित जावा 6 मैं इसे पहले हटाऊंगा:
sudo rpm -e jdk*
sudo rpm -q jdk*
देता है:
package jdk is not installed* <- OK, uninstalled!
तो चलो जावा 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`*
और अब जावा 6
sudo rpm -i --relocate /usr/java=/opt/java ~/Downloads/jdk-6u30-linux-amd64.rpm*
दो बातें कहने में असफल:
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*
मेरे प्रश्न हैं:
- प्रतीकात्मक लिंक निर्माण समस्या: क्या इसे ठीक करने का कोई तरीका है? स्थापना प्रक्रिया के बारे में पता नहीं लगता है कि मैंने स्थानांतरण तंत्र का उपयोग करने की कोशिश की, भले ही पैकेज स्थानांतरित करने योग्य हो (जहां तक मुझे लगता है)
- क्या मुझे स्थापना प्रक्रिया में कुछ याद आ रहा है? क्या वास्तव में एक ही लिनक्स मशीन पर java 6 और java 7 दोनों होना संभव है? कैसे? मैं क्या गलत कर रहा हूं?
- क्या मेरा लक्ष्य हासिल करने का कोई और तरीका है?
पुनश्च: यह मेरा पहला प्रश्न है। मैं पहले से माफी मांगता हूं कि अगर कुछ गलत है (मेरी अंग्रेजी से प्रारूपण और कुछ भी) PS2: मैंने इस प्रश्न में टैग sun-java7-jdk को जोड़ने की कोशिश की, लेकिन मुझे इसे करने के लिए पर्याप्त प्रतिष्ठा नहीं है ... क्या यह टैग होना चाहिए बनाया जा सकता है?