Postfix startet nicht über Init-Skript

gery

New Member
Hallo,
mit Postfix 3.1.6 unter Debian 9 habe ich folgendes Problem:
  • Der Postfix-Daemon lässt sich lediglich über /usr/sbin/postfix start starten.
  • Beim Start des Init-Skripts über service postfix start wird kein Postfix-Prozess gestartet.
Die Anweisung postfix stop; service postfix start liefert mir folgendes Ergebnis:
Code:
postfix/postfix-script: fatal: the Postfix mail system is not running
Gebe ich im Anschluss das Kommando postfix status; service --status-all | grep postfix ein, liefert mir die Bash dieses Ergebnis:
Code:
postfix/postfix-script: the Postfix mail system is not running
 [ + ]  postfix

Bei Eingabe von service postfix status erhalte ich als Status "active (exited)" zurück. In der Syslog-Datei steht lediglich, dass der Daemon gestartet wurde.

Gebe ich in der Shell /usr/sbin/postfix start und im Anschluss postfix status; service --status-all | grep postfix ein, wird mir folgendes Ergebnis zurückgeliefert:
Code:
postfix/postfix-script: the Postfix mail system is running: PID: 5891
 [ - ]  postfix

Postfix besitzt demnach eine PID, für den Service-Daemon sieht es aber dennoch aus, als würde Postfix nicht laufen.

Wie gelingt es mir, Postfix wieder über das Init-Skript laufen zu lassen?

Für jede Hilfe oder Anregung bin ich dankbar.

Viele Grüße aus Bonn
-- Gerald
 
Sollte das nicht über systemd laufen?

Würde ich auch sagen(Auch wenn das über die Kompatibilitätsmechanismen von Debian normalerweise so umgebogen wird, dass hintendran doch wieder systemctl aufgerufen wird) . Das korrekte Kommando wäre dann z. B.:

HTML:
systemctl start postfix

Hier mal die Hilfe zu Ubuntu zu systemd(Weil das Ubuntuwiki im Vergleich zum Debianwiki auf deutsch ist):

https://wiki.ubuntuusers.de/systemd/systemctl/

Darüberhinaus kannst Du mit systemctl status postfix die Protokollmeldungen des Dienstes abrufen oder umfangreicher mit journalctl:

https://wiki.ubuntuusers.de/systemd/journalctl/
 
Last edited by a moderator:
Teillösung

Hallo,
vielen Dank für die Anregungen zur Fehlersuche. Ich bin jetzt ein Stück weiter. Das Problem ist teilweise gelöst.

Nach einem Neustart des Rootservers wird der Postfix-Daemon nicht gestartet. Führe ich die Anweisung systemctl daemon-reload und ein anschließenden Restart des Postfix-Daemon mit service postfix restart aus, läuft dann Postfix.

Vorgehen:
  • systemctl list-units liefert mir für Postfix folgendes Ergebnis:
    Code:
    postfix.service               loaded active exited    Postfix Mail Transport Agent
  • Die Anweisungen journalctl -p err -b bzw. journalctl -f -u postfix liefern keine kritischen Fehler.
  • Starte ich systemctl daemon-reload, um alle Konfigurationsdateien neu zu laden und alle Units neu zu starten, erhalte ich vom systemd folgende Meldung in /var/log/syslog:
    Code:
    [/lib/systemd/system/redis-server.service:14] Unknown lvalue 'RunTimeDirectory' in section 'Service'
  • Lösung: In der Konfigurationsdatei /lib/systemd/system/redis-server.service die Direktive RunTimeDirectory umbenennen in RuntimeDirectory (vgl. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=850534)

Viele Grüße,
-- Gerald
 
Starte ich systemctl daemon-reload, um alle Konfigurationsdateien neu zu laden und alle Units neu zu starten

Zur Info:

Das erste stimmt: alle Konfigurationsdateien werden neu eingelesen. Die Units werden aber nicht neu gestartet.
 
Back
Top