として Clam AntiVirus (ClamAV) を入れてみた。
debパッケージで clamav 他関連パッケージをインストール。 データベースの更新は cron による更新を選択。 お手軽。
ディレクトリのチェックは
clamscan -r
で。
ウイルスメールの振り分けは spam メールとあわせて bogofilter で行ってきていた。 ウイルスメールもだいたい検出できているのだが、すり抜けるものもある。 procmail で bogofilter の前に ClamAV で振り分けるようにしよう。
.procmailrc に
#------------------------ # Clam Antivirus #------------------------ :0 HB * ? /usr/bin/clamscan --log=$HOME/clamscan.log --quiet - ;test $? = "1" $HOME/Mail/newvirus/.
を追加。
昨日 ClamAV を設定したので、bogofilter の DB からウイルスメール登録の undo をかけた。 結果、うまくフィルタリングができなくなった。
しょうがないのでDBを一旦削除し、約19,000ある過去spamメールを登録し直す。 が、フィルタリングしない。
あれ?
bogofilter -t でチェックをしてみても spam を spam と判定していない様子。
でいろいろいじったところ non-spamメールの方の登録が全く無いと駄目のようだ。 さっき作り直したDBは削除してしまったので、non-spam をある程度登録した後に spamメール約19,000を登録し直し。 かなり時間がかかってしまったが、これで元通りきちんとフィルタリングできるようになった。
ついでに今回からは procmail から呼び出す bogofilter に -u オプションを設定して、どんどん DB を強化する事にする。 なので、今までは誤認識した場合は -s / -n で新規登録のみしていたところを、今後は -Ns / -Sn で undo してから登録するようにする必要あり(本当は spam として振り分けなかった場合 non-spam か unsure のどちらかなので、後者の場合は -Sn ではなく -n にすべき)。
最近 bogofilter が日本語 spam メールをほとんど弾かなくなってきている。 英語や中国語のspamメールはきちんと弾いているのだけれども。
チェックしてみると逆に積極的に non-spam 判定されている spam メールもある。
前回設定を見直した時、procmail から bogofilter を呼び出した際に -u オプションでどんどん新規登録するようにしたのだが、どうもこれで誤登録を重ねてしまっているようだ。
spam メールも non-spam メールも最終的には全て目視でチェックしており、不適切な振り分けがあった場合は手動で再学習させるようにしている。 spam メールが bogofilter -u で spam として振り分けられなかった場合
とするべきで当初そうしていたのだが、最近横着をしてすべて -s してしまっていた。
どうもこれでspamに特有な語が non-spam 側のテーブルにも残ってしまい、結果 non-spam 側に判定が傾きがちになってしまったようだ。そうこしているあいだに -u でどんどん誤登録が進んでしまったと思われる。
手動ではもはやDBをいい塩梅にもっていけなさそうなので、DBを作り直し。 26,000件の spam メールの登録をしかけて、就寝。
spam メールは procmail で bogofilter (with nkf + KAKASI) しているのだが、以前からちょっと挙動が変である。 すり抜けてきた spam メールをあらためて、bogofilter で判定してみると spam メール判定になることがしばしば。
ということで、Mew を 4.2 にアップデートしたついでに spam フィルタを bsfilter にかえてみることにした。
sid のパッケージはちょっと古いので、tarball を持ってきて /usr/local の下に展開。
.procmailrc に以下を追加:
#------------------------ # bsfilter #------------------------ :0 HB: * ? /usr/local/bsfilter-1.0.7/bsfilter/bsfilter $HOME/Mail/newspam/.
それから Mew の方は /usr/local/bsfilter-1.0.7/mua/mew4/ の下の emacs.el と mew.el をロードするようにしておく。
今回は収集済みの spam メールをまとめて登録することなく、新着のもののみポチポチ登録しているのだがそれでも十分振り分けてくれる。
使い始めの感蝕としては、 bogofilter より bsfilter の方が積極的に spam メール判定になっている感じだ。bigram による傾向なのかな?
朝から ThinkPad X31 の HDD 新しく入れ替えて Debian GNU/Linux sid のインストールを開始。
今日は sarge のネットワークインストール CD イメージからブートしてインストール。 今回はブートドライブにできる「ThinkPad USB ポータブルCD-ROMドライブ」があり、またこのイメージで起動して e1000 が認識できるので楽勝である。
(第1回目は USB FDD + PC カード NIC でインストール、第2回目 は HDD 上のインストーラから GRUB からの起動によるインストールだった)
ヤバイ状態の旧 HDD を USB 外付け HDD ケースに詰めて
を新しい HDD にコピー。
次に環境の復旧。 以下備忘録。
以前作った Linux kernel 2.6.15 deb パッケージをインストールした後 module-assistant で madwifi をインストールするも、ビルドした GCC のバージョンが違ってロードできず。 kernel は GCC 4.0 の時にビルドしたもので、madwifi は現在のバージョンである GCC 4.1 によるビルドであることが問題。
まずは前にビルドした 2.6.15 のソースディレクトリでカーネルパッケージを GCC 4.1 で作りなおしてインストールし、あらためて module-assistant。
module-assistant prepare module-assistant auto-install madwifi
で /etc/network/interfaces を書き戻す。
ここずっと使っていた qmail をこの機会にやめることにした。 Postfix へ。
全体の設定はインストーラに従って設定。
個人設定は、
~/.qmail に
| preline /usr/bin/procmail
として procmail を使っていたので、~/.forward を作って同様に procmail に流すようにする。
"|IFS='' && exec /usr/bin/procmail -f- || exit 75 #naney"
~/.procmailrc は以前のまま。ClamAV と bsfilter でふるいにかけた後、Maildir へ。
以前入れた時は deb が古かったので /usr/local に自前でインストールした。 まずはこれを古い HDD から戻して動作確認後 deb のものに切り替え。
.mew.el の中も
(load "/usr/share/doc/bsfilter/examples/mua/mew4/mew.el")
に変更。
/etc/samba/smb.conf を書き戻す。smbpasswd でパスワード再設定。
とりあえずインストール時の設定で xorg.conf を作る。
Load "freetype"
をコメントアウトして、
Load "xtt"
に変更。
sid は現在 3.5.3 と 3.5.4 混在状態になっているため、依存関係の問題で簡単にはインストールできずてこずった。 kdebase-data と kdelibs-data の 3.5.3 を http://snapshot.debian.net/ からとってきて hold して 3.5.3 系 KDE として各種パッケージをインストール。
skype-beta-1.3.0.30-1_i386.deb をインストール。
一般ユーザ naney の crontab ファイルを再登録。
足りないと気がついた時点で順次インストール。
/etc/auto.master、/etc/auto.misc を書き戻して /etc/init.d/autofs restart。
deb パッケージを公式サイトからダウンロードし、/etc/mt-daapd.conf を書き戻して /etc/init.d/mt-daapd restart
夏休み中は充電のため会社からのメールの携帯電話への転送を一時的に止めておいた。 転送しなくても別に困らないので、このまま止めておくことにした。
それと休日や夜に会社からのしんどいメールを見てしまうと、けっこう後を引いてしまってそんな時はちょっと辛いと感じる。 やはりオンとオフは主体的にコントロールしたい(やる時はもちろんやる)。
Mew の inbox に入ってしまうと否が応でも目にとまり気になってしまうので、会社のメールアドレス宛のメールは直接 inbox に入らないように設定してみた。
~/.procmailrc に以下を追加。
:0 * ^TO_会社のメールアドレス $HOME/Mail/会社名/inbox/.
これで会社のメールサーバ -> Gmail -> fetchmail -> Postfix -> procmail -> Mew と流れてきた時に Mew では +会社名/inbox に入るようになった。
でメールチェック時に +会社名/inbox から +inbox にもってきて処理していくと。
オフィスにいる時も +inbox には直接入らなくなって受信に気がつくのが遅くなるわけだが「そんなにこまめにメールをチェックしなくてもいいのではないか」をさらに一歩進めたという感じで生産性的には向上することを期待。お急ぎの方は電話かチャットか Skype か携帯電話メールへ。
Gmail 上については迷いどころ。 フィルタで Skip the Inbox してもいいけど、モバイル Gmail からいざ新着チェックしたい時に不便だ。 Gmail については現状維持でいくか。
昨日からの作業は以下。
ロストすると一番痛いのはメール。 現行の設定を引き継ぐのに必要な Debian パッケージ (postfix、fetchmail、procmail、mew、bsfilter、clamav など) をインストール。
それからいきなり X Window System が起動しないように gdm をアンインストール。 デスクトップは KDE を使っているので必要そうなパッケージを変わりにインストール。
その後 ThinkPad X31 でいつも通りに pdumpfs を実行して外付け HDD に /home・/etc・/var のスナップショットを保存。で ThinkPad X200 につなぎかえて cp -a で /home をコピー。
~/.kde/ は前回途中で KDE のバージョンが大きく上がったこともあって、移行的な設定も残っていそうなので今回は破棄して心機一転とした。
それと、こちら過去のものをそのまま使いたかったのだがなんか挙動が変だったので ~/.mozilla/ も削除して(リネームして)作り直し。ブックマークはとりあえずエクスポートして移した。 ScrapBook で保存したページも後で移行しなければな。
これで /home の移行完了。あとは同期するのも面倒なので ThinkPad X31 は退役として ThinkPad X200 を母艦とすることにしよう。
明日から ThinkPad X200 持ち歩き。
Google Buzz 導入の流れで Gmail アカウントを2つに分けた。 で、新アカウントから現アカウントへは受信メールを全て転送するように設定しつつ、両方から POP でローカルに受信するように設定したら当然同じメールが2回 POP されるようになった(現アカウントからの POP だけだと新アカウントの Web インタフェースから送信した自分のメールがローカルに残らないので両方から POP 受信するようにしている)。
2通ずつ届くのは繁雑なので Gmail -> fetchmail -> procmail -> maildir -> Mew とくる際に、procmail で別フォルダへ移してしまうように設定。
:0 * ^X-Forwarded-For: me.from@gmail.com me.to@gmail.com $HOME/Mail/me.from/forwarded/.
X-Forwaded-For ヘッダを見て自分の Gmail アカウントから Gmail アカウントへ転送したメールだったら直接指定したフォルダへ移すようにした。 これで余分な1通は目に見えなくなった (今のところは一応バックアップ的に残しておく)。
なお「IMAP 使えばいいじゃん」というコメントももらっているので、今後はそちらも検討。Mew で久しぶりに IMAP でアクセスしてみて使えることは確認。 今のメール処理の流れが体に染みついているのと、コピーをローカルフォルダに残しておきたい気持ちがあるので、そのあたりも含めてちょっと整理したいところ。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。 それとは別に nNote にもちょっとしたノートがあります。
※内容は個人的見解であり所属組織とは関係ありません。