O utilitário sysctl permite que um administrador do Linux consulte e modifique os parâmetros do kernel em tempo de execução. Por exemplo, para alterar o swappiness de um sistema Linux para 0, podemos:
echo 0 > /proc/sys/vm/swappiness
Ou podemos usar sysctl
:
sysctl -w vm.swappiness=0
Para tornar o valor persistente, o Archwiki sugere gravar vm.swappiness=0
no /etc/sysctl.d/99-swappiness.conf
arquivo.
Para inicialização silenciosa persistente , Archwiki sugere escrever kernel.printk = 3 3 3 3
para/etc/sysctl.d/20-quiet-printk.conf
Da mesma forma, tenho um 99-sysrq.conf
no meu sistema que também funciona sem o número.
Archwiki tem uma página sysctl que menciona a importância do número:
Observação: a partir da versão 207 e 21x, o systemd aplica apenas as configurações de
/etc/sysctl.d/*.conf
e/usr/lib/sysctl.d/*.conf
. Se você tiver personalizado/etc/sysctl.conf
, precisará renomeá-lo como/etc/sysctl.d/99-sysctl.conf
. Se você tivesse, por exemplo/etc/sysctl.d/foo
, você precisa renomeá-lo para/etc/sysctl.d/foo.conf
.
O que o número em 99-swappiness.conf
e 20-quiet-printk.conf
denota aqui?
O número no início do nome dos arquivos de configuração é utilizado como uma forma de fácil leitura para classificá-los, com o objetivo de definir a ordem de precedência entre as entradas que eles contêm.
De
man 5 sysctl.d
1 (grifo meu):1 A página man para
sysctl.d
é enviada como parte dosystemd
pacote e o texto citado vem da versão 244.3 no Arch Linux. A redação difere até certo ponto, mas não significativamente (para os propósitos desta P/R), tanto da versão atualmente disponível no projeto de páginas de manual do Linux quanto da versão que você pode encontrar em freedesktop.org .O prefixo estabelece uma ordem natural em que os arquivos são lidos e aplicados. No caso de configurações conflitantes, as configurações em
highnumber-something
substituirão de forma confiável as configurações delownumber-something
.Comumente, os diretórios do Linux com o sufixo
.d
, como/etc/sysctl.d
ou/etc/yum.repos.d
, contêm arquivos de configuração, muitas vezes com o sufixo.conf
. Os arquivos nesses tipos de diretórios serão classificados e lidos em ordem lexicográfica.Para que os arquivos em um
.d
diretório sejam executados na ordem desejada, para carregar alguma configuração antes de outra, então, por convenção, prefixamos o nome do arquivo com um número para controlar mais facilmente a ordem em que os arquivos são lidos.Por exemplo, se você tivesse os arquivos:
Eles serão classificados e lidos nesta ordem.
Os mesmos arquivos sem o prefixo numérico seriam classificados na ordem:
Você pode ver como o prefixo numérico ajuda a implementar a ordem desejada.