OpenJDK की स्थापना रद्द कैसे करें?


38

मैं OpenJDKअपने Ubuntu 13.04 सिस्टम पर स्थापित नहीं होना चाहता , लेकिन openjdk-7-jreनिम्न संदेश की पैदावार को अनइंस्टॉल करने की कोशिश कर रहा हूं :

$ sudo apt-get purge openjdk-7-jre
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  gcj-4.7-base gcj-4.7-jre gcj-4.7-jre-headless gcj-4.7-jre-lib gcj-jre gcj-jre-headless icedtea-6-jre-cacao icedtea-6-jre-jamvm libgcj-common libgcj13 libgcj13-awt
  openjdk-6-jre-headless openjdk-6-jre-lib
Suggested packages:
  fastjar gcj-4.7-jdk gcj-jdk libgcj13-dbg sun-java6-fonts fonts-ipafont-gothic fonts-ipafont-mincho ttf-telugu-fonts ttf-oriya-fonts ttf-kannada-fonts
  ttf-bengali-fonts
The following packages will be REMOVED:
  default-jre* icedtea-7-plugin* icedtea-netx* icedtea-plugin* libatk-wrapper-java* libatk-wrapper-java-jni* openjdk-7-jre*
The following NEW packages will be installed:
  gcj-4.7-base gcj-4.7-jre gcj-4.7-jre-headless gcj-4.7-jre-lib gcj-jre gcj-jre-headless icedtea-6-jre-cacao icedtea-6-jre-jamvm libgcj-common libgcj13 libgcj13-awt
  openjdk-6-jre-headless openjdk-6-jre-lib
0 upgraded, 13 newly installed, 7 to remove and 4 not upgraded.
Need to get 57,0 MB/57,2 MB of archives.
After this operation, 156 MB of additional disk space will be used.
Do you want to continue [Y/n]?

मुझे क्या करने की आवश्यकता है ताकि कोई नया पैकेज, जिसमें से मुझे कोई भी ज़रूरत नहीं है, हटाते समय स्थापित किया जाएगा openjdk-7?


1
: यहाँ एक नजर डालें askubuntu.com/questions/84483/how-to-completely-uninstall-java
kingmilo

जवाबों:


29

आप निम्न आदेश का उपयोग कर सकते हैं:

sudo apt-get purge openjdk-8-jre openjdk-8-jre-headless openjdk-7-jre gcj-4.7-base gcj-4.7-jre openjdk-6-jre-headless

इस तरह कोई नया पैकेज नहीं लगाया जाएगा। यहाँ उपरोक्त कमांड के लिए मेरा आउटपुट है:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'gcj-4.7-base' is not installed, so not removed
Package 'gcj-4.7-jre' is not installed, so not removed
Package 'openjdk-6-jre-headless' is not installed, so not removed
The following packages will be REMOVED:
  default-jre* icedtea-7-plugin* icedtea-netx* libatk-wrapper-java*
  libatk-wrapper-java-jni* libreoffice-base* minecraft-installer*
  openjdk-7-jre*
0 upgraded, 0 newly installed, 8 to remove and 6 not upgraded.
After this operation, 10,3 MB disk space will be freed.
Do you want to continue [Y/n]? n

लेकिन, मैं आपको ऐसा करने का सुझाव नहीं देता। एक दिन में आपको एक OpenJDK (6 या 7) सुनिश्चित करने की आवश्यकता होगी।


4
अगर मुझे वास्तव में एक JDK की आवश्यकता है, तो मैं OpenJDK के बजाय Oracle के JDK का उपयोग करना पसंद करूंगा।
फेनन

यह मेरे लिए काम नहीं किया।
jgomo3

@ radu-rdeanu ऐसा करने के लिए, मुझे पहले gcj स्थापित करना था। जब मैंने आपके समाधान की कोशिश की, तो उपयुक्त ने शिकायत की कि gcj स्थापित नहीं किया गया था। मैंने gjj स्थापित किया, और आपके द्वारा कहे गए सभी पैकेजों को हटा दिया। लेकिन उसके बाद, जावा कमांड अभी भी था। इसलिए मेरे पास एक वायर्ड वातावरण होना चाहिए।
jgomo3

@ jgomo3 जैसा कि आप मेरे आउटपुट से देख सकते हैं, यह बात मेरे लिए नहीं हुई। gcjआप किस संस्करण के बारे में बात करते हैं?
रादु राईडेनु

66

महान सवाल, मैं खुद यह सोच रहा था।

मैंने पाया कि आप Ubuntu 13.04 पर openjdk-7-jre को हटाने के लिए निम्नलिखित का उपयोग कर सकते हैं:

sudo apt-get autoremove openjdk-7-jre

इस परिवर्तन की पुष्टि करने के लिए संकेत दिए जाने पर 'y' दबाएँ और फिर एंटर दबाएँ। यह उन सभी अतिरिक्त निर्भरता पुस्तकालयों को भी साफ करना चाहिए जो इसके साथ स्थापित किए गए थे।

मैंने यह भी पाया कि आप अतिरिक्त सफाई करने के लिए निम्न कमांड का उपयोग कर सकते हैं:

sudo apt-get purge openjdk*

यदि आप निम्न कमांड का उपयोग करते हैं:

java -version

अब आपको ओपनजेडके -7-जेआर को स्थापित नहीं देखना चाहिए!

उम्मीद है की यह मदद करेगा। :)


2
@ jgomo3 क्या यह उत्तर आपकी मदद करता है? विशेष रूप से sudo apt-get remove --purge openjdk*बिट?
लैंडरोनी

1
@landroni मुझे इसका परीक्षण करना है। रेडू-रडेनू समाधान करने के लिए, मुझे पहले जीसीजी स्थापित करना था। इस तरह मैं इसे "हटा" सकता था। मैं ओरेकल जावा को अनइंस्टॉल करने की कोशिश करूंगा, दूसरा ओपनजेडक और सामान स्थापित करने के लिए, और अंतिम "ऑटोरेमोविंग"।
jgomo3

मुझे बताएं कि आप कैसे प्राप्त करते हैं, याद रखें कि यदि आप का उपयोग कर रहे हैं तो आपको autoremoveओपनजेडके के सही संस्करण को निर्दिष्ट करने की आवश्यकता है, आप ओपनजेडक-6-जेआर चला सकते हैं। इसके अतिरिक्त यह ध्यान देने योग्य है कि यदि आप ओपनजेडके के कई संस्करण चला रहे हैं, तो purgeकमांड उनके सभी ट्रेस को हटा देगा, इसलिए आप जो करना चाहते हैं उसके आधार पर इसका उपयोग करने में सावधानी बरतें।
रऊफ अघोरूट

2
sudo apt-get purge openjdk*मेरे लिए काम किया, लेकिन इसने मेरे जेनकींस इंस्टॉलेशन को भी अनइंस्टॉल कर दिया (जो कि
ओपनजेक

1
पहला विकल्प 7 को हटा दिया गया, लेकिन 6 को स्थापित किया गया, दूसरा काम किया गया: सुडोल एप्ट-गेट पर्ज ओपनज्डक *
पाब्लो पाजोस

4

ऐसा क्यूँ होता है

ऐसा होने की संभावना है क्योंकि आपके सिस्टम पर एक और पैकेज जावा पर निर्भर है। हटाते समय openjdk-7-jre, apt-getयह देखता है कि अगर यह OpenJDK को अनइंस्टॉल करता है, तो कुछ पैकेजों में असमत निर्भरताएँ होंगी। इसे हल करने के लिए, यह एक और पैकेज स्थापित करता है जो जावा प्रदान करता है।

यह जानने के लिए कि यह क्या कारण है, इन आदेशों को एक टर्मिनल में चलाएं:

packages=(default-jre default-jre-headless icedtea-6-plugin icedtea-7-plugin java-compiler java-jdk java-runtime java-runtime-headless java-sdk java-virtual-machine java2-jdk java2-runtime java2-runtime-headless java2-sdk java5-jdk java5-runtime java5-runtime-headless java5-sdk java6-jdk java6-runtime java6-runtime-headless java6-sdk java7-jdk java7-runtime java7-runtime-headless java7-sdk openjdk-6-jdk openjdk-6-jre openjdk-6-jre-headless openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless oracle-java7-bin oracle-java7-fonts oracle-java7-jdk oracle-java7-jre oracle-java7-plugin sun-java6-bin sun-java6-fonts sun-java6-jdk sun-java6-jre sun-java6-plugin)
for pkg in "${packages[@]}"; do
    apt_cache_out="$(apt-cache --installed rdepends "$pkg" | grep -E '^ [| ]\S')"
    if (( $? == 0 )); then
        echo -----------------------
        echo "$pkg"
        echo "$apt_cache_out"
    fi
done

उदाहरण आउटपुट (छोटा):

-----------------------
openjdk-7-jre
 |libreoffice-filter-mobiledev
 |libreoffice
 |libreoffice-writer
 |libreoffice-base
 |libreoffice-filter-mobiledev
 |libreoffice
 |libreoffice-writer
 |libreoffice-base

यह इंगित करता है कि सभी लिब्रे ऑफिस पैकेज निर्भर हैं openjdk-7-jre। जब तक इन पैकेजों को स्थापित किया जाता है, तब तक OpenJDK एक वैकल्पिक जावा को स्वचालित रूप से स्थापित किए बिना अनइंस्टॉल नहीं किया जा सकता है।

दूर करना openjdk-7-jre

यदि आप openjdk-7-jre(अन्य पैकेजों को स्थापित किए बिना) निकालना चाहते हैं , तो आपको उन सभी पैकेजों की स्थापना रद्द करनी होगी जो पहले इस पर निर्भर करते हैं।

उदाहरण आउटपुट से, यह होगा:

sudo apt-get remove oracle-java7-installer libreoffice-filter-mobiledev libreoffice libreoffice-writer libreoffice-base libreoffice-filter-mobiledev libreoffice libreoffice-writer libreoffice-base

3

मैंने देखा कि आपने कहा था कि आप Oracle के JDK का उपयोग करना चाहते हैं। यदि आप इसके बजाय ओरेकल के JDK को स्थापित करना चाहते हैं, तो आप इसे डाउनलोड कर सकते हैं और इसे अपनी पसंद के स्थान पर निकाल सकते हैं।

फिर आप अपने सिस्टम को बताने के लिए अपडेट-विकल्प का उपयोग करते हैं जहां जावा स्थापित है। यदि आप अपडेट-विकल्प के सिंटैक्स के बारे में निश्चित नहीं हैं, तो आप इसके लिए फ्रंट-एंड का उपयोग कर सकते हैं।

उदाहरण के लिए ... मैं ओरेकल की JDK का उपयोग यहां बड़े पैमाने पर करता हूं।

मैं इसे / ऑप्ट / जावा / के लिए निकालता हूं।

तब, Oracle के जावा के सभी बायनेरिज़ जावा-संबंधित सामान के लिए प्राथमिक उपयोगिताओं हैं, मैं अपडेट-विकल्प के साथ निम्नलिखित करता हूं:

for j in `ls /opt/java/bin` ; do update-alternatives --install /usr/bin/"$j" "$j" /opt/java/bin/"$j" 1 ; done

यह उन सभी ओरेकल जावा उपयोगिताओं को लेता है जिन्हें आपने पहले निकाला है, और उन्हें पहली प्राथमिकता देता है, यदि आपके पास जावा के अन्य संस्करण स्थापित हैं। (चूंकि उबंटू आपको एक ही उपयोगिता के कई संस्करण स्थापित करने की अनुमति देता है)


1

बाकी उत्तरों के साथ - क्या आपने .bashrcयह सुनिश्चित करने के लिए अपनी फ़ाइल की जाँच की है कि JAVA_HOME वातावरण नहीं है? उस लाइन को हटाकर अपने उबंटू को ओपनजेडक से मुक्त करने की चाल चलनी चाहिए। एक उदाहरण की तरह:

 JAVA_HOME=/usr/local/java/jdk1.7.0_45
 export PATH=$JAVA_HOME:$PATH

अगर आपको ऐसा कुछ दिखाई देता है, तो इन दो लाइनों को हटा दें और रिबूट करें।


0

OpenJDK की स्थापना रद्द करने के लिए, आपको इन आदेशों को अपने टर्मिनल में चलाने की आवश्यकता है। आप इन कुंजियों का उपयोग करके टर्मिनल प्राप्त कर सकते हैं, ctrl+ shift+ enter

केवल Openjdk निकालें:

$ sudo apt-get remove openjdk*

Openjdk को निर्भरता के साथ निकालें:

$ sudo apt-get remove --auto-remove openjdk*

Openjdk निकालें और यह विन्यास फाइल है:

$ sudo apt-get purge openjdk*

निर्भरता के साथ Openjdk निकालें और यह विन्यास फाइल है:

$ sudo apt-get purge --auto-remove openjdk*
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.