最新消息:

update-alternatives 管理软件版本

alternatives admin 2853浏览 0评论

update-alternatives 命令用于处理linux系统中软件版本的切换,在各个linux发行版中均提供了该命令,命令参数略有区别,但大致是一样的。
这里只介绍几个常用参数说明。

注册

# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 999
  1. 第一个参数–install表示向update-alternatives注册服务名。
  2. 第二个参数是注册最终地址,成功后将会把命令在这个固定的目的地址做真实命令的软链,以后管理就是管理这个软链;( –install link name path priority)

    其中link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录);name为命令链接符名称,如java path为你所要使用新命令、新软件的所在目录 priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用priority高的链接;# 整数 根据版本号设置的优先级(更改的优先级需要大于当前的)

  3. 第三个参数:服务名,以后管理时以它为关联依据。
  4. 第四个参数,被管理的命令绝对路径。
  5. 第五个参数,优先级,数字越大优先级越高。

–get-selections

查看当前所有状态

  1. 第一列名称
  2. 第二列类型 auto 和 manual
  3. 第三列是路径
# update-alternatives --get-selections
awk                            auto     /usr/bin/mawk
c++                            auto     /usr/bin/g++
c89                            auto     /usr/bin/c89-gcc
c99                            auto     /usr/bin/c99-gcc
cc                             auto     /usr/bin/gcc
cpp                            auto     /usr/bin/cpp
editor                         auto     /usr/bin/vim.basic
ex                             auto     /usr/bin/vim.basic
fakeroot                       auto     /usr/bin/fakeroot-sysv
gcc                            auto     /usr/bin/gcc-4.8

–display \<name>

# update-alternatives --display gcc
gcc - auto mode
  link best version is /usr/bin/gcc-4.8
  link currently points to /usr/bin/gcc-4.8
  link gcc is /usr/bin/gcc
/usr/bin/gcc-4.8 - priority 999
/usr/bin/gcc-7 - priority 90

当前 gcc 是 auto, 也就是说 谁的 priority 高就使用谁

manual 手动选择

# update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-4.8   999       auto mode
  1            /usr/bin/gcc-7     90        manual mode

Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/gcc-7 to provide /usr/bin/gcc (gcc) in manual mode

选择 1 使用 gcc-7 作为默认版本

auto 自动选择

update-alternatives --auto gcc

转载请注明:爱开源 » update-alternatives 管理软件版本

您必须 登录 才能发表评论!