एक निश्चित डिवाइस फ़ाइल के पीछे चालक क्या है?


10

डिवाइस फ़ाइल को देखते हुए /dev/sdb, क्या यह निर्धारित करना संभव है कि चालक इसके पीछे क्या है?

विशेष रूप से, मैं यह निर्धारित करना चाहता हूं कि ड्राइवर मेरे भंडारण उपकरणों का क्या उपयोग कर रहा है। fdisk -l2 उपकरणों को सूचीबद्ध करता है: /dev/sdaऔर /dev/sdb। एक एक SATA हार्ड ड्राइव है और दूसरा USB मास स्टोरेज डिवाइस है - वास्तव में एक SD कार्ड।

मैं कैसे निर्धारित करूँ, प्रोग्रामेटिक रूप से, कौन सा है?

मैं सॉफ्टवेयर का एक टुकड़ा लिख ​​रहा हूं, और मैं शुरुआत करने वाले को अपनी हार्ड ड्राइव को तिरस्कृत करने से बचाना चाहता हूं, जबकि उन्हें अपने एसडी कार्डों को अलग करने की अनुमति देता हूं।


मुझे लगता है कि आप डिवाइस नाम की अपनी पसंद के आधार पर लिनक्स चला रहे हैं।
गिलेस एसओ- बुराई को रोकना '

@Gilles हाँ, क्षमा करें कि यह संभवतः जानकारी का एक महत्वपूर्ण हिस्सा है ... धन्यवाद!
एलेक्स चेम्बरलेन

जवाबों:


12

udevadm info -a -n /dev/sdaआउटपुट को चलाएँ और पार्स करें। आप लाइक देखेंगे

DRIVERS=="ahci"

ahciड्राइवर का उपयोग कर SATA डिस्क के लिए , या

DRIVERS=="usb-storage"

USB- कनेक्टेड डिवाइस के लिए। आप पुष्टि के लिए विक्रेता और मॉडल के नाम भी प्रदर्शित कर सकेंगे। इसके अलावा,

ATTR{removable}=="1"

हटाने योग्य उपकरणों पर मौजूद है।

इस जानकारी को सभी के माध्यम से प्राप्त किया जा सकता है /sys(वास्तव में, जहां udevadmदेखने के लिए जाता है), लेकिन /sysइंटरफ़ेस समय-समय पर बदलता है, इसलिए udevadmलंबी अवधि में पार्सिंग अधिक मजबूत होती है।


@AlexChamberlain क्षमा करें, हाँ, -nएक ब्लॉक डिवाइस के लिए एक रास्ता (के तहत कुछ उम्मीद /dev) जबकि -pउम्मीद के तहत एक पथ /sys(उदाहरण के लिए -p /sys/block/sda)।
गिल्स एसओ- बुराई को रोकना '
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.