Isso não é possível em geral: o kernel não mantém os valores originais (pelo menos no Linux, não, e isso provavelmente ocorre com outras variantes do unix). O valor da configuração é armazenado em uma variável; Quando você altera a configuração, a memória que contém a variável é irreversivelmente atualizada.
Para a maioria das configurações, o valor inicial da variável é uma constante que é determinada no tempo de compilação e armazenada no binário do kernel. Assim, você poderia, em princípio, inspecionar o binário do seu kernel para encontrar o valor padrão. Você precisaria localizar o símbolo correspondente à configuração em que está interessado e seguir o endereço desse símbolo no binário do kernel. Iniciar seu kernel em uma máquina virtual seria menos trabalhoso.
Para a maioria das configurações, você pode procurar na fonte do kernel - kernel/sysctl.c
e em outros arquivos. Você verá definições como
{
.procname = "rmem_max",
.data = &sysctl_rmem_max,
…
},
(in net/core/sysctl_net_core.c
), a partir do qual você pode rastrear a inicialização da sysctl_rmem_max
variável . Embora este seja inicializado a partir de uma constante, é necessário um pouco de leitura do código C para expandir.
Gilles 'SO- parar de ser mau'
fonte