¿Por qué "lsmod | wc -l "no es igual a" ls / sys / module | wc -l "


10

¿Por qué estos dos comandos devuelven resultados diferentes?

lsmod | wc -l
100

ls /sys/module | wc -l
138

Respuestas:


13

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.


@MikeB cuando vea CONFIG_X_X = sí, creo que eso significa que el código se está construyendo en el kernel no como módulo dinámico: Ejemplo grep EXT4 /boot/config-3.6.11-4.fc16.i686 CONFIG_EXT4_FS = y modinfo ext4 ERROR: Módulo ext4 no encontrado ls -l / sys / module / ext4 ls: no se puede acceder / sys / module / ext4: No
existe

Sí, parece que los módulos integrados necesitan tener parámetros para que sean visibles.
MikeyB

5
  • /sys/module/MODULENAME

MODULENAMEes 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 un lsmodcomando 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/parameters
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.