Linux中JDK的安装、卸载和配置详解


前言


Linux有哪些发行版

发行版的含义: Linux本身只是一个内核,没有基本图形界面哪些东西,在Linux内核的基础上进行开发的那些系统,称它们为Linux的发行版本。
时至今日,Linux的发行版非常的多(有超过100多个版本,这里就不全部列举了),目前主流的Linux发行版主要是Red Hat、Centos、Ubuntu、Debian、SuSe等它们都使用同一个Linux内核。


如下,在购买服务器选择系统镜像时,列出的几种Linux版本:
在这里插入图片描述


Linux中软件包的类型

安装JDK前,先了解一下Linux中软件包的两种分类:

  • 二进制软件包: 编译后的可执行文件,类似于Windows中的软件包(.exe),用rpm、dpkg打包的通常是属于该类软件包。优点:安装简单、速度快;缺点:不能查看源代码,依赖性强。
  • 源程序包: 包含源码的包,需要将其编译成为可执行文件。优点:开源,可查看源代码;卸载方便(直接删除文件安装位置即可);缺点:安装步骤复杂,编译时间长。

两种包的区别:
  大部分的Linux发行版本都使用某种形式的软件包(rpm、dpkg等)管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。  
  通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各种问题和困难。而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以Linux中一般一个软件会提供多种打包格式的安装程序


Linux中软件包的几种格式

Linux下的软件安装包主要有rpm、deb、tar.gz三种格式,想了解三种软件包的区别,我们先来看看Linux软件扩展名,通过扩展名可以了解软件格式,进而了解软件安装。


如下,是Oracle提供Linux JDK的三种软件包格式:
官网:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
在这里插入图片描述


  • 软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;
  • 后缀为.deb是Debain Linux提供的一种包封装格式;
  • 后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的;
  • 后缀为.bin的一般是一些商业软件。

一、rpm格式软件包

RPM全称是Red Hat Package Manager(Red Hat包管理器),是由红帽公司最先发布的一种用来打包软件的的文件格式,他是一种特定的用来安装,卸载软件等操作的专门格式,它里面打包的内容必定是一个可以使用的具体软件。

RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。在红帽Linux(即Red Hat)、Centos、SUSE、Fedora可以直接进行安装,但在Ubuntu中是无法识别RPM格式软件包的。


二、deb格式软件包

deb是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得早,并且应用广泛,所以在各种版本的Linux中都常见到,而Debian的包管理器dpkg只出现在Debian Linux中。它的优点是不用被严格的依赖性检查所困扰,缺点是只在Debian Linux发行版中才能见到这个包管理工具

在Ubuntu系统中双击deb包就可以直接进入自动安装进程(Ubuntu的图形界面系统)。


三、tar.gz格式软件包

tar.gz就是一个压缩包,类似于Windows中的zip等文件,他是为了便于传输所产生的一种专门用于网络流通的文件格式,这种文件的格式与其他两种软件存在本质上的区别,比如:tar.gz可以也是一个文本,照片等等的文件压缩在里面,并不一定是一个具体软件。

在所有的Linux版本中都能使用tar.gz格式的软件包,但安装过程也相对最麻烦。


以上部分知识点参考来源:
Linux下软件包的分类及deb、rpm、tar.gz的区别



正式开始安装JDK

我的服务器装的镜像是 CentOS 7.3 这里就只具体演示yum方式安装、.rpm软件包格式安装和tar.gz压缩档格式三种方式安装JDK
没有服务器的,也可以在虚拟机中先装一个Linux再来安装,至于服务器为什么要装JDK就不用我说了吧😑😑😑


一、yum方式安装JDK

安装之前使用如下命令,先检查是否已安装有jdk:

rpm -qa |grep jdk

PS:qa参数,查询本地是否安装了带有jdk文字的包
在这里插入图片描述
如果已安装有jdk,可使用如下命令批量卸载:

rpm -qa | grep java | xargs rpm -e --nodeps 

在这里插入图片描述
拓展: 除了上面批量卸载的方式,也可以使用 yum remove -y 包名 来卸载

yum  remove  -y  java-11-openjdk-devel-debug-11.0.6.10-1.el7_7.x86_64

在这里插入图片描述

rpm -e --nodeps copy-jdk-configs-3.3-10.el7_5.noarch

在这里插入图片描述


卸载后进入安装:

查询yum仓库中可安装的jdk

yum search java|grep jdk

扩展:也可以使用 yum -y list java* 查询

在这里插入图片描述
根据yum库列出的版本,选择自己需要的jdk版本进行安装,这里安装jdk11为例,执行以下命令

yum  -y install java-11-openjdk*

注:后面的 * 号表示匹配安装全部的jdk11的包,不需要安装全部的包,可以将 java-11-openjdk* 改成你需要安装的包名,包与包之间用空格隔开即可。
在这里插入图片描述
出现如下信息,即安装完成:
在这里插入图片描述
验证jdk是否安装成功(查看jdk版本)

java -version

在这里插入图片描述
这种方式安装的jdk,默认是安装在 /usr/bin/java 目录下(不是真实的安装位置,只是一个软链接)

软链接: Linux中的软链接,类似windows系统中软件的快捷方式,软链接里面存放的是源文件的路径,指向源文件。

可使用 which java 命令查看jdk安装路径

which java

使用 ls -lrt 软链接地址,可追踪软链接后的源文件

ls -lrt /usr/bin/java

在这里插入图片描述


环境变量配置:
注:JDK本身是不需要配置环境变量的,配置环境变量只是为了让其他程序能够找到JDK的位置,若在通用环境变量,如PATH所指定的目录中能找到java、javac等命令,则不需要再额外配置jdk环境变量。
我这里yum安装的jdk则不用配置环境变量


🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉


二、.rpm软件包格式安装JDK

去Oracle官网下载自己需要安装的jdk版本,我这里用的是jdk-11.0.6_linux-x64_bin.rpm
(Oracle官网是属于外网,下载它的东西需要注册一个Oracle账户,下载速度也是慢得可怜,我已经都下载好了需要的留言和我拿就行了,或者最后我贴一个网盘链接)
在演示这种安装方式之前,我已经将上面安装的JDK都卸了…
我真的是为看我这篇博客的小朋友们操碎了心😑😑😑


将下载好的文件上传到服务器中(最好自己新建一个文件夹来存放上传的文件,方便管理)我用的是Xftp来上传
在这里插入图片描述
如下,文件已成功上传到我服务器的 /export/software 目录下:
在这里插入图片描述
.rpm格式的软件包,可以通过rpm –ivh rpm的软件包名命令来安装软件:
rpm命令的参数说明:

  • -i 安装软件
  • -t 测试安装,不是真的安装
  • -p 显示安装进度
  • -f 忽略任何错误
  • -U 升级安装
  • -v 检测套件是否正确安装
    等等这些参数可以同时使用。
rpm -ivh jdk-11.0.6_linux-x64_bin.rpm

在这里插入图片描述
如下,使用这种方式安装,默认jdk是安装在/usr/java/jdk-11.0.6/目录下
在这里插入图片描述
卸载
可以使用 rpm -e --nodeps 软件名 来卸载这种方式安装的jdk

rpm -e --nodeps jdk-11.0.6-11.0.6-ga.x86_64

在这里插入图片描述


🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉


三、.tar.gz压缩档格式安装JDK

.tar.gz格式是一个压缩包,需要使用如下命令先解压
先进入到.tar.gz文件所在的目录下,指定将.tar.gz安装包解压到 /export/servers/ 目录下,放在自己新建的目录下方便后期管理。

tar -zxvf jdk-11.0.6_linux-x64_bin.tar.gz -C /export/servers/

在这里插入图片描述
解压完成,这种方式安装的jdk,就需要配置环境变量
在这里插入图片描述
配置环境变量之前,先将 jdk-11.0.6 重命名为 jdk11,方便配置环境变量填写

mv jdk-11.0.6/  jdk11

在这里插入图片描述


配置环境变量

这里我只具体演示第二种方式就行了


第一种:
配置jdk环境变量,只对当前用户生效的配置:

vim ~/.bashrc
#在.bashrc文件底部加入下面的配置,注意这里的路径要填你自己的
export  JAVA_HOME=/export/servers/jdk11/bin

第二种:
配置jdk环境变量,使所有用户生效的配置

编辑 profile 配置文件(也可以使用 vi /etc/profile命令, vi 和 vim 命令功能类似)

vim /etc/profile

如下进入profile 配置文件后,按 i 键进入编辑状态(注意是英文状态下的小写 i
在文件最后添加如下环境变量,注意用自己jdk解压的路径

export JAVA_HOME=/export/servers/jdk11
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述
填写完成后,按下键盘上的 Esc 键退出编辑状态,在输入 :wq命令 保存并退出
退出后需要执行 source /etc/profile 命令重新加载profile配置文件,使修改后的配置生效

source /etc/profile

在这里插入图片描述
这里有的人可能会迷惑为什么环境变量没有配置 CLASSPATH
其实JDK1.5以上的版本就不需要再配置CLASSPATH这个环境变量了,现在jdk已经更新到jdk13了,每一次更新都会有新的内容,不持续学习真的是很快就要被淘汰了🤣🤣🤣


卸载: 这种方式安装的jdk卸载也非常方便,使用 rm -rf jdk11 命令将解压后的整个jdk文件夹删除就行了,环境变量删不删都行

rm -rf  jdk11

这个jdk11我需要留着使用,这里就不演示删除效果了!

至此,在Linux中三种方式安装与卸载JDK终于完结了!


🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉


拓展

虽然已经凌晨一点多了🤣😪😪😪

但是,考虑到有的小朋友Linux可能是Ubuntu版本的,我再拓展一下deb包的大致安装方式和几个Linux命令吧

.deb包安装方式

在Ubuntu的图形界面系统中双击 xxx.deb 包就可以直接进入自动安装进程了
非图形系统使用如下命令安装.deb格式的包

dpkg -i xxx.deb

卸载:

# dpkg –e 软件名
dpkg –e software

扩展几个Linux命令,安装过程若遇到问题,这几个命令或许可以帮到你:

# 查看系统信息
uname -a
# 查看系统版本
cat /etc/redhat-release
# 查看你的系统是32位还是64位,i686 表示32位,x86_64 表示64位
sudo uname --m
# 查看配置的JAVA_HOME环境变量
echo $JAVA_HOME  
# 更新yum源
yum update

在这里插入图片描述
服务器装的镜像和我不同的,或许会有些许差别,还有这个行业更新很快,文章里写的东西或许没过多久就会被淘汰不在适用
记录一下现在的时间:2020年3月16日 凌晨2:06分


🎉🎉🎉🎉🎉🎉🎉🎉完结分割线🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉


关于博主

很久不写那么长的文章,都凌晨两点了😓😓😓这个行业发展太快,每天都在变化~我努力赶上!
爱生活、爱学习、爱家人,只求我不掉头发!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值