Есть ли какой-либо инструмент, который показывает иерархию устройств в Linux?

Вопрос или проблема

Я хочу увидеть древовидную структуру всех устройств в Linux. В Windows я могу использовать Диспетчер устройств с функцией “показать по подключению”. BSD-системы сообщают такие данные в dmesg в формате “дочерний элемент у родительского” и имеют утилиты, такие как devinfo, так что легко понять отношения между устройствами.

В Linux эта информация хранится в /sys, но её формат не дружелюбен для пользователя.

Я могу запрашивать каждый шина с помощью lspci, lsusb, lsscsi и т. д., но есть ли что-то, что я могу использовать для воссоздания полной иерархии устройств? lshw показывает информацию о шине, но не о устройствах.

Утилиты на основе lshw предоставят вам такой вывод. Для полного вывода выполните его от имени root.

Скорее всего, вам понадобится gtk-lshw. На моей системе он выглядит так:

gtk-lshw

Здесь вы можете увидеть различные сущности (такие как USB контроллер, PCI мост), которые написаны жирным шрифтом и имеют отметку, указывающую на то, что они содержат подэлементы, в которые вы можете углубиться двойным щелчком.

Вы также можете выполнить sudo lshw -html > /tmp/devices.html и затем открыть html файл в браузере, хотя в настоящее время (по состоянию на версию B.02.18) его дизайн неудобен.

Примечание: есть небольшая ошибка в том, что кэши L1, L2, L3 отображаются так, как будто они принадлежат материнской плате, в то время как на самом деле они являются частью процессора. Кроме этого, древо выглядит корректно.

Ответ или решение

Инструменты для отображения иерархии устройств в Linux

В мире операционных систем Linux существует несколько инструментов, которые могут помочь вам визуализировать иерархию устройств в системе. Это может быть особенно полезно при диагностике или анализе конфигурации вашего оборудования. В отличие от Windows, где используются такие утилиты, как "Диспетчер устройств", Linux предлагает свои решения.

1. Использование lshw

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

  • Установка: В большинстве дистрибутивов Linux lshw можно установить с помощью пакетного менеджера. Например, для Ubuntu вы можете использовать команду:

    sudo apt-get install lshw
  • Использование: Для получения подробной информации об устройствах выполните команду:

    sudo lshw

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

    sudo apt-get install gtk-lshw

    При запуске gtk-lshw на экране появится визуализированная структура, где основные компоненты (например, USB-контроллеры или PCI-шины) будут выделены жирным шрифтом. Доступ к подчиненным устройствам можно получить двойным щелчком мыши.

  • HTML-вывод: Вы можете сохранить вывод lshw в формате HTML для удобства просмотра в веб-браузере:

    sudo lshw -html > /tmp/devices.html

    Обратите внимание, что некоторые версии могут иметь не совсем удобный дизайн данного вывода.

2. Дополнительные утилиты

  • lspci: Этот инструмент позволяет посмотреть на устройства, подключенные по шине PCI. Чтобы вывести список всех PCI-устройств, выполните:

    lspci
  • lsusb: Для отображения устройств, подключенных по USB, используйте команду:

    lsusb
  • lsscsi: Утилита для отображения SCSI-устройств:

    lsscsi

Каждое из этих средств предоставляет информацию, которая может быть полезной для анализа системы, но они показывают информацию на более низком уровне, чем lshw.

3. Решение проблемы с иерархией

Хотя lshw является отличным инструментом для вывода информации об устройстве, он имеет небольшой недостаток — кеши L1, L2 и L3 могут отображаться как принадлежащие материнской плате, в то время как на самом деле они являются частью процессора. Несмотря на это, вся информация о подключении между устройствами в целом выглядит корректной и подходит для большинства пользователей.

Заключение

В Linux действительно существует несколько способов визуализировать иерархию устройств. Использование lshw и связанных с ним инструментов позволит вам получить комплексную и детализированную информацию о вашем аппаратном обеспечении в формате, удобном для работы. Это может значительно облегчить процессы диагностики и оптимизации системы.

Оцените материал
Добавить комментарий

Капча загружается...