Как я могу автоматизировать запуск updatedb на зашифрованном разделе?
На зашифрованном разделе, как правило, updatedb не индексирует зашифрованный домашний каталог. Чтобы запустить locate (updatedb), когда пользователь вошел в систему, нужно сохранить эту часть базы данных locate под зашифрованным пользователем $HOME.
export LOCATE_PATH="$HOME/var/mlocate.db"
а затем запустить updatedb, чтобы проиндексировать файлы в $ HOME:
updatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
Это дает полный индекс $ HOME, и база данных не видна, если $ HOME не смонтирован и не расшифрован.
Поскольку файловая инфраструктура ubuntu rc постоянно меняется, я запутался, что является правильным местом (то есть к какому файлу), чтобы добавить эти строки?
Изменить: В настоящее время работает Ubuntu 14.04
1 ответ
Не в /etc/rc*
структура вообще - это для запуска системы, переходов на уровне выполнения, а НЕ для пользовательских вещей. Когда rc
скрипты запущены, система только частично запущена, единственная UID
является 0
(root
).
я бегу updatedb
от моего crontab
в 02:05 ежедневно. Вот строка из моего crontab
:
02 05 * * * /usr/bin/updatedb -l 0 -o /home/w3/var/mlocate/mlocate.db -U /home/w3
Обратите внимание, что это cron
задание должно быть запланировано на время, когда пользователь w3
вошел в систему, а незашифрованный каталог смонтирован.