ubuntu/linux系统知识(10)update-alternatives管理命令的不同版本

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu/linux系统知识(10)update-alternatives管理命令的不同版本相关的知识,希望对你有一定的参考价值。

提示:本文经奇妙之二进制二次编辑和审核, 修正了一些错误,包括但不限于错别字,语句不通顺,代码编译不过,命令书写错误,图片缺失,排版优化等。

文章目录


update-alternatives 命令用于处理 Linux 系统中软件版本的切换,使其多版本共存。alternatives 的管理目录 /etc/alternatives

1、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 实际上是通过软链接的方式对版本进行管理。

2、语法

$ 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)
<优先级> 是一个整数,在自动模式下,这个数字越高的选项,其优先级也就越高。
..........

3、实例

  • 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
  • –config配置首选项
$ update-alternatives --config python    

  • –install 选项用于添加一个候选项
# 添加 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

以上是关于ubuntu/linux系统知识(10)update-alternatives管理命令的不同版本的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu/linux系统知识(30)ubuntu系统配置项dconf/gsettings

ubuntu/linux系统知识(30)ubuntu系统配置项dconf/gsettings

ubuntu/linux系统知识虚拟机安装ubuntu18.04/20.04

ubuntu/linux系统知识虚拟机安装ubuntu18.04/20.04

ubuntu/linux系统知识(36)linux网卡命名规则

ubuntu/linux系统知识(24)ubuntu自带的录屏软件