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

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

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

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