2009/10/05 (月)

雷対策工事で停電があるのを機に、サーバルームのカオスなケーブルにメスを入れる。
(もちろん、ケーブルを切るわけじゃないよ)

2009-10-05:サーバルームのケーブル

わたしはケーブル類がこんがらがってスパゲッティになっているのは大キライだーーー。
というわけで、建物自体が停電になるのを機に、ケーブルの切った張った大会を敢行。

サーバラックの各サーバには、基本的に2本ずつのLANケーブルが出ている。
それぞれ別のセグメントにぶら下がっているんだけど、後からのつけ足しにつけ足しの歴史のようで、見るも無残な状況に。
それに、サーバの電源が冗長化されているが、電源をとってるコンセントの系統が一緒だったりしてて、ここいらも作業対象。

停電なので、憂いもなく全ケーブルをいったん外せるのがいいね。
この手のスパゲッティの場合、「無駄に長いケーブルが使われている」のもガンだったりするので、外したケーブルはまずは長さごとに仕分け。電源ケーブルも同様。

グループ化できるケーブルたちはチューブでまとめるなど、格闘すること3時間で、キレイスッキリな状況になった。
さて、次にスパゲッティになるまで、どれくらいの年月もつかしら。

comment

2009-10-05:ばんごはん

肉じゃがのようなもの。
マグロと秋刀魚の刺身。
タコのスープ、醬油仕立て。

肉じゃがにスーパーで生姜焼き用として売っている豚肉を使うのは、我が家には合わないと思った。:-)

comment

2009/10/04 (日)

今日は休日出勤。

2009-10-04:ばんごはん

オムライス。
チキンライスを作って、薄く卵を焼く。
中身を写していない写真はいまいちだねぇ。。。
かぼちゃのポタージュは嫁にまかせた。bermix の扱いは嫁にまかせっぱなし。

オムライスって英語でなんて言うんだろう、と思ったら rice omelet だそう。そりゃそうか。

comment

2009/10/03 (土)

今日は大学のお茶のサークルのお茶会

2009-10-03:千秋茶会

あいにくの天気だったけど、気合いで着物で五島美術館へ。
朝イチの受付で、じゅんこ先生と富士見亭の濃茶席、古経楼の薄茶席とご一緒させていただく。
富士見亭は、すっかりビル見亭になってしまっていた。困ったものだ。
席間に待合で香道体験イベントがあった。聞くと、今年になって香道サークルが出来たそうなんだが、いまの3年生2名が立ち上げメンバーとのこと。ガッツあるなぁ、と先輩面してニヤニヤ。
先生には「三遊やっておいてよかったわねぇ」と耳打ちされる。^^;

茶会は全体として「よく考えられている」ことが分かって満足。
いい茶会でしたことよ。

comment

2009/10/02 (金)

雨の日は屋内から外の雨を眺めつつ、ミルクティーを飲むのが好き。

2009-10-02:再起動なしのホスト名変更

cron とかで送られてくるメールの送信元ホスト名を変更したい、対象は現在進行形でサービス中のサーバなので再起動はなしにしたい、さてどうしよう、という話題。
答えを見つけるまでに2時間くらい試行錯誤してしまった。
ホスト名なんてそうは変えないものだし、再起動ヤダというわがままも少ないのか、ググっても同様事例を見つけられなかったので、メモを残しておくことにした次第。

相手は CentOS 5.3。
RedHat 系なので、/etc/sysconfig/network ファイルの HOSTNAME を書き変えて、sudo /etc/init.d/network restart じゃないの? と思ったら、そう一筋縄にはいかない。
答えは

$ sudo su -
# echo "newhostname" > /proc/sys/kernel/hostname
# /etc/init.d/sendmail restart

だった。
この /proc に直接書き込んでしまう、というのに辿りつくまで時間がかかってしまったよ。

しかし、hostname “newhostname” でのホスト名変更では、sendmail 再起動しても送信元ホスト名が変わってくれないのだなぁ。なんでかは謎。

ちなみに、今日知ったびっくり事実。

/etc/init.d/network はホスト名を変更してくれない

すっかり勘違いしていた。
何度もスクリプトを読み返したんだけど、hostname 実行するところないのね。/etc/sysconfig/network を読みこんではいるが、NETWORKING の設定ろ見るだけのようだ。
これって以前から変わった動作? それとも以前からこうだった?

サーバ起動時の /etc/rc.sysinit の中では、/etc/sysconfig/network 内の HOSTNAME を hostname コマンドで実行しているけど、起動時動作のホスト名設定はここだけのよう。

ちょっと調べるのに時間かかってしまったけど、サーバの再起動せずに(できれば /etc/init.d/network restart もせずに)ホスト名変更をさせたかったので、いい答えを見つけることができてよかったよかった。

comment

2009-10-02:人生初フレンチトーストつくり

人生ではじめてフレンチトーストを作ってみる。
嫁が好きなんだけど、自分は特別そうではない
。。。というかどうも砂糖を使う料理を作ろうとしないのだ、私は。

が、まぁリクエストされたので作ってみましたよ。
表面は軽く焦げ目つき。
ほかに秋刀魚の香草パン粉焼きを作ったが、写真だとよく分からなんな。

comment

2009/10/01 (木)

都民の日。
だからって仕事が休みというわけではないが。。。

2009-10-01:日本酒の日だけど呑まなかった日

今日は日本酒の日だけど、自宅の冷蔵庫にふさわしい日本酒がなかった。:-)

というわけで、ドライな食卓。
豚肉とアスパラでチャンプルー。
牡蠣のピカタ。
冷凍物鶏団子のお気楽スープ。

comment

2009/09/29 (火)

今日は早朝ミーティングの日なので、6時前起床で手早く仕度して家を出る。
が、電車乗っているうちにおなかがいたくなり、途中の駅で下車してトイレに駆け込む羽目に。。。
しばしのタイムロス。

2009-09-29:postfix+bsfilter で spam 排除

ユーザーサイド(?)で procmail+bsfilter での spam よけを自分自身のアカウントではやっていたんだけど、最近、同じサーバの fml でやってる ML 宛に支那から spam が定期的に来てうざいので、サーバサイド(言い方ただしいんだろか)で撥ねることにした。

ロジックは
  postfix がメールを pipe で bsfilter に渡す
  → bsfilter が X-Spam-Flag: {Yes|No} をつけて postfix に投げる
  → postfix が header_checks でフラグを見て通しか廃棄かする
という形。

サーバは debian lenny つかっている。
bsfilter は自分はすでに入れていたのだけど、まだの人(と将来のサーバ再セットアップする私)向けにメモを整備。
まずは bsfilter 自体の環境作り。

% sudo groupadd -g 115 bsfilter
% sudo useradd -u 115 -g bsfilter bsfilter
% sudo mkdir /var/lib/bsfilter
% sudo chown -R bsfilter.bsfilter /var/lib/bsfilter
% sudo vipw
% grep bsfilter /etc/passwd
bsfilter:x:115:115::/var/lib/bsfilter:/bin/false
% sudo -u bsfilter vi /var/lib/bsfilter/bsfilter.conf
% cat /var/lib/bsfilter/bsfilter.conf
homedir /var/lib/bsfilter
jtokenizer kakasi
pipe
insert-flag
insert-probability

postfix 用のフィルタは以下。

% sudo -u bsfilter vi /var/lib/bsfilter/postfix_bsfilter.sh
% cat /var/lib/bsfilter/postfix_bsfilter.sh
#!/bin/sh
HOME="/var/lib/bsfilter"
FILTER="/usr/bin/bsfilter"
CONF="/var/lib/bsfilter/bsfilter.conf"
SENDMAIL="/usr/sbin/sendmail -i"
cat | $FILTER --config-file $CONF --auto-update | $SENDMAIL "$@"
exit $?
% sudo chmod +x /var/lib/bsfilter/postfix_bsfilter.sh

続けて、postfix が bsfilter へパイプする設定。master.cf を編集する。
変更部分だけ抜粋。

% sudo vi /etc/postfix/master.cf
% tail -n5 /etc/postfix/master.cf
smtp      inet  n       -       -       -       -       smtpd -o content_filter=filter:dummy
# anti spam filter
filter    unix  -       n       n       -       -       pipe
  flags=Rq user=bsfilter argv=/var/lib/bsfilter/postfix_bsfilter.sh -f ${sender} -- ${recipient}

最後に、ヘッダを見てメールを撥ねる postfix の header_checks の設定。

% sudo vi /etc/postfix/main.cf
% tail -n1 /etc/postfix/main.cf
header_check = regexp:/etc/postfix/header_checks

% sudo vi /etc/postfix/header_checks
% cat /etc/postfix/header_checks
/^X-Spam-Flag: Yes/ REJECT sorry

header_checks ファイルの REJECT のところ、最初は WARN にして様子を見るのが吉。WARN はログに残したうえで、撥ねずに通す設定。false-positive もあるかもしれないからね。
設定値については man 5 header_checks しましょう。

最後に postfix を再起動して、おしまい。

—-

以上で設定終了なんだけど、上記をまとめるまでにぐぐって調べていたら、罠があったので注意書き。
世のサイトには「header_checks ファイルを書いたら postmap しろ」と書かれていることがある。これ、「正規表現でのレシピを書いている場合はやらないこと」なのだ。
もし、考えずに盲目的に postmap してしまうと、

warning: /etc/postfix/header_checks, line 1: record is in “key: value” format; is this an alias file?

といったオコられ方をする。
もし、やってしまった場合は、/etc/postfix/header_checks.db ファイルを削除してから postfix を再起動すればよい。

comment

2009/09/24 (木)

今日は休み明けで打ち合わせばかり。
自分の仕事は20時から開始。