2000-01-01(土) [長年日記]
■ お断り
しばらくの間、ここはKondaraいじりの日記ではなくなります(笑)。Half Lifeの新シナリオであるOpposing Forceを昨日入手したので、ひととおり終わるまではそんな暇はなくなるからです:-P
■ OpFor
一時は絶望的に思えたOpForの入手も、希望通り年内に手に入って(small様、ありがとうっ)、新しい年をめでたく新作ゲームで迎えられるとは、喜ばしい限り。本当はCPUをCeleron 333に載せ替えてplayする予定だったんだけど、ちょっと雰囲気を掴むつもりでインストールしたらそのままはまってしまった……。恐るべし、Half Life。日記と言っても、こまごまと書くつもりはないので、現在の進捗だけメモっておこう。オススメの攻略法ページだけ書いておく。読まずにやってるけどね。
今日は、練習用のboot campをしながらキーアサインの設定をして(武器の種類が増えているので、オリジナルのHLから変えなければならなかった!!)、Easyモードでゲームに突入。モノレールに乗って、降りたところまで。現在の装備はレンチ、ナイフ、ピストル2丁とショットガン。まだまだ手慣らし状態。新しいモンスターもいない。
2000-01-02(日) [長年日記]
■ OpFor
今日は始めてロープを扱う。難しいけど面白いかも。壊れたエレベーターシャフトをロープで上って、少し進んだところまで。現在の装備は昨日に加えて扱い慣れたMP-5と、ロケットランチャー、あとは爆薬系を3種類。レーザーサイト付きのピストルはいいね。遠くの敵に確実に当たるし。マニュアルにあった狙撃用ライフルもはやく欲しい。新しいモンスターが出始めたけど、比較的動きのいいのが増えているので、こっちの対応も考えないといけない。のんびり狙っていると逆にやられてしまう。でもやたらと撃ちまくると弾薬が不足する。これじゃあ、Difficultモードなんて絶対クリアできそうな気がしない……。
2000-01-03(月) [長年日記]
■ OpFor
HLでもっとも手ごわかった黒づくめ巨乳女は、実は第三勢力で、OpForでも敵に回っていることがわかる。ショック。OpForならではのチーム攻撃をするが、どんどん味方が殺されてしまう。あれが集団で出てくるなんてあんまりだ(泣)。瀕死になりつつも、レーザーサイトで遠くから狙ってなんとか倒す。その後、HLのFreemanがワープするシーンに出会ったり(一緒に飛び込むと死ぬ)、無敵の武器を手に入れたりして、けっこう進む。攻略法サイトによれば、もう半分以上来たみたい。今日は眼下にHLでもおなじみの龍が数匹いるところまで。新しいモンスターも続々登場するが、これまた新しい生物系の武器が楽しいので苦にならない。加わった武器は、ワープ球を撃ち出すビーム系兵器(当たれば無敵)、弾数無制限の生物武器、敵の死体(?)をエネルギーにする生物武器、強力なマシンガンなど。あと、天井からループを下げてるモンスター、あれを手にはめられるようになったのが面白い。QuakeのCTFで使うHookのように使えるので、便利。まぁ、利用できる場面に制限があるけど。いやぁ、なかなか楽しめますなぁ。
2000-01-04(火) [長年日記]
■ Windows 98のバカぁ
今日は、かみさんがWindows 2000 RC3を入れたいというので付き合っていたら、Windows 98に逆襲されてはまってしまい、あんまりOpForをできなかった。しくしく。
今回はもう、とことんMicrosoftのバカさ加減に呆れたね。今まで8GBのディスクを2つのパーティションに分けて(基本と拡張)使っていたところに、W2K用に13GBを買い足して増設したわけよ。W2KをCD-ROMからbootして、新しいディスクをこれまた2つのパーティションに分けて最初の区画に入れようとした。プライマリIDEのスレーブにはCD-ROMがついていて、それがE:ドライブになっていたから、これらの新しいパーティションはそれぞれF:、G:になって、W2KはF:に入れた、と。ここまでは順調。今までのC:、D:も見えている。
ひととおりW2Kをいじってみて、さて、いつものW98環境に戻ろうとrebootしたら、アプリがことごとく起動しない。よく見てみるとなんと、今までD:だったドライブがE:になり、新しく作ったF:がD:になっているではないか。CD-ROMは最後に移動してG:になっている。W9xのドライブレター順が「変だ」という話はちょくちょく聞いていたけど、これのことか。自分には関係ないと思っていたけど、こんなところでやられるとはな。ようするに、W9xではシステム上に存在する基本区画から優先的に若いドライブレターを割り当てるということだ。
まったく、ばっかじゃないの? >Microsoft 骨の髄までドライブレターに依存してるくせに、ディスクを増設するだけでそのドライブレターが変わるような仕組みにするなんて、脳みそ空っぽじゃん。しかも自社で作ってる別のOSではドライブレターの命名ルールが違うと来た日にゃぁ、呆れて物も言えんよ。Linux移行を決めて正解だったと、確信したね、今日は。
■ OpFor
つーわけで、今日のOpForは進捗は微小。昨日の所から少しだけ進んで、でっかいムカデのようなモンスターに阻まれている。全弾打ち尽くしてみたけど死なないので、これはHLの龍が3匹いるところと同じ、何かの装置を動かして殺すんだな。あちこちうろついてみたけど、スイッチが一ヶ所見つからない、もう寝ないと……と思ったら上の方に見えた。あそこまで昨日拾ったhookで飛ぶんだな。これは明日のお楽しみにしよう。
■ おバカユーザ
それにしてもなんですな。Kondaraの掲示板とかMLを見てると、おバカが多くてとほほるさんが気の毒で。まぁ、ディストリビューションにした時点である程度この手のことは予想できてたはずなので、怒る姿のどこまでがポーズなのかはわからないけど(笑)。Linux初心者の自分に照らしてみても、「わからないんだけど、どこを調べたらいいのかもわからない」というのは仕方がないと思う。でも自分の環境を何も書かないで「教えて下さい」なんて言うヤツは脳みそ使ってないのは明らかだから許されんよな。さらにたちが悪いのは自分は初心者じゃないと思い込んでいながら、何も調べずにバグだバグだと騒ぐ輩。頭悪いヤツはコンピュータ使うな(笑)。
2000-01-05(水) [長年日記]
■ OpFor
巨大ひとつ目ムカデをやっとのことで倒したら、こんどは全身タイツ隊の集団とチーム戦。しかも遠くから狙撃してくるヤツがいるし。でも、その建物に入ったら、ついに念願の狙撃銃をGET。うひひ、これはズームが付いているので楽しいぞ。
その後はわりと順調に進むが、暗いところに住んでる巨大な肌色のクモは手ごわい。ワープ銃だと一撃なんだけど、すぐに残弾がなくなるのがネック。でも強力な方のマシンガンの弾がわりと豊富になってきたので助かる。そのあと、水路を伝って出た先に、モンスターが延々と出続けるトンネルがあって泣く。慎重にタイミングをはかってその先の暗いトンネルに入ると、こんどは肌色クモが2〜3匹待ちかまえてるし。ここは何度もやり直して、ようやくクリア。あとでアンチョコを見てみたら、モンスターが出てくるトンネルを閉じるスイッチがあるんだって。とほほ。でも閉じずにクリアしたってことは、おれってかなりの強者?(笑)
その後、電撃モンスターの巣窟でのチーム戦。衛生兵の注射は効くぜ。なんか危ない薬打ってるみたい。そこを抜けるとHLで懐かしいダムに出る。ここもHookを使ってなんなくクリア。順調だ。また別の兵士たちとチームを組んで全身タイツ隊のいる川を渡ると、巨大な大砲がある広場に出る。ここは狙撃銃の出番。砲撃手を倒して、中の建物に入り、大砲を奪えば、破壊し放題だ〜(笑)。ってことで、今日はここまで。お、もしかして、あと2ステージで終わり? 終わったらコンダラ引きに復帰だな。
2000-01-06(木) [長年日記]
■ パーティション
4日の日記を読んだうちのメンバーから、「増設ディスクのパーティションを拡張区画にするのはDOS時代からの基本ですよ」と突っ込まれてしまった。そうか、基本なのか。そんな、直感からはずれた基本はクソ喰らえだと思うが、どうか。そもそもおれは、AT互換機を使うようになってから増設ディスクはみんなNTFSでフォーマットして、NTからしか使ったことがないから、そんな事態にお目にかかったことはないのだ。ドライブレターという悪習をひきずってることを除いて、NTはまともなOSだったよな、としみじみ思う(いや、他にもいろいろあるか[笑])。W2Kからはmountのような概念も導入されたようだし、UNIXのような単一ツリーを作ることも可能になったみたい。なんにせよ、Windows95のあたりでドライブレターなんて概念からはおさらばすべきだったのだよ、Microsoftは。バカめが。
■ OpFor
OpForはEasyを完了。あー、面白かった。最後の方は、全身タイツ隊にたった一人で立ち向かわなくちゃならなくて、泣きながらだったけど。ボス面に命の泉が湧いていてよかったよ、ホント。状況に応じて使う武器のチョイスが重要になるところがQuakeよりもリアルで好きなHalf Lifeなんだけど、OpForはロケットを使う場面が少なくてちょっと残念。でもHL本編よりも短くて、やってて飽きが来ないのはいいかも。とりあえずOpFor日記(笑)はここでいったん休止して(しばらくしたらDifficultモードで再チャレンジ)、コンダラ引きに戻らなくては。でも明日は、以前使っていたPentium 166MHz機の嫁入り先が決まったので掃除もしなければ。
2000-01-10(月) [長年日記]
■ えっらい久しぶりにLinuxを立ち上げたような(笑)。こんなことでいいのか。まぁ、いいか。古いマシンは嫁に出したので、これでデスクトップにはこのLinuxマシンと、こないだ組んだゲーム専用機ことWindows98マシン。今後の目標は、現在ゲーム専用機でしかたなくやっているゲーム以外のことを可能な限りLinuxに移行することだ。まずはメールをちゃんとやろう。
■ samba
……と思ったけど、Windowsからアクセスできずにいるsambaの設定を見直す。Linux側からWindows側の資源はちゃんと見える。Linuxから、自マシンの資源も見える。でも、WindowsからLinuxの資源は見えない。マシン名もブラウズできないし、公開している資源も見えない。パスワードの暗号化の問題かと思って暗号化をNoにしてみたけどこれもダメ。うーん、何が悪いんだろう。Vineでは見えていたように記憶しているのだが。そういえばLinux Magazineに「sambaと闘う」って連載があったことを思い出して読み返してみるが、あまり参考になりそうな話が出ていない。ただ、最初の動作チェック時にsmbclient
の実行をするところで、ちょっと変なことに気がついた。雑誌の例に出ている出力は、マシンのIPアドレスが本来設定されているプライベートアドレスが表示されているのに、このマシン(spc15)でやるとlocalhostのアドレスである127.0.0.1が出ている。ははぁん、と思って/etc/hosts
を見ていると、spc15
のエントリーが127.0.0.1と192.168.0.3のニヶ所にある。これか。ためしに127.0.0.1
のエントリーを削除し見ると案の定、つながった!! そーかー、名前が解決できていなかったんだ。前に/etc/hosts
をいじった時に、変なことをしちゃったんだな。SMBをTCP/IP経由で使うときにはこのあたりに注意しないといけないのであった。うーん大ポカだ。でも素人には絶対に気がつかない原因でもあるよなぁ。やれやれ。
■ bind
さて、起動時にsendmail
がDNSを探しに行くのがたまらんので、次はbind
の設定だ。Webで検索してみて、ここがわかりやすそうだったので教科書にする。うちはISDNルータでDHCPを運用しているけど、DNSにするにはそのままにするわけにはいかないだろう。ということで、まずはこのマシンを固定IPアドレスに変更しなければならない。とは言っても現在使っているIPアドレスをそのまま使うことにして、MACアドレスをDHCPサーバに予約することでアドレスが変わることを抑止しよう。このあたりはlinuxconf
でてけとーに変更できた、と思う。
続いてbind
の設定は、教科書を参考に、ドメイン名をtada、IPアドレスを192.168.0.xxxに読み変えて設定する。各種ファイルの作成が終ったら、/usr/sbin/named
を実行すればDNSが動き出す。動作のチェックはnslookup
コマンドで:
$ nslookup *** Can't find server name for address 192.168.0.3: Server faild *** Default servers are not available
■ あれ? 変だなぁ。設定を見直して、どこも間違っていないことを確認する。ためしにrebootしてみたら、いつものsendmail
のタイムアウト待ちはなくなった(これはめでたしめでたし)。でもnalookup
は同じメッセージを吐く。しかも、外部のマシンが見えなくなっちゃったので、Webを参照することもできない。ふがーっ。なんでやねーん。
しかたがないのでWindowsを立ち上げて、Linuxにはtelnet
でアクセスしながら色々いじる。あっ。なんだ? linuxconfで何かいじった拍子に、/etc/named.conf
がぐちゃぐちゃに(泣)。いまさらながらman named.conf
を見てみると、なんと、vetsion 8からnamed.conf
のフォーマットが変わっているだと。やられたぜ。教科書の説明はversion 4だもんなぁ。で、コンバータがあるそうなので、こんな感じに変換する:
$ cd /etc $ mv named.conf named.4.conf $ named-bootconf < named.4.conf > named.conf
■ これで改めてnslookup
を実行。やった、ちゃんと名前が引けてるぅ。外部の(forwardする)DNSの指定を、プロバイダのものを指定していたせいで外部の名前が引けなくなっていたが、これはISDNルータのアドレスに変更して解決。やったぜ。
■ いやー、今日はやろうと思ってたことが全部できたねぇ。毎日こうだといいねー(笑)。
2000-01-11(火) [長年日記]
■ fetchmail
さて、今日はメールを受信しよう。この日のために、FreeMailに実験用のアカウントを用意しておいたわけよ。今日の教科書はここ。昨日はbindのバージョンが違って痛い目にあったけど、今日は(たぶん)大丈夫(笑)。用意したアカウントは++++++++@mizar.freemail.ne.jpなので、設定ファイルである.fetchmailrc
は以下のようになる。*******はパスワード。マルチユーザで使うなら書くべきじゃないだろうけど、このマシンはおれ専用なので問題ないだろう。
defaults protocol pop3 user ++++++++ poll mizar.freemail.ne.jp pass ********
■ このファイルを$HOME
に置いて、/usr/bin/fetchmail
を実行するだけ。
$ fetchmail File /home/sho/.fetchmailrc must have no more than -rwx--x--- (0710) permissions.
■ おぉぅ。怒られてしまった。セキュリティ対策ですな。
$ chmod 0710 .fetchmailrc $ fetchmail 1 message for ++++++++ at mizar.freemail.ne.jp (1090 octets). reading message 1 of 1 (1090 octets) . flushed
■ 試しにNetscape Mailで読みだしてみる。よし、ちゃんと届いてるぞ、と。あとはいつも使ってる設定を.fetchmailrc
に書き加えるだけで、Linuxで受信できるって寸法だ。まぁ、それはもう少しあとだけど(だってまだメール出せないからね)。
教科書のsendmailのところを読んでいたら、daemonとしてではなく、inetd
経由でsendmail
を動かす方法が書いてあった。ふむ。これはいいかも知んない。このサイトはslackwareをネタにしているので、Kondaraには合わないところもあるけど、なんとかなりそうなので、ついでに挑戦しておこう。まず、sendmail
をdaemonとして起動させない方法は、linuxconf
を使えばいい。/etc/inetd.conf
の編集はまったく同じ。sendmail
を殺して、inetd
にHUPを送るのも同じでいい。ただし、Kondaraを使っている場合は/var/run
にあるファイルを使ってプロセスIDを得た方がカッコイイ(笑)。SMTPポートへtelnetしての動作確認、fetchmail
によるメール受信も成功したので、大丈夫でしょう。あとはメールの送信か。あぁ、sendmail.cf
。やりたくねぇなぁ、これだけは。
それはまぁ、明日にしようと思って、メーラをうだうだいじっていたら、重大なことに気がついた。フォルダが階層的に作れないのだ。例えばメーリングリストのメールを分類しようと思って、ML
というフォルダを作る。その下に例えばruby
というフォルダを掘ろうとすると、「すでにML
というファイルがあるよ〜ん」という(意味の)メッセージが出る。そりゃそうだ。IMAPの「フォルダ」はそのフォルダに入っているメールをすべて集めた単一のファイルなので、その下にフォルダを掘ろうとしたらML/ruby
というファイルを作らないといけない。でも、ML
というファイルはすでにあるから、同じ名前のディレクトリなんて掘れるわけがないのだ。はて、これはいったいどうすればいいのじゃ? 試しにML
というファイル(フォルダ)は削除して、新規にML/ruby
というフォルダを作ってみた。つまり最初から階層構造を意識した指定をしたわけ。そしたらできた。でもさぁ、これだとML
にはメールを整理できないんだよね。それに、あとから階層を深くしたいと思った時もダメ。なんだこの仕様。ダメじゃん。時おり見かけるMH
形式ってヤツを試してみろってことかな。ふむん。ちょっと調べてみよう。
2000-01-12(水) [長年日記]
■ Maildir
昨日判明したimapサーバのひどい仕様(?)がどうにも許せないので、メール管理方法を変えようと思い立った。Maildir形式ってヤツだ(昨日MHとか言ってたのは嘘)。この形式はメール1通を1ファイルに、1フォルダを1ディレクトリに対応させる直観的でわかりやすい形式で、メールのロスト等の問題が少ないとされている。ただ、以前WindowsでAL-Mailを使っていたときに似たような管理方式だったんだけど、ファイルの数がやたらと増えるのでディスクを食いまくるのと、ファイルのオープン/クローズはコストがかかるので、検索なんて処理をさせるとmbox形式を使っているメーラに比べて遅かった記憶がある。ただ、いずれメールはNamazuを使って検索対象にしようと思っているので、1メールが1ファイルになっているのは都合がいい。
■ qmail
となると、Maildir形式に対応したMTAを用意する必要がある。この形式の祖と言える(嘘かも)、qmailしかない。さっそくqmail関連のサイトを検索してお勉強。そうだ、IMAPもMaildir形式に対応しているものにしないといけないんだよ。大丈夫かなぁ。ちなみにいずれもKondara製のパッケージのない世界である。Maildirを推奨してるんなら、qmailくらい入れといてくださいよぅ、とほほるさん。しっかしなんか、ずんずん地雷原に足を踏み入れてるような気がするぞ……。まぁ、sendmail.cf
の悪夢から逃れられるならそれだけの価値はあるかも?!(自分に言い聞かせている)
qmailはバイナリ配布を禁じているらしく、一発インストール可能なRPMは見つからない。どうにかqmail-1.03-102memphis.src.rpm
というのを見つけた。ちなみに今日の教科書はここかな。rootになって、
# rpm --rebuild qmail-1.03-102memphis.src.rpm # cd /usr/src/redhat/RPMS # ls qmail-1.03-102memphis.i386.rpm
■ てな感じで、src.rpm
からi386.rpm
が作れる。Kondara的にはi586で作るべきなのかな。まぁ、specファイルの書き方を勉強していずれ作ってみることにしよう。
続いて、同居はできないsendmailのパッケージを消す。
# rpm -e sendmail
■ 続いてqmailをインストール。
# rpm -ivh qmail-1.03-102memphis.i386.rpm qmail ################################################## Your fully qualified host name is spc15.tada. Putting spc15.tada into control/me... Putting spc15.tada into control/defaultdomain... Putting spc15.tada into control/plusdomain... Putting spc15.tada into control/locals... Putting spc15.tada into control/rcpthosts... Now qmail will refuse to accept SMTP messages except to spc15.tada. Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
■ いいのかな? エラーらしきものはないけど。教科書には他にもいろいろ入れているけど、rpmファイルの中身を見たら必要そうには見えなかったので(うちはセキュリティ気にしなくていいから)、あえて入れずにこのまま進む。続いては、inetd
でqmail-smtpd
(SMTPサーバ)が起動されるようにするのだ。/etc/inetd.conf
を開いて、昨日設定したsmtpの所を以下のように変更:
smtp stream tcp nowait qmaild /usr/sbin/tcpd /var/qmail/bin/qmail-smtpd
■ rootじゃなくてqmaildの権限で起動するのがqmailのqmailたる部分なのだろうな。たぶん。ためしにtelnet
でSMTPにアクセスしてみる。
$ telnet spc15 smtp Trying 192.168.0.3... Connected to spc15.tada. Escape character is '^]'. 220 spc15.tada ESMTP quit 221 spc15.tada Connection closed by foreign host.
■ おっけー。さて、さっきの教科書にはなんか他にもいろいろ入れてるんだけど、こんなに必要なのかなぁ。ためしにfetchmail
してみようか。
$ fetchmail 33 messages for ++++++++ at mizar.freemail.ne.jp (98182 octets). reading message 1 of 33 (2336 octets) .fetchmail: can't even send to sho! fetchmail: SMTP transaction error while fetching from mizar.freemail.ne.jp fetchmail: Query status=10
■ ああっ、ダメだ(笑)。きっと一緒に協調して動くべきdaemonが他にいるんだな。うーん、今日はここまで。
2000-01-13(木) [長年日記]
■ qmail
勢いに任せた昨夜の行動を反省して(笑)、ちゃんとマニュアルを読んで作業をすることにしました。本家のページにはちゃんと邦訳されたインストールやセッティングの手引きがあるので、これを順序よく読んでいけばちゃんと動くようにできるはず。ただ、作者のポリシーからか、ソースからインストールする以外の手段がほとんど書かれていないので、rpmの呪縛に囚われちゃった人は昨日教科書にしたようなサイトを参考に入れるしかないのだよ。たしかにマニュアル読みながら一歩一歩進むのはいい勉強になりますが。それにしても、本家以外のサイトでは「qmailは簡単!」ってあおり文句がやたらと目に付くのに、本家の方ではメール管理をなめるなとばかりに脅し文句が羅列されていて、落差にビビること請け合い。まぁ、メール配送の仕組みやSMTP、メールヘッダの情報についてある程度前提知識がないとqmailの設定はできないと思う。それは確かだけど、sendmailも同じだわな。おれと同じような環境の人向けに、controlのファイルを数カ所直すだけで運用が始められるバイナリパッケージはあったら嬉しいんじゃないの、やっぱし。
さて、参考にするのは付属文書一覧にあるINSTALL
という文書である。おっとその前に、昨夜の教科書にあった残りのパッケージは全部入れてしまいましょう。このへんはもう、思考停止(笑)。これをやっておくと、daemonの起動は勝手に設定されるし、linuxconf
で見えるようになるし、/etc/inetd.conf
のsmtp
のところはちゃんとコメントにしてくれたりして、INSTALL
に書いてある設定作業のほとんどは完了した状態にしてくれることがわかる。ありがたや。でもドキュメントはひととおり目を通すこと。
しかしqmailの作者って、ちょっと変かも。キューをネットワークで共有させてはいけないからと言って、なんでもかんでも/var/qmail
に入れてしまう(実行ファイルどころかmanファイルまで!)というのはやりすぎではないのか。あたしゃ、どうやってmanを読めばいいのかわからんよ(笑)。キューだけ/var/qmail
に置けばいいのにね。
それはさておき、rpmのおかげでほとんど何も触らずに配送テストTEST.deliver
まで来ることができる。4つのdaemonもちゃんと動いていることを確認したら、おもむろにローカル配信のテスト。
$ echo to: sho | /var/qmail/bin/qmail-inject
■ とやってみて、自分の~/Maildir/new/
に新しいファイルができていることを確認できるはず。中身を見れば、純然たる自分宛のメールである。ちょっと感動。その他の外部やエラーになるアドレスの配送もテストして、うまくいくことを確認する。OK。
続いてはsendmailの置き換えのところだけど、これは昨日やっちゃったのでパス。qmailの提供するsendmailに置き換えてしまえば、/bin/mail
はそのままでいいだろう(たぶん)。ちなみにこの置き換えもrpmがやってくれてあります。お次はTEST.receive
で受信のテスト。ここではtelnetでqmail-smtpd
に接続して生SMTPを喋るという、なかなか楽しいテストである。送受信先として指定するアドレスは、いちおうcontrol/me
にspc15.tada
と書いたのでそれに準じてsho@spc15.tada
とした。ところがこれが失敗で(泣)。相手のSMTPサーバが「spc15.tadaなんてドメインは実在しねぇだろ、こら」なんて言ってはじいてしまう。あたりまえだ。SMTPを喋るときに、MAIL
やRCPT
で実在するドメイン付加するようにしてもわらねばならん。エンベロープの問題なので、メールヘッダのFromに書いても無駄だしね。
qmail-control
に、/var/qmail/control/
配下にある各種ファイルの設定方法が書いてあるので読んでみる。怪しいのはdefaultdomain
かdefaulthost
かな。qmailはユーザ名のsho
だけを使ってるだろう(つまりホスト名は補っていないだろう)と予測して、defaulthost
にspc.gr.jp
を指定した。自分のアカウントがあるドメイン名なんだから、騙ってることにはなるまい。もう一度チャレンジしてみたら、こんどは実験成功。ちゃんと~/Maildir/new/
に新しいファイルが加わっている。ああ、よかった。
■ fetchmail
これで設定は完了した「はず」なので、fetchmail
を使ってfreemail.ne.jpのアカウントからメールを持ってきてみる。何も考えずに実行したら、昨夜と違って順調に受信している模様。よしよし……と思ったら、メールは届いていない。あれれ? ログ(/var/log/qmail/
の下あたりにある。syslog
に出るって書いてあるんだけど、どうやって見るのかわかんねーっす)を見ると、sho@localhost
に送れないからダメとか言って、送信者にfailure notice
なんてSubjectのメールが返ってるじゃないの。あうあう。この場を借りてお詫びします。すんません。
さて。localhost
なんてドメインへの配送は認めていないってことだろうな、というのは容易に想像がつく。ユーザ名に@localhost
を付けた犯人はおそらくfetchmail
だろう。とすれば、qmailでlocalhost
への配送を許すか、fetchmail
が付けるドメイン名をspc15.tada
に変えるかのいずれかの対応をとればいい……と思う。qmailのマニュアルを読んでいて、「.(ドット)」を含まないアドレスへの配送はしないなんて文章を読んだ記憶があるので、fetchmail
側で対応するのが楽そう。fetchmail
のマニュアルを探すと、-D
オプションてのがある。これだな。オプション与えるのは面倒だから、設定ファイルに書いておく方法もあるはずだと探すと、smtpaddress
ってのがあった。これでしょう。いままで使っていた~/.fetchmailrc
を書き換えて、
defaults protocol pop3 smtpaddress spc15.tada user ++++++++ poll mizar.freemail.ne.jp pass ********
■ とする。テストのために自分に1通出してから(これはqmail-inject
が使える♪)、ふたたびfetchmail
を起動する。
$ fetchmail 1 message for ++++++++ at mizar.freemail.ne.jp (1090 octets). reading message 1 of 1 (1090 octets) . flushed
■ こんどは成功♪ やったね。これでメール配送のインフラは完了かな。次はクライアントのためにIMAPをなんとかせねばいけない。また明日。
2000-01-14(金) [長年日記]
■ Courier-IMAP
qmailによるMTAが実現したので、次はメールの読み書きに使うIMAPをMaildir形式に対応させる必要がある。この話題へのリンクもqmailの本家にあって、いろいろ読んでみた。IMAPに関する記述は少ない上に、IMAP-4.1へのリンクは切れていた。でも、わざわざMaildirの「ために」作られたIMAPサーバであるCourier-IMAPというサーバがあることがわかった。いいじゃんいいじゃ〜ん。mbox対応のサーバをわざわざパッチ当てて拡張するくらいなら、最初からMaildirのために作られたサーバ使う方がスマートじゃん。それにrpmのパッケージも置いてあるし。
さっそく拾って来てインストール。あとはマニュアルを頭からじっくりと読む。その途中、別のディレクトリにあるmanページを読む方法がわかる(笑)。なるほど、MANPATH環境変数を追加すればいいのね。昨日わからなかったqmailのmanも追加しておこう。しかしなんだ、マニュアルは英語の方が熱心に読むような気がする。日本語だとさらっと流し読みできちゃうけど、英語だと一言一区読み漏らすまいとしてがんばるもんなぁ。
……とか言ってるはしから、userdb
の話は良くわからないので飛ばす(笑)。たぶんユーザ間で共有するフォルダとかそのへんの話でしょう。IMAPは共有フォルダを使ってNetNewsみたいなこともできるらしいから。クライアントの設定のところにNetscape Communicatorの例が出てたので(助かるねぇ)、それを参考にメーラーの設定をして、最初のトライ。昨夜受信したメールがちゃんと読めている。試しに1通出してから、fetchmail
で受信して、新しいメールが届いていることも確認できた。実はちょっとエラーが出たけど、どうもNetscapeには問題があるらしいことがドキュメントに延々と書かれているので、そういうものなのかも知れない。まぁ、いつまでもNetscape使い続けるつもりはないからいいんだけど。メーラーを途中で乗り換えてもなんの問題もないのがIMAPのいいところだしね。つーわけで、次はメーラーの選択をしないといけないかな。いやいや、その前にWebをなんとかしよう。Apacheをちゃんと動かさないと、自分のサイトのメンテもできない。
2000-01-15(土) [長年日記]
■ お休み
今日はエグザスに行ったり、ビデオを借りて来たりしたのでコンダラ引きはお休みです。ちなみにビデオは「クレヨンしんちゃん 爆発! 温泉わくわく大決戦」(笑)。ある筋に勧められて観たんだけど、これ、子どもにせがまれて映画館について行った親の方が喜んでしまうという怪作だ。平成ガメラに影響を受けつつ怪獣映画の徹底したパロディをやってくれる。まぁ、昭和30年代生まれなら観ても損はない。つーか、子ども向け映画でこんなに子どもをおいてけぼりにしちゃっていいのか(笑)。
2000-01-16(日) [長年日記]
■ Netscape Messenger
メール環境をいじくっている。そろそろテスト用アカウントじゃなくて、普段のアカウントからメールを取って来てもいい頃かも知れない。Windows用のNetscapeからも読めることを確認したので、これでいちおうどこからでも読めるはず。ただ、Linux上のNetscapeとWindows用のNetscapeでは、同じ4.7でも動作がけっこう違ったりして混乱すること多し。たとえば、Windowsから作ったフォルダにはサブフォルダが作れないとか(謎)。キーボードからの操作が難しいことを除けば、Linux用の方が使えるというのはかなり珍しいことなんじゃないか。
■ SGmail
とはいえ、けっこうアレだなぁ、とも思うので(メール書いてる途中でよく落ちるし)、他も試してみよう。まずは最有力候補のSGmail。RubyとGTK+で書かれたGUIなIMAP対応メーラである。さっそく最新の3.13をGETして、付属の簡易マニュアルを参考にしながらインストール。Rubyは最新の1.4.3を必要としているので、KondaraのSnapshotから持って来て入れ換えた。さて実行。あり、INBOXしか見えない。しかもさっきNetscapeで消したはずのファイルが見えてる。なんか変だな。3.xにはまだマニュアルがないので、2.x用のオンラインマニュアルをざっと見てみるが、とくに記述はない模様。本気で使おうと思ったらMLに入るなり、自分でほげるなりしないとあかんだろうな。プロトコルレベルではメールボックスの構造なんて見えないはずのIMAPでこう動作が違ってくれちゃったら困るなぁ。どうしたものやら。いちおうメーリングリストには入っておこう。誰か何か知ってるかも知れないし。
■ 他……
他にIMAPが使えそうなメーラと言えば、CUIなmuttか、Emacs系のWanderlustってところか。せっかくだからGUIにしたいし、Emacsは嫌いだし。さーて、困った。当面はNetscaeでいいとしても、なんとかしないとな。自作という究極の選択肢もあるにはあるが(笑)、それじゃメーラ選択の幅を広げるつもりで導入したIMAPの意味がないっつーの。まぁそれも一興だが。とりあえず、一覧で日本語Subjectが読めない点とときどき落ちる点を我慢して(それってすごい我慢のような……)、Netscapeで完全移行してみるか。いつまでもWindowsに頼るのもイヤだし。
■ そんなことより、メーラいじってたらApacheの設定見直しができなかったじゃないか。とほほ。
2000-01-17(月) [長年日記]
■ SGmail
今日はあまり時間が取れなかったので、SGmailのMLに質問を投げておわり。作者の鴫原さんに直接対応していただく。IMAPサーバにtelnetで接続して、Listコマンドの出力を取り出して送る。Netscapeで整理したフォルダの一覧が出ちゃうので、趣味がバレバレなのが恥ずかしいかもしんない。でも、これでわかるといいなぁ。会社でUNIXマガジンに載ってたIMAPの記事を読み返そうと思ったら、先月号が手元になくてなにもできなかったし(笑)。捜し出しておかなくては。
■ zip100
そうそう、趣味のWebサイトの更新を再開する第一歩として、データを入れてあるzipドライブを使えるようになった。これも今日の進展。まず、dmesg
で起動時のメッセージを見て(こういう知識がだいぶ増えてきた)、SCSIデバイスの認識をしているところを探す。こんな感じ。
Vendor: IOMEGA Model: ZIP 100 Rev: D.09 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi removable disk sda at scsi0, channel 0, id 5, lun 0
■ こんな場合、zipのデバイスはsda4
につながっているので、mount
の書式は以下のようになる。
mount -t vfat /dev/sda4 /mnt/zip
■ sda4
なんて覚えてらんないので、/dev/cdrom
にならって/dev/zip
にシンボリックリンクを貼り、さらに楽をするために/etc/fstab
に以下の1行を追加しておく。
/dev/zip /mnt/zip vfat noauto,users 0 0
■ これで簡単にmount
できるようになった。automount
も試してみたんだけど、ファイルのパーミッションが全部root
からしか書き込めなくなっちゃったので挫折(笑)。たぶん回避方法はあると思うけど、zipくらい手動でmount
してもよかろう。あとの問題は、SJISをまともに編集できるエディタだなぁ。日本語化vim
を自分でビルドして入れちゃおうか。
■ Canna
それから新たな問題を発見。canna
に単語登録ができなくなっちゃった(泣)。最後にuser辞書を選択したところで登録に失敗してしまう。こないだまでできてたはずなんだけど。変だなぁ。もしかして、キーバインドをVJEにした時に何かミスったか?
2000-01-19(水) [長年日記]
■ SGmail
忙しくてなかなか進みませんな。SGmailの問題は昨日のうちに解決策がもらえて、無事にフォルダ(つーかIMAP用語的にはメールボックス)の一覧が得られた。わーい。しかし、添付ファイルがついてるメールが入ったフォルダを開くと返って来ない。--debug
をつけて実行してみると、MIME BODYを取得しているところで無限ループに入っているのがわかった。どうやらCourier-IMAPはMIME BODYの最後のパートをサイズゼロで返すらしい、ということがSGmailのソースを見てわかったので、ちょこっとパッチを当ててみたらこれが正解。やっぱRubyで書かれてると修正が楽でいいわ〜。差分をMLに投げておく。採用されたらいいな。
もう1件問題がある。わざわざMaildir形式にした最大の理由である、フォルダ内のメールとサブフォルダ共存である。これができないとメールの整理にすごく制約が出るので、これができないメーラは使えない。これはちょっとどこを見ればいいのかわからなかったので、問題点だけ報告しておく。……というわけで、まだNetscapeに頼っているのであった。自動振り分けとか、キーボードによる操作とか、SGmailではちょっとアレな部分もNetscapeではできるので、なかなかSGmailを常用できない。でも、フォルダを操作すると終了時にバスエラーで死ぬのだけは困るんだが >Netscape
Windowsでは最高のメーラ(だと個人的に思っている)Becky!を使っていたので、不満はなかなかなくならないだろう。自作するという選択肢が自分の中でむくむくと頭をもたげてきて困る(笑)。暇ないのになー。
■ CD-ROM
さて、今日は小技。一昨日は、zipだけでなくSCSI接続された32倍速CD-ROM(/dev/scd0
)もmountできるようにしたんだけど、いちいちキータイプするのが面倒な時のために、デスクトップにアイコンを作っておこう。KDEにはデスクトップで右クリックすると出てくる新規作成メニューの中に「ファイルシステムデバイス」というのがあるので、利用できる。ここで「デバイス」に「/dev/cdrom
」なんて指定しておくと、クリックするだけでmount
してkfm
を開いてくれる。便利でやんす。
ただし、/dev/cdrom
は/dev/hdc
のシンボリックリンクなんだけど、メニューからumount
しようとすると「/dev/hdc
はfstab
にないからumount
できない」みたいなことが言われてしまう。ちょっと納得できないが、しょうがないので/etc/fstab
にそれぞれのデバイスの実体(うちの場合は/dev/hdc
(ATAPI CD-ROM)、/dev/scd0
(SCSI CD-ROM)、/dev/sda4
(zip))を追加することで使いものになるようになる。
2000-01-22(土) [長年日記]
■ 風邪
インフルエンザかただの風邪かわからんけど、とにかく風邪を引いて2日丸々ベッドから出られない。咳が止まらなくて、ずっと微熱が続いている。同僚の症状を見る限りでは、このあと腹に来るらしいんだけどね、今年の風邪は。それはちょっと勘弁プリーズ。
■ Windowsからメール
で、これはチャンス(笑)と思って、ベッドに持ち込んだLet's Note miniからメールを読もうという。転んでもたたでは起きませんぜ。たわけたことにこのmini君はOSがまだWindows95なもんで、できることならこいつもLinuxにしちまいたいんだが、仕事の関係でそれは困る。てことで、WindowsのままLinuxにあるメールを読もうと。メーラーはWindowsでIMAPと言ったらこれしかないでしょう、のWinbiff。以前使ってたことがあるんだけど(まだIMAPなんて対応してなかった)、改めて最新版を入手して入れてみる。気に入ったら3000円なので、まぁ、買っちゃってもいいでしょう。
最初、フォルダの一覧は出るがメールの一覧が出なくて焦る。あ、インストールの話は書きません、今日びのWindowsソフトでインストールではまるなんてことはまずないですから。で、オプションを探し回ってみると古いバージョンのUWサーバを使っているなんて項目がある。これで見えるようになった。そうか、Courierって、ちょっと古い規約に沿ってるのかも。それから、長いメールを受信できないという問題もあったけど、これも同じくオプションで、BODYSTRUCTUREというのを使わないようにするというのがあったのでこれを入れたらOKになった。きっとCourierでいろいろ起きてる問題はみんなこのへんに起因してるんだな、きっと。みんな、もっと古い規約にも従ってくれよぅ。
あとの問題は、メールが出せない(笑)。これはもう、間違いなくqmailの設定ミスで、control/rcpthosts
あたりの書き方が悪いんだろう。これはちょっとあとで研究するとする。当面はSMTPサーバをプロバイダのものにすればいいんだからね。というわけで、めでたくベッドの中でメールの読み書きができるようになりましたとさ。しかし不毛なのが、メールの振り分けはメーラーごとだってことだな。こういうのもIMAPのプロトコルに入れちゃえばいいのに。これはいずれ、qmailの方でなんとかしてしまおうと思ってるけど。でも有名なprocmailはMaildirに対応してないような気がする。自作すっか。そんなに難しいものでもないしな。
しかし、telnetでKondaraに入ってこの日記を書いてるんだけど、日本語に対応してないよ、このtelnetサーバ(?)。カーソルの移動が1バイトずつだし、行の折り返しに日本語が入ると化けバケになるし。まいったねぇ。って、sambaが入ってんだから、Windows側で秀丸使って書いたらええやん。アホかおれは。
2000-01-23(日) [長年日記]
■ 熱が下がらぬ……。よって今日もベッドの中から。でもPCに触ってると体調がいいような気がする(笑)。
■ Windowsからメール
さて、ちゃんとメールが出せるようにしよう。自分のネットワークにあるマシンからSMTPでメールが出せないのは、qmail-smtpd
の設定がまずいのだろうということまでは容易に想像がつく。昨日疑ったcontrol/rcpthosts
は、SMTPのRCPT TOコマンドに入力されるアドレスが指定したものでない場合にはじく仕組みで、ようするにSPAMのようなメールを配送する踏み台にされないための設定なんだな。自分のマシンに対する配送はRCPT TOに〜@spc15.tada
とか〜@localhost
なんて指定をすればいいので、fetchmail
が配送にqmail-smtpd
を使えるのはしごく当然(control/rcpthosts
にもこの2つのホスト名を書いてあるし。localhost
は意味ないみたいだけど)。
さて、LAN上にあるマシンからこのSMTPサーバに他のドメインへのメールの配送を頼もうと思ったらどうすればいいのか。RCPT TOには必ず宛先のアドレスを指定しなければいけないし、かといって誰に出すことになるのかわからないメールなのにあらかじめ宛先のホスト一覧をcontrol/rcpthosts
に書いておくことは不可能だ。原典をあたろう、と思って、qmailのサイトを見ていたら、FAQに「特定のクライアントだけにリレーとして使わせたい」という項目があった。以前も読んでいたところだけど、そうか、そういう意味なのか。
さっそくFAQを読みながら設定を試みる。ようするにLAN上にある192.168.0.*というアドレスを持ったマシンからの接続を許可するようにすればいいのだな。RPMを使ってお任せで入れたおかげでtcpserver
を使うようになっていたので、/etc/tcp.smtp
の代わりに/etc/tcprules.d/qmail-smtpd
を書き換えること、それからtcprules
コマンドを使って/etc/tcprules.d/qmail-smtpd.cdb
ファイルを更新するのを忘れないことさえ気をつければ簡単。qmail-smtpd
を再起動して、miniから再挑戦、成功。やったぜ。
2000-01-24(月) [長年日記]
■ まだ会社休んでたりして。いやー、ぜんぜん熱が下がらないわ。かみさんにまでうつしちゃったので、今日は二人して休み。もっともこっちはほとんど治りかけ(だと信じたい)ので、家事などやってはいるのだが。明日は出社しないわけにはいくまい。
■ GIMP
てなわけで、今日はあまりコンダラ引いてません。zipドライブがmountできたおかげでWebの更新ができるようになったので、カブのページのメンバーリストを更新する。MLのメンバーから送られてきた自己紹介メールから写真を抜きだしてトリミングしたりするのに、フォトレタッチソフトが必要だ。WindowsではPaint Shop Proを使っていたんだけど、Linuxではあれでしょ、GIMPしかないらしいじゃないの(偏見?)。Kondaraにも当然GIMPは入っているので、ファイルに落したJPEGファイルを指定してgimp
を実行した。
えっらい品のないスプラッシュウィンドウのあとは、パレットと画像のウィンドウが別々に出た。ふうん。最初のヒントメッセージがメニューの出し方(右ボタン)というのは親切でいい。しかし、GIMPはオープンソース界のPhoto Shopを目指している(ホント?)というだけあって、機能が多くてなかなかやりたいことにたどり着くまでがたーいへん。トリミングして、縮小して、サイズを合わせて、アンシャープマスクをかけるだけで30分もかかってしまった。慣れればなんとか使えるかな。でも、トリミング以外の処理はキーボードだけでやりたいんだがね。どうしてXのソフトってのは、マウスでしか操作できないことが多いのだ? あんたら、曲がりなりにもUNIX生まれやろ。おっと、Script-Fuとやらを使えってツッコミはなしだぜ。おれはたんにメニューをキーボードから選びたいだけなんだから。
■ 憂オプ
それはさておき、なんとか更新完了。しかしなんだ、休んだおかげで、長いことほっといた憂オプこと「憂鬱なプログラマのためのオブジェクト指向開発講座」を読み進められたのはよかったかも。Mixinの概念が出てきてびっくりだ。あれはRubyで初めて出会った概念なのに、こんなところにもちゃんと書いてあるんだもんな。もちろん後に出たRuby本の方を先に読んじゃってるのが悪いんだが(笑)。
2000-01-25(火) [長年日記]
■ 月アス
月刊アスキーを読んでいたら、Linux通信だかのページでKondaraのことをけなしていて、ムカっとくる。お前ら、先月はずいぶんと持ち上げてたくせに、月が変わったとたんに手の平返すか。Kondaraのパッケージ買うヤツは、最初っからコンダラ引くつもりで買うんだっつーの。何もわかってねーくせに、偉そうに。仕返しにLinux Japanを買うのをやめようかと思ったけど、ALSAの話が出ていたので買ってしまった(笑)。でも来月から買わないからな。
■ サウンド
ALSAと言えば、ひょんなことからサウンドカードを1枚好きなのを買ってよいということになったので(謎)、SB Live! Valueを買ったのだ。ALSAで使えるらしいとどこかで読んだので。マシンに突っ込んで、自動認識されて、sndconfigで設定に失敗するところまでは(笑)やっておいたんだけど。Kondara-users MLでSB Live!が動かないだのなんだのって話が続いた時期があって、びびってます。もしかして、snap-shotのカーネルに入れ換えないと動かないなんてことあります? まぁ、今のところ音が出なくてもいいので、後回しにしてるんだけど。時が解決してくれるといいなぁ(ってをい)。
■ SGmail
SGmailをGtkモードで使っていると書いたら、鴫原さんに珍しがられてしまった。もともとTk上に作られてたものだから、まだユーザが少ないのか? もっとも「使っている」と言っても、振り分けと読むのはNetscapeだし、テンプレートを使った定型的な返信はWinbiffを使っているので、SGmailは手書きの返信にだけ使ってるというのが現状なんだけど(われながら変なことをしている。でも乗り換えの手間がないのは良いね)。やっぱキーボードだけでさくさく未読を処理できないと、なかなか常用メーラーにはできんのだわぁ。こうなったら、ちょっと修行を積んでRuby/Gtkを使いこなせるようになって開発に参加か。
■ Apache
でもその前にApache使えるようにするだよ。RuBBSのアップデートをするだよ。最優先だよ、まったく。
2000-01-30(日) [長年日記]
■ 忙しいだよ。ぜんぜん遊んでらんないだよ。
■ wwwoffle
というわけで、今日はwwwoffleだけ。ダイアルアップ環境でw3mを常用してると、つい数分前にアクセスしたばかりのページを表示するのにまたダイアルアップしてしまう場面が多い。キャッシュがないので当然なんだけど。で、どこかにcache proxyを入れないといけないなぁ、と考えていた。最初はApacheにproxy機能があるのでそれを使うつもりだったんだけど、最近ときどきwwwoffleというのがダイアルアップな環境では良いって話が聞こえてくる。
そんじゃ試してみようかな、と思っていたところ、UNIXマガジン(2000/2月号)にwwwoffleの話が出ていたので導入してみた。まずはRPMを探さないといけないんだけど、これまたKondaraには(snap shotにもZooにも)入ってないもよう。探してみると、ftp://contrib.redhat.com/
でwwwoffle-2.5b-1.i386.rpm
を発見できた。つーわけで、あとは例によってrootになってrpm -ivh
でインストール。daemonの設定も自動的に行われてらくちんぽん。設定ファイルは/etc/wwwoffle.conf
だけど、これも当面はいじる必要はなさそう。
/usr/sbin/wwwoffled
をroot権限で実行したあと、http://localhost:8080/
にアクセスしてみると、wwwoffleの設定が面画表示された。ちゃんと動いているようなので、ブラウザのproxyにlocalhostの8080ポートを設定する。ちなみにNetscapeの場合は自動設定が可能なので、http://localhost:8080/wwwoffle.pac
を指定することが可能。これはいいね、気が効いてる。初期状態ではオフラインモード(自前のキャッシュだけを使うモード)になっているのでどこへもアクセスできない。wwwoffle -online
を実行することでオンラインモードになるので、これで外部のページをキャッシュさせ、もういちど-offline
して、ISDNルータがオンラインになることなくそのページが表示されることを確認した。
さて、Linux上でPPPをさせている人はwwwoffleのオンライン/オフラインを連動させることが可能なんだけど、うちみたいにISDNルータを使っている場合はそうもいかない。Autodialモードと言ってキャッシュにないページは外部に取りにいくようなモードも選べるようなので、いずれ色々と試してみよう。とりあえず今日はここまで。