在Linux中mlocate和slocate有什么区别?


13

遍历/etc/cron.daily目录后,我发现只有mlocate.cron文件,而我在其他资料中引用locate.cron的情况与之相比。这些命令与它们各自的命令之间是否有区别,如果有的话,它们是什么?

Answers:


15

https://fedorahosted.org/mlocate/解释了mlocate在每次更新时都会合并数据库,这可以提高性能,因为它可以跳过以前检查过的文件。

它们是相互竞争的实现,但是mlocate被设计为与slocate向后兼容,并正在逐步替换它。


谢谢。当您这么说时,mlocate merges databases at each update这到底是什么意思?
PeanutsMonkey 2011年

4
@Peanuts在查看Stephanie提供的链接时,似乎mlocate(使文件存储在数据库中)每次运行时都会重用以前的数据库,因此,任何新信息都与旧信息合并,以节省时间并提高性能。加速。
pavium 2011年

@pavium-那么这是否意味着我会有多个mlocate.cron文件?
PeanutsMonkey 2011年

1
@peanuts,不,数据库已合并:- mlocate.cron运行时生成的新数据 与上次运行时的旧数据合并。这并不意味着我们需要多个mlocate.cron文件。
pavium 2011年

1
确切地说,mlocate的作用是将数据库中每个目录的mtime与文件系统上的同一目录进行比较。对于任何已更改的目录,mlocate会将其及其后面的任何新子目录树遍历,否则它将仅将该目录的数据库内容复制到新DB(最后移到的临时文件)上。这可以大大加快大型文件系统上的处理过程。我个人已经看到,对于一个全新的数据库,mlocate更新仅需要数小时,而几天则需要数天。
Thomas Guyot-Sionnest
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.