Lanzamiento del gestor de servicios s6-rc 0.7

Se ha publicado la versión 0.7.0.0 del gestor de servicios s6-rc. Está diseñado para gestionar el lanzamiento de scripts de inicialización y servicios. Admite el seguimiento del árbol de dependencias y el inicio o cierre automático de servicios para alcanzar un estado específico. El conjunto de herramientas s6-rc puede utilizarse tanto en sistemas de inicialización como para organizar el lanzamiento de servicios arbitrarios en función de eventos que reflejen cambios en el estado del sistema. El sistema admite scripts de inicialización compatibles con sysv-init y puede importar información de dependencias de sysv-rc u OpenRC. El código está escrito en C y se distribuye bajo la licencia ISC.

El administrador de servicios s6-rc incluye un conjunto de utilidades para iniciar y detener procesos de ejecución prolongada (daemons) o scripts de inicialización finalizados inmediatamente. Durante el funcionamiento, se garantiza el lanzamiento paralelo de servicios que no se intersecan y se garantiza una secuencia repetida de ejecución de scripts para diferentes lanzamientos. Todos los cambios de estado se procesan teniendo en cuenta las dependencias, por ejemplo, cuando se lanza un servicio, automáticamente se lanzarán las dependencias necesarias para su funcionamiento, y cuando se detiene, también se detendrán los servicios dependientes.

A diferencia de otros administradores de servicios, s6-rc admite la construcción proactiva (fuera de línea) de un gráfico de dependencia para un conjunto existente de servicios, lo que permite realizar un análisis de dependencia que consume muchos recursos por separado, en lugar de hacerlo durante el arranque o los cambios de estado. Al mismo tiempo, el sistema no es monolítico y está dividido en una serie de módulos separados 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 un mínimo de recursos.

En lugar de niveles de ejecución, s6-rc utiliza el concepto de paquetes, lo que permite agrupar servicios según criterios y tareas arbitrarias. Para mejorar la eficiencia, se emplea una base de datos de dependencias compilada, creada por la utilidad s6-rc-compile a partir del contenido de los directorios que contienen los archivos de inicio y parada de los servicios. Las utilidades s6-rc-db y s6-rc-update se proporcionan para analizar y manipular la base de datos. El conjunto de herramientas s6 se utiliza en las distribuciones Obarun, Adelie y Artix, y también puede utilizarse opcionalmente en Gentoo, Void y Alpine.

El proyecto también desarrolla paquetes complementarios que complementan s6-rc:

  • s6 es una utilidad para supervisar y gestionar procesos (similar a daemontools y runit). Ofrece funciones como el reinicio de procesos tras una finalización anormal, el inicio de un controlador (activación de servicio) al acceder a un puerto de red, el registro de eventos (en sustitución de syslogd) y la concesión controlada de privilegios adicionales (similar a sudo).
  • s6-linux-init: una implementación del proceso init para sistemas operativos basados ​​en el núcleo. Linux, utilizado para crear sistemas de inicio que utilizan los paquetes s6 y s6-rc para gestionar servicios y scripts.
  • s6-networking es un conjunto de utilidades para crear servicios de red, similar a ucspi.
  • s6-frontend: un marco para recrear la funcionalidad de daemontools y runit sobre s6.
  • s6-portable-utils es un conjunto de utilidades estándar de Unix como cut, chmod, ls, sort y grep, optimizadas para un consumo mínimo de recursos y suministradas bajo la licencia ISC.
  • s6-linux-utils - un conjunto de utilidades vinculadas a Linuxtales como chroot, freeramdisk, logwatch, mount y swapon.
  • mdevd es un administrador de eventos (similar a udevd) diseñado para manejar la conexión en caliente de dispositivos. mdevd es compatible con la configuración de mdev de Busybox.
  • bcnm es un configurador de red con capacidades para configurar Wi-Fi en el lado del cliente.
  • execline es un lenguaje de script.
  • skalibs es una biblioteca para crear aplicaciones de sistema seguras en el lenguaje C.
  • s6-dns es un conjunto de bibliotecas y utilidades cliente que reemplazan las utilidades DNS estándar de BIND y djbdns.
  • dnsfunnel: redirige las solicitudes DNS locales a un servidor externo (reenviador DNS).
  • shibari es un servidor DNS simple.
  • tipidee es un servidor HTTP con soporte HTTP/1.1.

En la nueva versión de s6-rc y utilidades relacionadas:

  • Se ha implementado el comando "s6-rc reload" para reiniciar servicios que llevan mucho tiempo en ejecución.
  • Se ha añadido un archivo de control de señal de recarga que define la señal que se envía al proceso para reiniciarlo (por defecto es SIGHUP).
  • Se ha eliminado la utilidad s6-rc-bundle; ya no se admite el cambio de paquetes sin recompilar.
  • Se ha propuesto un nuevo formato para la base de datos interna (la actualización requiere recompilación y ejecución de la utilidad s6-rc-format-upgrade).
  • Se ha garantizado el manejo correcto de la situación de reinicio de la utilidad s6-rc-init para la inicialización del servicio, y se ha mejorado el manejo de fallas del sistema.
  • La utilidad s6-rc-set-change se ha actualizado con las siguientes opciones: -I/-i para mostrar una advertencia o fallar con un error cuando se detecta una dependencia conflictiva; -P/-p para deshabilitar/habilitar la resolución automática de conflictos de dependencia cuando cambian los estados del servicio.
  • Se eliminó la opción "-f" obsoleta.
  • La utilidad s6 ahora cuenta con el comando s6-svscanboot para redirigir los registros del supervisor s6-svscan a s6-log cuando no se está ejecutando bajo el PID 1.
  • Se implementó la opción "s6-svc -l" para enviar una señal de reinicio.
  • La interfaz de usuario s6-frontend ahora admite las siguientes opciones y comandos: "s6 --user" (para trabajar con servicios de usuario), "s6 live reset", "s6 apply", "s6 enable|disable|start|stop|kill|apply", "s6 live stop --clean".
  • El servidor HTTP tipidee ahora es compatible con FastCGI y añade la opción cgi_pass_authorization.

    Fuente: opennet.ru
Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster