linux alternatives
参考サイト
Software/Alternatives-System - Debian GNU/Linux スレッドテンプレ
似たようなソフトやバージョン違いのソフトを切り換えて使うにはどうしたらいいの?
- alternatives システムを使いましょう。
切り換えることができるソフトのリストと番号が表示するには
update-alternatives --config mta
優先度を表示するには
update-alternatives --display mta
関連パッケージをアップデートすると alternatives の優先度が高いソフトに変更されてしまう。
- 自分で優先度を変更する
優先度を 70 にするには
update-alternatives --install /usr/bin/x-window-manager mta /usr/bin/sawfish 70
- slave リンクが (null) になってしまうので注意。(RHL9)
- rpm -q --scripts [package] で調査し、 下の長い alternative コマンドを優先度を買えて実行した。
リンク先がおかしくなったり、デフォルトに戻したくなったら
update-alternatives --auto mta
Linux alternatives howto
サンプル
RHL での alternatives 実行例
rpm -q --scripts sendmail/postfix
より抽出
- postfix-1.1.12-1 RHL-9
/usr/sbin/alternatives --install /usr/sbin/sendmail mta /usr/sbin/sendmail.postfix 30 \ --slave /usr/bin/mailq mta-mailq /usr/bin/mailq.postfix \ --slave /usr/bin/newaliases mta-newaliases /usr/bin/newaliases.postfix \ --slave /usr/bin/rmail mta-rmail /usr/bin/rmail.postfix \ --slave /usr/share/man/man1/mailq.1.gz mta-mailqman /usr/share/man/man1/mailq.postfix.1.gz \ --slave /usr/share/man/man1/newaliases.1.gz mta-newaliasesman /usr/share/man/man1/newaliases.postfix.1.gz \ --slave /usr/share/man/man5/aliases.5.gz mta-aliasesman /usr/share/man/man5/aliases.postfix.5.gz \ --initscript postfix
- sendmail-8.12.11-4.90.6 RHL-9
/usr/sbin/alternatives --install /usr/sbin/sendmail mta /usr/sbin/sendmail.sendmail 90 \ --slave /usr/bin/mailq mta-mailq /usr/bin/mailq.sendmail \ --slave /usr/bin/newaliases mta-newaliases /usr/bin/newaliases.sendmail \ --slave /usr/bin/rmail mta-rmail /usr/bin/rmail.sendmail \ --slave /usr/share/man/man1/mailq.1.gz mta-mailqman /usr/share/man/man1/mailq.sendmail.1.gz \ --slave /usr/share/man/man1/newaliases.1.gz mta-newaliasesman /usr/share/man/man1/newaliases.sendmail.1.gz \ --slave /usr/share/man/man5/aliases.5.gz mta-aliasesman /usr/share/man/man5/aliases.sendmail.5.gz \ --initscript sendmail
/usr/sbin/alternatives --install /usr/sbin/sendmail mta /usr/sbin/sendmail.postfix 30 \ --slave /usr/bin/mailq mta-mailq /usr/bin/mailq.postfix \ --slave /usr/bin/newaliases mta-newaliases /usr/bin/newaliases.postfix \ --slave /etc/pam.d/smtp mta-pam /etc/pam.d/smtp.postfix \ --slave /usr/bin/rmail mta-rmail /usr/bin/rmail.postfix \ --slave /usr/lib/sendmail mta-sendmail /usr/lib/sendmail.postfix \ --slave /usr/share/man/man1/mailq.1.gz mta-mailqman /usr/share/man/man1/mailq.postfix.1.gz \ --slave /usr/share/man/man1/newaliases.1.gz mta-newaliasesman /usr/share/man/man1/newaliases.postfix.1.gz \ --slave /usr/share/man/man8/sendmail.8.gz mta-sendmailman /usr/share/man/man1/sendmail.postfix.1.gz \ --slave /usr/share/man/man5/aliases.5.gz mta-aliasesman /usr/share/man/man5/aliases.postfix.5.gz \ --initscript postfix
- sendmail-8.13.1-3.RHEL4.5 CentOS-4
/usr/sbin/alternatives --install /usr/sbin/sendmail mta /usr/sbin/sendmail.sendmail 90 \ --slave /usr/bin/mailq mta-mailq /usr/bin/mailq.sendmail \ --slave /usr/bin/newaliases mta-newaliases /usr/bin/newaliases.sendmail \ --slave /usr/bin/rmail mta-rmail /usr/bin/rmail.sendmail \ --slave /usr/lib/sendmail mta-sendmail /usr/lib/sendmail.sendmail \ --slave /etc/pam.d/smtp mta-pam /etc/pam.d/smtp.sendmail \ --slave /usr/share/man/man8/sendmail.8.gz mta-sendmailman /usr/share/man/man8/sendmail.sendmail.8.gz \ --slave /usr/share/man/man1/mailq.1.gz mta-mailqman /usr/share/man/man1/mailq.sendmail.1.gz \ --slave /usr/share/man/man1/newaliases.1.gz mta-newaliasesman /usr/share/man/man1/newaliases.sendmail.1.gz \ --slave /usr/share/man/man5/aliases.5.gz mta-aliasesman /usr/share/man/man5/aliases.sendmail.5.gz \ --initscript sendmail