2008年9月27日土曜日

tcpdump で

よんどころない事情によりtcpdump でアレコレ?することに。



man みて気づいたので -s 192 つけた。
Note that NFS requests are very large and much of the detail won't be printed unless snaplen is increased. Try using `-s 192' to watch NFS traffic.
しばらく採取して wireshark にかける予定。不要になればそれはそれで嬉しい。

2008年9月23日火曜日

こわれたか・・・

ここんところ放置気味だった 7年前くらいのふるい ThinkPad に火をいれる。

クロックがおかしい。
750MHz のはずなんだが、、162て、、w

- dmesg
CPU: Intel Pentium III (162.46-MHz 686-class CPU)

- sysctl
% sysctl dev.cpu.0.freq
dev.cpu.0.freq: 161

buildworld してみたら、まぁサクサクしてるかな。。

いつの 7.0-STABLE か忘却の彼方なので 7.0-RELEASE にするテスト

追記:
再起動したら直った

CPU: Intel Pentium III (746.76-MHz 686-class CPU)

powerd 起動してヒマなとき
% sysctl dev.cpu.0.freq
dev.cpu.0.freq: 92

忙しいとき
% sysctl dev.cpu.0.freq
dev.cpu.0.freq: 743

2008年9月20日土曜日

バラけ具合

OpenBSD の PID のバラけ具合にグッとくるのを思い出した。

2008年9月8日月曜日

英作文

port で feedback もらってやりとりしてる最中

Thank you 〜〜〜

と書くことが多いんだけど、もしや過剰だったりするのかな。。
「こいつはやたら Thank you 書きよるなー」て思われてんのかなー。

などとふと思った。

書店でGoogle 日本法人シャッチョさんの英語本をチラ見したら、
「英作文」でなくて「英借文」などと書かれてたから
ML でも漁って文をパクってみるか。

2008年9月7日日曜日

訃報、、。

同級生が亡くなったらしい。

こないだの同窓会で元気な姿をみたばかりだったのに、、。

まさに「ムードメーカー」という言葉がピッタリなヤツだった。
こないだ会ったときはちょっとハゲちらかし気味になってて「うぅ、俺の頭もなんのかな、、gkbr」と思ったりした。

はー、信じられん。「はい、ちょっとしたネタでしたー。ごめんごめん」というオチがあるのをつい期待してしまう。。

合掌。

ベンチマークとりたいよね

って話があがる。

「〜〜したいよね」って話はよくある。
けど何をどうやるのか、具体性に欠ける。
結果だせばいいだけなんだろーけど、
実際手を動かすものにとっては気持ち悪いことこの上ない。
なんとなく「チーム」という感覚が乏しいから孤独でもある。

・・ま、孤独は嫌いではないけどw

表題の件は benchmarks の中からよさそうなのをみつけてみるか。

CentOS のパッケージ、あるかなー。

2008年9月6日土曜日

FreeBSD 7.0 と MySQL 4.0.x

まぁなんとなく予想してたんだけど。

1. FreeBSD 7.0 をいれる

2. mysql-4.0.x なソースをとってくる

3. ./configure , make なかんじで野良 make してみる

と、コンパイル通らんよ。(4.0.27 で確認)
このような具合。
mysql.cc: In function 'void print_table_data(MYSQL_RES*)':
mysql.cc:1650: error: expected primary-expression before '?' token
mysql.cc:1650: error: expected `:' before ')' token
mysql.cc:1650: error: expected primary-expression before ')' token
mysql.cc:1652: error: expected primary-expression before '?' token
mysql.cc:1652: error: expected `:' before ')' token
mysql.cc:1652: error: expected primary-expression before ')' token
mysql.cc:1666: error: expected primary-expression before '?' token
mysql.cc:1666: error: expected `:' before ')' token
mysql.cc:1666: error: expected primary-expression before ')' token
*** Error code 1

Stop in /usr/home/katsuji/src/mysql-4.0.27/client.
*** Error code 1

Stop in /usr/home/katsuji/src/mysql-4.0.27.
*** Error code 1

Stop in /usr/home/katsuji/src/mysql-4.0.27.

これもまた、ports みてみると
USE_GCC で gcc 3.4 を使うようになっている。
一時期は IGNORE にして 5以降使いましょうとなってた

というわけで、大人しく gcc3.4 いれて対応。

send-pr みると、obsolete だけどもいいから使いたいよーということでちょっと前変更されてたようだ。

新しいOSには(なるべく)新しいアプリケーションを。

2008年9月5日金曜日

FreeBSD 7.0 と Apache 1.3.x

諸事情により FreeBSD 7.0 で Apache 1.3系を野良 make した。7.0 では初めて。

・・・・で、ものの見事にはまった。

たとえばこんな風にconfigure
./configure \
--prefix=/usr/local/apache \
--enable-module=all \
--enable-shared=max

して、make , make install する。まぁ特に変わったところはない。

が、おもむろに httpd -t すると見慣れないエラー。。

# /usr/local/apache/bin/httpd -t
Syntax error on line 205 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/mod_mmap_static.so into server: /usr/local/apache/libexec/mod_mmap_static.so: Undefined symbol "ap_null_cleanup"

だめじゃん。。 orz...
たまに Undefined symbol はみるけど、Apache ではみないぞ。。

実際やったときは、configure にいろんなオプション付けてたり変態的な最適化されてたりしたのであれこれはずしてみるも、ダメ、ダメ。

らちがあかないので ports を漁ってみることに。
(最初からみときゃよかった、、、。)

試しに port の apache13 なのを make , make install する。うむ問題ない。メンテナー乙です。

問題ないことがわかったので files の下を漁る。このへん

patch-なんちゃらをみる。クンクン。。patch-ae がくさい。

patch-ae の中身をコピペしてファイル作成、適用。

# patch -p0 < ../patch.apache
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- src/Configure.orig 2007-08-10 19:45:50.000000000 +0400
|+++ src/Configure 2007-09-08 04:46:28.000000000 +0400
--------------------------
Patching file src/Configure using Plan A...
Hunk #1 succeeded at 26.
Hunk #2 succeeded at 457.
Hunk #3 succeeded at 1083.
Hmm... Ignoring the trailing garbage.
done

で再び configure , make , make install して、、

# /usr/local/apache/bin/httpd -t
Syntax OK

うまくいった。

ports でサクッといきたいんだけど、そうもいかなかったりする事情があるわけで。
まぁ野良 make で困ったら ports 漁ればだいたいは済む。

件の patch 、CFLAGS や LDFLAGSなんちゃらの変更をしているんだけど、LDFLAGS なんちゃら がキモのようだ。。
/usr/bin/objformat 実行して aout か elf か判別して分岐。
7.0 だと /usr/bin/objformat 自体ないから aout として判定されてしまい(2.2.8 ですか...)

LDFLAGS_SHLIB_EXPORT=""
SHLIB_SUFFIX_DEPTH=2

が設定されるとアウト。6系も objformat なかった気がするんだけどどうだったかな。。

試しに /usr/bin/objformat をでっちあげてみた( echo elf するだけ) ところ、パッチ当てずに済むことを確認。まぁ当然か。。