優雅な生活の設計と実装

The Design and Implementation of the Gracious Days


LAST MODIFIED: 2002/05/25 02:54:26 UTC

新しい秩序の確立は、他の何にも増して難しく、
成功する可能性が低く、危険な事業である。
改革者は旧秩序から利益を得ている
全ての者を敵にまわし、
新秩序から利益を受けるはずの者からは
及び腰の支持しか集められない。
--- Niccolo Machiavelli, The Prince

この種の「保護」は初心者を保護するかも知れないが、
熟練ユーザを窮地に追い込むことになる。
というのは、何が親切であり、何が適切でないかかという
オペレーティングシステムの考え方の裏をかくことばかりに
かなりの労力を費やさなければならないからである。
--- A.S.Tannenbaum, Modern Operating Systems


不定期更新の日記です。ディスクスペースの関係上、 あまりに古くなったものは順次消していきます。 この日記の更新は、今野さんの *BSD Diary Links から取得することが可能です。

May 2002

Saturday, May 25

* conference

国際学会出席のため、05/25-06/02 まで非常に反応が悪くなります。 今回の旅程は NRT-SFO-PHX-SFO-NRT です。

今回はメールが読めるくらいの環境はなんとかするつもりでいますが、 4.6R リリースまでの作業は、残念ながらあまりできなさそうです。ごめんなさい。

感想はこちらまで (内容は匿名のメールで送られます)

コメント:

注: お返事が必要な場合は直接メールください。 ただし、確実にお返事するかどうかはわかりませんのであしからず。

Tuesday, May 21

* panic in WindowMaker

やっぱり、workspace を切り替える時、 まれに wmaker が発狂する症状が出ます。 X を再起動した後が下のような感じ。 686 がおかしくなったやつで 5060 が再起動したやつ。

last pid:  5185;  load averages:  1.00,  1.01,  1.03    up 0+22:39:43  03:26:25
66 processes:  2 running, 64 sleeping
CPU states:  100% user,  0.0% nice,  0.0% system,  0.0% interrupt,  0.0% idle
Mem: 109M Active, 223M Inact, 81M Wired, 21M Cache, 54M Buf, 2808K Free
Swap: 1020M Total, 28K Used, 1020M Free

  PID USERNAME PRI NICE  SIZE    RES STATE    TIME   WCPU    CPU COMMAND
  686 hrs       61   0  5636K  3192K RUN    245:01 96.97% 96.97% wmaker
 4138 hrs        2   0 15272K 14196K select   1:52  1.66%  1.66% emacs
 3988 root       2   0 81340K 80264K select   2:04  0.05%  0.05% XFree86
 4798 hrs        2   0 19948K 15688K select   0:07  0.00%  0.00% netscape-dynMo
 4060 hrs        2   0  5676K  3348K select   0:07  0.00%  0.00% wmaker
 4076 hrs       10   0  2232K  1244K nanslp   0:04  0.00%  0.00% wmCalClock

うーむ。でも、誰に聞いても同じような症状になっている人がいないのだな。 BSDcon で cjh と話した時も知らないって言ってたし‥‥

* FreeBSD-SA 02:24, 02:25

出てます。日本語訳の草稿

Monday, May 20

* nonresident file

非常駐というのはちと意味不明かも。

NTFS は MFT (Master File Table) というレコードでファイルを管理しています。 簡単に書くと、ファイル名とか許可属性とか、ファイルの内容とかをぜーんぶ attribute と呼んで、MFT に attribute header (属性名と属性タイプ) と attribute data (実体) という形で記録します。

この attribute header と attribute data は、基本的に MFT の中に記録されます。 しかし MFT はサイズが小さいので、 ファイルの内容のようなサイズの大きいもの (だいたい 1KB 以上) は、 MFT の attribute header に他のクラスタを指すポインタを記録して、 attribute data そのものはその他のクラスタを使う、 という形をとります。 attribute data が MFT に入ったものを resident attribute と呼び、 一方でデータが大きすぎて MFT に入らないよ、という attribute は外に記録されて nonresident attribute と呼ばれます。

ファイル名や許可属性は小さいので必ず MFT の中に入るのですが、 ファイルの内容が MFT に入るか入らないかは、その大きさに依存します。 で、mount_ntfs はファイル内容が resident なファイルを操作することができない、というわけですね。

うーむ。MS 文書が常駐という言葉を使っているのかなぁ、これ。

* cvsup.jp.OpenBSD.org

体裁を整える。 -stable の build に初挑戦。-current と -stable をぶんぶん回して 18 時間くらい。これなら行けるかな?

OpenBSD 3.1 のリリースはまだかしらん。

Sunday, May 19

* op

親知らずの抜歯手術を受ける。口の中が血だらけ。

* OpenBSD snapshot

build できなかったのは、 フェイクのためにシェルスクリプトで作った uname がちゃんと動いていないのが原因だった。 基本的にはこんなの。

print_os_rev ()
{
    (cat <<EOF
print:
        @echo -n '¥${OSREV}'
EOF
    ) | make -m /usr/src/share/mk -f - print

下手にスペース入れたりすると REV!=uname -r とかしているところで変になるので、少し厳しく調整。 今度はうまく行くはず。

* /etc management

えらい適当ですけど、こんな感じの Makefile を作業ディレクトリに作っておきます。 cvs add しちゃっても良いです。

そして設定ファイルを変更して make install すると、 作業ディレクトリにある hosts, resolv.conf, inetd.conf のうち、 /etc と比較して新しいものだけコピーしてくれる、という寸法です。

CVS の機能を使うと commit したら自動的に /etc に checkout してくれるような仕掛けも作れますが、 失敗した時が怖いので、わたしの場合は専らこんな感じの Makefile を作って make install、というのが癖になってます。

Saturday, May 18

* election web site

ありゃ。選挙のサイトが見られなくなってる。 むむ。入れないと思ったら freefall:‾/.ssh/authorized_keys が 0600 だった。修正っと。

Friday, May 17

* cvsupd

さんざん待たされていた sup も復活して、ここ 1 カ月くらい安定して取ってきているようなので、 今野さんからいただいた cvsupd の checkouts 生成スクリプトを手直しして cvsup.jp.OpenBSD.org に設定。

うーむ、すばらしい。-s 付けると負荷が段違い。 もともとディスクが遅いせいでもあるのだけど。

* election

core の選挙。 日本からは 2 名が立候補。がんばれ〜

* /etc management using cvs

波多野さんの日記から。 わたしは直接 cvs co するのが怖いので、 インストール用の Makefile を作って cvs co + sudo make install してます。owner とか permission とかはそこで調整。

Saturday, May 11

* AIXport.sut.ac.jp

情報処理センタからもらってきた RS/6000 40P(7020) を使うために情報収集。とりあえず AIX 4.3.3 を確保して CD から起動することを確認。

AIXport.sut.ac.jp が廃止されてることに今さらながら気づく。 並列計算機環境は RS/6000 SP を使っているはずなんだけどなぁ。 理科大の教室環境はもう Sun 一色 (+WindowsNT) になったし、 需要がないといえばそうなんだけど、ちょっと残念。

PReP 仕様の RS/6000 は今後 AIX でのサポートがないようなので、 NetBSD/prep とか物色中。1.5ZC の snapshot ができているので試してみようかしらん。

* Power Supply

家のメインマシンの電源が急に壊れる。復旧に丸一日。

研究室で配置換えをした後、動かしていなかった PC の電源を入れたら、 ばりばり〜とすごい音がして煙を吹いた。電源を取り出してみると、 出力段パワー MOSFET の中心部から外向きに、ちょうどチップの部分の モールド (パッケージは TO-3P。7805 とかが使っている TO-220 のでかいやつ) が丸くふっ飛んでいるという状況。 チップが焦げるというのは何度も経験したけど、 パッケージが割れるというのは初めてだ。しかもまっぷたつに割れるならともかく、 真中だけ穴が空いたようになってるし。

同じく研究室のスイッチングハブが稼働中に急に電源が落ち、 どうやっても電源が入らなくなる。中を空けてみて、 ガラス管ヒューズをチェックするも異常なし。 仕方がないので代替品を発注して交換したら、もう一台、 ほぼ同時期に購入した同ロットのハブも同じ症状が発生。 メーカに文句の電話を入れる。某 P 社。 「そういう事例が報告されてます」との弱気なお返事。 「送っていただければ、無償でチェックします」って、 送料がこちら持ちなのはいかがなものか。

HP C300 の電源が急に入らなくなる。 修理を頼むと「CPU ファンが故障してるんで、 交換に 500K くらいかかりますよん」とお返事。 即座に新規購入を決定して、サービスエンジニアにはお引き取りいただく。 まだ償却期間が終わっていないと言うのに。

最近はなぜかこんなのばっかり。

* mail virus scanner

ボスが「研究室のメールサーバでメールウィルスにフィルタかけよーよ」 とおっしゃるのでいろいろ調査。その前に、研究室のメールサーバは sun4c(SunOS 4.1.3-JL) だったりするので、そっちの代替品の見積りが先か。 つい数カ月前に sendmail-8.12.3 と gcc 3.0.4 に入れ換えたばかりなのに。

‥‥そういえば、某大学 (!理科大) は FTP でファイルを get すると、 proxy で全部取得した後にウィルススキャンをかけてこっちに送ってくるらしい。 600MB とかダウンロードすると、proxy が get し終わるまで刺さる。 最初は data connection がフィルタされているのかと思ったぞ。

こういうのって単一故障点を作りやすいのであんまり手を出したくないなぁ。

Friday, May 10

* OpenBSD nightly snapshot build

XF4 の構築まで安定することを確認。最初は ${XF4SRC}/xc/programs/Xserver/hw/xfree86/os-support/bsd/libusb/descr.c で使われる構造体のメンバ変数の名前が一致しなくてコケていた。 構造体の定義変更が原因なのでパッチをあてる必要あり。 確認してる人いないんだろうなぁ、これ。

ftp://ftp.openbsd.org/pub/OpenBSD/snapshots/i386/ でも xbase31.tgz は 04/28 が最終 build だし、 気の向いた時に build してるっぽい。

何はともあれ、これでようやく本家の i386 snapshots と同等のとこまで到達したはず。 今度は付加価値を付ける方向で手を加えねば。

Tuesday, May 7

* be back to normal

だいぶペースが戻ってきた感じ。

* FreeBSD 3.2-RELEASE -> 4-STABLE

セキュリティ対策が大変になってきたので、メールサーバとして使っていた 3.2-RELEASE マシンをアップグレードする。ちなみに

CPU: i486 DX2 (486-class CPU)
  Origin = "GenuineIntel"  Id = 0x435  Stepping = 5
  Features=0x3<FPU,VME>
real memory  = 20971520 (20480K bytes)
avail memory = 16814080 (16420K bytes)

という代物。

このスペックだと一回の make buildworld にまるまる 2 日間はかかるので他のマシンでやっても良かったのだけど、 急ぎでもないし、3 から 4 へのアップグレードがきちんとできるか 確認する良い機会なので、ターゲットマシン上で build.

予想どおり (?) 一気には無理。 4.0-RELEASE, 4.2-RELEASE, 4-STABLE と順にジャンプすればなんとか可能。 途中で予め入れてあった OpenSSH-portable と pam がぶつかってはまる。最初のうちは pam.conf に sshd のエントリがなかったので、 当然と言えば当然なのだけど。

手動であてたパッチや 4-STABLE では必要なくなった openssl などを削除して作業完了。 まだまだ現役 :-)

Thursday, May 2

* IP unreachable

05/05 あたりまで、ほぼ IP unreachable になります。 メール読むくらいはできると思いますが、反応はできないと思ますのでご了承をば。

うう。全然更新できないまま、いつのまにか 5 月になってしまった。