В Linux есть несколько замечательных утилит для получения подробной информации об аппаратных компонентах компьютера. Вы получить список компонентов компьютера и сведения об их характеристиках.

lshw сообщает о конфигурации памяти, версиях прошивки, конфигурации материнской платы, версии и скорости процессора, конфигурации кэша, скорости шины, аппаратных связях, подключенных устройствах, разделах и файловых системах;

hwinfo выводит сведения о мониторе компьютера, RAID-массивах, конфигурации памяти, процессоре, прошивке, конфигурации материнской платы, кэшах, скоростях шины, подключенных устройствах, разделах и файловых системах.

Команда lsusb проверяет шины USB и выводит информацию о подключенных к ним устройствах.

lspci проверяет шины PCI и выводит информацию о подключенных к ним устройствах.

lsblk перечисляет физические диски, разделы и файловые системы.

Команда lscpu выводит информацию о процессоре.

Сбор информации с помощью команды lshw

sudo lshw
ubik-ms
    description: Desktop Computer
    product: MS-7C94 (To be filled by O.E.M.)
    vendor: Micro-Star International Co., Ltd.
    version: 1.0
    serial: To be filled by O.E.M.
    width: 64 bits

Вы получите список в несколько сотен строк, включающий версию прошивки, установленные драйверы, поддерживаемые возможности, серийные номера, номера версий и информацию о шине. Команда lshw не проверяет устройства, подключенные через беспроводной интерфейс, например беспроводной принтер или смартфон, подключенный через Bluetooth, но сообщит об имеющихся беспроводных интерфейсах и интерфейсах Bluetooth.

В виде дерева путей к оборудованию:

sudo lshw -short
            system         MS-7C94 (To be filled by O.E.M.)  
/0          bus            MAG B550M MORTAR WIFI (MS-7C94)  
/0/0        memory         64KiB BIOS  
/0/11       memory         16GiB System Memory  
/0/11/0     memory         3200 MHz (0,3 ns) [empty]  
/0/11/1     memory         8GiB DIMM DDR4 Synchronous Unbuffered
/0/11/2     memory         3200 MHz (0,3 ns) [empty]  
/0/11/3     memory         8GiB DIMM DDR4 Synchronous Unbuffered 
/0/13       memory         384KiB L1 cache  
/0/14       memory         3MiB L2 cache  
/0/15       memory         16MiB L3 cache  
/0/16       processor      AMD Ryzen 5 5600G with Radeon Graphics

Столбец H/W path содержит аппаратные пути, аналогичные путям в файловой системе. /0 — это /system/bus, что означает компьютер и материнскую плату. Все последующие записи отображаются в виде дерева, похожего на дерево файлов. Как можно видеть в выводе примера, /0/0 — это /system/bus/BIOS memory, /0/11/0 — первый слот ОЗУ, а /0/11/1 — второй слот ОЗУ. Эти пути соответствуют физическим соединениям на материнской плате и обычно называются слотами или разъемами, хотя большинство из них жестко впаяны в материнскую плату и не имеют разъемов, в которые можно было бы вставлять карты расширения.

Или представление по шинам:

sudo lshw -businfo
cpu@0                             processor      AMD Ryzen 5 5600G with Radeon Graphics
pci@0000:00:00.0                  bridge         Renoir/Cezanne Root Complex
pci@0000:00:00.2                  generic        Renoir/Cezanne IOMMU
pci@0000:00:02.1                  bridge         Renoir/Cezanne PCIe GPP Bridge

Преобразуйте вывод в формат HTML, XML или JSON и сохраните его в файл, чтобы потом обработать полученные результаты с помощью своих любимых сценариев анализа:

sudo lshw -html -class bus -class cpu | tee lshw.html

sudo lshw -xml -class printer -class display -class input | tee lshw.xml

sudo lshw -json -class storage | tee lshw.json

Добавьте параметр -sanitize, чтобы исключить из вывода конфиденциальную информацию, такую как IP-адреса и серийные номера, чтобы потом ее без опаски можно было передать службе технической поддержки:

sudo lshw -json -sanitize -class bus -class cpu | tee lshw.json

Главная страница Hardware Lister (lshw)

https://www.ezix.org/project/wiki/HardwareLiSter

Определение оборудования, включая дисплеи и дисковые массивы RAID, с помощью команды hwinfo

Команда hwinfo сообщает подробные сведения об оборудовании, включая дисплеи и массивы RAID. Следующий пример демонстрирует получение информации о дисплее:

hwinfo --monitor
Hardware Class: monitor
Model: "VIEWSONIC VX2450 SERIES"
Vendor: VSC "VIEWSONIC"
Device: eisa 0xe226 "VX2450 SERIES"

Полный вывод включает все поддерживаемые разрешения экрана, дату изготовления, диапазоны синхронизации, тип монитора и частоты обновления.

Еще одна важная функция — обнаружение устройств RAID. По умолчанию команда hwinfo не пытается обнаруживать их, поэтому используйте параметр --listmd:

hwinfo --listmd

Можно получить сводку об имеющемся оборудовании:

hwinfo --short
keyboard:
	/dev/input/event4 CM Storm QuickFire Rapid keyboard
mouse:
	/dev/input/event5 CM Storm QuickFire Rapid keyboard
	/dev/input/mice Logitech Optical Wheel Mouse
printer:
	Brother Industries MFC-J5945DW
monitor:
	VIEWSONIC VX2450 SERIES
graphics card:
	Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated

Команда hwinfo выводит полную и полезную информацию об устройствах. Например, для сетевых интерфейсов она показывает их пути /sys, драйверы, состояние канала и MAC-адреса. Для приводов компакт-дисков выводятся название модели, номер версии, драйверы, файлы устройств, скорость привода, список функций и информация о наличии диска в приводе.

Определение оборудования PCI с помощью команды lspci

Список всех устройств PCI:

lspci
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller
(rev 06)
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen
Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor
HD Audio Controller (rev 06)

Чтобы получить больше информации, можно увеличить подробность вывода:

lspci -v
lspci -vv
lspci -vvv

Команда lspci читает информацию с шины PCI, к которой подключены встроенные компоненты на материнской плате, а также карты расширения, вставленные в слоты PCI.

Команда lspci отображает дополнительную информацию из собственной базы данных идентификаторов оборудования, например производителей, устройств, классов и подклассов. Эта информация хранится в текстовом файле, но в разных дистрибутивах — в разных местах. В Ubuntu он находится в /usr/share/misc/pci.ids, в Fedora — в /usr/share/hwdata/pci.ids, а в openSUSE — в /usr/share/pci.ids.

Аббревиатура PCI расшифровывается как peripheral component interconnect («соединение периферийных компонентов»). PCI — это локальная аппаратная шина, то есть средство, позволяющее различным аппаратным устройствам компьютера взаимодействовать с ядром Linux. Команда lspci в первую очередь пытается обнаружить контроллеры, шины и некоторые отдельные устройства, в том числе:

  • контроллеры SATA;
  • аудиоконтроллеры и аудиоустройства;
  • видеоконтроллеры и видеоустройства;
  • контроллеры Ethernet;
  • контроллеры USB;
  • контроллеры устройств связи;
  • контроллеры RAID;
  • интегрированные устройства для чтения карт SD/MMC;
  • контроллеры PCI FireWire.

За долгие годы сменилось несколько протоколов PCI. Текущий стандарт — PCIe, PCI Express, опубликованный в 2003 году. Он обратно совместим со всеми устаревшими протоколами PCI и заменяет PCI, PCI-X и AGP.

PCIe существенно отличается от предшествующих протоколов, поскольку, как и AGP, каждое устройство получает свой отдельный канал. Старые протоколы использовали общую параллельную шину и были значительно медленнее.

Параметр -k показывает используемые, а также доступные модули ядра для каждого устройства. Обычно используемые и доступные модули совпадают, но иногда бывает доступно несколько модулей.

Следующий пример запрашивает данные для контроллера Ethernet:

lspci -kd ::0200
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
	Subsystem: ASRock Incorporation Ethernet Connection (2) I218-V
	Kernel driver in use: e1000e
	Kernel modules: e1000e

Вывод списка разделов и жестких дисков с помощью команды lsblk

list block devices — «список блочных устройств»

lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda    252:0    0   30G  0 disk
├─vda1 252:1    0    1M  0 part
└─vda2 252:2    0   30G  0 part /

Ниже показано, как можно вывести метки файловых систем и идентификаторы UUID выбранного устройства:

lsblk -f /dev/vda
NAME FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
vda
├─vda1
│
└─vda2
     ext4   1.0         9c32f6b6-779b-4319-b576-165bf47e9034   14.9G    45% /

Список только SCSI-устройств и их типы:

lsblk -S
NAME HCTL TYPE VENDOR MODEL REV TRAN
sda 0:0:0:0 disk ATA ST4000DM000-1F21 CC54 sata
sdb 2:0:0:0 disk ATA SAMSUNG HD204UI 0001 sata
sdc 6:0:0:0 disk Seagate BUP SL 0304 usb
sr0 4:0:0:0 rom ATAPI iHAS424 B GL1B sata

Сочетания sda и sdb обозначают жесткие диски SATA, а sdc — USB-накопитель. В Linux устройства хранения данных, такие как жесткие диски SATA и флеш-накопители, обслуживаются драйвером SCSI. Сочетания sr0, rom и ATAPI иденифицируют проигрыватель CD/DVD.

  • MAJ:MIN обозначает старший и младший номера. Старший определяет категорию, например, 8 соответствует устройствам sd, а младший обозначает каждое устройство в последовательности. (Запустите lsblk -l, чтобы увидеть древовидную иерархию устройств.)
  • RM сообщает, является ли это устройство съемным, значение 1 в данном столбце соответствует съемным устройствам.
  • SIZE — размер блочного устройства.
  • RO = 0 означает, что устройство доступно не только для чтения, а 1 — только для чтения. Привод CD/DVD sr0 доступен для чтения и записи, но команда lsblk не может сказать, доступен ли для записи сам диск в устройстве sr0.
  • TYPE определяет тип диска.
  • MOUNTPOINT показывает пути к смонтированным устройствам.

Получение информации о процессоре

lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         40 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  4
  On-line CPU(s) list:   0-3
Caches (sum of all):
  L1d:                   128 KiB (4 instances)
  L1i:                   128 KiB (4 instances)
  L2:                    8 MiB (2 instances)
  L3:                    16 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-3

Как показано в предыдущем примере, процессор имеет четыре кэша. Используйте параметр -C, чтобы получить больше информации о кэше:

lscpu -C
NAME ONE-SIZE ALL-SIZE WAYS TYPE        LEVEL  SETS PHY-LINE COHERENCY-SIZE
L1d       32K     128K    8 Data            1    64        1             64
L1i       32K     128K    8 Instruction     1    64        1             64
L2         4M       8M   16 Unified         2  4096        1             64
L3        16M      16M   16 Unified         3 16384        1             64

Здесь можно видеть четыре кэша, используемых четырьмя физическими ядрами процессора. Кэш L1i предназначен для кэширования инструкций процессора, а L1d — данных. L2 и L3 хранят только данные.


Источники


Комментарии в Telegram-группе!