OpenJDK nasıl kaldırılır?


38

OpenJDKUbuntu 13.04 sistemime yüklenmesini istemiyorum , ancak openjdk-7-jreaşağıdaki iletiyi kaldırmaya çalışırken :

$ 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]?

Çıkarırken hiçbirine ihtiyaç duymadığım hiçbir yeni paketin kurulmaması için ne yapmam gerekiyor openjdk-7?


Yanıtlar:


29

Aşağıdaki komutu kullanabilirsiniz:

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

Bu şekilde yeni paket kurulmaz. Yukarıdaki komut için çıktım:

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

Ama bunu yapmanı önermiyorum. Bir günde, kesinlikle bir OpenJDK'ye (6 veya 7) ihtiyacınız olacak.


4
Gerçekten bir JDK'ya ihtiyacım olursa, OpenJDK yerine Oracle'ın JDK'sını kullanmayı tercih ederim.
Fynn

Bu benim için işe yaramadı.
jgomo3

@ radu-rdeanu Bunu yapabilmek için daha önce gcj kurmam gerekti. Çözümünüzü denediğimde apt gcj'nin kurulmadığından şikayet etti. GCJ'i kurdum ve söylediğin tüm paketleri çıkardım. Fakat ondan sonra, java komutu hala oradaydı. Bu yüzden kablolu bir ortama sahip olmalıyım.
jgomo3

@ jgomo3 Çıktımdan görebileceğiniz gibi, bu benim için olmadı. Hangi versiyondan gcjbahsediyorsun?
Radu Rădeanu

66

Harika soru, bunu kendim merak ediyordum.

Ubuntu 13.04'teki openjdk-7-jre yazılımını kaldırmak için aşağıdakileri kullanabileceğinizi öğrendim:

sudo apt-get autoremove openjdk-7-jre

Bu değişikliği onaylamanız istendiğinde 'y' tuşuna ve ardından enter tuşuna basın. Bu, onunla birlikte yüklenen tüm ek bağımlılık kitaplıklarını da temizlemelidir.

Ek temizlik yapmak için aşağıdaki komutu kullanabileceğinizi de buldum:

sudo apt-get purge openjdk*

Aşağıdaki komutu kullanırsanız:

java -version

Artık openjdk-7-jre'nin kurulu olduğunu görmemelisiniz!

Bu yardımcı olur umarım. :)


2
@ jgomo3 Bu cevap size yardımcı oldu mu? Özellikle sudo apt-get remove --purge openjdk*biraz?
landroni

1
@landroni test etmek zorundayım. Rad-rdeanu çözümünü yapabilmek için daha önce gcj kurmam gerekti. Bu şekilde "kaldırabilirim". Bu çözümü ilk önce Oracle Java'yı kaldıracağım, ikincisi openjdk ve diğerlerini yükleyeceğim ve son olarak "otomatik taşınma" yazacağım.
jgomo3

Bana nasıl autoremovebaşladığınızı bildirin, eğer kullanıyorsanız, openjdk'nin doğru sürümünü belirtmeniz gerekiyorsa, openjdk-6-jre kullanıyor olabilirsiniz. Ek olarak, openjdk'in birden fazla sürümünü kullanıyorsanız, purgekomutun tüm izlerini kaldıracağını unutmayın, bu nedenle ne yapmak istediğinize bağlı olarak bunu kullanırken dikkatli olun.
Raouf Aghrout

2
sudo apt-get purge openjdk*Benim için çalıştı, ancak Jenkins kurulumumu da kaldırdım (ki bu openjdk 7 paketine bağlı) :(
RobertG

1
ilk seçenek 7 kaldırıldı, ancak 6 yüklendi, ikincisi işe yaradı: sudo apt-get purge openjdk *
Pablo Pazos

4

Bu neden olur

Bu olası bir durumdur çünkü sisteminizdeki başka bir paket Java'ya bağlıdır. Çıkarırken openjdk-7-jre, apt-geto OpenJDK kaldırır, bazı paketler karşılanmamış bağımlılıkları sahip olacağını görür. Bunu çözmek için, Java sağlayan başka bir paket yükler.

Buna neyin neden olduğunu bulmak için, bu komutları bir terminalde çalıştırın:

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

Örnek çıktı (kısaltılmış):

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

Bu, tüm LibreOffice paketlerinin bağlı olduğunu gösterir openjdk-7-jre. Bu paketler kurulu olduğu sürece, OpenJDK otomatik olarak alternatif bir Java kurmadan kaldırılamaz.

Ayırmak, uzaklaştırmak, ortadan kaldırmak openjdk-7-jre

Kaldırmak istiyorsanız openjdk-7-jre(diğer paketleri kurmadan), önce ona bağlı olan tüm paketleri kaldırmanız gerekir.

Örnek çıktıdan, şöyle olacaktır:

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'ın JDK'sını kullanmak istediğinizi söylemiştiniz. Oracle'ın JDK'sını yüklemek istiyorsanız, onu indirebilir ve seçtiğiniz yere çıkarabilirsiniz.

Sonra sisteminize Java'nın nereye kurulduğunu söylemek için güncelleme alternatiflerini kullanın. Güncelleme alternatiflerinin sözdiziminden emin değilseniz, bunun için ön ucu, galerileri kullanabilirsiniz.

Mesela ... Oracle'ın JDK'sını burada oldukça yoğun kullanıyorum.

/ Opt / java / dizinine çıkartıyorum.

Ardından, tüm Oracle Java ikili dosyaları Java ile ilgili şeyler için birincil yardımcı programlardır, güncelleme alternatifleriyle şunları yapıyorum:

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

Bu, daha önce ayıkladığınız tüm Oracle Java yardımcı programlarını alır ve Java'nın başka sürümlerini yüklemiş olmanız durumunda birinci önceliği verir. (Ubuntu, aynı yardımcı programın birden fazla sürümünün kurulu olmasına izin verdiğinden beri)


1

Yanıtların geri kalanıyla birlikte - .bashrcJAVA_HOME ortamının orada olmadığından emin olmak için dosyanızı kontrol ettiniz mi? Bu çizgiyi kaldırmak, Ubuntu'nuzu openjdk adresinden kurtarırken hile yapmalısınız. Bir örnek gibi:

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

Böyle bir şey görürseniz, bu iki satırı silin ve yeniden başlatın.


0

OpenJDK'yi kaldırmak için bu komutları terminalinizde çalıştırmanız gerekir. Bu tuşları ctrl+ shift+ kullanarak terminali alabilirsiniz enter.

Yalnızca Openjdk’i kaldırın:

$ sudo apt-get remove openjdk*

Openjdk'yi bağımlılıklarla birlikte kaldırın:

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

Openjdk ve yapılandırma dosyalarını kaldırın:

$ sudo apt-get purge openjdk*

Openjdk'yi bağımlılıklar ve yapılandırma dosyaları ile birlikte kaldırın:

$ sudo apt-get purge --auto-remove openjdk*
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.