Modules : Charger, décharger, blacklister



Introduction



Cet article liste quelques astuces pour les modules sous Linux.
Le but, avoir un article pratique qui explique tout sur les modules.


Lister les modules



Pour lister les modules présents et chargés dans le système, la commande est lsmod :

Code BASH :
lsmod


Voici un exemple de sortie sur un serveur RHEL7 :
Code TEXT :
Module                  Size  Used by
intel_powerclamp       14419  0
coretemp               13444  0
iosf_mbi               13523  0
crc32_pclmul           13113  0
ppdev                  17671  0
ghash_clmulni_intel    13259  0
aesni_intel            69884  0
lrw                    13286  1 aesni_intel
gf128mul               14951  1 lrw
glue_helper            13990  1 aesni_intel
ablk_helper            13597  1 aesni_intel
cryptd                 20359  3 ghash_clmulni_intel,aesni_intel,ablk_helper
vmw_balloon            18190  0
pcspkr                 12718  0
sg                     40721  0
vmw_vmci               67106  0
i2c_piix4              22106  0
shpchp                 37032  0
parport_pc             28165  0
parport                42348  2 ppdev,parport_pc
ip_tables              27115  0
ext4                  583541  3
mbcache                14958  1 ext4
jbd2                  102945  1 ext4
sr_mod                 22416  0
cdrom                  42556  1 sr_mod
ata_generic            12910  0
pata_acpi              13038  0
sd_mod                 46322  3
crc_t10dif             12714  1 sd_mod
crct10dif_generic      12647  0
crct10dif_pclmul       14289  1
crct10dif_common       12595  3 crct10dif_pclmul,crct10dif_generic,crc_t10dif
crc32c_intel           22079  0
vmwgfx                235043  1
drm_kms_helper        146456  1 vmwgfx
serio_raw              13462  0
syscopyarea            12529  1 drm_kms_helper
sysfillrect            12701  1 drm_kms_helper
sysimgblt              12640  1 drm_kms_helper
fb_sys_fops            12703  1 drm_kms_helper
ttm                    93908  1 vmwgfx
ata_piix               35038  0
vmxnet3                53833  0
mptspi                 22542  2
scsi_transport_spi     30732  1 mptspi
mptscsih               40150  1 mptspi
mptbase               105960  2 mptspi,mptscsih
drm                   372540  4 ttm,drm_kms_helper,vmwgfx
i2c_core               40756  3 drm,i2c_piix4,drm_kms_helper
libata                247095  3 pata_acpi,ata_generic,ata_piix
floppy                 69417  0
fjes                   32197  0
dm_mirror              22135  0
dm_region_hash         20862  1 dm_mirror
dm_log                 18411  2 dm_region_hash,dm_mirror
dm_mod                114430  11 dm_log,dm_mirror


Il peut être utile d'utiliser grep pour filtrer la sortie.

Charger un module



Pour charger un module, lorsque le système est en cours d'utilisation, il faut utiliser la commande modprobe :

Code BASH :
modprobe module


Mais, lorsqu'on redémarre le système, ce module n'est plus chargé.

Il existe un dossier /etc/modules-load.d/ qui contient une liste de fichiers .conf. Dedans, le nom du module est à inscrire.

Exemple avec le module asus-nb-wmi :
Code BASH :
 echo "asus-nb-wmi" > /etc/modules-load.d/asus.conf


Voici un exemple avec les 3 modules de VirtualBox :

Code BASH :
cat /etc/modules-load.d/VirtualBox.conf 
vboxdrv
vboxnetflt
vboxnetadp



Décharger un module



Pour une raison donnée; on peut aussi décharger un module. Pour cela, on utilise la commande rmmod . Exemple avec le module floppy :
Code BASH :
rmmod floppy


Pour vérifier qu'il est bien déchargé, on peut faire (ça ne doit rien renvoyer) :
Code BASH :
lsmod | grep floppy



Blacklister un module



On peut aussi blacklister un module. Le module incriminé est alors placé dans une liste noire et ne sera plus chargé au démarrage. Par exemple, avec le module du beep interne :

Code BASH :
echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist
Cette page a été vue 2586 fois