Systemd pelos olhos de um mantenedor de uma distribuição musl

A migração do Linux em direção ao systemd como init e gerenciador de serviços dominante é elogiada por elevar o nível em confiabilidade, tratamento de dependências e recursos modernos, mas criticada por criar uma monocultura frágil e por emaranhar muitas funções do sistema sob um único guarda-chuva. Os comentaristas destacam pontos concretos de atrito — de registros binários e peculiaridades do systemd-resolved à complexidade, superfície de segurança e inadequação para configurações pequenas ou embarcadas — ao mesmo tempo em que reconhecem que sua integração estreita muitas vezes “simplesmente funciona” em ambientes desktop e corporativos dinâmicos. Alternativas como OpenRC, s6 e nosh são mencionadas, embora muitos observem que dependências do ecossistema e escolhas de governança de projetos tornam difícil que abordagens concorrentes ganhem tração real.

Monocultura, governança e concorrência

  • Muitos concordam que o systemd resolveu problemas reais (paralelismo na inicialização, supervisão, dependências), mas temem que seu domínio crie uma monocultura que bloqueie alternativas e force compatibilidade com bugs.
  • Outros argumentam que a “multicultura” pré-systemd era caótica e inferior; o systemd simplesmente entregou mais do que os concorrentes.
  • Alguns veem a forma como as distros tornaram o systemd efetivamente obrigatório (especialmente no Debian) como uma falha de governança e uma fonte de ressentimento duradouro.
  • Poucos acham que dar suporte a múltiplos sistemas init é viável, mas isso exige recursos e interesse; o Gentoo é citado como prova.

Escopo do PID 1 e arquitetura

  • Debate sobre o que o PID 1 “deveria” fazer: um programa mínimo de primeiro espaço de usuário vs. um orquestrador central para processos, mounts, rede e mais.
  • Alguns defendem colocar o gerenciamento de processos no PID 1 para obter garantias fortes; outros veem a acumulação de funcionalidades (NVMe-over-TCP, etc.) como inchaço de “canivete suíço”.

Gerenciamento de serviços e experiência de administração

  • Muitos administradores elogiam o systemd por ferramentas padronizadas, dependências entre serviços/mounts/sockets, queda de privilégios mais fácil e agregação de logs por unidade no journald.
  • Outros relatam dores: timeouts durante boot/shutdown, dificuldade para interromper unidades com falha e instâncias por usuário confusas (linger, loginctl).
  • Ativação por socket e designs no estilo inetd dividem opiniões: alguns veem listeners centrais como mais seguros e simples; outros enxergam super-servidores como um antipadrão e risco de DoS.

Registro (journald) e complexidade

  • Journals binários com metadados ricos são vistos como poderosos para logging centralizado, mas:
    • São mais difíceis de usar com ferramentas textuais tradicionais (grep/rsync).
    • São mais lentos e às vezes corrompem, levando a alegações de que estão “reinventando um banco de dados”.
  • Os muitos tipos de unidade e caminhos de busca do systemd melhoram a flexibilidade, mas prejudicam a “localidade do comportamento”, tornando os sistemas mais difíceis de raciocinar.

DNS e rede (systemd-resolved)

  • O resolved recebe críticas significativas: problemas com DNSSEC, comportamento frágil em configurações não triviais e confusão sobre sua prontidão para produção.
  • Os apoiadores enfatizam recursos como DNS dividido ligado a interfaces/VPNs e integração estreita com outros componentes do systemd; os críticos observam que configurações semelhantes são possíveis com dnsmasq, embora com mais cola.

Alternativas e reescritas

  • Várias alternativas são mencionadas: OpenRC, s6/66suite, runit, dinit, nosh e reimplementações em Rust visando compatibilidade parcial com systemd.
  • Alguns acreditam que um sucessor mais limpo, no estilo do PipeWire, possa eventualmente surgir, mas temem que o ritmo do systemd e o lock-in do ecossistema tornem isso difícil hoje.