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]
Autor (es) original (es) | Roy Marples |
---|---|
Desarrollador (es) | Desarrolladores OpenRC |
Versión inicial | 5 de abril de 2007 |
Lanzamiento estable | 0.42.1 / 20 de agosto de 2019 [1] |
Repositorio | |
Escrito en | C , [2] Concha |
Sistema operativo | Linux , FreeBSD , NetBSD , TrueOS |
Tamaño | ~ 900 KB |
Tipo | Demonio de inicialización |
Licencia | Licencia BSD de 2 cláusulas |
Sitio web | www |
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.
Diseño
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]
Características
- 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
Referencias
- ^ "openrc-0.42.1" . Consultado el 19 de septiembre de 2019 .
- ^ "openrc" , Resumen del análisis , Ohloh , recuperada 2012-03-10
- ^ "Historia" . Consultado el 6 de abril de 2020 .
- ^ "Desarrolladores" . Consultado el 6 de abril de 2020 .
- ^ "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 .
- ^ "5 diferencias entre TrueOS y Linux" . Consultado el 6 de abril de 2020 .
- ^ "Mejora de TrueOS: OpenRC" . Consultado el 6 de abril de 2020 .
- ^ "4. Configuración posterior a la instalación - Guía del usuario de TrueOS®" . www.trueos.org . Consultado el 12 de marzo de 2017 .
- ^ "Versión estable de Devuan ASCII 2.0.0" . Consultado el 18 de enero de 2021 .
- ^ "guía de usuario" . Consultado el 6 de abril de 2020 .
- ^ "guía de secuencia de comandos de servicio" . Consultado el 6 de abril de 2020 .
- ^ OpenRC
- ^ "guía runit" . Consultado el 6 de abril de 2020 .
- ^ "Guía s6" . Consultado el 6 de abril de 2020 .
- ^ "Soporte CGroups" . Consultado el 5 de abril de 2020 .
enlaces externos
- Página web oficial
- openrc en GitHub