Gắn đĩa USB vào vị trí cố định


13

Tôi có một đĩa cứng USB mà tôi muốn gắn vào boot và ở một vị trí cụ thể. Làm cách nào tôi có thể làm cho ổ đĩa đó gắn kết và luôn sẵn sàng (nói về sao lưu cục bộ, v.v.) mặc dù không có ai đăng nhập?

Có vẻ như udev hoặc một cái gì đó tương tự nắm giữ đĩa. Nếu tôi đặt một mục trong / etc / fstab cố gắn cụ thể đĩa này (bằng UUID), thì quá trình gắn kết đó và quá trình gắn kết udev dường như kết thúc trong một trận chiến với nhau và đĩa không được gắn kết.


Bạn có thể thêm dòng bạn đã thêm vào /etc/fstab? Có bất kỳ thông điệp tường trình khi bạn cắm ổ đĩa của bạn? Có lẽ nó giúp tăng mức độ đăng nhập /etc/udev/udev.conf.
qbi

Làm thế nào để bạn fstab dòng nhìn? Nó sẽ giống somthing như thế này "UUID = 48a26dbe-e707-4e45-bd55-fc7936292ee1 / dữ liệu ext4 errors = remount-ro 0 2"
LassePoulsen

Câu trả lời:


7

Gắn đĩa bằng udev. Đặt các quy tắc từ wiki này vào /etc/udev/user.rulesvà khởi động lại (hoặc kết nối lại USB HDD). Có một số ưu tiên của các quy tắc trong wiki (đó là lý do tại sao tôi không liệt kê chúng ở đây), chọn một quy tắc phù hợp nhất với nhu cầu của bạn (ví dụ: bạn cần một người dùng bình thường cụ thể để có thể ngắt kết nối nó).

Tìm hiểu kỹ /lib/udev/rules.d/80-udisks.rulessẽ giúp bạn hiểu những gì udev đang làm với đĩa cứng của bạn .

Bên cạnh các quy tắc udev tôi đã đề cập ở trên, tôi nghĩ có một cách tiếp cận khác mà bạn có thể thực hiện: hướng dẫn udisks (thông qua udev) để đĩa của bạn một mình và sau đó gắn kết nó qua fstab.

Mã này hoạt động trên hệ thống của tôi

ACTION!="add|change", GOTO="my_udisks_end"
SUBSYSTEM!="block", GOTO="my_udisks_end"

ENV{ID_TYPE}!="disk", GOTO="my_udisks_end"
ENV{ID_BUS}!="ata", GOTO="my_udisks_end"
ENV{DEVTYPE}!="partition", GOTO="my_udisks_end"

KERNEL=="sd*|hd*", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"

LABEL="my_udisks_end"

nhưng là chung chung và bao gồm tất cả các phân vùng. Để có thể nhắm mục tiêu sử dụng hdd / phân vùng cụ thể của bạn udevadm info --query=all -n /dev/sdXvà sau đó khớp với một số thuộc tính cụ thể đó trong các quy tắc udev.

Một nguồn tốt để giúp bạn trong việc này là Viết quy tắc udev . Thật không may, nó chứa một số thông tin lỗi thời ( udevinfođã được thay thế bởi udevadm indo). Mặc dù vậy, tôi đảm bảo với bạn rằng đây là một cuốn sách đáng đọc - udev là một phần kiến ​​trúc trung tâm hiện nay và bạn có thể hoàn thành rất nhiều bằng cách sử dụng nó. Nó cũng khá linh hoạt.

Nó cũng dễ dàng phạm sai lầm trong các quy tắc udev :). Sử dụng udevadm test $(udevadm info -q path -n /dev/sdX)để 'nhìn trộm' những gì udev đang làm.


Tuyệt vời. Điều này trông rất giống những gì tôi đang tìm kiếm. Có vẻ như tôi có một số việc phải đọc ...
Don Faulkner

1

Bạn có thể thử tham chiếu nó bằng / dev / ... thay vì UUID. Rất có thể / dev / sdb *, bạn có thể kiểm tra điều này bằng cách đi tới Hệ thống -> Quản trị -> Giám sát hệ thống và nhấp vào tab 'Hệ thống tệp'. Bạn sẽ cần phải lắp ổ USB trước và để nó tự động được gắn. Thay thế 'UUID = uuid' bằng '/ dev / sdb *' trong / etc / fstab. Luôn luôn là một ý tưởng tốt để sao lưu fstab trước khi chỉnh sửa nó.


4
Tham khảo các thiết bị lưu trữ lớn trực tiếp đến các nút thiết bị là một ý tưởng tồi! Cài đặt BIOS và các thiết bị bị loại bỏ có thể làm hỏng trật tự thiết bị.
LassePoulsen

Bạn có thể đúng nhưng tôi có ấn tượng rằng UUID được tái tạo mỗi khi tháo thiết bị USB và cắm lại. Điều này có nghĩa là fstab sẽ cần được chỉnh sửa mỗi khi tháo thiết bị và cắm lại.
dv3500ea

Thật ra, tôi đã sai, UUID vẫn như cũ.
dv3500ea

3
UUID là ID duy nhất của hệ thống tệp và không liên quan đến vị trí hoặc thiết bị xe buýt. Nó thậm chí sẽ tồn tại nếu bạn sao chép toàn bộ hệ thống tập tin từ thiết bị này sang thiết bị khác.
LassePoulsen

1
Sự lâu dài của hệ thống tập tin là những gì tôi đang tìm kiếm với mount-by-uuid. Đây là thiết bị "sao lưu cục bộ" của tôi và tôi muốn / sao lưu (hoặc bất cứ nơi nào tôi gắn thiết bị) để luôn có hệ thống tệp này, ngay cả khi tôi thêm hoặc sắp xếp lại các thiết bị. Đó là lợi thế của việc gắn by-uuid hoặc by-nhãn.
Don Faulkner
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.