0 votes

Impossible de localiser ou de mettre à jour LocateDB Mac OS El Capitain, Sierra, High Sierra, Mojave !

Au cours des derniers systèmes d'exploitation, j'ai remarqué une tendance, surtout après qu'Apple ait fait des bêtises avec le vrai et le faux utilisateur "Root" dans El Capitan. Plus particulièrement, en utilisant la commande locate. Chaque fois que j'essaie de mettre à jour en utilisant la commande conventionnelle :

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

Qui est prescrit par Apple lorsque le locate échoue. J'ai réussi à utiliser mdfind mais je préfère locate parce que je cherche des fichiers dans le système ENTIER et je ne me soucie pas des mots-clés à l'intérieur des fichiers comme l'écho de MDFind, voir ici pour plus de preuves que locate fonctionne mieux pour cette tâche que mdfind. MDfind vs Locate . Merci à tous, je vais continuer à bricoler pour l'instant.

2voto

Tmanok Points 327

Après avoir bricolé un peu et attendu de supprimer ma question avant de poster une question non éclairée, j'ai trouvé une vieille Article d'OSXDaily qui suggère une autre façon de mettre à jour la BD Locate. La commande suggérée est la suivante : sudo /usr/libexec/locate.updatedb Et en cherchant cette commande plutôt que la configuration de com.apple.locate.plist dans launchd, j'ai trouvé ce bel article sur la modification de la fréquence de mise à jour de la base de données. J'ai cependant adopté une approche quelque peu différente pour mettre à jour la base de données, en ajoutant simplement une ligne à ma crontab quotidienne :

env EDITOR=nano sudo crontab -e

0 12 * * * sudo /usr/libexec/locate.updatedb .

ctrl+x y [ENTER]

Merci, j'espère que cela aidera quelqu'un qui passe par la même merde ennuyeuse.

1voto

En cours d'exécution sudo /usr/libexec/locate.updatedb le script rejetterait cette erreur :

    shell-init: error retrieving current directory: getcwd: cannot access 
parent directories: Permission denied find: 
.: Permission denied

J'ai essayé d'activer root login mais le script avait le même comportement.

J'ai découvert que je peux obtenir locate de chercher presque partout en modifiant /usr/libexec/locate.updatedb .

Changez :

if [ "$(id -u)" = "0" ]; then

à,

if [ "$(id -u)" = "1" ]; then

Il y a une certaine réduction de la sécurité, mais d'après ce que j'ai lu, si c'est pour votre ordinateur personnel, ça devrait aller. Voici quelques liens fournissant différents tests et solutions :

https://superuser.com/questions/161183/cannot-manually-update-database-for-locate/161558

https://superuser.com/questions/237014/what-folders-are-indexed-covered-by-locate

0 votes

Quelle version de MacOS utilisez-vous ? Je n'ai pas encore rencontré ce problème (je n'ai pas hâte de le rencontrer non plus haha ).

0 votes

Mise à jour : j'ai commencé à remarquer ce phénomène après la mise à jour vers Catalina et les versions suivantes. Merci pour cette information Benjamin !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X