问题描述
我怎样才能完全删除我的系统上的所有Java的痕迹?
如果我再次需要,我已经知道我如何安装Java?。
最佳解决办法
-
删除所有与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
-
清除配置文件(小心,该命令也删除了libsgutils2-2和virtualbox配置文件):
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
-
删除Java配置和缓存目录:
sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
-
删除手动安装的JVM:
sudo rm -rf /usr/lib/jvm/*
-
从其他选项中删除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
-
搜索可能的剩余Java目录:
sudo updatedb sudo locate -b '\pack200'
如果上面的命令产生像
/path/to/jre1.6.0_34/bin/pack200
这样的输出,请删除bin的父目录,如下所示:sudo rm -rf /path/to/jre1.6.0_34
。
次佳解决办法
要彻底删除Ubuntu 11.10上的OpenJDK(在其他版本的Ubuntu上这可能还是不够),请运行:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
如果您需要删除Java专有Oracle(“Sun”)版本的说明,那么您必须指定如何安装它。 (如果你编辑你的问题来表明这一点,并留下对这个答案的评论,我会尝试添加关于如何删除它的信息。)
第三种解决办法
你可能不需要完全删除OpenJDK来解决你的问题。安装sun-java6软件包。然后使用update-java-alternatives
切换到Sun Java软件包。
如果您确实想完全删除OpenJDK,请删除default-jdk和/或default-jre软件包。您可能需要删除一些java包,但是一旦安装了Sun JDK包,大部分java包都会很快乐。
一旦完成移除包裹,您可能想要关注其中一个cleanup tips。
第四种办法
To uninstall Oracle Java 7, just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the command below.
sudo update-alternatives --display java
To check the setup before uninstalling Java.
Next, remove symlinks
(用您的Java版本替换单词(版本)。DO 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"
verify that the symlinks were removed
java -version javac -version which javaws
The next 2 commands must be type excatly perfectly to avoid permanently destroying your system.
cd /usr/lib/jvm sudo rm -rf jdk<version>
Then do
sudo update-alternatives --config java sudo update-alternatives --config javac sudo update-alternatives --config javaws
Then do
sudo vi /etc/environment
Delete the line with 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
第五种办法
试试这个命令:
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
替换为上一个示例中的版本。
参考资料