launchctlでlocate

locateを使うにはupdatedbが必要で、適宜更新するためにもcronで定時に更新したりするらしい。

ただSnow Leopard(Tiger以降?)だとupdatedbがデフォルトでパスの通った場所にない。探してみると、/usr/libexec/locate.updatedb というちょっと変な場所にある。

そこで、こいつを実行せずにlocateを実行してみると、どうやら定期的な更新とかはlaunchctlでそこらへんはうまくやってくれるかのようなメッセージが出てくる。そいつにしたがって以下を実行してみると、確かにlocateが使えるようになる。

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

DBの更新スケジュールは/System/Library/LaunchDaemons/com.apple.locate.plistに記述されている。


Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">