Perché devo copiare manualmente / etc / services e /etc/resolv.conf in / var / spool / postfix / etc?

Ho riscontrato questo problema con l'installazione di Postfix:

https://www.virtualmin.com/node/23909

  • Posfix smtpd_sasl_path sembra non funziona per me
  • Come limitare la quantità di email inviata da postfix a determinati domini e controllarla utilizzando l'intestazione di posta?
  • Quando utilizza Postfix IPv6 e quando IPv4?
  • come posso distriggersre la posta in output in postfix?
  • Perché SPF è validationto contro il mio IP del server di posta anziché l'IP del mittente?
  • postfix smtpd che rifiuta la posta dalla networking esterna match_list_match: nessuna corrispondenza
  • cioè stavo ricevendo l'errore:

    postfix/smtp[130]: fatal: unknown service: smtp/tcp 

    e come all'URL sopra, la soluzione era copiare manualmente /etc/services e /etc/resolv.conf in /var/spool/postfix/etc

    La mia impressione è che questo "ha appena iniziato a succedere" e in precedenza non è stato un problema, tuttavia ho solo fatto piccole modifiche apparentemente non correlate al postfix main.cf, quindi non capisco perché.

    Le istruzioni di installazione di Postfix che seguivano non menzionano niente di wherer copiare manualmente questi file … questo sembra come qualcosa che Postfix dovrebbe fare da solo e non è per qualche motivo.

    C'è qualche errata configuration che causerebbe questo?

    5 Solutions collect form web for “Perché devo copiare manualmente / etc / services e /etc/resolv.conf in / var / spool / postfix / etc?”

    Alcuni processi Postfix vengono eseguiti in un ambiente chroot per impostazione predefinita. Di conseguenza, di solito c'è qualcosa per fornire loro i file necessari all'avvio.

    Nel mio sistema Debian 7, il file /etc/init.d/postfix ha le seguenti righe che copiano tutti i file necessari all'interno del chroot:

     FILES="etc/localtime etc/services etc/resolv.conf etc/hosts \ etc/nsswitch.conf etc/nss_mdns.config" for file in $FILES; do [ -d ${file%/*} ] || mkdir -p ${file%/*} if [ -f /${file} ]; then rm -f ${file} && cp /${file} ${file}; fi if [ -f ${file} ]; then chmod a+rX ${file}; fi done 

    È strano che la tua installazione non include questo; non dovresti fare nulla da soli qui.

    Come hai installato postfix e su quale sistema?

    Sembra che Postfix vuole eseguire chroot. Vedere qui per maggiori informazioni su ciò che significa.

    Puoi cambiarla con l'opzione di configuration Chroot in /etc/postfix/master.cf .

    Può essere un problema temporale con NetworkManager. Effettuare il caricamento del postfix nel process di avvio modificando il nome del file postfix in /etc/rc{x}.d

    Per esempio:

     sudo mv /etc/rc5.d/S20postfix /etc/rc5.d/S92postfix 

    Potrebbe essere necessario modificarlo in tutti i directory /etc/rc{x}.d. Ricordarsi di riavviare per verificarlo.

    Se il file contiene solo una row con il text "# Generato da resolvconf", è probabilmente un problema con l'ordine di avvio.

    Controllare prima se "/etc/resolv.conf" contiene il nameserver. In questo caso la networking è configurata correttamente e in su.

    Anche su distribuzioni moderne con systemfix postfix è attualmente ancora avviato da init.d script che vengono elaborati durante l'avvio di sistema. Per capire cosa sta succedendo durante l'avvio, leggere questo articolo: https://unix.stackexchange.com/questions/233468/how-does-systemd-use-etc-init-d-scripts

    Postfix viene avviato eseguendo "/etc/rc1.d/K01postfix". Questo script contiene la seguente row per garantire la networking:

     # Required-Start: $local_fs $remote_fs $syslog $named $network $time 

    Ed ecco il problema. Dobbiamo assicurarci che la networking non sia solo in su ma anche in linea. Altrimenti il ​​resolv.conf viene copiato da "/etc/resolv.conf" prima che sia stato completamente creato.

    Ciò può essere fatto eseguendo:

     systemctl enable systemd-networkd-wait-online.service 

    Vedere anche questo articolo per una buona descrizione: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/

    Ho scoperto che la soluzione più semplice a questo problema per me era aggiungere un riavvio del riavvio postfix in /etc/rc.local

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.