localize & updatedb - arquivos não encontrados

8

Eu corri

sudo /usr/libexec/locate.updatedb

então

locate Radium3

mas não retorna nada!

mas

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

Então, por que não locatevê todos os arquivos?

Estou usando este comando corretamente no OS X?

davidhq
fonte

Respostas:

5

Tentar:

sudo /usr/libexec/locate.updatedb

E veja a configuração:

/etc/locate.rc o arquivo de configuração

Editado:

Poste aqui a saída:

echo $LOCATE_CONFIG

E:

cat /etc/locate.rc

E:

echo $0

Atualizar:

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

O programa de localização procura no banco de dados todos os nomes de caminho que correspondem ao padrão especificado. A base de dados do banco de dados é recalculada periodicamente (geralmente semanalmente ou diariamente) e contém os nomes de caminho de todos os arquivos acessíveis ao público .

Tente mdfind, em vez disso, localize

Atualizado2:

mdfind -name texto que é mais preciso. Apenas o texto mdfind fornece arquivos que também contêm texto. - David Krmpotic

mdfind -name text
user3439968
fonte
Eu descomentei #SEARCHPATHS="/"na configuração, não ajudou. -vopção não parece produzir nenhuma saída adicional: /
davidhq
Dê informações adicionais para mim plz. Na resposta "Editado" seção.
user3439968
Pastie.org/8998774
davidhq 06/04
1
$ ls -la /var/db/locate.database -r - r - r-- 1 ninguém wheel 19463861 6 de abril 20:08 /var/db/locate.database $ localize david.jpg / Usuários / david / temp /david.jpg
davidhq
1
você deve atualizar sua resposta para a mdfind -name textque for mais precisa. Apenas mdfind textfornece arquivos que também contêm texto.
Davidhq 6/04
3

As permissões podem ser as culpadas, pois a localização aparentemente não pode ler arquivos que não são legíveis pelo mundo. Veja esta resposta da Plundra para mais explicações.

O pacote findutils do homebrew habilita gupdatedbe glocatecomandos que parecem superar algumas das limitações dos utilitários embutidos.

VogonPoetLaureate
fonte
Obrigado! mas agora que eu sei mdutil, faz sentido verificar isso? Um caso de uso em que consigo pensar é que posso ativar a nova varredura manualmente com gupdatedb- com o Spotlight não é tão fácil ou levaria mais tempo (também indexa o conteúdo dos arquivos). Existem outras vantagens?
Davidhq
1
A reindexação com o mdutil / spotlight pode demorar um pouco, com certeza. updatedbé mais rápido para isso. glocateparece não ter problemas ao indexar arquivos do sistema, enquanto eu acho que mdfindignora ~ / Library e outros arquivos do sistema. Eu definitivamente acho que eu conseguir mais sucessos com glocatemais de mdfindna maioria das circunstâncias. YMMV.
VogonPoetLaureate
ok, estou testando isso agora. Acho que encontrei algum problema ... primeiro corri sudo gupdatedbe salvei a glocate Radiumsaída. Então eu corri gupdatedbe disse:, /.Trashes: Permission deniedo mesmo para algumas outras pastas. Eu comparei a saída para ambos e foi a mesma! Estranho ...
davidhq
Pelo que você está dizendo, você primeiro executou sudo gupdatedb(executando-o como root) e depois seguiu-o posteriormente gupdatedbcomo um usuário normal que não teria acesso aos arquivos aos quais o usuário raiz teria acesso, o que significa que você obteria permissão negada erros. Se você deseja um banco de dados completo de nomes de arquivos para todo o sistema, continue executando-o como root. Isso expõe seus arquivos a outros usuários do sistema que podem usar o glocatecomando. Mas se você é o único usuário, tudo bem.
VogonPoetLaureate
2

Se você deseja pesquisar no mesmo banco de dados usado pelo Spotlight, pode usar o mdfindcomando como uma alternativa (embora não seja uma substituição exata) para locate:

mdfind Radius3
bneely
fonte