web-dev-qa-db-ja.com

Postfixは「systemctl daemon-reload」の後にのみ起動します

今日、私はPostfixをアップグレードしましたが、すべてが復旧するかどうかを確認するためだけにサーバーを再起動することを決定するまで、すべてが問題なく実行されていました。

すべてうまくいきましたが、systemdはPostfixの起動を「無視」しているようです。

Oct  7 22:59:25 [REDACTED] systemd[1]: Stopped Postfix Mail Transport Agent.
Oct  7 22:59:25 [REDACTED] systemd[1]: Stopping Postfix Mail Transport Agent...
Oct  7 22:59:25 [REDACTED] systemd[1]: Starting Postfix Mail Transport Agent...
Oct  7 22:59:25 [REDACTED] systemd[1]: Started Postfix Mail Transport Agent.

ご覧のとおり、Postfixの起動については何もありませんこれは次のようになると予想されます。

postfix: Postfix is running with backwards-compatible default settings
postfix: See http://www.postfix.org/COMPATIBILITY_README.html for details
postfix: To disable backwards compatibility use "postconf compatibility_level=2" and "postfix reload"
postfix/postfix-script: starting the Postfix mail system

入力すると

service postfix start

開始プロセスが速すぎて、プロセスリストを調べます。

ps -ef

ピックアップ、tlsmgrなどのPostfixサービスはリストされていません。

これを修正するには、systemdをリロードするだけでよいことがわかりました。

systemctl daemon-reload

使用する場合

service postfix start

systemdはそれが本来あるべき仕事です:

Oct  7 23:00:08 [REDACTED] systemd[1]: Reloading.
Oct  7 23:00:08 [REDACTED] systemd[1]: apt-daily-upgrade.timer: Adding 15min 23.517714s random time.
Oct  7 23:00:08 [REDACTED] systemd[1]: apt-daily.timer: Adding 3h 21min 57.996507s random time.


Oct  7 23:00:28 [REDACTED] systemd[1]: Created slice system-postfix.slice.
Oct  7 23:00:28 [REDACTED] systemd[1]: Starting Postfix Mail Transport Agent (instance -)...
Oct  7 23:00:29 [REDACTED] postfix[1233]: Postfix is running with backwards-compatible default settings
Oct  7 23:00:29 [REDACTED] postfix[1233]: See http://www.postfix.org/COMPATIBILITY_README.html for details
Oct  7 23:00:29 [REDACTED] postfix[1233]: To disable backwards compatibility use "postconf compatibility_level=2" and "postfix reload"
Oct  7 23:00:30 [REDACTED] postfix/postfix-script[1333]: starting the Postfix mail system
Oct  7 23:00:30 [REDACTED] postfix/master[1335]: daemon started -- version 3.1.6, configuration /etc/postfix
Oct  7 23:00:30 [REDACTED] systemd[1]: Started Postfix Mail Transport Agent (instance -).

再起動すると、serviceコマンドを介してPostfixを機能させるために、systemdを再度リロードする必要があります。これは非常に奇妙な動作であり、インターネット上でこれに対する答えは見つかりませんでした。

システム仕様:

CPU: Intel(R)Xeon(R)CPU E5-2670 v3 @ 2.30GHz
メモリ: 12 GB
SSD: 240 GB
OS: Debian 9 Stretch(64ビット)
すべてのパッケージが最新です。
KVMで仮想化。

postfix.service

[Unit]
Description=Postfix Mail Transport Agent
Conflicts=sendmail.service exim4.service
ConditionPathExists=/etc/postfix/main.cf

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true

[Install]
WantedBy=multi-user.target

postfix @ .service

[Unit]
Description=Postfix Mail Transport Agent (instance %i)
Documentation=man:postfix(1)
PartOf=postfix.service
Before=postfix.service
ReloadPropagatedFrom=postfix.service
After=network-online.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
GuessMainPID=no
ExecStartPre=/usr/lib/postfix/configure-instance.sh %i
ExecStart=/usr/sbin/postmulti -i %i -p start
ExecStop=/usr/sbin/postmulti -i %i -p stop
ExecReload=/usr/sbin/postmulti -i %i -p reload

[Install]
WantedBy=multi-user.target

私はこれを修正しようとしました

systemctl enable postfix.service

しかし、それもうまくいきませんでした。

ご協力いただきありがとうございます!

EDIT:さて、これは非常に奇妙です:「ネットワーキング」サービスは「ネットワークインターフェースを上げる」ことに失敗します。しかし、ifconfigを実行すると、IPv4およびIPv6インターフェースが正常に稼働しています。

Okt 10 20:48:43 [REDACTED] ifup[423]: ifup: failed to bring up eth0
Okt 10 20:48:43 [REDACTED] systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Okt 10 20:48:43 [REDACTED] systemd[1]: Failed to start Raise network interfaces.
Okt 10 20:48:43 [REDACTED] systemd[1]: networking.service: Unit entered failed state.
Okt 10 20:48:43 [REDACTED] systemd[1]: networking.service: Failed with result 'exit-code'.

14か月前にIPを割り当ててinterfacesに触れたのは1回だけです。

2
Sergen S.

さて、最終的に私を助けたのは、この単純なコマンドでした:

systemctl enable postfix@-

再起動後、すべてが正常に起動します。

2
Sergen S.

私も同じ問題を抱えてる。ストレッチ9.1からストレッチ9.2にアップグレードした後のバグのようです: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=877992

そこに記載されているようにpostfixを再インストールしようとしましたか?これは私のシステムでは役に立ちませんでしたが、運が良かったかもしれません。

1
Barit

postfixは特定のIPアドレス(inet_interfacesオプション)?もしそうなら、起動の失敗に関連して報告されているバグがいくつかあります- 882141 および 887992 を参照してください 言及されたバリット )。

0
mjturner