按:我们身处一个信息爆炸的年代,当有事不决时,打开搜索引擎瞬息间就能得到海量的答案。但是,这未必会让你的问题迎刃而解,因此很多“答案”会把你引向错误的方向,浪费你的时间。希望搜索引擎能有所改进,对明确的问题只给出唯一的标准答案就好了,因为错误的答案再多有什么用呢,经历过高考的都知道答不到点子上乱凑字数是无济于事的,希望谷歌百度的程序员们能好好想想。好了,下面进入正题。

任务,将jdk-7u25-linux-i586.rpm安装在Red Hat Linux Fedora 8机器上,并以它为新的JDK。

环境:Linux version 2.6.23.1-42.fc8,gcc version 4.1.2 20070925

第一步,去下面地址寻找并下载jdk-7u25-linux-i586.rpm。

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

第二步,将dk-7u25-linux-i586.rpm用U盘拷贝到Fedora8所在机器上,Fedora8比较smart,U盘插上一会就认出来了,不像原来Linux7.2加载任何外联设备都要mount,拿走再unmount,特烦人特耽误事,于是将文件拷贝到某个目录下,我本地是/home/usrname。

第三步,在/home/usrname下执行rpm -ivh jdk-7u25-linux-i586.rpm,系统报error:Can't create transaction lock on /var/lib/rpm/_db.000,让人一头雾水。于是,换root用户执行rpm -ivh jdk-7u25-linux-i586.rpm试试,诶,这回顺利开始安装了。这报错信息怎么和用户权限没关系呢?看来Linux报错信息和DOS报错信息一样,凡是用C做底层的软件报错都一个尿性。完成后,新的JDK被安到了/usr/java下,你可以去查看查看。

第四步,执行java -version,显示build 1.7.0-b21字样,说明安装初步成功了。其实这个还不能算是一步,只是对前面步骤的检验。

但是,以上步骤还只是成功了一半,我被汗牛充栋的网文误导了不少时间后,才总结出下面正确的步骤。

第五步,用VI修改/etc/profile,在末尾处添加这样一段:
export JAVA_HOME=/usr/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

这里相当于我们在Win系统中环境变量的走法。先是设置JAVA_HOME,再是CLASSPATH和PATH。可恨有些大站里面的网文,连这三个单词都搞出拼写错误。有些误导网文有潜在BUG,到后面就运行不正常了,需要注意。

第六步,完成后,这些变量不会立即生效,你可以reboot机器,这比较浪费时间,也不推荐。最好可以执行命令 #source profile,注意是在/etc目录下以root用户来执行,执行完这些变量就设置好了。

你可以分别执行echo $JAVA_HOME,echo $CLASSPATH,$echo $PATH这三个命令,以确认它们设置完了。

[root@localhost etc]# echo $JAVA_HOME
/usr/java/jdk1.7.0_25
[root@localhost etc]# echo $PATH
/usr/java/jdk1.7.0_25/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_25/bin:/root/bin:/usr/java/jdk1.7.0_25/bin
[root@localhost etc]# echo $CLASSPATH
.:/usr/java/jdk1.7.0_25/lib/dt.jar:/usr/java/jdk1.7.0_25/lib/tools.jar

另外执行java -version的效果如下:

[root@localhost etc]# java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15) 注意这里已经与第四步不同了。

第七步,用VI或其它文本编辑器做一个java类,里面输出一条文字,类似下面的类:

class Hello{
    public static void main(String[] args){
         System.out.println("Hello!World");
    }
}

第八步,用命令#javac Hello.java生成Hello.class,生产后用ls查看下。

第九步,用命令#java Hello,如果终端里输出Hello!World,那就说明类执行正确,表明JDK安装完全成功了。这一步才是JDK安装完全成功的标志!之前java -version ,java,javac的执行效果都不能作数的,有些书籍网文把它们的输出当JDK安装成功标志,这是很不对的。

注意事项:

1.安装前需要检查系统是否已经安装了其它版本的JDK,可以参考以下流程检查:

(来自http://www.th7.cn/system/lin/201307/42216.shtml)

[root@localhost /]# java -version

java version "1.4.2"

gij (GNU libgcj) version 4.1.2 20080704 (Red Hat 4.1.2-51)

Copyright (C) 2006 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

查看自带的JDK的相关信息

[root@getlnx06 ~]# rpm -qa | grep gcj

libgcj-4.1.2-51.el5

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

libgcj-4.1.2-51.el5

卸载自带的JDK的信息

[root@localhost /]# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

2.无论是Win版本还是Linux版本的JDK,手工添加修改JAVA_HOME,CLASSPATH,PATH都是必须的。

3.JDK的安装是否成功,标志是以新的JDK编译执行JAVA类,而不是JAVA -version和弄和弄就行的。

好了,就到这里,如果上文有什么问题,请你留言。

在Fedora8上安装jdk-7u25-linux-i586.rpm的步骤的更多相关文章

  1. Linux上安装jdk,mysql

    1.准备工作 一台纯净的Linux系统需要先安装一些依赖才能安装jdk等 rpm: 本地添加安装程序:rpm -ivh 程序名 本地查看程序: rpm -qa 本地卸载程序: rpm -e --nod ...

  2. Linux+Redis实战教程_Linux上安装jdk,mysql,tomcat_安装jdk

    1. Linux上安装jdk,mysql,tomcat[重点] Windows 控制面板 添加/卸载程序 进行程序的安装.更新.卸载.查看 rpm命令:相当于windows的添加/卸载程序 进行程序的 ...

  3. 【Linux】CentOS7上安装JDK 和卸载 JDK 【rpm命令的使用】

    之前有过一篇在CentOS7上安装JDK的文章:http://www.cnblogs.com/sxdcgaq8080/p/7492426.html 在这里又说一次,是要使用rpm命令安装JDK的rpm ...

  4. centos上安装jdk环境

    老沙采用的环境是centos 6.5 64位服务器.在linux上安装jdk环境都很多中方式,这里讲解下手工进行安装并进行环境变量配置. 首先需要下载一个64位版本的linux,可以去oracle官网 ...

  5. 在Ubuntu16.04.4上安装jdk

    在Ubuntu16.04.4上安装jdk 一.安装步骤     1.下载jdk安装包     首先我们在oracle官网上下载jdk-8u161-linux-x64.tar.gz,当然也可以下载其他版 ...

  6. 在Ubuntu16.04.4和Windows10上安装jdk

    在Ubuntu16.04.4和Windows10上安装jdk 一.在Ubuntu16.04.4上安装jdk  1.下载jdk安装包     首先我们在oracle官网上下载jdk-8u161-linu ...

  7. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  8. 在Ubuntu上安装JDK、Ant、Jmeter和Jenkins

    一.前期准备 1. 在win7下载VMware.Ubuntu(用迅雷下比较快) 2. 安装完VMware后新建虚拟机,选择iso: 3. 具体配置参考如下,至此Ubantu安装完成 二.在Ubuntu ...

  9. Ubuntu上安装jdk,Jboss

    Ubuntu上安装jdk 1.使用wget命令或sft方式从oracle官方下载tar.gz格式的jdk1.7,由于ubuntu不支持rpm安装,需要转换,所以不选择rpm格式的jdk 2.使用tar ...

  10. Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

随机推荐

  1. NOIP200003方格取数

    NOIP200003方格取数 难度级别: D: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 XYZ 是首师大附中信息技术团编 ...

  2. Repeater控件中的三目运算

    <asp:Repeater ID="rptimg" runat="server">        <ItemTemplate>      ...

  3. 【C语言】17-预处理指令3-文件包含

    这讲介绍最后一个预处理指令---文件包含 一.基本概念 其实我们早就有接触文件包含这个指令了, 就是#include,它可以将一个文件的全部内容拷贝另一个文件中. 二.一般形式 1.第1种形式#inc ...

  4. FreeBSD Intel SYSRET Kernel Privilege Escalation Exploit

    /* * FreeBSD 9.0 Intel SYSRET Kernel Privilege Escalation exploit * Author by CurcolHekerLink * * Th ...

  5. android之TabHost(上)

    首先建立文件res/layout/tab.xml 代码如下: <?xml version="1.0" encoding="utf-8"?> < ...

  6. Excel 中单元格和范围的引用(即访问的表示方法)

    计算机中,无非是数据和数据的处理这两件事.Excel的工作表能存储大量数据,除了这些原始数据,我们还要用函数来处理这些数据,比如求和求积,求平均值,排序等等,并把处理结果也存在单元格里.在Excel中 ...

  7. Java常用类之Properties类

    1.特性 Properties类表示了一个持久的属性集,可保存在流中或从流中加载,实现内存和文件的交互.Properties继承了Hashtable<Object,Object>类,可以使 ...

  8. OC中的属性、方法及内存管理

    普通方法:关注(代表)对象可以”干什么”,过程中需要实例变量.-(void)show;输出 … 访问属性    属性:属性专门处理实例变量.(程序执行过程当中)    初始化方法:一创建对象(第一时间 ...

  9. CSS权威指南 - 基础视觉格式化 2

    行内元素 em a 非替换元素 img 替换元素 两者在内联内容处理方式不一样. inline有时候被翻译成内联,比如inline content,有时候被翻译成行内 inline box. 行布局 ...

  10. Apache Spark源码走读之20 -- ShuffleMapTask计算结果的保存与读取

    欢迎转载,转载请注明出处,徽沪一郎. 概要 ShuffleMapTask的计算结果保存在哪,随后Stage中的task又是如何知道从哪里去读取的呢,这个过程一直让我困惑不已. 用比较通俗一点的说法来解 ...