Am getting tired waiting forever for file searches on my machine.
Looking for recommendations for any indexed File Find people may be using.
For those who are unfamiliar with what indexing is, that generally means that a database is created of whatever (in this case filenames) and then at least one index is created which is a custom enumeration of the data to speed searches. If the application is also multi-threaded, then the search can be very, very fast.
Based on brief research, it looks like SuSE likely indexes its files locally daily on its own using an application called “locate,” but isn’t normally exposed to the User. Am downloading “findutils-locate” to see if it works against this data store.
have a look at locate, it builds an index (yes, that takes a little
time…the first time, then it auto-builds in the background during a
daily cron) and the locate itself is like a greased pig…
very fast!
–
DenverD
When it comes to chocolate, resistance is futile.
CAVEAT: http://is.gd/bpoMD [posted via NNTP w/openSUSE 10.3]
Thx DenverD,
Yes, that’s why I’m installing “findutils-locate” – It’s the User tools to interface with the locate tool, otherwise apparently “locate” is running only for the internal benefit of the OS.
Update.
Locate is a fantastic tool I highly recommend for simple file searches (Locate only supports file names, but does support wildcards).
As I noted, OpenSuSE users have to install the “findutils-locate” package to install User access to this functionality. Because SuSE should already be using the functionality internally, there is no need to initially create the filename database, it should work instantly and according to documentation will automatically update daily. An interesting feature is its ability to point to different databases, so I assume if locate is running on a remote machine or might be running somewhere in support of more than just a local filesystem, varied word domains can be searched very quickly.
The only slight drawback is that locate does not support file properties or attributes, although I assume it might be not that difficult to extend locate with a few lines of relatively simple code.
As I noted, OpenSuSE users have to install the “findutils-locate” package to install User access to this functionality.
Actually it is not needed by the system and therefore only available when installed.
Because SuSE should already be using the functionality internally, there is no need to initially create the filename database, it should work instantly and according to documentation will automatically update daily.
Not quite true, since it will not create the database right after the install. This can be done by running
updatedb
as root.
Either way: ‘locate’ is good. Plain, simple & fast.
tsu2 wrote:
> apparently “locate” is running only for the internal benefit of the OS.
not quite right…open a terminal and type (for example)
locate fstab
and you will see that once the database is built (look at “man locate”
to learn how to do the initial build, or wait for the cron to run) it
is running for the benefit of you, the user…
–
DenverD
When it comes to chocolate, resistance is futile.
CAVEAT: http://is.gd/bpoMD [posted via NNTP w/openSUSE 10.3]
For whatever reason, on my system when I typed “locate” (even as root) I received the typical “Cannot Find” error. I assume if it existed in a configured PATH, it should have run.
Googling “locate” and “suse” returns the advice to install “findutils-locate” and sure enough, YAST said it wasn’t installed.
After installing the package, locate works without issue.
So, I imagine locate might be installed already on some systems but for others like myself it was somehow not.