2007年7月31日火曜日

うなぎをたずねて三千米

土用の丑の日。



スーパーの閉店時間近くに行って、50%引きになったやつでも買って帰ろうと思ってたら、全部売り切れてました。



閉店時間間際すぎたのかもしれないですし、もしくは、店のほうで今年は中国うなぎ問題で需要減とよんで数が少なかったのかもしれません。



無いとわかると、絶対に食べなければならぬ、というへそ曲がり根性が!?



というわけで、こんな時間ですが、夜中までやってる別の店までいって、買ってきました。



200707301



これから遅い夕飯です。





自転車で行ったんですが、途中で、雨は降り出すし、雷も鳴り出すし、なんか、そこまでして、うなぎを食わねばならぬのか?!と疑問に思わなくも無かったです・・・



200707302

うひゃ~~~ でも、うなぎ!うなぎ!の図



2007年7月30日月曜日

(Windows XP) 「システム リソースが不足するため、API を終了できません」となって、ときどき休止状態にできなくなる問題 ~ RAMを増設するとそうなるらしい…

うちのパソコンの1台、Windows XP (MCE)なんですが、ときどき、休止状態にしようとしたときに、数秒後、こんなエラーメッセージがポップアップして、休止状態にできなくなることがあります。



200707291

Windows - システム エラー
システム リソースが不足するため、APIを終了できません。

このポップアップメッセージは、しばらくたつと消えてしまいますが、「コントロールパネル」の、「管理ツール」の中にある、「イベント ビューア」を使うと、こういうのが記録されています。



200707292



なんとなく経験的にわかっていたこと。



  • RAMをトータル3GBへ増設したときから、ときどき、このエラーが発生するようになった。(DDR2 1GB 2枚を衝動買い)


  • 一度このエラーが発生すると、休止状態にするためのメニューが無くなってしまい、休止状態にできなくなる。再起動すると、再び、休止状態のメニューが復活する。


  • かわりに「スタンバイ」ならできる。スタンバイの場合は、電気が少し流れているので(たしか5V系が給電されててRAMの内容が保存されてるはず)地球にやさしくない! もっとも休止状態にしていても、やっぱり少しは電気を使ってるけど。


  • なんとなく、いろんなアプリケーションを複数起動していると、このエラーが発生しやすくなる。


  • 外出するときや、VNCでリモートからパソコンを操作しているとき、休止状態にしたつもりが、実は、このエラーがでていて、休止状態になっておらず、帰宅したとき、パソコンの電源が入りっぱなしなことに気がつき、憂鬱になることがあった。

というわけで、このエラー、すごく嫌だったんですが、いろいろと忙しくて、ずっと見なかったことにしていました。・・・ですが、そろそろ我慢できなくなり、ネット検索・・・



おぅ!これかい?! すぐ見つかりました。



Windows XP Service Pack 2、Windows XP Tablet PC Edition 2005 または Windows XP Media Center Edition 2005 を実行するコンピュータで、休止状態にならず、エラー メッセージ "システム リソースが不足するため、API を終了できません" が表示されることがある
http://support.microsoft.com/kb/909095/ja



これによると



  • この問題が発生した場合、コンピュータを再起動しない限り、コンピュータで休止状態機能を使用することはできません。


  • この問題は、一般に、1 GB 以上の RAM を搭載しているコンピュータで発生します。


ということなので、だいたいそのとおりです。



更新プログラムもちゃんと提供されているじゃないですか。はやく対策すればよかったなぁ。

Windows XP 用の更新プログラム (KB909095) パッケージ
リリース日 : 2006 年 8 月 15 日

ダウンロードは上記で示したページからどうぞ)

firefoxでアクセスしてたら、なんかうざったいメッセージが表示されたので、Internet Explorerでアクセスしたほうがいいかもしれません(どっちみち、Genuine Advantageなんとかのチェックはうけますが)。



200707293


この更新プログラムをインストールしてしばらく経過しました。何度か休止状態にしていますが、今のところ、問題は起きていません。



Windows Updateで提供していないってことは、これによって、何か副作用が起きる可能性があるかも、っていう意味がこめられているじゃないか?とかんぐってしまいますが、今のところは、とくに困ったことは起きていません。





関係ないですが、いつのころからか、休止状態にして、電源が切れるまで、ものすごく時間がかかるようになったWindows 2000マシンがあります。3倍くらい遅くなりました。なんだかなぁ



2007年7月29日日曜日

あついな・・・ NHKも

20070728



暑い。
暑くて、何もできない。
さらに、パソコンから熱風が!
でも、今年もクーラーを使わないぞ。
今、部屋の温度は35度。



それにしても、電脳コイル、わけわかんなくておもしろいなぁ。

今日の、ヒゲ。こういうノリ、いいなあ。





NHKでは、今週の月曜7月23日から、2007 BS夏休みアニメ特選がはじまってます。

放送予定
http://www3.nhk.or.jp/anime/07summer/index.html

何度もテレビで放映してる、夏の定番「タッチ」とか、再放送とかが多いですね。



むしろ夏休みアニメ特選よりも、8月5日から8月12日までの

アニメギガ・スペシャル
とことん!押井守

が、なんかだすごいことになっていると思います。

http://www.nhk.or.jp/animegiga/oshii/



番組表
http://www.nhk.or.jp/animegiga/oshii/program.html



うぉぉ、「一発貫太くん」、見たいかも~!
おからおにぎり、食べたい~!



ほかにも、アニメ映画劇場では、明日7月29日は「APPLE SEED」(つやつやしたCGアニメのやつ)、8月26日には、劇場版の、「xxxHOLiC 真夏ノ夜ノ夢」 と「ツバサ・クロニクル 鳥カゴの国の姫君」など、NHKって、やたらアニメが多いですね。





ハードディスク・レコーダの空き容量を増やしておかないと。
今、残量が30分・・・



2007年7月28日土曜日

(FreeBSD) portsでwireshark-0.99.6がmakeできない ~ `libwireshark.la' に必要なターゲット `inet_pton.lo' を make するルールがありません. 中止.

しばらく前から、portupgradeでwiresharkをアップデートしようとしても、途中でエラーが出てアップデートできてなかったんですが、いづれportsが直るだろうと放置してました。だけど、wiresharkの0.99.5にはセキュリティアドバイザリが出てるぞと、portauditが毎日報告してくるので、やっぱりアップデートしなくちゃいけないかな、っと。



で、ふと気がつけば、いくつかあるFreeBSDマシンの中で、portupgradeで、0.99.6へアップデートできたマシンと、できなかったマシンがある。



・・・どうも、FreeBSD 5-STABLEのマシンだけ、makeの途中でエラーになっているっぽい感じがします。こんなエラーがでてます。



    then mv -f ".deps/libwireshark_la-xmlstub.Tpo" ".deps/libwireshark_la-xmlstub.Plo"; else rm -f ".deps/libwireshark_la-xmlstub.Tpo"; exit 1; fi
cc -DHAVE_CONFIG_H -I. -I. -I.. -I./.. -I./../tools/lemon -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/lib/include -DINET6 -O -pipe -Dfreebsd5 -DAPPLLIB_EXP=/usr/local/lib/perl5/5.8.8/BSDPAN -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -I/usr/local/lib/perl5/5.8.8/mach/CORE -I. -I/usr/local/include -I/usr/include -DINET6 "-D_U_=__attribute__((unused))" -O -pipe -funit-at-a-time -Wall -W -Wdeclaration-after-statement -Wendif-labels -Wpointer-arith -I/usr/local/include -D_THREAD_SAFE -D_REENTRANT -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/cairo -I/usr/local/include/pango-1.0 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/freetype2 -I/usr/local/lib/include -DINET6 -O -pipe -Dfreebsd5 -DAPPLLIB_EXP=/usr/local/lib/perl5/5.8.8/BSDPAN -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -I/usr/local/lib/perl5/5.8.8/mach/CORE -I. -I/usr/local/include -I/usr/include -MT libwireshark_la-xmlstub.lo -MD -MP -MF .deps/libwireshark_la-xmlstub.Tpo -c xmlstub.c  -fPIC -DPIC -o .libs/libwireshark_la-xmlstub.o
gmake[3]: *** `libwireshark.la' に必要なターゲット `inet_pton.lo' を make するルールがありません.  中止.








portupgrade wiresharkが始まった最初のころ、configure実行時のメッセージにヒントが?!





--->  Upgrading 'wireshark-0.99.5_3' to 'wireshark-0.99.6' (net/wireshark)
--->  Building '/usr/ports/net/wireshark'
===>  Cleaning for wireshark-0.99.6
===>  Found saved configuration for wireshark-0.99.4
===>  Extracting for wireshark-0.99.6
=> MD5 Checksum OK for wireshark-0.99.6.tar.bz2.
=> SHA256 Checksum OK for wireshark-0.99.6.tar.bz2.



  途中省略



checking for inet_aton... yes
checking for library containing inet_pton... none required
checking for broken inet_pton... broken



  以下省略


inet_ptonがbrokenだそうです。configureでやってるテスト内容をのぞいてみると、IPv6関係かな?と思ったのですが、よくわかんないから、まあいいことにします。
brokenなら、wiresharkが自前で用意しているinet_ptonがコンパイル、リンクされるっぽいです。



なお、FreeBSD 6-STABLEや、7-CURRENTの場合は、



checking for broken inet_pton... ok



となるみたいで、そのせいかビルドも成功しているみたい。





というわけで、OSが用意してくれているinet_ptonがbrokenらしいので、自前のinet_ptonを使うみたいなんですが、



gmake[3]: *** `libwireshark.la' に必要なターゲット `inet_pton.lo' を make するルールがありません.  中止.



となるように、なんかうまくいってないみたいです。



Makefileを見ても、すぐにはよくわかんなかったのですが、なんとなく思いつきで、portsで実際にコンパイル作業を行うディレクトリへ移動し、手でgmakeコマンドをたたいてみると、うまくできちゃいました。



# cd ...SOMEWHERE.../ports/net/wireshark/work/wireshark-0.99.6/
# gmake inet_pton.o
# gmake inet_pton.lo



これでうまくいくかと思えば、やっぱりだめ。
よーくログメッセージを見てみると



gmake[3]: *** `libwireshark.la' に必要なターゲット `inet_pton.lo' を make するルールがありません.  中止.
gmake[3]: ディレクトリ `...SOMEWHERE.../ports/net/wireshark/work/wireshark-0.99.6/epan' から出ます



ああ、ディレクトリが違う。epanという1レベル違うところでエラーがでてました。



というわけで、こんな具合にシンボリックリンクをはってやったところ、正常にビルドできました。



# cd epan
# ln -s ../inet_pton.lo
# ln -s ../inet_pton.o
# cd .libs/
# ln -s ../../.libs/inet_pton.o .



なぜこういう状況になってしまうのか、時間がなくて調べられなかったんですが、まあ、うまくいってしまった、ってことで。



2007年7月27日金曜日

五色まめろんぱん

20070726



まめろんぱん? どこで名前を区切っていいのか・・・



五色豆(ごしきまめ)というお菓子とは関係ないっぽい。



いっそのこと、枝豆、大豆、きなこ、納豆、味噌で、五色豆ってのはどうだろう。



一色じゃないかっ! って言いたいだけなんですが・・・





さらに、豆腐や醤油も入れて、七色豆に・・・


■ 過去記事





2007年7月26日木曜日

FreeBSDをNFSサーバにしてdiskless Linuxのブート ・・・ できなかったメモ

この前、FreeBSD 5-STABLEをファイルサーバにして、CentOS 5.0をネットワークブートさせようとしてて、どうしてもダメだったメモ。





こんな感じで、お膳立てをして、玉砕した。


  • CentOSを動かしたいディスクレスクライアントは、PXEブートできる


  • DHCPサーバは、FreeBSD 6.2-STABLEで、isc-dhcpd


  • ブートローダ(pxelinux)やカーネルなどのファイルは、FreeBSD 6.2-STABLEなマシンから、tftpでダウンロード


  • ルートファイルシステムは、FreeBSD 5.5-STABLEをNFSサーバとして、NFSマウントさせる。initrdは使わない


  • FreeBSD 6.2-STABLEと5.5-STABLEと、2台使っているけど、単にディスクがあまってるマシンが、5.5-STABLEのマシンだったからという理由


  • pxelinuxは、昔、debianやFedora Core 4などをネットワークインストールしたときのがあるので、それをそのまま使う


  • とりあえず、HDDにCentOSをインストールしておいてから、ファイルをすべて、FreeBSDのファイルサーバ上へdump & restoreしてコピー。/dev/などがコピーされてなくて、実はまずかったんだけど、ディスクレスなlinuxマシンが、そこらをアクセスするようになる以前の段階でエラーになっているため、とりあえず無視


  • Linuxカーネルを再構築して、ROOT_NFSという機能が組み込んだ。また、ネットワーク(NIC)のデバイスドライバも、モジュールにせずに、カーネルに組み込んだ


  • Linuxカーネルのブート中のログを見てると、DHCPでアドレスなどの情報を取得には成功しているが、ルートファイルシステムをマウントできずpanic。


  • NFSサーバ側で、showmountしてみると、マウントした痕跡は残っていた



tcpdumpしてみた。
Linuxが、ルートファイルシステムをNFSマウントしようとしてるところ。





2007072501



MOUNTは成功している。
そのあとに、STATFSというのを実行しようとしている。



STATFSのリクエスト



2007072502



STATFSのリプライ。







2007072503



replyは、denied。AUTH_ERRORとなっている。



リクエストに入ってた、AUTH_NULLというのが(詳しい意味はわかんないけど)、FreeBSD 5.5-STABEのNFSサーバで未対応なのではないか?という感じがする。



そう思った理由というのが、ファイルサーバを、CentOS 5.0なマシンに変更したところ、STATFSも成功しているから。



MOUNTして、STATFSしているところ。







2007072504



STATFSのリクエスト



2007072505



STATFSのリプライ。







2007072506



RPC executed successfullyとなってるし、ファイルシステムの情報(Block Sizeなど)が、NFSサーバから返ってきている。



というわけで、どうやら、ディスクレスなリナックスをブートさせるためには、NFSサーバを選ぶらしい・・・と。



もしかすると、FreeBSDでも、バージョン6系列とか7系列とかだと、うまくいくかもしれない?!



また、linux kernelのバージョンによっても、挙動がかなり違うらしい。





Cent OSをファイルサーバにすれば、ネットワーク・ブートできたのか?っていうと、実は、うまくいってない。



diskless clientで、initなどの実行がはじまり、root filesystemをread write mountし、あれこれ/var/以下にファイルを書き込もうとしているときに、root権限でファイルを作成できず、nobodyにされてしまうため。



もちろん、NFSサーバ側では、no_root_squashをつけてexportしているし、別のNFSクライアントで、root権限で書き込みができることは確認済み。



以下は、diskless clientが、root権限でファイルを書き込めていない様子。



とりあえず、ムリヤリに、single userでブートさせておいてから、/tmp以下に、testという名前のファイルを作成しようとしたところ。



CREATEのリクエスト。







2007072507



CREATEするとき、なぜか、uidやgidが指定されていない。なんか、もうここからしてダメっぽい。・・・NFSプロトコルについてよく知らないので、本当にそういう意味なのかどうかはよくわかんないけど。



CREATEのリプライ。







2007072508



一応成功はしているが、uidが65534になっている。



つまり、root権限で書き込めていない。というか、NFS client側が、そもそも、rootで書き込む気がない、ってかんじ。



こういう挙動から、どうやら、kernelに組み込まれるROOT_NFSのNFS clientとしての機能は、実は、かなりウソくさい実装になっているんじゃないか?っていう感じがしてくる。


ためしに、single user modeのときに、NFS clientとして動作するのに必要なデーモン類(portmapや、rpc.nfsdかな)を、手動で実行し、NFSマウントしてみると、ちゃんとroot権限で書き込みができた。



というわけで、root filesystemを read write modeでremountする前に、NFS client用のデーモンを一通り実行して、ROOT_NFSではなく、本物のNFS clientとして動作させておかないとダメなんじゃないかな、って気がする。


そういうことをするinitrdを作っておけば、そもそもROOT_NFSなんかも使う必要がないわけで、カーネル再構築も不要。initrdでなんとかガンバル、というのが、実は正しいアプローチな気がする。




2007年7月25日水曜日

玄箱でIMAPメールサーバを構築 ~ fetchmailのインストール

fetchmailは、POPサーバやIMAPサーバから、メールをとってくるソフトウェアです。



ネットワークプロバイダなど、リモートのメールサーバ上にあるメールボックスから、fetchmailにより、POPプロトコルでメールをダウンロードして、玄箱のメールボックスに保存します。



そして、Windows上で実行するMozilla Thunderbirdなどのメールソフトで、玄箱のIMAPサーバにアクセスして、メールを読む、という使い方を想定しています。





■ いきなりつまづいた・・・



fetchmailのソースコードを展開します。



% tar zxvf fetchmail-6.3.8.tar.bz2



玄箱でコンパイルします。configureのオプションは、なんとなく直感で、「./configure --with-ssl --disable-nls --disable-dependency-tracking --enable-fallback=no」としてみました。



さて、やってみると・・・



root@KURO-BOX:/mnt/share/200707/fetchmail-6.3.8# ./configure --with-ssl --disable-nls --disable-dependency-tracking --enable-fallback=no
checking build system type... powerpc-unknown-linux-gnu
checking host system type... powerpc-unknown-linux-gnu
checking target system type... powerpc-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
configure: autobuild project... fetchmail
configure: autobuild revision... 6.3.8
configure: autobuild hostname... KURO-BOX
configure: autobuild timestamp... 20070722-055646
checking for a Python interpreter with version >= 2.0... none
configure: WARNING: Disabling fetchmailconf: python 2.0 or greater not found
checking for gawk... (cached) awk
checking for gcc... gcc



 省略



checking for inet_ntop... yes
checking if your getaddrinfo is async-signal-safe... yes
configure: Enabling OpenSSL support in /usr.
checking for additional library dependencies of SSL... (none)
checking number of arguments to gethostbyname_r... 6
./configure: sort: command not found
configure: creating ./config.status
./configure: uniq: command not found
config.status: creating Makefile
config.status: creating m4/Makefile
config.status: creating po/Makefile.in
config.status: WARNING:  po/Makefile.in.in seems to ignore the --datarootdir setting
config.status: creating genlsm.sh
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing default-1 commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
./configure: sort: command not found
./configure: sort: command not found



sortuniqというコマンドがないといてエラーがでてますね。
makeを実行してみるとエラーになるので、やっぱり、sortをuniqをインストールすることにしました。



sort、uniqは、GNUなツールの、coreutilsというやつに含まれます(昔は、fileutilsという名前だった)。



というわけで、coreutilsをインストールします。


■ coreutilsをコンパイルしようとして、また、つまづいた



ファイルを展開します。



% tar zxvf coreutils-6.9.tar.bz2



configureのオプションは、またしても直感で、「./configure --disable-nls --disable-dependency-tracking」として(笑・・・configure --helpで眺めて決めてます)、やってみますと・・・



root@KURO-BOX:/mnt/share/200707/coreutils-6.9# ./configure --disable-nls --disable-dependency-tracking
checking build system type... powerpc-unknown-linux-gnu
checking host system type... powerpc-unknown-linux-gnu
configure: autobuild project... GNU coreutils
configure: autobuild revision... 6.9
configure: autobuild hostname... KURO-BOX
configure: autobuild timestamp... 20070722-151720
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes



 (省略)



config.status: creating tests/touch/Makefile
config.status: creating tests/tr/Makefile
config.status: creating tests/tsort/Makefile
config.status: creating tests/unexpand/Makefile
config.status: creating tests/uniq/Makefile
config.status: creating tests/wc/Makefile
config.status: creating lib/config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
./configure: sort: command not found
./configure: sort: command not found
root@KURO-BOX:/mnt/share/200707/coreutils-6.9#



またですか、「sort: command not found」!!!



sortをコンパイルするのに、sortが必要みたいです?!



きっと、coreutilsのドキュメントをじっくりと読めば、正しい対処方法があるかと思いますが、もういい、とやけになって、FreeBSD上でクロスコンパイルすることにしました。



以前、FreeBSD上に、玄箱のクロス開発環境を、作りましたから・・・

参考



FreeBSDに玄箱のクロス開発環境を構築






■ coreutilsをクロスコンパイル



なんだか、大げさなことになってきました(笑)。



クロスコンパイルするので、「--host」オプションを指定します。



./configure --disable-nls --disable-dependency-tracking --host=powerpc-hardhat-linux



でよさげです。


参考



FreeBSD上で玄箱用tcshをクロスコンパイル


以下のように、FreeBSD上で実行します。



FreeBSD % ./configure --disable-nls --disable-dependency-tracking --host=powerpc-hardhat-linux
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking build system type... i386-unknown-freebsd6.2
checking host system type... powerpc-hardhat-linux-gnu
configure: autobuild project... GNU coreutils
configure: autobuild revision... 6.9
configure: autobuild hostname... freebsd.local
configure: autobuild timestamp... 20070722-153657
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... build-aux/install-sh -c -d
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for powerpc-hardhat-linux-strip... powerpc-hardhat-linux-strip
checking for style of include used by make... GNU
checking for powerpc-hardhat-linux-gcc... powerpc-hardhat-linux-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether powerpc-hardhat-linux-gcc accepts -g... yes
checking for powerpc-hardhat-linux-gcc option to accept ISO C89... none needed
checking dependency style of powerpc-hardhat-linux-gcc... none
checking for powerpc-hardhat-linux-gcc option to accept ISO C99... unsupported
checking for powerpc-hardhat-linux-gcc option to accept ISO C89... (cached) none needed



(以下略)



configureは正常に完了しました。
つづいて、gmakeを実行します。



すると・・・なんだかコンパイルエラー。



powerpc-hardhat-linux-gcc  -I. -I../lib  -I../lib   -g -O2 -c remove.c
remove.c: In function `pop_dir':
remove.c:241: parse error before `top_len'
remove.c:242: `top_len' undeclared (first use in this function)
remove.c:242: (Each undeclared identifier is reported only once
remove.c:242: for each function it appears in.)
remove.c: In function `AD_stack_pop':
remove.c:376: parse error before `struct'
remove.c:377: `top' undeclared (first use in this function)
remove.c: In function `prompt':
remove.c:835: parse error before `char'
remove.c:839: `quoted_name' undeclared (first use in this function)
remove.c: In function `rm_1':
remove.c:1490: parse error before `struct'
remove.c:1491: `st' undeclared (first use in this function)
remove.c:1512: parse error before `enum'
remove.c:1513: `status' undeclared (first use in this function)
gmake[2]: *** [remove.o] Error 1
gmake[2]: Leaving directory `/.amd_mnt/kuro/host/mnt/share/200707/X/coreutils-6.9/src'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/.amd_mnt/kuro/host/mnt/share/200707/X/coreutils-6.9/src'
gmake: *** [all-recursive] エラー 1



ソースコードをのぞいてみますと・・・



static inline void
pop_dir (Dirstack_state *ds)
{
  size_t n_lengths = obstack_object_size (&ds->len_stack) / sizeof (size_t);
  size_t *length = obstack_base (&ds->len_stack);

 

assert (n_lengths > 0);
  size_t top_len = length[n_lengths - 1];
  assert (top_len >= 2);



assertを実行したあとに、top_lenという変数宣言がされています。こういう書き方は、昔のコンパイラではエラーになっちゃうんです。変数宣言は、ブロックの先頭にまとめて書かないとダメなのでした。昔のC言語の規格では・・・
以前用意したクロスコンパイラは、gcc-2.95なので、ダメみたいです。gcc-3.xだときっと大丈夫だと思います。



というわけで、ソースを書き換えて、コンパイル。すると、また似たようなエラー。
また、ソースを書き換えて、コンパイル。すると、また似たようなエラー。
う~ん、いやんなってくるな・・・



で、とりあえず一通り、ソースの修正が終わって、コンパイルが完了しました。



ようやく、そのときになって気がついたのですが、「c99-to-c89.diff」という、なんかそのものずばりな名前のパッチがcoreutilsの中にはいってました。そのパッチをあてれば、自分でソースを変更する必要なんかないようでした。あーあ、無駄骨。



なお、サブディレクトリのmanで、makeがエラーになってしまうようです。



Making all in man
gmake[1]: Entering directory `/.amd_mnt/kuro/host/mnt/share/200707/X/coreutils-6.9/man'
Updating man page rm.1
help2man: can't get `--help' info from rm.td/rm
gmake[1]: *** [rm.1] Error 2
gmake[1]: Leaving directory `/.amd_mnt/kuro/host/mnt/share/200707/X/coreutils-6.9/man'
gmake: *** [all-recursive] エラー 1



これは、どうやら、「rm --help」コマンドを実行して、その出力結果を使って、マニュアルのテキストを反映させているっぽいです。クロス開発環境ではrmコマンドを実行できないですから、これは無理。manは、無視することにしました。



最上位ディレクトリ(topdir)のMakefileを書き換えて、manをSUBDIRSから抜いてもいいでしょう。まあ、エラーを無視すればいいだけのことですけど。



sysconfdir = ${prefix}/etc
target_alias =
top_builddir = .
top_srcdir = .
#SUBDIRS = lib src doc man po tests
SUBDIRS = lib src doc po tests



coreutilsには、数多くのコマンドが含まれているのですが、今は、sortとuniqだけがあればよさそうなので、sortとuniqだけを、玄箱の/usr/binにコピーしました。



参考までに。



root@KURO-BOX:/mnt/share/200707/X/coreutils-6.9/src# ldd sort uniq
sort:
        libm.so.6 => /lib/libm.so.6 (0x0ff68000)
        libc.so.6 => /lib/libc.so.6 (0x0fe18000)
        /lib/ld.so.1 => /lib/ld.so.1 (0x30000000)
uniq:
        libc.so.6 => /lib/libc.so.6 (0x0feb0000)
        /lib/ld.so.1 => /lib/ld.so.1 (0x30000000)



暇なら、これらを使って、クロスコンパイラではなく、玄箱でcoreutilsをビルドしなおしてもいいかもしれません。


■ ようやくfetchmailをビルドできた



クロスコンパイルして作ったsortとuniqのおかげで、fetchmailのconfigureは正常に完了し、makeも正常に完了しました。



root@KURO-BOX:/mnt/share/200707/fetchmail-6.3.8# ldd fetchmail
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x0ffb3000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x0ff80000)
        libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x0ff2d000)
        libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x0fe23000)
        libc.so.6 => /lib/libc.so.6 (0x0fcd3000)
        libdl.so.2 => /lib/libdl.so.2 (0x0fcb0000)
        /lib/ld.so.1 => /lib/ld.so.1 (0x30000000)


■ そういや玄箱にはsendmailがない



fetchmailは、デフォルトでは、リモート環境のメールサーバからダウンロードしてきたメールを、SMTPプロトコルで、ローカル環境のメールサーバに流しこむみたいです。



FreeBSDの場合、sendmailが動いているので、そのsendmailを通じて、/var/mail/ユーザー名に、保存されているみたいです。メールReceivedヘッダをみると、こんなかんじになるのでわかります。



Received: from freebsd.local (localhost [127.0.0.1])
    by freebsd.local (8.14.1/8.13.4) with ESMTP id うんたら
    for <ユーザー@localhost>; Tue, 24 Jul 2007 09:21:59 +0900 (JST)
    (envelope-from なんと@かんとか)
Received: from プロバイダのPOP3メールサーバ [IPアドレス]
    by freebsd.local with POP3 (fetchmail-6.3.8)
    for <ユーザー名@localhost> (single-drop); Tue, 24 Jul 2007 09:21:59 +0900 (JST)



sendmailがないときは、ローカル配送メーラと呼ばれる類のツールで代用することができます(通常、/bin/mailなどがそうです)。



さて、玄箱では、sendmailはおろか、mail関係のツールはなにも入ってませんでした。どうしようかな、と思っていたら、imap-umのなかに、tmailというコマンドが入ってました。これが、バッチリ使えました。



先日ビルドしたimap-uwの中から、tmailコマンドを、/usr/bin/tmailとしてコピーしました。



試しているときに、なんかrootでsetuidしとけ、ってメッセージがでたので、やってみたのですが、実は、setuidはいらなさそうです(/var/mailなどのメールボックスに書き込むためだと思われる)。



root@KURO-BOX:/# chmod 4755 /usr/bin/tmail
root@KURO-BOX:/# ls -l /usr/bin/tmail
-rwsr-xr-x    1 root     root      1533452 Jul 22 17:21 /usr/bin/tmail



fetchmailの--mdaオプションで、/usr/bin/tmailを使え、と指定できます。



たとえば --mda "/usr/bin/tmail -D nhh"  となります。-Dは、デバッグ用のメッセージを表示するオプション、nhhは、配送先のユーザー名です。ユーザー名を明示指定するかわりに、置換パターンを使うこともできるみたいですが、よくわかんなかったので、やめておきました。どうせ使うのは、自分ひとりだけですから。



なお、MDAは、mail delivery agentの意味らしいです。ローカル配送メーラーとか言うやつかな(あんまり詳しいことはわかりません)。


■ 玄箱上にメールボックスを用意する



たとえば、ユーザー名nhhなら、こんなかんじ。



root@KURO-BOX:/# mkdir /var/spool/mail
root@KURO-BOX:/# touch /var/spool/mail/nhh
root@KURO-BOX:/# chown nhh /var/spool/mail/nhh
root@KURO-BOX:/# chmod 600 /var/spool/mail/nhh



tmailを実行するとき、自分がオーナーのファイルに自分の権限で書き込むので、root setuidはいらないね、ってことです。



■ fetchmailの動作テスト



fetchmailは、リモートのメールサーバからメールを読み出すときのプロトコル(POP3、IMAPなど)を自動的に選択してくれるのですが、ときどきうまくいかないときがあるので、そのときは--protocolオプションで指定したほうがいいかもしれません。



--keepオプションは、メールサーバ上にメールを残すオプションです。動作テストでメールを失ってしまわないように、念のため指定しましょう。



--fetchallオプションは、既読のメールも、もう一度ダウンロードするためのオプションです。このオプションを指定しない場合、fetchmailは、既読状態のメールはダウンロードしません。一度fetchmailでメールをダウンロードしてしまうと、既読状態になってしまいますので、動作テストの場合は、つけておいたほうがいいかもしれせん。。



こんな感じで、fetchmailを玄箱上で実行します。なお、nhhはユーザー名です。「--user nhh」は、リモートメールサーバにアクセスするときのユーザー名で、「-D nhh」は玄箱でのユーザー名です。必ずしもユーザー名が一致するわけではないので、誤解なきよう・・・



nhh@KURO-BOX:~$ fetchmail --keep --user nhh --mda "/usr/bin/tmail -D nhh" --fetchall リモートのメールサーバ
Enter password for nhh@リモートのメールサーバ: パスワードを入力
157 messages for nhh at リモートのメールサーバ.
reading message nhh@リモートのメールサーバ:1 of 157 (1191 header octets).tmail called with LF-only newlines
delivering to nhh+INBOX
Verifying safe delivery to /var/spool/mail/nhh by UID 1001
unix appending to INBOX (file /var/spool/mail/nhh)
delivered to /var/spool/mail/nhh
Verifying safe delivery to /var/spool/mail/nhh by UID 1001
all recipients delivered
(539 body octets) not flushed
reading message nhh@リモートのメールサーバ:2 of 157 (1239 header octets).tmail called with LF-only newlines
delivering to nhh+INBOX
Verifying safe delivery to /var/spool/mail/nhh by UID 1001
unix appending to INBOX (file /var/spool/mail/nhh)
delivered to /var/spool/mail/nhh
Verifying safe delivery to /var/spool/mail/nhh by UID 1001
all recipients delivered
(499 body octets) not flushed



以下省略





つづく・・・



次回の予定としては、Mozilla Thunderbirdなどメールソフトのセットアップなど。



実は、日曜日からずっと、SpamAssassinを動かそうとして、悪戦苦闘してます。CPANで、なんかうまくインストールされなくて。


■ 前回の記事





2007年7月24日火曜日

実録男前豆腐店 男の3連チャン

例の、「男前豆腐店」の豆腐で、新しいのを見かけました。



実録男前豆腐店
男の3連チャン



20070723


意味わかんないですが、名前、干支、星座が書かれてます。どうでもいいところまで無意味に丁寧な仕事がされてます。



  • リュウイチ  寅年 牡牛座


  • テツオ  寅年 山羊座


  • マサヒロ  丑年 蟹座




男前豆腐店のウェブサイトを見たら、やかましくて、げんなりしました。
見なきゃよかった・・・あーあ。





昨日の予定では、玄箱でfetchmailを動かす話を書こうと思ってたのですが、今日は、憑かれた、じゃなくて、疲れちゃったんで、明日にします。



疲れちゃった理由ってのが、CentOSをネットワークブートさせて動かそうとして、あれこれやってたら、けっこう時間がたってしまいました、ってことなんですけど。



FreeBSDならそこそこわかってるつもりでしたが、リナックス方面は、もうほとんどわかんなくて。

なんとなく腕試しに、FreeBSDをネットワークブートさせることは、わりとすぐできましたけど。



でも、1つ大失敗しました。



ディスクレスクライアント用のファイルシステムを用意するときに、make installworld DESTDIR=/mnt ; make installkernel DESTDIR=/mntとかやって用意したんですが、それじゃダメなんですね。make installworldしたときって、/etc内のファイルは、ごく一部しかコピーされないので、それじゃ、まともにはブートしませんでした。
よく考えれば、そりゃーあたりまえだわ・・・(笑)

昔、debianやfedora coreをネットワークインストールしたことがあったので、ディスクレスなLinuxマシンを作るのなんて、すぐできるだろうと思ってたら、意外とはまって、結局、今日は途中で断念しました。



  • CentOSを動かしたいディスクレスクライアントは、PXEブートできる


  • DHCPサーバは、FreeBSDで、isc-dhcpd


  • ファイルは、FreeBSDマシンから、tftpでダウンロードさせてやる(なんかエラそうな態度だ)


  • ルートファイルシステムは、FreeBSDをNFSサーバとして、NFSマウントさせる。initrdは使わない


  • pxelinuxとかは、昔ネットワークインストールしたときのがあるので、それをそのまま使う


  • とりあえず、HDDにCentOSをインストールしておいてから、ファイルをすべて、FreeBSDのファイルサーバ上へdump & restoreしてコピー。なんかたくさんエラーがでてたけど・・・


そうして、さっそくブートさせると、ルートファイルシステムをマウントするところでエラー。



なるほど、標準のカーネルでは、ROOT_NFSという機能が組み込まれていないためですね。FreeBSDだとGENERICカーネルで有効になってたりしますが。



というわけで、久しぶり、10年ぶり?くらいに、Linuxカーネルを構築しちゃいましたよ。あーもー、かなりわかんなくなっちゃってます。make menuconfigが懐かしかったです。



で、けっこうはまりつつも、なんとかROOT_NFSを有効にしたカーネルを作って、ブート。



やっぱり、ルートファイルシステムをマウントするところでエラー。



tcpdumpした結果や、カーネルブート時のログよく見ると、そもそも、IPアドレスも取得していない。



とゆーか、ネットワークデバイスを認識していない。



・・・ああ、なるほど、ネットワークデバイスのドライバが、モジュールになってて、カーネルに組み込まれてないんだ!



で、もういちど、カーネルを再構築。



ブートさせると、今度はDHCPでアドレスなど情報を取得しています。



でも、やっぱりルートファイルシステムをマウントできずpanic。



NFSサーバ側で、showmountしてみると、マウントした痕跡は残っていたのですが・・・



明日、もう一度、よくLinux方面を勉強しなおしてから、再挑戦しようと思います。




(2007/7/24)



FreeBSD 5-STABLEをNFSサーバしたとき、どうも、うまくいかない。マウントは成功するものの、そのあとのNFSアクセスでエラーがでて、ディスクレスマシン側で自滅。tcpdumpでながめてみて、なんとなく変。



CentOS 5をNFSサーバとしたら、うまくいったと思いきや、ディスクレスマシンのroot権限でファイルを書き込むことがでいない。nobodyにマップされてしまう。NFSサーバではもちろんno_root_squashを指定してexport。FreeBSDなNFSクライアントでマウントしてみて、root ownerでファイルを作成できることは確認済み。tcpdumpでながめてみても、ファイルをcreateするときにuidが指定されてなくて、なんとなく変なかんじ。それにAUTH_NULLってうまく動いてるの?みたいな。





というわけで、とりあえず、書き込みができないけど、single userモードではブートできた。



どうも、Root_NFSで実装されているNFSクライアントが、うさんくせー実装になっているんじゃないか?説が強くなっています。



ふと思ったのですが、ウェブで公開されている、リナックスをネットワークブートするドキュメントのいくつかで、/tftpboot以下をNFS exportしろって書いてあるのがあったのですが、セキュリティ的に、非常に気持ち悪いです。それだと、tftpを使って、ディスクレスマシン用のファイルが自由に読めるようになっちゃいますよね?!
たしかにtftpd経由のアクセスは、そこそこのアクセス制限がかかるわけですが、それでも、本来は読めないはずのファイルが、だれでも自由に読めるようになってしまうってねぇ・・・なんか勘違いしてるかなぁ





■ 過去記事





2007年7月23日月曜日

玄箱でIMAPメールサーバを構築 ~ imap-uwのインストール

昨日、自宅で24時間運用しているFreeBSDサーバをメンテしてて思ったんですが、本当に、常時動かしておく必要があるのか・・・?



このFreeBSDでやってる仕事は



  • imap-uw (IMAP)


  • SpamAssassin (迷惑メールフィルタ)


  • apache httpd + WebDAV


  • samba


  • vtund


  • NFS server


などなど。



とりあえず、ハードディスクの代わりに、CF(コンパクトフラッシュ)にしてもいいのではないかと思ってたのですが(実際に、以前、CFで動かしていたときもあった)、必要なファイルの容量と、書き換え頻度などの点で、ちょっと不安な点もあります。



そこでふと思い出したのが、買って、しばらく遊んで、すぐ飽きて、すっかり忘れていた、玄箱



こいつで、IMAPサーバなどが動けば、けっこういいんじゃないかな?と。



今日、半日くらいいろいろやってて、結論としては、一応、IMAPサーバは動きました。





■ imap-uwのコンパイル



IMAPサーバは何種類かありますが、今まで使っていたのは、imap-uwというものだったので、これをインストールすることにしました。

http://www.washington.edu/imap/



ファイルを展開



# tar zxvf /usr/ports/distfiles/imap-2004g.tar.Z



# cd imap-2004g/



makeを実行(きっとRedHat Linuxに似てるだろう、ということでlrhを指定)



# make lrh



しばらくすると、コンパイルエラーが発生。



make[2]: Entering directory `/mnt/share/200707/imap-2004g/mtest'
`cat ../c-client/CCTYPE` -I../c-client `cat ../c-client/CFLAGS`   -c -o mtest.o mtest.c
`cat ../c-client/CCTYPE` -I../c-client `cat ../c-client/CFLAGS` -o mtest mtest.o ../c-client/c-client.a `cat ../c-client/LDFLAGS`
/usr/powerpc-hardhat-linux/bin/ld: cannot find -lpam
collect2: ld returned 1 exit status
make[2]: *** [mtest] Error 1
make[2]: Leaving directory `/mnt/share/200707/imap-2004g/mtest'
make[1]: *** [bundled] Error 2
make[1]: Leaving directory `/mnt/share/200707/imap-2004g'
make: *** [lrh] Error 2



原因は、「libpam.so」がないということらしく、ファイル名が微妙に違うためのようです。



root@KURO-BOX:/mnt/share/200707/imap-2004g# ls /lib/libpam*
/lib/libpam.so.0     /lib/libpam_misc.so.0     /lib/libpamc.so.0
/lib/libpam.so.0.72  /lib/libpam_misc.so.0.72  /lib/libpamc.so.0.72



とりあえず、ってことで、ファイル名を強制的に指定しちゃいます。



上記の実行コマンドを見ると、c-client/LDFLAGSというファイルで指定されているようなので、そのファイルをムリヤリ書き換え。



root@KURO-BOX:/mnt/share/200707/imap-2004g# vi c-client/LDFLAGS



-lpam -ldl
-L/usr/lib -lssl -lcrypto



となっているので、以下のように書き換え。



/lib/libpam.so.0 -ldl
-L/usr/lib -lssl -lcrypto



これでいいかと思いきや、またエラー。



cd mtest;make
make[2]: Entering directory `/mnt/share/200707/imap-2004g/mtest'
`cat ../c-client/CCTYPE` -I../c-client `cat ../c-client/CFLAGS` -o mtest mtest.o ../c-client/c-client.a `cat ../c-client/LDFLAGS`
/usr/powerpc-hardhat-linux/bin/ld: cannot find -lssl
collect2: ld returned 1 exit status
make[2]: *** [mtest] Error 1
make[2]: Leaving directory `/mnt/share/200707/imap-2004g/mtest'
make[1]: *** [bundled] Error 2
make[1]: Leaving directory `/mnt/share/200707/imap-2004g'
make: *** [lrh] Error 2



今度は、opensslがインストールされていない、ってことらしいです。なぜかopensslのヘッダファイルだけはインストールされていたのですが、肝心のライブラリがありません。



玄箱のCD-ROMに入ってたバイナリを展開します。なぜか、opensslは2つはいってます。



% ls -l openssl*
-rwxrwxrwx  1 99  99  1682667  2  9  2004 openssl-0.9.6e.tar.gz*
-rwxrwxrwx  1 99  99  1682600  3 18  2004 openssl.tar.gz*



どっちがいいのかわかりませんが、タイムスタンプの新しいopenssl.tar.gzを展開してみました。
バージョンを見ると



root@KURO-BOX:/# openssl version
OpenSSL 0.9.6e 30 Jul 2002



どっちも同じ?



これで、imap-uwはコンパイルできるようになりました。



できあがったimapd。



root@KURO-BOX:/mnt/share/200707/imap-2004g# ls -l imapd/imapd
-rwxr-xr-x    1 root     root      1636598 Jul 22 14:21 imapd/imapd



root@KURO-BOX:/mnt/share/200707/imap-2004g# ldd imapd/imapd
        libpam.so.0 => /lib/libpam.so.0 (0x0ffd7000)
        libdl.so.2 => /lib/libdl.so.2 (0x0ffb4000)
        libssl.so.0.9.6 => /usr/lib/libssl.so.0.9.6 (0x0ff61000)
        libcrypto.so.0.9.6 => /usr/lib/libcrypto.so.0.9.6 (0x0fe57000)
        libc.so.6 => /lib/libc.so.6 (0x0fd07000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x0fcba000)
        /lib/ld.so.1 => /lib/ld.so.1 (0x30000000)



POPデーモンなどもコンパイルされますが、個人的な好みで、



IMAP以外使う気にはなれない!



ため、imapdだけ/usr/sbin/imapdとして、インストールします。



root@KURO-BOX:/mnt/share/200707/imap-2004g# cp imapd/imapd /usr/sbin/







■ imapdが起動できるようにするための設定



imapdは、inetdから起動されます。



まずは、/etc/servicesに、imapがあるか確認。



root@KURO-BOX:/mnt/share/200707/imap-2004g# grep imap /etc/services
imap2           143/tcp         imap            # Interim Mail Access Proto v2
imap2           143/udp         imap
imap3           220/tcp                         # Interactive Mail Access
imap3           220/udp                         # Protocol v3
imaps           993/tcp                         # IMAP over SSL
imaps           993/udp                         # IMAP over SSL



ポート番号143が「imap」でいけそうなので、大丈夫そうです。



/etc/inetd.confを編集して、imapとimapsを追加。



root@KURO-BOX:/mnt/share/200707/imap-2004g# vi /etc/inetd.conf



# Pop et al
#
# pop2  stream  tcp     nowait  root    /usr/sbin/tcpd  in.pop2d
# pop3  stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/popper -s
#
# Imapd - Interactive Mail Access Protocol server
# Attention:  This service is very insecure
# imap2 stream  tcp     nowait  root    /usr/sbin/tcpd  imapd
#
imap    stream  tcp     nowait  root    /usr/sbin/imapd imapd
imaps   stream  tcp     nowait  root    /usr/sbin/imapd imapd
#



inetdにシグナルをおくって、編集後のinetd.confを反映させます。



root@KURO-BOX:/# kill -HUP `cat /var/run/inetd.pid `



動作確認。telnetコマンドを使って、ポート番号143にアクセスして、imapdにアクセスできるかを試してみます。



% telnet kuro-box imap
Trying 192.168.0.41...
Connected to kuro-box.local.
Escape character is '^]'.
* OK [CAPABILITY IMAP4REV1 LITERAL+ SASL-IR LOGIN-REFERRALS STARTTLS LOGINDISABLED] KURO-BOX IMAP4rev1 2004.357 at Sun, 22 Jul 2007 14:46:00 +0900 (JST)



大丈夫そうです。



終了するには、Escape character is '^]'.と表示されているように、controlキーを押しながら「 ] 」を押すと、telnet>というプロンプトがでるので、そこでcloseと入力します。




■ 玄箱にユーザーアカウントを作成



パスワードファイルを編集します。



root@KURO-BOX:/# vi /etc/passwd



nhh:*:2001:2001:Nyo Ho Ho:/home/nhh:/bin/bash



というような行を追加します。



パスワードを設定します。



root@KURO-BOX:/# passwd nhh
Enter new UNIX password: パスワードを入力
Retype new UNIX password: もう一度入力
passwd: password updated successfully



確認。



root@KURO-BOX:/# grep nhh /etc/passwd
nhh:ハッシュされたパスワード:2001:2001:Nyo Ho Ho:/home/nhh:/bin/bash



/etc/groupファイルを編集して、グループを登録します。こんな感じ。



root@KURO-BOX:/# grep nhh /etc/group
nhh:*:2001:



ホームディレクトリを作成。



root@KURO-BOX:/# mkdir /home/nhh
root@KURO-BOX:/# chown nhh:nhh /home/nhh
root@KURO-BOX:/# ls -l /home
total 4
drwxr-xr-x    2 nhh      nhh          4096 Jul 22 14:42 nhh



一応、ログインできるか確認してみます。



% telnet -l nhh kuro
Trying 192.168.0.41...
Connected to kuro-box.local.
Escape character is '^]'.
Password: パスワード
Linux (none) 2.4.17_kuro-box #2 2004年 3月 18日 木曜日 11:39:47 JST ppc unknown
nhh@KURO-BOX:~$


■ imap-uw用のパスワードファイルを作成



CRAM-MD5という認証が使えるようにするため、/etc/cram-md5.pwdというファイルを作成します。ユーザー名(nhh)、タブ、パスワードと、1行で書きます。



こんなかんじです。



root@KURO-BOX:/# cat /etc/cram-md5.pwd
# CRAM-MD5 authentication database
# Entries are in form <user><tab><password>
# Lines starting with "#" are comments



nhh    パスワード



パスワードが書かれたファイルなので、一般ユーザーに見られないように、ファイルのパーミッションを適切に設定します。



root@KURO-BOX:/# chmod 400 /etc/cram-md5.pwd
root@KURO-BOX:/# ls -l /etc/cram-md5.pwd
-r--------    1 root     root           53 Jul 22 17:43 /etc/cram-md5.pwd


■ IMAPフォルダのファイルが$HOME/Mail以下に作成されるようにする“おまじない”



デフォルトでは、IMAPフォルダのファイルが、ホームディレクトリ($HOME)直下に作られてしまいます。個人的には、それは好きではないので、$HOME/Mail以下になるようにしています。



なんだか謎のおまじないですが、/etc/c-client.cfに、以下のようなことを書いておいてから・・・



root@KURO-BOX:/# cat /etc/c-client.cf
I accept the risk
set allow-user-config 1



ユーザーのホームディレクトリ以下に「.imaprc」というファイルを作成し、そこにもおまじないを書き込んでおきます。



root@KURO-BOX:/# cat /home/nhh/.imaprc
I accept the risk
set mail-subdirectory Mail



これで、Mozilla ThunderbirdなどのメールソフトのほうでHogeというフォルダを作成すると、それに対応する、$HOME/Mail/Hogeというファイルができるはずです。


つづく・・・



明日は、fetchmailのインストールを予定しています。



■ 過去記事





2007年7月22日日曜日

タカナシ 夏季限定 マンゴー

本当はアルフォンソマンゴー水を買いに行ったんですが、売ってませんでした。もう終了
?!
しかたなく、かわりにこれを試してみました。



タカナシ 夏季限定
マンゴ~





20070721



ちょっと甘すきるかんじ。





午前中は、自宅サーバの大掃除(uptimeが1年以上だったけど、先月1度kldunloadしたらpanic rebootしちゃった)。
カタカタ異音をさせるようになっていたファンを交換し、内部のホコリをおとして、OSを2007年06月のsnapshot版のFreeBSD 6.2-STABLEにアップデート。

彩雲国物語をさらっと見ててふと思ったんですが、いつのまにかDEATH NOTEみたいな雰囲気になってません?


夜、これから、あれを見る予定。








■ 過去記事








2007年7月21日土曜日

Cup Star / カップスター

食品関係で、なにかと復刻版ブームのようです。カップスターは、4月発売だったようですが、ブログのネタ切れで困ったので、買ってきました(笑)。



サッポロ一番
カップスター
しょうゆ、みそ、カレー南ばんの3種類。



20070720



http://www.cupstar.net/



現在、しょうゆ、みそ、しお、カレー南ばん、とんこつの5種類があるそうですが、「とんこつ」は、九州エリアだけ、そして、「しお」は夏季限定とのこと。





復刻版のボンカレーは、たしかに懐かしいことは懐かしいのですが、我が家はククレカレー派(?)だったため、あまり思い入れがなかったのですが、カップスターは、1つだけ、とっても懐かしい思い出があります。それは、

はじめて、一人だけで、一晩、留守番をしたとき、朝食として食べたのが、カップスターだった

という、他人にとっては、どうでもいい思い出。



初めて食べたインスタントラーメンは、金ちゃんヌードルだったんですけど、あれは懐かしいっていうか、昔からパッケージ・デザインがぜんぜん変わってないですよね。



■ 過去記事





2007年7月20日金曜日

コードレス電話の充電式電池 ~ 種類が多すぎてあきれた

コードレス電話の子機が、いくら充電しても、すぐに切れるようになっちゃった、とのこと。



たぶん、何年も使っているものなので、充電式電池の寿命がきて、十分に充電できなくなっているんでしょう。



というわけで、先日、交換用の電池をもとめて、家電量販店へ行ってみました。



電池は、こんなやつです。



20070719



どう見ても、標準的な規格が決められている電池とは思えず、メーカーや製品ごとに、種類がバラバラだろう、って予感。交換して使える電池が売ってないかも? と不安でした。



電池のコーナーをのぞくと・・・ おぉ~ なんだ、あるじゃないですか。売ってるんですね、こんな種類の電池も。たくさんあります。



? ? ?



う~ん、たくさんあるんですよ。



たくさん。



たくさん。



いろんな種類が、たくさんある! あぜん・・・



この充電式電池って、みかけはこんなのですが、外側の被覆をむしりとれば、中身は、単3サイズ、単4サイズの、標準的なニッカド電池(いまどきだとニッケル水素電池)が入ってるんですよね、きっと。



電池売り場にあった、たくさんの種類ってのは、



  1. 中身のセルが、単3サイズか、単4サイズかの違い


  2. セルが何本入ってるかの違い。2本、3本、4本があるらしい


  3. ケーブルのさきっぽのコネクタの形状の違い。メーカーごとに微妙に違っていて、3~4種類くらいはあった


以上の組み合わせで、種類がどんどん増殖・・・



し・か・も!! これらの電池、値段が異常に高い・・・



普通の単3サイズのニッケル水素電池だと150円くらいからあると思います。



今回買ってきたやつには2本入ってますが、2000円近い値段がしてました。



なぜ、標準的な規格の電池を使わないんでしょうかね。
専用の規格にしておいて、電池で儲けるためなんだろう、と想像はできますけど。

もっとも、売り場にずらっと並んでいたのは、メーカーの純正品ではないようで、サードパーティの製品らしかったです。



コードレス電話の電池に限らず、ノートパソコンとか、デジカメとか、充電式の電池が、各機器ごとに専用になってるものってたくさんあって、どれも例外なく高いんですよね。



ノートパソコンのバッテリとか、パソコン本体の形状にあわせて、バッテリの形状もデザインされているかと思いきや、あのバッテリの中身は、実は、いろんな機種で共通に使われている、丸い筒状のがつめられてたりするんですよね。

おいこらっ! 違うのは、外側のケースだけかよ?!

みたいな・・・



リチウムイオンバッテリについては、厳密には微妙に違いがあったりしていて、それにまぁ、リチウムイオン電池は、ど素人がいじくるのは、とっても危険だそうですし。



10年くらい前、はじめてノートパソコンを買ったとき、開梱していきなり、「死亡するおそれがあります!」という警告文書がでてきてびっくりしましたっけ。





この前、アキバで、単1サイズのニッケル水素電池を、はじめて見ました。



容量が、すごいでかい!!



それはいいんですが、どうやって充電するのか、謎です。



単1サイズで、あんな大容量のものを充電できるのって・・・あるところにはあるんでしょうか。





関係ない独り言。



残念ながら携帯電話は持ってないのです。





2007年7月19日木曜日

見ると物悲しくなるCM

夜中によく流れてる、これのことなんですが。BGMって、あの曲?



200707181



なぜ夜中にばっかり、それもあんなにたくさん流すのか。



お天道様の元で正々堂々とできない、後ろめたさでもあるのかと。



そもそも、デジタル放送になると、いったい何がよくなるのか!?
これといった長所は、実は、ほとんどないじゃないですか。
逆に、不便になることばっかり。
テレビを買い換えなければならないとか、番組を録画して残してこうにも、あれダメこれダメと、うっとうしい制限事項だらけ。



コピーワンスを見直すという話が現実味をおびてきたかと思えば、そのかわり補償金をきちっと払えと。



いいんですよ。別に払ってもいいんですよ、今よりも金額を多くしたって。ちゃんとそのお金が有効に使われるんなら。



今のあの私的録音録画補償金とかいうの、有効に使われてるんでしょうか?ちゃんとクリエーターのところまで届いてるんでしょうか? 途中のだれかの懐に入っちゃってません? と、いろいろ疑いたくなってしまう。



いっそのこと、全部を有料放送にしちゃえばいいのに。



200707182



勝手に予想するシナリオ、いくつか。



(1) 2011年になっても、デジタル放送を受信できる環境がまだ広く行き渡っていないため、もう数年間、アナログ放送を継続する。



(2) ネット経由での番組配信が合法的に行われるようになり、デジタル放送を受信して視聴する必要がなくなる。



(3) 非合法なネット配信がはびこって、それでいーや、という人が増える。



(4) テレビを見なくなる。視聴者が減るから、広告媒体としてのテレビの価値が低下し、番組制作資金も不足。テレビ番組がつまらなくなる。それで、ますますテレビを見なくなる。





困ったことに、実家方面のテレビの調子が悪くなって、買い替えなければならなくなってしまいました。
あと半年~1年くらいたてば、フルHDなやつも安くなりそうなのに、今はまだちょっとねぇ・・・



2007年7月18日水曜日

カラムーチョ 元祖七味唐辛子本舗 やげん堀

カラムーチョ
元祖七味唐辛子本舗 やげん堀



200707171



こんなのがあったんですね。今日はじめて見ました。



子供のころ、おまつりの屋台で七味唐辛子をその場で調合しながら売るのがあって、あれを見るのが楽しかったです。あれって「やげん堀」って名乗っていたような気がしますが、こっちの浅草にあるという「元祖」、「本舗」とは、まるで別物なんでしょうか。



おまつりの屋台といえば、ドラえもんのようなものとか、ピカチュウのようなものとか、ぜったいに版権クリアしてねーだろ!!なもののオンパレードですからねぇ・・・



まあ「1625年創業」くらいになってくると、いろいろあって、複雑な事情とかがあるのかもしれません。



200707172

ところで、青のりも七味唐辛子の1つだったとは、知りませんでした。



あんぱんにのってるツブツブも、芥子の実ですが、芥子ってのはアヘンの原料ですよね。前にテレビで、芥子の実はぜんぶどっかの国からの輸入品だとかいってました。ぜったいに発芽しないように細工されているとか。



うちにある七味唐辛子にはポピーシードって書いてあったんですが、ポピー(poppy)ってケシのことだったんですね。



無知だなぁ>>自分





2007年7月17日火曜日

オール電化と・・・

オール電化といえば、IHクッキングヒーターと、エコキュートなどがあげられますが・・・



「オール電化」と「ウメ星デンカ」



200707161



以上。





美味しんぼで、IHクッキングヒーターがとりあげられた話がありました。




美味しんぼ
 第93巻
第7話 「“熱”の使い方」





200707162



中華では強い火力をあやつらなきゃいかんのだ、みたいな話が印象に強く残っていたので、IHでいいの?と意外な感じもしたのですが、なかでは、IH(電磁調理器)のことをわりと誉めていました。



ただし・・・これはないでしょう。



200707163



新聞社の社主が



いいか!文化欄で“電磁調理器はひどいから買ってはいかん”と書くのだ



一方的で何が悪い!電磁調理器をつぶせ!



社主が孫娘に電磁調理器を買ってあげ、それで煮魚を作ったら、生煮えで食べられたもんじゃなかった、というのがこういう発言の原因だったのですが、生煮えになった理由ってのが



・・・ネタばれになるから書かないでおこう・・・



まあ、そんなのありえない!と思うようなことをしたので、加熱できなくなってたのでした。



これってもしかして、原作者の雁屋哲の実体験が元になっているのでは?という気がするのですが、どうなんでしょうか。





■ あまり関連しない記事





 



2007年7月15日日曜日

台風4号

もっとも接近するといわれた時間になりましたが、青空がでて、晴れてきました。



西の空
200707151



富士山
200707152



海は大荒れ
200707153



200707154



大きな船は、港の外で台風がすぎるのを待っています。
200707155



風は、これまでずっと大したことなくて、雨は、昨日の夜遅くが一番たくさん降ってました。





夕方。もやがすごかったです。



20070715umi





暴君ハバネロ ~メキシコ帰郷篇~

私も、連休を利用して、帰郷してますが、どうでもいいことですね。

暴君ハバネロ ~メキシコ帰郷篇~

世界征服の旅 期間限定



200707141



そんなに辛くなくて、ちょっとだけスッパくて、うまかったです。





連休だし、海交流とかいうイベントがあって、花火が見られるってことで、実家にきてるんですが、台風接近のため、海交流2007は中止なんですと。



まあ、そんな予感はしてましたが。



帰る途中で電車が止まったりしなかっただけでもよしとしよう、と。いつだったか、地震で止まっちゃって困ったことがありました。あのときは、なぜか新幹線はさっさと運行再開したので、途中から新幹線にのりました。今は、新幹線が止まってるのですか・・・



200707142



雨で散歩に行けないため、うちの犬が、少々、機嫌を損ねています。



雨がだんだんひどくなってきて、BS(衛星放送)は、ノイズだらけで、受信できなくなっちゃいました。



200707143





2007年7月14日土曜日

NHK ミュージックボックス ~ 謎のマイコン TI-99/4

なぜかDVD-RWの中から、去年、2006年11月6日未明に録画したらしい、NHKの番組「ミュージックボックス」が出てきました。



とりあえず再エンコードして保存しておくか(笑)ってことにして、おもしろいものないかな~っと内容をチェックしてたら、謎のマイコン(今でいうパソコン)が登場。



MUSIC BOX 1980年



2007071301
このシーンでの曲は
「いまの君はピカピカに光って」 斉藤哲夫



この映像を見て、この機種が何なのか、なんど繰り返し見ても、ぜんぜんわかりませんでした。

悔しいので、必死になってネット検索した結果、テキサス・インスツルメンツ社の「TI-99/4」という機種だと判明したのですが、そのことは最後に・・・






まず、すぐに気になった特徴が、キーボードの右側、普通なら、テンキーがある位置に、変な空きスペースがあること。ぱっと見で、硯石か?!とも思ったり・・・



 コンピュータと書道が、当時すでに、こんな風に融合していたとはオドロキです。
・・・いや、実際には、硯石じゃないみたいでした。



2007071302



1枚目の映像では、男の子が手のひらを載せて動かしていたので、まさか手のひら静脈認証ではないので、おそらく、今のノートパソコンについている、タッチパッドのようなものかと思ったのですが、それにしては、ここを操作している子はほとんどいない。





カセットテープレコーダを、記憶装置として使っています。











2007071303





それにしても、この色使いが、なんか見覚えがあるのです・・・







2007071304



そう、





と、映像の雰囲気と色がそっくりなんです。実はこれが重要な手がかりに・・・







2007071305





パソコン体験教室みたいなもののようです。
しかし、こんなマイナー機種(・・・だと決めかかっていますが)を使って、大丈夫だったんでしょうか?!







2007071306






部屋の奥にある物体が、なんとなくきになりました。



2007071307



巨大なMZ-2200みたいなものと、右隣は、音響カプラかな?と思ったのですが。







2007071308



これがテレタイプってやつ?とか・・・ぜんぜん知らないので、ココ、いい加減なことを書いています。





DAIWA World Fishing? 釣りブームとかありましたっけ。「釣りキチ三平」もアニメ化されてたけど・・・えーと、アニメは1980年から1982年で、全109回。おぉ、わりとすごいな。



2007071309





プログラムの一部でしょうか?







2007071310



行番号 CALL SOUND なんとか すうじ1000,349,21 ???



みたいに読めたのですが、BASICっぽいですが、見たことのない、ちょっと方言のきつい言語のようです。





飽きちゃいましたか?







2007071311



「なんだよ、このマイナー機は・・・」
「PC-6001を使いたかったなぁ・・・」





この機種は何?



まずは、古いコンピュータの情報をあつめたサイトをざっと眺めてみたものの、まったく手がかりつかめず。



自分自身の知識をひっくりかえしてみても、まったく検討もつかなかったので、日本製ではなく、海外の製品ではないか?とも思ったのですが・・・



とりあえず、コモドール、アタリなどのキーワードで検索したものの、該当せず。



なんとなく直感で感じた、あの画面の色使いが、手がかりに!?
ぴゅう太のビデオ出力に使われたチップ「TMS9918」は、当時、そのほかにもいくつかの機種で使われていたものだそうで、そのへんが手がかりになるか?と思い検索してみると・・・

TMS9918 (ウィキペディア)
http://ja.wikipedia.org/wiki/TMS9918


そこから・・・

TI-99/4A (ウィキペディア)
http://ja.wikipedia.org/wiki/TI-99/4A


これだぁーーーー!!!



いや、ちょっと違うぞ。キーボードが違う。



文章を読んでみると、これの前に「TI-99/4」という機種があったらしいです。



というわけで、そこからさらに検索してみると・・・日本語の情報はもうあまりなくて、てゆーことは、やっぱり日本国内では、超マイナー機種だったんじゃん。こんな機種を使って、よくパソコン教室、体験セミナーみたいなものを開いたものだと、そっちのほうがすごく謎に思えました。



というわけで、こんなのがありました。




カラーのテストパターン画像みたいのが、ぴゅう太の電源オン直後の画面に、そっくりです。



最初、MSXではないか?!と思ったのですが、それにしては、MSXで特徴となるROMカートリッジの穴が見当たりません。ということで、MSXは候補から外れたのですが・・・TI-99/4も、ROMカートリッジを差すスロットのようなものがあって、ROMカートリッジでソフトウェアが供給されていたそうです。



本体の右側面には、拡張ユニットを接続するポートがあるそうです。このミュージックボックスの映像に映ってる機器には、何かオレンジ色のシールのようなものが貼られていて、スロットが見えなくなっています。最初、備品管理用のシールかと思ってましたが、いたずら防止用にふさいであったのかもしれません。



キーボードのとなりの「謎の硯石」ですが、ちゃんと解説の文章を読んでないので、結局、謎のままです。そこにはあまりふれないでくれ・・・なのかも。
斜め読みした限りでは、どうやら、ROMカートリッジをさす部分っぽいのですが、どうやって装着するのかがわかる写真は見つかっていません。





マイナー機もちゃんと拾いあげてくれるNHK MUSIC BOX。すごいです。



(単に、私が知らなかっただけで、それほどマイナーではなかったみたいです)





■ 過去記事







2007年7月13日金曜日

午後の紅茶 マンゴー&オレンジティー

勘違いしました・・・



午後の紅茶
マンゴー&オレンジティー



200707121



またもやマンゴーものが!と試してみたら・・・酸味のような予想していなかった味が?!
これのどこがマンゴー???
・・・つまり・・・「オレンジ」と書いてあるのを見落としてました。
果汁2%で、アルフォンソマンゴーティーよりも多くて、値段も倍するから、と期待してたのに。



かってに勘違いしてただけなので文句は言えぬ。うう。



というわけで、アルフォンソマンゴー水が好き!





マンゴーとはまったく関係なく、なぜか、美味しんぼ。







200707122
美味しんぼ 85巻から



「魔法の鼻」 <前編・後編>







「でもまあ
山岡の旦那の希望通り
起訴猶予で釈放だ。」
200707123





「あんがとさん。
持つべきものは警察官の友人だなあ。」
200707124



なんですか、この癒着ぶりは・・・
汚い。汚すぎますよ、山岡さん。



「警部のハンバーグは豚の挽肉が混ざっていますね。」
「本来、ハンバーグは牛肉だけで作るべきでしょう。」



200707125



先日の牛肉ミンチ偽装事件を思い出してしまいました。美味しんぼの中の話は、だいぶ状況は違いますが。



ふと、「コンビーフ」(牛肉100%)と「ニューコンビーフ」(馬肉入り)の違いのことを思い出してしまいましたが、今は、ニューコンビーフとは言わずに、コーンドミート、ニューコーンドミート、ニューコンミートと言うそうで・・・ わからん。。。





なんとなく気になった、東西新聞社 文化部の様子(雑誌掲載時2002年)



200707126



8個の机に、よ~く見るとパソコン2つ。富井副部長の席にはワープロもパソコンも無し。
どうやって原稿を書いているのでしょうか。

文化部だけ特別なのでしょうか。

美味しんぼといえば、かつて、Macintosh絶賛、Windows酷評という、まったく独善的な主張をしたりもしてましたが、IT化はぜんぜんされなかったんですねぇ。





■ 過去記事