Home » Просмотр устройств PCI и USB: lspci и lsusb
Просмотр устройств PCI и USB: lspci и lsusb

Просмотр устройств PCI и USB: lspci и lsusb

Если ты хоть раз настраивал сервер — неважно, голый железный, VPS или облако, — ты наверняка сталкивался с моментом, когда нужно понять: «А что там вообще за железо стоит?» Или вдруг внезапно отвалилась сетевая карта, и ты теряешься: «А как она там вообще определяется?» Или хочешь быстро прикинуть, какие USB-устройства подключены, не залезая под стол. Для всех этих задач есть две старые, но до сих пор незаменимые утилиты — lspci и lsusb. Эта статья — твой быстрый, практичный гайд по их использованию: как посмотреть, как настроить, как не наступить на грабли и даже как автоматизировать всё это дело.

Зачем тебе знать, что там за PCI и USB?

В мире серверов и хостинга — особенно если ты арендуешь VPS или выделенный сервер (например, VPS или dedicated) — важно понимать, что именно у тебя «под капотом». Это нужно для:

  • Диагностики проблем с оборудованием (например, не видится сетевая карта, не работает USB-ключ защиты).
  • Планирования апгрейдов, проверки совместимости драйверов.
  • Мониторинга и автоматизации: чтобы скрипты могли сами проверять наличие нужного железа.
  • Безопасности: например, чтобы убедиться, что никто не воткнул левые флешки или Wi-Fi адаптеры.

Почему это важно — и в чём проблема?

Ты удивишься, но даже крупные дата-центры иногда не могут сразу дать точную инфу, что именно воткнуто в твой сервер. Виртуалки? Там вообще может быть эмуляция. А если у тебя bare metal, то после апгрейда или замены железа можно получить сюрпризы. А ещё — драйверы. Некоторые устройства не видны без правильных драйверов, а иногда наоборот — левые устройства могут вызывать сбои.

Поэтому уметь быстро и просто посмотреть список устройств PCI и USB — это не «гиковская фишка», а базовый навык любого, кто работает с серверами или занимается хостингом.

Как это работает? Алгоритмы и структура

PCI и USB — что это вообще?

PCI (Peripheral Component Interconnect) — это стандарт для подключения устройств внутри компьютера: видеокарты, сетевые карты, RAID-контроллеры и т.д.
USB (Universal Serial Bus) — интерфейс для внешних устройств: флешки, мыши, принтеры, кардридеры, аппаратные ключи и всё, что можно воткнуть в разъём.

В Linux вся информация о PCI- и USB-устройствах хранится в специальных системных файлах (/sys/bus/pci/devices/, /sys/bus/usb/devices/ и /proc/bus/usb/). Утилиты lspci и lsusb просто красиво и понятно выводят эти данные.

lspci: что, где и как

lspci — часть пакета pciutils. Она опрашивает шину PCI и показывает список всех найденных устройств. Причём не только «сырые» ID, но и человекочитаемые названия (если установлен файл базы данных pci.ids).

  • Работает быстро, не требует root-доступа (но для некоторых опций — да).
  • Показывает: тип устройства, вендор, модель, ревизию, иногда — драйвер.
  • Можно выводить инфу в разных форматах: коротко, подробно, в виде дампа, для автоматизации.

lsusb: USB под микроскопом

lsusb — часть пакета usbutils. Показывает всё, что висит на USB-шине: от мышек до аппаратных ключей защиты. Тоже использует базу usb.ids для красивых названий.

  • Показывает: Bus, Device, ID, вендор, модель, иногда — класс устройства.
  • Может выводить подробную инфу по каждому устройству (с дескрипторами).
  • Работает быстро, не требует root-доступа.

Как быстро и просто всё настроить? Практика и команды

Сначала убедись, что у тебя установлены нужные пакеты:


# Для Debian/Ubuntu:
sudo apt update
sudo apt install pciutils usbutils

# Для CentOS/RHEL:
sudo yum install pciutils usbutils

# Для Arch:
sudo pacman -S pciutils usbutils

Базовые команды

Вот самые частые команды, которые реально пригодятся:


# Посмотреть все PCI-устройства
lspci

# Посмотреть подробно каждое устройство (очень полезно!)
lspci -v

# Информация о драйверах и ядре (для диагностики)
lspci -k

# Вывести инфу в виде дампа (для разработчиков и параноиков)
lspci -vvv

# Найти только сетевые карты
lspci | grep -i eth

# Посмотреть все USB-устройства
lsusb

# Подробная инфа по каждому USB-устройству
lsusb -v

# Найти только флешки или ключи (по вендору или типу)
lsusb | grep -i flash

Обновление баз данных

Чтобы lspci и lsusb показывали красивые названия, а не только ID, обнови базы данных:


# Для PCI
sudo update-pciids

# Для USB
sudo update-usbids

Эти команды качают свежие списки устройств с pci-ids.ucw.cz и linux-usb.org.

Автоматизация и скрипты

  • Можно парсить вывод lspci и lsusb в bash-скриптах для мониторинга.
  • Используй lspci -nn и lsusb -v для получения ID устройств (удобно для поиска драйверов).
  • Для автодиагностики — сравнивай текущий вывод с эталонным (например, после перезагрузки или обновления ядра).

Примеры, кейсы и сравнение

Сценарий lspci lsusb Рекомендация
Не видится сетевая карта после обновления ядра Проверить через lspci -k: видна ли карта, какой драйвер используется Не применимо Сравни вывод до/после, ищи вендор/драйвер
Не определяется USB-ключ защиты Не применимо Смотреть lsusb, искать по ID Проверь, видит ли ядро ключ, ищи драйвер по ID
Автоматическое оповещение при появлении новых устройств Скрипт парсит lspci, сравнивает с эталоном Скрипт парсит lsusb, сравнивает с эталоном Настрой cron или systemd-timer для проверки
Проверить, есть ли поддержка PCIe Gen4 Смотреть ревизии и инфу по шине Не применимо Сверь с документацией на чипсет

Положительный кейс

Ты взял в аренду новый VPS, не знаешь, какая там сеть. Запускаешь:


lspci | grep -i eth

Видишь: Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection. Отлично, можно ставить драйвер ixgbe и разгонять сеть.

Отрицательный кейс

Переехал на другой сервер. После перезагрузки не видится флешка с резервной копией. lsusb показывает только стандартные хабы, а твоей флешки нет. Значит, либо не воткнута, либо порт умер, либо проблема с питанием.

Ошибки новичков, мифы и похожие решения

  • Миф: lspci и lsusb показывают только физические устройства.
    Реальность: Они показывают всё, что видит ядро, включая виртуальные устройства (например, эмулированные в KVM/QEMU).
  • Ошибка: Думать, что если устройство не видно в lspci/lsusb, значит оно не работает.
    На самом деле: Может быть проблема с драйвером, правами доступа, или устройство вообще не подключено.
  • Миф: lspci и lsusb требуют root-доступ.
    Реальность: Для большинства опций — нет, но для дампов и некоторых подробностей — да.
  • Похожее ПО: hwinfo, lshw, inxi — эти утилиты дают более подробную инфу, но часто медленнее и не всегда есть на сервере по умолчанию.

Статистика и сравнение с другими решениями

Утилита PCI USB Поддержка автоматизации Детализация Скорость
lspci Да Нет Высокая (парсинг вывода) Средняя/Высокая Очень быстрая
lsusb Нет Да Высокая Средняя/Высокая Очень быстрая
lshw Да Да Средняя Очень высокая Медленная
hwinfo Да Да Средняя Очень высокая Медленная

Официальные страницы: pciutils, linux-usb.org, lshw, hwinfo.

Интересные факты и нестандартные применения

  • lspci можно использовать для поиска устройств с поддержкой SR-IOV (виртуализация сетевых карт) — актуально для VPS и облаков.
  • Можно мониторить появление новых USB-устройств через watch lsusb — удобно для поиска «шпионских» флешек или Wi-Fi адаптеров.
  • lsusb полезен для анализа проблем с USB-питанием: если устройство не появляется, возможно, не хватает тока.
  • lspci и lsusb поддерживают вывод в JSON через сторонние парсеры — можно интегрировать в системы мониторинга.
  • Через lspci -x можно получить дамп PCI-конфигурации — это используют для отладки драйверов и поиска багов железа.
  • lsusb может показать, к какому USB-хабу подключено устройство — удобно для сложных серверных корпусов с кучей портов.

Новые возможности для автоматизации и скриптов

  • Проверка железа при старте сервера: скрипт сравнивает вывод lspci/lsusb с эталоном и шлёт алерт, если что-то изменилось.
  • Автоматическая установка драйверов: скрипт парсит ID устройств и ищет нужные пакеты.
  • Безопасность: мониторинг появления новых USB-устройств и автоматическое отключение подозрительных через udev-правила.
  • Инвентаризация серверов: скрипт собирает инфу со всех машин и складывает в базу.
  • Диагностика после обновлений: скрипт проверяет, не «отвалились» ли какие-то устройства после патчей ядра.

Выводы и рекомендации

Если ты хочешь реально понимать, что происходит с твоим сервером — будь то VPS, облако, Docker-хост, или выделенное железо — умей пользоваться lspci и lsusb. Это быстрый, простой и надёжный способ узнать, что у тебя за железо, какие устройства работают, и где искать проблему.

Рекомендации:

  • Всегда держи пакеты pciutils и usbutils в актуальном состоянии.
  • Обновляй базы pci.ids и usb.ids — так ты будешь видеть новые устройства с нормальными названиями.
  • Используй lspci -k и lsusb -v для диагностики сложных случаев.
  • Автоматизируй мониторинг: скрипты с lspci и lsusb реально экономят время.
  • Не забывай про безопасность: мониторь появление новых USB-устройств и подозрительных PCI-девайсов.

Всё просто: если хочешь, чтобы твой сервер работал как надо — знай, что у него внутри. Для этого тебе и нужны lspci и lsusb. А если хочешь пощупать новое железо — смотри VPS или dedicated.


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked