Ubuntu – How to completely uninstall Java

javaopenjdkuninstall

How can I completely remove all traces of Java on my system?

I already know how to install it in case I need it again.

Best Answer

    1. Remove all the Java related packages (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. Purge config files (careful. This command removed libsgutils2-2 and virtualbox config files too):

      dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
      
    3. Remove Java config and cache directory:

      sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
      
    4. Remove manually installed JVMs:

      sudo rm -rf /usr/lib/jvm/*
      
    5. Remove Java entries, if there is still any, from the 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. Search for possible remaining Java directories:

      sudo updatedb
      sudo locate -b '\pack200'
      

      If the command above produces any output like /path/to/jre1.6.0_34/bin/pack200 remove the directory that is parent of bin, like this: sudo rm -rf /path/to/jre1.6.0_34.

  • Related Question