djbdnsのdnscacheを外部キャッシュとして単体使用してみた。

設定方法は以下を参考にしました。

http://cr.yp.to/djbdns/run-cache.html
http://cr.yp.to/djbdns/dnscache.html

外部キャッシュ単体で動作する時のやるべきことは以下の通り

まずはemerge(djbdns, daemontools)
dnscache-confを実行する(このとき実行する自IPを最後につける)
/service/dnscacheのリンク作成する(ln -s /var/dnscache/ /services/)
/service/dnscache/env/FORWARDONLY内に配信する先のネットワークアドレス1オクテット目を記述(192.168.0.0/24なら192)
/service/dnscache/env/IP内は自IPが記述されてることを確認
/service/dnscache/env/IPSEND内は0.0.0.0でおk
/service/dnscache/env/CACHESIZE , DATALIMITは適当に。ROOTはdnscache-confで指定した場所が記述されてます。
/service/dnscache/root/ip/内にtouchで配信する先のネットワークアドレス1オクテット目(192.168.0.0/24なら192)と同じ名前のファイルを作る
/service/dnscache/root/server/@を編集して、接続先DNSサーバのIPを記述する。

後はsvscanが勝手に動かしておいてくれるので放置でおk!
もしsvstat /service/dnschacheを実行してupなんだけど秒数が1から動かない場合は
tail -f /var/dnscache/log/main/current
で、確認するとログがたくさんでてるかも!
tinydnsやaxrfdnsと同居させてて同じIPを指定すると当然のことながら、IPは使用中ですメッセージがでてきます。

svscan後にError表示があったときの対処方法?

1.以下のメッセージが表示された場合
>|envdir: fatal: unable to read ./env/supervise: is a directory

該当のDirectoryを削除(supervise)