update-alternatives 中自动模式和手动模式的区别

update-alternatives 中自动模式和手动模式的区别

当我跑步时

$ update-alternatives --config java  

我得到几行:

在此输入图像描述

自动模式和手动模式有什么区别?

答案1

简而言之,update-alternatives

  • 在自动模式下,将根据替代方案的优先级值自动选择程序的通用名称;具有最高优先级的名称被设置为通用名称。

  • 在手动模式下,将把通用名称设置为用户选择的替代方案,而不管替代方案的优先级值如何,因此名称为“手动”。

检查一下:

% sudo update-alternatives --config editor
There are 5 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/emacs24     0         manual mode
  4            /usr/bin/vim.basic   30        manual mode
  5            /usr/bin/vim.tiny    10        manual mode

请注意,/bin/nano可在自动和手动模式下使用。

如果链接组设置为自动模式,则具有最高优先级的替代方案即/bin/nano(优先级 40)将被选择作为通用名称即/usr/bin/editor。在用户对链接组进行任何更改之前,这是默认设置。

另一方面,在手动模式下,您可以选择任何替代名称作为通用名称,例如在示例中,我已/usr/bin/emacs24设置为 generic /usr/bin/editor。您可以使用选项左侧的选择编号来选择您喜欢的任何一项。

0现在我可以通过从上面选择或通过以下方式从手动模式恢复到自动模式:

sudo update-alternatives --auto editor

答案2

在“自动模式”下,update-alternatives将始终选择具有最高优先级的替代方案。如果安装的新的或升级的软件包比任何其他替代方案具有更高的优先级,则它将被选为自动替代方案。

在“手动模式”下,update-alternatives永远不会覆盖系统管理员的选择,无论替代方案的相对优先级如何。操作员已做出选择,系统将坚持该选择,直到且除非操作员做出不同的选择(包括选择返回“自动模式”)。

“自动模式”是默认模式,直到操作员进行手动选择。

每组替代方案(例如editorawkvipager, 等)都有其自己的单独模式设置...换句话说,手动选择不会影响或替代editor方案的模式。vipager

相关内容