测试环境
下载JDK
终端模拟软件
安装前准备
tar包的安装方法
tar包的卸载
rpm包的安装方法
rpm包的卸载
面试相关
一些解释
测试环境
LInux系统版本:CentOS 7 64位
终端模拟软件:Xshell 6 xtfp
Java版本:jdk-8u181-linux-x64
下载地址:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
进入页面后下载64位的包,jdk-8u181-linux-x64.tar.gz与jdk-8u181-linux-x64.rpm都可以,下面会分别介绍两种包的安装方法,选择其中一种进行安装即可。
终端模拟软件
我这里使用的是Xshell,使用其他软件也可以,下载安装完成后用root用户连接Linux(SSH连接,默认端口:22),不会操作的自己百度,连接之后界面如下:
安装前准备
检查系统是否已经有JDK,输入如下命令查看是否系统中是否已安装,部分人在安装CentOS 7时系统会自动安装JDK:
java -version
如果系统没有安装,输入命令后提示如下(中文版和英文版在语言上会有些区别,但是提示的意思都一样),没有安装的可以直接跳过这里看下面的安装方法了:
[root@master100 ~]# java -version
-bash: java: 未找到命令
如果显示如下版本信息说明已经安装,可以直接使用系统的JDK,不需要自己安装了
[root@master100 ~]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
如果想使用其他版本的JDK,需要先卸载后再安装,卸载方法可以参考下文各种包的卸载方法。
tar包的安装方法
1、将下载到本地的文件上传到远程服务器的/usr/local目录下,
在Xshell上新建一个文件传输,如图:
在sftp文件传输命令框内输入如下命令:
cd /usr/local
把下载好的文件拖到黑框里面就可以上传了,上传完成后有如下提示:
Uploading jdk-8u181-linux-x64.tar.gz to remote:/usr/local/jdk-8u181-linux-x64.tar.gz
sftp: sent 177 MB in 6.13 seconds
我们也可以打开目录查看一下文件,回到SSH窗口,命令如下:
cd /usr/local
ll
我们可以看到自己上传的 jdk-8u181-linux-x64.tar.gz 文件
[root@master100 ~]# cd /usr/local
[root@master100 local]# ll
总用量 181296
drwxr-xr-x. 2 root root 6 4月 11 12:59 bin
drwxr-xr-x. 2 root root 6 4月 11 12:59 etc
drwxr-xr-x. 2 root root 6 4月 11 12:59 games
drwxr-xr-x. 2 root root 6 4月 11 12:59 include
-rw-r--r--. 1 root root 185646832 10月 2 16:31 jdk-8u181-linux-x64.tar.gz
drwxr-xr-x. 2 root root 6 4月 11 12:59 lib
drwxr-xr-x. 2 root root 6 4月 11 12:59 lib64
drwxr-xr-x. 2 root root 6 4月 11 12:59 libexec
drwxr-xr-x. 2 root root 6 4月 11 12:59 sbin
drwxr-xr-x. 5 root root 49 10月 2 13:00 share
drwxr-xr-x. 2 root root 6 4月 11 12:59 src
2、解压文件,命令如下,输入后会出现一长串的提示:
tar -zxvf /usr/local/jdk-8u181-linux-x64.tar.gz
3、解压后文件夹名为:jdk1.8.0_181
[root@master100 local]# ll
总用量 181296
drwxr-xr-x. 2 root root 6 4月 11 12:59 bin
drwxr-xr-x. 2 root root 6 4月 11 12:59 etc
drwxr-xr-x. 2 root root 6 4月 11 12:59 games
drwxr-xr-x. 2 root root 6 4月 11 12:59 include
drwxr-xr-x. 7 10 143 245 7月 7 16:09 jdk1.8.0_181
-rw-r--r--. 1 root root 185646832 10月 2 16:31 jdk-8u181-linux-x64.tar.gz
drwxr-xr-x. 2 root root 6 4月 11 12:59 lib
drwxr-xr-x. 2 root root 6 4月 11 12:59 lib64
drwxr-xr-x. 2 root root 6 4月 11 12:59 libexec
drwxr-xr-x. 2 root root 6 4月 11 12:59 sbin
drwxr-xr-x. 5 root root 49 10月 2 13:00 share
drwxr-xr-x. 2 root root 6 4月 11 12:59 src
在这里修改一下文件名,将jdk1.8.0_181改成java,方便我们后面配置环境变量,在这也可以不修改,在配置环境变量时要注意文件名不能写错,修改文件名命令如下:
mv /usr/local/jdk1.8.0_181 /usr/local/java
4、修改配置文件,配置环境变量,在命令行输入:
vi /etc/profile
输入“G”定位到最后一行,按“i”进入编辑模式,在最下面添加如下几行信息:
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
如图:
添加完之后按ESC退出编辑模式,输入:wq后回车(保存并退出),如图:
5、让配置文件生效,可以输入如下命令或者是重启系统
source /etc/profile
重启命令:
init 6
reboot
6、查看安装情况
java -version
安装成功后会出现如下版本信息:
[root@master100 ~]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
tar包的卸载
将安装包删除,然后把配置文件内添加的环境变量删除
删除安装包的命令如下:
rm -rf /usr/local/java
修改配置文件的方法和上述配置环境变量一样
rpm包的安装方法
1、将下载到本地的文件上传到远程服务器的/usr/local目录下,
在Xshell上新建一个文件传输,如图:
在sftp文件传输命令框内输入如下命令:
cd /usr/local
把下载好的文件拖到黑框里面就可以上传了,上传完成提示如下:
sftp:/usr/local>
Uploading jdk-8u181-linux-x64.rpm to remote:/usr/local/jdk-8u181-linux-x64.rpm
sftp: sent 162 MB in 1.92 seconds
2、上传好之后回到命令框,开始安装我们的rpm包,首先我们要赋予安装包执行的权限,命令如下:
chmod 755 /usr/local/jdk-8u181-linux-x64.rpm
3、安装rpm包
rpm -ivh /usr/local/jdk-8u181-linux-x64.rpm
出现如下提示信息:
[root@master100 local]# rpm -ivh /usr/local/jdk-8u181-linux-x64.rpm
警告:/usr/local/jdk-8u181-linux-x64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ec551f03: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:jdk1.8-2000:1.8.0_181-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
4、配置环境变量
在命令行输入:
vi /etc/profile
输入“G”定位到最后一行,按“i”进入编辑模式,在最下面添加如下几行信息:
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
5、让配置文件生效,可以输入如下命令或者是重启系统
source /etc/profile
重启命令:
init 6
reboot
6、查看安装情况
java -version
安装成功后会出现如下版本信息:
[root@master100 jdk1.8.0_181-amd64]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
rpm包的卸载
1、输入命令查看rpm包安装信息,如果第一条未出现信息,可以使用第二条命令查看,如果都没有可能是未安装或者是tar包安装的
rpm -qa | grep jdk
我用上述rpm包安装之后,用命令查看,提示如下:
[root@master100 local]# rpm -qa | grep jdk
jdk1.8-1.8.0_181-fcs.x86_64
2、知道安装的rpm包名后就可以卸载了,卸载命令如下:
rpm -e --nodeps jdk1.8-1.8.0_181-fcs.x86_64
3、卸载完成后删除环境变量
vi /etc/profile
source /etc/profile
面试相关
面试题3 Linux操作系统下如何安装Java SE开发环境
考点:由于大部分的计算机用户都使用Windows作为操作系统,而Java语言是具有跨平台优势的,不同企业有不同的开发环境,本试题考察求职者是否有在Linux下开发Java的经验。Linux环境下的Java安装是一个基础问题。
出现频率:
【面试题解析】该问题有两个关键点,一个是Linux版本Java SDK的文件类型,另外一个是Linux环境变量的配置。
参考答案:
Oracle发布的Linux操作系统Java包有JDK和JRE两种版本。JDK(Java Development Kit,Java开发包)是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。
JRE(Java Runtime Envirnment,Java运行环境)是JDK的一个部分,仅仅提供了运行Java程序的环境,如果开发Java程序,必须安装JDK。
(1)首先到Sun的网站上去下载JDK,截止本书编写时最新版本为Java 7 update 21,下载jdk-7u21-linux-i586.tar.gz文件。
(2)把安装文件解压出来。假设下载的文件保存在/opt下。打开终端,运行以下命令:
cd /opt
tar zxvf jre-7u21-linux-i586.tar.gz
Java文件将安装在/opt目录中的jdk1.7.0_21内。
(3)测试是否安装成功,可以在控制台中输入如下命令:
java –version
如果安装成功,控制台会显示当前JDK的版本信息。
(4)配置JAVA_HOME环境变量:一般Java开发者需要在操作系统的环境变量中配置JAVA_HOME,这样才能使其他Java项目,例如Struts、Tomcat等能够正常运行。这里以最常用的bash命令解释器为例,编辑用户目录下的.bashrc或.profile文件。如果需要在所有用户的shell下都生效,就编辑/etc/profile文件。同样都是加入以下内容:
export JAVA_HOME=/opt/ jdk1.7.0_21
export JRE_HOME=/opt/jdk1.7.0_21 /jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:.
注意:
在Windows操作系统中安装JDK更加简单,只需要配置好JAVA__HOME和CLASSPATH这2个环境变量即可。Linux配置中,多个路径直接使用“:”连接,而Windows操作系统中则使用“,”来连接。为了方便Java程序的编译,特别是使用javac来进行编译的情况下,需要在CLASSPATH中加入“.”,即当前路径。
一些解释
tar解压文件到当前文件夹 :q! vi不保存退出的命令 init命令用于改变操作系统的运行级别。
Init 6是重新启动机器。
reboot也是重新启动机器。
那么这两个命令到底有什么区别呢?
对这两个操作使用man命令看到的内容如下:
init 6 Stop the operating system and reboot to the
state defined by the initdefault entry in
/etc/inittab.
reboot - reboot performs a sync(1M) operation on the disks, and then a
multi- user reboot is initiated. See init(1M) for details.
“init 6” 基于一系列/etc/inittab文件,并且每个应用都会有一个相应shutdown脚本。
‘init 6’ 调用一系列shutdown脚本(/etc/rc0.d/K*)来使系统优雅关机;
'reboot’并不执行这些过程,reboot更是一个kernel级别的命令,不对应用使用shutdown脚本。 .
我们应该在通常情况下使用 init 6.
在出问题的状况下或强制重启时使用reboot.