2007年12月30日日曜日

37signals 要チェックや

* 注) 当方、デザイナーではない

デザイナーがプロダクト事業を起こす方法 by Jason Fried (37signals)
しかし何よりも「物事を自分自身で徹底的に理解しようとする好奇心」がいちばん役立つ。
ですよねー。だと思ったー。どぅふふふふふうふ。

2007年12月28日金曜日

[FreeBSD] ドネーション

FreeBSD Foundation、35万米ドル近い資金を獲得

読み進めていくと。。
ビジネス分野ではIsilon Systemsが安定性や高いパフォーマンス、そのライセンス条項の扱いやすさからFreeBSDを採用したこと、NetAppがHPC市場に対するプロダクトでFreeBSDをベースコンポーネントとして採用していることを紹介。
Isilon が使ってるぽいのはcvsのコミットログでなんとなく知ってたけど(あぁ、これこれ) NetApp も使ってるのか。まぁ似ても似つかぬくらい手が加えてあるんだろう。
ハコものはBSDライセンスなものを採用するのが定番?他 Coyote だったり Juniper だったり。Cisco もどこかで採用してるのかな。こんなんあるし

2007年12月27日木曜日

PHP at Yahoo! JAPAN

前みたけど、今日また見てた

「PHP at Yahoo! JAPAN」

このとーりだと、PHP5 への移行終わってるんだよなー。流石。。。

最近思い知らされたこと

思いこみがあったというかなんというか。そんなお話。

Web系なプログラマ(という書き方が適切かはわからない)は、サーバいじりが必要になったときはちょちょいのちょいっとやってのけるんだよなー。

と思っていたけど、どうやらそうでもないということを知る。。

所変わればなんとやら。

2007年12月26日水曜日

Ruby 1.9.0 is released

[ruby-list:44387] [ANN] Ruby 1.9.0 is released

1.9.1 と思ってたけど違った。

Ruby 1.9.0 リリース!
ただし、本リリースは、当初予定していたRuby 1.9.1 ではなく、 Ruby 1.9.0となっています。これは、Ruby 1.9.1として期待していたほどの安定したものではないためです。しかしながら、予定していた非互換な変更はすべて取り入れられています[ruby-dev:32713])。ご了承ください。
なるほど納得。

2007年12月23日日曜日

[Ruby] 1.9

さっきおもむろに svn で とってきたやつは
make test が全部?パスした。
(snip)
test_marshal.rb .
test_massign.rb .................................
test_method.rb .................................................................................................................................................................................................................
test_objectspace.rb ...
test_proc.rb ..................
test_syntax.rb ..............................................................................................................................
test_thread.rb ....................
PASS 807 tests


test-allはこんなん

3449 tests, 1642625 assertions, 18 failures, 187 errors
make: *** [test-all] Error 1
詳しいことは知らない。

2007年12月15日土曜日

[Ruby] Programming Ruby

Programming Ruby 3: The Pragmatic Programmers' Guide, 3rd Edition

ピッケル本第3版。
2008年5月。1.9対応か。

今のところベータ版、で PDFは入手可能。
$25 で PDF
$60弱で PDF+本

ふーむ。日本語版は早くて秋頃、と勝手に予想。

2007年12月12日水曜日

hatena.ne.jp の DNS

某DNSちぇっかー (公開未定)
をコネコネしてる最中に気づいた

hatena.ne.jp の DNSの1台が返事してくれなかった

% host -t ns hatena.ne.jp
hatena.ne.jp name server ns0.future-s.com.
hatena.ne.jp name server ns1.future-s.com.
% host -t a www.hatena.ne.jp ns0.future-s.com
Using domain server:
Name: ns0.future-s.com
Address: 219.99.160.180#53
Aliases:

www.hatena.ne.jp has address 221.186.146.27
% host -t a www.hatena.ne.jp ns1.future-s.com
;; connection timed out; no servers could be reached

% date
2007年 12月 11日 火曜日 16:48:20 UTC


% host -t ns future-s.com
future-s.com name server ns0.future-s.com.
future-s.com name server ns1.future-s.com.

future-s.com の DNSサーバでもある。
レンサバやさんのようだ。

2007年12月8日土曜日

解約

某レンタルサーバをポチッと解約した。

契約時(1年とちょっとまえ)、
「正式な登録完了の書類は、まもなく郵送にてお届けいたします。」

てメールできてたんだけど、結局こなかったなー。
正式に完了しないまま使ってたことになるのかな (w

・郵送事故

・レンタルサーバの中のひとの怠慢
か。

解約したからもういいや。

Rails 2.0

Riding Rails: Rails 2.0: It's done!

12月中とあったけど、もう。
というわけで Rails本第3版マダー?(ぇ

2007年12月7日金曜日

darkstat

GIGAZINE で darkstat とゆーのが紹介されてたのでいれてみた。

% sudo apt-get install darkstat

バージョン古い。。
% darkstat --version
darkstat v2.6 using libpcap v2.4 (i486-pc-linux-gnu)
Copyright (C) 2001-2003, Emil Mikulic.
http://purl.org/net/darkstat

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, write to the Free Software
Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.


起動。
バージョン違うからか、GIGAZINEの記事とは違って、
・デフォルト port が 666 (!)
・バックグラウンドには移行しない (--detach つければする)

ポートさらすのはいやなので 127.0.0.1 で bind してみた
(ssh でポートフォワードして見るの)
% darkstat -i eth0 -b 127.0.0.1
darkstat v2.6 using libpcap v2.4 (i486-pc-linux-gnu)
Binding webserver to 127.0.0.1
Firing up threads...
Sniffing on device eth0, local IP is xxx.xxx.xxx.xxx
GRAPH: Starting at 15 secs, 38 mins, 13 hrs, 7 days.
Loaded darkstat.db.
DNS: Thread is awake.
WWW: Thread is awake and awaiting connections.
WWW: You are using the English language version.
ACCT: Capturing traffic...
Point your browser at http://localhost:666/ to see the stats.

ポートフォワード (Mac OS X上)
端末はいらんので -T をつけるのが大人。
% ssh -T 対象サーバ -Lにんいのぽーと:localhost:666

はい、みれました。


darkstat を ctrl-c でとめ。
Caught SIGTERM, syncing threads...

Syncing... 3 threads (acct) (dns) (www)
ACCT: Out of capture loop.
DNS: Thread down.
^PSyncing... 1 thread (www)
WWW: Thread down.
Caught a redundant SIGTERM. Still waiting for:
Synced! Dumping DB...done!
Can't unlink pidfile: Bad address

記事中、kill -9 が書いてあったのが不思議だったけど
SIGTERM で止まるよね。
Can't unlink pidfile: Bad addressはちょっと気になるけど放置。

daemontools の supervise下で起動させるのもよさそう。

-- その後
バージョン 3.0.707 の debパケージを作ってそっちに入れ替えた。
作り方の勝手がよくわからず、ぐぐりつつ適当にコマンドたたいてたらできたけどよくわかってない。
・起動スクリプトない (前述の supervise 配下にした)
・やっぱりデフォルトポートは 667
・フォアグラウンドで動かすには --debug
・rootの権限は捨ててくれる (nobody になった)

[Postfix] smtp-auth

んー。あれこれいじくってるうちに前と同じように送信できるようになった。。。

うーん。タチが悪い。

2007年12月6日木曜日

スレッドの話。

(Linuxサーバで) psでみたとき MySQLのプロセスがぶあああああって増えないのはなんで?
といった感じの質問が挙がる。

それは・・・NPTL だからでそ。
ただのサーバ管理者でも知ってるはず。(自分がそう)

ざっと、Linuxでの
ちょっと前までのpthread の実装 -> Linuxthreads
今 -> NPTL

だよね。。NPTLはRedHat 9くらいから出てきたはずなので何年か経ってる。

これを書いている時点の自分は実装がどうだとかはさっぱり知らないけどね。

本物のPOSIXスレッドライブラリ
2002年か。。

glibc-2.4 から NPTL 一本化してる

C10K問題 4. 各スレッドが一つのクライアントを受け付ける
内容がちょびっと古いみたいだけど、まとまっててステキ。

Solaris やら (Linuxthreads をつかっていない)FreeBSD なら ぶああああ (w って見えないんだけどね。。(psで適切なオプションつければ見える。)

で 当時のスラドやら雑誌の記事やらをみてたもんで、
Ulrich Drepper という開発者の名前はすり込まれてた。glibcのエライ人。

どうも、自称オープンソースプログラマな人でもその名前を知らなかったりする模様。
What Every Programmer Should Know About Memory - enbug diary (2007-11-26)
引用
P.S. それよりもっと驚いたのは自称オープンソースプログラマな人がUlrich Drepperの名前も知らないことであった!相当な有名人だと思うんだがな、少なくとも開発者の間では。

サーバ管理者で知ってる、となると数少ないんだろうな・・・。
ほか Rusty Russellとかとか。

まぁ ひとつだけいえることは・・・

「それダレ?知っててなにかおいしいの?」と言われるのがオチか。。

[Postfix] smtp-auth はまり中

これまでつかってた(まだつかってるけど)
某レンタルサーバで手でいれたPostfixだとすんなりSMTP-AUTHできた。
今度はどうもできない・・・・orz....

・設定問題なさげ
・デフォルト chroot してるのが関係?
・じつは smtpd.conf の場所がへん?

うーむ ( -_-)
寝て起きても解決せず。

2007年12月5日水曜日

[FreeBSD] $ make love

skype で make(1) の話題に。

GNU Make
% make love
make: *** No rule to make target `love'. Stop.

FreeBSD の make (6.2-RELEASE)
% make love
make: don't know how to make love. Stop

そう。 don't know how to make 〜〜〜 だよな
と思ってたら、FreeBSD 7.0-BETA3だと。。

% make love
Not war.

おや?
ソースをみてみると・・・ (/usr/src/usr.bin/make/job.c)
#if OLD_JOKE
if (strcmp(gn->name,"love") == 0)
(*abortProc)("Not war.");
else
#endif

わは。
どうも結構まえからあるみたいで、-CURRENT は
CFLAGSで -DOLD_JOKE が設定されてた模様。。知らなかった。

なんで 「Not war.」 なの?と思ったら
Make Love Not War
殺し合うのでなく愛し合おう◆特に1960~70年代に多く使われた反戦運動のスローガン
というのを見つけた。

Not war!

2007年12月2日日曜日

[Postfix][SQLite][dovecot] バーチャルな受信まわり

・Postfix で virtual_mailbox〜〜などを設定した
・配送された
・dovecot, SQLite をいれて
・dovecot に sqlite 使わせて受信してみた


ざっとこんな風。

o main.cf に下記設定 (ここでは example.jp とした)
virtual_mailbox_domains = example.jp
virtual_mailbox_base = /home/vmailbox
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/etc/postfix/virtual

uid_maps,gid_mapsはめんどいのでstaticに。値は適当。
ユーザ、グループは存在しない。
/home/vmailbox は umask 027, chown 5000:5000で作っておいた。

・/etc/postfix/{vmailbox,virtual} は以下
- vmailbox
hoge@example.jp example.jp/hoge/Maildir/

- virtual (ほかに転送しないならいらない)
hoge@example.jp hoge@example.jp,fuga@example.com

Maildir 形式をつかうのでケツに/
作ったあとは postmap を忘れずに。

o dovecot いれ
sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d

o sqlite いれ
sudo apt-get install sqlite3 sqlite3-doc

o dovecot 設定
みたところ
PasswordDatabase
Authentication/PasswordSchemes
・デフォルト設定のdovecot.conf,dovecot-sql.conf

まずdovecot.conf
protocols = pop3 pop3s imaps
(pop3 は手で確認するため用.できたら削除)

passdb sql {
#Path for SQL configuration file
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
#Path for SQL configuration file
args = /etc/dovecot/dovecot-sql.conf
}

passdb sql, userdb sql の箇所はコメントアウト -> コメントインしただけ。

次dovecot-sql.conf
driver = sqlite
connect = /etc/dovecot/authdb.sqlite
default_pass_scheme = SSHA
password_query = SELECT userid as user, password FROM users WHERE userid = '%u' AND active = 'Y'
user_query = SELECT home, uid, gid FROM users WHERE userid = '%u' AND active = 'Y'

を記述

sqliteをつかうぜ、な設定
connect でデータベースファイル設定.例のまま.
default_pass_scheme は なんとなく SSHAで (Salted SHA1)。SHA256 は 1.1系かららしいので使えず。。
password_query と user_query は書かれていたものほとんどそのまま。

で、dovecot 再起動。

o sqliteで受信用ユーザ設定
パスワードは sqliteにぶちこむので
echo -n 'パスワードの文字列' |sha1sum
をして sha1 した文字列を作成しておく。

dovecotpw で ssha なやつを作成しておく。

/etc/dovecot 以下でごそごそ
# touch authdb.sqlite
# chmod 640 authdb.sqlite
# chgrp mail authdb.sqlite
(sqliteつかう場合、まずtouchするのがフツーなんだろうか?ワカラン。)

# sqlite3 authdb.sqlite

以下sqlite3 のプロンプト

CREATE TABLE users (
userid VARCHAR(128) NOT NULL,
password VARCHAR(64) NOT NULL,
home VARCHAR(255) NOT NULL,
uid INTEGER NOT NULL,
gid INTEGER NOT NULL,
active CHAR(1) DEFAULT 'Y' NOT NULL
);

insert into users values (
'hoge@example.jp',
'ぱすわーどをsalted sha1した文字列',
'/home/vmailbox/example.jp/hoge',
5000,
5000,
'Y'
);

select * from users;
.quit

あとはtelnet で 110 たたいて確認。

telnet localhost 110

user hoge@example.jp
pass ぱすわーど

list なり
retr [数字]なり
dele [数字]なり


SQLite を使ったワケ: 個人用なので MySQL,Postgres をつかうのは大袈裟。SQLite がピッタリ。

2007年12月1日土曜日

tail と tail と tail

FreeBSDの、
tail のバグが直されてた

わざとディレクトリを tail。
segmentation fault してたのがしなくなった。
(7-BETA3上だけで確認. 6だとしないっぽい)
けどへんな出力はする。

% tail /
....snap@@dev��tmp��usrA@var3
home�����etccdrom�B@dist7�bin��boot7�C@liblibexecD@mnt��proc7���rescue�root7�E@sbin7�
sys.cshrc.profile�� COPYRIGHT��2
compat�media��service

Mac OS Xだと、なにもでない
% tail /usr/local
%

GNU のだと (tail (GNU coreutils) 5.97 )、それディレクトリって言ってくれる。
% tail /usr/local
tail: error reading `/usr/local': Is a directory

GNU coreutils の動作がいいんじゃ・・。

[Mac OS X] CotEditor 0.9.3

前回、展開してダメだったんだけども、dmg2iso でdmg -> isoに変換して、マウントできた。。

変換の時点でエラーになるんじゃないかなーと思ったけど、さくっとできた。

なんなんだ一体。

2007年11月30日金曜日

[qmail] public domain に.

qmail going public domain ?
にあるとーり、 public domain になった。

Information for distributors
--
I hereby place the qmail package (in particular, qmail-1.03.tar.gz, with MD5 checksum 622f65f982e380dbe86e6574f3abcb7c) into the public domain. You are free to modify the package, distribute modified versions, etc.
--

qmailだけじゃない模様
DJB Releases All Source to Public Domain

2007年11月25日日曜日

[MacPorts] ながすぎ。。

なんじゃこりゃぁ

% ls -lh
/opt/local/var/macports/distfiles/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl-5.8.8.tar.bz2
-rw-r--r-- 1 root admin 9.7M 11 11 14:10 /opt/local/var/macports/distfiles/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl5.8/perl-5.8.8.tar.bz2

どうしてこんなんなったんだ・・・

[Mac OS X] Skype すかいぷ

skypeが起動しなくなってうざーと思っていた矢先、コメントをもらってたのに気づいたので、こないだ解決法を実施したら解消した。
ロックをしただけ。

と思っていまみたら、ロックしてないな。。あれ?
10.5.1 にしたら解消した?

2007年11月23日金曜日

Firefox 3 Beta 1

使ってみた。

Build identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9b1) Gecko/2007110903 Firefox/3.0b1

キビキビ動作してくれてる気がする。好感触。
アドオンはほとんど使わないのでどうでもよし。

2007年11月17日土曜日

[Mac OS X] Parallels Desktop

いれなおした後で、Parallels 入れてなかったので入れ。使ってなかったわけで (ぉ

・3.0 の Build 5160 をいれ
・License Key を入力
・前バージョン購入時に発行された License Key も要求してきたので入力

License Key の書かれたメール探すのにやや手間取った...

無事完了。
% kextstat -k |grep parallel
106 0 0x35a6e000 0x14000 0x13000 com.parallels.kext.hypervisor (3.0)
107 0 0x35c7c000 0x10000 0xf000 com.parallels.kext.vmmain (3.0)
108 0 0x35933000 0x4000 0x3000 com.parallels.kext.ConnectUSB (3.0.0) <37>
109 0 0x35f92000 0x6000 0x5000 com.parallels.kext.Pvsnet (3.0)
110 0 0x35a88000 0x3000 0x2000 com.parallels.kext.Pvsvnic (3.0) <77>

2007年11月13日火曜日

もういちど見直したい DNS/DHCP

もういちど見直したい DNS/DHCP

2ページ目の設定やってないとこ多いと思う。

引用 (しすぎ?)
再帰的名前解決の制限

 フォワーダー(キャッシュサーバ)を構築する際に、許可をする再帰的名前解決の設定上の問題となります。LAN内部にフォワーダーを構築する場合は、この再帰的名前解決が有効になっているはずです。実際の設定は、/etc/named.confに以下の設定が書かれていると思います。
recursion yes;

 LAN 内部のサーバであれば、これだけの設定でもさほど問題が発生することはありません。なぜならLANに接続できるのは許可されているクライアントと考えることができるからです。許可されていないクライアントが接続できる場合は、別のセキュリティ上の問題を解決する必要があります。

 ここで問題とするのは、外部のプライマリをフォワーダーと兼用している場合になります。上記の設定がされていれば、名前解決については問題なく動作していることと思います。ですが、これだけでは再帰的名前解決を許可するクライアントの制限がされていないため、外部のクライアントからの要求も処理してしまいます。

 その場合、DDoSの踏み台になる可能性があります。直接サーバに何かをするというわけではありませんが、DNSサーバを踏み台として特定のサーバへのDDoSの加担をすることとなってしまいます。つまり、知らないうちに加害者になってしまうのです。

 再帰的名前解決を許可するサーバでは、上記設定と同時に以下の設定により、クライアントの制限をする必要があります。
allow-recursion { IP-Address; };

 この問題については、2006年にJPCERT/CCより勧告が出ておりますので、目にした人も多いと思います。


その1
その2
その3
その4
その5

[Mac OS X] 10.4

Tiger に入れ直したくなってきた。。

[Mac OS X] command + tab

Firefox のウィンドウが前面のままで、
command + tab でアプリケーションの切り替えがままならない。

他のアプリケーションのウィンドウ選んでも、Firefox が上。
Dock よりも上。メニューバーの上にも置けるし。

なんで?

なんか設定あったんだっけ、、

変だなぁ

起動直後はまともに動いてるな。

[Perl] 脆弱性 ぜいじゃくせい !きじゃくせい

Perl Regular Expressions Unicode Data Buffer Overflow

Perl、ってのが珍しい気がする。気のせい?

[Postfix] バーチャルドメイン

某VPSで動かしている Postfix でバーチャルドメインを設定しよかとおもたけど今日はやめといた。

2007年11月11日日曜日

いれなおし

なんだか挙動不審に思えたので、Mac OS X 入れ直し。
上書きでなく、あとで移行アシスタントを一部使用。一部。

ことえりをつかうの久しぶりだ...

ターミナルのフォントを何にしてたか思い出せない。。
なんか、、、見栄えが違う

Quicksilver のサイトつながんないと思ったら、URLが変わったのか、ここだった

iTunes はファイルの整理をしてくれて、操作ができず同じ曲を延々と聴くはめに、、。Dashboard から操作しようと思ったらDashboard 固まってるように見えた。どのタイミングかわからないけど直った。

入れ直したおかげで locale コマンドがぶっ壊れていた(?) のが直った。

[Mac OS X] CotEditor 0.9.3

今頃バージョン 0.9.3 がでてるのに気づく。
ダウンロードした CotEditor_0.9.3.dmg を展開しようとすると、

「開いているディスクイメージは壊れている可能性があり、お使いのシステムを壊すかもしれません。」
というダイアログがでる。。


「開かない」でおくと、理由として
「マウントできるファイルシステムがありません」とでる。。

「開く」をしちゃいたいけど、怖くてできない。。(チキン)

md5 値は正しい。

% md5 ~/Downloads/CotEditor_0.9.3.dmg
MD5 (/Users/katsuji/Downloads/CotEditor_0.9.3.dmg) = 684751d163b8db84d4b4cbc960408cb8

サイトをみると、「Leopard上でつかってますー」というかき込みが見られるから、自分の環境が怪しいなぁ。。

FreeDMG というのもので作ってあるらしいので、FreeDMG を使ってみる・・・。 手元のてきとーな .dmg を「イメージ検証」すると、diskimage は Apple_HFS がほとんど (今のところそれしかみあたらない)

CotEditor_0.9.3.dmg は Apple_HFSX , CotEditor_0.9.2.dmg は Apple_HFS.

んー。自分のマクブクだと Apple_HFSX なディスクイメージが展開できない・・・・?

ちゃんと扱えるように見えるんだけど、どこを攻めればいいんだろう。

HFSX なやつ
% hdiutil create Hoge -megabytes 20 -fs HFSX -volname "hoge"
.....................................................................................................
created: /Users/katsuji/Hoge.dmg
% open Hoge.dmg
% df -h |grep hoge
/dev/disk1s1 20Mi 480Ki 19Mi 3% /Volumes/hoge
% touch /Volumes/hoge/hoge
% touch /Volumes/hoge/Hoge
% touch /Volumes/hoge/HOGE
% ls -li /Volumes/hoge
total 0
25 -rw-r--r-- 1 katsuji katsuji 0 Nov 11 13:41 HOGE
24 -rw-r--r-- 1 katsuji katsuji 0 Nov 11 13:41 Hoge
23 -rw-r--r-- 1 katsuji katsuji 0 Nov 11 13:41 hoge

従来のHFS+
% touch /tmp/hoge
% touch /tmp/Hoge
% touch /tmp/HOGE
% ls -l /tmp/ |grep -i hoge
-rw-r--r-- 1 katsuji wheel 0 Nov 11 13:42 hoge

しばらく 0.9.2 でいいや。。
むちゃくちゃ使い倒してるわけではないけど、かなり気に入ってるので「CotEditor捨て」という選択肢はいまのところ考えられない。また後日。

[Mac OS X][Leopard] Skype がおかしい

1 dmg 展開して「アプリケーション」にコピー
2 起動する
3 終了
4 二度と起動しなくなる
1 に戻る

これかな?

skype 側がなんとかする(?)のか、既に準備中の 10.5.1 で修正が入る(?)のか。どっちかな。

2007年11月5日月曜日

[FreeBSD] kern.ipc.nmbclusters て

増やすのはブート時でなくて
起動後でもできるようになってたのか。。
いつから? 6.2 でもできた。。

% sysctl kern.ipc.nmbclusters
kern.ipc.nmbclusters: 12864
% sudo sysctl kern.ipc.nmbclusters=32768
Password:
kern.ipc.nmbclusters: 12864 -> 32768
% sudo sysctl kern.ipc.nmbclusters=65536
kern.ipc.nmbclusters: 32768 -> 65536

% sudo sysctl kern.ipc.nmbclusters=32768
kern.ipc.nmbclusters: 65536
sysctl: kern.ipc.nmbclusters: Invalid argument


% netstat -m
69/201/270 mbufs in use (current/cache/total)
64/70/134/65536 mbuf clusters in use (current/cache/total/max)
64/64 mbuf+clusters out of packet secondary zone in use (current/cache)
0/2/2/0 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/0 9k jumbo clusters in use (current/cache/total/max)
0/0/0/0 16k jumbo clusters in use (current/cache/total/max)
145K/198K/343K bytes allocated to network (current/cache/total)
0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0/4/3472 sfbufs in use (current/peak/max)
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
0 calls to protocol drain routines


一方、Mac OS X(というより Darwin ?)はできない。read only。

% sudo sysctl -w kern.ipc.nmbclusters=65536
sysctl: oid 'kern.ipc.nmbclusters' is read only


どうもぐぐってここみられてるらしいので追記しとくか:
関連)
Tuning Kernel Limits
Performance - Varnish

2007年11月4日日曜日

[Perl] やばいコード

やばいコードをみつけた。実話。

以下のとおり。

---
if ( $emergency_flg ){
# やばい
$SUBJECT = "EMERGENCY!! $SUBJECT";
}
---

こんなん、コメント要らない。。
変数$SUBJECT は何故大文字にしているのかちょっと気になったけど、読まなきゃいけないものではなかったのでスルー。

Hyper Estraier

サーバおきかえのためにごそごそ。

・DNS - とくになにもないので 1ドメイン除いて終わり
・apache - とくになにもないので終わり
・メールまわり - まだ

雑多なテキストファイルがそこそこ溜まってたので、そいつらはVPSでなくておうちの似非サーバに待避。待避したついでに、Hyper Estraier を入れてみた。常々使おうとは思ってたんだけどね・・。

- 導入 (FreeBSD-7.0-BETA2 上)
% sudo portinstall textproc/hyperestaier
・WITH_LZO を選択
・WITH_MECAB を選択

依存関係から以下も入る
ja-mecab-ipadic-2.7.0_3
libiconv-1.11_1
ja-mecab-0.96
qdbm-1.8.76
lzo2-2.02_1

途中、やたらウォーニングが出た気がするけど気にせず。

- 設定
イントロダクション そのまま。

実際に設定したのとは違うけどこんな風。

・とりあえずテキトーなところにインデックス作成
% estcmd gather -il ja -sd /tmp/he_test ~/text

インデックスを作るの、やたら速い! と思った。

・検索用 cgi 設置
% cd ~/public_html/cgi-bin
% cp /usr/local/libexec/estseek.cgi .
% cp /usr/local/share/hyperestraier/estseek.* .

・estseek.conf 編集
% vi estseek.conf
indexname: を↑でつくった /tmp/he_test に
replace: を ^file:///usr/home/katsuji/text/{{!}}https://[サーバ名]/text/
な具合に。サーバ側のパスはシンボリックリンクではまってしまった。

web ブラウザでもりもり検索できることを確認。
あとは cron で更新させておけば ok. 待避したものなので、削除はするけど追加はないかな。。

2007年10月31日水曜日

[PHP] イヤーな はめられ方

とある集計ができていない、という。

とりあえず引き継いだ自分がやらなきゃならんので、調査。
cron で実行してる。

運良く?実行時にログを吐くようにしているのでそれをみる・・。

fopen で ファイルが開けてない。んー。パスがおかしくね?

経緯
・こないだサーバ移行した (したのは別の人)
・構成は全く同じ
・それ以降変更はなし


んー。どうしたもんか。
とりあえず3,4年前のふるーいコードを追っていく。
やっぱりパスの解釈がおかしい??

でも・・・ 変更してないならなぜおこる?


調査結果
移行前は cgi 版を使って実行していたけど、 移行後は cli 版で実行していたため。
$_SERVER['DOCUMENT_ROOT']があるとき、
空であることは考えてなかった模様。。。

cronで実行させるんなら、 フツー cli だから合ってるんじゃね?とも思うけど、旧環境はcgi 版。自分の常識は通用しない。

cronで実行してるスクリプトの一部分だけもってきて、
似たような感じにしてテスト。

こんなかんじ。

--

if (isset($_SERVER['DOCUMENT_ROOT'])) {
$hoge = sprintf("%s/../hoge/fuga", $_SERVER['DOCUMENT_ROOT']);
} else {
$hoge = sprintf("%s/../hoge/fuga", $_SERVER['PWD']);
}

print "$hoge\n";
--


cli, cgi 版それぞれでチェック

cli
% cat /tmp/test.php|php -q
/../hoge/fuga

cgi
% cat /tmp/test.php|php-cgi -q
/home/katsuji/../hoge/fuga

正解。
cli版だと期待したパスになってない。
そらそーだ、$_SERVER['DOCUMENT_ROOT'] が空だから。

こんなかんじ。

% php -i |grep -i document
$_SERVER["DOCUMENT_ROOT"] =>
% php-cgi -i |grep -i document


・if (isset($_SERVER['DOCUMENT_ROOT'])) が悪
か、
・移行するときにちゃんと前の環境とそろえとけ
と。。。

if (isset($_SERVER['DOCUMENT_ROOT']) && $_SERVER['DOCUMENT_ROOT'] != NULL)
のような具合なら cli 版でもよかったね ( -_-)

2007年10月30日火曜日

Leopard で 「おおっ」と思ったり思わなかったり

あまり予備知識がないまま
ちょっと使ってみたところ、以下。

・メニューバーが渋く
・オーロラの画像
・Finder 改良
・クイックルック
・Spaces が小気味良い
・Terminal タブ化、ちょっと嬉しい。 あと、テーマがいくつか選べる。
・ssh がキーチェインに統合 ?された
こんな感じ


・Safaril 3.0.4
・プルダウンメニューのフチが丸くなった気がする

Time Machine は外部ストレージもってないのでしばらく出番はないかな・・・。
カーネルはバージョン 9.0.0 らしい
Darwin Kernel Version 9.0.0: Tue Oct 9 21:35:55 PDT 2007; root:xnu-1228~1/RELEASE_I386

10/9 なんだね

/mach_kernel は 10/10
-rw-r--r--@ 1 root wheel 9.8M 10 10 13:38 /mach_kernel

2007年10月28日日曜日

ThinkPad がクラッシュしまくる

X32 がクラッシュしまりんぐ。

再現方法は以下だった。今は直ったので再現しない。

・リモートデスクトップで X32 につなぐ
・リモートデスクトップ切る
・X32 に直接ログオンする

ログオン後、なにも操作ができずに BSOD

wdf01000.sys でぐぐる

こんなのがみつかる
---
WindowsXP質問スレ 178ページ目
wdf01000.sys のブルースクリーンエラーが出現します。 ("ハード ディスクの保護" をオフにしない限り、現象は続きます) でないようにすることは可能でしょうか? OS:WindowsXP SP2 機種:色んなPCで試したが同現象 HDD: 2.5inch HDD を2種類で試した ...
pc11.2ch.net/test/read.cgi/win/1191985360/338-438 - 39k - キャッシュ - 関連ページ

---
ThinkPad X series Part59
wdf01000.sys - Address F6907C80 base at F68E8000, Datestamp 444738f2 個別環境の問題ということで、 ATOK, firefox, thunderbird, e-mobileくらいかな。 あとはアクティブプロテクションとか、クライアントセキュリティとか。 ...
pc11.2ch.net/test/read.cgi/notepc/1192934541/363-384 - 17k - キャッシュ - 関連ページ
---

見つかった先に書かれているものをよく読む。
どうもトラックポイントのドライバが腐っているとかなんとか。

つい最近 windows update でドライバ更新したから、そのせいか ?

自分の使っているのは X32 、でドライバのバージョンも違ってたんだけど
怪しいところから突くってことで、まず ThinkPad ソフトウェア導入支援で古いの(?)を入れる。
そのあといっぺん windows update してみた。このへんよくわからん。なんとなくでポチポチっと。

その後直ったように見える。暫く様子見。

・・・・直っていなかった orz...


あれこれするのも面倒なので、
必要なデータを待避後、工場出荷時に戻して再セットアップした。
これで直ったはずだ。。


やれやれ・・・

2007年10月27日土曜日

VPSなサーバに

某国内のサーバを借りているけど、やめることにした。
今度使うのはvpslink.

・おうちに置かずに
・ssh ではいれて
・root つかえる

ということであればどこでもよい。
同等のスペックで選択。
アドレス3つついてきた。そして費用は安くなった。
VPSなサーバで、OpenVZXen か選択。 -> Xen にして Ubuntu 7.10 を入れた。

ssh で入った感じ、思ったより「遠い」感じがしなくてよかった。

とっとと国内のは片付けてしまおう。

おまけ
大分前つかってたところ
linode
今回つかうとこ
vpslink
候補にあがったところ
provps

2007年10月21日日曜日

ポリフォニー・デジタル

「『グランツーリスモ』年収別スタッフ募集。最大1000万円」

というのがあったのでみてみたら、「ネットワークエンジニア」もあり。
オフィスが「オフィス」じゃないらしく、「スタジオ」と呼ぶらしい。
いい拘りだと思う。

まぁそれはさておき、つい DNSサーバを調べてしまう。
やや中毒気味になってきた。

===> domain: polyphony.co.jp
---> ns01.pwd.ne.jp: x
---> ns3.polyphony.co.jp: o
---> ns.polyphony.co.jp: o
<===

polyphony.co.jp な ネームサーバは o

2007年10月20日土曜日

Mac OS X と Ruby と Python などなど

MacOS X v10.5 Leopardて、

アップル - Mac OS X Leopard - テクノロジー - UNIX
---
Ruby 1.8.6とPython 2.5は、Cocoaブリッジ、 Xcode とInterface Builderのサポート、DTraceモニタリング、Frameworkビルド、さらに 新しいScripting Bridgeを使ったAppleEvent バインディングにより、Mac開発のためのファーストクラス言語になっています。Rails、Mongrel、Capistranoが同梱されたLeopardは、Ruby on Rails開発に理想的なプラットフォームでもあります。
--

Rails, Mongrel, Capistrano もコミコミなんだね。

UNIX認定がどうウマーなのかよくわからないけど、ほにゃらら準拠、ていうのは悪くはない出来事なんだろうな。

前のバージョンだとBSDのことが少し書いてあったりデーモンくんの画像があったけど、無くなったのかな。無くした?

セキュリティには
--
CERT/CC、FIRST、FreeBSDセキュリティチームをはじめとする数多くのセキュリティ機関のほか、米国国土安全保障省とも協力しています。
--
とは書いてあるなぁ

キャッシュNS, コンテンツNS -- 結論

こうして
何度か
DNSを
チェックしてみたんだけども

・ITが本業な企業はコンテンツNSだけ機能させている (のが多い)
もちろん必ずしもそうではない。

・ITが本業でない企業はキャッシュNSも機能させている (のが多い)
これは、以下のように勝手に推察する。
「え?DNS? 使えてるからいいよね」
「別のアドレスを使うようにして機能を分ける?なんじゃそれ?」
「別のアドレス?アドレス追加するの、予算おりないんだよね」
「それか、制限をかける?いやそんな設定ワカラン」
というのがあるんじゃないかなと。

2007年10月19日金曜日

kldload zfs

メモリ、最低で512MB要るんだね。。。

---
kernel: WARNING: ZFS is considered to be an experimental feature in FreeBSD.
kernel: ZFS WARNING: Recommended minimum RAM size is 512MB; expect unstable behavior.
kernel: ZFS filesystem version 6
kernel: ZFS storage pool version 6
--

2007年10月18日木曜日

人気企業の DNS サーバ

また、例のこれ

人気企業は日経ナビ2008のを利用
今回は nsa.gov の A RR を引いてみた。

結果は以下。

===> domain: ana.co.jp
---> ns-kg022.ocn.ad.jp: x
---> ns.ana.co.jp: o
---> nss.ana.co.jp: o

===> domain: toyota.co.jp
---> royal.tns.ne.jp: o
---> majesta.tns.ne.jp: o
---> ns1a.toyota.co.jp: x
---> ns1b.toyota.co.jp: x

===> domain: panasonic.co.jp
---> dns1.mei.co.jp: x
---> dns0.mei.co.jp: x

===> domain: suntory.co.jp
---> nst1.sgn.suntory.co.jp: o
---> nst2.sgn.suntory.co.jp: o
---> ns.center.web.ad.jp: x
---> nso1.sgn.suntory.co.jp: o
---> nso2.sgn.suntory.co.jp: o

===> domain: bk.mufg.jp
---> dns2.ibps.ne.jp: x
---> dns01.mufg.jp: x
---> tokio.mind.ad.jp: x
---> ns1.idc.mind.ne.jp: x
---> dns1.ibps.ne.jp: x

===> domain: mizuho-fg.co.jp
---> w-ns3.agilit-hosting.com: o
---> w-ns1.agilit-hosting.com: o
---> w-ns2.agilit-hosting.com: o

===> domain: hitachi.co.jp
---> ns1.hitachi.co.jp: x
---> ns2.hitachi.co.jp: x
---> ns3.hitachi.co.jp: x
---> ns4.hitachi.co.jp: x

===> domain: mitsui.co.jp
---> tkacu126.mitsui.co.jp: o
---> dns2.mki-net.co.jp: x
---> tkacu125.mitsui.co.jp: o

===> domain: mitsubishicorp.com
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: sharp.co.jp
---> ns1.iij.ad.jp: x
---> ns1.sharp.co.jp: o
---> tg1.sharp.co.jp: o

===> domain: honda.co.jp
---> hornet.honda.co.jp: x
---> slasher.honda.co.jp: x
---> ns.spin.ad.jp: x
---> ns.tokyo.spin.ad.jp: x

===> domain: jal.co.jp
---> ns01.vips.ne.jp: x
---> ns01.jal.co.jp: o
---> ns02.jal.co.jp: o
---> ns00.vips.ne.jp: x

===> domain: sony.co.jp
---> ns3.sony.co.jp: x
---> ns.ssd.ad.jp: x
---> ns.sony.co.jp: x
---> ns2.sony.co.jp: x

===> domain: canon.jp
---> ns3.jp.canon.com: o
---> ns1.canon.net: x
---> ns2.canon.net: x
---> ns1.jp.canon.com: o
---> ns2.jp.canon.com: o

===> domain: dentsu.co.jp
---> www.dentsu.co.jp: o
---> ns1.iij.ad.jp: x

===> domain: shiseido.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: jtb.co.jp
---> ns.spin.ad.jp: x
---> ns.tokyo.spin.ad.jp: x
---> jtbdns.jtb.co.jp: o
---> ns.jtb.co.jp: o

===> domain: fujitsu.com
---> ns1.fujitsu.com: o
---> ns2.fujitsu.com: o
---> ns3.fujitsu.com: o
---> ns4.fujitsu.com: o
---> ns5.fujitsu.com: o
---> ns6.fujitsu.com: o

===> domain: toshiba.co.jp
---> ins11.toshiba.co.jp: o
---> inet-tsb.toshiba.co.jp: o
---> ins5.toshiba.co.jp: o

===> domain: itochu.co.jp
---> ns2.crc.ad.jp: x
---> mx.bxn.ne.jp: x
---> ns.itochu.co.jp: x
---> ns1.itochu.co.jp: x

===> domain: tokiomarine-nichido.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: hakuhodo.co.jp
---> idih01.hakuhodo.co.jp: o
---> ns-tk013.ocn.ad.jp: x
---> ns2.nttdatacenter.com: o

===> domain: fujitv.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: nec.co.jp
---> tyo267.gate.nec.co.jp: x
---> ns1.iij.ad.jp: x
---> tyo200.gate.nec.co.jp: x
---> tyo220.gate.nec.co.jp: x
---> tyo265.gate.nec.co.jp: x

===> domain: smbc.co.jp
---> sec.smbc.co.jp: o
---> pri.smbc.co.jp: o

===> domain: sumitomocorp.co.jp
---> ns1.iij.ad.jp: x
---> www.sumitomocorp.co.jp: x

===> domain: benesse.co.jp
---> dns3.odn.ne.jp: x
---> eksv01.synform.ne.jp: o

===> domain: dnp.co.jp
---> cosmic.dnp.co.jp: o
---> planet.dnp.co.jp: o
---> bluesix.dnp.co.jp: o
---> moondance.dnp.co.jp: o

===> domain: jr-central.co.jp
---> ns02.jr-central.co.jp: o
---> ns1.jtis.co.jp: o
---> ns2.jtis.co.jp: o
---> dns3.dion.ne.jp: x
---> ns01.jr-central.co.jp: o

===> domain: jreast.co.jp
---> ns01.vips.ne.jp: x
---> dns1.jeis.co.jp: x
---> ns00.vips.ne.jp: x

===> domain: nissan.co.jp
---> nvs001.nissan.ne.jp: x
---> sj000030.nissan.co.jp: x

===> domain: mhi.co.jp
---> kobens.mhi.co.jp: x
---> ns1.iij.ad.jp: x
---> mhins.mhi.co.jp: x

===> domain: nri.co.jp
---> ns1.index.jp: o
---> ns2.index.jp: o
---> ns3.index.jp: o

===> domain: daiwa.jp
---> ns05.mesh.ad.jp: o
---> ns04.mesh.ad.jp: o

===> domain: tepco.co.jp
---> tdns4.tepco.co.jp: o
---> tdns5.tepco.co.jp: o
---> tepcogw.tepco.co.jp: o
---> tdns2.tepco.co.jp: o
---> tdns3.tepco.co.jp: o

===> domain: kao.co.jp
---> ns-tk021.ocn.ad.jp: x
---> aube.kao.co.jp: o

===> domain: tv-asahi.co.jp
---> dns-c.iij.ad.jp: o
---> dns-b.iij.ad.jp: o

===> domain: tr.mufg.jp
---> tokio.mind.ad.jp: x
---> ns1.idc.mind.ne.jp: x
---> ns2.dhs.jtidc.jp: x

===> domain: sekisuihouse.co.jp
---> ns7.eonet.ne.jp: o
---> ns1.eonet.ne.jp: x

===> domain: kodansha.co.jp
---> ns1.kodansha.co.jp: x
---> ns0.kodansha.co.jp: x
---> ns1.nssol.ne.jp: x

===> domain: nomura.co.jp
---> ns3.index.jp: o
---> ns1.index.jp: o
---> ns2.index.jp: o

===> domain: asahi-kasei.co.jp
---> ak.asahi-kasei.co.jp: o
---> ak2000.asahi-kasei.co.jp: o
---> ns6-tk02.ocn.ad.jp: x

===> domain: marubeni.co.jp
---> mario.marubeni.co.jp: x
---> mcorp.marubenicorp.com: x
---> mario3.marubeni.co.jp: x

===> domain: kirin.co.jp
---> ns.kirin.co.jp: o
---> ns2.kirin.co.jp: o
---> ns02.pwd.ne.jp: x

===> domain: bandai.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: nttdata.co.jp
---> ms51.nttdata.co.jp: o
---> ns.via.or.jp: x
---> ms1.nttdata.co.jp: o
---> ms0.nttdata.co.jp: o

===> domain: kagome.co.jp
---> ns1.kagome.co.jp: x
---> ns12.pwd.ne.jp: x

===> domain: toppan.co.jp
---> dns-a.iij.ad.jp: o
---> celia.toppan.co.jp: o

===> domain: nttdocomo.co.jp
---> edison20.is.nttdocomo.co.jp: x
---> ns1.iij.ad.jp: x
---> edison.is.nttdocomo.co.jp: x
---> dns0.yrp.nttdocomo.co.jp: o

===> domain: takeda.co.jp
---> ns00.vips.ne.jp: x
---> ns01.vips.ne.jp: x
---> dns01.takeda.co.jp: o
---> dns02.takeda.co.jp: o

===> domain: sompo-japan.co.jp
---> ns.forward.ad.jp: x
---> ns1.sompo-japan.co.jp: o
---> ns2.sompo-japan.co.jp: o

===> domain: recruit.jp
---> ns2.tisidc.net: x
---> ns1.tisidc.net: x

===> domain: ntt-east.co.jp
---> ns2.ntt-east.co.jp: o
---> ns3.ntt-east.co.jp: o
---> ns4.ntt-east.co.jp: o
---> ns1.ntt-east.co.jp: o

===> domain: denso.co.jp
---> s-ref.denso.co.jp: x
---> majesta.tns.ne.jp: o
---> s-server.denso.co.jp: o
---> royal.tns.ne.jp: o

===> domain: lotte.co.jp
---> ns2.sphere.ad.jp: x
---> dns1.lotte.co.jp: x

===> domain: shueisha.co.jp
---> ns2.hitotsubashi.org: o
---> ns1.hitotsubashi.org: o

===> domain: toray.co.jp
---> dns2.toray.co.jp: x
---> speak.cable-net.co.jp: x
---> dns1.toray.co.jp: x

===> domain: olc.co.jp
---> ns1.savvis.net: o
---> ns3.savvis.net: o
---> ns2.savvis.net: o

===> domain: nhk.or.jp
---> ns01.nhk.or.jp: o
---> ns.nhk.or.jp: o
---> ns1.iij.ad.jp: x

===> domain: ajinomoto.co.jp
---> ns05.mesh.ad.jp: o
---> ms.ajinomoto.co.jp: x

===> domain: pg.com
---> ns04.savvis.net: o
---> pdns1.isc.savvis.net: o
---> pdns3.isc.savvis.net: o

===> domain: kokuyo.co.jp
---> ns05.mesh.ad.jp: o
---> ns04.mesh.ad.jp: o

===> domain: meiji.co.jp
---> ns102.sinfony.ad.jp: o
---> ns01.sinfony.ad.jp: x
---> ns101.sinfony.ad.jp: o

===> domain: mitsuifudosan.co.jp
---> dns2.smc.mki.co.jp: x
---> ns.mitsuifudosan.co.jp: x

===> domain: adk.jp
---> gatekeeper.asatsu-dk.co.jp: x
---> dns3.odn.ne.jp: x

===> domain: tbs.co.jp
---> ns.tbs.co.jp: o
---> ns.tokyo.spin.ad.jp: x
---> ns.spin.ad.jp: x

===> domain: ibm.com
---> internet-server.zurich.ibm.com: o
---> ns.almaden.ibm.com: o
---> ns.austin.ibm.com: o
---> ns.watson.ibm.com: o

===> domain: microsoft.com
---> ns1.msft.net: o
---> ns2.msft.net: o
---> ns3.msft.net: o
---> ns4.msft.net: o
---> ns5.msft.net: o

===> domain: shogakukan.co.jp
---> oceanus.shogakukan.co.jp: o
---> ns02.idc.jp: o
---> ns03.idc.jp: o

===> domain: mew.co.jp
---> ms-06s.naisis.co.jp: o
---> ms-06.naisis.co.jp: o

===> domain: fujifilm.jp
---> ns2.fujifilm.co.jp: x
---> ffilmcc2.fujifilm.co.jp: x

===> domain: mec.co.jp
---> mbdmsv03.mec.co.jp: x
---> mbdmsv04.mec.co.jp: o
---> ns.mec.co.jp: x
---> ns.itplugin.net: x
---> mectop.mec.co.jp: x

===> domain: morinaga.co.jp
---> ns01.morinaga.co.jp: o
---> ns04.morinaga.co.jp: o
---> ns2.iprevolution.co.jp: x
---> ns02.morinaga.co.jp: o
---> ns03.morinaga.co.jp: o

===> domain: nintendo.co.jp
---> zephyr.nintendo.co.jp: o
---> tempest.nintendo.co.jp: o
---> dns3.odn.ne.jp: x

===> domain: ricoh.co.jp
---> name.ricoh.co.jp: x
---> ns.ricoh.co.jp: o
---> ricohigw.ricoh.co.jp: x

===> domain: sfc.jp
---> dnsrv.starnet.ad.jp: x
---> dns.sumirin.co.jp: x

===> domain: konami-digital-entertainment.co.jp
---> dns2.konami.co.jp: o
---> mx1.konami.co.jp: o
---> mx2.konami.co.jp: o

===> domain: nisshinfoods.co.jp
---> ns07.mesh.ad.jp: o
---> ns06.mesh.ad.jp: o

===> domain: fhi.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: asahi.com
---> dns01.asahi-np.co.jp: o
---> dns02.asahi-np.co.jp: o

===> domain: daiwahouse.co.jp
---> tokyogw.daiwahouse.co.jp: x
---> ns.center.web.ad.jp: x
---> ns22.pwd.ne.jp: x
---> ns.daiwahouse.co.jp: x
---> dns-a.iij.ad.jp: o
---> osakagw.daiwahouse.co.jp: x

===> domain: boj.or.jp
---> ns04.pwd.ne.jp: x
---> x6nat712.mail.boj.or.jp: x
---> x6nat713.mail.boj.or.jp: x
---> x6nat715.mail.boj.or.jp: o

===> domain: nykline.co.jp
---> z034200.nykline.co.jp: o
---> z129200.nykline.co.jp: o
---> ns.gblx.ad.jp: o
---> ns1.gblx.ad.jp: x

===> domain: ntt-west.co.jp
---> ns2.mcnet.ad.jp: o
---> ns.mcnet.ad.jp: o

===> domain: dai-ichi-life.co.jp
---> rmxex001.dai-ichi-life.co.jp: x
---> rmxex002.dai-ichi-life.co.jp: x
---> dns-a.iij.ad.jp: o

===> domain: ntv.co.jp
---> enma.ntv.jp: o
---> kodama.ntv.jp: o
---> ns1.iij.ad.jp: x

===> domain: aisin.co.jp
---> ns01.aisin.co.jp: x
---> royal.tns.ne.jp: o
---> majesta.tns.ne.jp: o

===> domain: tokyo-gas.co.jp
---> ns.spin.ad.jp: x
---> tgmail01.tokyo-gas.co.jp: x
---> tgmail02.tokyo-gas.co.jp: x
---> ns.tokyo.spin.ad.jp: x

===> domain: ntt.com
---> ns-os001.ocn.ad.jp: x
---> pns.ocn.ad.jp: x

===> domain: taisei.co.jp
---> gate-e.taisei.co.jp: o
---> ns2.iprevolution.co.jp: x

===> domain: glico.co.jp
---> dns2.odn.ne.jp: x
---> fr1.glico.co.jp: x

===> domain: goldmansachs.com
---> auth03.ns.uu.net: o
---> auth51.ns.uu.net: o
---> cmtu.mt.ns.els-gms.att.net: o
---> dbru.br.ns.els-gms.att.net: o

===> domain: mol.co.jp
---> molkwsm02.mol.co.jp: x
---> ns2.mol.co.jp: o
---> mars.kcom.ne.jp: x

===> domain: nttcom.co.jp
---> mail.nttcom.co.jp: o
---> ns.nttcom.co.jp: o
---> ns1.iij.ad.jp: x

===> domain: mazda.co.jp
---> ns-tk012.ocn.ad.jp: x
---> ns2.mazda.co.jp: o
---> rx7.mazda.co.jp: o

===> domain: kose.co.jp
---> ns1.broad.ne.jp: o
---> ns2.broad.ne.jp: o
---> ns3.broad.ne.jp: o

===> domain: nissay.co.jp
---> ns.nissay.co.jp: x
---> marathon.nissay.co.jp: x

===> domain: takashimaya.co.jp
---> dns1.ibps.ne.jp: x
---> dns2.ibps.ne.jp: x
---> dns0.ibps.ne.jp: x

===> domain: chuden.co.jp
---> dns1.chuden.co.jp: o
---> dns2.chuden.co.jp: o

===> domain: housefoods.jp
---> gemini.starnet.ad.jp: o
---> pleiades.starnet.ad.jp: x

2007年10月17日水曜日

munin

munin を導入。

$ sudo portinstall sysutils/munin-main sysutils/munin-node
(muninユーザつくるぜ? > はい)

munin-node 起動
$ sudo /usr/local/etc/rc.d/munin-node.sh forcestart
(あとで /etc/rc.conf に書く)

munin ユーザの cron に以下エントリが登録される。
とくにやることなし。ラク。
#BEGIN_MUNIN_MAIN
MAILTO=root

*/5 * * * * /usr/local/bin/munin-cron
#END_MUNIN_MAIN

あとは /usr/local/www/munin (munin が生成してくれる html やら画像がおかれる)を みられるように Apache で Alias 設定。

んー。デフォルトのままでもけっこー良い感じ。
プラグインもなかなか充実してそう。

2007年10月16日火曜日

MySQL と Postgres

MySQL はマルチスレッド
Postgres はマルチプロセス
だよな
と思っていたけど、なにかの文書で「両方ともマルチスレッド」
というのを見た。

FreeBSD 4.x で MySQL つかうとスレッドライブラリが
libc_r でアレだよね (なので linuxthreads つかっとけ)
というのはあったんだが Postgres はそんな話聞いたことがない。
マルチプロセスでやってるから共有メモリまわりでごそごそするんじゃないのかなー。

以前みた、
検証「Postgres と MySQL」
これに書いてあるとーりだよねぇ。

2007年10月15日月曜日

日本の自動車メーカーのドメインのDNSサーバ

また、例のこれ
副産物として、IIJ に任せているところが三社ある模様。

トヨタは tns.ne.jp のDNSサーバがコンテンツNSのみ、toyota.jp な ns1a, ns1b はキャッシュ使えそう。
ホンダは自ドメインのDNSサーバはコンテンツNSのみっぽい。
ダイハツ、日野はトヨタの子会社からか、おなじ tns.ne.jp な DNSサーバを利用。
マジェスタとロイヤル。
===> domain: isuzu.co.jp
---> ns2.iprevolution.co.jp: x
---> elflock.isuzu.co.jp: o
<===
===> domain: suzuki.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o
<===
===> domain: subaru.jp
---> dns-c.iij.ad.jp: o
---> dns-b.iij.ad.jp: o
<===
===> domain: daihatsu.co.jp
---> majesta.tns.ne.jp: o
---> royal.tns.ne.jp: o
---> dkdns.daihatsu.co.jp: x
<===
===> domain: nissan.co.jp
---> sj000030.nissan.co.jp: x
---> nvs001.nissan.ne.jp: x
<===
===> domain: toyota.jp
---> majesta.tns.ne.jp: o
---> ns1a.toyota.co.jp: x
---> ns1b.toyota.co.jp: x
---> royal.tns.ne.jp: o
<===
===> domain: honda.co.jp
---> slasher.honda.co.jp: o
---> ns.spin.ad.jp: x
---> ns.tokyo.spin.ad.jp: x
---> hornet.honda.co.jp: o
<===
===> domain: mazda.co.jp
---> ns2.mazda.co.jp: o
---> rx7.mazda.co.jp: o
---> ns-tk012.ocn.ad.jp: x
<===
===> domain: mitsubishi-motors.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o
<===
===> domain: hino.co.jp
---> dutro.hino.co.jp: o
---> royal.tns.ne.jp: o
---> majesta.tns.ne.jp: o
<===

Introducing the HAMMER Filesystem

上限は 半エクサバイト (500ペタバイト、ってこと?)
無限のスナップショット
ストリーミングバックアップ (?)
非同期トランザクションサポート (fsck いらずに)

ここ
ZFSは冗長すぎるぜぃとかなんとか言っておられる。

2007年10月14日日曜日

ThinkPad

眠ってた ThinkPad を再利用することに。
モノはこれ

windows2000 いれて、かなり使いたおしたなぁ。。
厚みに今更ながらおどろく。

キーボード、「K」のキーがもげたんだよね。。
ショボイサーバとして使うので(予定)、別に問題なし。
FreeBSD 7.0-PRERELEASE にして、快調、快調。

さて、おうちは固定アドレスじゃないのをどうするか。
よさげな DDNS さがそう。

LLなドメインのDNS

先のエントリ、自分の結果だと
Python がトップになったわけで。

ついでなので、この4言語のドメインの DNS を調べてみた。
ruby-lang.org のネームサーバのひとつ、pichu.netlab.jp がキャッシュNS として使えるよ!多分。

===> domain: perl.org
---> ns1.us.bitnames.com: o
---> ns2.eu.bitnames.com: o
---> ns2.us.bitnames.com: o
---> ns3.us.bitnames.com: o
<===
===> domain: ruby-lang.org
---> support.netlab.jp: o
---> pichu.netlab.jp: x
<===
===> domain: python.org
---> ns2.xs4all.nl: o
---> ns.xs4all.nl: o
<===
===> domain: php.net
---> ns1.easydns.com: o
---> ns2.easydns.com: o
---> ns3.easydns.org: o
---> ns6.easydns.net: o
---> remote1.easydns.com: o
---> remote2.easydns.com: o
<===

2007年10月13日土曜日

2007年10月12日金曜日

[FreeBSD] RELENG_7

RELENG_7
ブランチ切られた

OCSP - Online Certificate Status Protocol

結論から。
Internet Explorer 7 における HTTPS セキュリティの強化点
Windows Vista にパフォーマンス強化および OCSP プロトコルのサポートが追加されたことで、Windows Vista 上で実行される IE7 では既定で失効状態のチェックが有効になり、セキュリティが強化されます。

経緯
「vista で SSLのサイトが見られない」

!?!!?

そんなことあるかいなー
とおもって、自分は vista 使ってないので XP上で Fx, IE6 で閲覧。もんだいなし。
ん〜なんだろね〜と思ったところ、Opera だとアウト(バージョン古くても)

どうもIE6で「サーバー証明書の取り消しを確認する」の設定をオンにすると、
見られなくなる。ほうほう。

見られなくなったのは正しい挙動なんだけども、
とある事情により見られなくなると不都合だったんだなこれが。。

Firefox だと、詳細 -> 暗号化 -> 検証 -> で、OCSP を利用する設定にしてみたら、
案の定見られなくなった。

OCSP で確認できるのはデジタル証明書が失効しているか否か、なので
有効期限が切れていないかの確認ではない。らしい。ほー。

2007年10月11日木曜日

続・DNSキャッシュとDNSサーバ - キャッシュNSとして使えそうなサーバ群

前エントリの後、「世の中としてはどう設定してあるのがフツーなんだろう?」
と思い、いくつか調べてみた。

今回の調べ方。
・調べたいドメインきめる
・NSレコードをとってくる
・そのDNSサーバに対して「example.com の Aレコードを問い合わせてみる」
(どこかに存在するRRならなんでもいい、か?)
・アドレスゲットだぜ! なら利用可能っぽい
(example.com のネームサーバは a.iana-servers.net, b.iana-servers.net の2つ)
・以上のチェックをてきとーなシェルスクリプト書いて実行

兼用(コンテンツNSでありキャッシュNSとしてもつかえる) のを x
コンテンツNSのみを o

とした。x, o に意味は無い。

個人的には
o がよろしい
x はよろしくない
という位置づけ。

意図的にキャッシュNSを公開しているのかな。

結果は以下の通り。精度は保証しない。いずれ変わるし。

某大学, BIG4+UCB, いまをときめく(?)IT系いくつか, 携帯キャリア,
電機メーカー, 某ゲームやさん の順。
その後 apple.com, sun.com, hp.com, ibm.com 追加.
(free|net|open|dragonfly)bsd.org 追加.
電力系通信事業者追加.

check 用 cgi みたいなのでも作るのがよいね。

某大はいくつか 全 o
バークレイ、スタンフォード 全 o
ライブドア、楽天 全 o
google, youtube 全 o
携帯キャリアはドコモのみ 全 o
船井電機 全 o
mircrosoft, apple, sun, hp, ibm 全 o
netbsd.org 全 o

===> domain: u-tokyo.ac.jp
---> dns1.nc.u-tokyo.ac.jp: o
---> dns2.nc.u-tokyo.ac.jp: o
---> dns3.nc.u-tokyo.ac.jp: o
<===
===> domain: kyoto-u.ac.jp
---> odns-2.kyoto-u.ac.jp: o
---> ns.kuins.kyoto-u.ac.jp: x
---> odns-1.kyoto-u.ac.jp: x
<===
===> domain: tohoku.ac.jp
---> ns2.tohoku.ac.jp: x
---> ns1.tohoku.ac.jp: x
<===
===> domain: kyushu-u.ac.jp
---> ns.nc.kyushu-u.ac.jp: o
---> ns1.kyushu-u.ac.jp: o
---> nsb.nc.kyushu-u.ac.jp: o
---> ns2.kyushu-u.ac.jp: o
<===
===> domain: useoul.edu
---> hektor.snu.ac.kr: x
---> ercc.snu.ac.kr: x
<===
===> domain: snu.ac.kr
---> ercc.snu.ac.kr: x
---> hektor.snu.ac.kr: x
<===
===> domain: ntu.edu.tw
---> dns.ntu.edu.tw: o
---> ntu3.ntu.edu.tw: x
<===
===> domain: osaka-u.ac.jp
---> ns1.ai3.net: o
---> ns.osaka-u.ac.jp: o
---> vanilla-ice.gw.osaka-u.ac.jp: o
---> name-server.suita.odins.osaka-u.ac.jp: o
---> vanilla-ice.odins.osaka-u.ac.jp: o
<===
===> domain: nagoya-u.ac.jp
---> ns.nagoya-u.ac.jp: x
---> nameserv.gw.nagoya-u.ac.jp: o
<===
===> domain: berkeley.edu
---> adns2.berkeley.edu: o
---> dns2.ucla.edu: o
---> ucb-ns.nyu.edu: o
---> adns1.berkeley.edu: o
---> phloem.uoregon.edu: o
---> ns.v6.berkeley.edu: o
<===
===> domain: stanford.edu
---> avallone.stanford.edu: o
---> atalante.stanford.edu: o
---> authdns4.netcom.duke.edu: o
---> argus.stanford.edu: o
<===
===> domain: yale.edu
---> serv2.net.yale.edu: x
---> yale-server.uchicago.edu: o
---> serv4.net.yale.edu: x
---> serv1.net.yale.edu: x
---> serv3.net.yale.edu: x
<===
===> domain: harvard.edu
---> ns3.harvard.edu: o
---> ns2.harvard.edu: x
---> ns1.harvard.edu: x
<===
===> domain: princeton.edu
---> ns1.fast.net: o
---> ns2.fast.net: o
---> arizona.edu: x
---> ns3.nic.fr: o
---> ns1.ucsc.edu: x
---> dns.princeton.edu: o
<===
===> domain: livedoor.com
---> ldns01.data-hotel.net: o
---> ldns04.data-hotel.net: o
---> ldns03.data-hotel.net: o
---> ldns02.data-hotel.net: o
<===
===> domain: rakuten.co.jp
---> ns01c.rakuten.co.jp: o
---> ns02c.rakuten.co.jp: o
---> ns04d.rakuten.co.jp: o
---> ns03c.rakuten.co.jp: o
<===
===> domain: yahoo.co.jp
---> dnsg01.yahoo.co.jp: x
---> ns10.yahoo.co.jp: o
<===
===> domain: excite.co.jp
---> ns2.sphere.ad.jp: x
---> jpexciteds1.excite.co.jp: x
---> jpexciteds2.excite.co.jp: x
<===
===> domain: hatena.ne.jp
---> ns1.future-s.com: x
---> ns0.future-s.com: x
<===
===> domain: nifty.co.jp
---> ns10.nifty.ad.jp: x
---> ns11.nifty.ad.jp: x
<===
===> domain: dwango.co.jp
---> ns101.dwango.co.jp: o
---> ns102.dwango.co.jp: x
<===
===> domain: ameblo.jp
---> ns1.ameblo.jp: o
---> ns2.ameblo.jp: o
<===
===> domain: google.com
---> ns3.google.com: o
---> ns2.google.com: o
---> ns1.google.com: o
---> ns4.google.com: o
<===
===> domain: youtube.com
---> dns2.sjl.youtube.com: o
---> dns1.sjl.youtube.com: o
<===
===> domain: docomo.ne.jp
---> ns001.docomo.ne.jp: o
---> ns002.docomo.ne.jp: o
<===
===> domain: ezweb.ne.jp
---> wdns3.ezweb.ne.jp: x
---> wdns0.ezweb.ne.jp: x
<===
===> domain: softbank.ne.jp
---> dns05.softbank.ne.jp: x
---> dns01.softbank.ne.jp: x
---> dns02.softbank.ne.jp: o
<===
===> domain: sony.co.jp
---> ns3.sony.co.jp: x
---> ns2.sony.co.jp: x
---> ns.ssd.ad.jp: x
---> ns.sony.co.jp: x
<===
===> domain: mitsubishielectric.co.jp
---> ins01.melco.co.jp: x
---> tokio.mind.ad.jp: x
---> ins02.melco.co.jp: x
<===
===> domain: sanyo.co.jp
---> dns.sannet.ad.jp: o
---> dns.sannet.ne.jp: o
<===
===> domain: panasonic.co.jp
---> dns0.mei.co.jp: x
---> dns1.mei.co.jp: x
<===
===> domain: jvc-victor.co.jp
---> dns3.odn.ne.jp: x
---> ygw04.jvc-victor.co.jp: o
---> ns2.iprevolution.co.jp: x
---> ygw05.jvc-victor.co.jp: o
<===
===> domain: pioneer.jp
---> pi1.pioneer.co.jp: o
---> pi0.pioneer.co.jp: o
<===
===> domain: casio.co.jp
---> ns1.casio.co.jp: x
---> sj2.casio.co.jp: o
---> ns.center.web.ad.jp: x
<===
===> domain: kenwood.co.jp
---> ns.spin.ad.jp: x
---> ns.tokyo.spin.ad.jp: x
---> ns.kenwood.co.jp: x
---> ns2.kenwood.co.jp: x
<===
===> domain: denon.jp
---> ns.at-link.ad.jp: x
---> sv.denon.jp: x
<===
===> domain: dm-holdings.com
---> ns02.shinsei-it.jp: x
---> ns01.shinsei-it.jp: x
<===
===> domain: onkyo.com
---> ns1.omp.ne.jp: x
---> ns1.onkyo.co.jp: x
<===
===> domain: funai.jp
---> ns2.secure.net: o
---> ns1.secure.net: o
<===
===> domain: yamaha.co.jp
---> ns01.yamaha.co.jp: o
---> ns1.iij.ad.jp: x
---> yilnws.yamaha.co.jp: o
---> ns02.yamaha.co.jp: o
<===
===> domain: scei.co.jp
---> ns1.scei.co.jp: o
---> ns.scei.co.jp: o
---> ns.ntt.net: x
<===
===> domain: nintendo.co.jp
---> dns3.odn.ne.jp: x
---> zephyr.nintendo.co.jp: o
---> tempest.nintendo.co.jp: o
<===
===> domain: microsoft.com
---> ns1.msft.net: o
---> ns5.msft.net: o
---> ns4.msft.net: o
---> ns2.msft.net: o
---> ns3.msft.net: o
<===
===> domain: apple.com
---> nserver.asia.apple.com: o
---> nserver4.apple.com: o
---> nserver2.apple.com: o
---> nserver.apple.com: o
---> nserver.euro.apple.com: o
---> nserver3.apple.com: o
<===
===> domain: sun.com
---> ns2.sun.com: o
---> ns8.sun.com: o
---> ns7.sun.com: o
---> ns1.sun.com: o
<===
===> domain: hp.com
---> ap1.hp.com: o
---> am3.hp.com: o
---> eu3.hp.com: o
---> eu2.hp.com: o
---> eu1.hp.com: o
---> am1.hp.com: o
<===
===> domain: ibm.com
---> internet-server.zurich.ibm.com: o
---> ns.austin.ibm.com: o
---> ns.watson.ibm.com: o
---> ns.almaden.ibm.com: o
<===
===> domain: freebsd.org
---> ns0.freebsd.org: o
---> ns1.downloadtech.com: x
---> ns1.iafrica.com: o
---> ns2.iafrica.com: o
<===
===> domain: netbsd.org
---> uucp-gw-2.pa.dec.com: o
---> uucp-gw-1.pa.dec.com: o
---> adns1.berkeley.edu: o
---> adns2.berkeley.edu: o
<===
===> domain: openbsd.org
---> ns.appli.se: x
---> zeus.theos.com: o
---> citi.umich.edu: o
---> cvs.openbsd.org: o
---> ns.sigmasoft.com: o
<===
===> domain: dragonflybsd.org
---> apollo.backplane.com: o
---> ns.idiom.com: x
---> ns2.idiom.com: x
<===
===> domain: stnet.co.jp
---> ns1.stnet.ad.jp: x
---> ns2.stnet.ad.jp: x
<===
===> domain: enecom.co.jp
---> ns01.enecom.co.jp: x
---> ns1.cccn.ne.jp: x
<===
===> domain: qtnet.co.jp
---> ns.qtnet.co.jp: o
---> dns01.qtnet.ad.jp: x
<===
===> domain: k-opti.com
---> ns7.eonet.ne.jp: o
---> ns1.eonet.ne.jp: x
<===
===> domain: ctc.co.jp
---> ns2.dc.ctc.ad.jp: o
---> ctcsvb.ctc.co.jp: o
<===
===> domain: tohknet.co.jp
---> ns1.tohknet.co.jp: x
---> nocsv001.tocn.ne.jp: x
<===
===> domain: tohoku-epco.co.jp
---> ns001.tohoku-epco.co.jp: o
---> ns102.tohoku-epco.co.jp: o
---> ns002.tohoku-epco.co.jp: o
---> ns101.tohoku-epco.co.jp: o
---> ns2.tohoku-epco.co.jp: o
---> nocsv001.tocn.ne.jp: x
<===
===> domain: htnet.co.jp
---> ns2.htcn.ne.jp: x
---> ns1.htcn.ne.jp: o
<===
===> domain: hotnet.co.jp
---> ns.hotcn.ne.jp: x
---> ns1.hotnet.co.jp: x
<===

参考)
DNS の再帰的な問合せを使った DDoS 攻撃の対策について
DNSキャッシュとDNSサーバ
yohgaki's blog - DNSキャッシュ汚染
yohgaki's blog - SANS Top 20

BIND の総本山 isc.org のネームサーバは流石にちゃんと(?)してる。
===> domain: isc.org
---> ns-ext.lga1.isc.org: o
---> ns-ext.nrt1.isc.org: o
---> ns-ext.isc.org: o
---> ns-ext.sth1.isc.org: o
<===

ns-ext〜〜 な名前が外部向け(コンテンツNSだぜい)ってかんじを醸し出してる。

2007年10月10日水曜日

DNSキャッシュとDNSサーバ

同居してるやつを初めて目にしたので
久しぶりに読んでみた。

その「同居してるやつ」、
世界のどこからでもバリバリ(死語
キャッシュ NS として利用できちゃうみたいなんだけど、
管理外なのでなにがおきても知らない。

2007年10月8日月曜日

[FreeBSD] 3行パッチその後

アレで commit されるっぽい。めでたしめでたし。

試してみー、ともらったのが以下。

--- sched_ule.c 2 Oct 2007 01:30:18 -0000 1.212
+++ sched_ule.c 7 Oct 2007 04:01:20 -0000
@@ -743,6 +743,9 @@
int load;
int cpu;

+ if (!smp_started)
+ return (1);
+ KASSERT(steal_thresh != 0, ("steal_thresh == 0"));
/* We don't want to be preempted while we're iterating over tdqs */
spinlock_enter();
tdg = tdq->tdq_group;

こんだけで直るんだねぇ。

実際修正されたのはこう

2007年10月7日日曜日

[MySQL] MySQL辞典

でるみたい。



執筆陣はよく目にする方々。

[MySQL] 現場で使えるMySQL

買った。

---
本書は、DBマガジンの人気連載を書籍化したものです。RDBMSの利用経験者で、これから新たにMySQLを使いたいと考えている人向けに、MySQL を現場で本格利用するための知識を「深く」「幅広く」「分かりやすく」解説しています。特に、トランザクション、パフォーマンスチューニング、バックアッ プ/リカバリ、文字コードなどのシステム開発/運用管理で重視される必須知識について、マニュアルや既刊の関連書籍にほとんど掲載されていない内容まで掘 り下げて解説。MySQLによるシステム開発から運用管理までの実践的な知識を習得できます。これからMySQLを始める人も、すでにMySQLを使って いる人も必読の1冊です!
---

[Apache] mod_geoip

この間

「○○さーん、Apache で国別のIPアドレスでアクセス制限できる?」

ときかれたもので。

webalizer で geoip を使ってた経験から、mod_geoip の存在は知っていたので
それを勧めてみた。

GeoIP.dat は月一くらいで更新かなー。cronで。

[FreeBSD] 3行パッチ

この前VMware Fusion が仕様期限を迎えたため、
再び Parallels で -CURRENT をつかうことにした。

csup でソースを更新してworld と kernel 再構築。
すると、、ネットワーク周りがおかしい。

古いカーネルであげると正常。
ULE 怪しいのかなぁと思いつつ -CURRENT にメル。

まず、
o SMP オプションをきりたまへ

とキタ。確かに カーネルコンフィグから SMP を無くすとまとも。
症状としては

前提:
** Parallels は Guest を SMPで動かせないのでUPなマシン

csup 前
・SMP有効なカーネル、ULEスケジューラ -> Good!

csup 後
・SMP有効なカーネル、ULEスケジューラ -> Bad..
・SMP無効なカーネル、ULEスケジューラ -> Good!
おまけ
・SMP有効なカーネル、4BSD スケジューラ -> Good!

その後、sched_ule.c へのパッチをもらう。3行のパッチ。
smp の判定をいれただけ、なのか。

早速パッチあててカーネル再構築 & リブート。

治った。csjp さんトンクス。
この問題はこれだけで解決、なのかね。

VMware Fusion を使ってたら、わかんなかったかもしれない。(SMPで使えるため)

2007年10月5日金曜日

ssh1 は時代遅れだよね

それにセキュリティ上宜しくなかったり。
プロトコル1 で指定されて使うことがあり、そう思った。

OpenSSH セキュリティ

--
OpenSSH は SSH 1 プロトコルの欠陥を持っています。このため、 困難ではあるものの「情報を挿入させる攻撃 (insertion attack)」を受ける可能性が残っています。 CORE-SDI の 攻撃回避メカニズム (deattack mechanism) によりほとんどの場合は回避できます。でもこの問題の解決には調査が必要です。 なぜなら SSH 1 プロトコルはまだ死に絶えてはいないからです。
--

うむ。。。確かに死に絶えてない。

2007年10月2日火曜日

OpenSSH を使った簡易 VPN の構築

機能があるのは知っていたけど、試したことがなかった。
スンナリできるねぇ。

2台ともFreeBSD.

くら
tun0: flags=8051 metric 0 mtu 1500
inet 192.168.200.2 --> 192.168.200.1 netmask 0xffffff00
Opened by PID 722

さば
tun0: flags=8051 mtu 1500
inet 192.168.200.1 --> 192.168.200.2 netmask 0xffffff00
Opened by PID 51464

その後 パケットとばないなー、、と思ったら pf で遮断してた....

Mac OSX でもできる、、のかな。デバイス周りがワカラン。

2007年10月1日月曜日

ssh と リモートデスクトップ と 私

ポートフォワードしてフンフンすることになった。

Mac で Terminal.app 。

$ ssh -l [ユーザ名] -p [ポート] -T [足場サーバ] -L[任意のポート]:[リモートデスクトップなサーバ]:3389

で、RDC つかってつないだけども、、
キーボードが
Mac -> 英語配列
接続先 -> 日本語配列

なので、入力がめためた。。orz...
良い方法ないのかな。


当面は おとなしく日本語配列な windows つかいますよっと。。

2007年9月30日日曜日

[VMware] ゴテンクス、トランテン、ベジット、etc (懐かしい

先月いれた VMware Fusion が期限切れを迎えてた。

うっうーん。。。買おうかな。



・・・・ VMware Fusion の本気度がいまいち読めないので見送り。
SMP で使えるのはなんだかステキなんだけど。

SSH の接続を共有する

SSH の接続を共有する

カタツムリ本
だと p.306 7.4.4.2 接続の共有 あたりにさらっと書かれているくらい。

上記はてダでも書かれているけど、 ~/.ssh/config を使ってるひとって
あまりいない気がする。。

$ man ssh_config すると
SYNOPSIS
~/.ssh/config
/etc/ssh/ssh_config

などとあったりするから、気づきそうなものだけどね。

で、接続の共有は素敵なわけだけど、
マスターがあぼーんしちゃうと悲しい。(滅多にないとは思う)

こんな使い方できるよと覚えておくのはいい心がけだと思ふ。

2007年9月23日日曜日

[FreeBSD] panic:



ちょっと csup して ビルドしなおしたら-CURRENT が panic するようになった。
起動したあと少しももたない。
カーネルデバッガに落ちたあとの対応方法は今のところしらんので前のカーネルであげてしまおう。。
いずれも ULE スケジューラ にしてる。

その後、直されたっぽい。ほー。。

サーカス

電車内で人が読んでる日経新聞をチラ見すると、
HP-UX の広告をよくみかけるなー

とおもって wikipedia でちょいとみてみたら、
ドコモのメールシステムって HP-UX なんだね。。しらんかった。。。
-> CIRCUS

HP-UX 11i の i は iモードの i というのは本当?

> 稼働率99.99998%(1人当たり年間6.93秒の停止時間)を誇るとされている。
スバラシス。

日経コンピュータ2007年7月23日版 を読みたくなってしまった。

2007年9月22日土曜日

プログラミングPHP 第2版

Programming PHP
の訳書 、プログラミングPHP 第2版がでるっぽい。
著者のひとりが PHP作者の Rasmus Lerdorf 氏 。

Perl でいうラクダ本にあたると思うんだけど、今までなかったのが意外。
原書の1版は2002年。

PHP5 への移行に乗って、という意図もあるのかな?

2007年9月20日木曜日

[FreeBSD] Juniper

の名を発見。
rev1.216.2.7

最近のハマリ

昨日今日。

・GNU/Linux での /etc/hosts.allow, /etc/hosts.deny の設定
- FreeBSD だと /etc/hosts.allow だけだからね。。

・FreeBSD で sed
- なんだか GNU sed と挙動がちがって動かなかったので
portinstall textproc/gsed で GNU sed 入れてそれ使った。

2007年9月19日水曜日

なんという日記

「マイミクシィ最新日記」が

09月18日… まーた寝れんかった (xxxxx)
09月18日… 寝まくった (xxxxx)

と並んでてちょっと笑った。(ユーザ名は伏せ)

2007年9月17日月曜日

PCC

OpenBSD 4.2-current をちょいといじってて、
pccてなんだろなーとおもってたら
スラッシュドットに載ってた

ただ単に /usr/src 以下で make build しただけだと入らなかったので (手順をよく知らないだけかも)
/usr/src/usr.bin/pcc 以下で
# make depend
# make
# make install

すると /usr/local/bin 以下に cc が

# file /usr/local/bin/cc
/usr/local/bin/cc: ELF 32-bit LSB executable, Intel 80386, version 1, for OpenBSD, dynamically linked (uses shared libs), stripped
# ldd /usr/local/bin/cc
/usr/local/bin/cc:
Start End Type Open Ref GrpRef Name
00000000 00000000 exe 1 0 0 /usr/local/bin/cc
051d8000 2520c000 rlib 0 1 0 /usr/lib/libc.so.42.0
05962000 05962000 rtld 0 1 0 /usr/libexec/ld.so
# /usr/local/bin/cc -v
pcc 0.9.8 for i386-unknown-openbsd4.2, otto@pepper.intra.drijf.net Sat Sep 15 21:15:44 CEST 2007
no input files

OpenBSD/i386 のユーザランドもフルビルドできるのかな?

2007年9月15日土曜日

GNU Autoconf/Automake/Libtool

GNU Autoconf/Automake/Libtool
ちと古いし amazon さんでの評価もいまひとつだけど
どんなもんか書籍として手元に欲しかったのでユーズドのを購入。

英語版のうぇぶはコチラ

2007年9月13日木曜日

fastladder.com の MX

livedoor.com のと同じ。

fastladder.com mail is handled by 1 aspmx.l.google.com.
fastladder.com mail is handled by 10 aspmx2.googlemail.com.
fastladder.com mail is handled by 10 aspmx3.googlemail.com.
fastladder.com mail is handled by 10 aspmx4.googlemail.com.
fastladder.com mail is handled by 10 aspmx5.googlemail.com.
fastladder.com mail is handled by 5 alt1.aspmx.l.google.com.
fastladder.com mail is handled by 5 alt2.aspmx.l.google.com.


livedoor.com mail is handled by 5 ALT1.ASPMX.L.GOOGLE.com.
livedoor.com mail is handled by 5 ALT2.ASPMX.L.GOOGLE.com.
livedoor.com mail is handled by 1 ASPMX.L.GOOGLE.com.
livedoor.com mail is handled by 10 ASPMX2.GOOGLEMAIL.com.
livedoor.com mail is handled by 10 ASPMX3.GOOGLEMAIL.com.
livedoor.com mail is handled by 10 ASPMX4.GOOGLEMAIL.com.
livedoor.com mail is handled by 10 ASPMX5.GOOGLEMAIL.com.

2007年9月12日水曜日

[GNU/Linux] PS3 Linux

今更な感じもするけど、いれてみたくなったので
フィックスターズのサイトをみていざ開始。



で、アドオンCD 挿入しブート後、インストールDVD を待っているの図。

やってて気づいたことその1.
kboot: プロンプトからPS3 の OS を起動しなおすコマンドは
boot-game-os ではなくって、 ps3-boot-game-os になっていた。

2007年9月11日火曜日

iPodLinux

興味本位でいれてた iPod Linux .
Mac OS X用のをいれてみてたんだけどもディスクの肥やしになってたので削除。alpha 版から更新されてないし。。

iPod touch
は、容量デカクなったら欲しい、かな。

2007年8月27日月曜日

[ports] lang/jruby

今月初め頃、
lang/jruby はshebang 行をbash にしないとダメではないのかなー
とおもってその旨 MAINTAINER に直接メルしてみたものの、音沙汰なし・・・orz..

ちょっと見てみたら、こないだ修正されていた。ひょっとして気づいてくれたのだろうか。

どこに報告するのが正しい手順だったのかな、、、うーむ。
ドキュメント漁っておくか。

2007年8月26日日曜日

VMware Fusion

Parallelsに不満はないけども
VMware Fusion を試してみることに。
以前 windows 版 workstation を買うときに作ってたアカウントで
30日間の評価版をぽちっとな。

仮想化万歳。

2007年8月25日土曜日

[Mac OS X] ExposéやらDock

前 iBook G4 使ってたときに気づいたこと。
shift を押しながら操作するとまたーりとした動作になる。

これってマニュアルの類に載ってたのかな。

[FreeBSD] cached

ちょっと前、「名前解決がおかしい」というのを skype でやりとり。
なんだろなーと思ったら、NSCDを再起動したら解消したとのこと。

FreeBSD にはそういうの(名前解決のキャッシュ) ない、、よなと思ってたけど、
7-CURRENT には cached とゆーのが入っていた。
SoftwareDesign9月号を見てて気づいた。。

Google Summer of Code 2005 の成果物っぽい。

2007年8月18日土曜日

[FreeBSD] man pthread

thread programming てものはできない、しないんだけど。
libc_rの記述が無くなってたことに気づいた。

6.2-RELEASE:
(snip)
LIBRARY
POSIX Threads Library (libpthread, -lpthread)
1:1 Threading Library (libthr, -lthr)
Reentrant C Library (libc_r, -lc_r)
(snip)
INSTALLATION
The current FreeBSD POSIX thread implementation is built in three
libraries, Reentrant C Library (libc_r, -lc_r), POSIX Threads Library
(libpthread, -lpthread), and 1:1 Threading Library (libthr, -lthr). They
contain both thread-safe versions of Standard C Library (libc, -lc) func-
tions and the thread functions. Threaded applications are linked with
one of these libraries.

7.0-CURRENT:
(snip)
LIBRARY
POSIX Threads Library (libpthread, -lpthread)
1:1 Threading Library (libthr, -lthr)
(snip)
INSTALLATION
The current FreeBSD POSIX thread implementation is built in two
libraries, POSIX Threads Library (libpthread, -lpthread), and 1:1
Threading Library (libthr, -lthr). They contain both thread-safe ver-
sions of Standard C Library (libc, -lc) functions and the thread func-
tions. Threaded applications are linked with one of these libraries.

2007年8月16日木曜日

sshguard

sshguard をいれてみた。まぁ、パスワード認証 off にしてるから
いれなくてもいいっちゃいいんだけど、お試し。アクセスあるだけでも嫌だしねっ。


o 導入
対応しているファイアウォール類は以下。素晴らしい。ipfだけexperimental.
* PF (OpenBSD, FreeBSD, NetBSD, DragonFly BSD)
* netfilter/iptables (Linux)
* IPFIREWALL/ipfw (FreeBSD, Mac OS X)
* IPFILTER (Experimental) (FreeBSD, NetBSD, Solaris)
* tcpd's hosts.allow (boxes without a network-layer firewall)

FreeBSD で pf を使っているので以下のコマンドでいれる。
% sudo portinstall security/sshguard-pf

man がインストールされなかった。。けど気にしない。


o pf 設定
pfの設定ファイルに下記追加

table のところに
table persist

フィルタリングルールのところに
block in quick on $ext_if from to any port 22 label "ssh bruteforce"
($ext_if を設定してない場合は適宜 interface 名を)

pfctl で読み込み直す。
% sudo pfctl -Fa -f [pfの設定ファイル]


o 動作確認
テストしてみる。auth.log をパイプで sshguard に流し込む。
# tail -n0 -F /var/log/auth.log | /usr/local/sbin/sshguard

ちなみに以下のログフォーマットに対応している。
* syslog entries
* syslog-ng entries
* metalog entries
* multilog entries
* raw log entries

てきとーなホストから何度もsshでつないで認証に失敗してみる。
するとそのホストからはつながらなくなっているはず。

# pfctl -Tshow -tsshguard
で追加されたアドレスを確認。

o syslog.conf 設定
ログインのたびにtail してもいいけども
root で実行しなきゃなんね
それかsshguard をsetuid root しなきゃなんね
ので、syslog.conf で設定して流し込む。下記を追加。

auth.info;authpriv.info |exec /usr/local/sbin/sshguard

他に auth.info;authpriv.info なエントリがある場合
(通常、auth.info;authpriv.info /var/log/auth.log が存在)
はそれより上に書く。

とりあえずこれだけでOK

するとまぁこんなかんじでブロックしてくれる、と。

sshguard[10351]: Blocking 221.8.79.168: 4 failures over 21 seconds.
sshguard[10351]: Releasing 221.8.79.168 after 454 seconds.

sshguard[20597]: Blocking 218.104.51.58: 4 failures over 5 seconds.
sshguard[20597]: Releasing 218.104.51.58 after 465 seconds.

デフォルトは4回で弾く。
ブロックしたアドレスのリリースまでの秒、アタックと認識する間隔も設定可能。
whitelist の機能もあるのでそれらを活用するとよりよいsshライフ(?) が送れることでしょう。


2007年8月7日火曜日

[Programming] Indent style

いわゆる「自転車小屋の議論」ってーやつ。

インデントがなんちゃら、とかスペースをあけるとか。
それで生産性があがるの?何が幸せ?お金になるの?と言われる(多分

読みにくい のは確かに実感としてある。
「慣れればどうってことない」そのとおり。
「慣れ」るまでのコストは?

僕にはこれが読みにくい。。
if(blah-blah-blah){
hoge = fuga;
return hoge;
}

全ておなじレベル。
頭がいいひとにはこれで差し支えないってことなんだろうな。
凡人でごめんなさい。 orz

以下希望なんです。
if(blah-blah-blah){
hoge = fuga;
return hoge;
}

だったり
if(blah-blah-blah)
{
hoge = fuga;
return hoge;
}

だったり
GNUスタイル? はしたことないけど、よさそう。
if(blah-blah-blah)
{
hoge = fuga;
return hoge;
}

自分はちょろりとスペースをいれる。
if (blah-blah-blah) {
hoge = fuga
return hoge;
}


自分の場合、書くより読む時間のほうが圧倒的に長いから
そう思うのかなー。

python だとこの議論が起きることは無い・・・・のかな。

2007年8月6日月曜日

nginx

という www server がある。
「ンギンクス」なんだろうか。

nginx
ロシア語わかりまへん。。。 orz
というわけでこっち
nginx [engine x] is a HTTP server and mail proxy server written by me (Igor Sysoev).
「ンギンクス」でなくて「エンジンエックス」

ロシアのヴァーチャルホストでは結構な数つかわれているっぽい。
Linux 2.2 やら FreeBSD 3.x でもテストしてるってことは
かなり前からあるのかな。
lighttpd のようにFLVのストリーミングもできる模様。
パフォーマンスよさそう& リソース消費すくなそう。
(使ってみてないのでなんともいえない)

2007年7月29日日曜日

知らなかったよ

エリック・オールマン

--
同性愛者であることを公表しているオールマンは、BSD開発のリーダーでもあるマーシャル・カーク・マキュージックと20年以上同居している。

「(私への)嫌がらせのメールが、ゲイである私が作ったプログラムを通して送られてくるというのは、ある種の倒錯的な喜びである。」-エリック・オールマン
--

resolv.conf の怪

resolv.conf の話。

nameserver 行 に ホスト名書ける

とゆートンデモ知識はどこで仕入れることができるんだろう?
どうやって解決できるんだ・・・

MX RR

* example.comはこのエントリのためのダミーなドメイン *

---
A「example.com の MXレコード設定ずみですよ」

B「え?これでだいじょうぶ?」

% host -t mx example.com
example.com mail is handled by 100 foo-bar.example.com

% host -t a foo-bar.example.com
Host foo-bar.example.com not found: 3(NXDOMAIN)

A「mx なかったらaでいくんじゃないんですか?」

----
いやいや、、、この場合「MX レコードは存在」してるよね。。で
foo-bar の A レコードがないでしょ。。

どうも勘違いしてるかしらんがメンドクサイので
テキトーにメールおくってダメなことを示す。


とほほ。

2007年7月27日金曜日

nmbclusters

ふと思った

Mac OS X で kern.ipc.nmbclusters を増やしたいとき(あるのか?)
って、どこをいじればいいんだろう。

2007年7月22日日曜日

send-prでた

24X らしい

多分これがコミットされるか。

wispy 違い

或る日のカーネルコンパイルエラー

(snip)
cc -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Werror /usr/src/sys/dev/usb/usb_quirks.c
/usr/src/sys/dev/usb/usb_quirks.c:111: error: 'USB_PRODUCT_METAGEEK_WISPY' undeclared here (not in a function)
*** Error code 1

Stop in /usr/obj/usr/src/sys/ULE3.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.


おや?
このwispyてこれか?とおもったけど、そもそもスペルが違った (w
2.4GHz帯スペクトラムアナライザか。

問題のエラーはココをみるに、ちょっとまえに
X がつけられてるっぽいので usb_quirks.c もXつければよかろう、
と思い変更。Xつけたの間違いじゃないのかね?

< { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY,
---
> { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPYX,

これでmake とおりましたとさ。

じきにどちらかが修正されるでしょうな。

2007年7月21日土曜日

[FreeBSD] ULE3.0

ULE 3.0
SCHED_SMP として作っていたのをULEにとりこんで 3.0 とした模様。半年前が 2.0

CURRENTいいねCURRENT

2007年7月19日木曜日

104on106

windowsにて。
英語配列への切り替えでUSJPとゆーのをつかっていたものの、
配布終了していた。。

問い合わせすればいいらしいが、マンドクサイ。
今すぐ切り替えたいの。
代わりの何かないかなーとおもって探してたらここでみつけた。104on106.

バッチリつかえる。
USJPのときFirefoxだと@が`になって入力できなかったけど、
コレだとちゃーんとできる。すばらしい。

2007年7月18日水曜日

PuTTY が挙動不審だった日

諸事情により、別のPCをつかうことに。

ちょこちょこと環境を整えた後、PuTTY(ごった煮版使用) でサーバに入り、
vim で IMEによる日本語入力をしようとしたらほぼ固まる。。
CPUをめいっぱい使ったあと帰ってきたり、こなかったり。

o 別のPCなんでいらないソフトがうじゃうじゃ (?)
o 入っているフリーのアンチウィルスが重い (NOD32とくらべて)
o そもそもスペック低め

だったりしたもんだから、こんなもんかなーと思い、このPCつかうのも一時的だから
いいやっと思ったんだけども、いれた PuTTY ごった煮版はこないだ出た
できたてホヤホヤのものだということに気づく。2007年7月15日版。
ためしに 2007年5月10日版をつかってみたら、、解消したようにみえる。

その後
両方のPuTTYをあげて、screen でおなじターミナルにつないでみた。
5月10日版で日本語入力終わっても、7月15日版はかえってこなかった。。。

とりあえず5月10日版ですごそう。 F10キーの問題は無視、無視。

2007年7月6日金曜日

[MySQL] mysql の configure オプションを知りたいとき

mysqlbug なるコマンドでわかる。

$ mysqlbug

send-prするためのコマンドだけども、最下部に乗ってる。

$ strings /usr/local/mysql/bin/mysqlbug |grep configure

でもよし。

あまり使う機会はない、、か。

2007年7月4日水曜日

powerdns-recursor

dns/powerdns-recursor を入れてdnscache の変わりに使ってみるテスト。


pkg_info より。
--
Information for powerdns-recursor-3.1.4_5:

Comment:
An advanced DNS recursor


Description:
powerdns recursor is a high performance, simple and secure recursing
nameserver. It currently powers over two million internet connections.

WWW: http://www.powerdns.com
--

kqueue(FreeBSD)やらepoll(GNU/Linux)とゆーのを活用しているのでパフォーマンスよさげ。


portinstall dns/powerdns-recursor

でいれて /usr/local/etc/pdns 以下の recursor.conf は

--
allow-from=127.0.0.0/8

daemon=no

local-address=127.0.0.1

local-port=53
--

を書く。自分自身でしか使わない。

daemon=no にしたのは /usr/local/etc/rc .d 以下のスクリプトを使わず
daemontools の supervise 配下に置くため。
んー。multilog でログとれてないな。。気が向いたら見直す。
ちゃんと動いているものの、、
--
hint-file

If set, the root-hints are read from this file. If unset, default root hints are used. Available since 2.9.19.

--
の default root hints はどこをみているんだろう? ハードコードじゃないよねぇ。
ん、、どうもそうらしい

このへんか
pdns_recursor.cc
--

407 void primeHints(void)
408 {
409 // prime root cache
410 setnsset;
411
412 if(::arg()["hint-file"].empty()) {
413 static char*ips[]={"198.41.0.4", "192.228.79.201", "192.33.4.12", "128.8.10.90", "192.203.230.10",
"192.5.5.241", "192.112.36.4", "128.63.2.53",
414 "192.36.148.17","192.58.128.30", "193.0.14.129", "198.32.64.12", "202.12.27.33"}
;
415 DNSResourceRecord arr, nsrr;
416 arr.qtype=QType::A;
417 arr.ttl=time(0)+3600000;
418 nsrr.qtype=QType::NS;
419 nsrr.ttl=time(0)+3600000;
--

2007年7月1日日曜日

KAME IPsec さようなら

らしい。(FreeBSD-CURRENT)

--
20070701:
Remove KAME IPsec in favor of FAST_IPSEC, which is now the
only IPsec supported by FreeBSD. The new IPsec stack
supports both IPv4 and IPv6. The kernel option will change
after the code changes have settled in. For now the kernel
option IPSEC is deprecated and FAST_IPSEC is the only option, that
will change after some settling time.
--

これだこれ
「KAME IPsec と Fast IPsec をどうするか」のくだり。

2007年6月30日土曜日

maradns

maradns にしてみた。 マラですマラ。

・mararc を 2つこさえて コンテンツNS なマラとキャッシュNS なマラをおっ立てた

・ゾーン転送まわりはいまいちわからず (不勉強)
もらうのは fetchzone コマンドがあるのでそれをこねくりまわす

・ゾーンファイルは tinydns , BIND どちらとも違う独自の書式
どちらかといえばBINDっぽい

・小規模むけらしい
FAQにこうかかれていた
MaraDNS is optimized for serving a small number of domains as quickly as possible.

tinydns, NSD, maradns と使ってみて、
tinydns (djbdns) はよくできてるナァと思った。(あくまで主観)
とある性能比較のスライドでは tinydns はパフォーマンス悪かったけども
性能気にしなきゃいけないことやってないから関係なし。

後日、多分 tinydns に戻す。

2007年6月27日水曜日

サーバの移行

メール・ウェブともに数ドメインあり二台になってるのを
新規にたてた一台のサーバに集約。こんな作業はひさしぶりだ。
んー、いまだに前と同じコトをしていると思ったほうが良いのか。はてさて。

web -> rewrite (Pでね)
mail -> smtproutes

qmail なんで smtproutes なわけだけど
Postfix だったら transport なんだろうな。

RewriteLog みてみたら、事前にTTL を短めに設定しておいたおかげか
ほとんど旧サーバへのアクセスこず。しめしめ。

そんななかで、、

74.6.76.14 - - [27/Jun/2007:19:59:13 +0900] [xxxxxxxx/sid#81a14f4][rid#814daa4/initial] (2) init rewrite engine with requested uri /
74.6.76.14 - - [27/Jun/2007:19:59:13 +0900] [xxxxxxxx/sid#81a14f4][rid#814daa4/initial] (2) rewrite / -> http://xxxxxxxx/
74.6.76.14 - - [27/Jun/2007:19:59:13 +0900] [xxxxxxxx/sid#81a14f4][rid#814daa4/initial] (2) forcing proxy-throughput with http://xxxxxxxx
74.6.76.14 - - [27/Jun/2007:19:59:13 +0900] [xxxxxxxx/sid#81a14f4][rid#814daa4/initial] (1) go-ahead with proxy request proxy:http://xxxxxxxx/ [OK]

とゆーのをみて 74.6.76.14 てどこかなーとおもっておもむろに
host コマンドを叩いたんですよ姉さん。

% host 74.6.76.14
14.76.6.74.in-addr.arpa domain name pointer dj501003.crawl.yahoo.net.

そしたらYahoo! のクローラーなんですよ、姉さん。

yahoo.net てあんまりみないなーと思ってなんとなく whois してみたんですよ。
まぁYahoo! なわけです、姉さん。

DNS サーバが NS1〜 NS5 な yahoo.com なんで これもまた
なんとなーく host コマンドを叩いてみた。

% host NS1.YAHOO.COM
NS1.YAHOO.COM has address 66.218.71.63
NS1.YAHOO.COM mail is handled by 0 .

こんなMXレコードみたのは始めてですよ、姉さん。

2007年6月14日木曜日

fgrep

CBL のデータは以下より取得できる。

rsync://rsync.cbl.abuseat.org/cbl/list.txt

上記データを取得し、
チェックしたいアドレスのリストを作ってgrep してみると、
遅い。非常に遅い。数分かかる。
どうしたもんか、、と思ったけど、fgrep がよいようのなので
試す。結果、1秒かからず。

・ip_lists -> チェックしたいアドレスのリスト
・cbl_list.txt -> CBL のデータ (500万行)
% wc -l cbl_list.txt
5108698 cbl_list.txt

time の結果
fgrep -f ip_lists cbl_list.txt 0.76s user 0.07s system 99% cpu 0.834 total


固定の文字列しか検索することができないおかげ(?)で高速。

んー。無知は罪だ。

2007年6月13日水曜日

Safari 3 Public Beta

windows 版はまだまだなかんじだったけど、
さすがに Mac OS X 版はまとも。なーんもいじらずに済んだし。

[Mac OS X] MacPorts

なんかおかしくなったので
全部消してみた。。

とりあえずこれだけ入れた
少なっ

lv @4.51_2 (active)
nkf @2.0.7_0 (active)
subversion @1.4.3_1+no_bdb (active)
w3m @0.5.2_0 (active)

あと、言語をいくつか。
普段使わないけど使える状態にしておくのもいい。
ディスクの肥やし前提。

2007年6月11日月曜日

RubyKaigi2007

行った。Dave Thomas 見たかったけど二日目は行かず。。
いやどっちかというと行けず、かな。
一日目「JavaからRubyへ」持ってってなかったので
カクタニさんにサインもらえず(ぉ

動画どこにあんだー?

2007年6月7日木曜日

dovecot は Mercurialを使っている

dovecot のサイトをみていて知った。
Mercurial 使ってんのね。

CVS to Mercurial switch

pretty nice といっとる。

[Mac OS X] MacPorts

とんと使ってないんだけど
おもむろに port selfupdate してみた

バージョンあがった

% sudo port selfupdate
Password:
DarwinPorts base version 1.400 installed
Downloaded MacPorts base version 1.442
Configuring, Building and Installing new MacPorts base
selfupdate done!
% port version
Version: 1.442

2007年6月5日火曜日

守護神ぱっち

存在だけは知ってた Hardened-PHP ProjectSuhosin

5.2.3にするついでに
なんとなく Suhosinパッチあてて Suhosinエクステンション作成 & ロード。
これまたついでに アクセラレータは apc を切って xcache に変更

なんの変哲もないインストール

o 5.2.3 の tarball おとす
o Suhosin Patch 0.9,6 、Suhosin Extension をおとす

suhosin patch あててphp いれかえ
% tar jxf php-5.2.3.tar.bz2
% gunzip suhosin-patch-5.2.3-0.9.6.2.patch.gz
% cd php-5.2.3
% patch -p1 < ../suhosin-patch-5.2.3-0.9.6.2.patch

(php入れ替える)

suhosin extension 作成
% tar zxf suhosin-0.9.20.tgz
% cd suhosin-0.9.20
% phpize
% ./configure --enable-suhosin (いらない?)
% make
% sudo make install

(suhosin.so を然るべきところにコピー)

とりあえず
extension = "suhosin.so"
suhosin.simulation=On
で動かす。


xcache
INSTALL にしたがってみればいい。

o tarball 展開
o phpize
o ./configure --enable-xcache (いらない?)
o make && sudo make install

あとはphp.ini をもそもそ


phpinfoでみると

This server is protected with the Suhosin Patch 0.9.6.2
Copyright (c) 2006 Hardened-PHP Project

こんなのがでてきたり

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with XCache v1.2.0, Copyright (c) 2005-2006, by mOo
with Suhosin v0.9.20, Copyright (c) 2002-2006, by Hardened-PHP Project

with〜〜が増える。

suhosin あてたから、後日なにかではまりそうな予感。
pukiwiki は快調だからよし。

2007年5月31日木曜日

dovecot メモ

o vpopmail をつかっていて
o POP3/IMAPサーバはdovecot
o 送信するときは時代遅れ?の pop(imap)-before-smtpだ

というとき。
CFLAGSに-DHAVE_VPOPMAIL_OPEN_SMTP_RELAY
をつけると open-smtp にかき込み & tcp.smtp.cdb へ反映してくれる。
configure のオプションには無い模様。(--with-vpopmail ではない)

configure 例
$ CFLAGS=-DHAVE_VPOPMAIL_OPEN_SMTP_RELAY \
./configure \
--prefix=/opt \
--with-ioloop=kqueue


このへんらしい
src/auth/passdb-vpopmail.c 中
--
#ifdef HAVE_VPOPMAIL_OPEN_SMTP_RELAY
if (strcmp(request->service, "POP3") == 0 ||
strcmp(request->service, "IMAP") == 0) {
const char *host = net_ip2addr(&request->remote_ip);
if (host != NULL) {
/* use putenv() directly rather than env_put() which
would leak memory every time we got here. use a
static buffer for putenv() as SUSv2 requirements
would otherwise corrupt our environment later. */
static char ip_env[256];

i_snprintf(ip_env, sizeof(ip_env),
"TCPREMOTEIP=%s", host);
putenv(ip_env);
open_smtp_relay();
}
}
#endif

--

2007年5月30日水曜日

Postfix 2.4.1

ちょっと前にでてたので 2.3.7 -> 2.4.1 にした

$ gmake makefiles CCARGS="-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL \
-I/opt/cyrus-sasl/include/sasl -DHAS_PCRE -I/opt/include" \
AUXLIBS="-lssl -lcrypto -L/usr/local/lib -lpcre -L/opt/cyrus-sasl/lib -lsasl2"
$ gmake
$ sudo gmake upgrade
$ sudo postfix stop
$ sudo postfix start

完了

ports は /usr/localにいれてくれるからいつからか 手make したものは
/opt に入れるようにした。

今度 dovecot の sasl にしてみてうまくいったら cyrus-sasl 捨て。

PHP 5.2.3-dev

なんの気なしに snaps.php.net にある 5.2.x をいれたら、、
FastCGI(mod_fcgid) で使えてたのが使えなくなった。。ハハハ。

さすが開発版。。すぐ元に戻した。

そのときのログ
[error] [client xxx.xxx.xxx.xxx] Premature end of script headers: index.php
[warn] mod_fcgid: Read data error, fastcgi server has close connection

ふーむ。

その後。cgi バージョンでないことに気づいた。
cli だと そらー動かんわ。。
これまでは
・make install
・php(cgi-fcgiなphp) -> php-fcgi としてコピー
・make install-cli (cliなphp)
してたけど、

・make install
したらphp, php-cgi で入るようになっているよう。いつからだろう。

問題なく動いた。

2007年5月25日金曜日

kaspersky - カスペルスキー

↓のX32、アンチウィルスやらファイアウォールは、
某なんちゃら先生がはいっているんだけども、消し。

Kasperskyをしばしつかってみることにした。まずは試用版。
いやぁ、ロシアは凄いよ。topcoder にうじゃうじゃいらっしゃるし。


旧ソ連だとカラシニコフやトカレフが自分の中では有名。
ミハイル・カラシニコフ
フョードル・バシーレヴィチ・トカレフ

ニューナンブの名称はこの人からとってるんだろね

こちらは、、うーん才能がもったいない。

2007年5月23日水曜日

X32

おかしくなったわけではないけど、サラにしたかったので
X32 をリカバリ。
何度も何度も再起動するのは爽快というかなんというか。

Ubuntu もいれてデュアルブートにしてたけど、やめ。

ThinkPad ソフトウェア導入支援実行。すぐ終わる。
無線がおかしくなる。 BSOD 発生。再起動後は問題なし。

windows update を実行。更新78個。

2007年5月19日土曜日

7.0-CURRENTにGCC 4.2.0

が入った。csup でgccがもりもり変わってて気づく。

HEADS UP こちら
http://lists.freebsd.org/pipermail/freebsd-hackers/2007-May/020599.html
しばし待ち。

--
===> gnu/usr.bin/cc/cc_tools (obj,depend,all)
.: Can't open /usr/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc/f/config-lang.in: No such file or directory
"/usr/src/gnu/usr.bin/cc/cc_tools/Makefile", line 333: warning: "sh -c '. /usr/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc/f/config-lang.in; echo $gtfiles'" returned non-zero status
.: Can't open /usr/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc/f/config-lang.in: No such file or directory
"/usr/src/gnu/usr.bin/cc/cc_tools/Makefile", line 333: warning: "sh -c '. /usr/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc/f/config-lang.in; echo $gtfiles'" returned non-zero status
make: don't know how to make choose-temp.c. Stop
*** Error code 2

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
--

2007年5月15日火曜日

nicovideo.visionmovie.ameba.jp

ラウンドロビンマスクしまくり

1 nicovideo.visionmovie.ameba.jp:
192 bytes, 1+9+0+0 records, response, noerror
query: 1 nicovideo.visionmovie.ameba.jp
answer: nicovideo.visionmovie.ameba.jp 600 A 221.246.153.171
answer: nicovideo.visionmovie.ameba.jp 600 A 221.246.153.172
answer: nicovideo.visionmovie.ameba.jp 600 A 221.246.153.173
answer: nicovideo.visionmovie.ameba.jp 600 A 221.246.153.165
answer: nicovideo.visionmovie.ameba.jp 600 A 221.246.153.166
answer: nicovideo.visionmovie.ameba.jp 600 A 221.246.153.167
answer: nicovideo.visionmovie.ameba.jp 600 A 221.246.153.168
answer: nicovideo.visionmovie.ameba.jp 600 A 221.246.153.169
answer: nicovideo.visionmovie.ameba.jp 600 A 221.246.153.170

2007年5月14日月曜日

7-CURRENT ウマー

7-CURRENTでデフォルトのスレッドライブラリが遂に(?) libthr に。

http://gihyo.jp/admin/clip/01/fdt/200705/10

libpthread -> libthr になるんですなぁ。
それによりM:N なやつは libkse という名称に戻る、、のかな。よくわかりませんが。

Solaris は 9 から 1:1、NPTLも 1:1 なんだっけね。よくわかりませんが。
効率がイイらしい、くらいしかわからん。


TheC10kProblem ここにいろいろと。

2007年5月9日水曜日

PHP 4.4.7 & 5.5.2 にした

前バージョン(4.4.6, 5.5.1)のを置き換え。
まぁ、外部に公開してるものはなんもないからそのままでも構わない。。

例によって
4系 -> cli と libphp
5系 -> cli と fastcgi

2007年4月28日土曜日

[Mac OS X] Mail.app

今頃知った、Mail.app の Tips

SQLite を使っているから、遅さを感じたら vacuum しる!
ということのよう。

% strings Envelope\ Index|head -1
SQLite format 3

たしかに SQLite

vacuum の手順

・Mail.app 終了させる
・以下コマンドを実行

% cd ~/Library/Mail
% sqlite3 Envelope\ Index vacuum


テーブルどもはこんなかんじ。

% sqlite3 Envelope\ Index
SQLite version 3.1.3
Enter ".help" for instructions
sqlite> .tables
addresses messages sqlite_sequence
attachments properties subjects
mailboxes recipients threads
sqlite> .quit

2007年4月25日水曜日

JavaからRubyへ



読んでると、、、
ところどころに誤植っぽいのがあって気になってシカタガナイ。

・・・ので、フォームから連絡してみた。

2007年4月23日月曜日

日本 Ruby 会議 2007 のちけっと

予約をするも購入してなかったので、土曜、新宿での飲みの前に
ローソンに寄って購入。
途中えーすさんに遭遇。まー前の職場は新宿だったから遭遇するよね。

ローソンに行ってLoppiをぽちぽち、、するも
急性メカ音痴状態になる。
前回どうやって購入したっけ、、、。と数分格闘したけど、わからん orz

潔く店員さんに聞きました。。店員さんサンクスコ!!

2007年4月20日金曜日

2007年4月17日火曜日

[PHP] symfony で eAccelerator 0.9.5 は使えない

symfony いれて、フンフンしてみたところ
下記のようなエラーに遭遇した。
(--enable-fastcgi な php 5.2.1, mod_fcgid, eAccelerator 使用)

[warn] mod_fcgid: stderr: PHP Fatal error: Cannot access protected property sfConfig::$config in /home/opt/lib/php/symfony/config/sfConfig.class.php on line 72

真っ白でなにも表示せず。「warn」なのに Fatal 「error」 っ。

Cannot access protected〜〜〜 でぐぐる。
eAccelerator がマズイらしい。開発版では問題ないかも。

eAccelerator を切るとバッチリ動いた。

これを機に、
PHPアクセラレータで一番高速なのはどれか?
にある、APC, XCache あたりを試してみるとよさそう。

2007年4月16日月曜日

なくる or えぬえーしーえる

以前 JavaからRubyへなGoogle Videoをみていて、
NaCl を「なくる」と呼んでいたのが印象的だった。
(イントネーション違うと knuckle になる?)

自分のなかでは「えぬえーしーえる」と呼んでたので、
ちぃとGoogle先生にたずねる。

こちら
http://www.rubyist.net/~matz/20070228.html#fm01

--
ところで、NaClを「なくる」と読む人があまりにも多い。その心は「塩化ナトリウム」なので是非「えぬえーしーえる」と発音していただきたい
--

なるほど。