ディスクの中の住人たち (2006-02)

周りの Linux Box に入れたアプリケーション達の記録です. 初めはそれだけのつもりでしたが, 最近はいろいろ書いてます (^^;



2006/02/18

bsfilter (bsfilter-1.0.12-0vl1.i386.rpm)

[Mayo] だいぶ前からなのだが, 漢字だらけの spam が非常に多い. メーラは Mew を使っているが, いちいち d (削除) を押すのが面倒になってきた. そこで, 良い spam フィルタはな いかなぁと思って探したところ, 行き着いたのが bsfilter.

bsfilter は, spam mail と非 spam mail (ここでは clean mail と呼ぶ) の実例から見分けかたを学習 するフィルタで, Mew からも使えそ うだったので, これを選択.

bsfilter の RPM が VinePlus にあったので, インストールは apt-get install bsfilter で OK.

まず学習. spam をごみ箱 (+trash) に移動させておき, こうしてみ る.

$ bsfilter --add-clean ~/Mail/inbox/*
$ bsfilter --add-spam ~/Mail/trash/*
$ bsfilter --update

続いて Mew 側の設定. Mew のバージョンは 3.3 なのだが, bsfilter の説明にあるように mua/mew3/mew.el~/.mew.el に付け加え てもうまくいかない (--;) 理由は多分こうだろう. mua/mew3/mew.el では, Mew の summary mode でのキーバイ ンドを設定している. しかしその summary mode が定義されるのは Mew が呼び出されてから (mew.el は実行時に autoload される) なので, Emacs を起動するときに mua/mew3/mew.el を実行して summary mode のキーバインドを設定しようとしても, Emacs 起動時には まだ summary mode が存在していないのだ.

どうしようかいろいろ考えたけど, 一番自然な方法は Mew の起動時に mua/mew3/mew.el を実行するというもの. なので ~/.mew.el に以下を付け足した.

(add-hook 'mew-init-hook (function (lambda () (load "~/lib/emacs/bsfilter.el"))))

また, bsfilter によってメー ルに付けられる X-Spam-Flag を使って spam を +trash へ移 動させるために, 以下も ~/.mew.el に付け足した.

(setq mew-refile-guess-alist
  '(("X-Spam-Flag:"
     ("Yes" . "+trash"))))

使い方は, こんな感じ

  1. メールをサーバから読み込む
  2. C-u NUM @ (NUM はサーバから読み込んだメール数. 今読み込んだメールすべてに @ を付 ける)
  3. bM (@ を付けたメールに対し, spam 判定)
  4. C-u M-o で, 1 つずつメールを振り分ける. この際, 本当は spam な のに clean と判定されたら bs (be spam の略?), 本 当は clean なのに spam と判定されたら bc (be clean の略?) とやって, 再学習させる.
  5. x (振り分け)

使ってみると, spam の判定に結構時間がかかったり, spam 判定の正 誤はやっぱり人間が最終判断する必要があるので, どれだけ作業が楽になった かはわからない. しばらく使って, 様子を見ます

2006/02/10

VineLinux 3.2

[Mayo] 2006 年 1 月 28日 から始まる一連の記録です

最初は, 今使っている VineLinux 2.6 相当から version up で 3.x まで持っていこうとしてたんですが, 途中でこけてしまいました. 2.6.99 への upgrade までは OK だったんですが, 3.0 へ upgrade する途中で停 止. エラーメッセージに libtermcap なんて単語が含まれていたから, ひょっとしたら X 上で su root した状態で作業していたのが悪かったの か, apt の version が整合していなかったのか, 原因は良く分からなかっ たのだが, 一旦 logout したら login すらできず, 電源を切ったら再起 動すらしなくなってしまった. で, 腹を括ってクリーンインストール.

Distribution をどうしようか少し迷ったけど, 最近ようやく管理に慣 れてきたというのと新しい distribution に慣れている暇がないというこ とで, 引き続き VineLinux を選 択. 幸い, WinXP も使う根性無しだったので, WinXP 側で VineLinux 3.2 の CD-ROM イメージを貰ってきて CD-RW に焼き付け. そして CD-ROM ド ライブから起動して, インストール開始.

私の PC は eMachines の N2240 で, マザーボードは i845. グラフィッ クも音もオンボードという廉価版. 3 年前に VineLinux 2.5 をインストー ルした当時は, まだ i845 は新しく, X が自動設定できなかったり, デフォ ルトの設定では音が出なかったり (ALSA を使えば音が出たけど) とイン ストールが少しやっかいだった. しかしそれから 3 年が経ち, X は自動 で起動したし, デフォルトで一応音も出ているという具合で, 非常にイン ストールは簡単だった. 先日付けた USB の外付け HDD も勝手に認識してくれた.

インストール終了後にやったことを列記すると…

ちょっと困ったのが, VineLinux 3.2 に付いてきた Ruby 1.8.2 には, ftplib.rb が付いていなかったこと. 私は web pages の更新には前田さ んの ftpup.rb (旧称 ftpmirror.rb だったかな?) という古いソフトをずっと 使っていたのだけど, ftpup.rb は ftplib.rb を require してました. Ruby 1.6 までは一応 ftplib.rb という古いライブラリが残ってたんです が, Ruby 1.8 ではそれが消されてしまってました. で, Ruby 1.6 のアー カイブを貰ってきて, ローカルに ftplib.rb を置いて, 対処. コモンズ, 万歳.

PostgreSQL や R などのインストール, Apache の設定が残っているけ ど, それはおいおいやっていきます. まずはこれで一息.

P.S. ここを 日記 と統合してしまうべきかどうか, 思案中.

PostgreSQL (postgresql-7.4.10-0vl1.i386.rpm, postgresql-server-7.4.10-0vl1.i386.rpm)

[Mayo] 献血関連のデータを PostgreSQL で管理しているが, 素の VineLinux 3.2 にはインス トールされていなかったので, 後からインストール. RPM ではサーバとク ライアントが別々のパッケージになっているので, 両方入れることをお忘 れなく.

$ su root
# apt-get install postgresql
# apt-get install postgresql-server
# /etc/init.d/postgresql start
# su postgres
$ createuser msato
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER
$ exit
# exit
$ createdb bd
CREATE DATABASE
$ psql bd < backup.sql
$ psql bd
PostgreSQL の会話型ターミナル、psql 7.4.10 へようこそ

\copyright とタイプすると、配布条件を表示します。
\h とタイプすると、SQL コマンドのヘルプを表示します。
\? とタイプすると、内部スラッシュコマンドのヘルプを表示します。
\g と打つかセミコロンで閉じると、クエリーを実行します。
\q で終了します。
o
bd=> \d
          リレーションの一覧
 スキーマ |  名前  |    型    | 所有者
----------+--------+----------+--------
 public   | bd_rec | テーブル | msato
(1 行)

こんな感じ. 後はたくさん献血して, データを増やすだけ.

gcc-g77

[Mayo] 次の R のインストールに必要なので apt-get install gcc-g77

R (R-2.2.1-0vl1.i386.rpm)

[Mayo] 統計計算ソフトの R をインストール. 近場の ftp サイトから RPM を貰っ てきて, rpm -Uvh R-2.2.1-0vl1.i386.rpm

Acrobat Reader 7.0 (AdobeReader_enu-7.0.1-1.i386.rpm)

[Mayo] pLaTeX2e から dvipdfmx 経由で PDF ファイルを作った. VineLinux には xpdf も入っているけど, 一応, 本家のも入れておこうということで, Acrobat Reader をインストール.

@IT の記事 を参考に, まず本体 (RPM) を入れ (本体の ftp にえら く時間がかかった ;-), 次に version 5 の フォントを入れ, 最後に version 4 のフォントを入れたら, きれいに起 動してくれた. dvipdfmx のおかげで, 左に表示される目次も化けずにき ちんと表示された.

OpenOffice.org 2.0.1 (OOo_2.0.1_LinuxIntel_install_ja_wJRE.tar.gz)

[Mayo] 添付で Word の文書が送られてきた. wvWare という選択肢も あるのだが, せっかくなのでここは OpenOffice.org を選択.

Java を持っていない (?) ようなので, Java 付きのアーカイブを入手. VineLinux 3.2 の場合, デフォルトのシステムでは openoffice.org-redhat-menus-2.0.1-1.noarch.rpm のインストールに失敗 する. それを直す方法も公開されているのだが, それをインストールしな い弊害は, Gnome のメニューに登録されないということだけ. なので今回 は, それはインストールしないことで済ませた. 実行ファイル一式は /opt/openoffice.org2.0/program にインストールされるので, そこにパ スを通して soffice を起動. ユーザ設定を終えると, きれい な画面が表れた. メールに添付されていた Word の文書も, 一応は問題な く読めたようだ.

OpenOffice.org を家でバリバリ使うということはないと思うが, この 世界はなかなか Microsoft と縁を切れないので, Microsoft のアプリケー ションで作ったファイルを読めるということは非常に強力だと思う.



[うさぎ印] おたより, お待ちしています

sato.mshr@gmail.com