[Linux/环境配置]软件版本管理工具update-alternatives指南

Linux版本管理

update-alternatives

可对注册服务的软链接进行管理,实现对软件版本的切换。

注册部分

update-alternatives --install link_path command_name executable-path priority 

使用update-alternativesinstall参数对软件进行注册服务,

前两个参数是为python的PATH搜索目录的A和注册命令名称B(实际使用当中由B指向A,调用B即可完成对A的调用,这也是我们日常使用当中命令的来源)

第三个参数为最终调用软件版本的可执行程序位置C,选择版本会在A和C之间间接建立软链,使得使用B即为调用当前选定的C。

第四个参数为优先级,越大优先级越高。

update-alternatives --install /usr/bin/python python /usr/bin/python2 100

通过间接软链接(下文有提到),建立命令和不同版本之间的联系,并为此联系赋予优先级。

查询各个版本信息

详细的
update-alternatives --display 软件名

请添加图片描述
通过此命令可以快速查看软链接的指向情况。

简单的
update-alternatives --list 软件名

软链接切换

交互式切换
update-alternatives --config 软件名				// 进入手动模式
update-alternatives --auto 软件名					// 进入自动模式

自动模式下默认为优先级最高的选项,且可在交互式界面使用序号切换当前软件版本。

手动设置
update-alternatives --set 软件名 /usr/bin/软件版本名称

清除链接

update-alternatives --remove name path	 // 清除指定版本
update-alternatives --remove-all name	 // 全部清楚清除

关联变化

可以通过--slave参数进行关联设置,当A的软件版本发生变化时,B随之改变到预定版本。

update-alternatives --install /usr/bin/A A /usr/bin/A-XX 优先级 --slave /usr/bin/B B /usr/bin/B-XXX

如,awk的软件版本管理就是类似的组织结构,我们可以切换一组组件的版本变化。

请添加图片描述

原理

update-alternatives的原理是通过双重软链接对软链接进行管理。

将我们直接调用的软件(位于/usr/bin/)指向/etc/alternatives/,通过修改此文件夹下的软链接指向完成版本切换。

如,以python为例子,

查看/usr/bin/
在这里插入图片描述
查看/etc/alternatives/,自动模式下软链接为
请添加图片描述
手动切换为python2,其软链接指向发生变化,
请添加图片描述

因此,通过修改update-alternatives管理的中间软链接,即可完成对软件版本的切换。

	/etc/alternatives/软件名
 -> /usr/bin/软件一级软链接
 -> /etc/alternatives/软件中间软链接
 -> 最终调用文件路径(如/usr/bin/XXX)
  • 3
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字50 设计师:CSDN官方博客 返回首页
评论

打赏作者

車鈊

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值