自上次软件包更新以来,我的所有 Ubuntu 14.04.1 服务器都向我发送带有 Cron 警告的电子邮件 - 主题是
Cron 测试 -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-sync
带有正文内容
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 530) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 1023) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 532) line 1.
Argument "perl_version" isn't numeric in numeric ge (>=) at (eval 1025) line 1.
我是否需要担心这个问题?如何解决?还是只能等待 Amavis 更新?
谢谢。
答案1
在@cgross 的回答评论中,看来我不是唯一一个没有帮助将 SpamAssassin 升级到 3.4.0 的人
因此,我将根据我所做的事情来创建自己的答案。
使用以下方式下载补丁
wget "http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?r1=1642207&r2=1642206&pathrev=1642207&view=patch" -O parser.pm.patch
wget "http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm?r1=1642207&r2=1642206&pathrev=1642207&view=patch" -O conf.pm.patch
切换到root并修补文件
su
patch /usr/share/perl5/Mail/SpamAssassin/Conf/Parser.pm < parser.pm.patch
patch /usr/share/perl5/Mail/SpamAssassin/Conf.pm < conf.pm.patch
答案2
对于使用sa-learn
:切换到较新版本的 Mail-SpamAssassin(例如 3.4.0)。如果您使用 CPAN 安装了 Mail::SpamAssassin,则可以像这样更新它:
cpan upgrade Mail::SpamAssassin
对于其他人,请查看您的脚本并尝试合并 Mail-SpamAssassin 中使用的解决方法:
# Store the version for later use
my $mm_version = $ExtUtils::MakeMaker::VERSION;
# avoid stupid 'Argument "6.30_01" isn't numeric in numeric ge (>=)' warnings;
# strip off the beta subversion noise that causes the trouble.
$mm_version =~ s/_\S+$//; # "6.30_01" => "6.30"
if ($mm_version+0 < 5.45) {
die "SpamAssassin Makefile.PL requires at least ExtUtils::MakeMaker v5.45";
}
答案3
这是一个警告,而不是致命错误。可以安全地忽略它。这是由于最近的规则更新使用了已添加到主干但尚未发布的 SA 条件。
Germar 的答案可以解决问题,但对于那些想要使用纯发行版代码的人来说可能不可接受。
我不知道发行版会多快整合 SA 变化:https://svn.apache.org/viewvc?view=revision&revision=1642207
相关规则已在规则沙箱中禁用,它将(希望)在今晚(2014-11-30)之前在更新中发布,然后此警告就会停止。