Чому “lsmod | wc -l "не дорівнює" ls / sys / module | wc -l ”


10

Чому ці дві команди повертають різні результати?

lsmod | wc -l
100

ls /sys/module | wc -l
138

Відповіді:


13

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 вбудований.


@MikeB, коли ви бачите CONFIG_X_X = так, я думаю, це означає, що код накопичується в ядрі не як динамічний модуль: Приклад grep EXT4 /boot/config-3.6.11-4.fc16.i686 CONFIG_EXT4_FS = y modinfo ext4 ПОМИЛКА: Модуль ext4 не знайдено ls -l / sys / module / ext4 ls: не вдається отримати доступ / sys / module / ext4: Немає такого файлу чи каталогу
c4f4t0r

Так, схоже, що вбудовані модулі повинні мати параметри, щоб вони були видимими.
MikeyB

5
  • /sys/module/MODULENAME

MODULENAME- це назва модуля, який знаходиться в ядрі. Назва цього модуля завжди відображатиметься, якщо модуль завантажений як динамічний модуль. Це саме те, що ви можете бачити при видачі lsmodкоманди або при перевірці /proc/modulesфайлу.

Якщо він вбудований безпосередньо в ядро, він відображатиметься лише у тому випадку, якщо він має версію або принаймні один параметр. Потім доступні параметри доступні в каталозі:

  • /sys/module/MODULENAME/parameters
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.