読者です 読者をやめる 読者になる 読者になる

postfixがアップデートできなくなった件

 AV用サーバにapt-get upgradeかけてみたら、postfixがアップデートできなくなっていた。

kazz@jaja ~# sudo apt-get upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 5 個。
2 個のパッケージが完全にインストールまたは削除されていません。
この操作後に追加で 0 B のディスク容量が消費されます。
postfix (3.1.0-3) を設定しています ...

Postfix configuration was not changed.  If you need to make changes, edit
/etc/postfix/main.cf (and others) as needed.  To view Postfix configuration
values, see postconf(1).

After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.

Running newaliases
newaliases: warning: valid_hostname: numeric hostname: 8.8.8.8
newaliases: fatal: file /etc/postfix/main.cf: parameter mydomain: bad parameter value: 8.8.8.8
dpkg: パッケージ postfix の処理中にエラーが発生しました (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 75 を返しました
dpkg: 依存関係の問題により mailutils の設定ができません:
 mailutils は以下に依存 (depends) します: default-mta | mail-transport-agent ...しかし:
  パッケージ default-mta はまだインストールされていません。
  パッケージ postfix は default-mta を提供していますが、まだ設定されていません。
  パッケージ mail-transport-agent はまだインストールされていません。
  パッケージ postfix は mail-transport-agent を提供していますが、まだ設定されていません。

dpkg: パッケージ mailutils の処理中にエラーが発生しました (--configure):
 依存関係の問題 - 設定を見送ります
エラーメッセージは前の失敗から続くエラーであることを示しているので、レポートは書き込まれません。
                libc-bin (2.23-0ubuntu3) のトリガを処理しています ...
処理中にエラーが発生しました:
 postfix
 mailutils
E: Sub-process /usr/bin/dpkg returned an error code (1)
kazz@jaja ~# sudo nano /etc/hosts

 main.cfを見てみると

myhostname = jaja.8.8.8.8

 と勝手に書き換えられている。編集してもupgradeをかけるたびに書き換えられる。で、試行錯誤して、たどりついたのはこれ。

Postfix requires that the myhostname setting satisfies Internet hostname syntax rules. I suggest that you study RFC 952, RFC 1123, RFC 1035, RFC 2373.

 myhostnameにドットがなかったらDNSサーバのアドレスを勝手にくっつける仕様になったようだ。親切なのか、おせっかいなのか。もしくはdpkgの自主的変更でhなくpostfixの変更(これまではドットなしでも動いていたけど、動かなくなったとか)に合わせたものかも。
 そこで.localを追加してみた。

myhostname = jaja.local

さらに/etc/hostに

jaja.local 127.0.0.1

 を追加。

 無事にupgradeできた。