Você pode usar sysctl
para definir alguns dos parâmetros do kernel, especificamente os que estão abaixo de /proc/sys
. Estes podem ser definidos no arquivo /etc/sysctl.conf
ou adicionados a um único arquivo (o método preferido em algumas distro, como o Fedora) no diretório /etc/sysctl.d
. Em distros que têm este diretório, é para customização.
trecho da página man do sysctl
sysctl - configure kernel parameters at runtime
Exemplo
Você pode obter uma lista parcial de quais parâmetros do kernel estão atualmente definidos usando este comando:
$ sudo sysctl -a | head -5
abi.vsyscall32 = 1
debug.exception-trace = 1
debug.kprobes-optimization = 1
dev.cdrom.autoclose = 1
dev.cdrom.autoeject = 0
Fazendo uma alteração
/etc/sysctl.conf
Basta adicionar regras ao arquivo sysctl.conf
.
# sysctl.conf sample
#
kernel.domainname = example.com
; this one has a space which will be written to the sysctl!
kernel.modprobe = /sbin/mod probe
Você também pode usar a linha de comando sysctl.conf
para editar este arquivo sem precisar editá-lo diretamente.
$ sysctl -w kernel.domainname="example.com"
Após fazer alterações, certifique-se de ativá-las.
$ sysctl -p
/etc/sysctl.d
Para adicionar sua substituição a esse parâmetro, basta colocá-lo em um arquivo com nome semelhante aos arquivos que já estão presentes no diretório /etc/sysctl.d
.
$ ls -l /etc/sysctl.d
total 40
-rw-r--r-- 1 root root 77 Jul 16 2012 10-console-messages.conf
-rw-r--r-- 1 root root 490 Jul 16 2012 10-ipv6-privacy.conf
-rw-r--r-- 1 root root 726 Jul 16 2012 10-kernel-hardening.conf
-rw-r--r-- 1 root root 1184 Jul 16 2012 10-magic-sysrq.conf
-rw-r--r-- 1 root root 509 Jul 16 2012 10-network-security.conf
...
Em um arquivo chamado algo como 99-myparam.conf
.
$ more 10-console-messages.conf
# the following stops low-level messages on console
kernel.printk = 4 4 1 7
Onde o nome do parâmetro está à esquerda e seu valor correspondente está à direita.
Veja a man page de sysctl
para mais detalhes.