# Unidades do systemd e systemctl

> O que é uma unidade do systemd, os tipos de unidade comuns e como iniciar, parar, habilitar e inspecionar serviços com o systemctl.

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.

## Tipos 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.

## Onde 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.

## Comandos 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

- [systemctl(1)](https://man7.org/linux/man-pages/man1/systemctl.1.html)
- [systemd.unit(5)](https://man7.org/linux/man-pages/man5/systemd.unit.5.html)
- [systemd.timer(5)](https://man7.org/linux/man-pages/man5/systemd.timer.5.html)

Última atualização: 2026-10-08
URL: https://raincleaner.eu/pt/wiki/linux/systemd-units
