Как полностью удалить 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, я думаю , что она охватывает практически все возможности , касающиеся установки пакетов DEB.
Эрик Карвалью,

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 («Sun») для Oracle, вам нужно будет указать, как вы ее установили. (Если вы измените свой вопрос, чтобы указать это, и оставите комментарий к этому ответу, я постараюсь добавить информацию о том, как его удалить.)


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

17

Вам может не потребоваться полностью удалить OpenJDK для решения вашей проблемы. Установите пакеты sun-java6. Затем используйте update-java-alternativesдля переключения на Java-пакеты Sun.

Если вы хотите полностью удалить OpenJDK, удалите пакеты default-jdk и / или default-jre. Возможно, вам придется удалить некоторые java-пакеты, но большинство из них должны быть счастливы, когда у вас установлены пакеты Sun JDK.

Возможно, вы захотите следовать одному из этих советов по очистке, как только вы закончите удаление пакетов.


Я сделал обновление-Java-альтернативы уже. Должен был упомянуть это. Я также сделал обновление альтернатив --config Java. Теперь Chrome и Firefox говорят мне, что мой плагин Java заблокирован, потому что он старый ...
CaldwellYSR

Запустите update-java-alternatives с параметром --plugin и установите для него исходное значение. Вы можете смешивать и сопоставлять значения по умолчанию с этим инструментом. Браузеры, установленные с 11.10, могут ожидать sun-java7.
BillThor

13

Чтобы удалить Oracle Java 7, просто нажмите Ctrl+ Alt+ Tна клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду ниже.

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.
Ньяллам

Я полагаю, вы могли бы, вы можете добавить это там, или я могу с вашим ок.
Митч

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

1

Просто удалите все файлы 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.