分享

银行系统系统上如何安装多个版本的 JDK或多个版本的 Python,并且能够快速实现切换

系统版本
适用系统:V10(SP1)
适用架构:全架构
其他版本和架构可作参考。


问题描述
系统上如何安装多个版本的 JDK或多个版本的 python,并且能够快速实现切换。

问题分析
update-alternatives命令用于处理 linux系统中软件版本的切换,在各个 linux发行版中均提供了该命令,命令参数略有区别,但大致是一样的。
问题解决方案
1)注册软件(通过 apt源安装的 jdk已经自动注册,无需手动注册)
以 jdk为例,安装了 jdk以后,先要在 update-alternatives工具中注册
  1. sudo update-alternatives --install /usr/bin/java java/usr/jdk1.8.0_291/bin/java 180
  2. sudo update-alternatives --install /usr/bin/java java /usr/jdk-11.0.9/bin/java1109
复制代码
image.png

其中:第一个参数--install表示向 update-alternatives注册服务名。第二个参数是注册最终地址,成功后将会把命令在这个固定的目的地址做真实命令的软链,以后管理就是管理这个软链;( --install link name path priority)

其中 link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录);name为命令链接符名称,如 java path为你所要使用新命令、新软件的所在目录 priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用 priority高的链接;#整数根据版本号设置的优先级(更改的优先级需要大于当前的)

第三个参数:服务名,以后管理时以它为关联依据。
第四个参数:被管理的命令绝对路径。
第五个参数:优先级,数字越大优先级越高。

2)查看已注册列表
sudo update-alternatives --display java
image.png
3)修改命令版本
注意--display开关使用时第一行信息:
image.png

下面手动修改为 jdk1.8.0_291:默认为自动版本,根据优先级,使用优先级高的。
a.交互式修改:交互式会提示所有可用的列表,选择对应的索引确认。
修改为手动:
  1. sudo update-alternatives --config java
复制代码
image.png

查看模式
  1. update-alternatives --display java
复制代码
image.png

可以看到当前状态变成了手动模式。

修改为自动:
  1. sudo update-alternatives --auto java
复制代码
image.png

又改为按照优先级高的了。
b.立即修改

除了交互式修改,也可以使用一条命令直接修改,修改后立即生效。
  1. sudo update-alternatives --set java /usr/jdk1.8.0_291/bin/java
复制代码
image.png

该情形适用于你对路径很熟悉,或者你已经进入了该路径:
  1. cd /usr/jdk1.8.0_291/bin/
  2. sudo update-alternatives --set java $PWD/java
复制代码
image.png

4)了解一下 update-alternatives可能你觉得这个命令很偏门,用处不大,但[/        discuz_code_5        ][/        discuz_code_4        ][/        discuz_code_3        ][/        discuz_code_2        ][/        discuz_code_1        ][/        discuz_code_0        ]

试读已结束,请付费阅读全文。

  本文只能试读34%,付费后可阅读全文。 

image.png
image.png

版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系在线客服