2008年9月16日火曜日

OS X10.5でDNSキャッシュクリア

備忘録。
10.4まで通用したlookupdのキャッシュクリアは10.5では通用しなくなった。

10.5では
$ dscacheutil -flushcache

ちなみに10.4では
$ sudo lookupd -flushcache
とか、"lookupd"のプロセスID調べてから
$ sudo kill -HUP 'pid'
でハングアップシグナル送っても再キャッシュしてくれた。

dscacheutilコマンドではlookup daemonの様にroot権限で実行しなくても良くなった模様。
ちなみに10.5環境では存在していないlookupdですが、
$ man lookupd
とすると、dscacheutilのマニュアルが表示されます。

Debianでもnslookup

自宅にDebian化した玄箱が稼働してます。
元々スリープしている端末(Mac & PC)を外出先からたたき起こすだけのために設置したんだけど、結構サーバーとして使えるのでいろいろ重宝してます。

それはさておき、会社で自社ドメインのDNSに新規レコードを追加したところ、スタッフから「いつになったら見えるの?」との連絡。
自分の端末からはちゃんと閲覧できるし、「古いキャッシュ参照しちゃってるんだろうから、PC再起動してみて」としか言いようすがない。
それでも"念のため"と思い、自宅の玄箱からDNS引けるか確認しようとしてdebianにnslookupが入ってない事に気付いた。(digも入ってなかった)
Debianでは"host"コマンドを使うようなコメントがあったんだけど"host"コマンドすら入ってない。orz

# apt-cache search nslookup

としても"host"コマンドパッケージしか引っかかってこないし、結局"http://www.debian.org/distrib/packages#search_packages"でnslookupを含むパッケージを検索。
digも含めて"dnsutils"パッケージに含まれている模様。

# apt-get install dnsutils

で、無事nslookupを使えるようになりました。

【追記】
独自ドメインを使っていなくて、/etc/resolv.confにsearchの空行が入っていたら、削除しておくこと。
search行はホスト名解決に使う検索リストなので、nslookupが検索しにいけなくて"connection timed out; no servers could be reached"のエラーを返します。