ไดร์เวอร์ตัวใดที่อยู่ด้านหลังไฟล์อุปกรณ์บางตัว?


10

รับไฟล์อุปกรณ์แล้วบอกว่า/dev/sdbเป็นไปได้หรือไม่ที่จะกำหนดว่าไดรเวอร์ใดที่อยู่ด้านหลัง

โดยเฉพาะฉันต้องการตรวจสอบไดรเวอร์อุปกรณ์เก็บข้อมูลที่ใช้ fdisk -lแสดงรายการอุปกรณ์ 2: และ/dev/sda /dev/sdbหนึ่งคือฮาร์ดไดรฟ์ SATA และอีกอันคืออุปกรณ์ USB Mass Storage - จริงๆแล้วเป็นการ์ด SD

ฉันจะกำหนดโดยทางโปรแกรมได้อย่างไร

ฉันกำลังเขียนซอฟต์แวร์หนึ่งชิ้นและฉันต้องการปกป้องผู้เริ่มต้นจากการกำจัดฮาร์ดไดรฟ์ของพวกเขาในขณะที่ให้พวกเขากำจัดการ์ด SD ของพวกเขา


ฉันถือว่าคุณใช้งาน Linux โดยพิจารณาจากชื่ออุปกรณ์ที่คุณเลือก
Gilles 'หยุดความชั่วร้าย'

@Gilles ใช่แล้วขออภัยนั่นอาจเป็นข้อมูลที่สำคัญทีเดียว ... ขอบคุณ!
Alex Chamberlain

คำตอบ:


12

เรียกใช้udevadm info -a -n /dev/sdaและแยกวิเคราะห์ผลลัพธ์ คุณจะเห็นบรรทัดที่ชอบ

DRIVERS=="ahci"

สำหรับดิสก์ SATA โดยใช้ahciไดรเวอร์หรือ

DRIVERS=="usb-storage"

สำหรับอุปกรณ์ที่เชื่อมต่อ USB นอกจากนี้คุณยังสามารถแสดงชื่อผู้จำหน่ายและรุ่นเพื่อยืนยัน นอกจากนี้

ATTR{removable}=="1"

มีอยู่ในอุปกรณ์พกพา

ข้อมูลทั้งหมดนี้ยังสามารถรับได้ผ่าน /sys (ในความเป็นจริงนั่นคือที่ที่udevadmจะไปดู) แต่/sysอินเทอร์เฟซการเปลี่ยนแปลงเป็นครั้งคราวดังนั้นการแยกวิเคราะห์udevadmมีประสิทธิภาพมากขึ้นในระยะยาว


@AlexChamberlain ขออภัยใช่-nคาดว่าจะมีพา ธ ไปยังอุปกรณ์บล็อก (บางอย่างภายใต้/dev) ในขณะที่-pคาดว่าจะเป็นเส้นทางภายใต้/sys(เช่น-p /sys/block/sda)
Gilles 'หยุดความชั่วร้าย'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.