Ubuntu update-alternatives 命令

本贴最后更新于 2800 天前,其中的信息可能已经东海扬尘

介绍

update-alternatives是符号链接管理工具。用于分组管理命令的链接和优先级。

update-alternatives以链接组进行管理,每一个链接组(link group)都有两种不同的模式:自动模式和手动模式,任一给定时刻一个组都是而且只能是其中的一种模式。

如果一个组处于自动模式,当包被安装或删除时,备选方案系统会自己决定是否和如何来更新相应链接(links)。

如果处于手动模式,备选方案系统会保留原先管理员所做的选择并且避免改变链接(除非发生broken)。

当第一次被安装到系统时链接组被分配为自动模式;如果之后系统管理员对模式的设置做出更改,这个组会被自动转换为手动模式。

--display name

显示链接组的信息。信息包括链接组的模式(自动或手动);链接的指针(链到了那一个文件);优先级是多少;当前最优版本等。

--install link name path priority [--slave slink sname spath] ...

其中link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录);

name为命令链接符名称,如java;

path为你所要使用新命令、新软件的所在目录;

priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用priority高的链接;

--slave为从alternative。

例如:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk8/bin/java 300

install默认都为auto模式,因为大多数情况下update-alternatives命令都被postinst (configure) or prerm (install)调用的,如果将其更改成手动的话安装脚本将不会更新它了。

--config name

当使用--config选项时,update-alternatives 会列出所有链接组的主链接名,当前被选择的组会以*号标出。可以在提示下对链接指向做出改变,不过这会将模式变为手动。如果想恢复自动模式,你可以使用--auto选项,或者--config重新选择标为自动的组。

例如:

$ sudo update-alternatives --config editor

There are 4 choices for the alternative editor (providing /usr/bin/editor).

Selection Path Priority Status

  • 0 /bin/nano 40 auto mode
    1 /bin/ed -100 manual mode
    2 /bin/nano 40 manual mode
    3 /usr/bin/vim.basic 30 manual mode
    4 /usr/bin/vim.tiny 10 manual mode

Press enter to keep the current choice[*], or type selection number:

--auto name

重新使name链接组为自动模式。

--remove name path

删除name链接组里的path对应的符号链接

  • 工具

    子曰:“工欲善其事,必先利其器。”

    273 引用 • 679 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖
  • 链接
    12 引用 • 47 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...