我可以指定自定义位置吗updatedb.conf
?
我正在将 mlocate/updatedb 与私有数据库一起使用。我没有此系统的 root 凭据,并且我不能也不想更改/etc/updatedb.conf/
。我只想制作我自己的自定义updatedb.conf
,并指定我想在那里排除的目录(我知道我可以-e
在命令行上指定它们,这是我到目前为止一直在做的,但是它得到的列表非常长,所以我想将其移动到单独的文件中)。这可能吗?我可以在updatedb.conf
...中指定它,但如果是它当然不行,/etc/
所以我想要我自己的自定义的。updatedb、mlocate、updatedb.conf 的手册页没有告诉我如何或是否可能。
答案1
可惜/etc/updatedb.conf
无法省略。
但是您可以使用环境变量和命令别名来缩短命令行的长度:
如果有太多路径需要修剪,只需将其全部放入环境变量中:
export MYPRUNEPATHS="/var/cache /var/www /var/lib/docker"
然后更新您的自定义数据库:
updatedb -o ~/.mymlocate.db --prunepaths $MYPRUNEPATHS
为了$MYPRUNEPATHS
持久化,将我上面写的第一个命令添加到你的 ~/.bashrc (或 ~/.zshrc)。
您还可以在 ~/.bashrc 中使用命令别名:
# My mlocate
export MYPRUNEPATHS="/var/cache /var/www /var/lib/docker"
alias myupdateb="updatedb -o ~/.mymlocate.db --prunepaths '$MYPRUNEPATHS'"
alias mylocate="locate -d ~/.mymlocate.db"
现在您可以在 bash 中运行myupdateb
以更新您的自定义 mlocate db,并mylocate something
在该 db 内进行搜索。
ps 不要忘记执行source ~/.bashrc
以应用您所做的更改~/.bashrc