sexta-feira, 1 de junho de 2012

sysctl.d e tmpfiles.d

Com o systemd um dos objetivos é ter o mínimo possível de shell script durante o boot. Um cenário muito comum é termos que alterar configurações do diretório /sys. Isso era feito com a ferramenta sysctl e, quando a opção não existia nela, através de um script posto geralmente em /etc/rc.d/rc.local.

Existem substitutos no systemd para os dois casos.

sysctl

Qualquer arquivo com a extensão .conf que estiver presente no diretório /etc/sysctl.d/ é aplicado ao kernel. O arquivo é constituído de uma opção por linha, no formato <parâmetro>=<valor>. Obtenha uma lista dos parâmetros surportados pelo seu kernel rodando sysctl -a.

Ex.
/etc/sysctl.d/10-bolo.conf

contendo

vm.swappiness=80

Resto

Alguns parâmetros presentes em /sys, porém, não existem na interface sysctl. Para eles podemos usar o tmpfiles.d, que desde o systemd 39 tem o tipo "w" para este propósito -- escrever strings de texto em arquivos de configuração.

Ex.
/etc/tmpfiles.d/10-torta.conf

contendo

w /sys/block/sda/queue/scheduler - - - - deadline

No Fedora 17 a política do SELinux tinha um bug que não permitia o systemd-tmpfiles escrever em /sys. Bug reportado e corrigido na atualização selinux-policy-3.10.0-128.fc17.

Mais informações:
http://www.freedesktop.org/software/systemd/man/sysctl.d.html
http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html

Nenhum comentário:

Postar um comentário