Tìm hiểu xem một thiết bị cụ thể là bộ lưu trữ lớn USB


10

Bối cảnh

Tôi đang tự động hóa hình ảnh thẻ SD từ ddhình ảnh nhà máy hiện có . Thẻ SD luôn được kết nối thông qua đầu đọc thẻ USB bên ngoài và do đó xuất hiện trong hệ thống dưới dạng thiết bị khối SCSI /dev/sd*.

Hiện tại cú pháp của lệnh của tôi là: thiết bị khối thẻ SD write-image DEVICEở đâu DEVICE, vd. /dev/sdd.

Vấn đề

Tôi đã thực hiện kiểm tra cơ bản DEVICEđể xác minh nó có dạng /dev/sd*nhưng điều này là không đủ: Tôi sợ người dùng (người sản xuất không sử dụng Linux) mắc lỗi và chỉ định một thiết bị có vẻ hợp lệ khác, ví dụ: /dev/sda. Bạn có thể thấy thảm họa lờ mờ, đặc biệt là vì tập lệnh hình ảnh của tôi cần đặc quyền gốc (không phải để ghi hình ảnh, làm phiền bạn, nhưng để sửa đổi thẻ SD sau đó, bao gồm điều chỉnh kích thước của phân vùng tùy thuộc vào kích thước thực của thẻ SD) ...

Câu hỏi

Tôi muốn xác minh rằng thiết bị được chỉ định thực sự là một bộ lưu trữ dung lượng lớn USB (hoặc ít nhất là một thiết bị có thể tháo rời) để tôi có thể bảo vệ các đĩa hệ thống khỏi bị vô tình vứt bỏ. Làm thế nào tôi có thể làm điều đó?

Tôi không tìm thấy gì liên quan trong /prochoặc trên web, hiện tại tôi khá mất mát.

Câu trả lời:


10

Có một cái nhìn dưới /sys/thư mục. Đặc biệt, /sys/block/chứa các liên kết tượng trưng để chặn các thiết bị trong /sys/devices/.

/sys/block/sdX/removablecó vẻ như nó sẽ đọc là 1 cho một thiết bị di động và 0 khác. Điều này cung cấp cho bạn một kiểm tra cơ bản để loại bỏ.

Tôi không chắc có cách nào tốt hơn để kiểm tra xem đó có phải là thiết bị USB không, nhưng readlink /sys/block/sdesẽ phun ra thứ gì đó như thế nào ../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1.2/6-1.2:1.0/host7/target7:0:0/7:0:0:0/block/sde. Kiểm tra nếu có chứa một usb*thư mục có thể làm việc như một kiểm tra đơn giản.

Bạn có thể nhận các chi tiết thiết bị khác như nhà cung cấp và kiểu máy từ /sys/block/sdX/device/đó, cũng có thể có ích.

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.