Answers:
该定位包是实施定位从GNU的findutils。该的mlocate包名为同一概念的另一种实现方式的mlocate。它们实现了相同的基本功能:根据(通常)每晚重建的索引快速查找文件名。除了基本用法外,它们在功能上有所不同。特别是,GNUloc只建立一个世界可读文件的索引(除非您从您的帐户运行),而mlocate只建立所有文件的索引,但只允许调用用户查看它可以访问的文件。这使mlocate在大多数情况下更有用,但在某些非系统管理员无法运行的异常安装中则无法使用(因为mlocate
必须设置为setuid root),并且存在安全风险。
在Debian和衍生产品下,如果同时安装,locate
将运行该mlocate
实现,并且需要运行locate.findutils
以运行GNU实现。这通过替代方法进行管理。如果您都安装了它们,则它们都会花费时间重建各自的索引,但是除此之外,它们不会互相冲突。
mlocate
的主要功能,从中获得了它的名称(“合并定位”):它提供了一个版本,updatedb
该版本可以重用其旧索引,从而仅通过查询ctime
已更改目录的文件/子目录列表来提高更新性能。。
mlocate是locate的较新实现。一旦你安装了mlocate
它
将通过替代机制将/ usr / bin / locate二进制文件更改为指向mlocate。
这就是为什么如果按该顺序安装会出现mlocate行为的原因。
可以在这里找到详细信息
mlocate
,而是在我的Ubuntu 16.04系统上安装/usr/bin/locate -> /etc/alternatives/locate -> /usr/bin/mlocate