Introduzione
Il kernel di Linux è il componente principale del sistema operativo Linux. Gestisce le risorse del sistema ed è un ponte tra l'hardware e il software del tuo computer.
Il kernel di Linux ha un design modulare. Un modulo del kernel, o spesso indicato come driver, è un pezzo di codice che estende la funzionalità del kernel. I moduli sono compilati come moduli caricabili o integrati nel kernel. I moduli caricabili possono essere caricati e scaricati nel kernel in esecuzione su richiesta, senza la necessità di riavviare il sistema.
Generalmente, i moduli vengono caricati su richiesta da udev
(Gestione dispositivi). Tuttavia, a volte potrebbe essere necessario ottimizzare la modalità di caricamento dei moduli. Ad esempio, potrebbe essere necessario caricare un modulo con parametri aggiuntivi o per impedire il caricamento automatico di un modulo.
Puoi caricare manualmente un modulo nel kernel usando il comando modprobe
, o automaticamente all'avvio usando i file /etc/modules
o /etc/modules-load.d/*.conf
.
In questo articolo, spiegheremo come usare modprobe
per aggiungere e rimuovere moduli dal kernel Linux. modprobe
fa parte di kmod
un binario che implementa più programmi usati per gestire i moduli del kernel Linux.
Aggiungere moduli del kernel
I moduli del kernel sono memorizzati nella directory /lib/modules/<kernel_version>
. Trovi la versione del kernel in esecuzione, usa il comando uname -r
.
Solo gli utenti con privilegi di amministratore possono gestire i moduli del kernel.
Per caricare un modulo, invoca il comando modprobe
seguito dal nome del modulo:
modprobe module_name
Il comando modprobe
caricherà il modulo dato e tutte le dipendenze del modulo aggiuntivo. Nella riga di comando è possibile specificare un solo modulo.
Utilizzare il comando lsmod
per confermare che il modulo è caricato:
lsmod | grep module_name
Per caricare un modulo con parametri aggiuntivi, utilizzare la sintassi parameter=value
:
modprobe module_name parameter=value
Il comando accetta più coppie di parametri e valori parameter=value
separate da spazio.
In genere, è necessario caricare il modulo durante l'avvio del sistema. Puoi farlo specificando il modulo e i suoi parametri in un file all'interno della directory /etc/modules-load.d
. I file devono terminare con .conf
e possono avere qualsiasi nome:
Le impostazioni specificate in questi file vengono lette da udev
, che carica i moduli all'avvio del sistema utilizzando modprobe
.
Rimozione dei moduli del kernel
Per rimuovere un modulo, invoca il comando modprobe
con l'opzione -r
seguita dal nome del modulo:
modprobe -r module_name
modprobe
rimuoverà anche le dipendenze del modulo non utilizzate.
Quando viene invocato con -r
, il comando accetta più moduli come argomenti:
modprobe -r module_name1 module_name2
Se si desidera impedire il caricamento di un modulo Kernel all'avvio, creare un file .conf
con qualsiasi nome all'interno di /etc/modprobe.d
. La sintassi è:
Se si desidera inserire nella blacklist moduli aggiuntivi, specificare i moduli su una nuova riga o creare un nuovo file .conf
.
Conclusione
Il comando modprobe
consente di aggiungere e rimuovere i moduli del kernel Linux.