[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:45610] Re: spamassassin や sa-learn のエラー
水原です。
松田さん、ありがとうございます。
また村上さん、かわべさんからも有益な助言をいただきました。感謝します。
At Thu, 12 Jan 2006 23:44:24 +0900,
MATSUDA Yoh-ichi / 松田陽一 wrote:
>
> 思い出した。
>
> リンク名 [debian-users:37315] Re: spamassassinと perlのバージョン問題
> URL: http://lists.debian.or.jp/debian-users/200306/msg00088.html
すでに二年前に同じ問題に遭遇されていたのですね。
(それだけ長い間、私が古いバージョンの spamassassin を使いつづけていた
ということか…。Debian のリリースサイクルがそれだけ長いっていうことで
もありますね。)
> upgrade 後、 sa-learn -D --sync しても、ですか?
はい。すみません、debug メッセージには有益な情報がなかったので引用しま
せんでした。
> > perl のバージョンがあがると DB のファイルフォーマットがかわるので読め
> > なくなるといわれても困るのですが…。libdb4.0-util とか db4.0-doc なん
> > て package 存在しないし…。spamassassin-3.1.0 にはこの種の記述はないよ
> > うです。
>
> んー、ぐぐっても見つかりませんね。
> 手元にある奴を上げましたんで、良かったら試してみて下さい。
>
> http://www.flcl.org/~yoh/junk/libdb4.0-util_4.0.14-2_i386.deb
ありがとうございます。結局、libdb4.2-util という類似の package 入れて
試してみたところ、直後には
grand:~> sa-learn --sync
bayes: bayes db version 2 is not able to be used, aborting! at /usr/share/perl5/Mail/SpamAssassin/BayesStore/DBM.pm line 195.
というメッセージが表示され、やはりだめか?と思ったのですが、その後は
sa-learn も spamassassin もエラーなしで実行できるようになりました。
ちなみに file コマンドで調べてみると、
使用前:
grand:~> file .spamassassin.bak/*
.spamassassin.bak/auto-whitelist: Berkeley DB (Hash, version 8, native byte-order)
.spamassassin.bak/auto-whitelist.dir: GNU dbm 1.x or ndbm database, little endian
.spamassassin.bak/auto-whitelist.mutex: ASCII text
.spamassassin.bak/auto-whitelist.pag: GNU dbm 1.x or ndbm database, little endian
.spamassassin.bak/bayes.mutex: ASCII text
.spamassassin.bak/bayes_seen: Berkeley DB (Hash, version 5, native byte-order)
.spamassassin.bak/bayes_toks: Berkeley DB (Hash, version 5, native byte-order)
.spamassassin.bak/old_bayes_seen: Berkeley DB (Hash, version 5, native byte-order)
.spamassassin.bak/old_bayes_toks: Berkeley DB (Hash, version 5, native byte-order)
.spamassassin.bak/user_prefs: ASCII English text
.spamassassin.bak/user_prefs.org: ASCII English text
使用後:
grand:~> file .spamassassin/*
.spamassassin/auto-whitelist: Berkeley DB (Hash, version 8, native byte-order)
.spamassassin/auto-whitelist.dir: GNU dbm 1.x or ndbm database, little endian
.spamassassin/auto-whitelist.mutex: ASCII text
.spamassassin/auto-whitelist.pag: GNU dbm 1.x or ndbm database, little endian
.spamassassin/bayes.mutex: ASCII text
.spamassassin/bayes_journal: ASCII text
.spamassassin/bayes_seen: Berkeley DB (Hash, version 7, native byte-order)
.spamassassin/bayes_toks: Berkeley DB (Hash, version 8, native byte-order)
.spamassassin/old_bayes_seen: Berkeley DB (Hash, version 5, native byte-order)
.spamassassin/old_bayes_toks: Berkeley DB (Hash, version 5, native byte-order)
.spamassassin/user_prefs: ASCII English text
.spamassassin/user_prefs.org: ASCII English text
という状況なので、確かに DB のバージョンが上っているようです。
(bayes_seen だけ version 7 なのが謎ですが)
というわけで、まとめると以下のようになるようです。
(http://www.wlug.org.nz/SpamAssassinNotes より、thanks to かわべさん)
質問:
woody から sarge への dist-upgrade 後、spamassassin や sa-learn が下記
のようなエラーメッセージを出して失敗するようになってしまいました。
Cannot open bayes databases /home/mizuhara/.spamassassin/bayes_* R/O: tie failed:
回答:
aptitude install db4.3-util
とした後、bayes DB ファイルのある場所 (普通は ~/.spamassassin) で以下
のコマンドを実行します。
db4.3_upgrade bayes_seen
db4.3_upgrade bayes_toks
その後 sa-learn --sync を実行すると、最初の一回だけ
bayes: bayes db version 2 is not able to be used, aborting! at /usr/share/perl5/Mail/SpamAssassin/BayesStore/DBM.pm line 195.
というメッセージが出ますが、その後の実行ではエラーメッセージも出ずに、
ちゃんと使えるようになるはずです。
ちなみに、 spamassassin は 3.1.0 が出ていますので、testing からとって
きて最新版にすることをお勧めします。
--
水原