Notícia: Mudanças na inserção de módulos na blacklist

Desde o início dos tempos nós solicitamos ao nosso sistema que inserisse módulos do kernel na blacklist (em várias encarnações). Isso tem nos servido bem, mas nós (ou melhor, nossos vários upstreams) chegamos a um ponto onde não o é mais necessário.

Nós, portanto, decidimos retirar toda a nossa lógica sobre módulos em blacklist, deixando que isto fosse feito inteiramente pelo controle de blacklist provido pelo modprobe. Isso significa uma mudança de sintaxe, e uma pequena alteração na funcionalidade. Esperamos que o inconveniente de curto prazo seja justificada pelo ganho de longo prazo.

Devido à uma mudança independente no nosso pacote udev, nós não carregamos mais tantos módulos por padrão como costumávamos fazer, então alguns módulos problemáticos (como pcspkr e snd-seq-oss) PODEM não mais precisar ir para a blacklist.

As diferenças no processo de blacklist

A noção de inserir um módulo na blacklist que nós temos utilizado é (infelizmente) um pouco diferente do que é utilizado pelo modprobe.

  • nossa inserção de módulos na blacklist: um módulo na blacklist, ou qualquer outro módulo que dependa dele, nunca será(ão) carregado(s) automaticamente pelo udev, mas pode(m) ser carregado(s) manualmente.
  • inserção de módulos na blacklist pelo modprobe: um módulo na blacklist não será carregado automaticamente, mas pode ser carregado se outro módulo que não esteja na blacklist dependa dele, ou se ele for carregado manualmente.
  • desabilitando um módulo: pode-se obter um comportamento semelhante ao que costumávamos fornecer forçando um módulo a carregar sempre falhando, não será possível carregá-lo manualmente.

Módulos em blacklist ou desabilitados a partir do boot

Os módulos podem ser colocados na blacklist em tempo de boot acrescentando modprobe.blacklist=mod1,mod2,mod3 à linha de comando do kernel (no grub, lilo ou syslinux). Como alternativa, os módulos podem ser completamente desativados acrescentando mod1.disable=1 mod2.disable=1 mod3.disable=1 ao invés do anterior. Isso é útil em caso de emergência, onde um módulo quebrado torna impossível iniciar o seu sistema.

Persistência em blacklist ou desabilitar

Ao invés de acrescentar módulos à blacklist através do rc.conf, use os arquivos de configuração nativos do modprobe. Estes podem ser encontrados em /etc/modprobe.d/, e estão documentadas no man modprobe.d.

A substituição do MODULES=(mod1 mod2 mod3!) do rc.d é adicionar um arquivo de configuração .conf em /etc/modprobe.d/ com o conteúdo a seguir:

blacklist mod1
blacklist mod2
blacklist mod3

Como alternativa, para garantir que os módulos não serão inseridos, mesmo que sejam necessários por outros módulos, você deve fazer o seguinte:

install mod1 /bin/false
install mod2 /bin/false
install mod3 /bin/false


Tradução: Marcelo Cavalcante.