lsmod
перечисляет все ваши динамические модули, которые загружены.
Записи /sys/module
соответствуют динамическим модулям и модулям, которые встроены в ядро (и имеют параметры, которые должны быть доступны), а не загружаются динамически. Например:
[michael@brazzers:~]$ ls -d /sys/module/ip_tables/
/sys/module/ip_tables/
[michael@brazzers:~]$ lsmod |grep ^ip_tables
ip_tables 26995 3 iptable_filter,iptable_mangle,iptable_nat
[michael@brazzers:~]$ grep CONFIG_NF_NAT_IPV4 /boot/config-3.8.0-30-generic
CONFIG_NF_NAT_IPV4=m
Здесь вы можете видеть, что модуль iptables настроен как динамический модуль. Контраст с:
[michael@brazzers:~]$ ls -d /sys/module/apparmor/
/sys/module/apparmor/
[michael@brazzers:~]$ lsmod |grep ^apparmor
[michael@brazzers:~]$ grep APPARMOR /boot/config-3.8.0-30-generic
CONFIG_SECURITY_APPARMOR=y
тогда как apparmor встроен.
/sys/module/MODULENAME
MODULENAME
это имя модуля в ядре. Это имя модуля всегда будет отображаться, если модуль загружен как динамический модуль. Это именно то, что вы можете увидеть, когда вы вводитеlsmod
команду или когда вы проверяете/proc/modules
файл.Если он встроен непосредственно в ядро, он будет отображаться только при наличии версии или хотя бы одного параметра. Затем доступные параметры доступны в каталоге:
/sys/module/MODULENAME/parameters
источник