YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-04-17 (水)


[一語一絵/IT系]

NSD / 2011-04-16 (土)

一昨日から続く、nx9030からGT110bへのお引越しの作業で、懸案のtinydnsがNG応答しか返してこない問題に光明が見えない。

そこで、2008年のunbound導入の際にbindよりも軽量で良さげなDNSサーバがあったのを思い出した。[External]Name Server Daemon (NSD)の事だ。

昨日と同様に[External]"lucid" のサブセクション net に含まれるソフトウェアパッケージを探してみたところ、案の定[External]djbdns パッケージ[External]nsd3 パッケージを発見。

早速installしてみると

yano@GT110b:~$ sudo apt-get install nsd3
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  nsd3
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 41 個。
898kB のアーカイブを取得する必要があります。
この操作後に追加で 1,729kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu/ lucid/universe nsd3 3.2.4-1 [898kB]
898kB を 0s で取得しました (1,187kB/s)
未選択パッケージ nsd3 を選択しています。
(データベースを読み込んでいます ... 現在 75716 個のファイルとディレクトリがインストールされています。)
(.../nsd3_3.2.4-1_amd64.deb から) nsd3 を展開しています...
man-db のトリガを処理しています ...
ureadahead のトリガを処理しています ...
nsd3 (3.2.4-1) を設定しています ...
グループ `nsd' (GID 126) を追加しています...
終了。
システムユーザ `nsd' (UID 116) を追加しています...
新しいユーザ `nsd' (UID 116) をグループ `nsd' に追加しています...
ホームディレクトリ `/etc/nsd' は作成しませんでした.
Could not open /etc/nsd3/nsd.conf: No such file or directory
Could not open /etc/nsd3/nsd.conf: No such file or directory
* Building nsd3 zones...                                                                                                                     Could not open /etc/nsd3/nsd.conf: No such file or directory
invoke-rc.d: initscript nsd3, action "start" failed.
dpkg: nsd3 の処理中にエラーが発生しました (--configure):
サブプロセス installed post-installation script はエラー終了ステータス 1 を返しました
以下のパッケージの処理中にエラーが発生しました:
nsd3
E: Sub-process /usr/bin/dpkg returned an error code (1)
というdpkgのエラー発生。djbdnsの残骸が悪影響しているのだろうか?

こうなったらremoveしようとしても

サブプロセス pre-remove script はエラー終了ステータス 1 を返しました
となってしまうので、
yano@GT110b:~$ sudo rm -f /var/lib/dpkg/info/nsd3.*
した後、
yano@GT110b:~$ sudo apt-get purge nsd3
yano@GT110b:~$ sudo apt-get clean
yano@GT110b:~$ sudo apt-get update
という手順でクリーンアップしておけば良い。

…のだが、結局apt-get install nsd3ではインストールできなかったので、nlnetlabs.nlよりソースを落としてきて自力でbuild。/etc/nsd/nsd.confで待受ポート番号も設定可能なので以前のtinydnsの改造も不要ときたもんだ。

/etc/inittabの代わりに、upstartスクリプト/etc/init/nsd.conf

# nsd - Name Server Daemon
#
# This service starts nsd from the point the system is
# started until it is shut down again.

start on runlevel [2345]
stop on shutdown

expect daemon
respawn
exec /usr/local/sbin/nsd
な具合に作っておけば
$ sudo initctl start nsd
で起動する。

GT110b乗り換えを機に、最初からnsdにしとけば良かったな。

【参照】
●Unbound http://unbound.net/
●nlnetlabs.nl http://www.nlnetlabs.nl/
:: Name Server Daemon (NSD) ::
●日本Unboundユーザ会 http://unbound.jp/
NSD >> nsd.conf(5)
●DNS related information http://www.kkdlabs.jp/dns/
NSD 3.xによるネームサーバの構築
●karasuyamatenguの日記 http://d.hatena.ne.jp/karasuyamatengu/
rcとupstart 2011.01/15