Comando modinfo in Linux: leggere metadati e parametri dei moduli

modinfo mostra descrizione, percorso, licenza, alias e parametri di un modulo del kernel Linux. Consulta i metadati disponibili senza caricare il modulo né modificarne le impostazioni.

Puoi indicare un nome di modulo oppure il percorso di un file. Tra i campi comuni, filename identifica il file, parm descrive i parametri supportati e depends elenca le dipendenze dichiarate. I campi disponibili dipendono dal modulo: un campo assente non equivale necessariamente a un errore.

Sintassi di base

modinfo [opzioni] NOME_MODULO

È uno schema: sostituisci NOME_MODULO con il nome effettivo e ometti le parentesi quadre. In alternativa al nome, passa il percorso di un file di modulo esistente. Non inserire il carattere |: nei manuali separa due alternative, mentre nella shell avvierebbe una pipeline.

Con un nome, la ricerca usa normalmente i moduli della versione del kernel in esecuzione, in una directory come /lib/modules/RELEASE. Un percorso esplicito identifica invece quel file; con -k RELEASE puoi scegliere un'altra raccolta di moduli installata. Queste scelte non cambiano il kernel in esecuzione. Controlla man modinfo per le opzioni della versione presente nella tua distribuzione; l'implementazione descritta qui appartiene a kmod.

Esempi di utilizzo

Leggere tutte le informazioni disponibili

modinfo overlay

Se i metadati di overlay sono disponibili, vedrai righe con il nome del campo e il suo valore, per esempio percorso, descrizione e licenza. L'elenco varia con il kernel e il modulo; non presuppone che il modulo sia già caricato. Puoi sostituire overlay con un altro modulo presente nel sistema.

Mostrare soltanto il percorso

modinfo -n overlay

-n seleziona il campo filename. Per un modulo esterno restituisce il percorso del file, che può anche essere compresso. Se kmod riconosce una funzionalità integrata nel kernel, può mostrare (builtin): in quel caso non esiste un file di modulo separato da cercare o caricare.

Consultare i parametri supportati

modinfo -p overlay

L'output elenca i parametri esposti nei metadati, con le descrizioni e i tipi disponibili. Non mostra i valori attualmente applicati al modulo caricato. Un risultato vuoto può indicare che non ci sono parametri pubblicati in quei metadati; distinguilo da un messaggio di errore sullo standard error e controlla subito lo stato di uscita con echo $?.

Da dove provengono le informazioni sul modulo?

modinfo legge i metadati dei file di modulo installati, oppure quelli disponibili per le funzionalità integrate. Per vedere i moduli effettivamente caricati usa separatamente lsmod e le sue colonne. Un modulo può essere installato senza essere caricato; dopo un aggiornamento, i file presenti su disco possono anche differire da quelli usati dal kernel avviato in precedenza.

modinfo -F license nf_conntrack

-F license seleziona soltanto il campo della licenza. Questo è un esempio illustrativo di output quando il modulo e il campo sono disponibili, non un risultato garantito per ogni sistema:

GPL

Se compare un errore come Module ... not found, verifica il nome o il percorso, la versione restituita da uname con -r e la presenza dei relativi file di modulo. Non confondere i dati ottenuti con -k per un'altra versione con lo stato del kernel attualmente avviato.

Per le funzionalità integrate, i file modules.builtin e modules.builtin.modinfo della raccolta del kernel contengono rispettivamente l'elenco e i metadati. La loro disponibilità e il supporto della versione di kmod influiscono sulle informazioni leggibili. La documentazione Kbuild sui file prodotti dal kernel ne descrive il ruolo.

Opzioni principali

Opzione o formato Funzione
-n Mostra soltanto il campo filename: il percorso del modulo, oppure il valore previsto per una funzionalità integrata riconosciuta.
-F CAMPO Seleziona i valori del campo indicato, normalmente uno per riga. Un campo può mancare o avere più valori, come gli alias.
-p Mostra i parametri descritti nei metadati, non i loro valori correnti.
-k RELEASE Usa la raccolta di moduli della versione indicata per la ricerca per nome, senza avviare quel kernel.
-V Mostra la versione dello strumento.

Precauzioni e interpretazione dei risultati

Descrizione, licenza e dipendenze sono metadati: la loro presenza non dimostra che il modulo sia caricato, compatibile con il kernel corrente o caricabile con successo. Leggere una licenza non verifica neppure l'autenticità del file.

La presenza di un parametro non ne rivela il valore attivo e non implica che possa essere modificato durante l'esecuzione. Cambiare parametri o caricare e rimuovere moduli è un'operazione diversa dalla consultazione con modinfo e può influire su dispositivi e servizi. Per questa guida non è necessario eseguire tali modifiche.

Domande frequenti

Se modinfo non restituisce informazioni, il modulo non esiste?

Non necessariamente. Controlla se è fallita la ricerca del modulo oppure se manca soltanto il campo richiesto. Verifica nome, percorso e versione del kernel; considera anche una funzionalità integrata con metadati assenti o incompleti. Un container può vedere il kernel dell'host senza avere i relativi file di modulo nel proprio filesystem: in quel caso la ricerca locale non descrive da sola le funzionalità dell'host.

Documentazione di riferimento

Il manuale modinfo di kmod descrive campi e opzioni. Per il comportamento della versione installata consulta anche il manuale locale; il codice sorgente di modinfo in kmod chiarisce la gestione dei parametri e dei moduli integrati.