Steinar H. Gunderson wrote: > Now, there is plocate (written and maintained by myself). It is orders of > magnitude faster than mlocate (both on SSDs and HDDs alike), has the same > security model, a smaller database (typically half the size), and fixes > a few long-standing mlocate bugs. It is nearly fully command-line compatible > with mlocate, so most users should feel right at home. It builds on all > release and non-release architectures. The only non-Essential dependencies > are liburing1 (33 kB) and libzstd1 (670 kB). > > I believe a good, fast locate is something that we should have in our base > install
I absolutely think that plocate makes sense as the "default" locate; it seems like an improvement on mlocate in every way. However, I don't think *any* locate should be in the base install, as long as that entails having any kind of regularly scheduled task that indexes the filesystem, even if that task has been made relatively cheaper than other implementations. locate is a purely user-facing tool, not really usable for portable scripting, since neither its presence nor its functioning can be assumed. Many users won't even know it exists (locate has far fewer users than find), and for all of those non-users, the effort spent building the database will go entirely to waste. On top of that, several desktop environments (including a default "desktop" installation) have their own entirely separate mechanism for indexing files, typically based on a change-watching API (e.g. inotify) rather than a regularly scheduled update. For any users who have and use such a mechanism, they'd then have *two* mechanisms indexing the filesystem rather than just one, and they're likely to only use one of those. Furthermore, any mechanism they use to configure one of them (e.g. for privacy or performance reasons) will not control the other, and again they may well be unaware of the existence of the other one. We should absolutely have a locate implementation available for any who want to install and use it, but we shouldn't make all users pay the cost of locate's database update to satisfy the subset of users who ever invoke locate. - Josh Triplett