Sự khác biệt giữa mlocate và slocate trong Linux là gì?


13

Đã đi qua /etc/cron.dailythư mục tôi nhận thấy rằng chỉ có tệp mlocate.cron so với những gì tôi đã thấy trên các tài liệu khác nơi họ trích dẫn slocate.cron. Có sự khác biệt giữa chúng và các lệnh tương ứng của chúng không và nếu có thì chúng là gì?

Câu trả lời:


15

https://fedorahosted.org/mlocate/ giải thích rằng mlocate hợp nhất cơ sở dữ liệu ở mỗi bản cập nhật, cung cấp khả năng tăng tốc hiệu suất vì nó có thể bỏ qua các tệp được kiểm tra trước đó.

Họ đang cạnh tranh triển khai, nhưng mlocate được thiết kế để tương thích ngược với slocate và đang dần thay thế nó.


Cảm ơn. Khi bạn nói điều đó mlocate merges databases at each update, điều này có nghĩa chính xác là gì?
PeanutsMonkey

4
@Peanuts, nhìn vào liên kết do Stephanie cung cấp, có vẻ như mlocate(cơ sở dữ liệu về vị trí tệp) sử dụng lại cơ sở dữ liệu trước đó mỗi lần nó chạy, do đó, bất kỳ thông tin mới nào cũng được hợp nhất với thông tin cũ, để tiết kiệm thời gian và mang lại hiệu suất tăng tốc.
pavium

@pavium - Vậy điều này có nghĩa là tôi sẽ có nhiều tệp mlocate.cron?
PeanutsMonkey

1
@peanuts, không, cơ sở dữ liệu được hợp nhất: - dữ liệu mới được tạo khi mlocate.cronchạy được hợp nhất với dữ liệu cũ từ lần cuối cùng chạy. Điều đó không có nghĩa là chúng ta cần nhiều mlocate.crontệp.
pavium

1
Chính xác, những gì mlocate làm là so sánh mtime của mọi thư mục trong cơ sở dữ liệu với cùng một thư mục trên hệ thống tập tin. Đối với bất kỳ thư mục đã thay đổi nào, mlocate sẽ chuyển nó và bất kỳ cây thư mục con mới nào phía sau nó, nếu không, nó chỉ sao chép nội dung cơ sở dữ liệu cho thư mục đó vào DB mới (một tệp tạm thời được di chuyển ở cuối). Điều này có thể tăng tốc đáng kể quá trình trên các hệ thống tập tin lớn; Cá nhân tôi đã thấy các bản cập nhật mlocate chỉ mất vài giờ so với nhiều ngày cho một cơ sở dữ liệu hoàn toàn mới.
Thomas Guyot-Sionnest
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.