kali系统下多版本JDK共存

0、前言

从上周末到这周都在做RCE(Remote Command/Code Execute,远程命令执行或者代码执行 )相关漏洞复现,像log4j2漏洞在复现过程用到的JDK有特定版本要求,我的kali虚拟机默认是JDK11,而我又不希望直接删除JDK11,可多个版本JDK共存,想用到哪个版本时切换,查询了相关资料,再自己实践后可行。因此整理了本文分享出来。

参考文章:
https://zhuanlan.zhihu.com/p/399295670
https://blog.csdn.net/u012804180/article/details/78858907

1、查看当前java版本号

查看版本号目的是为了方便后面要修改回这个版本时,切换命令的编写

#查看版本
java -version

# 结果
openjdk version "11.0.20-ea" 2023-07-18
OpenJDK Runtime Environment (build 11.0.20-ea+7-post-Debian-1)
OpenJDK 64-Bit Server VM (build 11.0.20-ea+7-post-Debian-1, mixed mode, sharing)

2、查看JDK安装目录

目的是想要把其他版本的JDK安装包放在一起,方便统一管理。先用which查看java在哪个目录下,使用cd切换目录时发现给出的路径不是目录,再使用ls -lrt命令来找到最终实际放JDK安装包的目录。

 # 使用which命令
which java

# 给出结果是,这个不是目录,cd时会提示
cd: 不是目录: /usr/bin/java

# 使用两次ls -lsr命令才找到实际放JDK安装包的目录
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java

# 实际放JDK安装包的目录是/usr/lib/jvm
cd /usr/lib/jvm

在这里插入图片描述

3、下载目标版本的JDK

由于我需要的是jdk-8u191的,我到官网下载linux系统64位,我测试过使用jdk-8u401安装完最后,在使用命令java -version查看版本时一直报错:zsh: 可执行文件格式错误: java,但使用jdk-8u191和jdk-8u151都正常,如果有使用到jdk-8u401版本异常的话可换其他版本。

官网下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
下载时需要登录,如果嫌麻烦,可关注我的公众号:大象只为你,回复:jdk8,获取jdk-8u191和jdk-8u151适用linux系统64位的安装包。

下载完后复制到目录/usr/lib/jvm

4、安装JDK

4.1、解压压缩包

使用tar命令解压缩

# 解压压缩包
tar -zxvf jdk-8u191-linux-x64.tar.gz  

tar 命令的一般格式:
tar [选项] 文件或目录名
该命令对文件和目录进行打包。
选项及其含义如下。
-f:文件名:使用指定的存档文件。
-c:创建一个新的文档。
-r:用于将文件附加到已存在的文档后面。
-u:仅仅添加比文档文件更新的文件。
-x:从文档文件中恢复被备份的文件。
-t:用于列出一个文档文件中的被备份出的文件名。
-z:用 zip 命令压缩或用 unzip 命令解压。

4.2、安装和配置

使用update-alternatives命令进行安装和设置jdk,可使多个版本共存,先install再set。在install时需要填写优先级,填写jdk版本号,jdk8的去掉中间0 ,jdk11全部拼接上,目的是让优先级的位数一样。

命令说明:先install 再set
-安装命令
update-alternatives: --install <链接> <名称> <路径> <优先级>
-设置命令–默认为当前版本
update-alternatives: --set <名称> <路径>
-移除命令,当不需要该版本时可移除命令,不会删除安装包
update-alternatives: --remove <名称> <路径>
-多版本JDK管理,切换其他版本时可用该命令
update-alternatives --config <名称>

以安装jdk-8u191为例

update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_191/bin/java 18191
update-alternatives --set java /usr/lib/jvm/jdk1.8.0_191/bin/java
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_191/bin/javac 18191
update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_191/bin/javac

如果不要该版本可用以下命令进行移除

update-alternatives --remove java /usr/lib/jvm/jdk1.8.0_191/bin/java 
update-alternatives --remove javac /usr/lib/jvm/jdk1.8.0_191/bin/javac

切换其他版本时可使用以下命令

# 配置指定java版本
update-alternatives --config java
# 配置对应java文档版本,如果没有安装则不用选择,跟java同时操作
update-alternatives --config javac

在这里插入图片描述

5、下期内容预告

下期会分享跟RCE相关的内容,会先以ctfhub—rce通关热身,敬请期待…

6、资料获取

如果需要jdk-8u191或jdk-8u151适用linux系统64位的安装包,请关注我的公众号:大象只为你,后台回复:jdk8。如果需要kali虚拟机,后台回复:虚拟机。

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值