Як повністю видалити Java?


Відповіді:


311
  1. Видаліть усі пов’язані з Java пакети (Sun, Oracle, OpenJDK, IcedTea плагіни, GIJ):

    dpkg-query -W -f='${binary:Package}\n' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e '^java-common' | xargs sudo apt-get -y remove
    sudo apt-get -y autoremove
    
  2. Очистити конфігураційні файли (обережно. Ця команда також видалила файли конфігурації libsgutils2-2 та virtualbox):

    dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
  3. Видаліть конфігурацію Java та каталог кешу:

    sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
  4. Видаліть встановлені JVM вручну:

    sudo rm -rf /usr/lib/jvm/*
  5. Видаліть записи Java, якщо такі ще є, із альтернативних варіантів :

    for g in ControlPanel java java_vm javaws jcontrol jexec keytool mozilla-javaplugin.so orbd pack200 policytool rmid rmiregistry servertool tnameserv unpack200 appletviewer apt extcheck HtmlConverter idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc xulrunner-1.9-javaplugin.so; do sudo update-alternatives --remove-all $g; done
  6. Пошук можливих залишкових каталогів Java:

    sudo updatedb
    sudo locate -b '\pack200'
    

    Якщо команда вище виробляє який - або висновок , як /path/to/jre1.6.0_34/bin/pack200видалити каталог , який є батьком біна , як це: sudo rm -rf /path/to/jre1.6.0_34.


6
Ви перевірили цю відповідь? Я впевнений, що у вас все є, але лише двічі. :)
Хорхе Кастро

10
@JorgeCastro, абсолютно. Я будував ці команди по черзі, потім передавав їх усі разом, і я запускав їх у різних сценаріях встановлення Java, які я маю для тестових цілей на деяких робочих станціях на роботі. Я дійсно звернув увагу на висновок, grepякий є на трубі apt-get remove, я думаю, що він охоплює майже всі можливості щодо встановлення дебетових пакетів.
Ерік Карвальо

2
Хоча представлена ​​послідовність команд працює в більшості випадків, я вважаю, що моя відповідь потребує певних удосконалень. Усі, будь ласка, не соромтеся пропонувати зміни, які можуть їх покращити, наприклад, краще пояснення кожної команди чи вказівка ​​сценарію, який не охоплюється ними.
Ерік Карвальо

3
+1 для відповіді. Нещодавно я знайшов сценарій, коли видалення openjdk викликає встановлення інших пакетів Java. Вирішення цієї проблеми - вимкнення всього сховища, а потім виконання команди видалення.
Анвар

1
@EricCarvalho Коли я видав команду, sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rfвідповідь з терміналу була визнана недійсною.
n00b

38

Щоб повністю видалити OpenJDK на Ubuntu 11.10 (цього може бути, а може, і недостатньо для інших версій Ubuntu), запустіть:

sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

Якщо ви хочете інструкцій щодо видалення власницької версії Java Oracle ("Sun"), вам доведеться вказати, як ви її встановили. (Якщо ви відредагуєте своє запитання, щоб вказати це, і залиште коментар до цієї відповіді, я спробую додати інформацію про те, як його також видалити.)


Я спробував вищезазначене, і це завершилось без помилок на Ubuntu 11, але після того, як я все-таки можу запустити java -версію та отримати версію openjdk версії "11.0.3" 2019-04-16
Джон Маленький

17

Можливо, вам не знадобиться повністю видалити OpenJDK, щоб вирішити свою проблему. Встановіть пакети sun-java6. Потім використовуйте update-java-alternativesдля переходу на пакети Sun java.

Якщо ви хочете повністю видалити OpenJDK, видаліть пакети jdk та / або jre за замовчуванням. Можливо, вам доведеться видалити деякі пакети Java, але більшість з них повинні бути щасливі після встановлення пакунків Sun JDK.

Ви можете дотримуватися одного з цих порад щодо очищення, як тільки ви закінчите видалення пакетів.


Я вже робив update-java-альтернативи. Треба було це згадати. Я також робив оновлення-альтернативи --config java. Тепер хром і firefox скажіть мені, що мій плагін Java заблокований, тому що він старий ...
CaldwellYSR

Запустіть оновлення-java-альтернативи за допомогою параметра --plugin та встановіть його до початкового значення. За допомогою цього інструменту можна змішувати та співставляти параметри за замовчуванням. Браузери, встановлені з 11.10, можуть очікувати sun-java7.
BillThor

13

Щоб видалити Oracle Java 7, просто натисніть Ctrl+ Alt+ Tна клавіатурі, щоб відкрити Terminal. Коли він відкриється, запустіть команду нижче.

sudo update-alternatives --display java

Щоб перевірити налаштування перед видаленням Java.

Далі, видаліть посилання

(замініть слово (версію) версією Java. java -versionДОБУЙТЕ, щоб отримати свою. Отже, якщо ваша версія 1.7.0_03, ви б type sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk1.7.0_03/bin/java")

sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk<version>/bin/java"
sudo update-alternatives --remove "javac" "/usr/lib/jvm/jdk<version>/bin/javac"
sudo update-alternatives --remove "javaws" "/usr/lib/jvm/jdk<version>/bin/javaws"

переконайтесь, що символьні посилання були видалені

java -version
javac -version
which javaws

Наступні 2 команди повинні бути введені вкрай ідеально, щоб уникнути постійного руйнування вашої системи .

cd /usr/lib/jvm
sudo rm -rf jdk<version>

Тоді робіть

sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws

Тоді робіть

sudo vi  /etc/environment

Видаліть рядок за допомогою JAVA_HOME 1



Щоб видалити OpenJDK (якщо він встановлений). Спочатку перевірте, які пакети OpenJDK встановлені.

sudo dpkg --list | grep -i jdk

Щоб видалити openjdk:

sudo apt-get purge openjdk*

Видаліть пов'язані пакети OpenJDK.

sudo apt-get purge icedtea-* openjdk-*

Перевірте, чи всі пакети OpenJDK видалені.

sudo dpkg --list | grep -i jdk

1 Джерело: akbarahmed.com


Не могли ви також видалити /usr/lib/jvmпапку? Наскільки я знаю, це використовується тільки Java.
njallam

Я думаю, ви могли, можете додати це там, або я можу з вашим ОК.
Мітч

3

Спробуйте цю команду:

java -version

Якщо 1.6 * приходить, то спробуйте:

sudo apt-get autoremove openjdk-6-jre

Якщо 1,7 * приходить, то спробуйте:

sudo apt-get autoremove openjdk-7-jre

Якщо припустити, що у вас немає jdk у вашій системі. Якщо ви використовуєте цю команду:

sudo apt-get autoremove openjdk-`<version>`-jdk

замініть версію, як ми це робили в попередньому прикладі.


2

простіше - використовувати синаптик.

натисніть вкладку "розділи" прокрутіть униз до Java. просто виберіть кожний елемент, який ви бачите, зеленим полем і позначте для повного видалення. повторити для всіх розділів Java та всіх файлів.


1

Домовились з Елією. Команда "apt-get purge" може видалити ці пакети повністю.

Якщо припустити, що ви раніше встановили копію пакету java-6-sun, подальший довідковий засіб допоможе позбутися розірваного символічного посилання:

sudo update-alternatives --config java

А потім виберіть правильний шлях, який ви хочете пов’язати як стандартний шлях виклику Java.

Потім проведіть перевірку версії Java за допомогою цієї команди:

java -version

0

Просто видаліть усі файли JDK або JRE, наприклад, зазвичай це встановлено в цьому місці:

/usr/lib/jvm/java-7-oracle

Отже, видаліть усі файли, що знаходяться в папці "java-7-oracle" з дозволом root, і витягніть в ній останні файли JDK або JRE. Ось тепер у вас була б встановлена ​​остання версія Java.

PS Назва вашого каталогу може відрізнятися від java-7-oracle .

Довідка: Офіційна інструкція з установки Oracle

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.