Após pouco mais de três meses de desenvolvimento, o lançamento de a nova versão de sistema 259. Esta atualização introduz alterações na arquitetura do sistema, destacando a abertura a bibliotecas padrão alternativas, uma gestão de privilégios mais rigorosa e requisitos técnicos mais estritos para versões futuras.
Um dos movimentos mais comentados neste ciclo é a transição para uma maior modularidade e a eliminação de dependências legadas, abrindo caminho para um ecossistema Linux que está definitivamente se afastando dos padrões das décadas passadas.
Principais novos recursos do systemd 259
A nova versão 259 do systemd se destaca por ser a Primeira versão a adicionar compatibilidade parcial com Musl, a popular biblioteca padrão C em distribuições leves e ambientes embarcados. Esta integração Isso é gerenciado através da opção libc no sistema de compilação Meson. No entanto, como o Musl não implementa a funcionalidade NSS (Name Service Switch), vários componentes do systemd permanecem desativados nessa configuração.
Entre os aausências notáveis ​​ao compilar com Musl encontrado nss-systemd, nss-resolve, systemd-homed, systemd-userdbd e o parâmetro DynamicUserAlém disso, não é possÃvel executar o systemd-nspawn sem privilégios nesta biblioteca. Os desenvolvedores alertaram que a manutenção desse suporte em versões futuras dependerá da demanda da comunidade e da estabilidade de quaisquer camadas de compatibilidade adicionais que forem desenvolvidas.
Outra novidade da nova versão é no utilitário run0, projetado como uma alternativa moderna e segura ao sudo, que recebeu a nova opção – capacitar. Esta função Permite que você faça login com privilégios elevados. sem precisar alterar o identificador de usuário (UID) para root.
Além disso, em vez de delegar o controle total Por meio da troca de usuários, o parâmetro –empower utiliza indicadores de capacidade do kernel, como CAP_SYS_ADMIN. conceder as autorizações estritamente necessárias para fazer chamadas de sistema privilegiadas. Além disso, os processos resultantes são integrados a um grupo especÃfico que lhes concede acesso à s ações do Polkit, mantendo uma separação de privilégios mais robusta do que o modelo sudo tradicional.
O fim de uma era: Adeus ao System V e aos novos requisitos
systemd 259 marca o inÃcio do fim para compatibilidade com o Scripts de serviço do System VFoi anunciado que, na próxima versão, componentes legados como systemd-sysv-generator, systemd-rc-local-generator e systemd-sysv-install serão removidos permanentemente.
Juntamente com essa limpeza de código antigo, os requisitos mÃnimos de software para o ecossistema systemd foram significativamente elevados:
- Kernel do Linux: Versão mÃnima 5.10.
- Glibc: 2.34.
- OpenSSL: 3.0.0.
- Util-linux: 2.37.
- Outros: Python 3.9.0, cryptsetup 2.4.0 e libseccomp 2.4.0.
Modularidade e carregamento dinâmico em libsystemd
Como parte de uma iniciativa para reduzir dependências direto na inicialização, libsystemd agora usa carregamento dinâmico via dlopen() Para bibliotecas como libacl, libblkid, libseccomp, libselinux e libmount, o sistema carregará essas bibliotecas na memória somente quando suas funções especÃficas forem necessárias para um processo, otimizando o uso de recursos. Além disso, a funcionalidade do libcap foi integrada diretamente ao libsystemd, simplificando a cadeia de dependências.
El O tratamento de logs teve sua configuração padrão alterada: o modo de armazenamento do diário (Blog) mudanças de "automático" para "persistente", independentemente de o diretório /var/log/journal já existir anteriormente.
Na área de redes e virtualização:
- systemd-networkd e systemd-nspawn: O suporte para regras NAT usando iptables foi removido, deixando o nftables como a única opção compatÃvel.
- systemd-resolvido: Agora é possÃvel usar hooks locais (hooks) em /run/systemd/resolve.hook/ para intervir em solicitações de resolução de nomes.
- systemd-importado: A lógica para trabalhar com arquivos TAR foi integrada nativamente. Além disso, tanto o `importd` quanto o `machined` agora podem ser executados no nÃvel do usuário, permitindo o gerenciamento de imagens no diretório local do usuário (`~/.local/state/machines/`).
Outras inovações
A API baseada em protocolo A Varlink recebeu melhorias que permitem o acesso às configurações do serviço e a realização de chamadas IPC. tais como Reload() e Reexecute(). Para administradores de sistema, a inclusão da propriedade OOMKills nos serviços será muito útil, pois permitirá rastrear quantas vezes um processo foi encerrado por falta de memória diretamente das ferramentas do systemd.
Finalmente, o processo de inicialização do sistema torna-se mais moderno com a remoção do suporte ao TPM 1.2 no systemd-boot, concentrando todos os esforços de segurança no padrão TPM 2.0.
Se estiver interessado em saber mais sobre o assunto, pode consultar o detalhes no link a seguir.