Localizar y actualizadob no funciona. ¿Qué tengo que hacer?


12

Mi locatecomando no funciona, pero descubrí que tenía que correr updatedb. Sin embargo, al invocar ese comando, bash dice bash: updatedb: command not found. ¿Qué tengo que hacer?


O bien updatedb no está instalado, tampoco está en su variable $ PATH. Cuando ejecute updatedb, debe hacerlo como root o con sudo.
Petrus

Puede buscar updatedb con "find" find / -name updatedb -print

Respuestas:


10

Creo que necesitas instalar el programa de localización. En un sistema Debian Lenny, el archivo / usr / bin / updatedb es un enlace simbólico a / etc / Alternatives / updatedb que es un enlace simbólico a /usr/bin/updatedb.findutils.

Usando dpkg -S puede encontrar a qué paquete pertenece un archivo:

$ dpkg -S /usr/bin/updatedb.findutils 
locate: /usr/bin/updatedb.findutils

Así que creo que necesita instalar localizar y luego ejecutar updatedb como root.

Editar: sí, necesita el paquete de localización. En el archivo /usr/share/doc/findutils/NEWS.Debian.gz puede leer:

localizar ya no está incluido en el paquete findutils. Se ha dividido en un paquete separado "localizar".

y luego en /usr/share/doc/findutils/changelog.Debian.gz, en el registro de cambios el 11 de noviembre de 2007:

Dividir localizar / actualizadob en un paquete separado.


10

No estaba instalado ni en los directorios listados por natxo, pero encontré una solución para instalarlo. ¡Gracias por los protagonistas!

http://www.nicecabbage.com/2009/08/install-locate-and-updatedb-on-centos-and-debian/

En la raíz: apt-get install locate


?? aparentemente no lo he explicado correctamente. En un sistema Debian con updatedb instalado, el uso de dpkg -S me ha dicho a qué paquete pertenecía. Es por eso que escribí que necesitabas el paquete de localización, que es lo que has hecho. Sin embargo, me alegro de que lo hayas encontrado por tu cuenta.
natxo asenjo 30/10/10

Para CentOS / RHEL, es yum -y install mlocate.
music2myear

2

La mayor parte del comando que debe ejecutarse como root no está en el $ PATH del usuario, así que simplemente ejecute:

$ sudo updatedb

y debería funcionar


0

Debe invocar 'updatedb' con privilegios administrativos. Por lo que recuerdo, findutils son parte de una distribución / instalación estándar de Debian, así que eche un vistazo a /etc/updatedb.conf y /etc/cron.daily/(s)locate.

Si no se rompe nada, la construcción de una nueva actualización de [base de datos de localización] es un cronjob diario, por lo que no tiene que preocuparse por esto de todos modos

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.