locateの問題を何とかしようと調べてたら。mlocateを発見。debianにおいてはmlocate/locateは違うモノ。locateはslocateの一種らしい。
mlocateについて
$aptitude show mlocate ...(略) mlocate は locate の新しい実装です。ファイルシステム上のどこかにあるファイル ... mlocate をインストールすると、/usr/bin/locate バイナリを alternatives メカニズム を通じて mlocateを指すように変更します。
locateの代替えに出来る。しかも高機能。じゃぁ使おうじゃないか。
/etc/updatedb.conf
updatedbから.hgを除外する。
PRUNE_BIND_MOUNTS="yes" PRUNENAMES=".git .bzr .hg .svn" #コメントを外す PRUNEPATHS="/tmp /var/spool /media" PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf"
これでmercurialのヒストリ部分を検索対象から外すことが出来る。
つまり、locateの細かい設定したいときはmlocate使ってる方が楽
crontabのメンテナンス
(mlocateは標準的な locate とは同じデータベースを使わないため)
または、システムで定期的に更新される異なる二つのデータベースファイルが存在しな
い ように、"locate" パッケージを削除したいと思うかもしれません。
だそうなので、cronの内容を変更しないと無駄になるよ。
2011-02-18追記
mlocate 単体パッケージ locateは find-utils 付属