oio11: (Default)
[personal profile] oio11
Обновление базы, используемой программой locate
Опубликовано 18.08.2010 автором admin

updatedb

В первой статье этого раздела, где лишь начинался разговор о locate, было упомянуто, что причина столь быстрой работы команды в том, что поиск реально выполняется в базе данных, содержащей имена файлов и каталогов. При инсталляции программа locate автоматически настраивается на просмотр жесткого диска и обновление базы. Обычно такое обновление происходит ночью. Это очень удобно, но такой подход не позволяет найти файлы, которые лишь недавно были помещены в файловую систему.

Предположим, например, что вы инсталлировали Rootkit Hunter (программу, которая выявляет средства, используемые злоумышленниками), а потом хотите получить информацию об установленных файлах. Команда locate не поможет вам, поскольку она ничего не знает об этих файлах и не будет знать о них до тех пор, пока база данных не обновится. При необходимости вы можете в любое время вручную задать обновление базы, используемой locate. Для этого надо вызвать команду updatedb. Поскольку данная команда индексирует практически каждый файл и каталог на вашем компьютере, для вызова ее вам необходимы права root (в системах типа К/Ubuntu можно также задать sudo).

# apt-get install rkhunter
# exit
$ locate rkhunter
$ su -
# updatedb
# exit
$ locate rkhunter
/usr/local/rkhunter
/usr/local/rkhunter/bin
/usr/local/rkhunter/etc

В предыдущем примере мы сначала установили rkhunter (пакет Rootkit Hunter), а затем завершили сеанс пользователя root. После этого был выполнен поиск rkhunter, но он не дал результатов. Мы снова выступили под именем root, запустили updatedb для просмотра жесткого диска, в результате чего locate получила информацию об изменениях, а затем завершили сеанс root. И наконец, мы снова выполнили поиск rkhunter с помощью программы locate и на этот раз он был успешным.

Запуская updatedb, необходимо учитывать следующее: время работы этой программы прямо пропорционально числу файлов на вашем жестком диске и быстродействию компьютера. Если у вас быстрый процессор, быстрый диск и немного файлов, updatedb завершится быстро. А что если быстродействие процессора мало, скорость обмена с жестким диском невелика, а на диске миллионы файлов? Тогда придется запастись терпением. Если вы хотите узнать, сколько времени потребовалось для индексирования содержимого файловой системы, задайте перед updatedb команду time так, как показано ниже.

# time updatedb

Когда updatedb завершит работу, time сообщит о затраченном времени. Эти сведения будут полезны на случай, если вы не обладаете достаточным запасом времени и вам надо решить, имеет ли смысл вызывать updatedb.

Команда updatedb дает те же результаты, что и запуск slocate с опцией -u. Более того, как нетрудно выяснить, updatedb — это всего лишь ссылка на slocate.

$ ls -l /usr/bin/updatedb
root root /usr/bin/updatedb -> slocate

http://linuxmemo.ru/?p=342
(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

October 2025

S M T W T F S
   1234
567891011
12131415161718
19202122 232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 22nd, 2026 05:50 am
Powered by Dreamwidth Studios