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. Types of Binary Tree

    Complete Binary Tree According to wiki, A complete binary tree is a binary tree in which every level ...

  2. Red and Black(BFS or DFS) 分类: dfs bfs 2015-07-05 22:52 2人阅读 评论(0) 收藏

    Description There is a rectangular room, covered with square tiles. Each tile is colored either red ...

  3. cenos 7 安装php7

    1. CentOS/RHEL 7.x: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm ...

  4. 小明系列问题——小明序列(Lis 相距大于d的单调上升子序列)

    小明系列问题——小明序列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

  5. C# 数据的序列化存取

    1,什么是序列化? 序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列 ...

  6. 在spring+hibernaet+mysql事务处理中遇到的一些坑

    spring的事务处理本来就是依赖于底层的实现,比如hibernate及数据库本身. 所以,当使用mysql数据库时,首先要确定的是,所操作的对象表是innodb格式的. 1. read-only方法 ...

  7. 生成html文件

    第一步:建立一个MbPage.html页面 第二步:后台生成 public void ProcessRequest(HttpContext context)        {            c ...

  8. IOS中设置状态栏的状态

    IOS上 关于状态栏的相关设置(UIStatusBar) 知识普及 ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时 ...

  9. juce viewport使用

    1.设置内容组件 void PropertyPanel::init() { messageWhenEmpty = TRANS("(nothing selected)"); addA ...

  10. 安装完CentOS 7 Minimal之后,从头打造桌面工作环境

    安装完CentOS 7 Minimal之后,从头打造桌面工作环境 U盘装CentOS 7 DVD版不能引导的解决办法 更改root密码 SSH登录 增加除root之外的常规用户 装完CentOS 7之 ...