Comment désinstaller complètement Java?

147

Comment puis-je supprimer complètement toutes les traces de Java sur mon système?

Je sais déjà comment l'installer au cas où j'en aurais besoin à nouveau.

CaldwellYSR
la source

Réponses:

311
  1. Supprimez tous les packages liés à Java (Sun, Oracle, OpenJDK, plug-ins 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. Purger les fichiers de configuration (attention. Cette commande a également supprimé les fichiers de configuration de libsgutils2-2 et de virtualbox):

    dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
  3. Supprimer la configuration Java et le répertoire de cache:

    sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
  4. Supprimez les JVM installées manuellement:

    sudo rm -rf /usr/lib/jvm/*
  5. Supprimez les entrées Java, s'il en reste, des alternatives :

    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. Recherchez d'éventuels répertoires Java restants:

    sudo updatedb
    sudo locate -b '\pack200'
    

    Si la commande ci - dessus produit une sortie comme /path/to/jre1.6.0_34/bin/pack200supprimer le répertoire qui est parent de bin , comme ceci: sudo rm -rf /path/to/jre1.6.0_34.

Eric Carvalho
la source
6
Avez-vous testé cette réponse? Je suis raisonnablement certain que vous avez tout compris, mais vérifiez bien. :)
Jorge Castro
10
@ JorgeCastro, absolument. J'ai construit ces commandes une par une, puis je les ai reliées ensemble et je les ai toutes exécutées dans différents scénarios d'installation Java que j'ai à des fins de test sur certains postes de travail au travail. J'ai vraiment fait attention à la sortie de ce grepqui est connecté apt-get remove, je pense que cela couvre presque toutes les possibilités concernant l'installation par des paquets deb.
Eric Carvalho
2
Bien que la séquence de commandes présentée fonctionne dans la plupart des cas, je pense que ma réponse nécessite quelques améliorations. Tout le monde, s'il vous plaît, n'hésitez pas à suggérer des changements qui peuvent l'améliorer, comme une meilleure explication de chaque commande ou un scénario non couvert par ceux-ci.
Eric Carvalho
3
+1 pour la réponse. J'ai récemment découvert un scénario dans lequel la suppression d'Openjdk entraîne l'installation d'autres packages Java. Une solution à ce problème consiste à désactiver tout le référentiel, puis à exécuter la commande de suppression.
Anwar
1
@EricCarvalho Lorsque j'ai lancé la commande, sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rfla réponse du terminal a été déclarée invalide.
N00B
38

Pour supprimer complètement OpenJDK sur Ubuntu 11.10 (cela peut être suffisant ou non sur d'autres versions d'Ubuntu), exécutez:

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

Si vous souhaitez obtenir des instructions sur la suppression de la version propriétaire de Java ("Sun"), vous devez spécifier comment vous l'avez installée. (Si vous modifiez votre question pour l'indiquer et laissez un commentaire sur cette réponse, j'essaierai d'ajouter des informations sur la façon de la supprimer également.)

Eliah Kagan
la source
J'ai essayé ce qui précède, et cela s'est terminé sans erreur sur Ubuntu 11, mais après, je peux toujours exécuter la version java et obtenir la version openjdk "11.0.3" 2019-04-16
John Little
17

Il se peut que vous n’ayez pas besoin de supprimer complètement OpenJDK pour résoudre votre problème. Installez les packages sun-java6. Utilisez ensuite update-java-alternativespour passer aux packages Sun Java.

Si vous souhaitez supprimer complètement OpenJDK, supprimez les packages default-jdk et / ou default-jre. Vous devrez peut-être supprimer certains packages Java, mais la plupart d'entre eux devraient être satisfaits une fois que les packages Sun JDK sont installés.

Vous voudrez peut-être suivre l'un de ces conseils de nettoyage une fois que vous aurez fini de supprimer les paquets.

BillThor
la source
J'ai déjà fait la mise à jour-java-alternatives. J'aurais dû le mentionner. J'ai également mis à jour-alternatives --config java. Maintenant, chrome et firefox me disent que mon plugin java est bloqué car il est vieux ...
CaldwellYSR
Exécutez update-java-alternatives avec l'option --plugin et rétablissez la valeur d'origine. Vous pouvez mélanger et faire correspondre les valeurs par défaut avec cet outil. Les navigateurs installés avec 11.10 attendent peut-être sun-java7.
BillThor
13

Pour désinstaller Oracle Java 7, appuyez simplement sur les touches Ctrl+ et Alt+ Tde votre clavier pour ouvrir Terminal. Quand il s'ouvre, lancez la commande ci-dessous.

sudo update-alternatives --display java

Pour vérifier la configuration avant de désinstaller Java.

Ensuite, supprimez les liens symboliques

(remplacez le mot (version) par votre version de Java. FAITES-VOUS java -versionobtenir le vôtre. Si votre version est 1.7.0_03, vous le feriez 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"

vérifier que les liens symboliques ont été supprimés

java -version
javac -version
which javaws

Les 2 commandes suivantes doivent être dactylographiées de manière parfaitement parfaite pour éviter de détruire définitivement votre système .

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

Alors fais

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

Alors fais

sudo vi  /etc/environment

Supprimer la ligne avec JAVA_HOME 1



Pour désinstaller OpenJDK (s’il est installé). Commencez par vérifier quels packages OpenJDK sont installés.

sudo dpkg --list | grep -i jdk

Pour supprimer openjdk:

sudo apt-get purge openjdk*

Désinstallez les packages liés à OpenJDK.

sudo apt-get purge icedtea-* openjdk-*

Vérifiez que tous les packages OpenJDK ont été supprimés.

sudo dpkg --list | grep -i jdk

1 Source: akbarahmed.com

Mitch
la source
Ne pouvez-vous pas supprimer le /usr/lib/jvmdossier aussi? Autant que je sache, cela n’est utilisé que par Java.
njallam
Je suppose que vous pouvez, vous pouvez ajouter cela, ou je peux avec votre OK.
Mitch
3

Essayez cette commande:

java -version

Si 1.6 * vient alors essayez:

sudo apt-get autoremove openjdk-6-jre

Si 1.7 * arrive alors essayez:

sudo apt-get autoremove openjdk-7-jre

En supposant que vous n’ayez pas jdk dans votre système. Si vous avez utilisé cette commande:

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

remplacez par la version comme nous l'avons fait dans l'exemple précédent.

Pranit Bauva
la source
2

plus facile est d'utiliser synaptique.

cliquez sur l'onglet "sections" défiler vers le bas pour java. sélectionnez simplement chaque élément que vous voyez avec une boîte verte et marquez-le pour une suppression complète. Répétez l'opération pour toutes les sections Java et tous les fichiers.

rob grune
la source
1

D'accord avec Eliah. La commande "apt-get purge" peut supprimer complètement ces paquets.

En supposant que vous ayez déjà installé une copie du paquet java-6-sun, un suivi aidera à supprimer le lien symbolique brisé:

sudo update-alternatives --config java

Puis sélectionnez le chemin correct que vous souhaitez lier en tant que chemin d’appel Java par défaut.

Ensuite, vérifiez la version de Java avec cette commande:

java -version
code_x747
la source
1

Supprimez simplement tous les fichiers de JDK ou JRE, par exemple, il est généralement installé à cet emplacement:

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

Donc, supprimez tous les fichiers qui se trouvent dans le dossier "java-7-oracle" avec l’autorisation root et extrayez les fichiers JDK ou JRE les plus récents. Voilà, vous avez maintenant la dernière version de Java installée.

PS Votre nom de répertoire peut différer de java-7-oracle .

Référence: Instruction officielle d'installation d'Oracle

Sohail xIN3N
la source