newaliases.postfix 挂起

newaliases.postfix 挂起

... 相关上一个问题 关于在 Centos 5.2(Final) 上运行 postfix 的问题

看起来 postfix 依赖于由命令aliases.db构建的newaliases.postfix

当我运行时,newaliases.postfix它只是无限期地挂起。我发现一些技巧,但它们没有帮助(我相应地更改了 /etc/hosts 和 /etc/sysconfig/network,但没有效果)

跑步strace newaliases.postfix表明了这一点

...
close(4)                                = 0
munmap(0x2b9bb210c000, 4096)            = 0
read(0,  <unfinished ...>

显然,它正在尝试从标准输入读取但从未得到任何输入。

我应该给新别名喂点东西吗?

当我尝试时newaliases.postfix < /etc/aliases我得到

newaliases.postfix: fatal: Recipient addresses must be specified on \
the command line or via the -t option

答案1

您不必指定 newaliases.postfix,它应该只是newaliases- 但话又说回来,您没有告诉我您使用的是 FreeBSD、Linux、OS X 还是?您正在运行什么?

仅凭命令本身就应该可以消化文件。如果它在消化时挂起,那么就是出了问题。

编辑:

好的,您/etc/aliases.db现在已经拥有了,但是 postfix 无法在 CentOS 上启动。

尝试这个(以root身份):

yum upgrade postfix
service postfix restart ; tail -f /var/log/maillog

当 postfix 启动失败时,它应该在日志末尾转储出一条错误消息,并且命令tail会为您显示该消息。

答案2

你必须把它放在控制台上并选择正确的 MTA(在本例中是 postfix)

alternatives --config mta

然后运行

newaliases

这对我有用

答案3

有完全相同的问题,newaliases.postfix 挂了,strace 也一样。
CentOs v7.9.2009
Postfix v2.10.1

读取 main.cf:

# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.

此命令对我有用(aliases.db 正在更新):
postalias /etc/aliases

相关内容