In this article I will give an example of manual and automatic loading/unloading models in Linux.
First, switch to root user if not under it, for example in Ubuntu it can be done like this:
sudo -i
Let’s see a list of the downloaded modules:
lsmod
To see if a particular module has been loaded so it can (where NAME is the module name):
lsmod | grep NAME
The following commands are used to load/unload a module:
modprobe NAME modprobe -r NAME
When the module load command is executed, modprobe looks for it in the directory:
/lib/modules/$(uname -r)
You can see what it is like:
ls /lib/modules/$(uname -r) ls /lib/modules/$(uname -r)/kernel/net/netfilter/
To load/unload a module from another directory, you can execute the following commands:
insmod /path/to/module/name.ko rmmod /path/to/module/name.ko
View information about the module and the possible startup parameters as follows:
modinfo NAME
You can see specific information about the module, for example, where it is located:
modinfo --filename NAME
In order for the modules to start at the very beginning of the system startup, they must be written to the /etc/modules.conf file, and in order to start last when all services are started, the file is /etc/rc.local.
In addition to the file /etc/modules.conf there is also a directory /etc/modprobe.d/, where there are similar files with the extension .conf.
For example, in rc.local modules are written like this:
/sbin/modprobe NAME
The modules.conf file is written like this:
nf_nat_ftp
To prevent the module from loading, you can write the word blacklist before the module name:
blacklist NAME