Wie deinstalliere ich Java vollständig?

147

Wie kann ich alle Java-Spuren auf meinem System vollständig entfernen?

Ich weiß bereits, wie ich es installieren soll, falls ich es noch einmal brauche.

CaldwellYSR
quelle

Antworten:

311
  1. Entfernen Sie alle Java-bezogenen Pakete (Sun, Oracle, OpenJDK, IcedTea-Plugins, 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. Konfigurationsdateien löschen (Vorsicht. Mit diesem Befehl wurden auch die Konfigurationsdateien libsgutils2-2 und virtualbox entfernt):

    dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
  3. Entfernen Sie das Java-Konfigurations- und Cache-Verzeichnis:

    sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
  4. Manuell installierte JVMs entfernen:

    sudo rm -rf /usr/lib/jvm/*
  5. Entfernen Sie ggf. vorhandene Java-Einträge aus den Alternativen :

    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. Nach möglichen verbleibenden Java-Verzeichnissen suchen:

    sudo updatedb
    sudo locate -b '\pack200'

    Wenn der obige Befehl erzeugt eine Ausgabe wie /path/to/jre1.6.0_34/bin/pack200das Verzeichnis entfernen , die übergeordnete ist bin , wie folgt aus : sudo rm -rf /path/to/jre1.6.0_34.

Eric Carvalho
quelle
6
Hast du diese Antwort getestet? Ich bin mir ziemlich sicher, dass du alles hast, aber überprüfe es nur zweimal. :)
Jorge Castro
10
@JorgeCastro, absolut. Ich habe diese Befehle nacheinander erstellt, dann alles zusammengefügt und sie alle in verschiedenen Java-Installationsszenarien ausgeführt, die ich zu Testzwecken auf einigen Workstations bei der Arbeit habe. Ich habe wirklich auf die Ausgabe geachtet, an die weitergeleitet grepwird apt-get remove, ich denke, dass sie fast alle Möglichkeiten in Bezug auf die Installation von Deb-Paketen abdeckt.
Eric Carvalho
2
Obwohl die vorgestellte Befehlsfolge in den meisten Fällen funktioniert, sollte meine Antwort verbessert werden. Jeder kann gerne Änderungen vorschlagen, die ihn verbessern können, z. B. eine bessere Erläuterung der einzelnen Befehle oder einen Hinweis auf ein Szenario, das nicht von ihnen abgedeckt wird.
Eric Carvalho
3
+1 für die Antwort. Ich habe kürzlich ein Szenario gefunden, in dem das Entfernen von openjdk die Installation anderer Java-Pakete verursacht. Eine Problemumgehung für dieses Problem besteht darin, das gesamte Repository zu deaktivieren und anschließend den Befehl zum Entfernen auszuführen.
Anwar
1
@EricCarvalho Als ich den Befehl ausgab, wurde die sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rfAntwort vom Terminal als ungültig angegeben.
n00b
38

Führen Sie Folgendes aus, um OpenJDK unter Ubuntu 11.10 vollständig zu entfernen (dies kann in anderen Versionen von Ubuntu ausreichen oder nicht):

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

Wenn Sie Anweisungen zum Entfernen der proprietären Oracle-Version ("Sun") von Java benötigen, müssen Sie angeben, wie Sie sie installiert haben. (Wenn Sie Ihre Frage bearbeiten, um dies anzuzeigen, und dieser Antwort einen Kommentar hinterlassen, werde ich versuchen, Informationen darüber hinzuzufügen, wie auch dies entfernt werden kann.)

Eliah Kagan
quelle
Ich habe das oben Genannte ausprobiert und es wurde unter Ubuntu 11 fehlerfrei abgeschlossen, aber nachdem ich immer noch Java-Version ausführen und openjdk-Version "11.0.3" zurückbekommen kann, 2019-04-16
John Little
17

Möglicherweise müssen Sie das OpenJDK nicht vollständig entfernen, um Ihr Problem zu beheben. Installieren Sie die sun-java6-Pakete. Verwenden Sie dann update-java-alternatives, um zu den Sun Java-Paketen zu wechseln.

Wenn Sie OpenJDK vollständig entfernen möchten, entfernen Sie die Pakete default-jdk und / oder default-jre. Möglicherweise müssen Sie einige Java-Pakete entfernen, die meisten davon sollten jedoch zufrieden sein, sobald Sie die Sun JDK-Pakete installiert haben.

Möglicherweise möchten Sie einen dieser Bereinigungstipps befolgen, wenn Sie mit dem Entfernen von Paketen fertig sind.

BillThor
quelle
Die Update-Java-Alternativen habe ich schon gemacht. Sollte das erwähnt haben. Ich habe auch Update-Alternativen gemacht --config java. Jetzt sagen Chrome und Firefox, dass mein Java-Plugin blockiert ist, weil es alt ist ...
CaldwellYSR
Führen Sie update-java-alternatives mit der Option --plugin aus und setzen Sie es auf den ursprünglichen Wert zurück. Mit diesem Tool können Sie Standardeinstellungen mischen und anpassen. Die mit 11.10 installierten Browser erwarten möglicherweise sun-java7.
BillThor
13

Um Oracle Java 7 zu deinstallieren, drücken Sie einfach Ctrl+ Alt+ Tauf Ihrer Tastatur, um Terminal zu öffnen. Führen Sie beim Öffnen den folgenden Befehl aus.

sudo update-alternatives --display java

So überprüfen Sie das Setup vor der Deinstallation von Java.

Entfernen Sie anschließend die Symlinks

(Ersetzen Sie das Wort (Version) durch Ihre Java-Version. java -versionTUN Sie, um Ihre zu erhalten. Wenn Ihre Version also 1.7.0_03 ist, würden Sie dies tun. 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"

Stellen Sie sicher, dass die Symlinks entfernt wurden

java -version
javac -version
which javaws

Die nächsten 2 Befehle müssen genauestens eingegeben werden, um eine dauerhafte Zerstörung Ihres Systems zu vermeiden .

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

Dann mach

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

Dann mach

sudo vi  /etc/environment

Löschen Sie die Zeile mit JAVA_HOME 1



So deinstallieren Sie OpenJDK (falls installiert). Überprüfen Sie zunächst, welche OpenJDK-Pakete installiert sind.

sudo dpkg --list | grep -i jdk

So entfernen Sie openjdk:

sudo apt-get purge openjdk*

Deinstallieren Sie OpenJDK-bezogene Pakete.

sudo apt-get purge icedtea-* openjdk-*

Stellen Sie sicher, dass alle OpenJDK-Pakete entfernt wurden.

sudo dpkg --list | grep -i jdk

1 Quelle: akbarahmed.com

Mitch
quelle
Könnten Sie den /usr/lib/jvmOrdner nicht auch entfernen ? Soweit ich weiß wird das nur von Java genutzt.
njallam
Ich nehme an, Sie könnten das hinzufügen, oder ich kann es mit Ihrem OK.
Mitch
3

Versuchen Sie diesen Befehl:

java -version

Wenn 1.6 * kommt, dann versuche:

sudo apt-get autoremove openjdk-6-jre

Wenn 1.7 * kommt, dann versuche:

sudo apt-get autoremove openjdk-7-jre

Angenommen, Sie haben kein JDK in Ihrem System. Wenn Sie diesen Befehl verwendet haben:

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

Ersetzen Sie durch die Version, wie wir es im vorherigen Beispiel getan haben.

Pranit Bauva
quelle
2

einfacher ist es, synaptic zu verwenden.

Klicken Sie auf die Registerkarte "Abschnitte" und scrollen Sie nach unten zu Java. Wählen Sie einfach jedes Element aus, das Sie mit einem grünen Kästchen sehen, und markieren Sie es für die vollständige Entfernung. Wiederholen Sie dies für alle Java-Abschnitte und alle Dateien.

rob grune
quelle
1

Einverstanden mit Eliah. Mit dem Befehl "apt-get purge" können diese Pakete vollständig entfernt werden.

Vorausgesetzt, Sie haben zuvor eine Kopie des Java-6-Sun-Pakets installiert, hilft ein Follow-up dabei, defekte symbolische Links zu beseitigen:

sudo update-alternatives --config java

Wählen Sie dann einen korrekten Pfad aus, den Sie als Standard-Java-Aufrufpfad verknüpfen möchten.

Dann überprüfen Sie die Java-Version mit folgendem Befehl:

java -version
code_x747
quelle
1

Entfernen Sie einfach alle Dateien von JDK oder JRE, zum Beispiel ist es normalerweise an diesem Ort installiert:

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

Entfernen Sie alle Dateien im Ordner "java-7-oracle" mit Root-Berechtigung und extrahieren Sie die neuesten JDK- oder JRE-Dateien. Jetzt haben Sie die neueste Java-Version installiert.

PS Ihr Verzeichnisname kann von java-7-oracle abweichen .

Referenz: Offizielle Installationsanleitung von Oracle

Sohail xIN3N
quelle