Vine Linux ドキュメント / Vine Linux 7.x / CUI ユーザーズガイド / alternatives による標準コマンドの切り替え / alternatives の仕組み / 用語とディレクトリ
alternative には仕組みを理解する上で必要となる 5つの用語と 2つのディレクトリ があります。
総称名 (generic name) は、リンク名、選択候補、優先度、モードなどを一つのグループとして管理するためのグループの名前です。
リンク名 (link name) は、alternatives によって作られる、新しい名前です。この名前で、シンボリックリンクファイルFootNote(symbolic link file: 他のファイル、ディレクトリを参照する形式のファイル)?が作られ、一般的なコマンド、ファイルと同じように利用されることになります。
選択候補 (alternative) は、既存のファイル、実際のファイルです。「本体」といった感じのものになります。リンク名で作られるファイルは最終的にこのファイルを参照することになります。
選択候補ごとに、優先度 (priority) があります。数字で設定され、選択候補が複数ある場合には、数字の大きなものほど優先されます。
優先度に従うかどうかを決めるモード (mode) があります。モードには、パッケージの追加や削除などで、選択候補が追加されたり削除された時に、優先度が高いものに自動的に切り替わる auto(matic mode) と、すでに設定したもので固定しておく manual( mode) というものがあります。
標準では、自動的に切り替える auto になっています。
alternatives directory は、どの候補を選択するかといった切り替えに利用するディレクトリです。Vine Linux では /etc/alternatives が利用されます。
administrative directory には、総称名ごとに、モード、リンク名、選択候補、優先度の情報が保存されます。Vine Linux では /var/lib/rpm/alternatives が利用されます。
ここにあるファイルの中身については administrative directory におかれるファイルで説明します。
alternatives コマンドで切り替える時には総称名と選択候補を利用します。
リンク名以外は alternatives という仕組みの中で利用されるものです。
一般的にシステムごとの設定ファイルなどは /etc/ というディレクトリ以下におかれて管理されるので、alternatives は /usr/bin/ にあるコマンドを直接変更するのではなく、/etc/alternatives 以下を経由して変更を行うようになっています。
また、優先度などの情報は、パッケージのインストールやアンインストールなどで、選択候補が増えたり減ったり動的に変化するために、/var/lib/rpm/alternatives 以下におかれます。
/etc や /var などのディレクトリの配置や意味などについては、 FHS(Filesystem Hierarchy Standard) などを参照してください。