在加密分区上使用locate

我在安装Ubuntu时选择/ home /加密。 现在,是否可以使用这样的加密分区进行locate工作?

当我登录时,我都“运行locate(updatedb)”,如上所述,我将我的部分数据库保存在加密的$ HOME下。

 export LOCATE_PATH="$HOME/var/mlocate.db" 

然后我索引$HOME的文件

 updatedb -l 0 -o $HOME/var/mlocate.db -U $HOME 

现在我有一个完整的$HOME索引,但除非安装和解密$HOME否则数据库不可见。

如何在解密文件系统时运行updatedb并尝试匹配环境变量来读/写它?

阅读手册页后,将两个变量添加到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 

在没有登录的情况下更新数据库索引是不可能的。您应该登录并运行updatedb命令。

检查/etc/updatedb.conf的配置。 从PRUNEFS删除ecryptfs ,可能从PRUNEPATHS删除PRUNEPATHS 。 不要忘记之后运行sudo updatedb

@waltinator,正如PerlMonks.org网站上所述,Internet Archive的WayBack Machine http://web.archive.org/web/20061213023831/http://www.netspinner.co.uk/Resources.html有一个工作包pathfunc.tgz