Debian Java

2004 年 10 月 1 日

在 Debian 上安裝大多數東西都非常容易:apt-get install package-name。遺憾的是,Java 是個例外,因為它不在基本的 Debian 系統中。我最近在我的 Debian Sid 桌面上下載並安裝了 Java 1.5(或 5,或他們現在稱呼的任何名稱)。簡而言之,程序如下。

# apt-get install java-package
download the sun jdk from java.sun.com
# make-jpkg jdk-1_5_0-linux-i586.bin
# dpkg -i sun-j2sdk1.5_1.5.0_i386.deb
# apt-get install sun-j2sdk1.5debian
# update-alternatives --config java

(這是我的做法。對我來說有效,但可能不是最好的方法,也不一定對你有效。)

現在來說說血腥的細節。要將 Java 安裝成 Debian 套件,你需要一個工具來將 Sun 安裝程式 Debian 化。有幾個腳本可以做到這一點,我花了好大功夫才找出哪一個才是正確的(我用不同的腳本安裝了好幾次)。看起來最好的選擇可能是 Sid 中提供的 java-package。(另一個選擇是 j2se-package,但這個 現在已經過時了

從 Sun 下載安裝程式,你需要以「.bin」結尾的那個 - 不要使用 RPM。

一旦你有了二進位檔,你就可以使用二進位檔上的 make-jpkg 指令對它進行 Debian 化。

當我這樣做時(使用所有三個腳本),我遇到了一個問題,因為這些腳本目前未設定為辨識 Sun 的 Java 1.5 二進位檔檔名(在你讀到這篇文章時,這很可能已經修復了)。為了修復它,我編輯了 /usr/share/java-package/sun-j2sdk.sh。(如果你不知道如何,請等到它更新。)編輯後,Debian 套件就可以順利建置了。

套件建置好後,我把它移到我存放自訂套件的地方(/root/debs),然後執行 dpkg 來安裝它。它出現了一個錯誤,說它因為依賴於 sun-j2sdk1.5debian 而無法安裝。不過別驚慌 - 如果你接著使用 apt-get 安裝 sun-j2sdk1.5debian,一切都安裝得很好。你不能反過來做,因為 sun-j2sdk1.5debian 依賴於 sun-j2sdk1.5。

如果你之前已經這樣安裝了 Java,在命令列中輸入「java」只會給你舊的 VM。要取得新的,請使用 update-alternatives(或者你也可以自己建立連結)。

感謝 Michael Schuerig 讓我了解更新的封裝腳本。我最近發現了這個 安裝程序說明,看起來比我這裡的說明好多了。

Dirk Estievenart 告訴我一些過時的事情。以下是他的安裝程序

//download bin jdk from Sun
#apt-get install java-package
//exit root and login with normal user:
#fakeroot make-jpkg jdk-1_5_0_06-linux-i586.bin
//su again:
#dpkg -i sun-j2sdk1.5_1.5.0+update06_i386.deb
#update-alternatives --config java
# java -version
//The latter just to check