updatedb Генератор команд
Сгенерируйте команды updatedb для создания или обновления базы данных имён файлов, используемой locate
Начало работы с updatedb
## Что такое updatedb?
`updatedb` создает или обновляет базу данных с именами файлов, которую использует `locate` для поиска. После её запуска `locate needle` находит любой файл по имени за несколько миллисекунд, что гораздо быстрее, чем `find`, сканирующий весь файловую систему. База данных пересоздаётся по расписанию (обычно ежедневно с помощью cron), но её можно запустить вручную сразу после значительных изменений в файлах.
## Как использовать
1. **Выбор опций**: обычно никаких — `sudo updatedb` является стандартным вариантом. При необходимости добавьте `--output`, `--prunepaths`, `--prunefs`, `--database-root`, `--require-visibility` или `-v`. 2. **Использование пользовательской базы данных** (необязательно): используйте `--output`, чтобы сохранять данные не в стандартных местах `/var/lib/plocate/plocate.db` или `/var/lib/mlocate/mlocate.db`. 3. **Копирование и запуск**: добавьте в начало команды `sudo`, чтобы сканер мог просмотреть все директории.
Общие опции
### `-v` Подробный режим Выводите пути по мере их сканирования — это полезно для подтверждения того, что база данных действительно перестраивается.
### `--output=FILE` Собственная база данных Запишите индекс в определённый путь: `updatedb --output=/tmp/mydb.db`. Затем выполните запрос к нему с помощью `locate -d /tmp/mydb.db pattern`.
### `--prunepaths='DIRS'` Игнорирование каталогов Исключите пути из сканирования, чтобы они никогда не появлялись в результатах `locate`: `updatedb --prunepaths='/tmp /var/tmp /mnt/backup'`.
### `--prunefs='FSTYPES'` Игнорирование файловых систем Игнорируйте целые типы файловых систем, такие как `nfs` или `tmpfs`, чтобы сетевые или временные монтирования не попадали в индекс: `updatedb --prunefs='nfs tmpfs'`.
### `--database-root=PATH` Сканирование корня Создайте индекс поддерева так, как будто это корень файловой системы — это удобно для создания базы данных из chroot-среды или монтированного образа.
### `--require-visibility` Фильтрация прав доступа Запишите, какие файлы может видеть пользователь, создающий индекс, и скройте остальные от `locate`. По умолчанию в plocate этот режим отключён (он индексирует только пути, доступные для чтения всеми); в mlocate режим включён по умолчанию.
▶Почему функция поиска не находит файл, который я только что создал?
▶mlocate против plocate — в чём разница?
▶Зачем мне нужен sudo для запуска updatedb?
Если этот инструмент оказался полезным для вас, подумайте о том, чтобы подарить мне кофе.
Купите мне кофе.