Alternativesコマンド
提供: Astarisk Works Wiki
Linuxでは一つのコマンドに複数の実装がある場合がある。
たとえば、mtaやjavaなど。 どれをデフォルトで使うかを設定するのにはalternativesコマンド(fedora系)もしくはupdate-alternativesコマンド(Ubuntu系)を使う。
Javaの場合、次の通り
> sudo update-alternatives --config java > There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-6-sun/jre/bin/java 63 auto mode 1 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java 53 manual mode 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode Press enter to keep the current choice[*], or type selection number:
選択したい番号を押すとそれが使われるようにシンボリックリンクが作成される。
alternativesに項目を追加する
パッケージでインストールしたものは自動的に選択できるリストに入るが、そうでないものは自分で足す必要がある。
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.8 200 --slave /usr/bin/rake rake /usr/bin/rake1.8 --slave /usr/bin/erb erb /usr/bin/erb1.8 --slave /usr/bin/testrb testrb /usr/bin/testrb1.8 sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 150 --slave /usr/bin/rake rake /usr/bin/rake1.9.1 --slave /usr/bin/erb erb /usr/bin/erb1.9.1 --slave /usr/bin/testrb testrb /usr/bin/testrb1.9.1
sudo update-alternatives --install /usr/bin/irb irb /usr/bin/irb1.8 200 sudo update-alternatives --install /usr/bin/irb irb /usr/bin/irb1.9.1 150
sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.8 150 --slave /etc/bash_completion.d/gem bash_completion_gem /etc/bash_completion.d/gem1.8 --slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem1.8.1.gz sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.9.1 100 --slave /etc/bash_completion.d/gem bash_completion_gem /etc/bash_completion.d/gem1.9.1 --slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem1.9.1.1.gz
参考:コマンドを便利に切り替える update-alternatives 使いこなし講座 | イージーネット Tech Blog