On Tue, Nov 23, 2021 at 4:54 PM Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl wrote:
On Tue, Nov 23, 2021 at 01:52:43PM -0500, Chris Murphy wrote:
On Tue, Nov 23, 2021 at 12:19 PM Ben Cotton bcotton@redhat.com wrote:
== How To Test == # Install `plocate` (`sudo dnf install plocate --allowerasing`) # Wait for `plocate-updatedb.service` to finish (`sudo systemctl start plocate-updatedb.service`) # Use `plocate pattern` or `plocate -r <regexp>` to search for files.
Works for me. Also fixes this old bug where mlocate pruned bind mount locations, which resulted in /home on Btrfs not being indexed. https://bugzilla.redhat.com/show_bug.cgi?id=906591
Note for laptop users, plocate-updatedb.service contains ConditionACPower=true, so if you're getting errors locating files, it might be because the initial database isn't being created because no AC power.
Ack. (I assume that most people have the laptop on AC at least some of the time, so the db will get updated sooner or later. In the worst case, if the laptop is only charged while off or suspended, it would be necessary to remove the conditional. But I think that's a rare case, and the default is good.)
== User Experience == Users should not notice the difference. Installing `plocate` automatically removes `mlocate`. The new implementation is generally compatible with the old one in all common cases, and provides some additional options.
I'm definitely noticing a difference. I'm not sure it was ever correct that updatedb.conf was pruning bind mounts on Fedora. It's not the mlocate default, but it is what Fedora has been using for years (defacto default on Fedora).
That's a known-fixed bug. I didn't mention it because, well, it was considered a bug in mlocate. ¯_(ツ)_/¯
It's not a fixed bug. It's an intentional departure from the default, and it's still a problem in fresh Fedora installations today.
i.e. the mlocate default in updatedb.conf #PRUNE_BIND_MOUNTS = "yes"
But in Fedora it ships uncommented, so /home is not indexed on default installs because Btrfs "home" subvolume mounted at /home is a bind mount behind the scenes. Recently Silverblue fixed this, as it makes considerable use of bind mounts, by (re)commenting the pruning of bind mounts.