मैं लिनक्स में हार्डवेयर मॉडल कैसे पा सकता हूं?


89

मैंने सिस्टम के मॉडल नंबर और मदरबोर्ड के मॉडल को लेने के लिए एक सिस्टम इंफॉर्मेशन यूटिलिटी का इस्तेमाल किया।

DMI System Manufacturer     LENOVO
DMI System Product          2306CTO
DMI System Version          ThinkPad X230
DMI Motherboard Product     2306CTO  

क्या इस मामले में 2306CTO, लिनक्स में मॉडल नंबर प्राप्त करने का कोई तरीका है ?



2
स्पष्टता के लिए ऐसा लगता है कि आप हार्डवेयर उत्पाद में रुचि रखते हैं, विशेष रूप से मदरबोर्ड पर नहीं। उदाहरण के लिए, "थिंकपैड X230" एक प्रकार का कंप्यूटर है जिसमें मदरबोर्ड नहीं है।
ब्राचली

1
आप dmesg कमांड चलाकर या / var / log / dmesg * चलाकर अतिरिक्त पैकेज के बिना भी कुछ जानकारी प्राप्त कर सकते हैं।
रुसो

जवाबों:


114

dmidecode | grep -A3 '^System Information'कमांड का उपयोग करना । आपको BIOS और हार्डवेयर से सभी जानकारी मिल जाएगी। ये तीन अलग-अलग मशीनों पर उदाहरण हैं (यह संपूर्ण आउटपुट का एक अंश है):

System Information
    Manufacturer: Dell Inc.
    Product Name: Precision M4700

System Information
    Manufacturer: MICRO-STAR INTERANTIONAL CO.,LTD
    Product Name: MS-7368

System Information
    Manufacturer: HP
    Product Name: ProLiant ML330 G6

25
एफडब्ल्यूआईडब्ल्यू, विशेष रूप से डीएमआई प्रकारों का उपयोग करने के बजाय फ़िल्टर करने की आदत में आना बेहतर है grep। समग्र हार्डवेयर मॉडल के लिए dmidecode -t1। इस तरह से आपके पास dmidecode से डेटा खींचने का एक सरल तरीका है और बस आम DMI प्रकारों को याद रखने की आवश्यकता है। रैम इंस्‍टॉल करते समय ( dmidecode -t17जब) जीआरपी कुछ गलत हो सकता है अगर आप गलत डेटा को बंद कर देते हैं तो वास्तव में उपयोगी हो जाता है । इसके अलावा, का उत्पादन -tअधिक पूर्ण है
ब्राचली

@JoelDavis, मुझे पहले उन विकल्पों के बारे में पता नहीं था। मैं उनका उपयोग करूंगा। धन्यवाद।
ईप्सुइग

13
नोट: रूट की जरूरत है यदि आप वर्तमान उपयोगकर्ता के अंतर्गत आपके लिए सभी जानकारी चाहते हैं, तो उपयोग करें: cat /sys/devices/virtual/dmi/id/*(और यह आपको मॉडल का नाम और सामान्य उपयोगकर्ता का उपयोग करके सॉर्ट करने की अनुमति देता है)
qwertzguy

Grep के तर्कों के बिना dmidecode का आउटपुट पाइप करना दिलचस्प है, लेकिन जानकारी प्राप्त करने का सबसे कुशल साधन नहीं है। dmidecode 'प्रणाली-उत्पाद नाम' कीवर्ड स्ट्रिंग को निर्दिष्ट करके के लिए वास्तव में क्या ओ पी पूछ रहा है मुद्रित कर सकते हैं: sudo dmidecode -s प्रणाली उत्पाद नाम
cjac

मुझे लगता है कि यह ध्यान देने योग्य है कि पुराने सिस्टम में झंडे उपलब्ध नहीं हैं dmidecode, न ही एक पेज भी। ऊपर दिया गया जवाब यहाँ सबसे लिनक्स-पोर्टेबल उत्तर है, मुझे लगता है। -tऔर -sझंडे यकीन है कि के लिए नए सिस्टम पर उपयोगी होते हैं।
जोशुआ डेटलर

32

प्रयास करें sudo dmidecode -t baseboardडीएमआई पर पूरी जानकारी के लिए टी में सक्षम अपने baseboard के लिए प्रासंगिक सामग्री, एक मानव पठनीय रूप में। सिर्फ़ सिस्टम प्रोडक्ट के नाम के लिए , आप या तो उपयोग कर सकते हैं ( एस ट्रिंग्स कीवर्ड dmidecode -sकी सूची प्राप्त करने के लिए टाइप करें ):

sudo dmidecode -s system-product-name
sudo dmidecode -s baseboard-product-name

मदरबोर्ड की जानकारी के लिए अन्य प्रासंगिक विकल्प हैं

sudo dmidecode -s system-version
sudo dmidecode -s baseboard-version
sudo dmidecode -s system-manufacturer
sudo dmidecode -s baseboard-manufacturer

sudo dmidecode -sउपलब्ध डीएमआई स्ट्रिंग्स की पूरी सूची के लिए प्रयास करें ।


24

रिकॉर्ड के लिए, इस जानकारी का अधिकतर हिस्सा आधुनिक लिंज़ (अर्थात, कम से कम 2011 के बाद) पर / sys / devices / virtual / dmi / id के अंतर्गत उपलब्ध है, और यदि यह उल्लेखनीय है, तो सीरियल नंबर सहित- नियमित उपयोगकर्ताओं द्वारा पठनीय नहीं है। । मूल पोस्टर के प्रश्न का उत्तर देने के लिए, product_nameवह फाइल है जिसमें सिस्टम का मॉडल नाम है।

bios_date
bios_vendor
bios_version
board_asset_tag
board_name
board_serial
board_vendor
board_version
chassis_asset_tag
chassis_serial
chassis_type
chassis_vendor
chassis_version
modalias
power
product_name
product_serial
product_uuid
product_version
smbios_version
subsystem
sys_vendor
uevent

और यहाँ एक आसान-डंडी स्क्रिप्ट होगी जिसे कोई भी उपयोगकर्ता चला सकता है, अच्छाई प्रदर्शित करने के लिए:

#!/bin/bash

cd /sys/devices/virtual/dmi/id/
for f in *; do
        printf "$f "
        cat $f 2>/dev/null || echo "***_Unavailable_***"
done

किसी भी फ़ाइल नाम में जगह नहीं है, इसलिए यह जानकारी आसानी से उपयोग की जाती है जैसे कि awk जैसी उपयोगिताएँ, आपके अपने नापाक उद्देश्यों के लिए!


ग्रेट, यह लिनक्स-आधारित के साथ बहुत अच्छा है यदि आप एक उपकरण को अपनी ज़रूरत का सामान नहीं पाते हैं (ओएस, हार्डवेयर जानकारी) कहीं न कहीं /sysया /proc। धन्यवाद
एडवर्ड Florinescu

2
बहुत बढ़िया! एक समाधान जो गैर-रूट के लिए काम करता है!
qwertzguy 5

1
ध्यान दें कि यह डमी जानकारी केवल इंटेल-आधारित पीसी पर लागू हो सकती है। मेरे पास एक नेटवर्क डिवाइस है जो लिनक्स-आधारित एआरएम कंप्यूटर द्वारा संचालित है, और न ही डाइमोड या पथ / एसआईएस में पथ इसके लिए उपलब्ध है।
माइक एस

12

आधुनिक लिनक्स सिस्टम पर, आप आसानी से किसी भी उपयोगकर्ता की तरह काम कर सकते हैं:

cat /sys/devices/virtual/dmi/id/sys_vendor

cat /sys/devices/virtual/dmi/id/product_name

यह कोरओएस के लिए भी अच्छा काम करता है, जिसके साथ जहाज नहीं चलता है dmidecode

नोट : यह अन्य उत्तर / टिप्पणियों में उल्लेख किया गया है, लेकिन उम्मीद है कि यहां अधिक दिखाई देगा, क्योंकि यह उपयोग करने की तुलना में बहुत आसान तरीका है dmidecode



4

यहां हर कोई महान dmidecodeकमांड और -tपैरामीटर के बारे में बात करता है, लेकिन आपके साथ sudo lshw -shortउत्पाद का नाम और मॉडल भी आसानी से मिलता है:

$ sudo lshw -short
H/W path       Device     Class          Description
====================================================
                          system         UX303UB (ASUS-NotebookSKU)
/0                        bus            UX303UB

हार्डवेयर जानकारी प्राप्त करने के लिए अन्य महान आदेश:

  • lscpu # से बेहतर / खरीद / cpuinfo
  • lsusb [-V]
  • lsblk[-a] # df -h से बेहतर है। डिवाइस जानकारी ब्लॉक करें।
  • sudo hdparm /dev/sda1

Lshw के अलावा, उन आदेशों में से कोई भी उस सवाल का जवाब नहीं देता है जो ओपी पूछता है। वे अत्यधिक उपयोगी उपयोगिताओं हैं, हाँ, लेकिन सवाल के दायरे में बिल्कुल नहीं ...
Shadur

@ बहादुर तुम मुझे क्यों नीचा दिखाते हो? मैं इस सवाल का जवाब इस तरह से देता हूं जैसे कोई अन्य उत्तर देता है, और फिर केवल अतिरिक्त उपयोगी जानकारी प्रदान करता है, किसी भी महान पोस्ट पर सुंदर आदेश क्या है।
पाब्लो ए

2

सिस्टम इंफॉर्मेशन टूल inxi मैन्युअल रूप से जानकारी को दिखाता है और बिना dmidecode / / sys के सभी चेक मैन्युअल रूप से करने के लिए होता है। पूरी सुविधा सूची के लिए मैन पेज देखें ।

यह / sys के साथ और बिना sys के सिस्टम का समर्थन करता है, हालांकि / sys डेटा के साथ, आपको पूर्ण हार्डवेयर आउटपुट प्राप्त करने के लिए रूट होने की आवश्यकता नहीं है, आप जो dmidecode करते हैं।

$inxi -M
Machine:   Device: desktop Mobo: ASRock model: A770DE+
           BIOS: American Megatrends v: P1.70 date: 09/07/2010

आप रूट के रूप में, डेटा को dmidecode से आने के लिए भी बाध्य कर सकते हैं:

#inxi -! 33 -Mxxx ## inxi 2.3.56 and older
#inxi --dmidecode -Mxxx ## inxi 2.9 and newer
Machine:   Device: desktop Mobo: ASRock model: A770DE+
           BIOS: American Megatrends v: P1.70 rv 8.14 date: 09/07/2010 rom size: 1024 kB

inxi अधिकांश जीएनयू / लिनक्स वितरणों के भंडार में उपलब्ध है, या केवल स्क्रिप्ट को हथियाने और इसे स्थापित करके सीधे इंस्टॉल करने योग्य है।

मूल आउटपुट मोड का नमूना (-b)

$inxi -bxx
System:    Host: my-box Kernel: 4.6-6.1-liquorix-686-pae i686 (32 bit gcc: 5.4.1)
           Desktop: Xfce 4.12.3 (Gtk 2.24.30) dm: lightdm
           Distro: Debian GNU/Linux 7.0
Machine:   Device: desktop Mobo: ASRock model: A770DE+
           BIOS: American Megatrends v: P1.70 date: 09/07/2010
CPU:       Dual core AMD Athlon 64 X2 5000+ (-MCP-) speed/max: 1000/2600 MHz
Graphics:  Card: NVIDIA GT218 [GeForce 210] bus-ID: 02:00.0 chip-ID: 10de:0a65
           Display Server: X.Org 1.19.0 driver: nvidia
           Resolution: 1280x1024@60.02hz, 1280x1024@60.02hz
           GLX Renderer: GeForce 210/PCIe/SSE2/3DNOW!
           GLX Version: 3.3.0 NVIDIA 340.101 Direct Rendering: Yes
Network:   Card: Intel 82574L Gigabit Network Connection
           driver: e1000e v: 3.2.6-k port: c800
           bus-ID: 01:00.0 chip-ID: 8086:10d3
Drives:    HDD Total Size: 1080.2GB (36.8% used)
Info:      Processes: 313 Uptime: 26 days Memory: 4457.2/8094.0MB
           Init: systemd v: 232 runlevel: 5 default: 3
           Gcc sys: 6.3.0 alt: 4.0/4.2/4.4/4.5/4.6/4.7/4.8/4.9/5
           Client: Shell (bash 4.4.51 running in xfce4-terminal) inxi: 2.3.8

Inxi 3.x में नया आउटपुट स्वरूप

inxi -bxxxzy80
System:
  Host: yawn Kernel: 4.17.0-10.1-liquorix-amd64 x86_64 bits: 64 compiler: gcc 
  v: 7.3.0 Desktop: Xfce 4.12.4 tk: Gtk 2.24.31 info: xfce4-panel wm: xfwm4 
  dm: lightdm 1.18.3 Distro: Debian GNU/Linux buster/sid 
Machine:
  Type: Desktop System: Gigabyte product: X470 AORUS ULTRA GAMING v: N/A 
  serial: <filter> 
  Mobo: Gigabyte model: X470 AORUS ULTRA GAMING-CF v: x.x serial: <filter> 
  UEFI [Legacy]: American Megatrends v: F2 date: 03/14/2018 
CPU:
  6-Core: AMD Ryzen 5 2600 type: MT MCP arch: Zen speed: 2300 MHz 
  min/max: 1550/3400 MHz 
Graphics:
  Card-1: NVIDIA GT218 [GeForce 210] vendor: Gigabyte driver: nvidia 
  v: 340.107 bus ID: 09:00.0 chip ID: 10de:0a65 
  Display: x11 server: X.Org 1.20.0 driver: nvidia 
  resolution: 1280x1024~60Hz, 1280x1024~60Hz 
  OpenGL: renderer: GeForce 210/PCIe/SSE2 v: 3.3.0 NVIDIA 340.107 
  direct render: Yes 
Network:
  Card-1: Intel I211 Gigabit Network driver: igb v: 5.4.0-k port: f000 
  bus ID: 06:00 chip ID: 8086:1539 
  Card-2: Apple Ethernet Adapter [A1277] type: USB driver: asix bus ID: 1:13 
  chip ID: 05ac:1402 
Drives:
  Local Storage: total: 1.08 TiB used: 496.05 GiB (45.0%) 
Info:
  Processes: 339 Uptime: 3d 6h 22m Memory: 31.43 GiB used: 4.04 GiB (12.8%) 
  Init: systemd v: 239 runlevel: 5 Compilers: gcc: 8.1.0 alt: 5/6/7/8 
  Shell: bash v: 4.4.23 running in: xfce4-terminal inxi: 3.0.20

अच्छा लगता है। मैं सोच रहा था कि क्या कोई ऐसा तरीका है जिससे यह उपकरण सिस्टम या बोर्ड क्रमांक लौटाएगा? तो फिर तुम इस तरह किसी भी प्रणाली आत्मनिरीक्षण के लिए रूट की जरूरत नहीं है। (मुझे लगता है कि उत्तर "नहीं" है)।
माइक एस

लिनक्स कर्नेल में परिवर्तन से पहले, जो / sys फ़ाइल सिस्टम बनाता है, आप रूट किए बिना इन चीजों के लिए सीरियल नंबर प्राप्त कर सकते हैं, लेकिन परिवर्तन के बाद, जो inxi के नियंत्रण से पूरी तरह से बाहर है, आपको रूट होने की आवश्यकता है, और उस के आसपास काम करने का कोई तरीका नहीं है। जाहिर है कि यह एक मूर्खतापूर्ण निर्णय था और किसी के पास किसी बुरे विचार पर आधारित प्रतिगमन था, लेकिन उस समस्या को हल करने के लिए कुछ भी नहीं है। sudo inxi -Mxxx ने हमेशा धारावाहिकों की वापसी की। कुछ सिस्टम पर किसी भी sudo की आवश्यकता नहीं है, मुझे लगता है कि कर्नेल संस्करण पर निर्भर करता है।
छिपकली

ध्यान दें कि inxi 3.0 और नए उपयोग नहीं करते हैं -! 33 अब, वे --dmidecode का उपयोग
Lizardx

1

आप उपयोग कर सकते हैं:

dmidecode -t 1

जो कुछ इस तरह से आउटपुट करता है:

System Information
    Manufacturer: Dell Inc.
    Product Name: PowerEdge R210 II
    Version: Not Specified
    Serial Number: 1234ABC
    UUID: ABABABAB-0101-2323-5A5A-ABCDEF123456
    Wake-up Type: Power Switch
    SKU Number: Not Specified
    Family: Not Specified

1
# dmidecode -t baseboard

यदि निर्माता द्वारा समर्थित है, तो आपको जानकारी देगा।

dmidecode एक कंप्यूटर का DMI (कुछ कहते हैं SMBIOS) तालिका सामग्री को मानव-पठनीय प्रारूप में डंप करने का एक उपकरण है। इस तालिका में सिस्टम के हार्डवेयर घटकों, साथ ही साथ अन्य उपयोगी जानकारी जैसे कि सीरियल नंबर और BIOS संशोधन के विवरण शामिल हैं। इस तालिका के लिए धन्यवाद, आप वास्तविक हार्डवेयर की जांच किए बिना इस जानकारी को पुनः प्राप्त कर सकते हैं। हालांकि यह रिपोर्ट की गति और सुरक्षितता के मामले में एक अच्छा बिंदु है, लेकिन यह प्रस्तुत जानकारी को संभवतः अविश्वसनीय भी बनाता है।


grepउद्धरण की आवश्यकता है।
जोशुआ डेटलर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.