Como carregar e descarregar módulos de kernel no Linux

Como carregar e descarregar módulos de kernel no Linux

Um módulo de kernel é um programa que pode ser carregado ou descarregado do kernel sob demanda, sem necessariamente recompilá -lo (o kernel) ou reiniciar o sistema e se destina a melhorar a funcionalidade do kernel.

Em termos gerais de software, os módulos são mais ou menos como plugins para um software como o WordPress. Os plugins fornecem meios para estender a funcionalidade do software, sem eles, os desenvolvedores teriam que criar um único software massivo com todas as funcionalidades integradas em um pacote. Se novas funcionalidades forem necessárias, elas teriam que ser adicionadas em novas versões de um software.

Da mesma forma, sem módulos, o kernel teria que ser construído com todas as funcionalidades integradas diretamente à imagem do kernel. Isso significaria ter kernels maiores, e os administradores do sistema precisariam recompilar o kernel toda vez que uma nova funcionalidade é necessária.

Um exemplo simples de um módulo é um driver de dispositivo - que permite ao kernel acessar um componente/dispositivo de hardware conectado ao sistema.

Leia sugerida: Como descobrir qual versão do Linux você está executando

Liste todos os módulos de kernel carregados no Linux

No Linux, todos os módulos terminam com o .Ko extensão, e eles são normalmente carregados automaticamente, pois o hardware é detectado na inicialização do sistema. No entanto, um administrador do sistema pode gerenciar os módulos usando determinados comandos.

Para listar todos os módulos carregados atualmente no Linux, podemos usar o lsmod (Módulos de lista) comando que lê o conteúdo de /PROC/Módulos assim.

# lsmod 
Listar os módulos do kernel no Linux
Module Size Used by rfcomm 69632 2 pci_stub 16384 1 vboxpci 24576 0 vboxnetadp 28672 0 vboxnetflt 28672 0 vboxdrv 454656 3 vboxnetadp,vboxnetflt,vboxpci bnep 20480 2 rtsx_usb_ms 20480 0 memstick 20480 1 rtsx_usb_ms btusb 45056 0 uvcvideo 90112 0 btrtl 16384 1 btusb btbcm 16384 1 btusb videobuf2_vmalloc 16384 1 uvcvideo btintel 16384 1 btusb videobuf2_memops 16384 1 videobuf2_vmalloc bluetooth 520192 29 bnep,btbcm,btrtl,btusb,rfcomm,btintel videobuf2_v4l2 28672 1 uvcvideo videobuf2_core 36864 2 uvcvideo,videobuf2_v4l2 v4l2_common 16384 1 videobuf2_v4l2 videodev 176128 4 uvcvideo,v4l2_common,videobuf2_core, videobuf2_v4l2 Intel_RAPL 20480 0 x86_pkg_temp_thermal 16384 0 mídia 24576 2 uvcvideo, videoDev… 

Como carregar e descarregar (remover) módulos de kernel no Linux

Para carregar um módulo de kernel, podemos usar o insmod (Inserir módulo) comando. Aqui, temos que especificar o caminho completo do módulo. O comando abaixo irá inserir o Speedstep-Lib.Ko módulo.

# insmod/lib/módulos/4.4.0-21-genérico/kernel/drivers/cpufreq/speedstep-libl.Ko 

Para descarregar um módulo de kernel, usamos o rmmod (Remova o comando do módulo). O exemplo a seguir descarregará ou removerá o Speedstep-Lib.Ko módulo.

# rmmod/lib/módulos/4.4.0-21-genérico/kernel/drivers/cpufreq/speedstep-libl.Ko 

Como gerenciar módulos de kernel usando o comando modprobe

modProbe é um comando inteligente de listagem, inserção e remoção de módulos do kernel. Ele procura no diretório do módulo /lib/módulos/$ (uname -r) para todos os módulos e arquivos relacionados, mas exclui arquivos de configuração alternativos no /etc/modprobe.d diretório.

Aqui, você não precisa do caminho absoluto de um módulo; Esta é a vantagem de usar modProbe sobre os comandos anteriores.

Para inserir um módulo, basta fornecer o nome da seguinte forma.

# ModProbe SpeedStep-Lib 

Para remover um módulo, use o -r bandeira assim.

# modprobe -r speedstep -lib 

Observação: Sob ModProbe, a conversão automática de sublinhamento é realizada, então não há diferença entre _ e - Ao inserir nomes de módulos.

Para obter mais informações e opções de uso, leia a página ModProbe Man.

# Man ModProbe 

Não se esqueça de conferir:

  1. Como alterar os parâmetros de tempo de execução do kernel de uma maneira persistente e não persistente
  2. Como instalar ou atualizar para a versão mais recente do kernel no CentOS 7
  3. Como atualizar o kernel para a versão mais recente no Ubuntu

É tudo por agora! Você tem alguma idéias úteis, que queria que adicionassemos a este guia ou consultas, use o formulário de feedback abaixo para lançá -las para nós.