Как быстро вытащить всю подноготную о железе сервера в Linux

25 авг 2026
329
112
16
1 месяц

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

Обычно в ход идет привычный набор разрозненных команд: lspci, lsusb, dmidecode, lscpu или чтение файлов в /proc. В итоге сидишь и склеиваешь общую картину в голове по кусочкам.

Утилита lshw (Hardware Lister) решает эту рутину целиком. Она собирает данные о конфигурации компьютера в единое дерево оборудования. Причем делает это не только в консоли, но и выгружает всё в готовые форматы вроде XML или HTML.

Что умеет lshw

Программа сканирует систему через несколько источников: опрашивает DMI (SMBIOS) на x86 и EFI, заглядывает в CPUID, парсит списки шин PCI/AGP, USB, SCSI, IDE/ATA, а на архитектуре PowerPC читает дерево устройств OpenFirmware.

В результате на выходе получается детальный отчет, где расписано железо:

Реклама
  • Точная раскладка оперативной памяти: тайминги, объем каждого модуля, занятые слоты и поддерживаемый максимум.
  • Версия прошивки BIOS/UEFI и ревизия материнской платы.
  • Конфигурация процессора, поддерживаемые инструкции, частота шины и размеры кэшей всех уровней.
  • Контроллеры накопителей, сетевые карты и подключенная периферия с указанием используемых драйверов ядра.

Отдельный плюс в том, что утилита не просто выдает сырой ID устройства, а подтягивает понятные названия из локальных баз hwdata и /usr/share/misc/.

Форматы вывода и практические сценарии

Обычный текстовый вывод lshw иногда кажется слишком длинным, если запустить команду без параметров. Но у нее есть гибкие флаги, которые сильно упрощают жизнь администраторам и разработчикам инфраструктуры.

Компактная сводка

Когда нужно быстро оценить общую картину без бесконечной простыни текста, выручает краткий режим:

sudo lshw -short

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

Генерация отчетов в HTML

Если нужно передать инвентаризацию коллегам или прикрепить состояние сервера к тикету, можно собрать красивый HTML-файл одной командой:

sudo lshw -html > server_spec.html

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

Автоматизация через XML и JSON

Для скриптов инвентаризации или автоматического аудита машин утилита умеет отдавать сырые структурированные данные:

sudo lshw -xml > hardware.xml

Этот XML легко распарсить на Python или загнать в базу данных CMDB при настройке нового сервера.

Сборка и особенности под капотом

Проект написан на C++ и существует очень давно. Код компилируется даже старыми версиями компиляторов и не требует тяжелых зависимостей.

Собрать бинарник из исходников можно буквально за пару секунд:

make
sudo make install

Если вы собираете минималистичный образ для восстановления системы (rescue disk), lshw можно скомпилировать статически или сжать через UPX, чтобы бинарник весил копейки:

make static
make compressed

Для любителей графического интерфейса доступна сборка lshw-gtk (собирается через make gui), но на практике консольной версии более чем достаточно.

Кому пригодится

Утилита вряд ли нужна тем, кто работает исключительно с контейнерами или серверлесс-функциями. Но если вы настраиваете bare-metal серверы, собираете домашний сервер, диагностируете проблемы с определением планок памяти или пишете скрипты для инвентаризации парка машин, lshw экономит кучу времени. Достаточно один раз запустить ее с правами root, чтобы не гадать, какая именно железка установлена в корпусе.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.