Обзор
`updatedb` — это утилита, необходимая для поддержания актуальности базы данных файлов, используемой командой `locate`. Если эта база данных не обновляется, `locate` не сможет найти недавно добавленные или измененные файлы. Обычно команда должна запускаться с правами `root`, чтобы сканировать и индексировать все файловые системы.
Основные характеристики
- Создание/обновление базовой базы данных для команды `locate`
- Сканирование всей файловой системы системы
- Чаще всего запускается автоматически через задачи `cron`
- Возможность указать исключаемые пути/файловые системы для сканирования через конфигурационный файл (`/etc/updatedb.conf`)
Основные опции
Команда `updatedb` обычно запускается без опций или используется в скриптах `cron` с определенными опциями. Большинство настроек выполняется в файле `/etc/updatedb.conf`.
Общие опции
Сгенерированная команда:
Комбинируйте команды.
Описание:
`updatedb` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Команда `updatedb` обычно запускается с `sudo` для сканирования всей файловой системы системы.
Обновление базовой базы данных
sudo updatedb
Наиболее распространенный способ использования — обновление базы данных `locate`. Эта команда требует прав `root`.
Обновление с отображением прогресса
sudo updatedb -v
Чтобы увидеть процесс обновления базы данных подробно, используйте опцию `-v` (verbose).
Установка
`updatedb` обычно является частью пакета `mlocate`. Он может быть не установлен по умолчанию в большинстве дистрибутивов Linux, поэтому при необходимости его можно установить с помощью следующих команд.
Системы на базе Debian/Ubuntu
sudo apt update
sudo apt install mlocate
Системы на базе CentOS/RHEL/Fedora
sudo yum install mlocate
Советы и предостережения
Важные моменты при использовании `updatedb`, а также советы по производительности и безопасности.
Производительность и ресурсы
- Время выполнения: Выполнение `updatedb` может занять значительное время в зависимости от количества и размера файлов в системе. Рекомендуется запускать его через задачу `cron` в часы низкой нагрузки на систему, например, рано утром.
- Использование CPU/диска: Во время сканирования файловой системы может использоваться значительное количество ресурсов CPU и дискового ввода-вывода. Это может повлиять на другие системные задачи.
Безопасность и настройка
- Права root: `updatedb` должен запускаться с правами `root` для индексирования всех файлов системы. При запуске с правами обычного пользователя могут быть проиндексированы только некоторые файлы.
- Конфигурационный файл: Поведение `updatedb` можно тонко настроить с помощью файла `/etc/updatedb.conf`. Например, переменная `PRUNEPATHS` позволяет исключить определенные каталоги (например, `/tmp`, `/proc`, `/sys`, `/dev`, `/mnt`, `/media`) из сканирования, а переменная `PRUNEFS` позволяет исключить определенные типы файловых систем (например, `nfs`, `cifs`, `fuse`). Это способствует повышению производительности и безопасности.
- Расположение базы данных: Созданный файл базы данных обычно хранится в `/var/lib/mlocate/mlocate.db`. Этот файл используется командой `locate`.