В нашей продолжающейся серии статей о
системе Fedora Linux мы рассмотрим основные утилиты командной строки, которые предоставляют информацию об оборудовании и
состоянии системы. После нашего предыдущего обсуждения lscpu
и lsusb
мы теперь обратим внимание на dmidecode
и lspci
.
dmidecode
- Расшифровка таблицы DMI#
dmidecode
— это утилита командной строки для получения подробной информации об оборудовании системы. Она считывает
таблицу DMI (Desktop Management Interface), содержащую
данные, предоставленные прошивкой системы. Эти данные включают сведения о BIOS системы, процессоре, памяти и других
аппаратных компонентах. Используя dmidecode
, вы можете получить представление о конфигурации оборудования без
необходимости присутствовать на месте или открывать корпус системы.
Пример использования#
Для начала давайте выполним базовую команду dmidecode
, чтобы получить обзор таблицы DMI системы:
Эта команда выводит полный список записей таблицы DMI, который может оказаться огромным.
Чтобы сузить вывод до конкретной информации, можно использовать различные параметры, в частности, определяя тип с
помощью -t число
:
1
| $ sudo dmidecode -t number
|
где число - целое число. Ниже приведен список доступных чисел из man dmidecode
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| [... output omitted for readability ...]
The SMBIOS specification defines the following DMI types:
Type Information
────────────────────────────────────────────
0 BIOS
1 System
2 Baseboard
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
40 Additional Information
41 Onboard Devices Extended Information
42 Management Controller Host Interface
Additionally, type 126 is used for disabled entries and type 127 is an end-of-table marker. Types 128 to 255 are for OEM-specific data. dmidecode will display these entries by default, but it can only decode them when the vendors have contributed documentation or code for them.
[... further output omitted for readability ...]
|
Пример 1: Получение информации о BIOS#
Чтобы получить подробную информацию о BIOS, используйте опцию -t
, за которой укажите номер типа информации BIOS (
введите 0
):
Эта команда выводит такую информацию, как версия BIOS, дата его выпуска и поставщик BIOS. Пример вывода (здесь
используется ThinkPad T480S
):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| $ sudo dmidecode -t 0
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.
Handle 0x000B, DMI type 0, 24 bytes
BIOS Information
Vendor: LENOVO
Version: N22ET80W (1.57 )
Release Date: 02/27/2024
Address: 0xE0000
Runtime Size: 128 kB
ROM Size: 16 MB
Characteristics:
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
3.5"/720 kB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 1.57
Firmware Revision: 1.23
|
Пример 2: Получение информации о материнской плате и памяти#
Для получения конкретных сведений о материнской плате вы можете запросить тип 2
и тип 17
для информации о памяти.
Будут предоставлены сведения о модулях памяти, включая размер (объем), скорость и производителя. Эта информация особенно
полезна при обновлении или устранении неполадок системной памяти или если вам нужно купить дополнительную совместимую
оперативную память для сервера, которые были собраны не вами.
Реальный пример небольшого лабораторного сервера с четырьмя планками памяти:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| $ sudo dmidecode -t 2,17
[... output omitted for readability ...]
Manufacturer: Supermicro
Product Name: X11SPL-F
Version: 1.02
[... output omitted for readability ...]
Handle 0x0029, DMI type 17, 84 bytes
Memory Device
Array Handle: 0x0025
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 64 GB
Form Factor: DIMM
Set: None
Locator: DIMMB1
Bank Locator: P0_Node0_Channel1_Dimm0
Type: DDR4
Type Detail: Synchronous Registered (Buffered)
Speed: 2933 MT/s
Manufacturer: Samsung
Serial Number: 167D51E1
Asset Tag: DIMMB1_AssetTag (date:22/38)
Part Number: M393A8G40MB2-CVF
Rank: 2
Configured Memory Speed: 2400 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
Memory Technology: DRAM
Memory Operating Mode Capability: Volatile memory
Firmware Version: 0000
Module Manufacturer ID: Bank 1, Hex 0xCE
Module Product ID: Unknown
Memory Subsystem Controller Manufacturer ID: Unknown
Memory Subsystem Controller Product ID: Unknown
Non-Volatile Size: None
Volatile Size: 64 GB
Cache Size: None
Logical Size: None
$ sudo dmidecode -t 17 | grep -E "(Manufacturer|Part Number):"
Manufacturer: Samsung
Part Number: M393A8G40MB2-CVF
Manufacturer: Samsung
Part Number: M393A8G40MB2-CVF
Manufacturer: Samsung
Part Number: M393A8G40MB2-CVF
Manufacturer: Samsung
Part Number: M393A8G40MB2-CVF
|
Используя эту простую команду, легко определить, какое оборудование используется. Эта информация особенно полезна, когда
необходимо обновить или заменить оборудование.
lspci
- Список устройств PCI#
Команда lspci
используется для вывода списка всех устройств PCI в системе.
Устройства PCI (Peripheral Component Interconnect)
включают в себя сетевые карты, видео карты, контроллеры USB и многое другое. Эта команда обеспечивает снимок списка
устройств, подключенных к шине PCI системы, предлагая подробный обзор их конфигурации и состояния.
lspci
не требует расширенных привилегий, для определения полезной информации достаточно обычного пользователя.
Пример использования#
Простое выполнение команды lspci
выводит список всех устройств PCI:
Для получения более подробной информации о конкретном устройстве вы можете использовать опцию -v
(подробный вывод):
Пример 1: Поиск информации о видеокарте#
Чтобы найти подробную информацию о видеокарте, вы можете отфильтровать вывод lspci
с помощью grep
. Пример вывода (
здесь используется ThinkPad T480S
):
1
2
| $ lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
|
Пример 2: Проверьте, какой драйвер ядра используется вашим оборудованием#
Чтобы узнать, какой драйвер ядра используется каждым устройством, можно использовать опцию -k
. Это выводит список
драйверов, используемых для устройства PCI, что может быть полезно для устранения неполадок, связанных с драйверами,
особенно благодаря возможности поиска проблем в сети с использованием имени драйвера и модели вашего оборудования.
Пример вывода (здесь используется ThinkPad T480S
):
1
2
3
4
5
6
7
8
9
10
11
12
13
| $ lspci -k
[... output omitted for readability ...]
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
Subsystem: Lenovo Device 2258
Kernel driver in use: i915
Kernel modules: i915
[... output omitted for readability ...]
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-V (rev 21)
Subsystem: Lenovo Device 2258
Kernel driver in use: e1000e
Kernel modules: e1000e
|
Как вы можете видеть, видеокарта использует
драйвер drm/i915 Intel GFX Driver, а сетевая
карта - e1000e.
Заключение#
Команды dmidecode
и lspci
— это мощные инструменты для извлечения подробной информации об оборудовании из системы
Linux. Несмотря на свою простоту, обе команды предоставляют сведения о конфигурации и состоянии системы. Независимо от
того, устраняете ли вы неполадки, оптимизируете или просто любопытствуете, эти инструменты предоставляют ценные данные,
которые помогут вам лучше понять и управлять средой Linux. Увидимся в следующий раз, когда мы рассмотрим более полезные
инструменты командной строки для листинга и информации и как их использовать.