Nuevas versiones del gestor de servicios s6-rc y del sistema de inicialización s6-linux-init

Se ha presentado la versión del gerente de servicios s6-rc 0.5.6.0, diseñada para gestionar el lanzamiento de scripts de inicialización y servicios. Acepta el seguimiento del árbol de dependencias y el inicio o la detención automática de servicios para alcanzar el estado especificado. La herramienta s6-rc puede utilizarse tanto en sistemas de inicialización como para organizar el lanzamiento de servicios arbitrarios en función de eventos que reflejan el cambio de estado del sistema. El sistema admite scripts de inicialización compatibles con sysv-init y puede importar información sobre dependencias de sysv-rc o OpenRC. El código está escrito en C y se distribuye bajo la licencia ISC.

El gestor de servicios s6-rc incluye un conjunto de utilidades para iniciar y detener procesos en funcionamiento prolongado (daemon) o scripts de inicialización que finalizan inmediatamente. Durante su funcionamiento, se garantiza el inicio paralelo de servicios que no se superponen y se asegura una secuencia de ejecución de scripts que se repite en diferentes lanzamientos. Todos los cambios de estado se procesan teniendo en cuenta las dependencias, por ejemplo, al iniciar algún servicio se lanzarán automáticamente las dependencias necesarias para su funcionamiento, y al detenerlo se detendrán también los servicios dependientes.

A diferencia de otros gestores de servicios, s6-rc admite la construcción anticipada (en modo offline) del grafo de dependencias para el conjunto de servicios existentes, lo que permite realizar un análisis intensivo de recursos por separado, en lugar de durante el arranque o el cambio de estado. Además, el sistema no es monolítico y se divide en una serie de módulos individuales y reemplazables, cada uno de los cuales, de acuerdo con la filosofía Unix, resuelve solo una tarea específica. El proyecto s6-rc se adhiere a la filosofía del minimalismo (no contiene nada innecesario) y consume el mínimo de recursos.

En lugar de los niveles de ejecución (runlevel), s6-rc propone el concepto de conjuntos (bundles), que permite agrupar servicios según criterios arbitrarios y tareas a resolver. Para mejorar la eficiencia se utiliza una base de datos de dependencias compilada, que se genera con la utilidad s6-rc-compile a partir del contenido de directorios con archivos para iniciar/detener servicios. Se ofrecen utilidades como s6-rc-db y s6-rc-update para el análisis y manipulación de la base de datos.

Simultáneamente se han formado nuevas versiones de los paquetes complementarios que acompañan a s6-rc:

  • s6 2.13.2.0 — utilidades para el seguimiento y gestión de procesos (análogo a daemontools y runit). Se admiten funcionalidades como la reinicialización de procesos tras su finalización inesperada, el lanzamiento de un manejador (activación de servicio) al acceder a un puerto de red, el registro de eventos (sustitución de syslogd) y la concesión controlada de privilegios adicionales (análogo a sudo).
  • s6-linux-init 1.1.3.0 — implementación del proceso init para sistemas operativos basados en el núcleo de Linux, utilizada para crear sistemas de inicialización que emplean los paquetes s6 y s6-rc para gestionar servicios y scripts.
  • s6-networking 2.7.1.0 — conjunto de utilidades para crear servicios de red, similar a ucspi.
  • s6-frontend — envoltura para recrear la funcionalidad de daemontools y runit sobre s6.
  • s6-portable-utils 2.3.1.0 — conjunto de utilidades Unix típicas, como cut, chmod, ls, sort y grep, optimizadas para consumir recursos mínimos y distribuidas bajo la licencia ISC.
  • s6-linux-utils 2.6.3.0 — conjunto de utilidades vinculadas a Linux, como chroot, freeramdisk, logwatch, mount y swapon.
  • mdevd 0.1.7.0 — gestor de eventos (análogo a udevd), diseñado para manejar la conexión en caliente de dispositivos. En su configuración, mdevd es compatible con mdev de Busybox.
  • bcnm 0.0.2.0 — configurador de red con capacidades para la configuración de Wi-Fi del lado del cliente.
  • execline 2.9.7.0 — lenguaje para escribir scripts.
  • skalibs 2.14.4.0 — biblioteca para crear aplicaciones de sistema seguras en C.
  • s6-dns 2.4.1.0 — conjunto de bibliotecas y utilidades de cliente que reemplazan las utilidades DNS típicas de BIND y djbdns.
  • dnsfunnel 0.0.3.0 — redirige solicitudes DNS locales a externas. servidor (reenvío DNS).
  • shibari 0.0.2.0 — servidor DNS simple.
  • tipidee 0.0.6.0 — servidor HTTP con soporte para HTTP/1.1.

En las nuevas versiones, se ha añadido soporte para pkg-config a todos los paquetes. En la biblioteca skalibs, se han implementado variantes de las funciones de entrada/salida, cuyo tiempo de ejecución puede ser limitado mediante un timeout. En mdevd, se ha añadido la opción «-I» para establecer el nombre del grupo netlink para la recepción de solicitudes, y el tamaño del búfer por defecto se ha incrementado a 1 MB. En tipideed, se ha proporcionado la posibilidad de transmisión en vivo de la salida de scripts CGI, se ha añadido soporte para los métodos PUT, DELETE y PATCH, y se ha implementado la directiva autochunk para la codificación chunked de los datos transmitidos.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster