1

Я не получаю ошибку о том, что БД не существует или не заполняется. Я ничего не получаю. Я точно знаю, что вещи, которые я ищу, существуют на моей коробке. Я даже пытался locate bin или locate Users . Я ничего не получаю!

Я попытался обновить db: sudo /usr/libexec/locate.updatedb , но все равно ничего.

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist говорит, что оно уже загружено.

Какие-либо предложения?

2 ответа2

0

Комментарии 2011 в разделе Автоматическое обновление определяют местонахождение БД по требованию - Mac OS X Подсказки напоминают, что Apple прекратила использование базы данных по умолчанию. Из updatedb.sh с открытым исходным кодом для Mac OS X 10.5.8:

ПРЕДУПРЕЖДЕНИЕ

Выполнение updatedb от имени пользователя root. Это откроет все имена файлов на вашем компьютере для всех пользователей входа в систему, что представляет угрозу безопасности.

Если вы понимаете правильно, из более свежих ответов в разделе Включение каталогов в Locate на Mac OS X (2015-01-03):

  • если пользователь решит переопределить Apple по умолчанию и заполнить базу данных, то результат будет правильно исключать большую часть того, что находится в домашнем каталоге пользователя.
0

Альтернативой для некоторых вещей является mdfind (mdfind и связанные утилиты являются интерфейсом командной строки для Spotlight). Но он находит только то, что сам Spotlight вернул бы.

Но, сохраняя фокус на locate , убедитесь, что /var/db/locate.database действительно заполнен. Или, чтобы начать с нуля, отключите locate через launchctl , запустите locate.updatedb от имени пользователя root и перезагрузите locate через launchctl . Это должно оставить вас с рабочей базой данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .