lsmodenumera todos los módulos dinámicos que están cargados.
Las entradas en /sys/modulecorresponden a módulos dinámicos y módulos que están integrados en el núcleo (y tienen parámetros que deben ser accesibles) en lugar de cargarse dinámicamente. Por ejemplo:
[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
Puede ver aquí que el módulo iptables está configurado como un módulo dinámico. Contraste a:
[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
mientras que apparmor está incorporado.
/sys/module/MODULENAMEMODULENAMEes el nombre del módulo que está en el núcleo. Este nombre de módulo siempre aparecerá si el módulo se carga como un módulo dinámico. Esto es exactamente lo que puede ver cuando emite unlsmodcomando o cuando verifica el/proc/modulesarchivo.Si está integrado directamente en el núcleo, solo aparecerá si tiene una versión o al menos un parámetro. Los parámetros disponibles están disponibles en el directorio:
/sys/module/MODULENAME/parametersfuente