ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

MTAの切り替えについて。

VMware上ではデフォルトはsendmailになっている。一応postfixのパッケージも入ってはいるが・・・。実運用環境はpostfixになっていた。既に。
イカン。切り替えないと。
で、Google先生に聞いてみると結構ヒットしたのだが・・・。念のため、
http://www.centos.org/docs/4/
からDLできる System Administratorion Guides 辺りを検索してみたら、普通に

Chapter 39.
Mail Transport Agent (MTA) Conguration

として載っていた。
system-switch-mail というパッケージが入っていれば良いらしい。GUI版だとsystem-switch-mail-gnome。で、VMware上では一応入ってた。
えっと、中身はpythonコンパイルしたやつみたいです。あとgettextのロケールファイル群。やってることは、*.py斜め読みした限りでは、選択されたMTAに対して"alternativesコマンド"とやらを発行し、"mta"グループのリンクを切り替えた後、然るべきサービスを停止・起動しているようです。例えばsendmailを選択したらこんな感じ。

/usr/sbin/alternatives --set mta /usr/sbin/sendmail.sendmail
/sbin/service postfix stop 2>/dev/null >/dev/null
/sbin/service exim stop 2>/dev/null >/dev/null
/sbin/service sendmail start 2>/dev/null >/dev/null

はぁん。alternativesというのは始めて見るコマンドだにゃ。

# which alternatives
/usr/sbin/alternatives
# rpm -qf /usr/sbin/alternatives
chkconfig-1.3.13.5.EL4-1

へぇ。
ちなみに、alternatives --display で指定したグループのリンク状況を見れるみたい。

[root@yggdrasil00 ~]# alternatives --display mta
mta - status is manual.
 link currently points to /usr/sbin/sendmail.postfix
/usr/sbin/sendmail.sendmail - priority 90
 slave mta-pam: /etc/pam.d/smtp.sendmail
 slave mta-mailq: /usr/bin/mailq.sendmail
 slave mta-newaliases: /usr/bin/newaliases.sendmail
 slave mta-rmail: /usr/bin/rmail.sendmail
 slave mta-sendmail: /usr/lib/sendmail.sendmail
 slave mta-mailqman: /usr/share/man/man1/mailq.sendmail.1.gz
 slave mta-newaliasesman: /usr/share/man/man1/newaliases.sendmail.1.gz
 slave mta-aliasesman: /usr/share/man/man5/aliases.sendmail.5.gz
 slave mta-sendmailman: /usr/share/man/man8/sendmail.sendmail.8.gz
/usr/sbin/sendmail.postfix - priority 30
 slave mta-pam: /etc/pam.d/smtp.postfix
 slave mta-mailq: /usr/bin/mailq.postfix
 slave mta-newaliases: /usr/bin/newaliases.postfix
 slave mta-rmail: /usr/bin/rmail.postfix
 slave mta-sendmail: /usr/lib/sendmail.postfix
 slave mta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz
 slave mta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz
 slave mta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz
 slave mta-sendmailman: /usr/share/man/man1/sendmail.postfix.1.gz
Current `best' version is /usr/sbin/sendmail.sendmail.

詳細はalternativesのmanを参照。とりあえずこれで、MTAはpostfixに切り替わった・・・。

ふ〜〜・・・慣れないディストリビューションだと、いろいろと大変だな。