Posted at

qmailをインストールしたサーバーに間違えてyumでpostfixを入れてしまった際の対処


事象

昔のサーバー(CentOS6)に、セキュリティ対応目的でyum updateをしたところ、postfixまでインストールされてしまいました。

どうやらcronieのアップデートに引きずられてインストールされたようです。

postfixがインストールされるだけだったら問題ないのですが、

alternativeで、mtapostfixになってしまったので、sendmailコマンドを使用しているプログラムが軒並みqmailを使用できなくなってしまいました。

qmailはソースインストールしており、alternativeには出てこない。

そのためなんとか元の状態に戻します。


対応内容


postfixの強制アンインストール

yumでアンインストールしようとすると、依存性の関係で他の必要なパッケージまでアンインストールされてしまうため、

rpmコマンドで強制的にアンインストールします。

rpm -e --nodeps postfix


qmailをsendmailに紐付ける

sendmailコマンドを使うと裏ではqmailを使用するように、手動でリンクを貼り直します。

ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

ln -s /var/qmail/bin/sendmail /usr/lib/sendmail


qmailの再起動

qmailを再起動します。

svc -t /service/qmail/log/

svc -t /service/qmail/
svc -t /service/smtpd/log/
svc -t /service/smtpd/


本来どうすべきだったか

postfixcronieのアップデートに引きずられてインストールされたようですので、

yum update

ではなく、

yum update --exclude cronie*

とすればpostfixはインストールされないようです。(cronieはアップデートされないままですが…)

以上。