- O systemd é um conjunto integrado de aplicações relacionadas ao gerenciamento do sistema, substituindo o processo
init tradicional e incluindo várias funções como gerenciamento de sessões de usuário, gerenciamento de dispositivos, logging e temporização
- A maioria dos usuários de Linux não se interessa pelos prós e contras do systemd, mas alguns são fortemente contra ou a favor
- As principais distribuições Linux adotaram o systemd, principalmente por causa das vantagens em ambientes de desktop comuns
Problemas no Linux embarcado
- Em sistemas embarcados, as vantagens do systemd podem se tornar desvantagens
- Usando o consumo de memória no Raspberry Pi 3B como exemplo, o systemd usa mais recursos do que o SystemV init
- Os daemons de logging do systemd, como o
systemd-journald, também consomem muitos recursos
- Em ambientes embarcados, são necessárias alternativas menores, e o systemd não é otimizado para esses cenários
Complexidade do systemd e tempo de boot
- O systemd pode reduzir o tempo de boot, mas em sistemas embarcados ele pode, ao contrário, aumentá-lo.
- A complexidade e os recursos do systemd são necessários em ambientes gerais, mas muitas vezes são desnecessários em ambientes embarcados.
Ausência de alternativas
- Muitos dos serviços substituídos pelo systemd têm alternativas menores e mais rápidas para ambientes embarcados, mas alguns já não têm mais alternativas
- Por exemplo, o daemon
udev foi integrado ao projeto systemd, e quase não há alternativas independentes
Expansão do systemd e redução das alternativas
- O systemd inclui muitas funcionalidades e oferece conveniência para os mantenedores de distribuições.
- À medida que o systemd absorve cada vez mais funções, diminui a motivação para manter alternativas.
- Isso pode causar problemas quando o systemd não é adequado para ambientes embarcados.
Conclusão
- O systemd pode ser menos eficaz em ambientes embarcados do que alternativas tradicionais.
- Está cada vez mais difícil encontrar distribuições Linux principais que não usem systemd.
- Com a expansão do systemd, o Linux está caminhando para um futuro em que será difícil imaginá-lo sem systemd.
- É preciso estar preparado para desenvolver ou manter alternativas e continuar apoiando distribuições que não usam systemd
4 comentários
Onde é que o problema seria só o systemd…
O
initdo busybox é uma excelente alternativa ao systemd para dispositivos embarcados.E, em sistemas com restrições como dispositivos embarcados, não há necessidade de usar o udev; basta incluir nós de dispositivo fixos no sistema de arquivos raiz.
No meu caso é uma exceção das exceções, mas, como alguém que instala Ubuntu em um Galaxy Tab e ainda usa o VS Code nele, às vezes dá até vontade de chorar por causa do systemd..
Opiniões do Hacker News
O systemd resolve muitos problemas, e a comunidade também é muito responsiva e prestativa
OpenEmbedded/Yocto, Devuan e Gentoo oferecem vários sistemas de init
Rustysd é um gerenciador de serviços que replica parte do comportamento do systemd
Quem prefere systemd são principalmente os mantenedores de distribuições
A filosofia Unix consiste em pequenas ferramentas que resolvem problemas
O runit é excelente para supervisionar aplicações e serviços
É possível executar um sistema embarcado sem
udevO RPi transforma o formato de placas de controle industrial em desktop
O Chimera Linux está seguindo uma direção interessante em gerenciamento de serviços e gerenciamento de login/assento
glibcegccpelo systemd é um problemaO tamanho de instalação do systemd é o maior problema no Linux embarcado
O systemd causa problemas no Linux embarcado por usar 250 MB de RAM
O SysVInit depende de utilitários externos para iniciar e parar processos