El locatecomando es una herramienta muy útil en Linux, pero parece que solo root puede ejecutar un updatedbcomando que no es muy común para usarlo. Entonces, ¿cómo hacer que el usuario común tenga el privilegio de ejecutar el comando updatedb?
updatedb es el comando que se usa para actualizar la base de datos que usa el comando de localizar.
Pero existe el siguiente mensaje de error cuando intenta ejecutar updatedb como usuario normal:
[mirror@home code]$ updatedb
updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'
O:
updatedb -o db
updatedb: can not change group of file `/var/lib/gforge/chroot/home/users/bigmeow/tmp/db.uhEZFQ': Operation not permitted

--require-visibilitybandera ... pero tal vez podrías explicar un poco sobre por qué. ¿por qué no simplemente hacer lo que @xaizek está haciendo y generar la base de datos en una ubicación que su usuario tenga permiso sin usar la--require-visibilitybandera?SECURITY Databases built with --require-visibility no [tbs: or 0] allow users to find names of files and directories of other users, which they would not otherwise be able to do.Simplemente puede crear una base de datos en casa con el
-oargumento deupdatedb:Y úsalo con
slocateesto:Probablemente desee definir un alias para
slocate --database=~/.locate.db.fuente
xaizek:userspropietario: par de grupo para mí, el grupo es el predeterminado. También puede verificar las opciones en el/etc/updatedb.confarchivo.slocatees una versión más segura de la anteriorlocate. Creo que los centos deberían haberseslocateinstalado con nombrelocate. De todos modos, no debería haber diferencias en su caso, y básicamente en la mayoría de los casos posibles (en Slackwarelocatees solo un enlace simbólicoslocate).mlocatedebería ser más rápido, pero aún compatible conslocate. No estoy seguro de si es la razón. Si no quiere probarslocatequé sitio no funciona, descargue las fuentes de uno de los espejos de Slackware, que incluyen las fuentes de los paquetes: consulte aquí .Aquí están todos los pasos para tener una solución completa (probado en Centos 6.5)
1) generar el db:
2) usa el db:
3) crea un alias:
4) use su locale localizar db:
fuente
$HOMElugar de~, o simplemente deshacerse de=. los dos siguientes funcionarán:locate --database ~/.locate.dbolocate --database=$HOME/.locate.db. vea este hilo: stackoverflow.com/questions/11587343/…