В этой статье я приведу пример ручной и автоматической загрузки/выгрузки моделей в 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