软件版本管理

软件版本管理

软件版本管理_第1张图片

使用场景:电脑上有些程序在Python2下可以运行,有些需要在python3下运行,所以我们的电脑上就存在不同版本的Python环境,Java也类似。如果每次使用的时候都通过更改环境变量的话就不是很方便,Linux操作系统就提供了软件版本管理的功能。

这里就介绍其中一种方法:update-alternatives 命令。
update-alternatives 是一个在 Linux 操作系统中用于管理系统中可替代软件的命令行工具。它允许用户选择并配置系统中的默认版本或候选软件。
update-alternatives 主要用于管理系统中的可替代软件,例如不同版本的编译器、解释器、文本编辑器等。它可以帮助用户轻松切换系统中的默认软件版本,并在不同的软件之间进行选择。

以Java版本管理为例:

切换软件版本

1.查看系统已自动安装的Java 虚拟机(JVM )版本

cd /usr/lib/jvm 
ls

/usr/lib/jvm 是一个常见的路径,用于存放 Java 虚拟机 (JVM) 的安装目录。
这个路径是常用的默认位置,但实际安装位置可能会有所变化。
在这里插入图片的描述
2.查看当前java版本

java -version

软件版本管理_第2张图片

3.列出可替代软件的列表:update-alternatives --config <软件名称>该命令将显示一个菜单,列出可用的软件版本,并要求用户选择默认版本软件版本管理_第3张图片

添加新的可替代软件

添加一个优先级为3的jdk21
我是将下载的软件放在 /usr/local/sof下的soft文件夹中的

cd /usr/local/soft

1.下载:

wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz

可能由于网络问题耗时很久,Ctrl+C中断下载
我直接将宿主机Windows11中下载好的压缩包复制到 /usr/local/sof下的soft文件夹中
2.解压缩:
使用 gzip 压缩算法解压缩名为 jdk-21_linux-x64_bin.tar.gz 的归档文件,并在输出中显示详细信息。

tar -zxvf jdk-21_linux-x64_bin.tar.gz

-z:表示使用 gzip 压缩算法解压缩文件。
-x:表示从归档文件中提取文件。
-v:表示在输出中显示详细信息(verbose)。
-f:表示指定要解压缩的文件名。在本例中,要解压缩的文件名为 jdk-21_linux-x64_bin.tar.gz。
在这里插入图片描述
3.添加新的可替代软件
update-alternatives --install <软件名称> <链接路径> <软件路径> <优先级>

alternatives --install /usr/bin/java java /usr/local/soft/jdk-21.0.1/bin/java 3

/usr/bin/java:注册地址,软连接
java:服务名
/usr/local/soft/jdk-21.0.1/bin/java:实际程序路径
3:优先级
该命令的作用是将 /usr/local/soft/jdk-21.0.1/bin/java 设置为 /usr/bin/java 的替代项,并分配优先级为 3。这意味着当使用 java 命令时,系统将使用 /usr/local/soft/jdk-21.0.1/bin/java 路径下的可执行文件作为默认选择,而非原始命令的路径。这样可以方便地切换和管理不同版本的 Java 程序。
软件版本管理_第4张图片

请注意,update-alternatives 命令的具体用法可能因不同的软件而有所不同。您可以通过查看相关软件的文档或在终端中输入 man update-alternatives 查看命令的完整使用说明。
总结起来,update-alternatives 是 Linux 操作系统中用于管理可替代软件的命令行工具,可以帮助用户选择和配置系统中的默认版本或候选软件。它提供了一种方便的方式来切换不同软件版本,并为用户提供了更大的灵活性和控制权。

你可能感兴趣的:(Linux基本操作,python,java,linux)