Introduzione

Il componente principale di ogni sistema operativo Linux è il kernel Linux. Gestisce le risorse del sistema e funge da intermediario tra l'hardware e il software del computer.

Il kernel Linux è un software che ha un design modulare. Un modulo del kernel, o spesso indicato come un driver, è un pezzo di codice che estende le funzionalità del kernel. I moduli possono essere compilati come moduli caricabili o incorporati nel kernel. I moduli caricabili possono essere caricati e scaricati dinamicamente nel kernel in esecuzione su richiesta, senza la necessità di riavviare il sistema.

In questo articolo parleremo di come utilizzare il comando rmmod per rimuovere i moduli dal kernel Linux.

Comando rmmod

La sintassi generale per il comando rmmod (rimuovi modulo) è la seguente:

rmmod [OPTIONS] MODULE_NAME...

Sui moderni sistemi Linux, rmmod fa parte di kmod, un binario che implementa più programmi utilizzati per gestire i moduli del kernel Linux.

Solo gli utenti con privilegi amministrativi possono rimuovere i moduli.

È possibile stampare un elenco di tutti i moduli caricati sul sistema con il comando lsmod. I moduli del kernel sono archiviati nella directory /lib/modules/<kernel_version>.

Rimuovere un modulo con il comando rmmod è piuttosto semplice; invoca semplicemente il comando seguito dal nome del modulo:

rmmod module_name

Il comando stampa il messaggio solo se qualcosa va storto. Ad esempio, se un altro modulo utilizza il modulo che stai cercando di rimuovere, il comando stamperà qualcosa del genere:

rmmod: ERROR: Module module_name is in use by: module_name_2

Per visualizzare le informazioni su ciò che sta facendo il comando, utilizzare l'opzione -v(--verbose).

Se vuoi rimuovere un modulo che è in uso o non è progettato per essere rimosso, invoca il comando con l'opzione -f(--verbose). L'utilizzo di questa opzione è estremamente pericoloso in quanto può causare un arresto anomalo del sistema.

rmmod accetta anche più moduli come argomenti:

rmmod module_name1 module_name2

Impedire il caricamento di un modulo del kernel all'avvio

Quando un modulo viene rimosso utilizzando il comando rmmod, il modulo rimane in attesa (unloaded) fino al riavvio del sistema. Al successivo avvio del sistema, verrà caricato il modulo rimosso.

Per disabilitare in modo permanente un modulo del kernel dal caricamento all'avvio, creare un file .conf con un nome qualsiasi all'interno del file /etc/modprobe.d. La sintassi è la seguente:

blacklist module_name
/etc/modprobe.d/blacklist.conf

Se desideri inserire nella lista nera (blacklist) moduli aggiuntivi, specifica i moduli su una nuova riga o crea un nuovo file .conf.

Conclusione

Il comando rmmod viene utilizzato per rimuovere i moduli del kernel Linux. Generalmente, la maggior parte degli utenti Linux utilizza il comando modprobe -r invece di rmmod.