Como usar o LSMOD no Linux (com um exemplo prático)

O kernel do Linux é um mistério para a maioria, mas não precisa ser! Bem-vindo ao excitante mundo do lsmod, uma ferramenta que permite que você veja quais módulos o kernel usa e muito mais!

índice

  1. O que é lsmod?
  2. lsmod: Primeiras impressões
  3. Mergulhe mais fundo com o mod de informações
  4. Final

O que é lsmod?

Para explicar lsmod , a ferramenta que permite listar módulos no kernel do Linux, você deve primeiro entender o que é um módulo. Um módulo Linux é um pedaço de código modular (executando em um formato compilado) que pode ser carregado ou descarregado do kernel Linux à vontade. A principal vantagem do uso desses módulos é sua modularidade e granularidade.

Você pode pensar nos módulos do kernel como complementos para outro software. Sempre que você precisar de uma funcionalidade específica, menos comum ou não universal, ela está disponível como um plugin ou, no caso do kernel Linux, como um módulo. Há pouca diferença entre um plug-in para outro software e módulos do kernel Linux. No entanto, o nível em que eles operam está muito mais próximo do hardware principal e do software operacional, em vez do fim da pilha no nível do usuário.

Por exemplo, o driver da placa gráfica, especialmente se você estiver usando drivers NVidia, é carregado como um módulo do kernel. A instalação do driver configura e carrega um módulo do kernel (possivelmente na próxima reinicialização do sistema).

Voltando ao lsmod , que deve ser incluído na instalação padrão do sistema operacional Linux, esta ferramenta apresentará uma visão geral dos módulos do kernel atualmente disponíveis.

lsmod: Primeiras impressões

Curiosamente, lsmod é uma ferramenta que torna o conteúdo do arquivo (virtual) /proc/modules mais legível.

O arquivo /proc/modules é um arquivo virtual de 0 byte que, quando visualizado com, digamos, cat ou vi , conterá (ou melhor fará ) uma lista de módulos atualmente disponíveis para o kernel Linux no sistema onde lsmod é executado.

Vamos começar verificando o conteúdo do arquivo /proc/modules quanto à presença de um módulo de kernel Linux AHCI (Advanced Host Controller Interface):

 cat /proc/modules | grep ahci 

Aqui usamos cat view ( make ) o conteúdo de /proc/modules , e depois usamos grep grep para o módulo AHCI. Observe que não especificamos a opção -i (que faria uma pesquisa sem distinção entre maiúsculas e minúsculas) para grep , pois toda a lista de módulos em /proc/modules é pequena.

Podemos ver a partir da saída fornecida quais módulos AHCI Linux Kernel estão disponíveis no momento. Caso contrário, a saída parece um pouco enigmática e não muito descritiva. Vamos tentar lsmod agora.

 lsmod | grep -E '^Módulo|ahci' 

Aqui usamos lsmod , uma ferramenta sem opções, e usamos grep para obter resultados mais interessantes. A opção -E grep nos permite criar um seletor/lista de seleção (strings) dos itens que queremos ver, todos separados por um ou mais símbolos de barra vertical ( | ).

Então, aqui procuramos quaisquer ocorrências ahci (no segundo seletor/string de seleção) e quaisquer ocorrências ^Module (no primeiro seletor/string de seleção), onde o ^ é uma expressão regular (aplicável apenas ao primeiro seletor), selecionando o start of a line , indicando que queremos apenas ver resultados onde o início da linha é imediatamente seguido por 'Module' e esta seria nossa primeira linha de cabeçalho.

Vamos ver a saída agora bem renderizada; a primeira linha (que nosso comando grep incluiu graças ao seletor ^Module ) e a segunda e terceira linhas que ahci os módulos que nosso grep selecionou por causa do segundo seletor.

As saídas da coluna de cabeçalho nos informam o que cada coluna contém; a primeira coluna o nome do módulo ( Module ), o segundo tamanho é bytes ( To Measure ), e a terceira coluna fornece um número de referência ( Used By ), ou seja, quantas vezes um módulo é referenciado (o que talvez você possa traduzir livremente para Usado ) do kernel.

Se a contagem de referência na terceira coluna for zero, significa que o formulário está disponível "em" / para o kernel, não em uso no momento.

Dica: Se você vir -2 na saída de lsmod , talvez queira verificar se lsmod mostra -2 na coluna "Usado por" no Stackexchange.

Mergulhe mais fundo com o mod de informações

enquanto a própria ferramenta lsmod não tem opções, podemos usar outro utilitário em combinação com lsmod para obter mais informações: modinfo .

 modinfo ahci -F 'descrição' modinfo ahci -F 'autor' 

Aqui usamos o comando modinfo para obter mais informações sobre o ahci do kernel Linux. Em particular, usamos a opção -F para modinfo para selecionar um campo específico cujo conteúdo gostaríamos de conhecer. Observe que se você executar modinfo ahci sem nenhuma opção, verá uma lista completa de todas as informações disponíveis no módulo do kernel ahci . Essa saída é bastante detalhada, pois inclui dados de assinatura de chave etc.

Também poderíamos ter usado grep semelhante ao que fizemos acima para selecionar as duas informações em um comando. Para fazer isso, usamos modinfo ahci | grep -E 'description|author' , que retorna a mesma saída de duas linhas, embora diretamente abaixo uma da outra.

Observe também que você pode usar a expressão regular novamente ' para selecionar apenas as strings de saída que começam no início da linha (para que ambos os campos pesquisem), ex. modinfo ahci | grep -E '^description|^author'

Ao contrário do lsmod , modinfo tem algumas opções adicionais nas quais você pode se interessar. Assista man modinfo para ver todas as opções disponíveis.

Final

Neste artigo, exploramos a ferramenta lsmod sem opções e a saída útil que ela fornece, mostrando quais módulos do kernel do Linux estão disponíveis e quantas vezes cada um desses módulos do kernel é referenciado ("Usado") pelo kernel. . Também discutimos como obter mais informações sobre um módulo específico usando o comando modinfo no Linux. Também vimos como podemos usá-lo. grep -E para obter duas informações de uma só vez usando várias strings de seleção para pesquisar.

Se você gostou de ler este artigo, confira nossos artigos Como usar ltrace para rastrear chamadas de biblioteca e Como trabalhar com dependências de objeto compartilhado (biblioteca) em artigos Linux. Divirta-se!

  • O que é o bug do Log4j e como isso afeta você?
  • Mãos à obra com "Ticket to Ride" para a Infinity Gaming Table da Arcade1Up – Revisão Geek

descubra mais conteúdo

Google Pixel Watch também tem detecção de queda, mas não até o próximo ano

As melhores xícaras de café aquecidas de 2022

Como automatizar seu iPhone com base na hora, atividade ou localização

"Isso deve ter sido antes do meu tempo"

Por que a NASA enviou Snoopy para a Lua? – Revisão geek

O que é uma carga fantasma?

O que é lsmod no Linux?

lsmod é um comando em sistemas Linux . Mostra os módulos carregáveis ​​no kernel que estão atualmente carregados. "Módulo" refere-se ao nome do módulo. "Size" indica o tamanho do módulo (não a memória que ele usa).

Como posso ver os módulos carregados no sistema?

Para listar os módulos carregados no kernel, usaremos o comando lsmod. O que o lsmod faz é ler o conteúdo do arquivo /proc/modules. Este comando mostra as informações apresentando 3 colunas: Módulo: Mostra os nomes dos módulos carregados .

Ir arriba