zoukankan      html  css  js  c++  java
  • update-alternatives 命令

    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


    作者:那些事情
    链接:https://www.jianshu.com/p/4d27fa2dce86
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    Vue 错误:Avoid mutating a prop directly
    插入排序
    Vue2.0实现ie的兼容
    mysql8.0遇到删除外键的错误
    c# 根据父节点id,找到所有的子节点数据
    SSH原理与运用(一):远程登录
    Java线程:Timer和TimerTask
    linux系统判断是否重启、关机、查询登录诊断分析简介
    CS架构和BS架构的区别
    yum提示another app is currently holding the yum lock;waiting for it to exit
  • 原文地址:https://www.cnblogs.com/wangshuyi/p/14062905.html
Copyright © 2011-2022 走看看