トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

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

より抽出

/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