Pe o Rocky Linux mașină cu versiunea 8.5 (un Red Hat Enterprise Linux compatibil bug-for-bug în aval), am configurat configurarea Postfix + Dovecot. După depanarea tuturor erorilor de configurare, am ajuns la punctul în care ambele servicii s-ar lansa cel puțin.
systemctl activa dovecot.service
systemctl activa postfix.service
După repornirea mașinii, am putut vedea Dovecot lansat corect atunci când a fost interogat folosind systemctl status porumbel
. Postfix, pe de altă parte, nu a pornit, raportând:
[root@mail ~]# systemctl status postfix
â postfix.service - Agent de transport de e-mail Postfix
Încărcat: încărcat (/usr/lib/systemd/system/postfix.service; activat; prestabilit furnizor: dezactivat)
Activ: eșuat (Rezultat: cod de ieșire) din ...; acum 12 minute
Proces: 1419 ExecStart=/usr/sbin/postfix start (cod=exit, status=1/FAILURE)
Proces: 1396 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS)
Proces: 1364 ExecStartPre=/usr/libexec/postfix/aliasesdb (cod=exit, status=0/SUCCESS)
systemd[1]: Se pornește Postfix Mail Transport Agent...
postfix/postfix-script[1506]: fatal: sistemul de corespondență Postfix rulează deja
systemd[1]: postfix.service: Procesul de control a ieșit, cod=status ieșit=1
systemd[1]: postfix.service: a eșuat cu rezultatul „cod de ieșire”.
systemd[1]: Nu s-a pornit Postfix Mail Transport Agent.
O verificare rapidă folosind starea postfix
a arătat într-adevăr că nu rulează. În mod surprinzător însă, începe postfix
apoi a pornit serviciul fără probleme. Interogarea starea postfix
apoi raportat că Postfix rulează fericit cu un nou PID. Interogarea systemctl status postfix
încă o dată după aceea a arătat raportul de eroare neschimbat de înainte.
Totuși, eroarea raportată nu are sens. Eu pot systemctl dezactivați postfix
, reporniți mașina, verificați că Postfix nu rulează cu adevărat folosind ambele systemctl status postfix
și starea postfix
, încercați să îl activați folosind systemctl start postfix
și obține aceeași eroare.
În plus, dacă las serviciul Postfix dezactivat în systemd, reporniți mașina și porniți-l doar cu începe postfix
, serviciul începe, dar systemctl status postfix
îl raportează ca încărcat, inactiv...
[root@mail ~]# pornire postfix
postfix/postfix-script: pornirea sistemului de e-mail Postfix
[root@mail ~]# stare postfix
postfix/postfix-script: sistemul de corespondență Postfix rulează: PID: 2169
[root@mail ~]# systemctl status postfix
â postfix.service - Agent de transport de e-mail Postfix
Încărcat: încărcat (/usr/lib/systemd/system/postfix.service; dezactivat; prestabilit furnizor: dezactivat)
Activ: inactiv (mort)
[root@mail ~]#
De ce Postfix pe RHEL vine chiar și înregistrat ca serviciu atunci când refuză categoric să funcționeze ca atare? Și care este, atunci, modalitatea corectă de a vă asigura că Postfix începe la pornire?
Notă: am incercat chkconfig postfix activat
așa cum l-am găsit sugerat de oameni online. Aceasta doar trimite cererea către systemctl activa postfix.service
care mă duce înapoi la început.
... chiar trebuie să-l piratez în utilizare /etc/rc.local
, când conținutul fișierului în sine spune că este acolo doar în scopuri de compatibilitate, nu ar trebui să mai fie folosit și ar trebui să mă gândesc să lucrez cu servicii systemd?
ACTUALIZARE 1: Am mers cu ceea ce mi s-a părut o soluție rezonabilă deocamdată - pornind postfix folosind începe postfix
comanda in /etc/rc.local
. După repornire, Postfix încă nu rula. Verificarea stării serviciului rc-local folosind starea systemctl rc-local
, serviciul nu a pornit, motivul din jurnalele fiind exact același cu motivele menționate în jurnalele de serviciu Postfix după ce l-am activat prin systemctl
- „fatal: sistemul de corespondență Postfix rulează deja”.Postfix pur și simplu nu reușește să pornească la pornire în toate condițiile.