Відповіді:
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