Postfix

Spamassassin系統錯誤

  • October 11, 2018

嘗試啟動 spamassassin(對於我的 postfix 伺服器)時出現錯誤。我認為這個錯誤可能與 systemd 有關,因為它在我安裝更新檔之前工作(我認為)。

我按照ArsTechnica 指南設置電子郵件伺服器。

我已經嘗試重新安裝,但它沒有幫助。

注意:錯誤發生在 spamassassin 啟動時。後綴使用者的 –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.襪子 --socketowner=spamd --socketgroup=spamd --socketmode=0660"

#pid文件
# spamd 應該將其 PID 寫入文件的哪個位置?如果您使用 -u 或
# --username 上面的選項,這需要該使用者可寫。
# 否則,init 腳本將無法關閉 spamd。
PIDFILE="/var/run/spamd.pid"

# 設置好的垃圾郵件級別
#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.

如果您還需要什麼,請告訴我,我會盡快提供。

看看這篇博文

這與升級到 Jessie 以及如何處理變數有關。

對 Jessie 的升級,涉及從 init 到 systemd 的切換,導致變數不再擴展。正如指南建議的那樣,將路徑$SAGLOBALCFGPATH$SAHOME路徑放在字元串中引用的變數中,OPTIONS這當然會失敗,因為它們不會再被擴展。

解決方案相當簡單:進入etc/default/spamassassin並(手動)用它們的路徑替換變數。這意味著如果您使用了預設參數,則替換${SAHOME}/var/lib/spamassassin和。${SAGLOBALCFGPATH}$``/etc/spamassassin

引用自:https://serverfault.com/questions/691230