web-dev-qa-db-fra.com

Quel est l'équivalent de la commande updatedb de Linux pour Mac?

Si je veux utiliser la commande locate sur une machine Linux, généralement, je lance d'abord Sudo updatedb pour mettre à jour la base de données. Je peux exécuter la commande locate sous OS X 10.5 mais je ne trouve pas updatedb. Quelle est la mise à jour correspondante pour le mac?

229
Thierry Lam

C'est locate.updatedb sur Mac.

Sudo /usr/libexec/locate.updatedb

Pour plus d'informations, reportez-vous à la page de manuel Locate.updatedb .

321
John T

Vous pouvez utiliser Sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb pour rendre la commande updatedb disponible.

84
Igor Vigasin

Personnellement, je viens d'installer findutils (utilisez MacPorts ou Homebrew).

Ensuite, vous avez GNU localisation et updatedb.

updatedb ne fonctionnera pas sans Sudo.

Personnellement, je préfère avoir un utilisateur par utilisateur. si vous Sudo, les autres utilisateurs connaîtront les noms/emplacements de tous vos fichiers.

J'ai un travail cron à exécuter:

updatedb --localpaths='/Users/grogs' --output='/Users/grogs/tmp/locatedb'

Et dans mon .zshrc .bashrc/.bashprofile:

export LOCATE_PATH="~/tmp/locatedb"

19
Grogs

Si vous exécutez localize sans mettre à jour la base de données au préalable, vous aurez une chance de voir la méthode recommandée par le système d'exploitation par sa sortie.

WARNING: The locate database (/var/db/locate.database) does not exist.
To create the database, run the following command:

  Sudo launchctl load -w /System/Library/LaunchDaemons/com.Apple.locate.plist
2
Tankman六四