Rain WikiWindows · Linux · Android

Unidades do systemd e systemctl

ServiçoDistribuições com systemd

Uma unidade do systemd é um objeto de configuração que o systemd, o sistema de inicialização da maioria das distribuições Linux, gerencia: serviços, sockets, temporizadores, montagens e mais. As unidades são descritas por arquivos de unidade como /etc/systemd/system/<name>.service e controladas com o comando systemctl.

1Tipos de unidade

.service executa um programa, .socket inicia um serviço quando uma conexão chega, .timer executa uma unidade em um agendamento, .mount e .automount lidam com sistemas de arquivos, .target agrupa unidades em estados como multi-user.target.

2Onde os arquivos de unidade residem

Pacotes instalam unidades em /usr/lib/systemd/system (ou /lib/systemd/system). Alterações locais pertencem a /etc/systemd/system, que tem precedência. systemctl edit <unit> cria uma substituição (drop-in) em vez de alterar o arquivo do pacote.

3Comandos do dia a dia

systemctl status <unit> mostra o estado e as últimas linhas de log. 'start', 'stop' e 'restart' agem agora; 'enable' e 'disable' controlam a inicialização no boot; 'enable --now' faz ambos. systemctl --failed lista unidades com falha, e systemctl daemon-reload relê os arquivos de unidade após alterações.

Como verificar um serviço com falha

  1. Listar unidades com falha: systemctl --failed
  2. Mostrar o estado e mensagens recentes: systemctl status <unit>
  3. Ler o log completo desta inicialização: journalctl -u <unit> -b
  4. Após corrigir a configuração: sudo systemctl restart <unit>

Cuidados

  • Altere unidades de pacotes com systemctl edit, não editando arquivos em /usr/lib/systemd/system: atualizações os sobrescrevem.
  • Não desabilite unidades que você não conhece, como systemd-journald ou dbus.

Fontes

  1. systemctl(1) man7.org
  2. systemd.unit(5) man7.org
  3. systemd.timer(5) man7.org

Última revisão: