Vous êtes sur la page 1sur 3

1

Comandos para gerenciar mdulos no Linux


Publicado r Learning 8 Comentrios Tags:/lib/modules, /proc/modules, depmod, insmod, kernel, Linux, lsmod, modinfo, modprobe, modules, modules.dep, rmmod, uname

Nesse post, vou falar sobre os comandos que utilizamos para gerenciar mdulos no Linux. Mas antes de falar sobre os comandos, necessrio saber qual a funo do kernel e o que so os mdulos. Em qualquer sistema operacional (isso inclui windows ), o kernel o corao do sistema. ele quem vai interagir com o hardware, gerenciar comunicao entre processos, gerenciar swap, entre outras funes. No confundam o kernel com uma distribuio. A distribuio um Linux empacotado com kernel e aplicativos que vo desde clientes de e-mail a ferramentas de programao e desenvolvimento. Quando um sistema (Debian, Ubuntu, Slackware, e outros) instalado, ele vem com uma configurao genrica, desenhada para executar a maior parte dos programas na maioria dos dispositivos de hardware. Como o kernel deve ser funcional para rodar em qualquer PC e suportar os principais recursos que o usurio pretende utilizar, o desenvolvedor da distro compila um kernel built-in; isto , um kernel que fornece as funcionalidades bsicas e conhece a maior parte dos drivers de dispositivos.Isso que dizer que, mesmo que no esteja usando o driver, ele j est no ar, pronto para ser usado a qualquer momento. Algumas vezes precisamos acrescentar suporte para um novo dispositivo; para no recompilar o kernel,a cada novo hardware adicionado ao sistema; utilizamos os mdulos. Mdulos, nada mais so do partes do kernel, carregadas em memria quando solicitadas por algum programa ou dispositivo, e descarregadas quando no estiverem mais em uso. Os mdulos do kernel residem no diretrio /lib/modules/<verso_do_kernel>; sendo que <verso_do_kernel> a verso do kernel instalada no sistema. Caso queira conferir a verso atual, podemos usar o comando uname com a opo -r: # uname -r 2.6.26-2-686 O comando uname exibe informaes sobre o sistema, tais como arquitetura, verso do kernel, etc. Para demais opes do comando, consulte o manual: # man uname Bem, determinamos a verso do kernel; para entrar no diretrio de mdulos dessa verso, executamos: # cd /lib/modules/2.6.26-2-686/ Ou ento: # cd /lib/modules/$(uname -r) No comando acima, antes de entrar no diretrio /lib/modules, o shell ir substituir o comando que est em parnteses pela verso do kernel. Lembrando que as duas formas para entrar no diretrio de

2 mdulos est correta voc quem escolhe qual prefere utilizar! Sabendo onde os mdulos residem no sistema, vamos agora conhecer os comandos usados para gerenciar mdulos. Comando lsmod Para verificar os mdulos esto carregados, usamos o comando lsmod. Vejam abaixo um exemplo de sada do comando: # lsmod Module ipv6 loop ext3 libata Size Used by 235364 12 12748 0 105512 2 140416 1 ata_generic

Vejam que a sada do comando lsmod em colunas; listado todos mdulos que esto carregados em memria, inclusive os que no esto em uso. Onde: Module exibe o nome do mdulo Size exibe em bytes, o tamanho da memria do mdulo Used by exibe a contagem de quantas instncias do mdulo esto carregadas e o mdulo que est usando; os valores so importantes porque no podemos remover um mdulo que esteja sendo usado, a no ser que nesse campo, o valor seja zero. Tambm exibe se o mdulo depende de outro para funcionar, mostrando o nome do mdulo que ele depende. Tambm possvel verificar os mdulos carregados consultando o arquivo /proc/modules; alis, o comando lsmod consulta esse arquivo e formata a sada para exibir quais mdulos esto carregados. Abaixo, um exemplo de contedo do /proc/modules: # cat /proc/modules ipv6 235364 12 Live 0xc8a18000 loop 12748 0 Live 0xc88f2000 ext3 105512 2 Live 0xc894b000 libata 140416 1 ata_generic, Live 0xc8902000 A sada do comando o mesmo resultado que do lsmod, mas com duas colunas a mais. A coluna Live, mostra o estado do mdulo, que pode ser: Live (mdulo carregado na memria), Loading ou Unloading (esses dois estados acontecem quando usamos os comandos insmod e rmmod). A ltima coluna, mostra o valor de memria reservada para o mdulo quando iniciado. Esses valores so teis para fazer debug no kernel. Comando insmod O comando insmod carrega um mdulo no kernel; utilizado para habilitar um dispositivo ou uma funcionalidade; por exemplo, adicionar uma placa de rede ou ento habilitar o suporte a um novo sistema de arquivos. Sua sintaxe : # insmod nome_do_mdulo Um detalhe do comando insmod, que ele insere o mdulo de forma manual. Isso quer dizer que, se o mdulo depende de outro para que seja carregado, necessrio primeiro resolver a dependncia

3 para depois sim, subir o mdulo propriarmente dito. Comando rmmod Remove um mdulo carregado. Sua sintaxe : # rmmod nome_do_modulo O comando rmmod no remove mdulos que possuam dependncia; caso tente remover um mdulo que tenha dependncia, ir acusar erro. Comando modprobe O comando modprobe o responsvel por carregar um mdulo e suas dependncias. Assim como o comando insmod, tambm utilizado para habilitar um dispositivo ou uma funcionalidade.A sintaxe do comando : # modprobe nome_mdulo Podemos usar o comando modprobe para listar os mdulos disponveis em /lib/modules/. Para isso, basta utilizar a opo -l: # modprobe -l O comando modprobe tambm pode ser utilizado para remover mdulos. Diferente do comando rmmod, ele remove os mdulos e suas dependncias. Para executar essa ao, basta usar a opo -r: # modprobe -r nome_do_mdulo Comando depmod O comando depmod checa as dependncias dos mdulos. O resultado dessa checagem gravado no arquivo /lib/modules/verso_kernel/modules.dep. Para fazer a checagem, usamos o comando com a opo -a, que checa todos os mdulos: # depmod -a Comando modinfo O comando modinfo exibe informaes sobre um mdulo, tais como parmetros que um mdulo aceita, dependncias, descrio, etc. Sua sintaxe : # modinfo nome_do_mdulo Bem nesse post apenas falei sobre os comandos e suas funes! No prximo post, vou mostrar exemplos de uso desses comandos configurando dispositivos em modo texto. At l! Referncias: Using Kernel Customization Tools https://ldn.linuxfoundation.org/node/12626 /proc/modules http://bit.ly/NdfGx Kernel e Mdulos http://focalinux.cipsga.org.br/guia/inic_interm/ch-kern.html

Vous aimerez peut-être aussi