
Ядро Linux — это основной компонент операционной системы Linux. Оно управляет ресурсами системы и служит связующим звеном между аппаратным и программным обеспечением компьютера.
Ядро Linux имеет модульную структуру. Модуль ядра, часто называемый драйвером, — это фрагмент кода, расширяющий функциональность ядра. Модули либо компилируются как загружаемые модули, либо встраиваются в ядро. Загружаемые модули могут загружаться и выгружаться в работающем ядре по запросу, без необходимости перезагрузки системы.
Как правило, модули загружаются по запросу через udev (диспетчер устройств). Однако иногда может потребоваться более тонкая настройка загрузки модулей. Например, может потребоваться загрузить модуль с дополнительными параметрами или запретить автоматическую загрузку модуля.
Вы можете вручную загрузить модуль в ядро с помощью команды modprobe или автоматически во время загрузки с помощью файлов /etc/modules или /etc/modules-load.d/*.conf .
В этой статье мы объясним, как использовать modprobe для добавления и удаления модулей из ядра Linux. modprobe является частью kmod , двоичного файла, который реализует несколько программ, используемых для управления модулями ядра Linux.
Добавление модулей ядра
Модули ядра хранятся в каталоге /lib/modules/ . Чтобы узнать версию работающего ядра , используйте команду uname -r .
Управлять модулями ядра могут только пользователи с правами администратора.
Чтобы загрузить модуль, вызовите команду modprobe , а затем укажите имя модуля:
modprobe module_name
Команда modprobe загрузит указанный модуль и все дополнительные зависимости модулей. В командной строке можно указать только один модуль.
Используйте команду lsmod , чтобы подтвердить загрузку модуля:
lsmod | grep module_name
Чтобы загрузить модуль с дополнительными параметрами, используйте синтаксис parameter=value :
modprobe module_name parameter=value
Команда принимает несколько parameter=value , разделенных пробелом.
Как правило, модуль необходимо загрузить во время загрузки системы. Это можно сделать, указав модуль и его параметры в файле в каталоге /etc/modules-load.d . Файлы должны иметь расширение .conf и могут иметь любое имя:
/etc/modules-load.d/имя_модуля.conf
option module_name parameter = value
Настройки, указанные в этих файлах, считываются udev , который загружает модули при запуске системы с помощью modprobe .
Удаление модулей ядра
Чтобы удалить модуль, вызовите команду modprobe с опцией -r , за которой укажите имя модуля:
modprobe -r module_name
modprobe также удалит неиспользуемые зависимости модулей.
При вызове с -r команда принимает в качестве аргументов несколько модулей:
modprobe -r module_name1 module_name2
Вы также можете использовать командуrmmod для выгрузки модуля из ядра Linux.
Если вы хотите предотвратить загрузку модуля ядра во время загрузки, создайте файл .conf с любым именем внутри каталога /etc/modprobe.d . Синтаксис следующий:
/etc/modprobe.d/blacklist.conf
blacklist module_name
Если вы хотите внести в черный список дополнительные модули, укажите модули в новой строке или создайте новый файл .conf .
Заключение
Команда modprobe позволяет добавлять и удалять модули ядра Linux.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Связанные руководства