- systemd es un conjunto integrado de aplicaciones relacionadas con la administración del sistema que reemplaza al proceso
init tradicional e incluye varias funciones como gestión de sesiones de usuario, gestión de dispositivos, registro y temporización
- A la mayoría de los usuarios de Linux no les interesan las ventajas y desventajas de systemd, pero algunos se oponen o lo apoyan con fuerza
- Las distribuciones Linux principales adoptaron systemd, principalmente por sus ventajas en entornos de escritorio generales
Problemas en Linux embebido
- En los sistemas embebidos, las ventajas de systemd pueden convertirse en desventajas
- Tomando como ejemplo el uso de memoria en una Raspberry Pi 3B, systemd usa más recursos que SystemV init
- Los demonios de registro de systemd, como systemd-journald, también consumen muchos recursos
- En entornos embebidos se necesitan alternativas más pequeñas, y systemd no está optimizado para este tipo de entorno
La complejidad de systemd y el tiempo de arranque
- systemd puede reducir el tiempo de arranque, pero en sistemas embebidos ese tiempo puede incluso aumentar
- La complejidad y las funciones de systemd son necesarias en entornos generales, pero en entornos embebidos muchas veces resultan innecesarias
La ausencia de alternativas
- Muchos de los servicios que systemd reemplaza tienen alternativas más pequeñas y rápidas en entornos embebidos, pero en algunos casos ya no existen alternativas
- Por ejemplo, el demonio
udev fue integrado al proyecto systemd y casi no tiene alternativas independientes
La expansión de systemd y la disminución de alternativas
- systemd incluye muchas funciones y resulta conveniente para los administradores de distribuciones
- A medida que systemd sigue absorbiendo más funciones, disminuye la motivación para mantener alternativas
- Esto puede generar problemas cuando systemd no es adecuado para un entorno embebido
Conclusión
- systemd puede ser menos efectivo en entornos embebidos que las alternativas tradicionales
- Cada vez es más difícil encontrar distribuciones Linux principales que no usen systemd
- La expansión de systemd está llevando a Linux hacia un futuro en el que será difícil imaginarlo sin systemd
- Es necesario estar preparados para desarrollar o mantener alternativas y seguir dando soporte a distribuciones que no usen systemd
4 comentarios
¿Y acaso es solo
systemd…?El
initde busybox es un excelente reemplazo de systemd para dispositivos embebidos.Y si es un sistema con limitaciones como un dispositivo embebido, no hace falta usar
udev; se pueden incluir nodos de dispositivo fijos en el sistema de archivos raíz.Aunque mi caso es una excepción entre las excepciones, como alguien que instala Ubuntu en una Galaxy Tab y le pone VS Code para usarla, por culpa de
systemdhay momentos en los que casi me dan ganas de llorar...Opiniones de Hacker News
systemdresuelve muchos problemas, y la comunidad también es muy receptiva y de gran ayudaOpenEmbedded/Yocto, Devuan y Gentoo ofrecen varios sistemas de init
Rustysd es un gestor de servicios que replica parcialmente el comportamiento de
systemdsystemden varias plataformasQuienes prefieren
systemdsuelen ser principalmente administradores de distribucionessystemdofrece varias utilidades del sistema en una sola compilación grandeLa filosofía Unix consiste en que herramientas pequeñas resuelvan problemas
systemdera pequeño al principio, pero ahora incluso permite videoconferencias basadas en webrunites excelente para supervisar aplicaciones y serviciosEs posible ejecutar sistemas embebidos sin
udevLa RPi convierte el factor de forma de una placa de control industrial en un escritorio
Chimera Linux está avanzando en una dirección interesante en gestión de servicios y de inicio de sesión/asientos
gnulibcygccpor parte desystemdes problemáticoEl tamaño de instalación de
systemdes el mayor problema en Linux embebidosystemdes ineficientesystemdcausa problemas en Linux embebido al usar 250 MB de RAMSysVInit depende de utilidades externas para iniciar y detener procesos