概述
update-alternatives 命令用于处理 Linux 系统中软件版本的切换,使其多版本共存。alternatives 的管理目录 /etc/alternatives 。
alternatives 管理方式
$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 24 1120 2017 /usr/bin/python -> /etc/alternatives/python
$ ls -l /etc/alternatives/python
lrwxrwxrwx 1 root root 18 1121 2017 /etc/alternatives/python -> /usr/bin/python2.7
python 这个可执行命令实际是一个链接,指向了 /etc/alternatives/python 。而这个也是一个链接,指向了 /usr/bin/python2.7 ,这才是最终的可执行文件。alternatives 实际上是通过软链接的方式对版本进行管理。
语法
$ update-alternatives --help
用法:update-alternatives [ ...]
命令:
--install
[--slave ] ...
在系统中加入一组候选项。
--remove 从 替换组中去除 项。
--remove-all 从替换系统中删除 替换组。
--auto 将 的主链接切换到自动模式。
--display 显示关于 替换组的信息。
--query 机器可读版的 --display .
--list 列出 替换组中所有的可用候选项。
--get-selections 列出主要候选项名称以及它们的状态。
--set-selections 从标准输入中读入候选项的状态。
--config 列出 替换组中的可选项,并就使用其中哪一个,征询用户的意见。
--set 将 设置为 的候选项。
--all 对所有可选项一一调用 --config 命令。
是指向 /etc/alternatives/ 的符号链接。(如 /usr/bin/pager)
是该链接替换组的主控名。(如 pager)
是候选项目标文件的位置。(如 /usr/bin/less)
是一个整数,在自动模式下,这个数字越高的选项,其优先级也就越高。
..........
实例
display 参数显示关于 Python 替换组的信息
$ update-alternatives --display python
python - 手动模式
link best version is /usr/bin/python3.5
链接目前指向 /usr/bin/python2.7
link python is /usr/bin/python
/usr/bin/python2.7 - 优先级 1
/usr/bin/python3.5 - 优先级 2
选择候选项
$ update-alternatives --config python
有 2 个候选项可用于替换 python (提供 /usr/bin/python)。
选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/bin/python3.5 2 自动模式
* 1 /usr/bin/python2.7 1 手动模式
2 /usr/bin/python3.5 2 手动模式
要维持当前值[*]请按,或者键入选择的编号:
install 参数用于添加一个命令的link值
# 添加 python link
$ update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
# 第一个参数: --install 表示向update-alternatives注册服务名。
# 第二个参数: 注册最终地址,成功后将会把命令在这个固定的目的地址做真实命令的软链,以后管理就是管理这个软链;
# 第三个参数: 服务名,以后管理时以它为关联依据。
# 第四个参数: 被管理的命令绝对路径。
# 第五个参数: 优先级,数字越大优先级越高。
remove 参数用于删除一个命令的link值,其附带的slave也将一起删除
$ update-alternatives –remove python /usr/bin/python2.7
最后
以上就是贪玩飞鸟为你收集整理的linux软件多版本共存,linux 软件多版本共存的全部内容,希望文章能够帮你解决linux软件多版本共存,linux 软件多版本共存所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复