Come caricare e scaricare i moduli del kernel in Linux
Un modulo del kernel è un programma che può essere caricato o scaricato dal kernel su richiesta, senza necessariamente ricompilarlo (il kernel) o riavviare il sistema, ed è destinato a migliorare la funzionalità del kernel.
In termini software generali, i moduli sono più o meno come plugin per un software come WordPress. I plugin forniscono i mezzi per estendere le funzionalità del software, senza di essi gli sviluppatori dovrebbero creare un unico enorme software con tutte le funzionalità integrate in un pacchetto. Se fossero necessarie nuove funzionalità, queste dovrebbero essere aggiunte nelle nuove versioni di un software.
Allo stesso modo senza moduli il kernel dovrebbe essere costruito con tutte le funzionalità integrate direttamente nell'immagine del kernel. Ciò significherebbe avere kernel più grandi e gli amministratori di sistema dovrebbero ricompilare il kernel ogni volta che è necessaria una nuova funzionalità.
Un semplice esempio di modulo è un driver di dispositivo, che consente al kernel di accedere a un componente/dispositivo hardware collegato al sistema.
Lettura consigliata: Come scoprire quale versione di Linux stai utilizzando
Elenca tutti i moduli del kernel caricati in Linux
In Linux, tutti i moduli terminano con l'estensione .ko
e normalmente vengono caricati automaticamente non appena l'hardware viene rilevato all'avvio del sistema. Tuttavia un amministratore di sistema può gestire i moduli utilizzando determinati comandi.
Per elencare tutti i moduli attualmente caricati in Linux, possiamo usare il comando lsmod (list module) che legge il contenuto di /proc/modules in questo modo.
lsmod
Module Size Used by
rfcomm 69632 2
pci_stub 16384 1
vboxpci 24576 0
vboxnetadp 28672 0
vboxnetflt 28672 0
vboxdrv 454656 3 vboxnetadp,vboxnetflt,vboxpci
bnep 20480 2
rtsx_usb_ms 20480 0
memstick 20480 1 rtsx_usb_ms
btusb 45056 0
uvcvideo 90112 0
btrtl 16384 1 btusb
btbcm 16384 1 btusb
videobuf2_vmalloc 16384 1 uvcvideo
btintel 16384 1 btusb
videobuf2_memops 16384 1 videobuf2_vmalloc
bluetooth 520192 29 bnep,btbcm,btrtl,btusb,rfcomm,btintel
videobuf2_v4l2 28672 1 uvcvideo
videobuf2_core 36864 2 uvcvideo,videobuf2_v4l2
v4l2_common 16384 1 videobuf2_v4l2
videodev 176128 4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
intel_rapl 20480 0
x86_pkg_temp_thermal 16384 0
media 24576 2 uvcvideo,videodev
....
Come caricare e scaricare (rimuovere) i moduli del kernel in Linux
Per caricare un modulo del kernel, possiamo usare il comando insmod (inserisci modulo). Qui dobbiamo specificare il percorso completo del modulo. Il comando seguente inserirà il modulo speedstep-lib.ko.
insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Per scaricare un modulo del kernel, utilizziamo il comando rmmod (rimuovi modulo). L'esempio seguente scaricherà o rimuoverà il modulo speedstep-lib.ko.
rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko
Come gestire i moduli del kernel utilizzando il comando modprobe
modprobe è un comando intelligente per elencare, inserire e rimuovere moduli dal kernel. Cerca nella directory dei moduli /lib/modules/$ (uname -r) tutti i moduli e i file correlati, ma esclude i file di configurazione alternativi in /etc/modprobe.d cartella.
Qui non è necessario il percorso assoluto di un modulo; questo è il vantaggio di usare modprobe rispetto ai comandi precedenti.
Per inserire un modulo è sufficiente fornire il suo nome come segue.
modprobe speedstep-lib
Per rimuovere un modulo, usa il flag -r
in questo modo.
modprobe -r speedstep-lib
Nota: in modprobe, viene eseguita la conversione automatica del carattere di sottolineatura, quindi non c'è differenza tra _
e –
mentre inserendo i nomi dei moduli.
Per ulteriori informazioni e opzioni sull'utilizzo, leggere la pagina man di modprobe.
man modprobe
Non dimenticare di controllare:
- Come modificare i parametri di runtime del kernel in modo persistente e non persistente
- Come installare o aggiornare all'ultima versione del kernel in CentOS 7
- Come aggiornare il kernel all'ultima versione in Ubuntu
È tutto per ora! Hai qualche idea utile che vorresti aggiungere a questa guida o domande, utilizza il modulo di feedback qui sotto per inviarceli.