जवाबों:
एक और समाधान जिसमें रूट विशेषाधिकारों की आवश्यकता नहीं होती है:
udevadm info --query=all --name=/dev/sda | grep ID_SERIAL
यह वास्तव में पुस्तकालय है lsblk
, जिसका उल्लेख don_crissti द्वारा किया गया है, उत्तोलन करता है, लेकिन मेरे lsblk के संस्करण में सीरियल के लिए विकल्प शामिल नहीं है।
grep ID_SCSI_SERIAL
हो सकता है कि वास्तव में ड्राइव का सीरियल नंबर देता है , जैसा कि वर्ल्ड वाइड नाम (wwn) के तहत बताया गया है ID_SERIAL
।
ID_SCSI_SERIAL
और न ही कुछ अनुरूप (नहीं ID_ATA_SERIAL
): E: ID_SERIAL=TOSHIBA-TR150_23SC51E8J2BI ... E: ID_SERIAL_SHORT=23SC51E8J2BI ... E: ID_WWN=0x5e83a97200463ff3 ... E: ID_WWN_WITH_EXTENSION=0x5e83a97200463ff3
टर्मिनल प्रकार में:
# hdparm -I /dev/sd? | grep 'Serial\ Number'
EDIT: आप भी उपयोग lshw
या कर सकते हैंsmartctl
lshw
# lshw -class disk
smartctl
# smartctl -i /dev/sda
यदि आप उन उपकरणों को याद कर रहे हैं, तो बस निम्नलिखित पैकेज स्थापित करें
# apt-get install hdparm
# apt-get install smartmontools
# apt-get install lshw
hdparm -I /dev/sd?
hdparm
एआरएम (रास्पबेरी पाई पर रास्पियन ) पर पैकेज (उपयुक्त-नाम नामित) स्थापित करना था ।
hdparm -I /dev/sd? | grep --before-context=4 'Serial\ Number'
डिवाइस के साथ सीरियल नंबर को सहसंबंधित करने के लिए उपयोग करें । यह मूल प्रश्न अनुरोधों के परिणामस्वरूप दिखता है।
डिवाइस 1 नाम और इसी क्रम संख्या:
lsblk --nodeps -o name,serial
उत्पादन:
NAME SERIAL
sda 0000000012400917BA30
sdb 0000000012400917BA96
-n
यदि आप हेडर लाइन प्रिंट नहीं करना चाहते हैं तो जोड़ें :
lsblk --nodeps -no name,serial
उत्पादन:
sda 0000000012400917BA30
sdb 0000000012400917BA96
device
किसी विशिष्ट डिवाइस के केवल सीरियल नंबर प्राप्त करने के लिए तर्क के रूप में पास करें :
lsblk --nodeps -no serial /dev/sda
उत्पादन:
0000000012400917BA30
lsblk
सभी उपलब्ध (या निर्दिष्ट) ब्लॉक उपकरणों के बारे में जानकारी को ध्यान में रखें । अब, उन लोगों के लिए जो यह नहीं जानते कि अंतिम शब्द का क्या अर्थ है:
सामान्य तौर पर, ब्लॉक डिवाइस वे डिवाइस होते हैं जो डेटा को स्टोर या होल्ड करते हैं। डिस्केट ड्राइव, हार्ड ड्राइव और सीडी-रॉम ड्राइव सभी ब्लॉक डिवाइस हैं। लेकिन यह एक समस्या नहीं है जब lsblk
आप इसका उपयोग कर सकते हैं जैसे कि आप अधिक कॉलम जोड़ सकते हैं जैसे type
(डिवाइस प्रकार) और / या tran
(डिवाइस ट्रांसपोर्ट प्रकार) आदि:
lsblk --nodeps -no नाम, सीरियल, प्रकार, ट्रान
sda 0000000012400917BA30 disk sata
sdb 0000000012400917BA96 disk sata
sr0 4B583242334C453233353320 rom usb
lsblk
-लिनेक्स संस्करण 2.24 या उससे अधिक की आवश्यकता प्रतीत होती है: github.com/karelzak/util-linux/commit/…
उपयोग करके hdparm
आप टर्मिनल से अपना हार्डडिस्क सीरियल नंबर देख सकते हैं।
अपना टर्मिनल खोलें और जैसा लिखें
hdparm -I /dev/sd?|grep -E "Number|/dev"
-I
hdparm
$ ls -al /dev/disk/by-id/*sda*
यह आपको परिचित डिस्क नाम के खिलाफ सीरियल नंबर दिखाएगा।
by-id
डायर की सामग्री सिर्फ़ सहानुभूति है, इसलिए ls -al /dev/disk/by-id/
आपको दिखाएगी कि आपको वैसे भी क्या चाहिए।
सबसे आसान तरीका मुझे पता है (रूट की आवश्यकता नहीं है):
inxi -Dplxx
यह सभी डिस्क, उनके धारावाहिक और किसी भी अतिरिक्त जानकारी का आउटपुट देता है। -p विभाजन जोड़ता है। -l लेबल जोड़ता है। -U विभाजन के लिए UUID जोड़ता है।
इसके अलावा यह याद रखना बहुत आसान है, हे।
नमूना:
inxi -Dxx
Drives: HDD Total Size: 810.2GB (42.9% used)
ID-1: /dev/sdc model: ST3160827AS size: 160.0GB serial: 5MT2HMH6
ID-2: /dev/sdb model: WDC_WD3200JD size: 320.1GB serial: WD-WCAMR1302926
ID-3: /dev/sda model: ST380817AS size: 80.0GB serial: 4MR2EWBE
ID-4: /dev/sdd model: ST3250824AS size: 250.1GB serial: 9ND08GKX
ध्यान दें कि यह ऑप्टिकल ड्राइव को फ़िल्टर करता है। ऑप्टिकल डेटा देखने के लिए:
inxi -Dxxd
Drives: HDD Total Size: 810.2GB (42.9% used)
ID-1: /dev/sdc model: ST3160827AS size: 160.0GB serial: 5MT2HMH6
ID-2: /dev/sdb model: WDC_WD3200JD size: 320.1GB serial: WD-WCAMR1302926
ID-3: /dev/sda model: ST380817AS size: 80.0GB serial: 4MR2EWBE
ID-4: /dev/sdd model: ST3250824AS size: 250.1GB serial: 9ND08GKX
Optical-1: /dev/sr0 model: LITE-ON DVDRW SOHW-1693S
rev: KS09 dev-links: dvd,dvdrw
Features: speed: 48x multisession: yes
audio: yes dvd: yes rw: cd-r,cd-rw,dvd-r state: running
Optical-2: /dev/sr1 model: LITE-ON LTR-52327S rev: QS0C dev-links: cdrom,cdrw
Features: speed: 52x multisession: yes
audio: yes dvd: no rw: cd-r,cd-rw state: running
ध्यान दें कि मेरे डेबियन सिस्टम पर, lsblk धारावाहिकों के लिए कुछ भी नहीं दिखाता है, चाहे रूट या उपयोगकर्ता के रूप में। यही कारण है कि inxi उस डेटा को प्राप्त करने के लिए एक अधिक विश्वसनीय विधि का उपयोग करता है।
lsblk --nodeps -o name,serial
NAME SERIAL
fd0
sda
sdb
sdc
sdd
sr0
sr1
lsblk --version
lsblk from util-linux 2.25.2
जैसा कि आप देख सकते हैं, lsblk करने के लिए, यह सोचता है कि एक ऑप्टिकल ड्राइव और फ्लॉपी ड्राइव भी डिस्क हैं, जो एक मायने में, हालांकि वे वास्तव में नहीं हैं, क्योंकि वे डिस्क डालने तक डिस्क नहीं बनते हैं। और यह धारावाहिक के लिए कुछ भी नहीं दिखाता है, वैसे यह अन्य मूल्यों के लिए भी कुछ नहीं दिखाता है, जैसे लेबल। निश्चित रूप से यह डेटा सिस्टम के लिए उपलब्ध होने के बाद से एक बग है, जहां यह inxi इसे प्राप्त करता है, प्रत्यक्ष।
lsblk
उन्हें नहीं लगता कि वे डिस्क हैं, यह बस सभी ब्लॉक डिवाइस को सूचीबद्ध करता है । स्पष्टीकरण के लिए मेरी अपडेट की गई पोस्ट देखें। जानकारी नहीं दिखाने के रूप में - यह इसलिए है क्योंकि आप डेबियन का उपयोग कर रहे हैं जो उनके lsblk
व्यवहार के लिए कुख्यात है। यह आर्चलिनक्स पर बिल्कुल ठीक काम करता है इसलिए निश्चित रूप से बग नहीं । इसके अलावा, inxi
सिर्फ एक बैश स्क्रिप्ट है जो उस जानकारी को प्राप्त करने के लिए अन्य कमांड का उपयोग करती है; यह "सीधे" कुछ भी नहीं मिलता है।
lsblk --nodeps -o name,serial
सीरियल नंबर प्रदर्शित करता है, मैं बग को पुन: पेश नहीं कर सकता।
मुझे यह भी पसंद है ls -l /dev/disk/by-id
क्योंकि अगर यह उपलब्ध है तो यह डिस्क का WWN दिखाएगा। WWN आमतौर पर डिस्क के लेबल पर मुद्रित होता है, इसलिए इसे पहचानना आसान है।
root@server (16:27:58):~# ls -l /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root 9 Dec 20 01:51 ata-Samsung_SSD_850_EVO_250GB_S3PZNF0JB57579N -> ../../sda
lrwxrwxrwx 1 root root 10 Dec 20 01:51 ata-Samsung_SSD_850_EVO_250GB_S3PZNF0JB57579N-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec 20 01:51 ata-Samsung_SSD_850_EVO_250GB_S3PZNF0JB57579N-part2 -> ../../sda2
...
lrwxrwxrwx 1 root root 9 Dec 20 01:51 wwn-0x50014ee25ffd0a5c -> ../../sdc
lrwxrwxrwx 1 root root 9 Dec 20 01:51 wwn-0x50014ee2b554c0b4 -> ../../sdb
lrwxrwxrwx 1 root root 9 Dec 20 01:51 wwn-0x5002538d427700f0 -> ../../sda
ls -al /dev/disk/by-id/ | grep sdX | grep wwn | awk '{print $9'}
यह wwn-id
डिस्क के लिए दिखाएगा । awk
फिल्टर ओएस वितरण और संस्करण के आधार पर समायोजित करने की आवश्यकता हो सकती है। मुझे पढ़ने के लिए एक स्क्रिप्टेड समाधान की आवश्यकता थी wwn-id
, जो पेसमेकर डिस्क बाड़ लगाने के लिए आवश्यक है। यदि विभाजन ( /dev/sdX1
उदाहरण के लिए) पहले से ही बनाया गया grep
है तो आउटपुट को फ़िल्टर करने के लिए एक और आवश्यक है:
ls -al /dev/disk/by-id/ | grep sdX | grep wwn | grep -v sdX1 | awk '{print $9'}