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.