Xác định vị trí và cập nhậtb không hoạt động. Tôi nên làm gì?


12

locateLệ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ập nhật hoặc không được cài đặt, nó không nằm trong biến $ PATH của bạn. Khi chạy updateb, bạn phải làm nó bằng root hoặc với sudo.
petrus

Bạn có thể tìm kiếm updateb với "find" find / -name updateb -print

Câu trả lời:


10

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.


10

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


?? Rõ ràng tôi đã không giải thích nó đúng. Trong một hệ thống debian với updatedb cài đặt, sử dụng dpkg -S đã nói với tôi những gì gói nó thuộc về. Đó là lý do tại sao tôi viết bạn cần gói định vị, đó là những gì bạn đã làm. Mặc dù vậy, rất vui vì bạn đã tìm thấy nó.
natxo asenjo

Đối với CentOS / RHEL, đó là cài đặt mlocate.
music2myear

2

Phải của lệnh phải được chạy dưới quyền root không có trong $ PATH của người dùng, vì vậy chỉ cần chạy:

$ sudo updateb

và nó nên hoạt động.


0

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.