Spamassassin Systemd 错误

Spamassassin Systemd 错误

尝试启动 spamassassin(用于我的 postfix 服务器)时出现错误。我认为此错误可能与 systemd 有关,因为它在我安装补丁之前就正常工作了(我认为)。
我按照ArsTechnica 指南设置电子邮件服务器。

我已经尝试重新安装,但没有帮助。
注意:错误发生在 spamassassin 启动时。以 postfix 用户身份执行 --lint 不会产生任何错误,并且必要的行已在 中设置v320.pre

以下是 spamassassin 的配置文件:

#/etc/default/spamassassin
# 邓肯·芬德利

# 警告:使用前请阅读 README.spamd。
# 可能存在安全风险。

SAHOME="/var/lib/spamassassin"
SAGLOBALCFGPATH="/etc/spamassassin"

# 如果你使用 systemd(jessie 的默认设置),则 ENABLED 设置为
# 未使用。相反,通过发出以下命令启用 spamd:
#systemctl 启用 spamassassin.service
# 更改为“1”以在使用 sysvinit 的系统上启用 spamd:
已启用=1

# 选项
# 请参阅 man spamd 了解可能的选项。-d 选项会自动添加。

# SpamAssassin 使用预分叉模型,所以要小心!你需要
# 确保 --max-children 的设置不大于 5,
# 除非你知道自己在做什么。

选项=“-x --max-children 5 --helper-home-dir ${SAHOME} -u spamd -g spamd --siteconfigpath ${SAGLOBALCFGPATH} --socketpath=/var/spool/postfix/spamassassin/spamd.sock --socketowner=spamd --socketgroup=spamd --socketmode=0660”

# Pid 文件
# spamd 应该将其 PID 写入文件何处?如果您使用 -u 或
# --上面的用户名选项,这需要由该用户可写。
# 否则,init 脚本将无法关闭 spamd。
PIDFILE="/var/run/spamd.pid"

# 设置 spamd 的良好级别
#NICE="--nicelevel 15"

# 定时任务
# 设置为除 0 之外的任何值,以启用 cron 作业自动更新
# 每晚的 spamassassin 规则
CRON=1

这是描述错误的日志文件。


May 11 20:41:28 raspberrysyncserver spamd[21486]: logger: removing stderr method
May 11 20:41:36 raspberrysyncserver spamd[21488]: Timeout::_run: check: no loaded plugin implements 'check_main': cannot scan!
May 11 20:41:36 raspberrysyncserver spamd[21488]: Check the necessary '.pre' files are in the config directory.
May 11 20:41:36 raspberrysyncserver spamd[21486]: child process [21488] exited or timed out without signaling production of a PID file: exit 255 at /usr/sbin/spamd line 2960.

如果您还有什么需要,请告诉我,我会尽快提供。

答案1

查看这篇博文

这与升级到 Jessie 以及如何处理变量有关。

升级到 Jessie 需要从 init 切换到 systemd,这导致变量不再扩展。指南建议将路径$SAGLOBALCFGPATH$SAHOME路径放在字符串中引用的变量中,OPTIONS这当然会失败,因为它们不再扩展。

解决方案很简单:进入等/默认/spamassassin并用其路径(手动)替换变量。这意味着,如果您使用了默认参数,则需要${SAHOME}/var/lib/spamassassin${SAGLOBALCFGPATH}$替换。/etc/spamassassin

相关内容