10 puntos por GN⁺ 2024-11-04 | 4 comentarios | Compartir por WhatsApp
  • 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

 
iolothebard 2024-11-08

¿Y acaso es solo systemd…?

 
ganadist 2024-11-06

El init de 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.

 
plaaat0102 2024-11-05

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 systemd hay momentos en los que casi me dan ganas de llorar...

 
GN⁺ 2024-11-04
Opiniones de Hacker News
  • systemd resuelve muchos problemas, y la comunidad también es muy receptiva y de gran ayuda

    • A veces hay problemas extraños, pero siempre existe una solución
    • El uso de memoria no es importante, y la mayoría de los dispositivos Linux embebidos tienen 1 GB de RAM o más
    • En dispositivos pequeños se usa Zephyr o FreeRTOS
  • OpenEmbedded/Yocto, Devuan y Gentoo ofrecen varios sistemas de init

  • Rustysd es un gestor de servicios que replica parcialmente el comportamiento de systemd

    • Proporciona funciones core y puede ofrecer un gestor de servicios similar a systemd en varias plataformas
  • Quienes prefieren systemd suelen ser principalmente administradores de distribuciones

    • systemd ofrece varias utilidades del sistema en una sola compilación grande
  • La filosofía Unix consiste en que herramientas pequeñas resuelvan problemas

    • systemd era pequeño al principio, pero ahora incluso permite videoconferencias basadas en web
  • runit es excelente para supervisar aplicaciones y servicios

    • Está integrado en BusyBox y es muy liviano
    • La configuración es muy simple, e incluye funciones de logging
    • Implementa la filosofía Unix casi a la perfección
  • Es posible ejecutar sistemas embebidos sin udev

    • Es posible cuando se usan periféricos fijos y módulos del kernel
  • La RPi convierte el factor de forma de una placa de control industrial en un escritorio

    • Mucho software no fue escrito pensando en este segmento
  • Chimera Linux está avanzando en una dirección interesante en gestión de servicios y de inicio de sesión/asientos

    • El uso de extensiones de gnulibc y gcc por parte de systemd es problemático
  • El tamaño de instalación de systemd es el mayor problema en Linux embebido

    • En dispositivos con 64M de RAM y 128M de flash NAND, 5M de systemd es ineficiente
  • systemd causa problemas en Linux embebido al usar 250 MB de RAM

    • No es un gran problema en sistemas que no consideran distribuciones mainstream
  • SysVInit depende de utilidades externas para iniciar y detener procesos

    • Incluso en casos mínimos, se necesita un shell para ejecutar scripts de init