Я выбрал / home / для шифрования при установке Ubuntu. Теперь можно ли заставить locate
работать с зашифрованным разделом, подобным этому?
Я оба "запускаю locate (updatedb) при входе в систему", как упоминалось выше, и я сохраняю свою часть базы данных locate в моем зашифрованном $ HOME.
export LOCATE_PATH="$HOME/var/mlocate.db"
и затем я индексирую файлы в $HOME
с помощью
updatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
Теперь у меня есть полный индекс $HOME
, но база данных не видна, если только $HOME
монтируется и расшифровывается.
Как насчет запуска updatedb, когда ваша файловая система расшифровывается и пытается сопоставить переменные среды для чтения / записи?
После прочтения man-страницы добавьте две переменные в ваш файл BASH RC.
man locate
echo "export LOCATE_PATH=$HOME/var/lib/mlocate/mlocate.db:$LOCATE_PATH" >> ~/.bashrc
echo "export DBPATH=$HOME/var/lib/mlocate/mlocate.db:$DBPATH" >> ~/.bashrc
Создайте каталог, указанный выше, и добавьте $ username в группу mlocate.
mkdir -p ~/var/lib/mlocate/
sudo usermod -a -G mlocate $username
Выйдите из системы и снова войдите в систему, чтобы подсчитать пользователя в группе mlocate и получить новые переменные среды. Теперь, когда вы запустите,
updatedb -o $LOCATE_PATH
будут ли расшифрованные файлы в базе данных locate сейчас? Или что вы сделали, чтобы заставить его работать или лучше?
Вы также можете добавить updatedb в пользовательский crontab. Первый запуск:
crontab -e
И добавьте следующую строку:
0 12 * * * updatedb -o $HOME/var/locate
@waltinator, как указано в ветке PerlMonks.org, машина WayBack Интернет-архива http://web.archive.org/web/20061213023831/http://www.netspinner.co.uk/Resources. html имеет рабочий пакет pathfunc.tgz
В действительности невозможно обновить индекс базы данных без входа в систему. Вы должны войти в систему и выполнить команду updatedb.
Проверьте вашу конфигурацию в /etc/updatedb.conf
. Удалить ecryptfs
из PRUNEFS
и, возможно, /home/.ecryptfs
из PRUNEPATHS
. Не забудьте запустить sudo updatedb
после.