我想安装该命令locate
,可以通过sudo apt-get install
mlocate
。
然而,我首先跑了sudo apt-get install
locate
这似乎安装了其他东西。
然而输入命令locate <package>
似乎需要mlocate
。
套餐是什么locate
,并且可以(应该)安全地删除它吗?
答案1
这定位包是执行定位从GNU findutils。这移动定位包是同一概念的另一个实现,称为移动定位。它们实现相同的基本功能:基于(通常)每晚重建的索引快速查找文件名。除了基本用法之外,它们的某些功能有所不同。特别是,GNUlocate 仅构建世界可读文件的索引(除非您从您的帐户运行它),而 mlocate 构建所有文件的索引,但只允许调用用户查看它可以访问的文件。这使得 mlocate 在大多数情况下更有用,但在某些不由系统管理员运行的异常安装中无法使用(因为mlocate
必须setuid 根)和安全风险。
在Debian及其衍生版本下,如果您安装两者,locate
将运行该mlocate
实现,并且您需要运行locate.findutils
才能运行GNU实现。这是通过管理备择方案。如果您都安装了,它们都会花时间重建各自的索引,但除此之外它们不会相互冲突。
答案2
mlocate 是locate 的较新实现。安装mlocate
后
将通过替代机制更改 /usr/bin/locate 二进制文件以指向 mlocate。
这就是为什么如果按该顺序安装,就会出现 mlocate 行为。
详情可查这里