Debian Wheezy 和 openjdk-6-* 軟體包

Debian Wheezy 和 openjdk-6-* 軟體包

I was fiddling around on Minecraft a moment ago and noticed something strange - It was using OpenJDK 6 (at least for my profile, I don't know what the launcher is using...), which I didn't realize was installed by預設. (當然我應該意識到這一點,我相信 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”並按 Enter 鍵。

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.lang.String 時所使用的真實二進位。

至於刪除openjdk-6,你可以放心地進行。 default-jre 套件只是一個「虛擬」包,只包含對 openjdk 6 的依賴項。

相關內容