海王  

 http://blog.csdn.net/gongora/archive/2009/05/15/4190469.aspx

Debian官方没有维护专门的Java软件包,所以不能直接用apt-get工具来安装。在Debian系统中要安装Java,有两种方式,一种是用传统方式;一种是Debian方式。

1. 传统方式

在 sun 下载了最新的 JDK,我下载的是 jdk-6u13-linux-i586.bin 并把该文件的属性改成可执行,直接执行该文件

SUN:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html

# chmod +x jdk-6u13-linux-i586.bin

# ./jdk-6u13-linux-i586.bin

程序运行后会当前目录下生成一个名为 jdk1.6.0_13 的目录

把该目录拷贝到/usr/local/jdk1.6.0_13 ,并在系统初始化脚本中增加以下两个环境变量

export JAVA_HOME=/usr/local/jdk1.6.0_13   

export JRE_HOME=${JAVA_HOME}/jre  

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  

export PATH=${JAVA_HOME}/bin:$PATH

用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

posted on 2010-03-20 16:22  海王  阅读(662)  评论(0编辑  收藏  举报