web-dev-qa-db-fra.com

Comment utiliser la commande mises à jourB en tant qu'utilisateur ordinaire?

La commande locate est un outil très utile sur Linux, mais il semble que la root peut exécuter la commande updatedb qui est très non convoquée pour l'utiliser. Comment rendre l'utilisateur ordinaire à avoir le privilège d'exécuter la commande mises à jour?

updatedb est la commande utilisée pour mettre à jour la DB utilisée par la commande de localisation.

Mais il y a le message d'erreur suivant lorsque vous essayez d'exécuter UpdateDB comme utilisateur ordinaire:

[mirror@home code]$ updatedb
updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'

Ou alors:

updatedb -o db
updatedb: can not change group of file `/var/lib/gforge/chroot/home/users/bigmeow/tmp/db.uhEZFQ': Operation not permitted
10
hugemeow

Voici toutes les étapes pour avoir une solution complète (testée à Centos 6.5)

1) Générer le DB:

updatedb --require-visibility 0 -o ~/.locate.db

2) Utilisez le DB:

locate --database=/full/path/to/.locate.db (does not work with ~)
or
locate --database=.locate.db

3) Créer un alias:

alias mylocate='locate --database=/full/path/to/.locate.db'

4) Utilisez votre lieu local localiser dB:

mylocate <my pattern>
1
Yann Sagon