Как я могу автоматизировать запуск 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 вошел в систему, а незашифрованный каталог смонтирован.

Другие вопросы по тегам