Загрузка и выгрузка модулей в Linux

В этой статье я приведу пример ручной и автоматической загрузки/выгрузки моделей в Linux.

Сначала переключимся на root пользователя если не под ним, например в Ubuntu это можно сделать так:

sudo -i

Посмотрим список загруженных модулей:

lsmod

Посмотреть загружен ли конкретный модуль можно так (где NAME — имя модуля):

lsmod | grep NAME

Для загрузки/выгрузки модуля используются команды:

modprobe NAME
modprobe -r NAME

Когда выполняется команда загрузки модуля, modprobe ищет его в директории:

/lib/modules/$(uname -r)

Можно посмотреть какие есть например так:

ls /lib/modules/$(uname -r)
ls /lib/modules/$(uname -r)/kernel/net/netfilter/

Для загрузки/выгрузки модуля из другой директории можно выполнить команды:

insmod /path/to/module/name.ko
rmmod /path/to/module/name.ko

Посмотреть информацию о модуле и возможные параметры запуска можно так:

modinfo NAME

Можно посмотреть конкретную информацию о модуле, например где он находится:

modinfo --filename NAME

Чтобы модули запускались в самом начале запуска системы, то их нужно прописать в файл /etc/modules.conf, а чтобы запускались в последнюю очередь после запуска всех служб, то в файл /etc/rc.local.
Помимо файла /etc/modules.conf есть также директория /etc/modprobe.d/, где находятся подобные файлы с расширением .conf.

Например в rc.local модули прописываются так:

/sbin/modprobe NAME

В файле modules.conf прописываются так:

nf_nat_ftp

Чтобы запретить загрузку модуля, можно прописать слово blacklist перед названием модуля:

blacklist NAME

Оставьте комментарий

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