Sistema de inicialización Finit 4.0 dispoñible

Despois duns tres anos de desenvolvemento, publicouse o lanzamento do sistema de inicialización Finit 4.0 (Fast init), desenvolvido como unha alternativa sinxela a SysV init e systemd. O proxecto baséase en desenvolvementos creados mediante a enxeñaría inversa do sistema de inicialización fastinit usado no firmware Linux dos netbooks EeePC e destaca polo seu proceso de arranque moi rápido. O sistema está destinado principalmente a iniciar sistemas compactos e integrados, pero tamén se pode usar para ambientes de escritorio e servidores convencionais. Preparáronse scripts de implementación de exemplo para Void Linux, Alpine Linux e Debian GNU/Linux. O código do proxecto está escrito en C e distribúese baixo a licenza MIT.

Finit admite niveis de execución no estilo de inicio SysV, supervisando a saúde dos procesos en segundo plano (reiniciando automaticamente o servizo en caso de falla), executando controladores únicos, iniciando servizos tendo en conta dependencias e condicións arbitrarias, achegando controladores adicionais para executar antes ou despois. execución do servizo. Por exemplo, pode configurar un servizo para que se inicie só despois de que o acceso á rede estea dispoñible ou despois de que se inicie algún outro servizo, como syslogd. Cgroups v2 úsase para establecer restricións.

Para ampliar a funcionalidade e adaptarse ás súas necesidades, pódense utilizar complementos, para os que se proporciona un sistema de ganchos que permite conectar un controlador a varias fases de carga e execución de servizos, así como proporcionar vinculación a eventos externos. Por exemplo, preparáronse complementos para admitir D-Bus, ALSA, netlink, resolvconf, conexión en quente de dispositivos, comprobar a dispoñibilidade e carga dos módulos do núcleo, procesar ficheiros PID e configurar o ambiente para o servidor X.

Admítese o uso de scripts estándar para lanzar servizos creados para SysV init (non se usan /etc/rc.d e /etc/init.d, pero pódese implementar o soporte para /etc/inittab a través do complemento), así como scripts rc.local, ficheiros con variables de configuración de rede e ambiente /etc/network/interfaces, como en Debian e BusyBox. Os axustes pódense definir nun ficheiro de configuración /etc/finit.conf ou distribuírse en varios ficheiros no directorio /etc/finit.d.

A xestión realízase a través das ferramentas estándar initctl e run-parts, que permiten activar e desactivar servizos en relación aos niveis de execución, así como lanzar de forma selectiva algúns servizos. Finit tamén inclúe unha implementación de getty incorporada (xestion de inicio de sesión de usuario e terminal), un control para a vixilancia da saúde e un modo de recuperación de fallos con sulogin incorporado para executar un shell de comandos illado.

Sistema de inicialización Finit 4.0 dispoñible

Entre os cambios engadidos na versión de Finit 4.0 (omitiuse a versión 3.2 debido a cambios que romperon a compatibilidade con versións anteriores):

  • A utilidade de reinicio separada foi substituída por unha ligazón simbólica a initctl, similar ás utilidades de parar, apagar, apagar e suspender.
  • Implementouse a indicación do avance das operacións.
  • O funcionamento dos comandos "inictl cond set|clear COND" foi modificado para vincular accións a varios eventos. Para identificar servizos, utilízase a sintaxe en lugar de vincularse ás rutas .
  • Eliminouse a implementación integrada do servidor inetd, onde se pode instalar xinetd se é necesario.
  • Engadido soporte para cgroups v2 para executar servizos en cgroups separados.
  • Engadiuse o modo de recuperación de fallos co seu propio inicio de sesión.
  • Engadido soporte para scripts de inicio/parada desde SysV init.
  • Engadíronse controladores pre:script e post:script que che permiten especificar as túas accións realizadas antes ou cando se inicie o servizo.
  • Engadido soporte para env:file con variables de ambiente.
  • Engadida a posibilidade de rastrexar ficheiros PID arbitrarios.
  • Engadida a posibilidade de iniciar tarefas e servizos mediante camiños relativos.
  • Engadida a opción "-b" a initctl para realizar accións en modo non interactivo (modo por lotes).
  • O watchdog integrado foi substituído por unha versión separada de watchdogd.
  • Engadiuse un complemento para cargar automaticamente os módulos do núcleo para os dispositivos conectados durante o funcionamento.
  • Engadido complemento para xestionar /etc/modules-load.d/.
  • Engadiuse compatibilidade para reiniciar automaticamente os servizos despois de cambiar a configuración, o que lle permite facer sen executar manualmente o comando "initctl reload". Desactivado de forma predeterminada e require a reconstrución con "./configure --enable-auto-reload".
  • Engadiuse a posibilidade de rexistrar operacións que afectan á seguridade, como cambiar o nivel de execución, iniciar e deter servizos e fallos de servizo.
  • Soporte mellorado para /etc/network/interfaces.

    Fonte: opennet.ru

Engadir un comentario