从 SSD 启动时出现 Postfix 问题

从 SSD 启动时出现 Postfix 问题

Ubuntu GNOME 17.04

看来我遇到了 Postfix 问题。我认为这与它从 SSD 启动有关,并且一些必需的服务尚未完全启动,导致 Postfix 在启动时失败。但是,如果我重新启动 Postfix,所需的服务现在就在那里,一切正常。

这是踪迹...

这是错误的示例...

~$ mail -s testing root
Cc: 
testing

~$ mailq
-Queue ID-  --Size-- ----Arrival Time---- -Sender/Recipient-------
5703312A0BE4      392 Mon Jun 26 14:10:18  [email protected]
(Host or domain name not found. Name service error for name=smtp.gmail.com type=MX: Host not found, try again)

看起来像是 DNS 错误,是吧?

所以如果我看这个......

~$ cd /var/spool/postfix/etc

~$ ls -al
total 52
drwxr-xr-x  3 root root  4096 Jun 26 14:08 .
drwxr-xr-x 20 root root  4096 Apr 14 13:29 ..
-rw-r--r--  1 root root    92 Jun 26 14:08 host.conf
-rw-r--r--  1 root root  1955 Jun 26 14:08 hosts
-rw-r--r--  1 root root  2845 Jun 26 14:08 localtime
-rw-r--r--  1 root root   544 Jun 26 14:08 nsswitch.conf
-rw-r--r--  1 root root   282 Jun 26 14:08 resolv.conf
-rw-r--r--  1 root root 19183 Jun 26 14:08 services
drwxr-xr-x  3 root root  4096 May 12  2014 ssl

~$ more resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

~$

resolv.conf 没有正确填充!

如果我重新启动 Postfix,那么 resolv.conf 就会被正确填充,并且 Postfix 可以正常工作!

我的想法是,当 Postfix 想要复制一些文件(特别是 resolv.conf 信息)时,systemd-resolved 可能还没有完成启动/var/spool/postfix/etc,这就是导致 Postfix 失败的原因。

如果我那时……

~$ cd /etc/systemd/system/postfix.service.d

~$ more override.conf 
[Unit]
After=network-online.target
After=systemd-resolved.service

~$

我怀疑这就是必须修复的地方?添加/删除“After=”定义?

关于如何让我的 Postfix 在启动时正确启动,有什么想法吗?

答案1

使用以下命令从终端编辑 /etc/resolvconf/resolv.conf.d/base:

sudo gedit /etc/resolvconf/resolv.conf.d/base

在此插入:

nameserver 8.8.8.8
nameserver 8.8.4.4

节省。

重启。您已完成。

答案2

看来我正走在解决 Postfix 问题的正确道路上。

我最终改变了这一点:

~$ cd /etc/systemd/system/postfix.service.d

~$ more override.conf 
[Unit]
After=network-online.target
After=systemd-resolved.service

对此:

~$ cd /etc/systemd/system/postfix.service.d

~$ more override.conf 
[Unit]
#After=network-online.target
#After=systemd-resolved.service

相关内容