Donanım modelini Linux'ta nasıl bulabilirim?


89

Bir sistemin ve ayrıca anakartın model numarasını almak için bir sistem bilgi aracı kullandım.

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

Bu durumda 2306CTOLinux'ta model numarası almanın bir yolu var mı ?



2
Netlik için, özellikle anakartın değil donanım ürünüyle ilgilendiğiniz anlaşılıyor. Örneğin, "ThinkPad X230" anakart olmayan bir bilgisayar türüdür.
Bratchley

1
Ayrıca dmesg komutunu çalıştırarak veya / var / log / dmesg * kontrol ederek ekstra paketler olmadan da bilgi alabilirsiniz.
Blake Russo

Yanıtlar:


114

dmidecode | grep -A3 '^System Information'komutunu kullanarak . Orada BIOS ve donanımdan tüm bilgileri bulacaksınız. Bunlar üç farklı makinenin örnekleridir (bu, çıktının tamamının bir kısmıdır):

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
FWIW, kullanmaktansa, belirli DMI türleri için filtreleme alışkanlığına girmek muhtemelen daha iyidir grep. Olacak genel donanım modeli için dmidecode -t1. Bu şekilde, verileri dmidecode'dan çıkarmanın basit bir yolunu buluyorsunuz ve yalnızca ortak DMI türlerini hatırlamanız gerekiyor. dmidecode -t17Grep, yanlış verileri kapattığınızda grep'in gerçekten çirkin çıktılar almasına neden olan RAM installs ( ) komutunu incelemede gerçekten yararlı olur . Ayrıca, çıktı -tdaha tamamlandı
Bratchley

@JoelDavis, daha önce bu seçeneklerin farkında değildim. Onları kullanacağım. Teşekkürler.
eppesuig

13
Not: Kök gerekir. Geçerli kullanıcının altındaki izinlere sahip olduğunuz tüm bilgileri istiyorsanız, şunu kullanın: cat /sys/devices/virtual/dmi/id/*(ve model adını ve sıralamasını normal bir kullanıcı kullanarak almanıza izin verir)
qwertzguy

Dmidecode çıktısının grep'e argüman olmadan gönderilmesi ilginçtir, ancak bilgiyi elde etmenin en etkili yolu değildir. dmidecode, 'sistem-ürün-adı' anahtar kelime dizesini belirterek OP'nin istediği şeyi tam olarak yazdırabilir: sudo dmidecode -s-sistem-ürün-adı
cjac

Eski sistemlerde bayrakların dmidecodeve hatta man sayfaların bulunmadığını belirtmeye değer . Yukarıdaki cevap, buradaki en taşınabilir Linux cevabıdır bence. -tVe -sbayraklar kesin yeni sistemlerde yararlıdır.
Joshua Detwiler

32

Deneyin sudo dmidecode -t baseboardDMI dair tam bilgi için t bir Okunabilir biçimde, sizin süpürgelik alakalı mümkün içindekiler. Sadece İçin Sistem Ürün Adı , siz (tipini kullanabilirsiniz dmidecode -slistesini almak için s trings anahtar kelimeler):

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

Anakart bilgisi için diğer ilgili seçenekler

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

sudo dmidecode -sMevcut sistem DMI dizelerinin tam bir listesini deneyin .


24

Kayıt için, bu bilgilerin çoğu, modern Linuces'te (yani, en azından 2011'den beri) / sys / devices / virtual / dmi / id adresinde ve özellikle seri numaralar dahil olmasa bile, normal kullanıcılar tarafından okunabilir durumdadır. . Orijinal posterin sorusunu cevaplamak için product_name, sistemin model adını içeren dosyadır.

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

Ve burada, iyiliğini göstermek için herhangi bir kullanıcının çalıştırabileceği, kullanışlı bir senaryo olacaktır:

#!/bin/bash

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

Hiçbir dosya adında boşluk yoktur, bu nedenle bu bilgiler awk gibi yardımcı programlar tarafından kolayca kendi belirsiz amaçlarınız için kolayca yönetilebilir!


Harika, linux tabanlı olanların çoğu, bir araç bulamazsanız, ihtiyacınız olan şeyleri (işletim sistemi, donanım bilgisi) /sysveya içinde bir yerde bulamazsınız /proc. Teşekkürler
Eduard Florinescu

2
Korku veren! Kök olmayanlar için çalışan bir çözüm!
qwertzguy

1
Bu dmi bilgilerinin yalnızca Intel tabanlı PC'ler için geçerli olabileceğini unutmayın. Linux tabanlı bir ARM bilgisayarı tarafından yönlendirilen bir ağ aygıtım var ve ne dmicode veya ne de / sys'de bulunan yol mevcut değil.
Mike S

12

Modern Linux sistemlerinde, böyle bir şeyi herhangi bir kullanıcı olarak kolayca yapabilirsiniz:

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

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

Bu aynı zamanda birlikte gönderilmeyen CoreOS için de iyi çalışıyor dmidecode.

Not : Bu, diğer cevaplarda / yorumlarda belirtilmiştir, ancak umarım burada daha görünürdür, çünkü kullanmaktan daha kolay bir yöntemdir dmidecode.



4

Buradaki herkes büyük dmidecodekomut ve -tparametre hakkında konuşur , ancak sudo lshw -shortsizinle kolayca ürün adını ve modelini de elde edersiniz:

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

Donanım bilgisi almak için diğer harika komutlar:

  • lscpu # / Proc / cpuinfo'dan daha iyi
  • lsusb [-V]
  • lsblk[-a] # df -h'den daha iyi. Cihaz Bilgilerini Engelle.
  • sudo hdparm /dev/sda1

Lshw dışında, bu komutların hiçbiri OP'nin sorduğu soruyu cevaplamıyor. Çok faydalı araçlar, evet, ama tam olarak soru kapsamında
değiller

@shadur neden beni düşürdün? Soruyu, diğer cevapların yapacağı şekilde cevaplandırıyorum ve daha sonra, herhangi bir harika gönderi için oldukça iyi olan, ekstra yararlı bilgiler sunuyorum.
Pablo A,

2

Sistem bilgi aracı inxi , bilgileri temiz ve dmidecode / / sys'in tüm kontrollerini manuel olarak yapmak zorunda kalmadan gösterir. Tam özellik listesi için man sayfasına bakın .

/ Sys olan ve olmayan sistemleri destekler, ancak / sys verileriyle, tam donanım çıktısını elde etmek için root olmanıza gerek yoktur, yaptığınız dmidecode ile.

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

Kök olarak, verileri dmidecode'dan gelmeye de zorlayabilirsiniz:

#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, çoğu GNU / Linux dağıtımının deposunda bulunur veya doğrudan betiği alıp yükleyerek doğrudan yüklenebilir.

Temel çıkış modunun örneği (-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

İnxi 3.x'te yeni çıktı formatı

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

Güzel gözüküyor. Merak ediyorum, bu aracın sistem veya kartın seri numaralarını döndürmesinin bir yolu var mı? Öyleyse, bunun gibi herhangi bir sistem incelemesi için köke ihtiyacınız yok. (Cevabın "hayır" olduğunu tahmin ediyorum).
Mike S,

/ Sys dosya sistemini yaratan linux çekirdeğindeki bir değişiklikten önce, bu şeylerin seri numaralarını root olmadan elde edebilirsiniz, ancak değişiklikten sonra, inxi'nin kontrolü dışında kalan, root olmanız gerekir ve Bunun üzerinde çalışmak için bir yolu yoktur. Açıkçası bu aptalca bir karardı ve birinin sahip olduğu bazı kötü fikirlere dayanan bir gerileme idi, ancak bu sorunu çözmek için hiçbir inxi'nin yapabileceği bir şey yoktu. sudo inxi -Mxxx her zaman dizileri döndürür. Bazı sistemlerde sudo gerektirmez, bence çekirdek sürümüne bağlı.
Lizardx

İnxi 3.0 ve daha yeni sürümlerin kullanılmadığını unutmayın -! 33 artık, --dmidecode kullanıyorlar
Lizardx

1

Kullanabilirsiniz:

dmidecode -t 1

Hangi gibi bir şey çıktı:

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

Üretici tarafından destekleniyorsa, size bilgi verecektir.

dmidecode, bilgisayarın DMI'sini (bazıları SMBIOS demek) tablo içeriklerini insan tarafından okunabilir bir biçimde bırakmak için kullanılan bir araçtır. Bu tablo, sistemin donanım bileşenlerinin bir açıklamasını ve ayrıca seri numaraları ve BIOS revizyonu gibi diğer yararlı bilgileri içerir. Bu tablo sayesinde, gerçek donanım için araştırma yapmak zorunda kalmadan bu bilgileri alabilirsiniz. Bu, raporun hızı ve güvenliği açısından iyi bir nokta olsa da, bu aynı zamanda sunulan bilginin muhtemelen güvenilmez olmasını sağlar.


greptırnak gerekir.
Joshua Detwiler

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.