localizar no encuentra un archivo zip que exista

1

El daemon com.apple.locate.plist se está ejecutando, y he actualizado la base de datos usando sudo /usr/libexec/locate.update , pero el comando localizar todavía no encuentra un .zip llamado OldPhoneCamera.zip en /Users/CAJ/Pictures/ .

Utilizo este comando locate -i OldPhoneCamera , y no devuelve nada. El directorio no está oculto, y el archivo ha estado en el sistema durante 6 meses. La base de datos se ha actualizado varias veces desde entonces.

Puedo usar encontrar con éxito, find / -name OldPhone* , pero prefiero usar localizar porque encontrar toma mucho tiempo. ¿Por qué no puedo encontrar OldPhoneCamera.zip, y se puede solucionar?

    
pregunta CAJ 31.07.2018 - 20:01

2 respuestas

1

El script de shell /usr/libexec/locate.updatedb es ejecutado por el usuario sin privilegios nobody . Aquí está el snip it:

if [ "$(id -u)" = "0" ]; then
rc=0
export FCODES='sudo -u nobody mktemp -t updatedb'
chown nobody $FCODES
tmpdb='su -fm nobody -c "$0"' || rc=1
if [ $rc = 0 ]; then
    install -m 0444 -o nobody -g wheel $FCODES /var/db/locate.database
fi
rm $FCODES
exit $rc
fi

El script apenas tocará nada dentro de su carpeta de inicio.

    
respondido por el fd0 31.07.2018 - 20:16
0

La base de datos utilizada por locate se actualiza solo una vez a la semana, lo cual no es ideal para obtener resultados precisos.

Lo más importante, como se dice en la página del manual, el comportamiento de locate es intencional ; la intención es minimizar el número de entidades con acceso de lectura a sus archivos personales:

  

La base de datos de localización normalmente la crea el usuario "nobody" y la utilidad localizar.updatedb (8) omite los directorios que no son legibles para el usuario "nobody", el grupo "nobody" o world. Por ejemplo, si su directorio HOME no es legible en todo el mundo, ninguno de sus archivos está en la base de datos.

Al realizar una búsqueda casual en la línea de comandos en una Mac, el procedimiento habitual es utilizar locate para los archivos propiedad del sistema y el proceso GUI "Spotlight.app" para sus archivos. (Spotlight también es perfectamente capaz de realizar búsquedas complejas, y es rápido.) Se inicia fácilmente desde el Finder al mantener presionada la tecla de comando y tocar la barra espaciadora.

    
respondido por el Doc G. 01.08.2018 - 01:49

Lea otras preguntas en las etiquetas