将我的服务器升级到Debian Jessie后,spamassassin不再启动。 日志和如下所示:
使用systemctl调用spamassassin
$ sudo systemctl status spamassassin ● spamassassin.service - Perl-based spam filter using text analysis Loaded: loaded (/lib/systemd/system/spamassassin.service; enabled) Active: failed (Result: exit-code) since Sun 2015-08-30 11:34:01 CEST; 8s ago Process: 28007 ExecStart=/usr/sbin/spamd -d --pidfile=/var/run/spamassassin.pid $OPTIONS (code=exited, status=255) Aug 30 11:34:00 alchemist spamd[28007]: logger: removing stderr method Aug 30 11:34:00 alchemist spamd[28009]: config: no rules were found! Do you need to run 'sa-update'? Aug 30 11:34:01 alchemist spamd[28007]: child process [28009] exited or timed out without signaling production of a PID file: exit 255 at /usr/sbin/spamd line 2960. Aug 30 11:34:01 alchemist spamd[28007]: child process [28009] exited or timed out without signaling production of a PID file: exit 255 at /usr/sbin/spamd line 2960. Aug 30 11:34:01 alchemist systemd[1]: spamassassin.service: control process exited, code=exited status=255 Aug 30 11:34:01 alchemist systemd[1]: Failed to start Perl-based spam filter using text analysis. Aug 30 11:34:01 alchemist systemd[1]: Unit spamassassin.service entered failed state.
所以,我用debugging参数运行sa-update 。
$ sudo -u debian-spamd sa-update --debug Aug 30 11:59:51.468 [2947] dbg: logger: adding facilities: all Aug 30 11:59:51.468 [2947] dbg: logger: logging level is DBG Aug 30 11:59:51.468 [2947] dbg: generic: SpamAssassin version 3.4.0 Aug 30 11:59:51.468 [2947] dbg: generic: Perl 5.020002, PREFIX=/usr, DEF_RULES_DIR=/usr/share/spamassassin, LOCAL_RULES_DIR=/etc/spamassassin, LOCAL_STATE_DIR=/var/lib/spamassassin Aug 30 11:59:51.469 [2947] dbg: config: timing enabled Aug 30 11:59:51.470 [2947] dbg: config: score set 0 chosen. Aug 30 11:59:51.476 [2947] dbg: generic: sa-update version svn1475932 Aug 30 11:59:51.476 [2947] dbg: generic: using update directory: /var/lib/spamassassin/3.004000 Aug 30 11:59:51.626 [2947] dbg: diag: perl platform: 5.020002 linux [[SNIP MODULES]] Aug 30 11:59:51.628 [2947] dbg: gpg: Searching for 'gpg' Aug 30 11:59:51.628 [2947] dbg: util: current PATH is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Aug 30 11:59:51.628 [2947] dbg: util: executable for gpg was found at /usr/bin/gpg Aug 30 11:59:51.629 [2947] dbg: gpg: found /usr/bin/gpg Aug 30 11:59:51.629 [2947] dbg: gpg: release trusted key id list: 5E541DC959CB8BAC7C78DFDC4056A61A5244EC45 0C2B1D7175B852C64B3CDC716C55397824F434CE Aug 30 11:59:51.630 [2947] dbg: channel: attempting channel updates.spamassassin.org Aug 30 11:59:51.630 [2947] dbg: channel: using existing directory /var/lib/spamassassin/3.004000/updates_spamassassin_org Aug 30 11:59:51.630 [2947] dbg: channel: channel cf file /var/lib/spamassassin/3.004000/updates_spamassassin_org.cf Aug 30 11:59:51.630 [2947] dbg: channel: channel pre file /var/lib/spamassassin/3.004000/updates_spamassassin_org.pre Aug 30 11:59:51.643 [2947] dbg: channel: no updates available, skipping channel Aug 30 11:59:51.644 [2947] dbg: diag: updates complete, exiting with code 1
这里的目录/var/lib/spamassassin/3.004000/的内容
$ ls /var/lib/spamassassin/3.004000/ updates_spamassassin_org/ $ ls /var/lib/spamassassin/3.004000/updates_spamassassin_org/
当我用debugging参数调用spamd时
$ sudo spamd --debug Aug 30 11:39:56.845 [29534] dbg: logger: adding facilities: all Aug 30 11:39:56.845 [29534] dbg: logger: logging level is DBG Aug 30 11:39:56.859 [29534] dbg: logger: calling setlogsock(unix) Aug 30 11:39:56.879 [29534] dbg: logger: opening syslog with unix socket Aug 30 11:39:56.880 [29534] dbg: logger: successfully connected to syslog/unix Aug 30 11:39:56.880 [29534] dbg: logger: successfully added syslog method Aug 30 11:39:56.880 [29534] dbg: spamd: will perform setuids? 1 Aug 30 11:39:56.881 [29534] dbg: spamd: socket module of choice: IO::Socket::IP 0.32, Socket 2.013, have PF_INET, have PF_INET6, using Socket::getaddrinfo, AI_ADDRCONFIG is supported Aug 30 11:39:56.881 [29534] dbg: spamd: socket specification: "localhost", IP address: localhost, port: 783 Aug 30 11:39:56.881 [29534] dbg: spamd: attempting to listen on IP addresses: 127.0.0.1, ::1, port 783 Aug 30 11:39:56.881 [29534] dbg: spamd: creating IO::Socket::IP socket: Listen: 128, LocalAddr: 127.0.0.1, LocalPort: 783, Proto: tcp, ReuseAddr: 1, Type: 1, V6Only: 1 Aug 30 11:39:56.882 [29534] dbg: spamd: creating IO::Socket::IP socket: Listen: 128, LocalAddr: ::1, LocalPort: 783, Proto: tcp, ReuseAddr: 1, Type: 1, V6Only: 1 Aug 30 11:39:56.883 [29534] dbg: spamd: server listen sockets fd bit field: 00000110 Aug 30 11:39:56.884 [29534] dbg: logger: adding facilities: all Aug 30 11:39:56.884 [29534] dbg: logger: logging level is DBG Aug 30 11:39:56.884 [29534] dbg: generic: SpamAssassin version 3.4.0 Aug 30 11:39:56.884 [29534] dbg: generic: Perl 5.020002, PREFIX=/usr, DEF_RULES_DIR=/usr/share/spamassassin, LOCAL_RULES_DIR=/etc/spamassassin, LOCAL_STATE_DIR=/var/lib/spamassassin Aug 30 11:39:56.885 [29534] dbg: config: timing enabled Aug 30 11:39:56.888 [29534] dbg: config: score set 0 chosen. Aug 30 11:39:56.895 [29534] dbg: spamd: Preloading modules with HOME=/tmp/spamd-29534-init Aug 30 11:39:56.896 [29534] dbg: config: using "/etc/spamassassin" for site rules pre files Aug 30 11:39:56.897 [29534] dbg: config: read file /etc/spamassassin/init.pre Aug 30 11:39:56.897 [29534] dbg: config: read file /etc/spamassassin/v310.pre Aug 30 11:39:56.898 [29534] dbg: config: read file /etc/spamassassin/v312.pre Aug 30 11:39:56.898 [29534] dbg: config: read file /etc/spamassassin/v320.pre Aug 30 11:39:56.898 [29534] dbg: config: read file /etc/spamassassin/v330.pre Aug 30 11:39:56.899 [29534] dbg: config: read file /etc/spamassassin/v340.pre Aug 30 11:39:56.899 [29534] dbg: config: using "/var/lib/spamassassin/3.004000" for sys rules pre files Aug 30 11:39:56.899 [29534] dbg: config: using "/var/lib/spamassassin/3.004000" for default rules dir Aug 30 11:39:56.900 [29534] error: config: no rules were found! Do you need to run 'sa-update'? config: no rules were found! Do you need to run 'sa-update'?
如果我没有弄错这个错误发生在这条线上: Aug 30 11:39:56.899 [29534] dbg: config: using "/var/lib/spamassassin/3.004000" for default rules dir不应该使用/ usr / share / spamassassin默认规则? 我不知道如何改变这在我的configuration,因为没有行指定它应该是别的。