Debian Wheezy 和 openjdk-6-* 包

Debian Wheezy 和 openjdk-6-* 包

刚才我在 Minecraft 上摆弄时发现了一些奇怪的事情 - 它使用的是 OpenJDK 6(至少对于我的配置文件而言,我不知道启动器使用的是哪个......),我没有意识到它是默认安装的。(当然我应该意识到这一点,我相信 Libre Office 使用它......Java,就是这样。)

我通常openjdk-7-jre在全新安装后设置系统时安装该软件包。

是否有理由保留 OpenJDK 6?如果没有,如何完全删除它?我尝试了一个简单的apt-get autoremove openjdk-6-jre,但它也想删除default-jre,但我不知道它是什么或具体做什么。

我使用 OpenJDK 7 测试了 Minecraft,一切似乎都很好!

如果要求保留它,有没有办法让 OpenJDK 7 成为其他所有不需要 OpenJDK 6 的默认设置?

更新:

我做了更多搜索,发现

update-alternatives --config java

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

Press enter to keep the current choice[*], or type selection number:

我选择“2”并按回车键。

which java

这只给了我输出/usr/bin/java,而不是像帖子所说的那样从技术上讲它正在使用哪个版本。

我还打开了 Libre Office 并查看了选项 - 它有更改要使用的 JDK 的选项,所以我也将其换成了版本 7。

因此问题仍然存在,OpenJDK 6 是否必须保留,或者是否可以将其删除以代替 OpenJDK 7?如果我可以删除它,我该如何彻底删除它?

答案1

Debian 使用 update-alternative 来允许轻松地在给定程序的各个版本之间切换。

看看 /usr/bin/java

# ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 janv. 19 23:12 /usr/bin/java -> /etc/alternatives/java

这是 /etc/alternatives/java 的链接:

# ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 45 janv. 19 23:12 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java

如您所见,在我的系统上,我使用 java-6-openjdk-i386 作为我的 JRE。

查看你的系统的结果:

readlink -f /usr/bin/java

此命令显示调用 java 时使用的实际二进制文件。

至于删除 openjdk-6,您可以放心地这样做。default-jre 包只是一个“虚拟”包,只包含对 openjdk 6 的依赖。它用于简化 Java 的安装。

相关内容