Чем папки индексируются / покрытый, 'располагаются'

На OS X я думаю, что определять местоположение DB заполняется путем выполнения:

sudo /usr/libexec/locate.updatedb

Но найдите, кажется, ничего не находит в или ниже ~ /

locate.updatedb должен индексировать мою домашнюю папку по умолчанию? Если так, какие-либо предложения или идеи, почему это не? Если это не индексирует ~ / по умолчанию, есть ли какие-либо причины не индексировать эту иерархию папок? В противном случае, как я настраиваю его, чтобы сделать так?


Кроме того, когда я выполняю locate.updatedb от ~ / (как некорневой), он работает. Когда я выполняю его от чего-либо ниже (например, ~ / Рабочий стол/) я получаю следующие ошибки:

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
find: .: Permission denied
5
задан 24.01.2011, 09:11

1 ответ

Найдите выполнения как "никого" пользователь для предотвращения других пользователей от способности видеть файлы в определять местоположение базе данных. Поскольку Ваша учетная запись является единственной с разрешением исследовать Ваши файлы, расположиться, не видят их. Даже если Ваша учетная запись является единственным локальным пользователем, это ограничение применяется. Когда Вы sudo locate.updatedb сценарий, find управляйте, чтобы это метало икру, конкретно запускается как непривилегированный. В то время как Вы могли изменить сценарий для предотвращения этой проблемы, я не могу сказать, что это рекомендуется.

Кроме того, найдите, не включен по умолчанию, как это, предполагает, что Центр внимания/MDS лучше для большинства людей. Я предложил бы испытать команду mdfind. Если Вы действительно решаете, что хотите, располагаются, чтобы регулярно работать, выполниться sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist загрузить его launchd задание для регулярной переиндексации.

6
ответ дан 07.12.2019, 17:07

Теги

Похожие вопросы