आप /sys
पेड़ को पार करने के माध्यम से संबंधित / देव / एसडीवाई डिवाइस पा सकते हैं :
$ find /sys/devices | grep '/ata[0-9]\+/.*/block/s[^/]\+$' \
| sed 's@^.\+/\(ata[0-9]\+\)/.\+/block/\(.\+\)$@\1 => /dev/\2@'
अधिक कुशल /sys
ट्रैवर्सल (cf. lsata.sh ) के साथ:
$ echo /sys/class/ata_port/ata*/../../host*/target*/*/block/s* | tr ' ' '\n' \
| awk -F/ '{printf("%s => /dev/%s\n", $5, $NF)}'
2 डिस्क सिस्टम से उदाहरण आउटपुट:
ata1 => /dev/sda
ata2 => /dev/sdb
फिर, वास्तविक हार्डवेयर की पहचान करने के लिए आपको सीरियल नंबर के लिए मैप / देव / एसडीवाई करना होगा, जैसे:
$ ls /dev/disk/by-id -l | grep 'ata.*sd[a-zA-Z]$'
lssci
lssci
उपयोगिता भी मानचित्रण प्राप्त करने के लिए इस्तेमाल किया जा सकता:
$ lsscsi | sed 's@^\[\([^:]\+\).\+\(/dev/.\+\)$@\1,\2@' \
| awk -F, '{ printf("ata%d => %s\n", $1+1, $2) }'
ध्यान दें कि प्रासंगिक lsscsi एन्यूमरेशन 0 से शुरू होता है, जबकि ata एन्यूमरेशन 0 से शुरू होता है।
syslog
यदि कुछ और काम नहीं करता है तो मानचित्रण को प्राप्त करने के लिए कोई भी syslog / पत्रिका देख सकता है।
/dev/sdY
उपकरणों उसी क्रम में बनाए जाते हैं के रूप में ataX पहचानकर्ता में enumerated हैं kern.log
गैर डिस्क डिवाइस (ATAPI) और नहीं से जुड़े लिंक को अनदेखा करते हुए।
इस प्रकार, निम्नलिखित कमांड मैपिंग प्रदर्शित करता है:
$ grep '^May 28 2' /var/log/kern.log.0 | \
grep 'ata[0-9]\+.[0-9][0-9]: ATA-' | \
sed 's/^.*\] ata//' | \
sort -n | sed 's/:.*//' | \
awk ' { a="ata" $1; printf("%10s is /dev/sd%c\n", a, 96+NR); }'
ata1.00 is /dev/sda
ata3.00 is /dev/sdb
ata5.00 is /dev/sdc
ata7.00 is /dev/sdd
ata8.00 is /dev/sde
ata10.00 is /dev/sdf
(ध्यान दें कि ata4 प्रदर्शित नहीं है क्योंकि उपरोक्त लॉग संदेश किसी अन्य सिस्टम से हैं।)
मैं उपयोग कर रहा हूं /var/log/kern.log.0
और /var/log/kern.log
इसलिए नहीं कि बूट संदेश पहले से ही घुमाए गए हैं। मैं May 28 2
इस बात के लिए तैयार हूं क्योंकि यह आखिरी बूट समय था और मैं पिछले संदेशों को नजरअंदाज करना चाहता हूं।
मैपिंग को सत्यापित करने के लिए आप कुछ आउटपुट देख सकते हैं:
$ grep '^May 28 2' /var/log/kern.log.0 | \
grep 'ata[0-9]\+.[0-9][0-9]: ATA-'
May 28 20:43:26 hn kernel: [ 1.260488] ata1.00: ATA-7: SAMSUNG SV0802N, max UDMA/100
May 28 20:43:26 hn kernel: [ 1.676400] ata5.00: ATA-5: ST380021A, 3.19, max UDMA/10
[..]
और आप इस आउटपुट को hdparm
आउटपुट के साथ तुलना कर सकते हैं , जैसे:
$ hdparm -i /dev/sda
/dev/sda:
Model=SAMSUNG SV0802N [..]
(कर्नेल का उपयोग 2.6.32-31)