Zlokalizuj i zaktualizujb nie działa. Co powinienem zrobić?

12

Moje locatepolecenie nie działa, ale dowiedziałem się, że muszę uciekać updatedb. Jednak po wywołaniu tego polecenia bash mówi bash: updatedb: command not found. Co powinienem zrobić?

Doug
źródło
Albo updatedb nie jest zainstalowany, albo nie ma go w zmiennej $ PATH. Podczas uruchamiania updatedb musisz to zrobić jako root lub sudo.
petrus
Możesz poszukać updatedb za pomocą „find” find / -name updatedb -print

Odpowiedzi:

10

Myślę, że musisz zainstalować program lokalizujący. W systemie Debian Lenny plik / usr / bin / updatedb jest dowiązaniem symbolicznym do / etc / alternatives / updatedb, który jest dowiązaniem symbolicznym do /usr/bin/updatedb.findutils.

Za pomocą dpkg -S możesz znaleźć pakiet, do którego należy plik:

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

Myślę więc, że musisz zainstalować zlokalizować, a następnie uruchomić updatedb jako root.

Edycja: tak, potrzebujesz pakietu lokalizacji. W pliku /usr/share/doc/findutils/NEWS.Debian.gz możesz przeczytać:

locate nie jest już zawarte w pakiecie findutils. Został on podzielony na osobny pakiet „locate”.

a następnie w /usr/share/doc/findutils/changelog.Debian.gz, w dzienniku zmian 11 listopada 2007:

Oddziel lokalizuj / zaktualizujb do osobnego pakietu.

natxo asenjo
źródło
10

Nie został zainstalowany i nie znajduje się w katalogach wymienionych przez natxo, ale znalazłem rozwiązanie, aby go zainstalować. Dziękuję za głównych facetów!

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

W katalogu głównym: apt-get install locate

Doug
źródło
?? najwyraźniej nie wyjaśniłem tego poprawnie. W systemie debian z zainstalowanym zaktualizowanym programem dpkg -S powiedział mi, do którego pakietu należy. Dlatego napisałem, że potrzebujesz pakietu lokalizacyjnego, co właśnie zrobiłeś. Cieszę się, że znalazłeś to na własną rękę.
natxo asenjo
W przypadku CentOS / RHEL to mniam - zainstaluj mlocate.
music2myear
2

Obowiązkowa komenda, która musi być uruchomiona jako root, nie znajduje się w zmiennej $ PATH użytkownika, więc po prostu uruchom:

$ sudo zaktualizowaneb

i powinno działać.

Gopoi
źródło
0

Musisz wywołać „updatedb” z uprawnieniami administracyjnymi. O ile pamiętam, findutils są częścią standardowej dystrybucji / instalacji Debiana, więc spójrz na /etc/updatedb.conf i /etc/cron.daily/(s)locate.

Jeśli nic nie jest zepsute, wbudowana świeża aktualizacja [lokalizowanie bazy danych] to codzienna koleżanka z pracy, więc i tak nie musisz się tym martwić

C_B
źródło