Làm cho `định vị` có thể tìm kiếm các tệp trên ổ cứng ngoài


7

Nếu tôi hiểu chính xác, cơ sở dữ liệu locatedựa vào chỉ dành cho các tệp trên phân vùng của ổ cứng gắn trong. Tôi tự hỏi nếu nó có thể sử dụng locatetrên ổ cứng ngoài?

Câu trả lời:


6

Cơ sở dữ liệu định vị thường được cấu hình để bỏ qua các tệp trên các đĩa di động, vì chúng không thể được giả định là sẽ ở đó sau này. Nó có thể được cấu hình thông qua một tệp như /etc/updatedb.conf(vị trí phụ thuộc vào locatechương trình nào trong số một số chương trình bạn sử dụng và cách cấu hình của bản phân phối của bạn).

Đối với một đĩa di động, có lẽ tốt hơn là giữ cơ sở dữ liệu trong một tệp riêng biệt. Chạy

updatedb --localpaths=/media/my_removable_disk --output=/var/cache/locate/my_removable_disk.locatedb 

để cập nhật cơ sở dữ liệu. Thêm vào /var/cache/locate/my_removable_disk.locatedbbiến môi trường LOCATE_PATH; đối với các phiên bản gần đây của GNU xác định vị trí, một thành phần đường dẫn trống là viết tắt của đường dẫn mặc định, vì vậy bạn có thể sử dụng

export LOCATE_PATH=:/var/cache/locate/my_removable_disk.locatedb

Nếu bạn muốn giữ cơ sở dữ liệu định vị trên đĩa di động, đừng thêm đường dẫn vào LOCATE_PATH, vì locatedừng tìm kiếm nếu một trong các tệp cơ sở dữ liệu bị thiếu. Một kịch bản bao bọc sẽ tốt hơn:

locates () {
  locate "$@"
  for d in /media/*; do
    locate -d "$d/.locatedb" "$@"
  done
}

3
Chỉ cần một lưu ý để tham khảo trong tương lai, lệnh này khác với người dùng mlocate: updateb --database-root / media / my_removable_disk --output = / var / cache / location / my_removable_disk.locatedb --prunepaths "" --prunepaths " "
Ivan

5

Tệp cấu hình có ở đây : /etc/updatedb.conf, vì vậy nếu bạn không thêm bất cứ thứ gì, chỉ cần gắn ổ cứng của bạn và làm updatedb, thì bạn có thể tìm kiếm các tệp trên các phân vùng ổ cứng gắn ngoài.


Cảm ơn! Nếu tôi ngắt kết nối ổ cứng gắn ngoài của mình khỏi máy tính, tập tin cấu hình sẽ được cập nhật tự động sau đó để xóa thông tin về ổ cứng ngoài?
Tim

@Tim, không, điều đó là không thể vào lúc này, thông tin sẽ không cập nhật trừ khi bạn làm updatedblại.
cúc

@Tim updateb tạo tệp db tĩnh
daisy

Nhưng trên Ubuntu 12.04 của tôi, cơ sở dữ liệu được cập nhật tự động và định kỳ.
Tim

@Tim vâng, có một công việc định kỳ làm updatedbhàng ngày
daisy
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.