Исходный код mlocate:
mlocate -- это новая реализация утилиты locate, предназначенной для поиска файлов в системе по их имени с использованием заданных шаблонов или регулярных выражений. В отличие от других утилит, таких как find(1), в locate используется поиск по ранее созданной базе индексов файлов, что существенно ускоряет время поиска. База индексов обновляется посредством команды cron.
Существует несколько реализаций locate: оригинальная GNU-утилита findutils, slocate и mlocate. mlocate имеет следующие преимущества:
* индексирует всю файловую систему, но результат поиска включает только тефайлы, к которым данный пользователь имеет доступ. Это достигается путем обновления индексной базы от имени суперпользователя и закрытой для чтения обычными пользователями, которые имеют доступ только к бинарному файлу locate. Оригинальный locate такой возможности не имеет, но она имеется в slocate.
* Чтобы каждый раз при обновлении индексной базы не индексироватьсодержимое всех каталогов, mlocate запоминает время последнего доступа к каталогу чтобы определить изменялось ли его содержимое. Это позволяет сократить время обновления индексной базы и снизить нагрузку жесткий диск.
* Вместо перечитывания каждый раз всего содержимого всех каталогов при обновлении базы данных, mlocate хранит в базе данные о времени и может определять изменился ли каталого без перечитывания его снова. Это намного ускоряет обновления и уменьшает зависимость от скорости жёсткого диска. Это свойство доступно только в mlocate.
Установка mlocate активирует механизм альтернатив и меняет /usr/bin/locate на ссылку, указываюшую на исполняемый файл mlocate. После установки запустите /etc/cron.daily/mlocate вручную для создания базы данных, иначе mlocate не будет работать, пока этот сценарий не будет запущен из cron (mlocate не использует стандартную файловую базу данных locate). Также удалите пакет "locate", чтобы не надо было регулярно обновлять в системе две разных файловых базы данных.
|
|
|
| Архитектура | Размер пакета | В установленном виде | Файлы |
|---|---|---|---|
| alpha | 82,5 Кб | 460 Кб | [список файлов] |
| amd64 | 77,9 Кб | 440 Кб | [список файлов] |
| arm | 72,4 Кб | 428 Кб | [список файлов] |
| armel | 70,8 Кб | 428 Кб | [список файлов] |
| hppa | 75,1 Кб | 436 Кб | [список файлов] |
| i386 | 71,7 Кб | 432 Кб | [список файлов] |
| ia64 | 93,5 Кб | 516 Кб | [список файлов] |
| mips | 77,2 Кб | 444 Кб | [список файлов] |
| mipsel | 77,6 Кб | 444 Кб | [список файлов] |
| powerpc | 78,4 Кб | 440 Кб | [список файлов] |
| s390 | 77,9 Кб | 436 Кб | [список файлов] |
| sparc | 73,9 Кб | 432 Кб | [список файлов] |