Sự khác biệt giữa định vị và mlocate


14

Tôi muốn cài đặt lệnh locate, có sẵn thông qua sudo apt-get installmlocate.

Tuy nhiên, lần đầu tiên tôi chạy sudo apt-get installlocatemà dường như đã cài đặt một cái gì đó khác.

Gõ lệnh locate <package>tuy nhiên dường như để gọi mlocate.

Gói là gì locatevà có thể (nên) gỡ bỏ nó một cách an toàn không?


1
Tôi tin rằng mlocate là sự thay thế cho vị trí ban đầu, nhưng Đó là 15 năm trước, và có lẽ, một gói là bí danh hoặc tham chiếu đến gói kia. Có một biến thể khác, "slocate" quan sát mức độ hiển thị của tệp dựa trên quyền của người dùng, nhưng tôi không thấy. Điều đó trong một thời gian dài
Otheus 30/03/2016

Câu trả lời:


25

Các xác định vị trí gói là việc thực hiện xác định vị trí từ findutils GNU . Các mlocate gói là một thực hiện của cùng một khái niệm gọi là mlocate . Chúng thực hiện cùng chức năng cơ bản: tra cứu nhanh tên tệp dựa trên một chỉ mục (thường) được xây dựng lại mỗi đêm. Chúng khác nhau về một số chức năng của chúng ngoài việc sử dụng cơ bản. Cụ thể, GNU định vị chỉ xây dựng một chỉ mục các tệp có thể đọc được trên thế giới (trừ khi bạn chạy nó từ tài khoản của mình), trong khi mlocate xây dựng một chỉ mục của tất cả các tệp nhưng chỉ cho phép người dùng gọi thấy các tệp mà nó có thể truy cập. Điều này làm cho mlocate trở nên hữu ích hơn trong hầu hết các trường hợp, nhưng không thể sử dụng được trong một số cài đặt bất thường khi không được quản trị viên hệ thống điều hành (vìmlocatephải được thiết lập root ) và rủi ro bảo mật.

Trong Debian và các dẫn xuất, nếu bạn cài đặt cả hai, locatesẽ chạy mlocatetriển khai và bạn cần chạy locate.findutilsđể chạy triển khai GNU. Điều này được quản lý thông qua các lựa chọn thay thế . Nếu bạn đã cài đặt cả hai, cả hai sẽ dành thời gian để xây dựng lại chỉ mục tương ứng của mình, nhưng ngoài ra chúng sẽ không xung đột với nhau.


2
Bạn đã bỏ qua đề cập đến mlocatetính năng chính của nó, từ đó nó có tên của nó ("xác định vị trí hợp nhất"): Nó cung cấp một phiên bản updatedbsử dụng lại chỉ mục cũ của nó để cải thiện hiệu suất cập nhật bằng cách chỉ truy vấn danh sách các tệp / thư mục con cho các thư mục ctimeđã thay đổi .
ssokolow 17/07/18

5

mlocate là một triển khai mới hơn của vị trí. Một khi bạn cài đặt mlocate

sẽ thay đổi / usr / bin / định vị nhị phân để trỏ đến mlocate thông qua cơ chế thay thế.

Đó là lý do tại sao bạn có hành vi mlocate nếu bạn cài đặt theo thứ tự đó.

Thông tin chi tiết có thể được tìm thấy ở đây


Trên thực tế, tôi chưa bao giờ cài đặt mlocate, nhưng trên hệ thống Ubuntu 16.04 của tôi,/usr/bin/locate -> /etc/alternatives/locate -> /usr/bin/mlocate
cayhorstmann
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.