Centos6

無法讓 Spamassassin 在 Centos 6 上執行

  • August 28, 2015

我安裝了 SpamAssassin 兩次,一次使用 yum install spamassassin,一次從 cpan 下載原始碼。

SpamAssassin 本身執行並報告自己為在 Perl 5.22.0 上執行的 v3.4.1,但是當我使用“service spamassassin start”作為守護程序執行它時 spamd 失敗並出現以下錯誤:-

# service spamassassin start
Starting spamd: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?) at /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Dns.pm line 757.
Compilation failed in require at /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Message/Metadata/Received.pm line 49.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Message/Metadata/Received.pm line 49.
Compilation failed in require at /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Message/Metadata.pm line 58.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Message/Metadata.pm line 58.
Compilation failed in require at /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Message.pm line 51.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Mail/SpamAssassin/Message.pm line 51.
Compilation failed in require at /usr/share/perl5/vendor_perl/Mail/SpamAssassin.pm line 75.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Mail/SpamAssassin.pm line 75.
Compilation failed in require at /usr/bin/spamd line 85.
BEGIN failed--compilation aborted at /usr/bin/spamd line 85.
                                                      [FAILED]

我懷疑 SA 及其模組已安裝在一組不同的 perl 包含目錄中,因為 perl v5.22.0 版本從 /usr/local/lib/perl5/site_perl/5.22.00 以及其他目錄中獲取其模組,但它們他們都有 5.22.0。

我嘗試使用 cpan 重新安裝 Mail::SpamAssassin,但它一直告訴我我擁有最新版本。我也嘗試從 cpan.org 源(安裝)安裝它,但它沒有安裝任何依賴項,我不知道需要什麼。

我嘗試過對 Mail::SpamAssassin 進行 cpan fforce 安裝,但沒有任何區別。

Spamd 使用 perl v5.22.0 執行,所以應該(我原以為)訪問 5.22.0 包含目錄。

我現在完全卡住了。

  1. 我怎樣才能讓 SpamAssassin 與 Postfix 和 Dovecot 一起執行,以便清除我收到的大量垃圾郵件。
  2. 如果證明無法讓 SpamAssassin 執行,是否有替代方案?

任何幫助將非常感激。

事實證明,spamd 需要在 perl 5.10.1 下執行,這是該伺服器上最初安裝的版本。所以,而不是有一個shebang: -

#!/usr/bin/perl -T -w

它只是需要

#!/usr/bin/perl5.10.1 -T -w

部分線索在錯誤消息中(讀取錯誤的包含文件),主要取決於 thrig 的評論 - 謝謝

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