OpenRC


OpenRC es un sistema de inicio basado en dependencias para sistemas operativos de computadoras similares a Unix . Fue creado por Roy Marples, un desarrollador de NetBSD que también participó activamente en el proyecto Gentoo. [3] [4] Se adoptó más ampliamente como un sistema de inicio fuera de Gentoo luego de la decisión de algunas distribuciones de Linux de no adoptar systemd . [5] [6] [7]

OpenRC es el sistema de inicio predeterminado de Gentoo , Alpine Linux , Hyperbola GNU / Linux-libre , Parabola GNU / Linux-libre , Artix Linux , Maemo Leste , TrueOS , [8] Funtoo y otros sistemas similares a Unix, mientras que algunos otros como Devuan lo ofrece como una opción. [9] Eso significa que los paquetes de software y los demonios de esos sistemas / distribuciones lo soportan, viniendo con o usando los scripts disponibles.

Proceso de arranque

OpenRC se compone de varios componentes modulares, siendo los principales un init (opcional), el sistema central de gestión de dependencias y un supervisor de demonios (opcional). Está escrito en un shell compatible con C y POSIX, lo que lo hace utilizable en sistemas BSD y Linux.

La parte central de OpenRC maneja la gestión de dependencias y el análisis del script de inicio. OpenRC funciona escaneando los niveles de ejecución, construyendo un gráfico de dependencia y luego iniciando los scripts de servicio necesarios. Se cierra una vez que se han iniciado los scripts. De forma predeterminada, OpenRC usa una versión modificada de start-stop-daemon para la gestión de daemon. [10]

Los scripts de inicio comparten similitudes con los scripts utilizados en sysvinit , pero ofrecen varias funciones para simplificar su creación. Se supone que los scripts tienen start(), stop()y status(); y el sistema usa variables ya declaradas para crear las funciones predeterminadas. [11] La función depend se usa para declarar dependencias a otros servicios que se realizarían con encabezados LSB en sysvinit. La configuración y el mecanismo están separados por los archivos de configuración en el directorio conf.d y los archivos init en el directorio init.d.

Openrc-init apareció por primera vez en la versión 0.25 como un reemplazo opcional de /sbin/init. Se admiten varios otros inits, incluidos sysvinit y Busybox . [12]

Supervise-daemon apareció por primera vez en la versión 0.21 dando capacidades de supervisión de openrc. Se puede habilitar en el script de inicio para que supervise-daemon inicie y monitoree un demonio. Se admiten varios otros supervisores de demonios, incluidos runit [13] y s6. [14]

  • Portátil entre Linux, FreeBSD y NetBSD
  • Inicio del servicio paralelo (desactivado de forma predeterminada)
  • Arranque basado en dependencia
  • Segregación de procesos a través de cgroups [15]
  • Límites de recursos por servicio (ulimit)
  • Separación de código y configuración (init.d / conf.d)
  • Scripts de inicio extensibles
  • Scripts de inicio con estado ( ¿ya se inició? )
  • Scripts de inicio complejos para iniciar múltiples componentes ( Samba [smbd y nmbd], NFS [nfsd, portmap, etc.])
  • Cálculo automático de dependencia y pedido de servicios
  • Arquitectura modular y separación de componentes opcionales ( cron , syslog )
  • Manejo de red expresivo y flexible (incluidas VPN , puentes, etc.)
  • Modo de depuración detallado

  1. ^ "openrc-0.42.1" . Consultado el 19 de septiembre de 2019 .
  2. ^ "openrc" , Resumen del análisis , Ohloh , recuperada 2012-03-10
  3. ^ "Historia" . Consultado el 6 de abril de 2020 .
  4. ^ "Desarrolladores" . Consultado el 6 de abril de 2020 .
  5. ^ "Manjaro OpenRC 0.8.13 - reinventando init sin systemd" . DistroWatch Weekly, número 612 . 1 de junio de 2015 . Consultado el 4 de abril de 2020 .
  6. ^ "5 diferencias entre TrueOS y Linux" . Consultado el 6 de abril de 2020 .
  7. ^ "Mejora de TrueOS: OpenRC" . Consultado el 6 de abril de 2020 .
  8. ^ "4. Configuración posterior a la instalación - Guía del usuario de TrueOS®" . www.trueos.org . Consultado el 12 de marzo de 2017 .
  9. ^ "Versión estable de Devuan ASCII 2.0.0" . Consultado el 18 de enero de 2021 .
  10. ^ "guía de usuario" . Consultado el 6 de abril de 2020 .
  11. ^ "guía de secuencia de comandos de servicio" . Consultado el 6 de abril de 2020 .
  12. ^ OpenRC
  13. ^ "guía runit" . Consultado el 6 de abril de 2020 .
  14. ^ "Guía s6" . Consultado el 6 de abril de 2020 .
  15. ^ "Soporte CGroups" . Consultado el 5 de abril de 2020 .

  • Página web oficial
  • openrc en GitHub