- Home »

Просмотр устройств PCI и 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.
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.