¿Cómo desinstalar completamente Java?

Respuestas:

311
  1. Elimine todos los paquetes relacionados con Java (Sun, Oracle, OpenJDK, complementos 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. Purgue los archivos de configuración (cuidado. Este comando también eliminó los archivos de configuración libsgutils2-2 y virtualbox):

    dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
  3. Elimine la configuración de Java y el directorio de caché:

    sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
  4. Eliminar JVM instaladas manualmente:

    sudo rm -rf /usr/lib/jvm/*
  5. Elimine las entradas de Java, si todavía hay alguna, de las alternativas :

    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. Busque posibles directorios restantes de Java:

    sudo updatedb
    sudo locate -b '\pack200'
    

    Si el comando anterior produce ninguna salida como /path/to/jre1.6.0_34/bin/pack200quitar el directorio que es el padre de bin , así: sudo rm -rf /path/to/jre1.6.0_34.

Eric Carvalho
fuente
66
¿Has probado esta respuesta? Estoy razonablemente seguro de que lo tienes todo, pero solo verificando dos veces. :)
Jorge Castro
10
@JorgeCastro, absolutamente. Construí esos comandos uno por uno, luego los conecté todos y los ejecuté en diferentes escenarios de instalación de Java que tengo para fines de prueba en algunas estaciones de trabajo. Realmente presté atención a la salida de grepeso apt-get remove, creo que cubre casi todas las posibilidades con respecto a la instalación mediante paquetes deb.
Eric Carvalho
2
Aunque la secuencia de comandos presentada funciona en la mayoría de los casos, creo que mi respuesta necesita algunas mejoras. Todos, por favor, siéntanse libres de sugerir cambios que puedan mejorarlo, como una mejor explicación de cada comando o señalar un escenario no cubierto por ellos.
Eric Carvalho
3
+1 por la respuesta. Recientemente encontré un escenario en el que eliminar openjdk provoca la instalación de otros paquetes java. Una solución para este problema es deshabilitar todo el repositorio y luego ejecutar el comando de eliminación.
Anwar
1
@EricCarvalho Cuando emití el comando, sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rfla respuesta del terminal se declaró no válida.
n00b
38

Para eliminar completamente OpenJDK en Ubuntu 11.10 (esto puede o no ser suficiente en otras versiones de Ubuntu), ejecute:

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

Si desea obtener instrucciones para eliminar la versión propietaria de Oracle ("Sun") de Java, deberá especificar cómo la instaló. (Si edita su pregunta para indicar esto y deja un comentario a esta respuesta, intentaré agregar información sobre cómo eliminarla también).

Eliah Kagan
fuente
Intenté lo anterior, y se completó sin error en Ubuntu 11, pero después de que todavía puedo ejecutar java -version y recuperar la versión de openjdk "11.0.3" 2019-04-16
John Little
17

Es posible que no necesite eliminar completamente OpenJDK para resolver su problema. Instale los paquetes sun-java6. Luego use update-java-alternativespara cambiar a los paquetes Sun Java.

Si desea eliminar por completo OpenJDK, elimine los paquetes default-jdk y / o default-jre. Es posible que deba eliminar algunos paquetes de Java, pero la mayoría de ellos deberían estar contentos una vez que tenga instalados los paquetes Sun JDK.

Es posible que desee seguir uno de estos consejos de limpieza una vez que haya terminado de eliminar los paquetes.

BillThor
fuente
Ya hice las actualizaciones-java-alternativas. Debería haber mencionado eso. También hice las alternativas de actualización --config java. Ahora Chrome y Firefox me dicen que mi plugin de Java está bloqueado porque es viejo ...
CaldwellYSR
Ejecute update-java-alternative con la opción --plugin y configúrelo al valor original. Puede mezclar y combinar valores predeterminados con esta herramienta. Los navegadores instalados con 11.10 pueden estar esperando sun-java7.
BillThor
13

Para desinstalar Oracle Java 7, simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute el siguiente comando.

sudo update-alternatives --display java

Para verificar la configuración antes de desinstalar Java.

A continuación, elimine los enlaces simbólicos

(reemplace la palabra (versión) con su versión de Java. HAGA java -versionpara obtener la suya. Entonces, si su versión es 1.7.0_03, lo haría 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"

verificar que se eliminaron los enlaces simbólicos

java -version
javac -version
which javaws

Los siguientes 2 comandos deben estar escritos de manera perfecta para evitar destruir permanentemente su sistema .

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

Entonces hazlo

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

Entonces hazlo

sudo vi  /etc/environment

Eliminar la línea con JAVA_HOME 1



Para desinstalar OpenJDK (si está instalado). Primero verifique qué paquetes de OpenJDK están instalados.

sudo dpkg --list | grep -i jdk

Para eliminar openjdk:

sudo apt-get purge openjdk*

Desinstalar paquetes relacionados con OpenJDK.

sudo apt-get purge icedtea-* openjdk-*

Verifique que se hayan eliminado todos los paquetes de OpenJDK.

sudo dpkg --list | grep -i jdk

1 Fuente: akbarahmed.com

Mitch
fuente
¿No podrías eliminar la /usr/lib/jvmcarpeta también? Que yo sepa, solo lo usa Java.
njallam
Supongo que podrías, puedes agregar eso allí, o yo puedo con tu autorización.
Mitch
3

Prueba este comando:

java -version

Si llega 1.6 *, intente:

sudo apt-get autoremove openjdk-6-jre

Si viene 1.7 *, intente:

sudo apt-get autoremove openjdk-7-jre

Asumiendo que no tienes jdk en tu sistema. Si ha usado este comando:

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

reemplace con la versión como lo hicimos en el ejemplo anterior.

Pranit Bauva
fuente
2

más fácil es usar synaptic.

haga clic en la pestaña "secciones", desplácese hacia abajo hasta Java. simplemente seleccione cada elemento que vea con un cuadro verde y márquelo para eliminarlo por completo. repita para todas las secciones de Java y todos los archivos.

Rob Grune
fuente
1

De acuerdo con Eliah. El comando "apt-get purge" puede eliminar esos paquetes por completo.

Suponiendo que haya instalado previamente una copia del paquete java-6-sun, un seguimiento ayudará a deshacerse del enlace simbólico roto:

sudo update-alternatives --config java

Y luego seleccione una ruta correcta que desee vincular como ruta de llamada predeterminada de Java.

Luego verifique la versión de Java con este comando:

java -version
code_x747
fuente
1

Simplemente elimine todos los archivos de JDK o JRE, por ejemplo, generalmente se instala en esta ubicación:

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

Por lo tanto, eliminar todos los archivos reside en la carpeta "java-7-oracle" con permiso de root y extraer los últimos archivos JDK o JRE. Eso es todo, ahora tendrías instalada la última versión de Java.

PD: el nombre de su directorio puede diferir de java-7-oracle .

Referencia: instrucciones de instalación oficiales de Oracle

Sohail xIN3N
fuente