2014年5月24日土曜日

FreeBSD10R /usr/ports/dns/unbound

FreeBSD10Rはデフォルトで /etc/rc.d/local_unboundを経由して
ローカルリゾルバとしてのunboundが起動する。

このunboundは--with-libevent付でconfigure;makeされていないため
unbound.confにnum-threadsを指定することが出来ない。

それでは、と/usr/ports/dns/unboundでmake install(もしくはpkg install unbound)すると
今度は、/usr/local/etc/rc.d/unbound startしたときに
fatal error: config file /usr/local/etc/unbound/unbound.conf is not inside chroot /var/unbound
として起動しない。

これは、ベースシステムインストール時に指定されたユーザーunboundの
homedirが/var/unboundとなっているためで chrootしたときの問題である。

ports/pkgngからインストールしたunboundが期待する/usr/local/etc/unboundを
homedirとしていないために発生する。

vipwでユーザーunboundのhomedirを/usr/local/etc/unboundに変更すれば
あっさり動く。
落ち着いて考えればわかることだが、意外と落とし穴になりそうだ