一、背景
Amoeba for MySQL需要在Java SE 1.5和Java SE 1.6上运行,一开始我按照Amoeba for MySQL学习研究之安装的方法在Java SE Development Kit 6 Update 31下载了jdk-6u31-linux-i586-rpm.bin,安装到Ubuntu的时候出错了,后来才发现是我下载的软件包不符合系统:
bin是二进制包,而rpm是redhat package 就是红帽的标准安装包,还有deb包,是debain的标准,区别就是rpm、deb安装的时候给你自动配置,一般都是lib安装到/usr/lib, bin安装到/usr/bin下边,就算不是,在/usr/bin下也要建立一个软连接。而二进制包你可以手动配置,初学者就不要用bin包了,bin包的安装方法>./jdk-6u1-linux-i586.bin看到许可协议,然后一直空格到许可协议末尾,按y,回车自动解压缩,然后还要配置export。
后来在Java SE Development Kit 6 Update 30下载了jdk-6u30-linux-i586.bin,下面的安装就是以这个作为例子的。
二、过程
1. 下载JDK:jdk-6u30-linux-i586.bin
2. 拷贝jdk到Ubuntu,可参考:Windows与Linux拷贝数据,或者参考:VMWARE WORKSTATION 虚拟机(客户机)创建和主机共享文件夹
E:\>pscp.exe e:\downloads\jdk-6u31-linux-i586-rpm.bin chen@192.168.1.147:/tmp/
3. 首先把JDK拷贝到指定的目录,然后解压缩拷贝后的文件到指定的目录中,具体命令行如下:
$ sudo cp jdk-6u30-linux-i586.bin /usr/local #拷贝jdk到/usr/local目录
$ cd /usr/local #进入/usr/local目录
$ chmod 544 jdk-6u30-linux-i586.bin #修改权限
$ sudo ./jdk-6u30-linux-i586.bin #解压bin文件
$ sudo ln -s jdk1.6.0_30 jdk-6 #为文件创建名了jdk-6的软链接(类似Win的快捷方式)
$ sudo rm jdk-6u30-linux-i586.bin #删除bin文件
4. 其次设置环境变量,主要是PATH、CLASSPATH和JAVA_HOME,注意PATH最后所添加的bin目录:
$ sudo vi /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/jdk-6/bin"
CLASSPATH="/usr/local/jdk-6/lib"
JAVA_HOME="/usr/local/jdk-6"
5. 验证安装是否成功:
$ java -version
6. 验证环境变量是否成功:(如果成功会显示这个变量的值)
$echo $PATH
$echo $CLASSPATH
$echo $JAVA_HOME
#export(输出所有环境变量)
#source /etc/profile(在当前bash环境下读取并执行FileName中的命令)
三、注意
1. Ubuntu 11.10有自带的OpenJDK,需要在设置完环境变量之后执行下面的语句:
$ sudo update-alternatives --install /usr/bin/java java /usr/local/jdk-6/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk-6/bin/javac 300
$ sudo update-alternatives --config java
2. 系统启动时会先读取/etc/profile , 然后读取 /etc/environment ,最后才是.profile 文
3. 修改后的/etc/profile文件。
export JAVA_HOME=/usr/jdk1.6.0_21
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
4. JDK环境变量配置:
运行命令:vi /etc/profile,在profile末尾中加入以下内容:(注意不要有空格出现)
JAVA_HOME=/usr/local/jdk_6(这里需要参考具体的jdk目录)
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
5. 修改完环境变量需要重新登录,关掉终端重新进入,并使用下面的命令:
#source /etc/profile(在当前bash环境下读取并执行FileName中的命令)
6. 在Ubuntu DiskTop的终端使用完#source /etc/profile后有效,但是关闭了终端后再次进入就还是source之前的值,难道要重启系统?
四、参考文献
UBUNTU11.10下安装 JDK-6U30-LINUX-I586.BIN