我可以为“updatedb.conf”指定自定义位置吗?

我可以为“updatedb.conf”指定自定义位置吗?

我可以指定自定义位置吗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

相关内容