Perché “lsmod | wc -l "non uguale a" ls / sys / module | wc -l "


10

Perché questi due comandi restituiscono risultati diversi?

lsmod | wc -l
100

ls /sys/module | wc -l
138

Risposte:


13

lsmodelenca tutti i moduli dinamici caricati.

Le voci in /sys/modulecorrispondono a moduli dinamici e moduli che sono integrati nel kernel (e hanno parametri che devono essere accessibili) piuttosto che caricati dinamicamente. Per esempio:

[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

Qui puoi vedere che il modulo iptables è configurato come un modulo dinamico. Contrasto 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

mentre apparmor è integrato.


@MikeB quando vedi CONFIG_X_X = sì, penso che ciò significhi che il codice sta costruendo nel kernel non come modulo dinamico: Esempio grep EXT4 /boot/config-3.6.11-4.fc16.i686 CONFIG_EXT4_FS = y modinfo ext4 ERRORE: Modulo ext4 non trovato ls -l / sys / module / ext4 ls: impossibile accedere a / sys / module / ext4: nessun file o directory del genere
c4f4t0r

Sì, sembra che i moduli integrati debbano avere parametri per essere visibili.
MikeyB,

5
  • /sys/module/MODULENAME

MODULENAMEè il nome del modulo che si trova nel kernel. Il nome di questo modulo verrà sempre visualizzato se il modulo è caricato come modulo dinamico. Questo è esattamente ciò che puoi vedere quando dai il lsmodcomando o quando controlli il /proc/modulesfile.

Se è integrato direttamente nel kernel, verrà visualizzato solo se ha una versione o almeno un parametro. I parametri disponibili sono quindi disponibili nella directory:

  • /sys/module/MODULENAME/parameters
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.