localiser et mettre à jourb - fichiers non trouvés

8

L'Iran

sudo /usr/libexec/locate.updatedb

puis

locate Radium3

mais il ne retourne rien!

mais

$ ls ~/Library/Containers/com.catpigstudios.Radium3/
Container.plist Data

Alors , pourquoi ne pas locatevoir tous les fichiers?

Suis-je en utilisant cette commande correctement sur OS X?

davidhq
la source

Réponses:

5

Essayer:

sudo /usr/libexec/locate.updatedb

Et config look:

/etc/locate.rc le fichier de configuration

Édité:

Poster ici la sortie:

echo $LOCATE_CONFIG

Et:

cat /etc/locate.rc

Et:

echo $0

Mise à jour:

https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man1/locate.1.html#//apple_ref/doc/man/1/locate

Le programme de localisation recherche dans une base de données tous les noms de chemins correspondant au modèle spécifié. La base de données de la base de données est recalculée périodiquement (généralement une fois par semaine ou quotidiennement) et contient les chemins d'accès de tous les fichiers accessibles au public .

Essayez plutôt mdfind localiser

Mis à jour2:

texte mdfind -name qui est plus précis. Tout texte mdfind vous donne des fichiers qui contiennent du texte aussi bien. - David Krmpotic

mdfind -name text
user3439968
la source
Je décommenté #SEARCHPATHS="/"dans la configuration, il n'a pas aidé. -vL'option ne semble pas produire de sortie supplémentaire: /
davidhq
Donnez-moi des informations supplémentaires plz. En réponse à la section "Modifié".
user3439968
1
$ ls -la /var/db/locate.database -r - r - r-- 1 roue de personne 19463861 6 avril 20:08 /var/db/locate.database $ localiser david.jpg / Users / david / temp /david.jpg
davidhq
1
vous devez mettre à jour votre réponse, mdfind -name textlaquelle est plus précise. Vous mdfind textdonne simplement des fichiers qui contiennent également du texte.
davidhq
3

Les autorisations peuvent être le coupable car localiser ne peut apparemment pas lire les fichiers qui ne sont pas lisibles par le monde. Voir cette réponse de Plundra pour plus d'explications.

Le findutils package à partir homebrew ne permet gupdatedbet les glocatecommandes qui semblent surmonter certaines des limites des services publics de BUILTIN.

VogonPoetLaureate
la source
Je vous remercie! mais maintenant que je sais, mdutilest-il judicieux de vérifier cela? Un cas d'utilisation , je peux penser est que je peux déclencher rescan manuellement gupdatedb- Spotlight pas si facile ou il prendrait plus de temps (il aussi indexe les fichiers contenus). Y at - il d' autres avantages?
davidhq
1
Réindexer avec mdutil / spotlight peut prendre un certain temps. updatedbest plus rapide pour ça. glocatesemble avoir aucun fichier système d'indexation des problèmes, alors que je trouve mdfindignores ~ / Library et d' autres fichiers système. Je trouve vraiment que je reçois plus de coups avec glocateplus mdfinddans la plupart des cas. YMMV.
VogonPoetLaureate
ok, je teste ça maintenant. Je pense que j'ai trouvé un problème ... J'ai d'abord couru sudo gupdatedb, puis j'ai enregistré la glocate Radiumsortie. Ensuite, j'ai couru gupdatedbet il a dit:, /.Trashes: Permission deniedla même chose pour certains autres dossiers. J'ai comparé la sortie pour les deux et c'était la même chose! Étrange ...
davidhq
D'après ce que vous dites, vous avez d'abord exécuté sudo gupdatedb(en l'exécutant en tant que root), puis vous avez suivi plus tard en exécutant en gupdatedbtant qu'utilisateur normal qui n'aurait pas accès aux fichiers auxquels l'utilisateur root aurait accès, ce qui signifie que vous obtiendriez autorisation refusée erreurs. Si vous voulez une base de données complète des noms de fichiers pour votre système, continuer à fonctionner en tant que root. Cela expose vos fichiers à d'autres utilisateurs du système qui peuvent utiliser la glocatecommande. Mais si vous êtes le seul utilisateur, ça devrait aller.
VogonPoetLaureate
2

Si vous souhaitez rechercher la même base de données que Spotlight utilise, vous pouvez utiliser la mdfindcommande comme alternative (mais pas un remplacement exact) pour locate:

mdfind Radius3
triste
la source