sa-learn funzt nicht - dbg: bayes: DB_File module not installed, cannot use bayes

Status
Für weitere Antworten geschlossen.

AndreasEausD

Benutzer
Mitglied seit
30. Sep 2010
Beiträge
96
Punkte für Reaktionen
0
Punkte
0
Bin mit den Thema von Trolli im Aug. 2010 „SPAM lernen nach Update auf 1285“ nicht weitergekommen, daher eine „neues – altes“ Thema.

Nachfolgende Pakete sind über ipkg installiert:
• perl
• perl-io-socket-ssl
• spamassassin
• Perl-net-dns
$ which sa-learn ergibt /opt/bin/sa-learn und ist executable (-r-xr-xr-x 1 root root …etc.)
$ which perl ergibt /opt/bin/perl
$ dir /opt/bin/perl zeigt lrwxrwxrwx 1 root root 10 Dec 11 14:25 /opt/bin/perl -> perl5.10.0

Code:
/opt/bin/sa-learn --progress --spam /volume1/homes/Andreas/.Maildir/.Junk/cur/ >/volume1/homes/Andreas/.spamassassin/sa-learn.info
liefert nachfolgenden "ERROR: the Bayes learn function returned an error, please re-run with -D for more information"

Code:
cat sa-learn.info
in der File steht "Learned tokens from 0 message(s) (1 message(s) examined)"

Mit –D als Option
Riesige Infomations-Flut jedoch ohne Fehlermeldungen – erst am Ende kommt
[14396] dbg: bayes: DB_File module not installed, cannot use bayes
ERROR: the Bayes learn function returned an error, please re-run with -D for more information
file sa-learn.info bleibt unberändert

Ach ja fast vergessen zu erwähnen, es steht eine von SA bereits als Spam erkannte Mail im Verzeichnis ~/.Junk/.Cur.

Kann mir bitte jemand der Gemeinde hier wieder mit "Rat und Tat" weiterhelfen :confused: ? Danke schon einmal im Voraus sagt Andreaseausd
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Auf welches Perl wird denn am Anfang des sa-learn Skripts Bezug genommen?
Bei mir steht dort:
Rich (BBCode):
#!/opt/bin/perl5.8.8 -T -w
 

AndreasEausD

Benutzer
Mitglied seit
30. Sep 2010
Beiträge
96
Punkte für Reaktionen
0
Punkte
0
Habe kein sa-learn script geschrieben.
Bin gemäss http://www.synology-wiki.de/index.php/Regeln_von_Spamassassin beim manuellen training und habe bislang manuell im CLI eingegeben (als root eingeloggt).
Code:
/opt/bin/sa-learn --progress --spam /volume1/homes/Andreas/.Maildir/.Junk/cur/ >/volume1/homes/Andreas/.spamassassin/sa-learn.info
 

AndreasEausD

Benutzer
Mitglied seit
30. Sep 2010
Beiträge
96
Punkte für Reaktionen
0
Punkte
0
siehe oben:
$ which perl ergibt /opt/bin/perl
$ dir /opt/bin/perl zeigt lrwxrwxrwx 1 root root 10 Dec 11 14:25 /opt/bin/perl -> perl5.10.0
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Du sollst das sa-learn Skript ja auch nicht selber schreiben, sondern nur mal ansehen. Zum Beispiel mit
Rich (BBCode):
vi /opt/bin/sa-learn
In der ersten Zeile steht der verwendete Interpreter.
 

AndreasEausD

Benutzer
Mitglied seit
30. Sep 2010
Beiträge
96
Punkte für Reaktionen
0
Punkte
0
Code:
vi /opt/bin/sa-learn
liefert
#!/opt/bin/perl -T -w

eval 'exec /opt/bin/perl -T -w -S $0 ${1+"$@"}'
if 0; # not running under some shell
# <@LICENSE>
 

AndreasEausD

Benutzer
Mitglied seit
30. Sep 2010
Beiträge
96
Punkte für Reaktionen
0
Punkte
0
Noch mal schnell nach der Version von /opt/bin/perl geschaut

$ /opt/bin/perl -v
This is perl, v5.10.0 built for arm-none-linux-gnueabi

Copyright 1987-2007, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Tja - vielleicht fällt ja jemandem noch was ein. Ich verwende ja den Synology Spamassassin und damit funktioniert es bei mir. Wobei ich meine, dass ich damals eine ähnliche Fehlermeldung bekommen habe, bevor ich dann die Skripte auf den optware Perl umgestellt hab. Standardmässig wurde beim Synology Spamassassin natürlich auch das Synology Perl verwendet.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
[14396] dbg: bayes: DB_File module not installed, cannot use bayes
dir scheinen die Perl DB Module zu fehlen. Mach mal ein
Code:
ipkg list | grep perl | grep -i Berkeley
und installier dir das Paket, das gefunden werden sollte
 

AndreasEausD

Benutzer
Mitglied seit
30. Sep 2010
Beiträge
96
Punkte für Reaktionen
0
Punkte
0
dir scheinen die Perl DB Module zu fehlen. Mach mal ein
Code:
ipkg list | grep perl | grep -i Berkeley
und installier dir das Paket, das gefunden werden sollte

Habe ich gemacht.
ipkg list | grep perl | grep -i Berkeley
perl-berkeleydb - 0.32-1 - BerkeleyDB - Perl extension for Berkeley DB version 2, 3 or 4
perl-db-file - 1.814-2 - A module which allows Perl programs to make use of the facilities provided by Berkeley DB version 1.
Beide Pakete mit ipkg installiert
Installing perl-berkeleydb (0.32-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/perl-berkeleydb_0.32-1_arm.ipk
Configuring perl-berkeleydb
Successfully terminated.
Installing perl-db-file (1.814-2) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/perl-db-file_1.814-2_arm.ipk
Configuring perl-db-file
Successfully terminated.
sa-learn Aufruf
$ /opt/bin/sa-learn -D --progress --spam /volume1/homes/<USERNAME>/.Maildir/.Junk/cur/ >/volume1/homes/<USERNAME>/.spamassassin/sa-learn.info
funktioniert ohne Fehlermeldungen und erzeugt in der File sa-learn.info nachfolgende Info:
Learned tokens from 4 message(s) (4 message(s) examined) ?

sa-learn funzt nun. Danke an alle die mir halfen :) Macht echt Spass hier im Forum zu sein :) und etwas neues zu lernen :eek:
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
$ /opt/bin/sa-learn -D --progress --spam /volume1/homes/<USERNAME>/.Maildir/.Junk/cur/ >/volume1/homes/<USERNAME>/.spamassassin/sa-learn.info
nur so als Ergänzung: Eine Mailbox enthält normalerweise pro Verzeichnis zwei Unterverzeichnisse (cur und new). Man sollte bei manuellem Training immer beide "trainieren". So geht dat in einem Abwasch ;)
Code:
$ /opt/bin/sa-learn -D --progress --spam  /volume1/homes/<USERNAME>/.Maildir/.Junk/[B]{cur,new}[/B]  >/volume1/homes/<USERNAME>/.spamassassin/sa-learn.info
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!