macOS でファイル名でファイルを検索する locate コマンドを使っている (mdfind と使い分けをしている)。 データベース・ファイルを用意しておく必要があり、 一度 sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist のようなコマンドを実行しておけ、と言われている。ところが
| % sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist Load failed: 5: Input/output error Try running `launchctl bootstrap` as root for richer errors. | 
plist 自体はもともと提供されているものなので、問題はないはず。実際、 文法チェックしてみると
| % plutil -lint /System/Library/LaunchDaemons/com.apple.locate.plist /System/Library/LaunchDaemons/com.apple.locate.plist: OK | 
一度 unload してから load するのだそうだ。
| % sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.locate.plist Password: % sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist % | 
パーミッションが 700 である自分のディレクトリィの下は検索しない。 自分のホームディレクトリィのパーミッションをそうしている場合には、 自分のファイルのデータベースを別に作るべきか。
| mkdir ~/var cp -p /etc/locate.rc ~ vi ~/locate.rc | 
| こんなふうに書き換える | 
| % diff /etc/locate.rc ~/locate.rc 13c13 < #FCODES="/var/db/locate.database" --- > FCODES="/Users/mk/var/locate.database" 16c16 < #SEARCHPATHS="/" --- > SEARCHPATHS="/Users/mk" % | 
| makelocatedatabase | 
| #!/bin/sh export LOCATE_CONFIG="/Users/mk/locate.rc" /usr/libexec/locate.updatedb |