我怎样才能彻底删除系统上的所有 Java 痕迹?
我已经知道了如何安装以防我再次需要它。
答案1
删除所有与 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
删除父目录垃圾桶, 像这样:sudo rm -rf /path/to/jre1.6.0_34
。
答案2
要在 Ubuntu 11.10 上完全删除 OpenJDK(在其他版本的 Ubuntu 上这可能不够),请运行:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
如果您需要有关删除专有 Oracle (“Sun”) 版本的 Java 的说明,则必须指定如何安装它。 (如果您编辑问题以表明这一点并对此答案发表评论,我也会尝试添加有关如何删除它的信息。)
答案3
要卸载 Oracle Java 7,只需按 键盘上的Ctrl+ Alt+T打开终端。打开后,运行以下命令。
sudo update-alternatives --display java
卸载 Java 之前检查设置。
接下来,删除符号链接
(将单词 (version) 替换为您的 Java 版本。请执行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"
验证符号链接是否已被删除
java -version javac -version which javaws
接下来的两个命令必须输入得非常完美,以免永久破坏你的系统。
cd /usr/lib/jvm sudo rm -rf jdk<version>
然后做
sudo update-alternatives --config java sudo update-alternatives --config javac sudo update-alternatives --config javaws
然后做
sudo vi /etc/environment
删除 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
答案4
尝试这个命令:
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
像我们在前面的例子中所做的那样替换版本。