RHEL/Fedoraのalternatives
コマンド(パッケージchkconfig
)は、汎用名を代替実装の1つにリンクするシンボリックリンクを管理します。たとえば、シンボリックリンクのmta
グループは、SendmailとPostfixによって提供できます(つまり、sendmail
コマンドを実装するため)。
alternatives --display mta
できる間--display
シンボリックリンクのグループです。最初にその名前を推測する必要があります(つまり、mta
)。
選択可能なすべての構成可能なシンボリックリンクグループ(mta
など)を単純にリストできますか?
その理由は、グループ名を時々忘れてしまうからです。
正確な答えは次のとおりです。
ls /var/lib/alternatives
ディレクトリ/etc/alternatives
は、すべてのシンボリックリンクのマスターとスレーブを一緒に混合したフラットな長いリストを維持します。スレーブシンボリックリンクはalternatives --display [symlink]
コマンドでは使用できません。
同時に、ディレクトリ/var/lib/alternatives
には、ファイル名のリストshortenedの各グループのステータス情報(マスターとスレーブの関係を含む)が含まれていますallのうち、--display
オプションで直接使用できます。たとえば、/var/lib/alternatives/Java
:
alternatives --display Java
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
を実行します
最も簡単な答えは...
ls /etc/alternatives
Ubuntu 12.04(以前のバージョンもある可能性があるため、確認する必要があります)およびおそらくDebianも(確認する必要があります):
ls /var/lib/dpkg/alternatives
このディレクトリ内のエントリはリンクではないため、構成可能な代替名を取得するためだけにリストしてください。ちなみに、このディレクトリには圧縮ファイルがある可能性があるため、そこに記載されている名前をそのまま使用できるとは限りません。例/var/lib/dpkg/alternatives/psql.1.gz