Lanzamento do xestor de servizos s6-rc 0.5.3.0 e do sistema de inicialización s6-linux-init 1.0.7

Preparouse unha versión significativa do xestor de servizos s6-rc 0.5.3.0, deseñada para xestionar o lanzamento de scripts e servizos de inicialización, tendo en conta as dependencias. O kit de ferramentas s6-rc pódese usar tanto en sistemas de inicialización como para organizar o lanzamento de servizos arbitrarios en relación con eventos que reflicten cambios no estado do sistema. Ofrece un seguimento completo da árbore de dependencias e inicio ou apagado automático dos servizos para alcanzar un estado especificado. O código está escrito en C e distribúese baixo a licenza ISC.

O xestor de servizos s6-rc, que se pode considerar un análogo de sysv-rc ou OpenRC, inclúe un conxunto de utilidades para iniciar e deter procesos de longa duración (daemons) ou scripts de inicialización terminados inmediatamente. Durante o traballo téñense en conta as dependencias entre compoñentes, garante o lanzamento paralelo de scripts e servizos que non se cruzan entre si e garante que a secuencia de execución do script se repite en diferentes lanzamentos. Todos os cambios de estado procédese tendo en conta as dependencias, asegurándose de que non se infrinxen as dependencias (por exemplo, cando se inicia un servizo, as dependencias necesarias para o seu funcionamento lanzaranse automaticamente e, cando se deteñan, tamén se pararán os servizos dependentes).

En lugar de niveis de execución, s6-rc ofrece un concepto máis universal de paquetes, que permite agrupar servizos segundo características e tarefas arbitrarias a resolver. Para mellorar a eficiencia do traballo, utilízase unha base de dependencias compilada, creada pola utilidade s6-rc-compile baseada no contido dos directorios con ficheiros para iniciar/parar servizos. Ofrécense as utilidades s6-rc-db e s6-rc-update para analizar e manipular a base de datos. O sistema admite scripts de inicio compatibles con sysv-init e pode importar información de dependencia desde sysv-rc ou OpenRC.

Entre as vantaxes de s6-rc atópase unha implementación compacta que non contén nada superfluo agás compoñentes para resolver problemas directos, e que consume un mínimo de recursos. A diferenza doutros xestores de servizos, s6-rc admite a construción proactiva (sen conexión) dun gráfico de dependencias para un conxunto de servizos existente, o que lle permite realizar unha análise de dependencias intensivas en recursos por separado, e non durante a carga ou os cambios de estado. Ao mesmo tempo, o sistema non é monolítico e está dividido nunha serie de módulos separados e substituíbles, cada un dos cales, de acordo coa filosofía Unix, só resolve unha tarefa específica.

En combinación coas utilidades s6 que supervisan o funcionamento dos procesos (análogo a daemontools e runit), o conxunto de ferramentas permítelle supervisar simultáneamente o funcionamento dos servizos de longa duración, por exemplo, reiniciándoos en caso de terminacións anormais e garantir que unha secuencia de comandos lánzase nunha forma reproducible, repetida en diferentes startups. As funcións admitidas inclúen a activación dun servizo ao acceder a un socket (lanzamento dun controlador ao acceder a un porto de rede), o rexistro de eventos de proceso (substituíndo syslogd) e a concesión controlada de privilexios adicionais (análogo a sudo).

Ao mesmo tempo, está dispoñible o lanzamento do paquete s6-linux-init 1.0.7.0, que ofrece unha implementación do proceso init para a construción de sistemas de inicio listos para os sistemas operativos baseados no núcleo Linux, no que o s6 e o ​​s6. As utilidades -rc utilízanse para xestionar servizos e scripts de inicialización. Ao mesmo tempo, s6 e s6-rc non están vinculados a s6-linux-init e, se o desexa, pódense usar con calquera sistema de inicialización.

Ademais, o proxecto prevé:

  • s6-networking é un conxunto de utilidades para crear servizos de rede, semellante a ucspi.
  • s6-frontend - un marco para recrear a funcionalidade de daemontools e runit enriba de s6.
  • s6-portable-utils é un conxunto de utilidades estándar de Unix como cut, chmod, ls, sort e grep, optimizadas para un consumo mínimo de recursos e subministradas baixo a licenza ISC.
  • s6-linux-utils - Un conxunto de utilidades específicas de Linux como chroot, freeramdisk, logwatch, mount e swapon.
  • s6-dns é un conxunto de bibliotecas cliente e utilidades que substitúen as utilidades DNS estándar de BIND e djbdns.

Na nova versión de s6-rc, a utilidade s6-rc-compile implementa a lectura de datos sobre dependencias e conxuntos de servizos desde directorios, en lugar de ficheiros. Usar directorios simplifica engadir servizos á base de datos con información sobre dependencias ao instalar programas a través dun xestor de paquetes, xa que permite prescindir de facer cambios nos ficheiros. Mantívose a compatibilidade co formato antigo baseado en ficheiros para garantir a compatibilidade. Na nova versión de s6-linux-init, engadiuse a opción "-S" á utilidade s6-linux-init-maker para sincronizar datos en contedores.

Fonte: opennet.ru

Engadir un comentario