Мне было интересно, есть ли какой-нибудь Linux, эквивалентный Windows Device Manager, или утилита Windows DevCon (утилита командной строки с функциями управления оборудованием).
Драйверы даже работают так же в Linux?
Спасибо!
р
Мне было интересно, есть ли какой-нибудь Linux, эквивалентный Windows Device Manager, или утилита Windows DevCon (утилита командной строки с функциями управления оборудованием).
Драйверы даже работают так же в Linux?
Спасибо!
р
Функциональные возможности, предоставляемые devcon
Windows, охватываются различными функциями и командами в Linux.
Менеджер "включай и работай" в Linux обычно udev
. udev
отвечает за распознавание аппаратных изменений, (возможно) автозагрузку модулей и создание узлов в /dev
при необходимости. Если вы хотите сделать что-то, например, смоделировать удаление USB-устройства в Linux (то, что может сделать devcon
), я думаю, следует использовать команды, которые взаимодействуют с запущенным udevd
. Я не делал этого под Linux, но вы можете начать с изучения udev
.
lsmod
отобразит все загруженные в данный момент модули ядра. Драйверы устройств являются одной из функций модуля ядра. insmod
загрузит и запустит модуль, если это возможно, и большую часть времени вызывает появление устройства в /dev
. rmmod
делает наоборот. Если вы выполните lsmod
вы заметите, что некоторые модули зависят от других, rmmod
не позволит вам удалить модуль, если что-то от него зависит. modprobe
с его опциями обрабатывает зависимости.
В Linux модули также могут быть "встроены" в ядро, и они не появятся ни в одном списке модулей. Они сразу и всегда доступны в момент загрузки ядра загрузчиком. Другой вариант - разместить модули в каталоге внутри "начального виртуального диска" (initrd
), который также загружается загрузчиком и сразу же доступен ядру при загрузке. "Установка" или "обновление" драйверов устройств может включать создание нового или обновленного ядра со встроенным модулем или добавление / обновление его в initrd, если его там нет. Большинство дистрибутивов предоставляют инструменты и утилиты для этого.
Обычно вам не нужно беспокоиться об установке или получении стороннего драйвера, если он не включен в "официальное" ядро с сайта kernel.org - поскольку модули ядра (включая драйверы) являются частью ядра, драйверы для каждого поддерживаемого устройства также включены, и обычно предоставляются с вашим дистрибутивом. Поэтому необходимость установки «драйвера, предоставляемого производителем» в Linux не очень распространена, за исключением, возможно, видео драйверов и некоторых беспроводных наборов микросхем, которые все еще имеют множество юридических ограничений в отношении технической информации, необходимой разработчикам драйверов.
lshw
может предоставить вам большую часть этой информации в древовидном формате. lspci
, lsusb
, lsscsi
и lscpu
также очень полезны. Большинство шин, таких как PCI, SCSI, USB, имеют множество пользовательских утилит, доступных в большинстве дистрибутивов Linux, которые вы можете использовать для настройки и получения информации о конкретных классах устройств (например, hdparm
). И почти все, что упомянуто в этом параграфе, и даже больше, это просто интерфейсы для различных файлов и каталогов в /proc
и /sys
; Вы хотите использовать утилиты, хотя в большинстве случаев.
Попробуйте в Linux команду: lshw-gtk, это интерфейс для lshw.
Драйверы не совпадают с Windows и Linux. Однако в некоторых случаях вы можете загрузить драйверы устройств Windows в ядро Linux.
О драйверах устройств Linux:
Драйверы могут быть включены в ядро Linux или в виде модулей. Если они являются модулями, они могут быть (не) загружены по требованию.
Вы можете найти информацию об устройствах устройства с помощью этих команд:
lspci
lsusb
Мой любимый
lspci -nn
для имен и номеров.
Посмотрите справочные страницы для следующих команд:
modprobe
rmmod
lsmod
modinfo
Короче:
modprobe загружает модуль ядра. rmmod удаляет ядро lsmod выводит список загруженных модулей. modinfo показывает информацию о конкретном модуле.
Есть также приложения с графическим интерфейсом. Я думаю, у KDE есть один в своем центре управления, который называется kinfocenter.
Надеюсь, это поможет.
Большинство драйверов устройств в Linux являются расширениями ядра. Вы можете перечислить их с помощью "lsmod", удалить их с помощью "rmmod" или загрузить с помощью "modprobe".
Вы можете посмотреть в /sys
реальное дерево устройств, для которого lsusb/lspci просто показывает сокращенное таблоидное представление.