Valores padrão em configurações de procfs e sysctl ausentes

2

Eu tenho várias perguntas sobre o tratamento dos valores de procfs ou sysctl .

Um recurso pode ser ativado com um arquivo / proc ausente?

A entrada /proc ou sysctl sempre significa que a opção não está habilitada nesse kernel específico? Em outras palavras: Um recurso pode ser ativado ou suportado por um kernel sem que uma entrada /proc correspondente esteja disponível? Eu suponho que ninguém alterou a fonte do kernel de uma maneira para remover a parte do código que preenche /proc .

Se puder, o padrão será um valor específico?

Gostaria de saber se valores /proc são padronizados para um valor se o arquivo proc correspondente não existir. Se por algum motivo meu kernel suporta aslr , mas /sys/kernel/randomize_va_space não existe, isso resulta em aslr estar ativo ou não?

O comportamento é o mesmo para todas as configurações?

O comportamento é o mesmo para todos os kernels, versões e recursos? Ou eu tenho que obter essa informação para cada configuração individualmente?

Por exemplo:

Se /proc/sys/kernel/sysrq não existe na minha máquina, isso significa

  1. que o recurso do Magic SysRQ não está disponível no meu kernel?

  2. que está disponível?

  3. que pode estar disponível ou não dependendo de alguma outra opção que não seja conhecida por mim?

  4. que o código específico para esse recurso contém um padrão embutido em código e essa configuração é diferente para cada recurso no kernel? Então, se eu quiser saber qual o valor padrão, tenho que dar uma olhada no código para cada recurso.

Existe uma boa documentação disponível onde posso ler sobre o significado das configurações do kernel. Existe um documento que explica o comportamento padrão?

    
por user5626466 03.05.2017 / 13:57

1 resposta

1
Os diretórios

/proc e /sys são para expor os "botões de ajuste" do kernel Liunx. É perfeitamente possível, embora seja muito raro, ter alguns recursos do kernel funcionando sem nenhuma entrada em /proc ou /sys - por exemplo, se esse recurso do kernel não tiver nenhum parâmetro, nem nada a publicar para o usuário, entradas são necessárias.

No entanto, se a documentação do kernel tem algumas entradas documentadas / referenciadas, mas você pode não encontrá-las, duas possibilidades surgem:

  • você está usando um kernel antigo, sem esses botões;
  • você não está usando um vanilla kernel - ou seja, seu kernel é mais ou menos strongmente customizado por alguém (seu mantenedor de distros, provavelmente).

Se você acha que alguns recursos estão habilitados em seu kernel, mas você não pode encontrar entradas em /proc e /sys , dê uma olhada no seu arquivo de configuração do kernel (geralmente disponível através de um arquivo em /boot ou em /proc/config.gz )

    
por 12.05.2017 / 00:19