てーげー通信

いろいろと...

でびあん

2005-03-01 16:33:23 | Debian
ちゃんと記録しておく。

Athron 800MHz, 256MB, 40GBのマシンにDebian 3.0 Woodyをインストール。
emacs21 + Mew + bsfilter でメールを読み書き専用マシンとして構築。

※ベースシステムのインストール
FD(全6枚)でインストール。
1. rescure FD -> root FDでインストール。
2. モジュールFD4枚を読み込み
3. network moduleはtulipを追加
4. Network経由でbase system追加
5. 適当に答えてリブート

再起動後ベースシステムとして立ち上がる。入れた直後のプロセス。
yabiji:~# ps ax
PID TTY STAT TIME COMMAND
1 ? S 0:06 init [2]
2 ? SW 0:00 [kflushd]
3 ? SW 0:00 [kupdate]
4 ? SW 0:00 [kswapd]
5 ? SW 0:00 [keventd]
143 ? S 0:00 /sbin/syslogd
146 ? S 0:00 /sbin/klogd
154 ? S 0:00 /usr/sbin/inetd
158 ? S 0:00 /usr/sbin/atd
161 ? S 0:00 /usr/sbin/cron
164 tty1 S 0:00 -bash
165 tty2 S 0:00 /sbin/getty 38400 tty2
166 tty3 S 0:00 /sbin/getty 38400 tty3
167 tty4 S 0:00 /sbin/getty 38400 tty4
168 tty5 S 0:00 /sbin/getty 38400 tty5
169 tty6 S 0:00 /sbin/getty 38400 tty6
172 tty1 R 0:00 ps ax
yabiji:~#
シンプル。

※ sshのインストール
とりあえずリモートから作業できるようにまずsshをいれる。
# apt-get install ssh

※開発環境のインストール
めんどくさいのでtaskselでおこなう。
# tasksel
Development
[*] C and C++ をインストール

※日本語環境のインストール
# apt-get install language-env canna canna-utils
[*] en_US ISO-8859-1
[*] ja_JP.EUC-JP EUC-JP
[*] ja_JP.UTF-8 UTF-8
デフォルトを EUCにする。

ロケールを再設定すべし、と書いてあるので、もう一度
# dpkg-reconfigure locales
をする。設定はおなじ。

cannaはこれだけだとemacsと通信できないので以下を変更
/etc/init.d/cannaの中の修正
CANNA_SERVER_OPT="-u canna -inet"
/etc/hosts.cannaにlocalhostを追加する
関係デーモンの再起動
# /etc/init.d/networking restart
# /etc/init.d/canna restart

※emacs21のインストール
# apt-get install emacs21 emacs21-el emacsen-common yc-el

※Postfixのインストール
# apt-get install postfix

※procmailのインストール
# apt-get install procmail

※ruby+bsfilterのインストール
# apt-get install ruby libsdbm-ruby kakasi
bsfilter は本家から持ってくる。(展開して bsfilter/bsfilterを/usr/local/binにおくだけ)

※mew4.1のインストール
mew-4.1.tar.gzを展開して
# make
# make jinfo
# make install

※ユーザの設定(一般ユーザごとに行う)
※日本語関係設定
$ user-ja-conf
適当に答えると最後に
以下に示すパッケージをインストールして下さい。
ja-trans, manpages-ja, nvi-m17n-canna, egg, xemacs21-mule-canna-wnn
といわれるが、nviとeggとxemacsは使わないので suしてja-trans, manpages-jaをインストール
# apt-get install ja-trans manpages-ja


.mew.elの内容
$ cat .mew.el
(setq mew-name "XXXXXXX") ;; (user-full-name)
(setq mew-user "tori0707") ;; (user-login-name)
(setq mew-mail-domain "xxx.xxx.xxx.jp")
;; (setq mew-smtp-server "localhost") ;; if not localhost

;; To use local mailbox "mbox" or "maildir" instead of POP
(setq mew-mailbox-type 'mbox)
(setq mew-mbox-command "incm")
(setq mew-mbox-command-arg "-d /var/mail/tori0707")
;; If /path/to/mbox is a file, it means "mbox".
;; If /path/to/mbox is a directory, it means "maildir".

(setq mew-use-highlight-body nil)

;; for using bsfilter
;;
; put "D"
; (defun mew-spam-bsfilter (val)
; (let ((case-fold-search t))
; (if (string-match "yes" val) ?D)))

; put "o +sapm" at inc
(defun mew-spam-bsfilter (val)
(let ((case-fold-search t))
(if (string-match "yes" val) "+spam")))

(setq mew-inbox-action-alist
'(("X-Spam-Flag:" mew-spam-bsfilter)))

; for "ls" (learn-spam)
(setq mew-spam-prog "bsfilter")
(setq mew-spam-prog-args '("-C" "-s" "-u"))

; for "lh" (learn-ham)
(setq mew-ham-prog "bsfilter")
(setq mew-ham-prog-args '("-c" "-S" "-u"))

; for "bm" (mark-spam)
(define-key mew-summary-mode-map "bm" 'mew-summary-bsfilter-mark-region)

(defun mew-summary-bsfilter-mark-region (&optional arg)
"study/judge the region and put the '*' mark onto spams.
need to re-learn if judgment of bsfilter is wrong"
(interactive "P")
(mew-pickable
(let ((func 'mew-summary-pick-with-cmd)
(mew-inherit-grep-cmd "bsfilter -a --list-spam"))
(mew-summary-pick-body func t nil 'nopattern))))

; show X-Spam-Flag and X-Spam-Probability in message buffer
(setq mew-field-spec
(reverse (append (list (car (reverse mew-field-spec)))
'(("^X-Spam-Probability:$" t)
("^X-Spam-Flag:$" t))
(cdr (reverse mew-field-spec)))))
(mew-summary-pick-body func t nil 'nopattern))))

.emacs の内容
$ cat .emacs
; ---- language-env DON'T MODIFY THIS LINE!
(setq load-path (cons "/usr/local/share/emacs/site-lisp/mew" load-path))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 日本語表示の設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(if (not (boundp 'MULE))
(if (featurep 'xemacs)
; xemacs21 の場合
(progn
(set-language-environment "Japanese")
(set-default-buffer-file-coding-system 'euc-jp-unix)
(set-keyboard-coding-system 'euc-jp-unix)
(if (not window-system) (set-terminal-coding-system 'euc-jp-unix))
)
; emacs20 の場合
(progn
(set-language-environment "Japanese")
(set-default-coding-systems 'euc-japan-unix)
(set-keyboard-coding-system 'euc-japan-unix)
(if (not window-system) (set-terminal-coding-system 'euc-japan-unix))
)
)
)
(set-default-coding-systems 'sjis-dos)
(set-terminal-coding-system 'sjis-dos)
(set-keyboard-coding-system 'sjis-dos)
(set-buffer-file-coding-system 'sjis-dos)

; 日本語 info が文字化けしないように
(auto-compression-mode t)
; xemacs の shell-mode で 日本語 EUC が使えるようにする
(if (featurep 'xemacs)
(add-hook 'shell-mode-hook (function
(lambda () (set-buffer-process-coding-system 'euc-japan 'euc-japan))))
)
; 日本語 grep
(if (file-exists-p "/usr/bin/jgrep")
(setq grep-command "jgrep -n -e ")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 漢字変換 (canna) の設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; (set-input-method 'japanese-egg-canna)
;; (global-set-key "C-o" 'toggle-input-method)
;; (toggle-input-method nil)
;;
;; using yc
;;
(load-library "yc")
(global-set-key "C-o" 'toggle-input-method) ;; key binding
(global-set-key "C-\" nil)
(define-key yc-edit-mode-map "C-h" 'yc-edit-backward-delete-char)
(global-yc-mode) ;; enable ANK-Kanji Transform
;;
(setq yc-server-host "localhost") ;; canna server
(setq yc-canna-lib-path "/usr/lib/canna/") ;; path to "default.canna"
(setq yc-canna-dic-path "/usr/lib/canna/dic") ;; path to dictionary
(setq yc-select-count 2) ;; transform table
(setq yc-use-color t) ;; color mode
(setq yc-use-fence t) ;; fence mode
(setq yc-stop-chars "(){}<>") ;; character list of not transform

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Xでのカラー表示
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'font-lock)
(if (not (featurep 'xemacs))
(global-font-lock-mode t)
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; C プログラムの書式
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;(defun my-c-mode-common-hook ()
; (c-set-style "linux") (setq indent-tabs-mode t) ;linux 式がいいとき
; /usr/src/linux/Documentation/CodingStyle 参照
; (c-set-style "k&r") ;k&r式がいいときはこれを有効にする
; (c-set-style "gnu") ;デフォルトの設定
; )
;(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; いろいろ
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Deleteキーでカーソル位置の文字が消えるようにする
(global-set-key [delete] 'delete-char)
;; C-h キーでカーソルの左の文字が消えるようにする。
;; ただし、もともと C-h はヘルプなので、
;; これを有効にすると、ヘルプを使うときには
;; M-x help や F1 を使う必要があります。
;(global-set-key "C-h" 'backward-delete-char)

; ---- language-env end DON'T MODIFY THIS LINE!
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)

(setq mew-icon-directory "icon directory") ;; if using XEmacs/Emacs 21
(setq mew-spam: "X-Spam-Flag:") ;; using bsfilter

;; Optional setup (Read Mail menu for Emacs 21):
(if (boundp 'read-mail-command)
(setq read-mail-command 'mew))

;; Optional setup (e.g. C-xm for sending a message):
(autoload 'mew-user-agent-compose "mew" nil t)
(if (boundp 'mail-user-agent)
(setq mail-user-agent 'mew-user-agent))
(if (fboundp 'define-mail-user-agent)
(define-mail-user-agent
'mew-user-agent
'mew-user-agent-compose
'mew-draft-send-message
'mew-draft-kill
'mew-send-hook))
$

.promailrcの内容
$ cat .procmailrc
LOGFILE=$HOME/Mail/procmail.log
MAILDIR=$HOME/Mail
LOCKFILE=$HOME/.lockmail
#
:0
* ^Auto-Submitted: auto-generated (postmaster-notification)
$MAILDIR/mailer-daemon/.
:0 H
* ^From: Symantec_Mail_Security_for_SMTP@xxx.xxx.xxx.jp
$MAILDIR/virus/.
:0 fw
| /usr/local/bin/bsfilter --pipe --insert-flag --insert-probability

.forward の内容
$ cat .forward
"| IFS=' ' && exec /usr/bin/procmail -f- || exit #tori0707"

bsfilter.confの内容
$ cat bsfilter.conf
jtokenizer kakasi # 'make WITH_KAKASI=yes install'
spam-cutoff 0.6
db gdbm

bsfilterの学習
$ bsfilter --add-clean ./Mail/inbox/* ./Mail/white-list/*
# bsfilter --add-spam ./Mail/spam/*
$ bsfilter --update
コメント   この記事についてブログを書く
この記事をはてなブックマークに追加
« Yahoo!オークション | トップ | ntpdate »
最近の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。

あわせて読む

Debian」カテゴリの最新記事

関連するみんなの記事

トラックバック

この記事のトラックバック  Ping-URL
ブログ作成者から承認されるまでトラックバックは反映されません。