Systemd 258 abandona cgroup v1 e kernels antigos, focando em segurança e controle de recursos

Modernização total: adeus cgroup v1, olá segurança e controle!

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Lançado como release candidate dias antes de sua chegada final, systemd 258 representa uma virada de página na modernização do userspace Linux. O projeto elimina componentes herdados — de cgroup v1 a runlevels System V — para concentrar esforços em recursos contemporâneos de segurança, controle de recursos e automação. Para administradores de sistemas, desenvolvedores de distribuições e mantenedores de infraestrutura, entender esses cortes e as novas funcionalidades é fundamental para planejar migrações sem surpresas e aproveitar as melhorias.

Principais mudanças incompatíveis

  • Fim do cgroup v1: o systemd 258 monta exclusivamente o cgroup v2 em todos os boots e containers, eliminando de vez as hierarquias “legacy” e “hybrid”.
  • Nova linha de base do kernel (≥ 5.4, recomendada 5.7): distribuições que ainda dependem de kernels antigos precisarão atualizar ou permanecer em releases anteriores do systemd.
  • Remoção total do modelo System V:
    • /dev/initctl, comandos init, telinit e runlevel, alvos runlevel[0-6].target e o conceito de runlevel foram eliminados.
    • Suporte a SysV scripts permanece apenas até a v259 – comece a portar para unidades nativas já.
  • TTYs mais restritivos: dispositivos tty/pts agora são criados com modo 0600 (antes 0620), bloqueando escrita de outros usuários por padrão.
  • OpenSSL passa a ser o único backend criptográfico para systemd-resolved e systemd-importd; gnutls/gcrypt foram removidos.
  • Meson options e variáveis EFI/booleanas antigas (SystemdOptions, -Dsplit-usr, -Drootlibdir, -Ddefault-hierarchy etc.) foram descartadas.
  • Prefixo “!!” em ExecStart= e mangling de teclas F20–F23 para microfone/touchpad desaparecem; atualize unidades e X11 drivers, respectivamente.

Alertas de deprecação futuros

  • Scripts SysV e backend iptables/libiptc deixam de funcionar na v259.
  • Variável EFI FactoryReset será removida na v260; use FactoryResetRequest.
  • Meson -Dintegration-tests= será eliminado em release posterior.

Novidades no gerenciador de serviços (PID 1)

  • StateDirectoryQuota=, CacheDirectoryQuota=, LogsDirectoryQuota=: cotas por diretório de serviço via project-quota em ext4/xfs.
  • ConcurrencySoftMax=/HardMax= em slices: pools hierárquicos de jobs evitam explosão de serviços simultâneos.
  • ProtectHostname=private cria namespace de hostname mutável apenas dentro da unidade.
  • PrivateUsers=full mapeia todo o espaço UID 32-bit, fortalecendo isolamento.
  • DelegateNamespaces= define quais namespaces ficam sob controle do serviço.
  • PrivateBPF= monta bpffs isolado; opções BPFDelegate permitem BPF em containers sem privilégios.
  • RandomizedOffsetSec= em timers, Varlink API de introspecção de unidades e novo KillUnitSubgroup() facilitam automação e depuração.

Melhorias no ecossistema systemd

systemd-networkd

  • Timeout de DAD IPv4 reduzido para 200 ms (configurável).
  • Suporte a MPLS, DHCPv6 SIP, BOOTP e filtros VNIFilter/External em VXLAN.

systemd-resolved

  • Redução de timeout quando consultas A/AAAA são assimétricas, melhorando falhas IPv6.
  • Delegate zones: roteamento de domínios para servidores DNS específicos via .dns-delegate.

udev / hwdb

  • Interface Varlink pública substitui IPC “control”; udevadm –include-parents e –json expandem testes.
  • Propriedades para A/V lights, Azure MANA e EEE; criação de links by-id para hidraw.

journalctl & journald

  • journalctl --follow sai limpo em SIGINT/SIGTERM.
  • --synchronize-on-exit=yes garante flush antes de terminar.

Foco em segurança e modernização

A retirada de tecnologias legadas (cgroup v1, SysV, kernels pré-5.4) simplifica o código-base e fecha superfícies de ataque. Novas cotas de diretório por serviço, namespaces delegáveis e restrições de TTY fortalecem controles finos de recursos e de privacidade. O backend único em OpenSSL reduz complexidade criptográfica, enquanto melhorias em resolved e networkd elevam a robustez de redes corporativas e containers.

Compartilhe este artigo