Para entender o que são Módulos é preciso falar um pouco sobre Kernel. O Kernel Linux é o meio termo entre o Hardware e o Sistema Operacional, ou seja, ele é o núcleo do sistema responsável por gerenciar os dispositivos e periféricos. Para toda distribuição Linux lançada (RedHat, Debian, Ubuntu, etc.) uma versão do Kernel é compilada especificamente para suportar a maioria dos dispositivos e periféricos, o que não forem incluídos nessa maioria são compilados em partes do Kernel chamados de Módulos, esses módulos podem ser carregados em memoria apenas quando chamados por algum aplicativo ou dispositivo, sendo assim um formato modular de se trabalhar evitando um Kernel muito grande carregado em memoria, pois o mesmo pode ser chamado apenas quando necessário.
Vamos visualizar qual a versão do kernel:
root@linuxnacaneca:~# uname -r
3.2.0-29-generic-pae
A versão é identificada pelo numero 3.2.0-29, onde na ordem quer dizer o seguinte:
3 ------> Versão do Kernel.
.2 ------> Ultima revisão da versão estável (se par). Se impar a versão é instável (em desenvolvimento).
.0 ------> É um sublevel da revisão, indica melhoramentos no sistema.
-29 ------> Número da atualização
Visualizando os módulos
#lsmod ou cat /proc/modules > Mostra os módulos que foram carregados pelo Kernel.
root@linuxnacaneca:/home/tux# lsmod
Module Size Used by
vesafb 13516 1
ppdev 12849 0
snd_intel8x0 33455 0
snd_ac97_codec 106082 1 snd_intel8x0
ac97_bus 12642 1 snd_ac97_codec
snd_pcm 80845 2 snd_intel8x0,snd_ac97_codec
psmouse 72919 0
serio_raw 13027 0
snd_timer 28931 1 snd_pcm
joydev 17393 0
snd 62064 4 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
i2c_piix4 13093 0
soundcore 14635 1 snd
snd_page_alloc 14108 2 snd_intel8x0,snd_pcm
parport_pc 32114 0
mac_hid 13077 0
lp 17455 0
parport 40930 3 ppdev,parport_pc,lp
usbhid 41906 0
e1000 101693 0
hid 77367 1 usbhid
#modprobe -l > Visualiza os módulos compilados em /lib/modules/"versão do kernel atual"
#lsmod | more soundcore > Especifica apenas qual modulo é usado pelo dispositivo de som.
root@linuxnacaneca:/home/tux# lsmod | grep sound
soundcore 14635 1 snd
Ativando e desativando um modulo sem dependência
#insmod nome_do_modulo > Levanta o módulo, caso tenha uma dependência o comando retornará um erro. É preciso especificar o caminho completo do modulo, para isso visualize o caminho com "modprobe -l nome_do_modulo". Ex:
root@linuxnacaneca:/home/tux# modprobe -l soundcore
kernel/sound/soundcore.ko
#rmmod nome_do_modulo > Desativa um módulo que não esteja em uso.
Obs. Para ativar/desativar um módulo com os comando "insmod/rmmod" é necessário primeiro resolver sua dependência. Veja um exemplo:
root@linuxnacaneca:/home/tux# lsmod | grep soundcore
soundcore 14635 1 snd
O módulo soundcore tem como dependência o módulo snd, então para desativa-lo com o comando rmmod tenho que primeiro desativar o modulo snd. A mesma coisa se aplica para o inverso, se desejar ativar o modulo soundcore com o comando insmod, tenho primeiro que ativar o modulo snd.
Ativando e desativando um módulo mais sua dependência
#modprobe nome_do_modulo > Levanta um determinado módulo e sua dependência se existir.
#modprobe -r nome_do_modulo > Desativa um determinado módulo e sua dependência se existir.
Dica: Usar o modprobe é muito mais prático para ativar/desativar um módulo, pois sua dependência é resolvida automaticamente. E caso você não encontre o módulo correspondente ao dispositivo isso significa que ele não é suportado e você precisara recompilar o Kernel.
Fontes:
Viva o Linux - Leonardo Afonso Amorim > Gerenciando módulos no Linux
Em: http://www.vivaolinux.com.br/artigo/Gerenciando-modulos-no-Linux?pagina=6. Acessado em 01-05-2013
Guia Foca GNU/Linux
Capítulo 16 - Kernel e Módulos
Em: http://www.guiafoca.org/cgs/guia/inic_interm/ch-kern.html. Acessado em 05-05-2013.
Sidinei Santana – Administrador do Blog W3Suporte.
Nenhum comentário:
Postar um comentário
Seu comentário será bem vindo, mas leia antes de comentar!
Todos os comentários serão moderados pelo autor e podem não ser aprovado em caso de:
- Linguagem vulgar
- Ataque pessoais ou ameaças
- Agressões verbais
- Comentário adverso
- Spam