Existe uma maneira padrão de listar os valores dos parâmetros de um módulo Linux carregado? Estou essencialmente procurando outra resposta para essa pergunta de parâmetros do módulo do kernel Linux , porque o módulo em que estou interessado não tem uma /sys/modules/<module_name>/parameters
interface.
77
Respostas:
Você pode fazer isso usando este comando unidirecional simples, que usa os sistemas de arquivos virtuais / proc / modules e / sys:
Você obterá uma saída como esta:
Espero que isto ajude.
fonte
alias ls='ls -lah'
. Remover o alias ou executar a solução como um script funcionou muito bem.Você pode usar o comando
systool -vm <Module name>
. Ele vem com osysfsutils
pacote na maioria dos sistemas.É assim que a saída será, há uma seção
Parameters
:fonte
systool
faz parte do pacotesysfsutils
. E esta é a resposta que eu acho, (mas poderia ter uma saída exemplo)Parameters:
seção está presente apenas na saída dos módulos que expõem uma/sys/modules/<module_name>/parameters
interface. Infelizmente, isso não satisfaz a premissa da pergunta.fonte
Você pode usar o comando " modinfo (8) " para obter os parâmetros de tempo de carregamento disponíveis para um módulo. Por exemplo:
Quanto a obter os parâmetros dos módulos carregados, tente combinar o comando modinfo com um simples "lsmod | awk '{print $ 1}'"
Como em:
fonte
Ficaria feio como um comentário, mas eu fiz essa verificação no meu sistema ..
Para verificar se os módulos sem parâmetros em / sys aparecem como tendo parâmetros no modinfo, mas não consegui encontrar nenhum.
Não sou especialista, mas a diferença aqui é que o modinfo lê o próprio arquivo de módulo para os parâmetros, procurando nos cabeçalhos .modinfo elf, enquanto o sys os lê na sua variante de tempo de execução.
Pode ser possível ter parâmetros que você pode modificar em tempo de execução que não apareça como um valor de parâmetro modinfo, mas como o formato do módulo deve ser bastante fixo, não imagino que seja possível passar um parâmetro opcional para um módulo ao carregar sem que exista. uma estrutura .modinfo para ela vinculada.
Estou curioso, seu módulo sugere que existem parâmetros passáveis com modinfo quando você o verifica dessa maneira, mas não há nenhum / sys para ele? Certamente, no meu sistema, não consegui encontrar nenhum exemplo disso usando o comando fornecido acima.
fonte
Para iwlwifi e outros módulos, usei isso:
e eu recebo esta saída:
Então eu acho que você poderia tentar algo como:
Deixe-me saber se isso funciona para você.
fonte
grep .
provavelmente também funcionaria tão bem com menos digitação. :)grep . /sys/module/<module_name>/parameters/*
grep -R
e deixar o curinga fora do diretório de parâmetros, ele sempre mostrará o nome do arquivo. Pontos de bônus: adicione também--color
ao grep e obtenha o nome do arquivo + valor diferenciado por cores. ;) Por exemplogrep -R --color '.' /sys/module/block/parameters/
Trabalhando com o trabalho de katriel, você pode obter uma linha única (reconhecidamente feia) combinando as duas em um loop bash:
fonte
print
é um pouco bruta - use awhile read
sintaxe em vez disso:lsmod | while read a b; do echo $a:; modinfo $a | grep parm | sed -e 's/parm://'; done
- isso não muda o fato de que modinfo não retornar os valores dos parâmetros, embora ...