6. Módulos do Kernel

Pense no kernel do Linux como o motor principal de um carro. Você pode adicionar acessórios como um bagageiro de teto ou um novo sistema de som sem alterar o motor em si. Esses acessórios podem ser adicionados ou removidos conforme a necessidade. O kernel do Linux usa um conceito semelhante com os módulos do kernel.

O que são Módulos do Kernel

Então, o que são módulos do kernel? São pedaços de código que podem ser carregados e descarregados do kernel sob demanda. Eles estendem a funcionalidade do kernel sem exigir que você recompila o kernel principal ou reinicie o sistema. Essa abordagem modular permite que o suporte para novo hardware (como uma nova placa Wi-Fi) ou novos recursos de software (como um novo sistema de arquivos) seja adicionado dinamicamente. Isso mantém o kernel principal enxuto, ao mesmo tempo que permite uma imensa flexibilidade.

Listando Módulos Carregados

Para ver uma lista de todos os módulos do kernel atualmente carregados na memória, você pode usar o comando lsmod. Isso lhe dá um instantâneo dos módulos ativos e suas dependências.

lsmod

Carregando um Módulo do Kernel

Para carregar um módulo do kernel, usamos o comando modprobe. Por exemplo, para carregar o módulo bluetooth, você executaria:

sudo modprobe bluetooth

O comando modprobe é inteligente; ele procura o módulo no diretório padrão (/lib/modules/$(uname -r)/) e também carrega quaisquer outros módulos dos quais o módulo alvo dependa.

Descarregando um Módulo do Kernel

Se um módulo não for mais necessário, você pode descarregá-lo para liberar recursos do sistema. Use a flag -r com modprobe para remover um módulo:

sudo modprobe -r bluetooth

Gerenciando Módulos na Inicialização

Os módulos carregados com modprobe são temporários e desaparecerão após uma reinicialização. Para tornar as configurações dos módulos permanentes, você pode criar arquivos de configuração no diretório /etc/modprobe.d/.

Para carregar automaticamente um módulo na inicialização com opções específicas, crie um arquivo .conf. Por exemplo, se você tivesse um módulo hipotético chamado peanut_butter e quisesse definir seu parâmetro type como almond, seu arquivo ficaria assim:

# /etc/modprobe.d/peanutbutter.conf

options peanut_butter type=almond

Inversamente, para impedir que um módulo seja carregado na inicialização (um processo chamado blacklisting), você pode usar a palavra-chave blacklist em um arquivo de configuração:

# /etc/modprobe.d/peanutbutter.conf

blacklist peanut_butter

Esses arquivos de configuração permitem um controle detalhado sobre quais módulos estão disponíveis quando seu sistema é iniciado.

Entre para salvar seu progresso de aprendizado

Entrar

Exercícios

A prática leva à perfeição! Aqui está um laboratório prático para reforçar sua compreensão dos módulos do kernel do Linux:

  1. Gerenciar Módulos do Kernel no Linux - Pratique listar, inspecionar, carregar e descarregar módulos do kernel, e configurá-los para carregar automaticamente na inicialização. Este laboratório o ajudará a aplicar os conceitos em um cenário real e a ganhar confiança no gerenciamento de módulos do kernel.

Questionário

Qual comando é usado para descarregar um módulo?