В системе Ubuntu 10.10 есть следующая команда updatedb с помощью которой можно осуществлять поиск по имени файла в системе. Данный поиск осуществляется на основе базы данных проиндексированных файлов. Чем больше файлов на машине, тем выше соответственно нагрузка на быстродействие компьютера и ниже быстродействие, во время перестроения индекса.
У утилиты есть конфигурационный файл:
keiz@ekz:~$ sudo nano /etc/updatedb.conf
пример вывода в моей системе:
PRUNE_BIND_MOUNTS=”yes”
# PRUNENAMES=”.git .bzr .hg .svn”
PRUNEPATHS=”/tmp /var/spool /media”
PRUNEFS=”NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs ud$
В пункт PRUNEPATHS можно добавить те директории которые не нужно индексировать.
Чтобы обновить индексированную базу:
keiz@ekz:~$ sudo updatedb
Текущее расположение базы:
keiz@ekz:~$ dir -hl /var/lib/mlocate/mlocate.db
-rw-r—– 1 root mlocate 7,3M 2012-08-12 22:28 /var/lib/mlocate/mlocate.db
Закрыв от индексации директорию /home
, в которой обычно находится основная масса файлов, мы снижаем нагрузки при перестроении поискового индекса.
Для того, чтобы выполнить поиск в директории /home, следует убрать ее из списка исключений в пункте PRUNEPATHS и обновить файл индекса с приоритетом, чтобы не нагружать систему:
keiz@ekz:~$ sudo nice -21 updatedb
nice -n <приоритет> команда аргументы
Максимальный приоритет задается числом -20, а минимальный — числом 19. Приоритет по умолчанию равен 10.