mlocate
Существует несколько реализаций locate: оригинальная GNU-утилита findutils (findutils-locate), slocate и mlocate. mlocate имеет следующие преимущества:
- индексирует всю файловую систему, но результат поиска включает только те файлы, к которым данный пользователь имеет доступ. Это достигается путем обновления индексной базы от имени суперпользователя и закрытой для чтения обычными пользователями, которые имеют доступ только к бинарному файлу locate. Оригинальный locate такой возможности не имеет, но она имеется в slocate.
- Чтобы каждый раз при обновлении индексной базы не индексировать
содержимое всех каталогов, mlocate запоминает время последнего доступа к каталогу чтобы определить изменялось ли его содержимое. Это позволяет сократить время обновления индексной базы и снизить нагрузку жесткий диск.
Вместо перечитывания каждый раз всего содержимого всех каталогов при обновлении базы данных, mlocate хранит в базе данные о времени и может определять изменился ли каталог без перечитывания его снова. Это намного ускоряет обновления и уменьшает зависимость от скорости жёсткого диска. Это свойство доступно только в mlocate.
Отправить комментарий