RHEL/Fedora 上的命令alternatives
(package chkconfig
) 管理将通用名称链接到替代实现之一的符号链接。例如,mta
Sendmail 和 Postfix 可以提供一组符号链接(以实现 iesendmail
命令):
alternatives --display mta
虽然我可以有--display
一组符号链接,但我需要先猜出它的名称(即mta
)。
我可以简单地列出所有可能的可配置符号链接组(如mta
)以供选择吗?
原因是我偶尔会忘记一些群组名称。
答案1
在 Debian(但不是 Fedora 或 RHEL)上,查看所有“主备用名称”的列表:
update-alternatives --get-selections
--get-selections
列出主备用名称及其状态。
对于列出的每一个,你可以运行--list $ALTERNATIVE_NAME
,例如
update-alternatives --list editor
--list name
显示链接组的所有目标。
如果您想要查看各自组中所有替代方案的列表,您可以在fish
shell 中运行以下命令:
for alternative in (update-alternatives --get-selections)
echo $alternative
update-alternatives --list (echo $alternative | cut -d" " -f1)
echo
end | pager
(ba|z)?sh 语法应该类似。
要更改替代方案,请运行sudo update-alternatives --config $ALTERNATIVE_NAME
答案2
确切的答案是(RHEL):
ls /var/lib/alternatives
目录/etc/alternatives
维护所有符号链接的扁平长列表混合主服务器和从服务器一起。从服务器符号链接不能与命令一起使用alternatives --display [symlink]
。
同时目录/var/lib/alternatives
下还保存了各个组的状态信息(包括主从关系)缩短文件名列表全部其中可以直接与--display
选项一起使用。例如/var/lib/alternatives/java
:
alternatives --display java
答案3
最简单的答案是......
ls /etc/alternatives
答案4
在 Ubuntu 12.04(可能还有一些先前的版本,有待检查)以及 Debian 上(有待检查):
ls /var/lib/dpkg/alternatives
列出它只是为了获得可配置的替代名称,因为此目录中的条目不是链接。顺便说一句,此目录中可能有压缩文件,因此列出的名称并不总是按原样使用。例如,我有一个/var/lib/dpkg/alternatives/psql.1.gz