Temukan dan updatedb tidak berfungsi. Apa yang harus saya lakukan?

12

locatePerintah saya tidak berfungsi, tetapi saya tahu saya harus lari updatedb. Namun, saat menjalankan perintah itu, kata bash bash: updatedb: command not found. Apa yang harus saya lakukan?

Doug
sumber
Entah updatedb tidak diinstal, baik itu tidak dalam variabel $ PATH Anda. Saat menjalankan updatedb, Anda harus melakukannya sebagai root atau dengan sudo.
petrus
Anda bisa mencari updatedb dengan "find" find / -name updatedb -print

Jawaban:

10

Saya pikir Anda perlu menginstal program temukan. Dalam sistem debian lenny, file / usr / bin / updatedb adalah symlink ke / etc / alternative / updatedb yang merupakan symlink ke /usr/bin/updatedb.findutils.

Dengan menggunakan dpkg -S, Anda dapat menemukan paket milik suatu file:

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

Jadi saya pikir Anda perlu menginstal temukan dan kemudian jalankan updatedb sebagai root.

Sunting: ya, Anda memerlukan paket cari. Dalam file /usr/share/doc/findutils/NEWS.Debian.gz Anda dapat membaca:

loc tidak lagi termasuk dalam paket findutils. Ini telah dipisah menjadi paket "temukan" terpisah.

dan kemudian di /usr/share/doc/findutils/changelog.Debian.gz, di changelog pada 11 November 2007:

Pisahkan loc / updatedb ke paket terpisah.

natxo asenjo
sumber
10

Itu tidak diinstal dan tidak ada dalam direktori yang terdaftar oleh natxo, tetapi saya menemukan solusi untuk menginstalnya. Terima kasih untuk para pemimpin!

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

Di root: apt-get install locate

Doug
sumber
?? ternyata saya belum menjelaskannya dengan baik. Dalam sistem debian dengan updatedb diinstal, menggunakan dpkg -S telah memberi tahu saya paket miliknya. Itu sebabnya saya menulis Anda membutuhkan paket loc, yang merupakan apa yang telah Anda lakukan. Senang Anda menemukannya sendiri.
natxo asenjo
Untuk CentOS / RHEL, Anda dapat menginstal mlocate.
music2myear
2

Harus dari perintah yang harus dijalankan sebagai root tidak di $ PATH pengguna jadi jalankan:

$ sudo updatedb

dan itu harus bekerja.

Gopoi
sumber
0

Anda harus memohon 'updatedb' dengan hak administratif. Sejauh yang saya ingat, findutils adalah bagian dari distribusi / instalasi standar Debian, jadi lihatlah /etc/updatedb.conf dan /etc/cron.daily/(s)locate.

Jika tidak ada yang rusak, versi baru [database database] yang diperbarui adalah cronjob harian, jadi Anda tidak perlu khawatir tentang hal ini.

C_B
sumber