Até onde eu sei, você pode usar modprobe para ajustar os parâmetros somente quando o recurso em questão foi compilado como um módulo - e você está carregando o módulo em primeiro lugar. Para definir os parâmetros do módulo persistentemente, você terá o diretório /etc/modprobe.d . (Geralmente você deve deixar /usr/lib/modprobe.d para as configurações padrão da distribuição - todos os arquivos podem ser sobrescritos pelas atualizações de pacotes).
Se o módulo em questão foi construído no kernel principal, então você deve usar a sintaxe <module_name>.<parameter_name>=<value> , normalmente como uma opção de inicialização. Se o parâmetro em questão estiver disponível como uma configuração sysctl , você poderá usar o comando sysctl -w para ajustá-lo também.
Todos os parâmetros de sysctl disponíveis são apresentados em /proc/sys : por exemplo, kernel.domainname está em /proc/sys/kernel/domainname . Nem todos os parâmetros do módulo estão disponíveis como sysctls, mas alguns podem ser.
Se um módulo carregável já tiver sido carregado e você desejar alterar seus parâmetros imediatamente sem descarregá-lo, será possível gravar o novo valor em /sys/module/<module_name>/parameters/<parameter_name> . Se o módulo não puder aceitar a reconfiguração dinâmica para esse parâmetro, o arquivo será somente leitura.
Pelo menos no meu sistema, kernel.domainname é um parâmetro sysctl para o kernel principal e tentar alterá-lo com modprobe não funcionará:
# sysctl kernel.domainname
kernel.domainname = (none)
# modprobe kernel domainname="example.com"
modprobe: FATAL: Module kernel not found in directory /lib/modules/<kernel_version>
# sysctl kernel.domainname
kernel.domainname = (none)
Em poucas palavras: Se você não tiver certeza, primeiro procure em /proc/sys ou a saída de sysctl -a : se o parâmetro que você está procurando não estiver lá, ele não é um parâmetro sysctl e provavelmente é um parâmetro do módulo (ou o módulo que forneceria o sysctl não está atualmente carregado, neste caso, é melhor definir o valor como um parâmetro do módulo de qualquer maneira - tentar definir um sysctl pertencente a um módulo que não está atualmente carregado produzirá apenas um erro).
Em seguida, descubra a qual módulo o parâmetro pertence. Se o módulo estiver embutido no kernel, você provavelmente terá que usar uma opção de boot; se for carregável com modprobe (ou seja, o respectivo arquivo <module>.ko existe em algum lugar na árvore de diretórios /lib/modules/<kernel version>/ ), você poderá usar modprobe e / ou /etc/modprobe.d/ .