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

Debian安装JAVA环境(转载)的更多相关文章

  1. 安装 java环境 和 tomcat

    安装 java环境 和 tomcat -- JAVA部分 tar xf jdk-8u60-linux-x64.tar.gz cd /root/soft/jdk1.8.0_60 mkdir /usr/l ...

  2. 集群安装Java环境

    需要安装一个集群环境,发现全部要手动安装java.记录下安装Java环境的过程.虽然,依旧是挨个安装,但总算是有体系了. java 找到下载地址: https://www.oracle.com/tec ...

  3. 在CentOS上安装Java环境

    如何使用yum方式在CentOS上安装Java环境,系统以CentOS6.4为例. 工具/原料 Java JDK yum库 CentOS6.4 方法/步骤 1 查看CentOS自带JDK是否已安装. ...

  4. Linux下安装Java环境配置

    1.下载安装文件 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2. ...

  5. Ubuntu安装java环境

    Ubuntu安装java环境 1.添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 2.安装oracle-j ...

  6. Kali下安装Java环境

    <-----教你在Kali下安装Java环境-----> 1. 下载1.8u121的JAVA JDK 下载地址:http://java.sun.com/javase/downloads/i ...

  7. 如何安装java环境和如何配置java环境

    https://jingyan.baidu.com/article/0202781175839b1bcc9ce529.html java如今是一门十分热门的可跨平台面向对象的高级编程语言,那么作为学习 ...

  8. CentOS7安装JAVA环境

    安装JAVA环境我常用的有两种形式 1.下载tar包安装 2.下载rpm包直接安装 本篇内容就写这两种形式的安装方法: JAVA程序的下载地址:https://www.oracle.com/java/ ...

  9. 在 CentOS/Fedora 下安装 JAVA 环境

    介绍 本文介绍如何在 CentOS 7(6/6.5). Fedora.RHEL 上安装 Java.Java是一个流行的软件平台,允许您运行Java应用程序. 本文涵盖了以下Java版本的安装: Ope ...

随机推荐

  1. Binary Tree Level Order Traversal II 解答

    Question Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, ...

  2. sde需要注意的几个常见问题

      Desktop 10.4 是32位的,Server 10.4是64位的,因此位的Oracle客户端,位的Oracle客户端. 如果Desktop和Server安装在同一台机器上,那么Oracle客 ...

  3. Maven引入hadoop依赖包出错解决办法

    错误: ArtifactTransferException: Failure to transfer org.apache.hadoop:hadoop-hdfs:jar:2.6.0 from http ...

  4. Clash of Clans(COC)资源压缩解密

    Clash of Clans,简称为COC,中文名<部落冲突>,是ios平台上一款相当火爆的战斗策略类游戏,开发商是芬兰的supercell,据说日收入上百万美刀,创造了手游史上的一个神话 ...

  5. AliCTF 2016

    上上周参加了阿里的CTF,靠着最后绝杀队伍有幸拿到了国内第一名,也顺利进入了XCTF Final.把自己做的几个题简单写了下,发出来也算个总结吧. PWN-FB 经典的null byte overfl ...

  6. HDU 5791 Two

    题意:给两个序列,求公共序列的个数 分析:很自然想到最长公共子序列的转移的转移形式,用dp[i][j]表示第一个串前i个 和第二个串前j个匹配的答案数量,a[i]==b[i],dp[i][j]=dp[ ...

  7. JQ 事件

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. <转>Python的内存泄漏及gc模块的使用分析

    一般来说在 Python 中,为了解决内存泄漏问题,采用了对象引用计数,并基于引用计数实现自动垃圾回收.由于Python 有了自动垃圾回收功能,就造成了不少初学者误认为自己从此过上了好日子,不必再受内 ...

  9. HDU 2653 - Waiting ten thousand years for Love

    首先,对于一个 '@' 飞上去,飞下来都要耗1点魔力,所以是两点= = 然后站在同一格 魔力可能不同,所以要增加一维. 还有当前搜到的不一定是最小. 别的也没啥. #include <iostr ...

  10. Spring中注解的使用详解

    一:@Rsource注解的使用规则 1.1.案例演示 Spring的主配置文件:applicationContext.xml(因为我这里将会讲到很多模块,所以我用一个主配置文件去加载各个模块的配置文件 ...