Postfix
Spamassassin系統錯誤
嘗試啟動 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