Debian官方沒有維護專門的Java軟件包,所以不能直接用apt-get工具來安裝。在Debian系統中要安裝Java,有兩種方式,一種是用傳統方式;一種是Debian方式。
1. 傳統方式
在 sun 下載了最新的 JDK,我下載的是 jdk-6u13-linux-i586.bin 並把該文件的屬性改成可執行,直接執行該文件
# chmod +x jdk-6u13-linux-i586.bin
# ./jdk-6u13-linux-i586.bin
程序運行後會當前目錄下生成一個名爲 jdk1.6.0_13 的目錄
把該目錄拷貝到/usr/local/jdk1.6.0_13 ,並在系統初始化腳本中增加以下兩個環境變量
export CLASSPATH=/usr/local/jdk1.6.0_13/lib
export JAVA_HOME=/usr/local/jdk1.6.0_13
用java -version命令進行測試
使用傳統方式安裝的java沒有歸併到Debian軟件包體系中,所以在Debian的軟件包數據庫中不會存在java的依賴關係信息。且不能用Debian的軟件包管理程序進行管理,只能手工維護。也就是說,如果我們要刪除java,只能手工刪除目錄和環境變量
2.Debian方式
通過java-package包提供的make-jpkg程序,從SUN官方的java軟件包生成一個Debian軟件包
先安裝 java-package 、 fakeroot
# apt-get install java-package
# apt-get install fakeroot
下載官方的java軟件包,並用以下命令生成Debian格式的java軟件包。注意,make-jpkg程序不能在root環境下運行,我們要使用fakeroot程序。
# cp jdk-6u13-linux-i586.bin /home/gongora/
# chown gongora jdk-6u13-linux-i586.bin
# su gongora
# fakeroot make-jpkg jdk-6u13-linux-i586.bin
遇到一個錯誤:
Creating temporary directory: /tmp/make-jpkg.uVWRTO8655
Loading plugins: blackdown-j2re.sh blackdown-j2sdk.sh common.sh ibm-j2re.sh ibm-j2sdk.sh j2re.sh j2sdk-doc.sh j2sdk.sh j2se.sh sun-j2re.sh sun-j2sdk-doc.sh sun-j2sdk.sh
Detected Debian build architecture: i386
Detected Debian GNU type: i486-linux-gnu
No matching plugin was found.
Removing temporary directory: done
網上查了下 發現原來是java-package的安裝腳本不能識別最新版jdk安裝文件的文件名
/usr/share/java-package/sun-j2sdk.sh,裏面有一段
"jdk-6u"[0-9]"-linux-i586.bin") # SUPPORTED
j2se_version=1.6.0+update${archive_name:6:1}${revision}
j2se_expected_min_size=130
found=true
即用來識別jdk1.6的安裝bin文件,但請注意"jdk-6u"[0-9]"-linux-i586.bin"這一句導致它只能識別jdk-6u9版本以下的.bin文件
將此句改成"jdk-6u"[0-9][0-9]"-linux-i586.bin")
重新打包 OK
在當前目錄下就會生成一個Debian軟件包 sun-j2sdk1.6_1.6.0+update1_i386.deb
以root身份安裝該軟件包
# su root
# dpkg –i sun-j2sdk1.6_1.6.0+update1_i386.deb
最後設置java的環境變量, 修改 /etc/profile 在 最後 增加
PATH=/usr/lib/j2sdk1.6-sun/bin:$PATH
JAVA_HOME=/usr/lib/j2sdk1.6-sun/
CLASSPATH=.:/usr/lib/j2sdk1.6-sun/jre/lib
export PATH
export JAVA_HOME
export CLASSPATH
OK 安裝完成
==========
參考:
http://www.ringkee.com/note/opensource/debian/ch09s28.html#id2903080
http://forum.ubuntu.org.cn/viewtopic.php?f=88&t=163760