Postfix と Linux


Berkeley DB 問題

警告: "db.h" が見つからなくて Postfix がコンパイルできない場合、システムライブラリに適したBerkeley DB開発パッケージ (名前: db???-devel-???) をインストールしなければいけません。インストールされているものは rpm コマンドで分かります。例:

$ rpm -qf /usr/lib/libdb.so
db4-4.3.29-2

これは db4-devel-4.3.29-2 をインストールする必要があることを意味します (システムによっては rpm クエリで /lib/libdb.so を指定します)。

ネットワークからあるバージョンのBerkeley DBをダウンロードしては「いけません」。システムライブラリルーチンが使っているバージョンと異なる Berkeley DBを使ってPostfixをビルドすると、あらゆるPostfixプログラムがコアダンプしてしまいます。より詳しい情報は DB_README ファイルを参照してください。

Procmail 問題

RedHat Linux 7.1以降の procmail はメールスプールディレクトリへの書き込み権を持たなくなりました。回避方法: chmod 1777 /var/spool/mail。

Syslogd パフォーマンス

LINUX syslogd はデフォルトで同期書き込みを使っています。そのため、syslogd は実際に Postfix よりもシステムリソースを使います。そのような悪い状態を避けるため、/etc/syslog.conf を編集してログファイル名の前に - を付け、メールログファイルの同期書き込みを無効にします:

/etc/syslog.conf:
    mail.*                          -/var/log/mail.log

変更を反映するには、"kill -HUP" を syslogd に送ります。