O systemd se tornou um dos softwares integrado as distribuições Linux mais polêmico, na época do seu lançamento. Ele é basicamente um daemon (init) que tem como responsabilidade, realizar a inicialização dos serviços do sistema e gerenciar o seu funcionamento e seus recursos. Ele se notabilizou, por ter quebrado uma importante filosofia dos sistemas Unix tradicionais: a de que cada componente de software realiza uma única (e bem feita) tarefa…
“A new component ‘systemd-sysupdate’ has been added that automatically discovers / downloads / installs A/B style updates for the host installation itself or container images / portable service images. Systemd-sysupdate is currently considered experimental. This OS updating tool has been worked on by Red Hat / systemd developers going back to last summer.”
— by Phoronix.
O systemd integra diversas funções que antes, eram feitas por componentes de softwares externos e por isto, muitos o criticavam na época pela possibilidade de se transformar (futuramente) um software inchado e monolítico, tornando as distribuições Linux menos flexíveis, versáteis e modular. Apesar das críticas (e apreensões), o novo daemon se tornou popular e em alguns anos depois, se tornou o daemon init número #1 das distribuições Linux, contribuindo bastante para a uniformidade destes sistemas (até antes, cada uma adotava o init que desejava e justamente por isto, inicializavam e carregavam os serviços de maneira diferente, exigindo dos administradores de sistemas mais conhecimentos técnicos para lidar com cada distribuição).
Por isto, as novas versões do systemd chamam a atenção não só pelas melhorias e correções, mas também pelas novas funções a serem integradas. Na versão anterior (250), ele se destacou por incluir o systemd-homed para gerenciar as contas de usuários do sistema de forma independente. E agora, a nova versão (251) traz como destaque, uma nova ferramenta designada para listar, baixar e instalar as atualizações necessárias para o sistema, sendo particularmente importante para as imagens de containeres e outros serviços portáveis: a systemd-sysupdate! Ela já estava sendo desenvolvida desde a metade do ano passado (verão/2021), pelos desenvolvedores Red Hat (e provavelmente irá aparecer antes no Fedora).
Dentre outras novidades, destacam-se a migração do código-fonte escrito em C para o padrão C11, mantendo os cabeçalhos de APIs públicos ainda na antiga C89 por questões de compatibilidade; melhorias na entropia para a geração de valores randônicos através da instrução RdRand; várias melhorias na especificação do carregador de inicialização e várias melhorias na instalação do kernel; a possibilidade de habilitar mais configurações de serviço para agora também funcionar com serviços de usuário sem privilégios; novos arquivos de banco de dados de hardware (HWDB) para dispositivos portáteis e dispositivos de produção A/V; além de pequenas outras melhorias para os componentes já existentes, como o systemd-oomd, systemd-networkd e systemd-resolved.
Para maiores informações, não deixem de consultar as notas de lançamento.
Houve uma época em que fiquei preocupado com as repercurções em relação ao novo projeto, bem como as suas abordagens em relação a filosofia Unix, que por sua vez ameaçava a quebrar a compatibilidade com o padrão POSIX e afetar outros sistemas operacionais Unix-like, como os BSDs. O líder do projeto Lennard Poettering chegou a ser bastante criticado (e ameaçado), por promover profundas mudanças (através do systemd) em prol da evolução do Linux, pois na sua visão a aderência aos conceitos oriundos dos anos 70 só iriam impor amarras ao sistema, mantendo as bases de sua fragmentação e tornando a sua utilização mais complexa, afastando os usuários comuns. Por isto, concordava (na época) com a sua posição.
Mas só confiarei mesmo, se estes recursos estiverem presentes do Debian… &;-D