/etc/alternatives
読み:スラ-エトセ-スラ-オルタネイティヴス
外語:/etc/alternatives

 Linuxで、alternativeディレクトリとして使用されるディレクトリ
目次

概要
 Linuxでは、バージョン間、あるいは互換品の使用などにおいて、仕様差や互換性問題が生じるようなものを中心に、alternativeディレクトリが使用されている。
 この手法では、コマンドを直接実行させるのではなく、一旦alternativeディレクトリへのシンボリックリンクを介し、ここから実際の実行ファイルへのシンボリックリンクを介して実行させる。
 こうすることで、alternativeディレクトリへのシンボリックリンクを編集することで簡単に実行ファイルを切り替えることができる。

特徴

vimの例
 例えば、vi互換のエディター「Vim」は、概ね次のようになっている。
$ file /usr/bin/vi
/usr/bin/vi: symbolic link to `/etc/alternatives/vi'
 /etc/alternatives/vi もまたシンボリックリンクである。
$ file /etc/alternatives/vi
/etc/alternatives/vi: symbolic link to `/usr/bin/vim.basic'
 つまり、次のようにして動作する。
 /usr/bin/vi → /etc/alternatives/vim → /usr/bin/vim.basic
 viだけでなく、exやviewなどのコマンドも同様の経路でvim.basicまたはvim.tinyが実行されるようになっている。

Javaの例
 Javaは色々なバージョンがあり、頻繁に互換性問題を起こすため、alternativeディレクトリを介して結ばれているようである。

GNUソフトウェアの場合
 この他、gから始まるGNUソフトウェアも、gの無い従来名からalternativeディレクトリを介して結ばれる傾向にある。
 例えば次のようになる。
 ccやc++のリンク先をclangやclang++に変えれば、コンパイラーをclang/LLVMに変更できることになる。

再検索