0 votos

¡No se puede localizar o actualizar LocateDB Mac OS El Capitain, Sierra, High Sierra, Mojave!

En los últimos sistemas operativos he notado una tendencia, sobre todo después de que Apple metiera la pata con el usuario "Root" real y falso en El Capitán. Sobre todo, utilizando el comando locate. Siempre que intento actualizar usando el convencional:

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

Que es prescrito por Apple cuando el locate falla el comando. He logrado usar mdfind pero prefiero locate porque estoy buscando archivos en TODO el sistema y no me importan las palabras clave dentro de los archivos como MDFind echos, ver aquí para más evidencia de locate trabajando mejor para esta tarea que mdfind MDfind vs Locate . Gracias a todos, de momento seguiré trasteando.

2voto

Tmanok Puntos 11

Después de un buen rato de trastear y esperar a que se borrara mi pregunta antes de publicar una pregunta inculta, he encontrado un viejo Artículo de OSXDaily que sugiere otra forma de actualizar la base de datos de localización. El comando sugerido es: sudo /usr/libexec/locate.updatedb Y buscando ese comando en lugar de la configuración com.apple.locate.plist en launchd, encontré este precioso artículo sobre la modificación de la frecuencia de actualización de la base de datos. Sin embargo, tomé un enfoque algo diferente para actualizar la base de datos, simplemente añadiendo una línea a mi crontab diario:

env EDITOR=nano sudo crontab -e

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

ctrl+x y [ENTER]

Gracias, espero que esto ayude a alguien que esté pasando por la misma mierda molesta.

1voto

Cuando se ejecuta sudo /usr/libexec/locate.updatedb el script arrojaría este error:

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

Intenté habilitar root login pero el script tenía el mismo comportamiento.

He descubierto que puedo conseguir locate para buscar en casi todas partes modificando /usr/libexec/locate.updatedb .

Cambios:

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

a,

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

Hay algo de seguridad en la reducción pero por lo que leo si esto es para tu ordenador personal deberías estar bien. Aquí hay algunos enlaces que proporcionan diferentes pruebas y soluciones:

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 votos

¿Qué versión de MacOS utilizas, por cierto? Todavía no he experimentado este problema (tampoco tengo ganas de experimentarlo jaja..).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X