Localiser et mettre à jourb ne fonctionne pas. Que devrais-je faire?

12

Ma locatecommande ne fonctionne pas, mais j'ai découvert que je devais courir updatedb. Cependant, lors de l'invocation de cette commande, bash dit bash: updatedb: command not found. Que devrais-je faire?

Doug
la source
Soit updatedb n'est pas installé, soit il n'est pas dans votre variable $ PATH. Lors de l'exécution de updatedb, vous devez le faire en tant que root ou avec sudo.
petrus
Vous pouvez rechercher updatedb avec "find" find / -name updatedb -print

Réponses:

10

Je pense que vous devez installer le programme de localisation. Dans un système Debian Lenny, le fichier / usr / bin / updatedb est un lien symbolique vers / etc / alternatives / updatedb qui est un lien symbolique vers /usr/bin/updatedb.findutils.

En utilisant dpkg -S, vous pouvez trouver à quel package appartient un fichier:

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

Je pense donc que vous devez installer Locate et ensuite exécuter updatedb en tant que root.

Edit: oui, vous avez besoin du package de localisation. Dans le fichier /usr/share/doc/findutils/NEWS.Debian.gz vous pouvez lire:

Locate n'est plus inclus dans le package findutils. Il a été divisé en un package distinct "localiser".

puis dans /usr/share/doc/findutils/changelog.Debian.gz, sur le changelog du 11 novembre 2007:

Séparez localiser / mis à jourb dans un package distinct.

natxo asenjo
la source
10

Il n'était pas installé et pas dans les répertoires listés par natxo, mais j'ai trouvé une solution pour l'installer. Merci pour les chefs de file!

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

En racine: apt-get install locate

Doug
la source
?? apparemment, je ne l'ai pas expliqué correctement. Dans un système Debian avec updatedb installé, l'utilisation de dpkg -S m'a dit à quel paquet il appartenait. C'est pourquoi j'ai écrit que vous aviez besoin du package de localisation, c'est ce que vous avez fait. Heureux que vous l'ayez trouvé par vous-même.
natxo asenjo
Pour CentOS / RHEL, c'est miam -y install mlocate.
music2myear
2

La commande qui doit être exécutée en tant que root ne doit pas être dans le $ PATH de l'utilisateur, il suffit donc d'exécuter:

$ sudo updatedb

et ça devrait marcher.

Gopoi
la source
0

Vous devez invoquer 'updatedb' avec des privilèges administratifs. Pour autant que je m'en souvienne, les findutils font partie d'une distribution / installation standard de Debian, alors jetez un œil à /etc/updatedb.conf et /etc/cron.daily/(s)locate.

Si rien ne se casse, la construction d'une nouvelle mise à jourb [localiser la base de données] est un cronjob quotidien, donc vous n'avez pas à vous en soucier de toute façon

C_B
la source