如何在 CentOS 4 及 CentOS 5 上安装 Java
时间:2016-05-08 17:22 来源:centos.org 作者:centos.org
1. 初步数据
Sun 在授权发行 Java(至 Java 6)的条款中,包含了 CentOS 小组自认不能满足的条件。与 Sun 的代表洽谈一个修正了的发行权的对话自 2008 年 8 月已开始,但至今仍未有成果。似乎 Sun 正在期待上游的 Fedora 计划提供较自由及较新的 Java 发布(即将在上游发生)。
特别备注:由 CentOS 5.3 开始,上游提供用来重建这计划的 base 及 updates 软件库的 SRPM 内,加入了 openjdk 这个开源产品作为发行版本的一部份。因此,CentOS 计划现在可以附带一个整合了的 Java 方案。这个方法大大简化了安装,而我们亦鼓励你考虑使用下列新组件,并将任何错误汇报给上游。
[user@host ~]$ sudo yum list \*java-1\* | grep open
java-1.6.0-openjdk.x86_64 1:1.6.0.0-0.25.b09.el5 base
java-1.6.0-openjdk-demo.x86_64 1:1.6.0.0-0.25.b09.el5 base
java-1.6.0-openjdk-devel.x86_64 1:1.6.0.0-0.25.b09.el5 base
java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.0-0.25.b09.el5 base
java-1.6.0-openjdk-src.x86_64 1:1.6.0.0-0.25.b09.el5 base
[user@host ~]$
除此之外,使用 AWT 的应用程序会需要某些字体,较有代表性的已包含在下列清单里:
[user@host ~]$ rpm -qa \*fonts\*
ghostscript-fonts-5.50-13.1.1
xorg-x11-fonts-base-7.1-2.1.el5
xorg-x11-fonts-Type1-7.1-2.1.el5
xorg-x11-fonts-75dpi-7.1-2.1.el5
bitmap-fonts-0.3-5.1.1
urw-fonts-2.3-6.1.1
xorg-x11-fonts-ISO8859-1-75dpi-7.1-2.1.el5
xorg-x11-fonts-100dpi-7.1-2.1.el5
xorg-x11-fonts-truetype-7.1-2.1.el5
xorg-x11-fonts-ISO8859-15-75dpi-7.1-2.1.el5
dejavu-lgc-fonts-2.10-1
bitstream-vera-fonts-1.10-7
xorg-x11-fonts-ISO8859-15-100dpi-7.1-2.1.el5
xorg-x11-fonts-ISO8859-1-100dpi-7.1-2.1.el5
liberation-fonts-1.0-1.el5
[user@host ~]$
假若你认为有需要用 Sun(或其它)的版本,你可能要进行手动式安装及接纳安装条款。这页概述了两个可行方法。多数的操作是以正常用户身份进行,而命令行上的 $ 提示字符代表这点。当需要采用 root 的权限时,命令行的提示字符会以 # 显示。很不幸地,这些方法与 CentOS 5.3 及其后版本的 alternatives 工具未能完全整合。
这里概述了两个方法 —— 方法一:它不会尝试配合 jpackage.org;方法二:它应该可行,但随著 Sun 发行新的 Java 版本便会渐渐过时。
2. 方法一:简单的做法
作者: RussHerrold
对于那些不需要整个 Jpackage(下面有描述)的人们来说,一个简单及轻量的方法就是安装 Java,令它能配合浏览器,及执行 Sun Java 的 .jar 文件。这些在 Trading Shim 网站上有所描述。
Sun 的 Java 1.4(j2sdk-1.4.2_15-fcs)、1.5(jdk-1.5.0_12-fc6)、及 1.6(jdk-1.6.0_07-fcs)[它被 Sun 称为 Java(TM) SE Development Kit 6]都可以通过以上指引来安装及启用,而且每个版本都被测试过能正常运作。JDK 1.5 及 1.6 每天都被应用在 CentOS 4 及 CentOS 5 系列的安装上。
<!> 很不幸地,这个方法不能与兼容 CentOS 5 上的 'tomcat5' 组件的需要;然而,有报告称 'yum -y install tomcat5 httpd' 能解决这个问题。
3. 方法二:一个较复杂的做法
合著作者: MikaelFridh
<!> 以下的 wiki 部份需要一个维护者,因为它自 2007 年 10 月 11 日起已经不再被积揧极地维护。 <!> MikaelFridh 已经于 2008 年 7 月 11 日更新及检查 JDK 1.6 部份。
*这份教学文件仍未完整。IRC 频道在 2007 年 7 月 27 日汇报下列部份已经过时。
你可以通过几个方法在 CentOS 4 或 5 上安装 Java 虚拟机器。服务器与桌面用户对于拥有「Java 环境」的要求各有不同。很多时候,桌面用户只需要 Java 来执行数个程序(包括 Mozilla Firefox 内的 Java 程序)。
3.1. 桌面用户的 Java
这里有两个非常简单的方法让 Java 在浏览器内运行,及执行 java 程序。
3.1.1. 采用 icedtea(只限 CentOS 6)
你只须利用 yum 安装 icedtea-web:
[user@host ~]$ yum install icedtea-web
重新引导浏览器后,Java 在多数程序内应该都能运作。java 证验程序(本页底部提供的连结)能正常地运行。 更多关于 icedtea 的信息可在这里找到.
3.1.2. 采用 Oracle JRE
另一个简易地安装 Java 虚拟机器的方法就是从 Sun 以 "'RPM in self-extracting file" 格式下载最新版 JDK,执行这个自动解压档,然后手动式地安装所得的 RPM。对桌面用户来说这可能已经足够了。
你果你的桌面计算机需要 Java,你无须依从这份文件所列出的步骤。
假若你只需要执行环境及浏览器的插件,请参阅如何安装来自 Java.com 的 Java Runtime Environment(JRE)并设置插件。
3.2. 开发者及服务器环境用的 Java
然而,服务器可能会甚为靠赖第三方软件库(例如 JPackage)所提供的组件,因此我们必须确保这些第三方的程序能够在一个预定的位置,于一颗贯切统一的目录树内找到 JDK 及它所依赖的组件。由 Sun 及 IBM 所提供的 JDK RPM 及二进制程序算不上能满足这个要求,因此便有需要重新整顿这些 JDK(重建 -nosrc RPM),或者使用兼容的组件(利用 -compat RPM)。可能的话,你应首选 -nosrc 的做法。这件文件描述了重建 -nosrc 及布署 -compat 的过程。
这份文件示范如何利用 JPackage 软件库来安装 Sun 或 IBM 的 JDK,版本包括 1.4.2、1.5.0 及 1.6.0。
最终,用户可以安装数个不同版本的 JDK,并利用 'alternatives' 指令来替代他们。
如果你是一位采用 Java 语言的开发者,或者你运行服务器,你可以利用这份文件所描述的方法来安装 Java 及应用 JPackage 软件库。
3.3. 首决条件
这份文件假设读者明白:
如何应用 su
简单地应用 rpm 及设置 .rpmmacros(见「RPM」及它所提及的页面)
如何应用 yum(见「Yum 与 RPM」)
3.4. 第一步·初期设置
设置 ~/.rpmmacros。如果你不知道它是什么,你可以利用以下样例,以你的 Linux 用户名称取代 <用户名称>。
如果你仍未阅读「Yum 与 RPM」,请记得它是这件教学文档的先决条件。
<!> 切记:~/.rpmmacros 及创建用的目录树永远不应由 root 用户来新增。为了你系统内已装组件的安全著想,请谨慎,及只用非 root 的户口来创建组件。
这个样例假设 ~/.rpmmacros 的内容包含了:
%_topdir /home/<用户名称>/rpmbuild
%_tmppath %{_topdir}/tmp
如果 ~/rpmbuild/ 目录树仍未存在,请记得创建它,但你的目录不一定要仿效这个样例被命名为 "rpmbuild"(请检查你的 ~/.rpmmacros):
$ mkdir -p ~/rpmbuild/{SOURCES,SRPMS,SPECS,RPMS,tmp,BUILD}
在创建组件前,创建环境必须是完整的。你所需的组件包括:
# yum install -y rpm-build gcc gcc-c++ redhat-rpm-config
请留意,唯有这些组件的安装是以 root 身份进行。
3.5. 第二步·安装你喜欢的 JDK
选择你喜欢的 JDK 供应商及版本:
A. Sun JDK 1.4.2
B. IBM JDK 1.4.2
C. Sun JDK 1.5.0
D. IBM JDK 1.5.0
E. Sun JDK 1.6.0
由这点开始,请确定你已登录为一般用户,而不是 root。
3.5.1. A. Sun JDK 1.4.2
已测试于:CentOS 4.7 及 CentOS 5.2
我推荐唯独专家才尝试安装这个 JDK,因为它可能有组件依赖方面的问题。权宜之计就是在安装 Sun JDK 1.4.2 前先安装 Sun JDK 1.5.0。
截至本文,拥有 JPackage 源代码组件的最新版 Sun JDK 1.4.2 是更新 17。请从 http://java.sun.com/j2se/1.4.2/download.html 下载 J2SE v1.4.2_17 SDK(假如已发布更新的 1.4 JDK,请用 Sun JDK 存储库)。请确定你下载的是 "self-extracting file",而不是 "RPM in self-extracting file",然后选择正确的结构(Itanium 处理器用 IA64,其它用 i586)。文件名称是 j2sdk-1_4_2_17-linux-i586.bin。下载完成后,将文件放入 ~/rpmbuild/SOURCES/:
$ mv j2sdk-1_4_2_17-linux-i586.bin ~/rpmbuild/SOURCES/
现在看一看 http://mirrors.dotsrc.org/jpackage/1.7/generic/SRPMS.non-free 并且为 java-1.4.2-sun-X*Z.nosrc.rpm 选择一个合适的版本。截至本文,它名叫 java-1.4.2-sun-1.4.2.17-1jpp.nosrc.rpm。下载这个文件,然后进入你存储 java-1.4.2-sun-X*Z.nosrc.rpm 文件的目录并创建组件:
$ rpmbuild --rebuild java-1.4.2-sun-1.4.2.17-1jpp.nosrc.rpm
完成后,下列文件将会被创建在 ~/rpmbuild/RPMS/i586 目录里:
java-1.4.2-sun-1.4.2.17-1jpp.i586.rpm
java-1.4.2-sun-alsa-1.4.2.17-1jpp.i586.rpm
java-1.4.2-sun-demo-1.4.2.17-1jpp.i586.rpm
java-1.4.2-sun-devel-1.4.2.17-1jpp.i586.rpm
java-1.4.2-sun-fonts-1.4.2.17-1jpp.i586.rpm
java-1.4.2-sun-jdbc-1.4.2.17-1jpp.i586.rpm
java-1.4.2-sun-plugin-1.4.2.17-1jpp.i586.rpm
java-1.4.2-sun-src-1.4.2.17-1jpp.i586.rpm
尝试通过 root 用户安装这些 RPM:
$ su -
# cd /home/<用户名称>/rpmbuild/RPMS/i586
# yum install java-1.4.2-sun-1.4.2.17-1jpp.i586.rpm
设置 Alternatives 系统并选择你所需的 JDK(以 root 身份执行):
# alternatives --config java
There are 4 programs which provide 'java'.
Selection Command
-----------------------------------------------
+ 1 /usr/lib/jvm/jre-1.5.0-sun/bin/java
* 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java
3 /usr/lib/jvm/jre-1.5.0-ibm/bin/java
4 /usr/lib/jvm/jre-1.4.2-sun/bin/java
Enter to keep the current selection[+], or type selection number: 4
#
接著尝试执行 Java:
$ java -version
你应该得到一个像以下的答覆:
java version "1.4.2_17"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_14-b06)
Java HotSpot(TM) Client VM (build 1.4.2_14-b06, mixed mode)
你亦可以安装其它经这个过程产生出来的 RPM,因为你可能需要它们:
java-1.4.2-sun-alsa —— ALSA 支持。
java-1.4.2-sun-demo —— 示范文件。
java-1.4.2-sun-devel —— 给开发者。
java-1.4.2-sun-fonts —— Sun JVM 用的 TrueType 字体。
java-1.4.2-sun-jdbc —— JDBC/ODBC 接桥驱动程序。
java-1.4.2-sun-plugin —— 浏览器的插件。
3.5.2. B. IBM JDK 1.4.2
已测试于:CentOS 4.4 及 CentOS 5.0
截至本文,最新版的 IBM JDK 1.4.2 是更新 8,而你需要的文件是:
IBMJava2-SDK-1.4.2-8.0.tgz
(兼容 Intel)来自 IBM Java 发行网址(必须在 IBM 网址登记)。
下载完成后,将文件命名为 IBMJava2-SDK-142.tgz,并将它放进 ~/rpmbuild/SOURCES:
$ mv IBMJava2-SDK-1.4.2-8.0.tgz ~/rpmbuild/SOURCES/IBMJava2-SDK-142.tgz
下载 http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/java-1.6.0-sun-compat-1.6.0.01-1jpp.i586.rpm (截至 2007 年 10 月 11 日它仍用得著)。注意这个名称会随著时间改变;请先用浏览器检阅那个目录,然后将文件名适当地修改。
创建组件:
$ rpmbuild --rebuild java-1.4.2-ibm-1.4.2.3-1jpp.nosrc.rpm
如果一切顺利,下列 RPM 会被创建在 ~/rpmbuild/RPMS/i586 目录里:
java-1.4.2-ibm-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-alsa-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-demo-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-devel-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-fonts-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-jdbc-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-plugin-1.4.2.3-1jpp.i386.rpm
java-1.4.2-ibm-src-1.4.2.3-1jpp.i386.rpm
以 root 身份安装这些 RPM:
$ su -
Password: <type root password>
# cd /home/<username>/rpmbuild/RPMS/i386
# rpm -Uvh java-1.4.2-ibm-1.4.2.3-1jpp.i386.rpm
# rpm -Uvh java-1.4.2-ibm-alsa-1.4.2.3-1jpp.i386.rpm
# rpm -Uvh java-1.4.2-ibm-jdbc-1.4.2.3-1jpp.i386.rpm
设置 Alternatives 系统并选择你所需的 JDK(以 root 身份执行):
# alternatives --config java
接著尝试执行 Java:
$ java -version
你应该得到一个像以下的答覆:
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
Classic VM (build 1.4.2, J2RE 1.4.2 IBM build cxia32142-20070321 (SR8) (JIT enabled: jitc))
3.5.3. C. Sun JDK 1.5
已测试于:CentOS 4.7 及 CentOS 5.2
下载 java-1.5.0-sun-1.5.0.15-1jpp.nosrc.rpm (于 2008 年 11 月 15 日测试过可用)。同样地,当新发布出现时,实际名称会改变;请使用浏览器检阅那个目录来寻找现有的名称。
从 Sun JDK 存储库 下载 Sun JDK 1.5 更新 15。请确定你下载 "self-extracting file" 而不是 "RPM in self-extracting file",然后选择正确的结构(32 位元及 i586 用 "Linux",64 位元及 x86_64 机种用 "Linux x64")。下面的指引是为 32 位元 JDK/JRE 而设的。(64 位元的 Sun JDK 文件名称以 "-amd64.bin" 结尾,而且没有浏览器插件,因此 -plugin rpm 不会被创建)
将文件移进 ~/rpmbuild/SOURCES
$ mv jdk-1_5_0_15-linux-i586.bin ~/rpmbuild/SOURCES
用这个指令使 .bin 文件成为可执行的:chmod +x ~/rpmbuild/SOURCES/jdk-1_5_0_15-linux-i586.bin
现在创建组件:
$ rpmbuild --rebuild java-1.5.0-sun-1.5.0.15-1jpp.nosrc.rpm
最后,如果一切顺利,有些 RPM 会被创建在 ~/rpmbuild/RPMS/i586 目录里:
java-1.5.0-sun-1.5.0.15-1jpp.i586.rpm
java-1.5.0-sun-alsa-1.5.0.15-1jpp.i586.rpm
java-1.5.0-sun-demo-1.5.0.15-1jpp.i586.rpm
java-1.5.0-sun-devel-1.5.0.15-1jpp.i586.rpm
java-1.5.0-sun-fonts-1.5.0.15-1jpp.i586.rpm
java-1.5.0-sun-jdbc-1.5.0.15-1jpp.i586.rpm
java-1.5.0-sun-plugin-1.5.0.15-1jpp.i586.rpm
java-1.5.0-sun-src-1.5.0.15-1jpp.i586.rpm
如果你想的话,你可以现在便将 java-1.5.0-sun-1.5.0.15-1jpp.nosrc.rpm 这个文件删除。
以 root 身份安装这些 RPM。要拥有 JRE 及浏览器插件,请这样做:
$ su -
# cd /home/<username>/rpmbuild/RPMS/i586
# rpm -Uvh java-1.5.0-sun-1.5.0.15-1jpp.i586.rpm
# rpm -Uvh java-1.5.0-sun-alsa-1.5.0.15-1jpp.i586.rpm
# rpm -Uvh java-1.5.0-sun-fonts-1.5.0.15-1jpp.i586.rpm
# rpm -Uvh java-1.5.0-sun-plugin-1.5.0.15-1jpp.i586.rpm
要开发 Java 程序,你还会需要 -devel 组件:
# rpm -Uvh java-1.5.0-sun-devel-1.5.0.15-1jpp.i586.rpm
设置 Alternatives 系统并选择你所需的 JDK(以 root 身份执行):
# alternatives --config java
接著尝试执行 Java:
$ java -version
你应该得到:
java version "1.5.0_15"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
Java HotSpot(TM) Client VM (build 1.5.0_15-b04, mixed mode, sharing)
3.5.4. D. IBM JDK 1.5
已测试于:CentOS 4.4
从 http://www-128.ibm.com/developerworks/java/jdk/linux/download.html (须要登记)下载 IBM JDK 1.5(tgz 格式,不是 rpm)。在同一处下载 Java Communication API。
将文件换名并放进 ~/rpmbuild/SOURCES/
$ mv ibm-java2-sdk-5.0-4.0-linux-i386.tgz ~/rpmbuild/SOURCES/ibm-java2-sdk-50-linux-i386.tgz
$ mv ibm-java2-javacomm-5.0-4.0-linux-i386.tgz ~/rpmbuild/SOURCES/ibm-java2-javacomm-50-linux-i386.tgz
创建 RPM:
$ rpmbuild --rebuild java-1.5.0-ibm-1.5.0.2.3-3jpp.nosrc.rpm
安装 RPM:
$ su -
# cd ~/rpmbuild/RPMS/i386
# rpm -Uvh java-1.5.0-ibm-*.rpm
设置 Alternatives 系统并选择你所需的 JDK(以 root 身份执行):
# alternatives --config java
There are 3 programs which provide 'java'.
Selection Command
-----------------------------------------------
+ 1 /usr/lib/jvm/jre-1.5.0-sun/bin/java
* 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java
3 /usr/lib/jvm/jre-1.5.0-ibm/bin/java
Enter to keep the current selection[+], or type selection number: 3
接著尝试执行 Java:
$ java -version
你应该得到:
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pxi32dev-20070201 (SR4))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20070201 (JIT enabled)
J9VM - 20070131_11312_lHdSMR
JIT - 20070109_1805ifx1_r8
GC - 200701_09)
JCL - 20070126
3.5.5. E. Sun JDK 1.6
已测试于:CentOS 4.7 及 CentOS 5.2
如果你使用 CentOS 4,首先安装 JPackage 的 jpackage-utils(1.7b 版)组件。从 http://mirrors.dotsrc.org/jpackage/1.7/generic/free/RPMS/ 下载二进制组件(或从 http://mirrors.dotsrc.org/jpackage/1.7/generic/SRPMS.non-free/ 下载源代码组件),然后安装它(或者创建及安装它):
请确定你已经按照 3.4. 第一步·初期设置 的方法设立你的 rpm 创建环境
# rpm -Uvh jpackage-utils-1.7.3-1jpp.noarch.rpm
如果你使用 CentOS 5,jpackage-utils 这个组件已经收录在标准软件库内:
# yum install jpackage-utils
从 Sun Java 下载区或Sun JDK 存储库下载 Sun JDK 1.6 更新 14。选择正确的平台(Linux 或 Linux x64)并下载 jdk-6u14-linux-i586.bin 或 jdk-6u14-linux-x64.bin。将它放置在你的 ~/rpmbuild/SOURCES 目录内。
样例:
$ cd ~/rpmbuild/SOURCES
$ curl -L -O 'http://very-long-sun-url-copied-from-sun-download-pages'
浏览 JPackage 存储库来寻找适合的 nosrc.rpm 文件。截至本文,它名叫:java-1.6.0-sun-1.6.0.14-1jpp.nosrc.rpm
$ cd ~/rpmbuild/
$ curl -L -O http://mirrors.dotsrc.org/jpackage/5.0/generic/SRPMS.non-free/java-1.6.0-sun-1.6.0.14-1jpp.nosrc.rpm
重建组件:
$ rpmbuild --rebuild java-1.6.0-sun-1.6.0.14-1jpp.nosrc.rpm
<!> 在这个测试系统上,brp-java-repack 这个阶段执行了很久,并且出现了解压的问题,说 US_export_policy.jar 及 local_policy.jar 是毁坏的。创建过程最终都可以完成。
你会得到一堆 rpm:
Wrote: /home/mikaelf/rpmbuild/RPMS/i586/java-1.6.0-sun-1.6.0.14-1jpp.i586.rpm
Wrote: /home/mikaelf/rpmbuild/RPMS/i586/java-1.6.0-sun-devel-1.6.0.14-1jpp.i586.rpm
Wrote: /home/mikaelf/rpmbuild/RPMS/i586/java-1.6.0-sun-src-1.6.0.14-1jpp.i586.rpm
Wrote: /home/mikaelf/rpmbuild/RPMS/i586/java-1.6.0-sun-demo-1.6.0.14-1jpp.i586.rpm
Wrote: /home/mikaelf/rpmbuild/RPMS/i586/java-1.6.0-sun-plugin-1.6.0.14-1jpp.i586.rpm
Wrote: /home/mikaelf/rpmbuild/RPMS/i586/java-1.6.0-sun-fonts-1.6.0.14-1jpp.i586.rpm
Wrote: /home/mikaelf/rpmbuild/RPMS/i586/java-1.6.0-sun-alsa-1.6.0.14-1jpp.i586.rpm
Wrote: /home/mikaelf/rpmbuild/RPMS/i586/java-1.6.0-sun-jdbc-1.6.0.14-1jpp.i586.rpm
请将它们放在你的本地 yum 软件库内,或安装它们:
# yum --nogpgcheck localinstall ~/rpmbuild/RPMS/i586/java-1.6.0-sun-1.6.0.14-1jpp.i586.rpm
设置 Alternatives 系统并选择你所需的 JDK(以 root 身份执行):
# alternatives --config java
There is 1 program that provides 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-sun/bin/java
Enter to keep the current selection[+], or type selection number:
接著尝试执行 Java:
$ java -version
你应该得到:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
3.6. 第三步. 安装 JPackage 软件库(只适用于 CentOS 4 —— 选择性步骤,仍未完整)
截至本文,JPackage 的版本是 1.7b。
安装 JPackage 的 GPG 金钥:
# rpm --import http://www.jpackage.org/jpackage.asc
下载 JPackage 的软件库配置文件并将它安装在 /etc/yum.repos.d/ 内
# cd /etc/yum.repos.d/
# wget http://jpackage.org/jpackage.repo
编辑 jpackage.repo 这个文件,并启用 jpackage-generic、jpackage-rhel 及 jpackage-generic-nonfree 这些段落。请确定你的文件看似这样,主要是 'enabled=' 这些行:
[jpackage-generic]
name=JPackage (free), generic
mirrorlist=http://www.jpackage.org/jpackage_generic.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=1
[jpackage-fc]
name=JPackage (free) for Fedora Core $releasever
mirrorlist=http://www.jpackage.org/jpackage_fedora-$releasever.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=0
[jpackage-rhel]
name=JPackage (free) for Red Hat Enterprise Linux $releasever
mirrorlist=http://www.jpackage.org/jpackage_rhel-$releasever.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=1
[jpackage-generic-nonfree]
name=JPackage (non-free), generic
mirrorlist=http://www.jpackage.org/jpackage_generic_nonfree.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=1
安装 jpackage-utils 这个组件:
# yum install -y jpackage-utils
4. 其它工具
你可以在这里找到一个工具来测试浏览器的 java 安装。
5. 管理信息
「Java」已被确定为 Sun/Oracle 的一个商标,所以当它出现在关于商标的脉络中,我们必须以大楷写头个英文字母;当它以一个程序出现时,它却名叫 java。
https://wiki.centos.org/zh/HowTos/JavaOnCentOS
(责任编辑:IT)
1. 初步数据 Sun 在授权发行 Java(至 Java 6)的条款中,包含了 CentOS 小组自认不能满足的条件。与 Sun 的代表洽谈一个修正了的发行权的对话自 2008 年 8 月已开始,但至今仍未有成果。似乎 Sun 正在期待上游的 Fedora 计划提供较自由及较新的 Java 发布(即将在上游发生)。 特别备注:由 CentOS 5.3 开始,上游提供用来重建这计划的 base 及 updates 软件库的 SRPM 内,加入了 openjdk 这个开源产品作为发行版本的一部份。因此,CentOS 计划现在可以附带一个整合了的 Java 方案。这个方法大大简化了安装,而我们亦鼓励你考虑使用下列新组件,并将任何错误汇报给上游。
[user@host ~]$ sudo yum list \*java-1\* | grep open 除此之外,使用 AWT 的应用程序会需要某些字体,较有代表性的已包含在下列清单里:
[user@host ~]$ rpm -qa \*fonts\* 假若你认为有需要用 Sun(或其它)的版本,你可能要进行手动式安装及接纳安装条款。这页概述了两个可行方法。多数的操作是以正常用户身份进行,而命令行上的 $ 提示字符代表这点。当需要采用 root 的权限时,命令行的提示字符会以 # 显示。很不幸地,这些方法与 CentOS 5.3 及其后版本的 alternatives 工具未能完全整合。 这里概述了两个方法 —— 方法一:它不会尝试配合 jpackage.org;方法二:它应该可行,但随著 Sun 发行新的 Java 版本便会渐渐过时。
2. 方法一:简单的做法 作者: RussHerrold 对于那些不需要整个 Jpackage(下面有描述)的人们来说,一个简单及轻量的方法就是安装 Java,令它能配合浏览器,及执行 Sun Java 的 .jar 文件。这些在 Trading Shim 网站上有所描述。 Sun 的 Java 1.4(j2sdk-1.4.2_15-fcs)、1.5(jdk-1.5.0_12-fc6)、及 1.6(jdk-1.6.0_07-fcs)[它被 Sun 称为 Java(TM) SE Development Kit 6]都可以通过以上指引来安装及启用,而且每个版本都被测试过能正常运作。JDK 1.5 及 1.6 每天都被应用在 CentOS 4 及 CentOS 5 系列的安装上。 <!> 很不幸地,这个方法不能与兼容 CentOS 5 上的 'tomcat5' 组件的需要;然而,有报告称 'yum -y install tomcat5 httpd' 能解决这个问题。
3. 方法二:一个较复杂的做法 合著作者: MikaelFridh <!> 以下的 wiki 部份需要一个维护者,因为它自 2007 年 10 月 11 日起已经不再被积揧极地维护。 <!> MikaelFridh 已经于 2008 年 7 月 11 日更新及检查 JDK 1.6 部份。 *这份教学文件仍未完整。IRC 频道在 2007 年 7 月 27 日汇报下列部份已经过时。 你可以通过几个方法在 CentOS 4 或 5 上安装 Java 虚拟机器。服务器与桌面用户对于拥有「Java 环境」的要求各有不同。很多时候,桌面用户只需要 Java 来执行数个程序(包括 Mozilla Firefox 内的 Java 程序)。
3.1. 桌面用户的 Java 这里有两个非常简单的方法让 Java 在浏览器内运行,及执行 java 程序。
3.1.1. 采用 icedtea(只限 CentOS 6) 你只须利用 yum 安装 icedtea-web: [user@host ~]$ yum install icedtea-web
3.1.2. 采用 Oracle JRE 另一个简易地安装 Java 虚拟机器的方法就是从 Sun 以 "'RPM in self-extracting file" 格式下载最新版 JDK,执行这个自动解压档,然后手动式地安装所得的 RPM。对桌面用户来说这可能已经足够了。 你果你的桌面计算机需要 Java,你无须依从这份文件所列出的步骤。 假若你只需要执行环境及浏览器的插件,请参阅如何安装来自 Java.com 的 Java Runtime Environment(JRE)并设置插件。
3.2. 开发者及服务器环境用的 Java 然而,服务器可能会甚为靠赖第三方软件库(例如 JPackage)所提供的组件,因此我们必须确保这些第三方的程序能够在一个预定的位置,于一颗贯切统一的目录树内找到 JDK 及它所依赖的组件。由 Sun 及 IBM 所提供的 JDK RPM 及二进制程序算不上能满足这个要求,因此便有需要重新整顿这些 JDK(重建 -nosrc RPM),或者使用兼容的组件(利用 -compat RPM)。可能的话,你应首选 -nosrc 的做法。这件文件描述了重建 -nosrc 及布署 -compat 的过程。 这份文件示范如何利用 JPackage 软件库来安装 Sun 或 IBM 的 JDK,版本包括 1.4.2、1.5.0 及 1.6.0。 最终,用户可以安装数个不同版本的 JDK,并利用 'alternatives' 指令来替代他们。 如果你是一位采用 Java 语言的开发者,或者你运行服务器,你可以利用这份文件所描述的方法来安装 Java 及应用 JPackage 软件库。
3.3. 首决条件 这份文件假设读者明白: 如何应用 su
设置 ~/.rpmmacros。如果你不知道它是什么,你可以利用以下样例,以你的 Linux 用户名称取代 <用户名称>。 如果你仍未阅读「Yum 与 RPM」,请记得它是这件教学文档的先决条件。 <!> 切记:~/.rpmmacros 及创建用的目录树永远不应由 root 用户来新增。为了你系统内已装组件的安全著想,请谨慎,及只用非 root 的户口来创建组件。 这个样例假设 ~/.rpmmacros 的内容包含了:
3.5. 第二步·安装你喜欢的 JDK 选择你喜欢的 JDK 供应商及版本: A. Sun JDK 1.4.2 B. IBM JDK 1.4.2 C. Sun JDK 1.5.0 D. IBM JDK 1.5.0 E. Sun JDK 1.6.0 由这点开始,请确定你已登录为一般用户,而不是 root。
3.5.1. A. Sun JDK 1.4.2 已测试于:CentOS 4.7 及 CentOS 5.2 我推荐唯独专家才尝试安装这个 JDK,因为它可能有组件依赖方面的问题。权宜之计就是在安装 Sun JDK 1.4.2 前先安装 Sun JDK 1.5.0。 截至本文,拥有 JPackage 源代码组件的最新版 Sun JDK 1.4.2 是更新 17。请从 http://java.sun.com/j2se/1.4.2/download.html 下载 J2SE v1.4.2_17 SDK(假如已发布更新的 1.4 JDK,请用 Sun JDK 存储库)。请确定你下载的是 "self-extracting file",而不是 "RPM in self-extracting file",然后选择正确的结构(Itanium 处理器用 IA64,其它用 i586)。文件名称是 j2sdk-1_4_2_17-linux-i586.bin。下载完成后,将文件放入 ~/rpmbuild/SOURCES/:
java-1.4.2-sun-fonts —— Sun JVM 用的 TrueType 字体。
java-1.4.2-sun-jdbc —— JDBC/ODBC 接桥驱动程序。
3.5.2. B. IBM JDK 1.4.2 已测试于:CentOS 4.4 及 CentOS 5.0 截至本文,最新版的 IBM JDK 1.4.2 是更新 8,而你需要的文件是: IBMJava2-SDK-1.4.2-8.0.tgz (兼容 Intel)来自 IBM Java 发行网址(必须在 IBM 网址登记)。 下载完成后,将文件命名为 IBMJava2-SDK-142.tgz,并将它放进 ~/rpmbuild/SOURCES:
创建组件:
3.5.3. C. Sun JDK 1.5 已测试于:CentOS 4.7 及 CentOS 5.2 下载 java-1.5.0-sun-1.5.0.15-1jpp.nosrc.rpm (于 2008 年 11 月 15 日测试过可用)。同样地,当新发布出现时,实际名称会改变;请使用浏览器检阅那个目录来寻找现有的名称。 从 Sun JDK 存储库 下载 Sun JDK 1.5 更新 15。请确定你下载 "self-extracting file" 而不是 "RPM in self-extracting file",然后选择正确的结构(32 位元及 i586 用 "Linux",64 位元及 x86_64 机种用 "Linux x64")。下面的指引是为 32 位元 JDK/JRE 而设的。(64 位元的 Sun JDK 文件名称以 "-amd64.bin" 结尾,而且没有浏览器插件,因此 -plugin rpm 不会被创建) 将文件移进 ~/rpmbuild/SOURCES
现在创建组件:
以 root 身份安装这些 RPM。要拥有 JRE 及浏览器插件,请这样做:
3.5.4. D. IBM JDK 1.5 已测试于:CentOS 4.4 从 http://www-128.ibm.com/developerworks/java/jdk/linux/download.html (须要登记)下载 IBM JDK 1.5(tgz 格式,不是 rpm)。在同一处下载 Java Communication API。 将文件换名并放进 ~/rpmbuild/SOURCES/
3.5.5. E. Sun JDK 1.6 已测试于:CentOS 4.7 及 CentOS 5.2 如果你使用 CentOS 4,首先安装 JPackage 的 jpackage-utils(1.7b 版)组件。从 http://mirrors.dotsrc.org/jpackage/1.7/generic/free/RPMS/ 下载二进制组件(或从 http://mirrors.dotsrc.org/jpackage/1.7/generic/SRPMS.non-free/ 下载源代码组件),然后安装它(或者创建及安装它): 请确定你已经按照 3.4. 第一步·初期设置 的方法设立你的 rpm 创建环境
样例:
你会得到一堆 rpm:
3.6. 第三步. 安装 JPackage 软件库(只适用于 CentOS 4 —— 选择性步骤,仍未完整) 截至本文,JPackage 的版本是 1.7b。 安装 JPackage 的 GPG 金钥:
4. 其它工具 你可以在这里找到一个工具来测试浏览器的 java 安装。
5. 管理信息 「Java」已被确定为 Sun/Oracle 的一个商标,所以当它出现在关于商标的脉络中,我们必须以大楷写头个英文字母;当它以一个程序出现时,它却名叫 java。 https://wiki.centos.org/zh/HowTos/JavaOnCentOS (责任编辑:IT) |