答案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
永远不会覆盖系统管理员的选择,无论替代方案的相对优先级如何。操作员已做出选择,系统将坚持该选择,直到且除非操作员做出不同的选择(包括选择返回“自动模式”)。
“自动模式”是默认模式,直到操作员进行手动选择。
每组替代方案(例如editor
,awk
,vi
,pager
, 等)都有其自己的单独模式设置...换句话说,手动选择不会影响或替代editor
方案的模式。vi
pager