Назад | Перейти на главную страницу

Есть ли способ перечислить все настраиваемые `альтернативы` (символические ссылки для похожих команд) в системе?

В alternatives команда (пакет chkconfig) в RHEL / Fedora управляет символическими ссылками, которые связывают общее имя с одной из альтернативных реализаций. Например, mta группа символических ссылок может быть предоставлена ​​Sendmail и Postfix (для реализации т.е. sendmail команда):

alternatives --display mta

Пока я могу --display группа символических ссылок, мне нужно сначала угадать ее имя (т.е. mta).

Могу я просто перечислить все возможные настраиваемые группы символических ссылок (например, mta) выбирать?

Причина в том, что я иногда забываю названия некоторых групп.

В Debian (но не в Fedora или RHEL), чтобы увидеть список всех «основных альтернативных имен»:

update-alternatives --get-selections

--get-selections список основных альтернативных имен и их статус.

И для каждого из перечисленных вы можете запустить --list $ALTERNATIVE_NAME, например

update-alternatives --list editor

--list name Показать все цели группы ссылок.

Если вы хотите увидеть список всех альтернатив в соответствующих группах, вы можете запустить следующее в fish оболочка:

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

Точный ответ (RHEL):

ls /var/lib/alternatives

Каталог /etc/alternatives поддерживает плоский длинный список всех символических ссылок смешивание хозяева и рабы вместе. Подчиненные символические ссылки нельзя использовать с alternatives --display [symlink] команда.

В то же время каталог /var/lib/alternatives содержит информацию о состоянии (включая отношения ведущий-ведомый) для каждой группы в укороченный список имен файлов все из которых можно напрямую использовать с --display вариант. Например, /var/lib/alternatives/java:

alternatives --display java

Самый простой ответ был бы ...

ls /etc/alternatives

В Ubuntu 12.04 (могут быть и некоторые предыдущие версии, которые нужно проверить) и, вероятно, Debian (нужно проверить):

ls /var/lib/dpkg/alternatives

Перечислите его, чтобы получить настраиваемые альтернативные имена, поскольку записи в этих каталогах не являются ссылками. Кстати, в этом каталоге может быть сжатый файл, поэтому перечисленные там имена не всегда можно использовать как есть. Ex. у меня есть /var/lib/dpkg/alternatives/psql.1.gz