Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Цилюрик О.И. Linux-инструменты для Windows-программистов
Назад Консольные команды Вперед

Команды диагностики оборудования

Классическое отличие потребностей программиста-разработчика (как, собственно, и системного администратора) от потребностей пользователя Linux состоит в том, что разработчику часто нужны средства детальной диагностики установленного в системе периферийного оборудования (диагностики по типу, по функционированию и другое). В отношении анализа всего установленного в системе оборудования, начиная с анализа производителя и BIOS — существует достаточно много команд «редкого применения», которые часто помнят только заматерелые системные администраторы, и которые не попадают в справочные руководства. Все такие команды, в большинстве, требуют прав root, кроме того, некоторые из них могут присутствовать в некоторых дистрибутивах Linux, но отсутствовать в других. Информация от этих команд в какой-то мере дублирует друг друга (а в какой-то - дополняет). Но сбор такой информации об оборудовании может стать ключевой позицией при работе с периферийными устройствами.

Ниже приводится только краткое перечисление (в порядке справки-напоминания) некоторых подобных команд (и несколько начальных строк вывода, для идентификации того, что это именно та команда) — более детальное обсуждение увело бы нас слишком далеко от наших целей. Вот некоторые такие команды:

$ lspci
...
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 01)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
...

$ lsusb 
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 004 Device 003: ID 0461:4d17 Primax Electronics, Ltd Optical Mouse 
Bus 004 Device 002: ID 0458:0708 KYE Systems Corp. (Mouse Systems) 
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
Bus 001 Device 006: ID 08ff:2580 AuthenTec, Inc. AES2501 Fingerprint Sensor 
Bus 001 Device 003: ID 046d:080f Logitech, Inc. 
Bus 001 Device 002: ID 0424:2503 Standard Microsystems Corp. USB 2.0 Hub 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

$ lshal 
Dumping 162 device(s) from the Global Device List: 
-------------------------------------------------
udi = '/org/freedesktop/Hal/devices/computer' 
  info.addons = {'hald-addon-acpi'} (string list) 
...

$ sudo lshw
notebook.localdomain
    description: Notebook 
    product: HP Compaq nc6320 (ES527EA#ACB) 
    vendor: Hewlett-Packard 
    version: F.0E 
    serial: CNU6250CFF 
    width: 32 bits 
    capabilities: smbios-2.4 dmi-2.4 
...

Детальная информация, в том числе, по банках памяти, и какие модули памяти куда установлены:

$ sudo dmidecode
# dmidecode 2.10 
SMBIOS 2.4 present. 
23 structures occupying 1029 bytes. 
Table at 0x000F38EB. 
...

Пакет smartctl (предустановлен почти в любом дистрибутиве) - детальная информация по дисковому накопителю:

$ sudo smartctl -A /dev/sda 
smartctl  5.39.1 2010-01-28 r3054 [i386-redhat-linux-gnu] (local build) 
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net 

=== START OF READ SMART DATA SECTION === 
SMART Attributes Data Structure revision number: 16 
Vendor Specific SMART Attributes with Thresholds: 
ID#  ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE 
  1 Raw_Read_Error_Rate     0x000f   100   100   046    Pre-fail  Always       -       49961 
  2 Throughput_Performance  0x0005   100   100   030    Pre-fail  Offline      -       15335665 
  3 Spin_Up_Time            0x0003   100   100   025    Pre-fail  Always       -       1 
  4 Start_Stop_Count        0x0032   098   098   000    Old_age   Always       -       7320 
...

Все такие команды имеют разветвлённую систему опций, определяющих вид затребованной информации. Все они имеют онлайновую систему подсказок (ключи -v, -h, --help), позволяющую разобраться со всем этим множеством опций.


Предыдущий раздел: Оглавление Следующий раздел:
Подсистема udev   Компиляция и сборка приложений