overbyrn Posted January 5, 2013 Share Posted January 5, 2013 I sometimes miss having the option to find files on command line with the locate command. The binary is part of findutils, but it's not packaged with Unraid by default, so I created a slackware package for it and knocked up an installation script. Thought I'd share it here in case someone else finds it useful. The main thing to remember is that locate relies on a database which is maintained using the updatedb command and is typically scheduled to run via cron. The installation script creates a cron entry set to run daily at 3am. I figure those happy to use this will know enough to change that to suit their needs. Also, updatedb can be configured to ignore files, paths and filesystems. These are also configurable from the installation script. For instance, I have set mine to ignore /mnt/user eg. user shares, as otherwise I'd get duplicate entries for files. ie one for /mnt/user and one for /mnt/diskx where the file physically resides. The script is pretty self-explanatory and it should be obvious what needs to be changed. Script is attached to this message. The findutils package is too big to attach, so here's a link to it from my dropbox; https://dl.dropbox.com/u/572553/UnRAID/findutils/findutils-4.4.2-i486-1rj.tgz I've tested it on a couple of unraid systems including my main system and it seems to index everything correctly. However, usual caveats apply! NB. this is not a plugin and the install script does not make any attempt to download the package in the link above. It assumes you have already put a copy in /boot/packages. Basic steps to get this working; 1. download package from link above and put into /boot/packages (or /flash/packages if accessing flash drive over a share) 2. save copy of attached install_locate.sh.txt to somewhere permanent. eg. mine is in /boot/scripts. Make sure it has execute permissions. (it should by default if you've saved to your flash drive). Ideally strip off the .txt extension too. 3. edit install_locate.sh to suit your needs. Specifically make sure you're happy with LOCATE_PATH. This is the path and filename of the database. 4. run the install script. 5. check cron entry has been created. eg. crontab -l from command line 6. type updatedb. this will perform a find across your drives and create the initial database. 7. test by trying to find a file. eg. locate somefileiknowexists Regards, overbyrn PS. if anyone knows of a web front-end that can read the database file, please let me know! install_locate.sh.txt Quote Link to comment
MyKroFt Posted March 28, 2014 Share Posted March 28, 2014 Have you made a 64 bit version of this package? I sure miss it on V6 Myk Quote Link to comment
shoemoney Posted October 5, 2014 Share Posted October 5, 2014 Does anyone have a copy of this ? Quote Link to comment
devros Posted May 18, 2017 Share Posted May 18, 2017 Is there anything like this for v6? Quote Link to comment
ken-ji Posted May 19, 2017 Share Posted May 19, 2017 (edited) I have this:http://mirrors.slackware.com/slackware/slackware64-14.2/slackware64/a/slocate-3.1-x86_64-4.txz and these user scripts using User Scripts plugin # slocateInitialize @ Array startup #!/bin/bash cat << EOF > /etc/updatedb.conf # /etc/updatedb.conf: slocate configuration file PRUNEFS="devpts NFS nfs afs proc smbfs autofs iso9660 udf tmpfs cifs" PRUNEPATHS="/dev /proc /sys /tmp /usr/tmp /var/tmp /afs /net /media /var/lib/docker /mnt/user0 /mnt/user /boot" export PRUNEFS export PRUNEPATHS EOF [ -f /mnt/user/appdata/slocate/slocate.db ] && cp -p /mnt/user/appdata/slocate/slocate.db /var/lib/slocate/slocate.db # slocateBackup @Custom "0 6 * * *" #!/bin/bash cp -vp /var/lib/slocate/slocate.db /mnt/user/appdata/slocate/slocate.db What these extra scripts do is tell slocate where to search (and where not to search) after the plugin is installed and to backup the search database daily @ 6am local time. (about 1hr after the default run of slocate cronjob at 4am (AFAIK that's what it is on my system) Edited May 19, 2017 by ken-ji corrected link 3 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.