Your rating: None Average: 5 (1 vote)

mlocate is a locate/updatedb implementation.  The 'm' stands for "merging": updatedb reuses the existing database to avoid rereading most of the file system, which makes updatedb faster and does not trash the system caches as much.

There is now also a GUI for it in gmLocate , thanks to sh6668.

Some examples of usage:

locate <pattern> # lists files matching pattern, case sensitive

locate -i <pattern> # case insensitive

locate -e <pattern> # checks that the matching files actually exist at the moment

locate -e -i -c jpg # counts the number of JPG files

Please test the systemd timer and service file. There are a harbour-mlocate-updatedb.timer and a harbour-mlocate-updatedb.service file installed to `/usr/lib/systemd/system`. The timer should trigger "daily" at midnight, and should use minimal I/O and CPU resources.

The shipped configuration ignores `tmpfs` and `/run`. As SD Cards are mounted under `/run` if you want to index the SD card, you will have to edit `/etc/updatedb.conf` and remove the prunefs entry for tmpfs and the `/run` directory. This may have harmless side effects, as transient files will be added to the database. 

Thanks to @itoss for pointing this out.  

NOTE: At the moment, the package does not install on SFOS releases < 3.2.

I'll be happy to implement any improvements.

Application versions: 

- rebuild arm64 on newest SDK - improve systemd handling under multiarch