XPlite

本当にあった怖い話しです.
sargeにアップグレード後何気なく mailq コマンドで不正なキューが無いか見たら,
正規のメールが送信されてなかったのです.
しかもその理由が,"Name or service not known"でホスト名が表示されてます.
あれれ?
おかしいぞ,DNSは正常に動いてるしMXも引けてるし...
ログにも"Name or service not known"が残っています.
とりあえず,Googleで検索してみてわかったこと.
"Host not found"と"Name or service not known"の違いは,
IPv6非対応関数gethostbyname()を使うか,対応関数getaddrinfo()を使うかの違いらしい.
つまり"Name or service not known"≒"Host not found"であると.参考になったログ
それで,次の検証.
# su - postfix
で,postfixの実行権限になってhostやdigやnslookupをしてみる.
MX,A,PTR全部引けちゃう.
かなりお手上げの状況...
それから,いろいろいじって解決しました.
原因は何だったか!?
これが/var/spoolのマウントオプションだったんです.
/var/spoolがnoexecでマウントされてると,sargeからは標準でchrootされてインストールされてるので,メールの送信に失敗するんですね.
/etc/fstab を書き換えて一件落着.
#3時間くらい悩みましたw