locate
Lệnh của tôi không hoạt động, nhưng tôi phát hiện ra mình phải chạy updatedb
. Tuy nhiên, khi gọi lệnh đó, bash nói bash: updatedb: command not found
. Tôi nên làm gì?
locate
Lệnh của tôi không hoạt động, nhưng tôi phát hiện ra mình phải chạy updatedb
. Tuy nhiên, khi gọi lệnh đó, bash nói bash: updatedb: command not found
. Tôi nên làm gì?
Câu trả lời:
Tôi nghĩ bạn cần cài đặt chương trình định vị. Trong một hệ thống lenny debian, tệp / usr / bin / updateb là một liên kết tượng trưng đến / etc / thay thế / updateb là một liên kết tượng trưng đến /usr/bin/updatedb.findutils.
Sử dụng dpkg -S bạn có thể tìm thấy tập tin thuộc về gói nào:
$ dpkg -S /usr/bin/updatedb.findutils
locate: /usr/bin/updatedb.findutils
Vì vậy, tôi nghĩ rằng bạn cần phải cài đặt định vị và sau đó chạy updateb với quyền root.
Chỉnh sửa: có, bạn cần gói định vị. Trong tệp /usr/share/doc/findutils/NEWS.Debian.gz bạn có thể đọc:
định vị không còn được bao gồm trong gói findutils. Nó đã được tách ra thành một gói "định vị" riêng biệt.
và sau đó trong /usr/share/doc/findutils/changelog.Debian.gz, trên changelog vào ngày 11 tháng 11 năm 2007:
Tách định vị / updateb thành một gói riêng.
Nó không được cài đặt và không có trong các thư mục được liệt kê bởi natxo, nhưng tôi đã tìm thấy một giải pháp để cài đặt nó. Cảm ơn bạn đã dẫn đầu!
http://www.nicecabbage.com/2009/08/install-locate-and-updatedb-on-centos-and-debian/
Trong thư mục gốc: apt-get install locate
Bạn phải gọi 'updateb' với các đặc quyền quản trị. Theo tôi là remeber, findutils là một phần của bản phân phối / cài đặt Debian tiêu chuẩn, vì vậy hãy xem /etc/updatedb.conf và /etc/cron.daily/(s)locate.
Nếu không có gì bị hỏng, việc xây dựng một cập nhật mới [cơ sở dữ liệu định vị] là một cronjob hàng ngày, vì vậy dù sao bạn cũng không phải lo lắng về điều này