Bloccare il caricamento di moduli del kernel Linux
Disabilitare il caricamento automatico dei moduli di driver del kernel Linux. Notare che questa procedura non impedisce che un altro processo richieda l'aggiunta di un modulo all'avvio o quando la macchina è in esecuzione.
Avvertimenti:
Come detto nel commento nell'intestazione di /etc/modprobe.d/blacklist.conf, inserire moduli lì «...non ha effetto sul caricamento automatico dei moduli da parte del kernel Linux»; ciò significa che per inserire un driver del kernel, come ipv6 in una lista nera è necessario fare una falsa installazione.
Rimuovere o spostare /etc/modprobe.conf, se è presente, dato che sovrascrive qualsiasi comportamento definito in /etc/modprobe.d/* (a meno che non si aggiunga include /etc/modprobe.d).
I moduli elencati in /etc/initramfs-tools/modules non sono soggetti a liste nere, quindi prima commentarli.
Come fare:
Creare un file "/etc/modprobe.d/<nome_modulo>.conf" contenente "blacklist <nome_modulo>".
Eseguire "depmod -ae" come root
Ricreare il proprio initrd con "update-initramfs -u"
Esempi:
root@host:/etc/modprobe.d# ls -altr total 72 -rw-r--r-- 1 root root 363 Sep 24 19:57 pnp-hotplug -rw-r--r-- 1 root root 284 Sep 24 19:57 display_class drwxr-xr-x 2 root root 16 Oct 28 21:38 arch lrwxrwxrwx 1 root root 9 Oct 28 21:38 arch-aliases -> arch/i386 -rw-r--r-- 1 root root 1405 Oct 29 09:46 blacklist.conf -rw-r--r-- 1 root root 18 Oct 29 13:34 eth1394.conf -rw-r--r-- 1 root root 15 Oct 29 14:49 irda.conf -rw-r--r-- 1 root root 20 Oct 29 16:10 irtty_sir.conf -rw-r--r-- 1 root root 18 Oct 29 16:10 sir_dev.conf -rw-r--r-- 1 root root 19 Oct 29 16:10 nsc_ircc.conf -rw-r--r-- 1 root root 4360 Oct 29 16:21 aliases drwxr-xr-x 3 root root 4096 Oct 29 16:24 . -rw-r--r-- 1 root root 15 Oct 29 16:24 ipv6.conf drwxr-xr-x 47 root root 12288 Oct 29 16:25 .. root@host:/etc/modprobe.d# cat eth1394.conf irda.conf irtty_sir.conf sir_dev.conf nsc_ircc.conf ipv6.conf blacklist eth1394 blacklist irda blacklist irtty_sir blacklist sir_dev blacklist nsc_ircc blacklist ipv6
Addendum: a volte è necessario disabilitare più moduli per disabilitare quello desiderato: irda è un esempio di questo tipo. Nell'esempio precedente, è stato necessario disabilitare irtty_sir, sir_dev e nsc_ircc per poter disabilitare irda. Se si sospetta di trovarsi in una situazione simile, eseguire lsmod e trovare i moduli che stanno usando quello che si desidera disabilitare.
Grazie a xingu e liable in irc #debian.
Inserimento in lista nera con una falsa installazione
Come esempio, diciamo che si desidera disabilitare nomemodulo usando una falsa installazione. Si deve:
Creare un file chiamato '/etc/modprobe.d/<nomemodulo>.conf' contenente 'install <nomemodulo> /bin/true'.
- Riavviare.
Questa procedura previene il caricamento del modulo nomemodulo all'avvio.
E grazie a ?BrendaButler per il suggerimento - Le liste nere per i moduli non dovrebbero essere spostate su un'altra pagina? Non fanno parte di udev.
FixMe: usare "inclusive terminology" - vedere questo messaggio nella mailing list del kernel Linux
