En un contexto donde la mayoría de las distribuciones Linux utilizan systemd como gestor de servicios, SysVinit continúa siendo mantenido y actualizado. Hoy se ha lanzado SysVinit 3.10, introduciendo una nueva funcionalidad y algunas correcciones. La novedad principal de esta versión es la mejora de compatibilidad con el comando machinectl de systemd.
Mejor interoperabilidad con systemd
La única nueva característica de SysVinit 3.10 es el soporte para el comando «machinectl stop» de systemd, que se utiliza para apagar el sistema de manera ordenada. El anuncio de SysVinit 3.10 explica:
«Cuando el usuario ejecuta ‘machinectl stop’, systemd envía SIGRTMIN+4 al PID 1 en el contenedor, y espera que esto inicie un apagado ordenado (power-off). SysVinit ahora captura esta señal e inicia un apagado (shutdown -hP now).»
Corrección de errores y mejoras en la documentación
Además de la compatibilidad con «machinectl stop», SysVinit 3.10 soluciona un problema con bootlogd, que podía causar que el servicio entrara en un bucle infinito, utilizando excesivamente la CPU al intentar escribir en un dispositivo abierto sin éxito. Ahora, bootlogd debería fallar de manera más eficiente cuando no puede escribir en un archivo o dispositivo abierto.
También se ha corregido el formato de la página del manual «shutdown.8», limpiando espacios en blanco y caracteres especiales.
SysVinit: Un clásico en la gestión de servicios
SysVinit es un programa clásico de inicialización (PID 1) para sistemas GNU/Linux y otros sistemas UNIX/POSIX. Diseñado para ser pequeño y sencillo, su objetivo es mantenerse fuera del camino, iniciando otros servicios del sistema y actuando como proceso padre para servicios que ya no tienen un proceso padre activo.
SysVinit utiliza el concepto de runlevels, que son configuraciones del sistema que permiten solo un grupo seleccionado de procesos. Los procesos que init genera para cada uno de estos runlevels se definen en el archivo /etc/inittab. El runlevel puede ser cambiado por el administrador utilizando el comando telinit, seleccionando así el runlevel deseado.
Detalles adicionales
Más detalles sobre esta pequeña pero significativa actualización de SysVinit 3.10 están disponibles en GitHub: SysVinit 3.10.
En resumen, el lanzamiento de SysVinit 3.10 no solo mejora la interoperabilidad con systemd, sino que también introduce correcciones importantes que contribuyen a la estabilidad y eficiencia del sistema.