systemd es una suite de software que proporciona una serie de componentes de sistema para sistemas operativos Linux [7] . El objetivo principal es unificar la configuración y el comportamiento de los servicios en todas las distribuciones de Linux . [8] Su componente principal es un "administrador de sistemas y servicios", un sistema de inicio utilizado para arrancar el espacio de usuario y administrar los procesos de usuario . También proporciona reemplazos para varios daemons y utilidades, incluida la administración de dispositivos, la administración de inicio de sesión, la administración de conexiones de red y el registro de eventos. El nombre systemd se adhiere a la convención Unix de nombrar daemons agregando la letra d . [9] También juega con el término " System D ", que se refiere a la capacidad de una persona para adaptarse rápidamente e improvisar para resolver problemas. [10]
Desde 2015, la mayoría de las distribuciones de Linux han adoptado systemd, habiendo reemplazado otros sistemas de inicio como SysV init . Ha sido elogiado por los desarrolladores y usuarios de las distribuciones que lo adoptaron por proporcionar una solución estable, rápida y lista para usar para problemas que habían existido en el espacio Linux durante años. [11] [12] [13] En el momento de la adopción de systemd en la mayoría de las distribuciones de Linux, era la única suite de software que ofrecía un paralelismo confiable durante el arranque, así como una gestión centralizada de procesos , daemons, servicios y puntos de montaje .
Los críticos de systemd sostienen que sufre de expansión de la misión y de hinchazón , esta última afectando a otro software (como el escritorio GNOME ), añadiendo dependencias en systemd, reduciendo su compatibilidad con otros sistemas operativos tipo Unix y dificultando a los administradores de sistemas la integración de soluciones alternativas. Además, sostienen que la complejidad de systemd da como resultado una mayor superficie de ataque , lo que reduce la seguridad general de la plataforma. [14] También se han planteado preocupaciones sobre Red Hat y su empresa matriz IBM controlando la escena de los sistemas init en Linux. [15] [1]
Historia
Lennart Poettering y Kay Sievers , los ingenieros de software que trabajaban en Red Hat y que inicialmente desarrollaron systemd, [2] comenzaron un proyecto para reemplazar el init convencional de Linux, System V, en 2010. [16] Una publicación de blog de abril de 2010 de Poettering, titulada "Rethinking PID 1", presentó una versión experimental de lo que luego se convertiría en systemd. [17] Buscaban superar la eficiencia del demonio init de varias maneras. Querían mejorar el marco de software para expresar dependencias, permitir que se realicen más procesos de manera concurrente o en paralelo durante el arranque del sistema y reducir la sobrecarga computacional del shell .
En mayo de 2011, Fedora Linux se convirtió en la primera distribución Linux importante en habilitar systemd de forma predeterminada, reemplazando a Upstart . El razonamiento en ese momento fue que systemd brindaba una amplia paralelización durante el inicio, una mejor gestión de los procesos y, en general, un enfoque más sensato y basado en dependencias para controlar el sistema. [18]
En octubre de 2012, Arch Linux convirtió a systemd en el predeterminado, reemplazando a SysVinit . [19] Los desarrolladores habían debatido desde agosto de 2012 [13] y llegaron a la conclusión de que era más rápido y tenía más funciones que SysVinit, y que mantener este último no valía la pena el esfuerzo en parches. [20] Algunos de ellos pensaron que las críticas hacia la implementación de systemd no se basaban en deficiencias reales del software, sino en el desagrado de Lennart por parte de una parte de la comunidad Linux y la vacilación general por el cambio. Específicamente, algunas de las quejas sobre que systemd no estaba programado en bash, que era más grande y más extenso que SysVinit, el uso de D-bus y el formato opcional en disco del diario fueron consideradas como ventajas por los programadores. [21]
Entre octubre de 2013 y febrero de 2014, se produjo un largo debate en el Comité Técnico de Debian en la lista de correo de Debian , [22] discutiendo qué sistema de inicio utilizar como predeterminado en Debian 8 "jessie", y que culminó en una decisión a favor de systemd. El debate fue ampliamente publicitado [23] [24] y a raíz de la decisión el debate continúa en la lista de correo de Debian. En febrero de 2014, después de que se tomara la decisión de Debian, Mark Shuttleworth anunció en su blog que Ubuntu seguiría en la implementación de systemd, descartando su propio Upstart . [25] [26]
En noviembre de 2014, el desarrollador de Debian Joey Hess [27], los miembros del Comité Técnico de Debian Russ Allbery [28] e Ian Jackson [ 29] y el encargado del mantenimiento del paquete systemd Tollef Fog Heen [30] renunciaron a sus cargos. Los cuatro justificaron su decisión en la lista de correo pública de Debian y en blogs personales con su exposición a niveles de estrés extraordinarios relacionados con las disputas en curso sobre la integración de systemd dentro de la comunidad Debian y FOSS que hicieron que el mantenimiento regular fuera virtualmente imposible.
En agosto de 2015, systemd comenzó a proporcionar un shell de inicio de sesión, al que se puede llamar a través de machinectl shell. [31]
En septiembre de 2016, se descubrió un error de seguridad que permitía a cualquier usuario sin privilegios realizar un ataque de denegación de servicio contra systemd. [32] Rich Felker, desarrollador de musl , afirmó que este error revela una importante "falla de diseño de desarrollo del sistema". [33] En 2017 se descubrió otro error de seguridad en systemd, CVE - 2017-9445, que "permite la interrupción del servicio" por un "servidor DNS malicioso". [34] [35] Más tarde en 2017, los Premios Pwnie le dieron al autor Lennart Poettering un premio a la "respuesta más floja del proveedor" debido a su manejo de las vulnerabilidades. [36]
Diseño
Poettering describe el desarrollo de systemd como "nunca terminado, nunca completo, pero que sigue el progreso de la tecnología". En mayo de 2014, Poettering describió además systemd como unificador de "diferencias sin sentido entre distribuciones", al proporcionar las siguientes tres funciones generales: [39]
Un administrador de sistemas y servicios (administra tanto el sistema, mediante la aplicación de diversas configuraciones, como sus servicios)
El pegamento entre las aplicaciones y el kernel (proporciona varias interfaces que exponen funcionalidades proporcionadas por el kernel)
systemd incluye características como el inicio bajo demanda de daemons, soporte de instantáneas, seguimiento de procesos [40] y bloqueos de inhibidores. [41] No es solo el nombre del daemon init sino que también se refiere a todo el paquete de software a su alrededor, que, además del daemon init systemd , incluye los daemons journald , logind y networkd , y muchos otros componentes de bajo nivel. En enero de 2013, Poettering describió systemd no como un programa, sino como una gran suite de software que incluye 69 binarios individuales. [42] Como una suite de software integrada , systemd reemplaza las secuencias de inicio y los niveles de ejecución controlados por el daemon init tradicional, junto con los scripts de shell ejecutados bajo su control. systemd también integra muchos otros servicios que son comunes en los sistemas Linux al manejar los inicios de sesión de los usuarios, la consola del sistema , la conexión en caliente de dispositivos (ver udev ), la ejecución programada (reemplazando a cron ), el registro, los nombres de host y las configuraciones regionales.
Al igual que el demonio init, systemd es un demonio que administra otros demonios, que, incluido el propio systemd , son procesos en segundo plano . systemd es el primer demonio que se inicia durante el arranque y el último que finaliza durante el apagado . El demonio systemd sirve como raíz del árbol de procesos del espacio de usuario ; el primer proceso ( PID 1) tiene un papel especial en los sistemas Unix, ya que reemplaza al padre de un proceso cuando el padre original finaliza. Por lo tanto, el primer proceso es particularmente adecuado para el propósito de monitorear demonios.
systemd ejecuta elementos de su secuencia de inicio en paralelo, lo que teóricamente es más rápido que el enfoque de secuencia de inicio tradicional. [43] Para la comunicación entre procesos (IPC), systemd pone los sockets de dominio Unix y D-Bus a disposición de los daemons en ejecución. El estado de systemd en sí también se puede conservar en una instantánea para su posterior recuperación.
Componentes y bibliotecas principales
Siguiendo su enfoque integrado, systemd también proporciona reemplazos para varios daemons y utilidades, incluidos los scripts de shell de inicio, pm-utils, inetd , acpid , syslog , watchdog, cron y atd . Los componentes principales de systemd incluyen los siguientes:
systemd es un administrador de sistemas y servicios para sistemas operativos Linux.
systemctl es un comando para introspeccionar y controlar el estado del sistema systemd y el administrador de servicios. No debe confundirse con sysctl .
systemd-analyze se puede utilizar para determinar estadísticas de rendimiento de arranque del sistema y recuperar otra información de estado y seguimiento del administrador del sistema y de servicios.
systemd rastrea procesos usando el subsistema cgroups del kernel de Linux en lugar de usar identificadores de proceso (PIDs); por lo tanto, los daemons no pueden "escapar" de systemd , ni siquiera mediante una doble bifurcación . systemd no solo usa cgroups, sino que también los aumenta con systemd-nspawn y machinectl , dos programas de utilidad que facilitan la creación y administración de contenedores de Linux . [44] Desde la versión 205, systemd también ofrece ControlGroupInterface, que es una API para los cgroups del kernel de Linux. [45] Los cgroups del kernel de Linux están adaptados para soportar kernfs , [46] y están siendo modificados para soportar una jerarquía unificada. [47]
Componentes auxiliares
Además de su propósito principal de proporcionar un sistema de inicio de Linux, la suite systemd puede proporcionar funcionalidad adicional, incluidos los siguientes componentes:
systemd-logind es un demonio que administra los inicios de sesión y los asientos de los usuarios de varias maneras. Es un administrador de inicio de sesión integrado que ofrece mejoras para múltiples asientos [49] y reemplaza a ConsoleKit , que ya no se mantiene. [50] Para los administradores de pantalla X11, el cambio a logind requiere una cantidad mínima de portabilidad. [51] Se integró en la versión 30 de systemd.
homed es un demonio que proporciona cuentas de usuario humano portátiles que son independientes de la configuración actual del sistema. homed mueve varias piezas de datos como UID/GID desde varios lugares a través del sistema de archivos a un solo archivo. homed administra el directorio de inicio del usuario de varias maneras, como un directorio simple, un subvolumen btrfs , un volumen de configuración de clave unificada de Linux , un directorio fscrypt o montado desde un servidor SMB .~/.identity
en red
networkd es un demonio que se encarga de la configuración de las interfaces de red; en la versión 209, cuando se integró por primera vez, el soporte se limitaba a direcciones asignadas estáticamente y soporte básico para configuración de puentes . [52] [53] [54] [55] [56] En julio de 2014, se lanzó la versión 215 de systemd, que agregó nuevas características como un servidor DHCP para hosts IPv4 y soporte VXLAN . [57] [58]networkctl se puede usar para revisar el estado de los enlaces de red como los ve systemd-networkd. [59] La configuración de nuevas interfaces se debe agregar en /lib/systemd/network/ como un nuevo archivo que termina con la extensión .network.
resuelto
Proporciona resolución de nombres de red a aplicaciones locales
arranque del sistema
systemd-boot es un gestor de arranque, anteriormente conocido como gummiboot . Kay Sievers lo fusionó con systemd en la versión 220.
systemd-nspawn se puede usar para ejecutar un comando o sistema operativo en un contenedor de espacio de nombres.
con fecha de caducidad
systemd-timedated es un demonio que se puede utilizar para controlar configuraciones relacionadas con el tiempo, como la hora del sistema, la zona horaria del sistema o la selección entre UTC y el reloj del sistema de la zona horaria local. Se puede acceder a él a través de D-Bus. [60] Se integró en la versión 30 de systemd.
sincronización horaria
timesyncd es un demonio NTP cliente para sincronizar el reloj del sistema a través de la red.
archivos temporales
systemd-tmpfiles es una utilidad que se encarga de la creación y limpieza de archivos y directorios temporales. Normalmente se ejecuta una vez al inicio y luego en intervalos específicos.
El 29 de mayo de 2014, se eliminó el soporte para la carga de firmware a través de udev de systemd, ya que se decidió que el kernel debería ser responsable de cargar el firmware. [64]
.slice (se utiliza para agrupar y gestionar procesos y recursos [69] )
.scope (se utiliza para agrupar procesos de trabajo, no está pensado para configurarse mediante archivos de unidad [70] )
Adopción
Aunque muchas distribuciones arrancan systemd de forma predeterminada, algunas permiten utilizar otros sistemas de inicio; en este caso, es posible cambiar el sistema de inicio instalando los paquetes adecuados. Se desarrolló una bifurcación de Debian llamada Devuan para evitar systemd [98] [99] y ha alcanzado la versión 5.0 para uso estable. En diciembre de 2019, el proyecto Debian votó a favor de mantener systemd como el sistema de inicio predeterminado para la distribución, pero con soporte para "explorar alternativas". [100]
En noviembre de 2012, el Proyecto GNOME concluyó que la funcionalidad básica de GNOME no debería depender de systemd. [102] Sin embargo, GNOME 3.8 introdujo una opción en tiempo de compilación entre logind y ConsoleKit API, siendo la primera proporcionada en ese momento solo por systemd. Ubuntu proporcionó un binario logind separado, pero systemd se convirtió en una dependencia de facto de GNOME para la mayoría de las distribuciones de Linux , en particular porque ConsoleKit ya no se mantiene activamente y upstream recomienda el uso de systemd-logind en su lugar. [103] Los desarrolladores de Gentoo Linux también intentaron adaptar estos cambios en OpenRC , pero la implementación contenía demasiados errores, lo que provocó que la distribución marcara systemd como una dependencia de GNOME. [104] [105]
GNOME ha integrado aún más logind . [106] A partir de la versión 3.13.2 de Mutter , logind es una dependencia para las sesiones de Wayland . [107]
Recepción
El diseño de systemd ha generado controversia dentro de la comunidad de software libre . Los críticos consideran que systemd es demasiado complejo y sufre un continuo aumento de características , argumentando que su arquitectura viola la filosofía Unix . También existe la preocupación de que forme un sistema de dependencias interconectadas, lo que da a los mantenedores de distribuciones pocas opciones más que adoptar systemd a medida que más software de espacio de usuario pasa a depender de sus componentes, lo que es similar a los problemas creados por PulseAudio , otro de los proyectos de Lennart Poettering. [108] [109]
En una entrevista de 2012, el líder de Slackware, Patrick Volkerding, expresó reservas sobre la arquitectura systemd, afirmando que creía que su diseño era contrario a la filosofía Unix de utilidades interconectadas con funcionalidades estrechamente definidas. [110] A agosto de 2018 [actualizar], Slackware no admite ni usa systemd, pero Volkerding no ha descartado la posibilidad de cambiarlo. [111]
En enero de 2013, Lennart Poettering intentó abordar las preocupaciones sobre systemd en una publicación de blog llamada The Biggest Myths . [42]
En febrero de 2014, Rich Felker de musl opinó que PID 1 es demasiado especial como para cargarlo con responsabilidades adicionales, creyendo que PID 1 solo debería ser responsable de iniciar el resto del sistema init y eliminar los procesos zombies , y que la funcionalidad adicional agregada por systemd se puede proporcionar en otro lugar y aumenta innecesariamente la complejidad y la superficie de ataque de PID 1. [112]
En marzo de 2014, Eric S. Raymond comentó que los objetivos de diseño de systemd eran propensos a la expansión de la misión y la hinchazón del software . [113] En abril de 2014, Linus Torvalds expresó reservas sobre la actitud de Kay Sievers , un desarrollador clave de systemd, hacia los usuarios y los informes de errores con respecto a las modificaciones al núcleo de Linux enviadas por Sievers. [114] A fines de abril de 2014, se lanzó una campaña para boicotear systemd, con un sitio web que enumeraba varias razones en contra de su adopción. [115] [116]
En un artículo de agosto de 2014 publicado en InfoWorld , Paul Venezia escribió sobre la controversia de systemd y atribuyó la controversia a la violación de la filosofía Unix y a "enormes egos que creen firmemente que no pueden hacer nada malo". [117] El artículo también caracteriza la arquitectura de systemd como similar a la de svchost.exe , un componente crítico del sistema en Microsoft Windows con un amplio alcance funcional. [117]
En una entrevista de ZDNet en septiembre de 2014 , el destacado desarrollador del núcleo Linux Theodore Ts'o expresó su opinión de que la disputa sobre la filosofía de diseño centralizada de systemd, más que preocupaciones técnicas, indica una peligrosa tendencia general hacia la uniformización del ecosistema Linux, alienando y marginando partes de la comunidad de código abierto y dejando poco espacio para proyectos alternativos. Citó similitudes con la actitud que encontró en el proyecto GNOME hacia las configuraciones no estándar. [118] En las redes sociales, Ts'o también comparó más tarde las actitudes de Sievers y su codesarrollador, Lennart Poettering, con la de los desarrolladores de GNOME. [119]
Bifurcaciones e implementaciones alternativas
Las bifurcaciones de systemd están estrechamente vinculadas a las críticas que se han hecho al respecto en la sección anterior. Las bifurcaciones generalmente intentan mejorar al menos uno de los aspectos: portabilidad (a otras bibliotecas y sistemas tipo Unix), modularidad o tamaño. Unas pocas bifurcaciones han colaborado bajo el nombre de FreeInit. [120]
Bifurcaciones de componentes
desarrollo eudemocrático
En 2012, el proyecto Gentoo Linux creó una bifurcación de udev para evitar la dependencia de la arquitectura systemd. La bifurcación resultante se llama eudev y hace que la funcionalidad de udev esté disponible sin systemd. [121] Un objetivo declarado del proyecto es mantener a eudev independiente de cualquier distribución de Linux o sistema de inicio. [122] En 2021, Gentoo anunció que el soporte de eudev cesaría a principios de 2022. Desde entonces, un grupo independiente de mantenedores se ha hecho cargo de eudev. [123]
elogiar
Elogind es el "logind" del proyecto systemd, extraído para ser un demonio independiente. Se integra con PAM para conocer el conjunto de usuarios que están conectados a un sistema y si lo están de forma gráfica, en la consola o de forma remota. Elogind expone esta información a través de la interfaz D-Bus estándar org.freedesktop.login1 , así como a través del sistema de archivos utilizando el diseño estándar /run/systemd de systemd. Elogind también proporciona "libelogind", que es un subconjunto de las funciones ofrecidas por "libsystemd". También hay un archivo pkg-config "libelogind.pc". [124]
Alternativas a los componentes
Kit de consola 2
ConsoleKit fue bifurcado en octubre de 2014 por los desarrolladores de Xfce que querían que sus características se mantuvieran y estuvieran disponibles en sistemas operativos distintos de Linux. Si bien no descarta la posibilidad de revivir el repositorio original a largo plazo, el desarrollador principal considera que ConsoleKit2 es una necesidad temporal hasta que SystemBSD madure. [125]
Horquillas abandonadas
Bifurcación de componentes
Kit de inicio de sesión
LoginKit fue un intento de implementar un shim logind (systemd-logind) , que permitiría que los paquetes que dependen de systemd-logind funcionen sin depender de un sistema de inicio específico. [126] El proyecto ha estado inactivo desde febrero de 2015. [127]
sistemabsd
En 2014, se inició un proyecto de Google Summer of Code llamado "systembsd" con el fin de proporcionar implementaciones alternativas de estas API para OpenBSD . El desarrollador original del proyecto lo inició con el fin de facilitar su transición de Linux a OpenBSD. [128] El desarrollo del proyecto finalizó en julio de 2016. [129]
El proyecto systembsd no proporcionó un reemplazo de init, sino que apuntó a proporcionar a OpenBSD demonios compatibles con hostnamed , timedated , localed y logind . El proyecto no creó una nueva funcionalidad similar a systemd, y sólo estaba destinado a actuar como un contenedor sobre el sistema nativo OpenBSD. El desarrollador pretendía que systembsd fuera instalable como parte de la colección de ports , no como parte de un sistema base, afirmando que "systemd y *BSD difieren fundamentalmente en términos de filosofía y prácticas de desarrollo". [128]
nosystemd
Notsystemd pretende implementar todas las características de systemd en cualquier sistema de inicio. [130] Fue creado por los desarrolladores de Parabola GNU/Linux-libre para crear paquetes con sus herramientas de desarrollo sin la necesidad de tener instalado systemd para ejecutar systemd-nspawn. El desarrollo cesó en julio de 2018. [131]
Bifurcación que incluye el sistema de inicio
Inútil
En 2014, se creó uselessd como una bifurcación ligera de systemd. El proyecto buscaba eliminar funciones y programas considerados innecesarios para un sistema de inicio, así como solucionar otros fallos percibidos. [132] El desarrollo del proyecto se detuvo en enero de 2015. [133]
uselessd soportaba las bibliotecas musl y μClibc , por lo que puede haber sido utilizado en sistemas integrados , mientras que systemd solo soporta glibc . El proyecto uselessd había planeado mejoras adicionales en la compatibilidad entre plataformas, así como revisiones arquitectónicas y refactorizaciones para la compilación de Linux en el futuro. [134]
InitWare
InitWare es una refactorización modular de systemd, que traslada el sistema a plataformas BSD sin necesidad de glibc o llamadas al sistema específicas de Linux. Se sabe que funciona en DragonFly BSD, FreeBSD, NetBSD y GNU/Linux. Los componentes que se consideran innecesarios se eliminan. [135]
^ systemd es compatible con Gentoo como una alternativa a OpenRC, el sistema de inicio predeterminado [79] para aquellos que "quieren usar systemd en su lugar, o planean usar Gnome 3.8 y versiones posteriores (que requieren systemd)" [80]
^ Funcionalidad faltante al utilizar sistemas init distintos de systemd [ cita requerida ]
Referencias
^ ab "Lennart Poettering sobre el tumultuoso ascenso de systemd". 26 de enero de 2017. Archivado desde el original el 8 de noviembre de 2018 . Consultado el 7 de noviembre de 2018 .
^ ab "systemd README", freedesktop.org , archivado desde el original el 7 de julio de 2013 , consultado el 9 de septiembre de 2012
^ "Systemd alcanza un punto alto en cuanto a cantidad de nuevos commits y colaboradores durante 2018 - Phoronix". Archivado desde el original el 21 de septiembre de 2009 . Consultado el 30 de diciembre de 2018 .
^ Se utilizó la estadística "contribuidores" de: systemd/systemd, systemd, 3 de diciembre de 2023 , recuperado el 3 de diciembre de 2023
^ "Versión 256.6". 10 de septiembre de 2024. Consultado el 26 de septiembre de 2024 .
^ Poettering, Lennart (21 de abril de 2012), Actualización de estado de systemd, archivado desde el original el 23 de abril de 2012 , consultado el 28 de abril de 2012
^ "Replanteando PID 1". 30 de abril de 2010. Archivado desde el original el 22 de febrero de 2022. Consultado el 20 de agosto de 2021. systemd utiliza muchas funciones específicas de Linux y no se limita a POSIX. Eso desbloquea muchas funciones que un sistema diseñado para la portabilidad a otros sistemas operativos no puede proporcionar.
^ "Promesa de estabilidad de interfaz". FreeDesktop.org . Archivado desde el original el 11 de diciembre de 2017. Consultado el 14 de febrero de 2018 .
^ "systemd System and Service Manager". freedesktop.org . Archivado desde el original el 15 de octubre de 2020 . Consultado el 19 de marzo de 2016 . Sí, se escribe systemd, no system D o System D, ni siquiera SystemD. Y tampoco es system d. ¿Por qué? Porque es un demonio del sistema, y en Unix/Linux se escriben en minúsculas y se les añade una d minúscula como sufijo.
^ Poettering, Lennart; Sievers, Kay; Leemhuis, Thorsten (8 de mayo de 2012), Centro de control: el sistema de inicio de Linux systemd, The H, archivado desde el original el 14 de octubre de 2012 , consultado el 9 de septiembre de 2012
^ "Debate/initsystem/systemd - Wiki de Debian". wiki.debian.org . Archivado desde el original el 7 de diciembre de 2014 . Consultado el 15 de noviembre de 2021 .
^ "Notas de la versión de una página de F15 - Wiki del proyecto Fedora". fedoraproject.org . Archivado desde el original el 27 de septiembre de 2013 . Consultado el 15 de noviembre de 2021 .
^ ab Gaudreault, Stéphane (14 de agosto de 2012). "Migración a systemd". arch-dev-public (Lista de correo). Archivado desde el original el 20 de octubre de 2020. Consultado el 15 de noviembre de 2021 .
^ "Freedesktop Systemd: Lista de vulnerabilidades de seguridad". Detalles de CVE. Archivado desde el original el 3 de octubre de 2021. Consultado el 3 de octubre de 2021 .
^ Saunders, Mike (11 de noviembre de 2015). «Linux 101: Saque el máximo partido a systemd». Linux Voice. Archivado desde el original el 29 de mayo de 2016. Consultado el 28 de enero de 2016 .
^ Simmonds, Chris (2015). "9: Puesta en marcha: el programa init". Mastering Embedded Linux Programming. Packt Publishing Ltd. pág. 239. ISBN9781784399023. Consultado el 20 de junio de 2016. systemd se define a sí mismo como un administrador de sistemas y servicios. El proyecto fue iniciado en 2010 por Lennart Poettering y Kay Sievers para crear un conjunto integrado de herramientas para administrar un sistema Linux, incluido un demonio de inicio.
^ Lennart Poettering (30 de abril de 2010). «Rethinking PID 1». Archivado desde el original el 15 de enero de 2017. Consultado el 28 de agosto de 2010 .
^ "Notas de la versión de una página de F15", fedoraproject.org , 24 de mayo de 2001, archivado desde el original el 27 de septiembre de 2013 , consultado el 24 de septiembre de 2013
^ "Arch Linux - Novedades: systemd es ahora el valor predeterminado en las nuevas instalaciones". archlinux.org . Archivado desde el original el 27 de octubre de 2021 . Consultado el 11 de noviembre de 2021 .
^ Groot, Jan de (14 de agosto de 2012). «Migración a systemd». arch-dev-public (Lista de correo). Archivado desde el original el 17 de enero de 2022. Consultado el 11 de noviembre de 2021 .
^ "Archlinux se está moviendo a systemd (Página 2) / Discusión sobre Arch / Foros de Arch Linux". bbs.archlinux.org . Archivado desde el original el 10 de noviembre de 2012 . Consultado el 19 de noviembre de 2021 .
^ "#727708 - tech-ctte: Decide qué sistema de inicio usar como predeterminado en Debian". 25 de octubre de 2013. Archivado desde el original el 17 de abril de 2016 . Consultado el 14 de septiembre de 2014 .
^ "¿Qué sistema de inicio para Debian?". 5 de noviembre de 2013. Archivado desde el original el 6 de octubre de 2014 . Consultado el 14 de septiembre de 2014 .
^ "Debian sigue debatiendo systemd vs. Upstart Init System". Phoronix . 30 de diciembre de 2013. Archivado desde el original el 23 de agosto de 2014 . Consultado el 14 de septiembre de 2014 .
^ "Perdiendo con gracia". 14 de febrero de 2014. Archivado desde el original el 8 de septiembre de 2014 . Consultado el 14 de septiembre de 2014 .
^ "Cuántico, apasionante, picante..." 18 de octubre de 2013. Archivado desde el original el 28 de agosto de 2014 . Consultado el 14 de septiembre de 2014 .
^ Hess, Joey. "Al partir". Archivado desde el original el 16 de julio de 2015. Consultado el 15 de julio de 2015 .
^ Allbery, Russ (16 de noviembre de 2014). «Renuncia al Comité Técnico». debian-ctte (Lista de correo). Archivado desde el original el 11 de junio de 2015 . Consultado el 15 de julio de 2015 .
^ Jackson, Ian (19 de noviembre de 2014). «Renuncia». debian-ctte (Lista de correo). Archivado desde el original el 11 de junio de 2015 . Consultado el 15 de julio de 2015 .
^ Heen, Tollef Fog (16 de noviembre de 2014). «Renuncia del equipo de mantenimiento de pkg-systemd». pkg-systemd-maintainers (Lista de correo). Archivado desde el original el 11 de junio de 2015 . Consultado el 15 de julio de 2015 .
^ Carroty, Paul (28 de agosto de 2015). "Lennart Poettering fusionó el reemplazo del comando 'su' en systemd: prueba de manejo en Fedora Rawhide". Archivado desde el original el 4 de septiembre de 2015.
^ "Error de aserción cuando PID 1 recibe un mensaje de longitud cero a través del socket de notificación n.° 4234". GitHub . 28 de septiembre de 2016. Archivado desde el original el 5 de octubre de 2016 . Consultado el 6 de octubre de 2016 .
^ Felker, Rich (3 de octubre de 2016). «Hack bloquea distribuciones Linux con 48 caracteres de código». Kaspersky Lab . Archivado desde el original el 6 de octubre de 2016. Consultado el 6 de octubre de 2016 .
^ "Detalles de CVE-2017-9445", National Vulnerability Database , Instituto Nacional de Estándares y Tecnología (EE. UU.), 6 de julio de 2017, archivado desde el original el 6 de julio de 2018 , consultado el 6 de julio de 2018
^ "CVE-2017-9445", Base de datos de vulnerabilidades y exposiciones comunes , The Mitre Corporation, 5 de junio de 2017, archivado desde el original el 6 de julio de 2018 , consultado el 6 de julio de 2018
^ "Premios Pwnie 2017, la respuesta más floja de un proveedor: errores de SystemD". Premios Pwnie . Archivado desde el original el 10 de junio de 2021 . Consultado el 10 de junio de 2021 .
^ Gundersen, Tom E. (25 de septiembre de 2014). "El fin de Linux". Archivado desde el original el 26 de octubre de 2014. Consultado el 25 de octubre de 2014. Ciertamente no es algo que venga con systemd desde el principio.
^ "Las nuevas interfaces del grupo de control". Freedesktop.org. 28 de agosto de 2015. Archivado desde el original el 1 de febrero de 2016. Consultado el 6 de febrero de 2016 .
^ Poettering, Lennart (mayo de 2014). "Una perspectiva para systemd: lo que se ha logrado y lo que se avecina" (PDF) . Archivado (PDF) desde el original el 8 de febrero de 2015. Consultado el 30 de noviembre de 2014 .
^ "¿Qué es systemd?". Linode . 11 de septiembre de 2019. Archivado desde el original el 24 de enero de 2020 . Consultado el 15 de septiembre de 2019 .
^ "Bloqueos de inhibidores". freedesktop.org . Archivado desde el original el 3 de mayo de 2020 . Consultado el 15 de septiembre de 2019 .
^ ab Poettering, Lennart (26 de enero de 2013). «Los mayores mitos». Archivado desde el original el 17 de octubre de 2021. Consultado el 20 de agosto de 2021 .
^ "Debate/initsystem/systemd – Documentación de Debian". Debian . 2 de enero de 2014. Archivado desde el original el 7 de diciembre de 2014 . Consultado el 4 de diciembre de 2014 .
^ Edge, Jake (7 de noviembre de 2013). "Creación de contenedores con systemd-nspawn". LWN.net . Archivado desde el original el 23 de agosto de 2014. Consultado el 30 de julio de 2014 .
^ "ControlGroupInterface". freedesktop.org . Archivado desde el original el 12 de diciembre de 2014 . Consultado el 9 de noviembre de 2014 .
^ Heo, Tejun (28 de enero de 2014). «cgroup: convert to kernfs». linux-kernel (Lista de correo). Archivado desde el original el 12 de octubre de 2018. Consultado el 24 de mayo de 2014 .
^ Heo, Tejun (13 de marzo de 2014). «cgroup: prepárese para la jerarquía unificada predeterminada». linux-kernel (Lista de correo). Archivado desde el original el 20 de marzo de 2014 . Consultado el 24 de mayo de 2014 .
^ "Registros binarios y corrupción de systemd". 17 de febrero de 2014. Archivado desde el original el 11 de mayo de 2016 . Consultado el 21 de enero de 2016 .
^ "systemd-logind.service". freedesktop.org . Archivado desde el original el 11 de abril de 2014 . Consultado el 17 de febrero de 2014 .
^ "Sitio web oficial de ConsoleKit". freedesktop.org . Archivado desde el original el 18 de octubre de 2014. Consultado el 9 de noviembre de 2014 .
^ "Cómo conectar su gestor de pantalla X11 favorito con systemd". freedesktop.org . Archivado desde el original el 28 de marzo de 2016 . Consultado el 19 de marzo de 2016 .
^ "Redes en +systemd - 1. Antecedentes". 27 de noviembre de 2013. Archivado desde el original el 13 de marzo de 2014 . Consultado el 22 de febrero de 2014 .
^ "Redes en +systemd - 2. libsystemd-rtnl". 27 de noviembre de 2013. Archivado desde el original el 13 de marzo de 2014 . Consultado el 22 de febrero de 2014 .
^ "Redes en +systemd - 3. udev". 27 de noviembre de 2013. Archivado desde el original el 13 de marzo de 2014 . Consultado el 22 de febrero de 2014 .
^ "Redes en +systemd - 4. networkd". 27 de noviembre de 2013. Archivado desde el original el 13 de marzo de 2014 . Consultado el 22 de febrero de 2014 .
^ "Networking en +systemd - 5. El futuro inmediato". 27 de noviembre de 2013. Archivado desde el original el 13 de marzo de 2014 . Consultado el 22 de febrero de 2014 .
^ Larabel, Michael (4 de julio de 2014). «systemd 215 funciona con restablecimiento de fábrica, compatibilidad con servidores DHCPv4». Archivado desde el original el 17 de octubre de 2014. Consultado el 8 de noviembre de 2014 .
^ Šimerda, Pavel (3 de febrero de 2013). "¿Puede la configuración de red de Linux ser menos complicada?".
^networkctl(1) – Manual de usuario de Linux – Comandos de usuario
^ "timedated". freedesktop.org . Archivado desde el original el 11 de octubre de 2014 . Consultado el 9 de noviembre de 2014 .
^ Sievers, Kay. "El futuro del árbol de código fuente de udev". vger.kernel.org/vger-lists.html#linux-hotplug linux-hotplug (Lista de correo). Archivado desde el original el 16 de febrero de 2015 . Consultado el 22 de mayo de 2013 .
^ Sievers, Kay, "Commit importing udev into systemd", freedesktop.org , archivado desde el original el 20 de abril de 2013 , consultado el 25 de mayo de 2012
^ Proven, Liam. "Se publicó la versión 252 de systemd". The Register . Archivado desde el original el 5 de noviembre de 2022. Consultado el 5 de noviembre de 2022 .
^ "[PATCH] Eliminar el cargador de firmware de udev". systemd-devel (Lista de correo). 29 de mayo de 2014. Archivado desde el original el 14 de agosto de 2020 . Consultado el 16 de junio de 2019 .
^ "systemd.syntax". www.freedesktop.org . Archivado desde el original el 27 de julio de 2021 . Consultado el 27 de julio de 2021 .
^ "Página de manual de systemd.unit". freedesktop.org. Archivado desde el original el 28 de marzo de 2016 . Consultado el 19 de marzo de 2016 .
^ "systemd.device". www.freedesktop.org . Archivado desde el original el 27 de julio de 2021 . Consultado el 27 de julio de 2021 .
^ "systemd crea una nueva función que la hace similar a Cron". Phoronix . 28 de enero de 2013. Archivado desde el original el 3 de enero de 2014 . Consultado el 22 de enero de 2014 .
^ "systemd.slice (5) - Páginas del manual de Linux". Archivado desde el original el 19 de febrero de 2023. Consultado el 12 de marzo de 2018. ... una porción... es un concepto para gestionar jerárquicamente los recursos de un grupo de procesos.
^ "systemd.scope". FreeDesktop.org . Archivado desde el original el 27 de julio de 2021 . Consultado el 27 de julio de 2021 .
^ ab «Clon Git del repositorio 'packages'». Interfaz web para los repositorios Git de Arch Linux . 12 de enero de 2012. Archivado desde el original el 16 de febrero de 2015. Consultado el 31 de agosto de 2014 .
^ "systemd es ahora el sistema predeterminado en las nuevas instalaciones". Arch Linux . Archivado desde el original el 15 de octubre de 2012 . Consultado el 29 de octubre de 2012 .
^ "coreos/manifest: Releases: v94.0.0". github.com . 3 de octubre de 2013. Archivado desde el original el 10 de septiembre de 2020 . Consultado el 22 de septiembre de 2014 .
^ "Sistema de inicio de CoreOS", coreos.com , archivado desde el original el 14 de febrero de 2014 , consultado el 14 de febrero de 2014
^ "systemd". debian.org . Archivado desde el original el 29 de diciembre de 2014 . Consultado el 19 de noviembre de 2014 .
^ Garbee, Bdale (11 de febrero de 2014). «Bug#727708: call for votes on default Linux init system for jessie» (Error n.° 727708: convocatoria de votación sobre el sistema de inicio predeterminado de Linux para jessie). debian-ctte (Lista de correo). Archivado desde el original el 22 de febrero de 2014. Consultado el 11 de febrero de 2014 .
^ "systemd - administrador de sistemas y servicios". Wiki de Debian . Instalación sin systemd. Archivado desde el original el 4 de abril de 2018. Consultado el 3 de abril de 2018 .
^ "Puntos de discusión sobre Fedora 14". Archivado desde el original el 9 de junio de 2015. Consultado el 28 de abril de 2015 .
^ ab "systemd", wiki.gentoo.org , archivado desde el original el 12 de octubre de 2012 , consultado el 26 de agosto de 2012
^ "Instalación del sistema base Gentoo § Opcional: uso de systemd". Archivado desde el original el 14 de julio de 2014 . Consultado el 4 de julio de 2014 .
^ "Comentario n.° 210 (error n.° 318365)", gentoo.org , archivado desde el original el 16 de febrero de 2015 , consultado el 5 de julio de 2011
^ "systemd", gentoo.org , archivado desde el original el 26 de junio de 2011 , consultado el 5 de julio de 2011
^ "Descargas – Gentoo Linux".
^ "Notas de la versión de KNOPPIX 7.4.2". Archivado desde el original el 6 de enero de 2018. Consultado el 26 de abril de 2018. ... el sistema KNOPPIX basado en scripts se inicia con sysvinit
^ "KNOPPIX 8.0 Die Antwort auf Systemd (alemán)". Archivado desde el original el 13 de junio de 2018 . Consultado el 13 de junio de 2018 . ...El proceso de arranque de Knoppix continúa ejecutándose a través de Sys-V init con algunos scripts bash que inician los servicios del sistema de manera eficiente de forma secuencial o en paralelo. (El texto original en alemán: Knoppix' Startvorgang läuft nach wie vor per Sys-V-Init mit wenigen Bash-Skripten, welche die Systemdienste effizient sequenziell oder paralelo starten.)
^ "LM Blog: tanto Mint 18 como LMDE 3 cambiarán a systemd". 10 de abril de 2015. Archivado desde el original el 27 de noviembre de 2021. Consultado el 27 de noviembre de 2021 .
^ Registro de cambios del paquete systemd de Mageia, archivado desde el original el 28 de marzo de 2016 , consultado el 19 de marzo de 2016
^ Scherschel, Fabian (23 de mayo de 2012), Mageia 2 llega con GNOME 3 y systemd, The H, archivado desde el original el 8 de diciembre de 2013 , consultado el 22 de agosto de 2012
^ "Foro Mageia • Ver tema - ¿Es posible reemplazar systemd?". Archivado desde el original el 19 de febrero de 2023 . Consultado el 5 de mayo de 2020 .
^ Vista de directorio de la instalación de 11.4 i586 que muestra la presencia de los instalables de systemd v18, 23 de febrero de 2011, archivado desde el original el 28 de septiembre de 2013 , consultado el 24 de septiembre de 2013
^ "OpenSUSE: No a todo el mundo le gusta systemd". Phoronix . Archivado desde el original el 15 de marzo de 2016 . Consultado el 19 de marzo de 2016 . La versión openSUSE 12.2, publicada recientemente, migra de SysVinit a systemd
^ "Página de descarga de Parabola ISO". Archivado desde el original el 1 de julio de 2016 . Consultado el 18 de marzo de 2019 .
^ Red Hat presenta Red Hat Enterprise Linux 7, 10 de junio de 2014, archivado desde el original el 14 de julio de 2014 , consultado el 19 de marzo de 2016
^ "Entrada inicial del hechizo "systemd"". Archivado desde el original el 23 de septiembre de 2020 . Consultado el 21 de mayo de 2019 .
^ "Ubuntu Wiki: Cambiar de sistema de inicio". Archivado desde el original el 3 de junio de 2016 . Consultado el 3 de julio de 2016 .
^ "Paquetes vinculados: upstart". Launchpad . Archivado desde el original el 12 de mayo de 2021 . Consultado el 17 de junio de 2019 .
^ "Void-Package: systemd: eliminado; no hay planes para resucitarlo". GitHub . Archivado desde el original el 19 de febrero de 2023 . Consultado el 24 de julio de 2018 .
^ "Conoce a Devuan, la bifurcación de Debian nacida de una amarga revuelta en systemd". Archivado desde el original el 9 de diciembre de 2014 . Consultado el 24 de febrero de 2015 .
^ Sharwood, Simon (5 de mayo de 2017). «Devuan Linux sin systemd llega a RC2». The Register . Archivado desde el original el 5 de mayo de 2017. Consultado el 5 de mayo de 2017 .
^ "Los desarrolladores de Debian deciden sobre la diversidad del sistema de inicio: la "propuesta B" gana". Phoronix . Archivado desde el original el 28 de diciembre de 2019 . Consultado el 28 de diciembre de 2019 .
^ Poettering, Lennart (18 de mayo de 2011). «systemd como dependencia externa». desktop-devel (Lista de correo). GNOME. Archivado desde el original el 27 de mayo de 2011. Consultado el 26 de mayo de 2011 .
^ Peters, Frederic (4 de noviembre de 2011). «Actas de la reunión 20121104». Equipo de lanzamiento de GNOME (lista de correo). Archivado desde el original el 7 de septiembre de 2014. Consultado el 14 de enero de 2013 .
^ "ConsoleKit". Archivado desde el original el 18 de octubre de 2014. Consultado el 15 de noviembre de 2014. Actualmente , ConsoleKit no recibe mantenimiento activo. El enfoque se ha desplazado a la gestión integrada de asientos/usuarios/sesiones de Software/systemd, denominada systemd-logind.
^ Vitters, Olav (25 de septiembre de 2013). «Reflexiones sobre GNOME y logind+systemd». Archivado desde el original el 24 de abril de 2014 . Consultado el 24 de abril de 2014 .
^ "GNOME 3.10 llega con soporte experimental para Wayland". ZDNet . Archivado desde el original el 24 de abril de 2014 . Consultado el 24 de abril de 2014 .
^ "Iniciativas de GNOME: systemd". Archivado desde el original el 2 de mayo de 2014 . Consultado el 9 de mayo de 2018 .
^ "Mutter 3.13.2: launcher: Replace mutter-launch with logind integration". 19 de mayo de 2014. Archivado desde el original el 16 de febrero de 2015. Consultado el 28 de mayo de 2014 .
^ Vaughan-Nichols, Steven (19 de septiembre de 2014). «Linus Torvalds y otros sobre el systemd de Linux». ZDNet . CBS Interactive. Archivado desde el original el 25 de febrero de 2015. Consultado el 24 de febrero de 2015 .
^ "1345661 - El requisito de PulseAudio interrumpe Firefox en sistemas que solo admiten ALSA". Bugzilla . Mozilla. 3 de septiembre de 2021. Archivado desde el original el 3 de octubre de 2021 . Consultado el 3 de octubre de 2021 .
^ "Entrevista con Patrick Volkerding de Slackware". linuxquestions.org . 7 de junio de 2012. Archivado desde el original el 3 de mayo de 2013 . Consultado el 19 de marzo de 2014 .
^ "Estoy de vuelta después de un descanso de Slackware: ¡compartiendo ideas y viendo qué hay de nuevo!". linuxquestions.org . Archivado desde el original el 13 de marzo de 2014 . Consultado el 14 de marzo de 2014 .
^ Rich Felker (9 de febrero de 2014). «Roto por diseño: systemd». Archivado desde el original el 23 de octubre de 2019.
^ "Entrevistas: ESR responde a sus preguntas". Slashdot.org. 10 de marzo de 2014. Archivado desde el original el 22 de marzo de 2014. Consultado el 19 de marzo de 2014 .
^ Torvalds, Linus (2 de abril de 2014). «Re: [RFC PATCH] cmdline: Ocultar «debug» de /proc/cmdline». linux-kernel (Lista de correo). Archivado desde el original el 22 de octubre de 2017 . Consultado el 8 de julio de 2014 .
^ "¿Es systemd tan malo como el boicot que systemd intenta hacer?". LinuxBSDos.com. 3 de septiembre de 2014. Archivado desde el original el 24 de septiembre de 2014. Consultado el 22 de septiembre de 2014 .
^ "Boicot a systemd.org". Archivado desde el original el 6 de mayo de 2014. Consultado el 15 de julio de 2015 .
^ ab Venezia, Paul (18 de agosto de 2014). «systemd: presagio del apocalipsis de Linux». Archivado desde el original el 26 de septiembre de 2014. Consultado el 20 de septiembre de 2014 .
^ "Linus Torvalds y otros sobre el systemd de Linux". ZDNet . Archivado desde el original el 20 de noviembre de 2014 . Consultado el 21 de noviembre de 2014 .
^ "Una conclusión a la que llegué recientemente mientras discutía todo el sistema..." 31 de marzo de 2014. Archivado desde el original el 17 de julio de 2014 . Consultado el 8 de julio de 2014 .
^ "FreeInit.org". www.freeinit.org . Archivado desde el original el 1 de agosto de 2021 . Consultado el 1 de agosto de 2021 .
^ "eudev/README". GitHub . Archivado desde el original el 16 de febrero de 2015 . Consultado el 1 de junio de 2015 .
^ "Proyecto eudev de Gentoo". Archivado desde el original el 4 de septiembre de 2015 . Consultado el 1 de junio de 2015 .
^ Basile, Anthony G. (24 de agosto de 2021). «eudev retirement on 2022-01-01». Noticias del repositorio . Gentoo Linux. Archivado desde el original el 30 de junio de 2022 . Consultado el 14 de junio de 2022 .
^ "elogind/README". GitHub . Archivado desde el original el 19 de febrero de 2023 . Consultado el 2 de septiembre de 2015 .
^ Koegel, Eric (20 de octubre de 2014). «ConsoleKit2». Archivado desde el original el 2 de abril de 2015. Consultado el 7 de marzo de 2015 .
^ "loginkit/README". GitHub . Archivado desde el original el 19 de febrero de 2023 . Consultado el 4 de diciembre de 2014 .
^ "dimkr/LoginKit (Github)". GitHub . Archivado desde el original el 19 de febrero de 2023 . Consultado el 8 de julio de 2018 .
^ ab «GSoC 2014: utilidades de reemplazo de systemd (systembsd)». OpenBSD Journal. Archivado desde el original el 29 de noviembre de 2014. Consultado el 28 de noviembre de 2014 .
^ proyectos/systembsd.git/summary, archivado desde el original el 9 de julio de 2018 , consultado el 8 de julio de 2018
^ Luke Shumaker (17 de junio de 2017). «Notsystemd v232.1 release announcement». [email protected] (Lista de correo). Archivado desde el original el 5 de agosto de 2017 . Consultado el 5 de agosto de 2017 .
^ "notsystemd". Parabola GNU/Linux-libre . Archivado desde el original el 8 de diciembre de 2023 . Consultado el 8 de diciembre de 2023 .
^ Larabel, Michael (21 de septiembre de 2014). «Uselessd: una versión simplificada de systemd». Phoronix . Archivado desde el original el 17 de octubre de 2014. Consultado el 26 de octubre de 2014 .
^ "Uselessd ha muerto". Sitio web de Uselessd . Archivado desde el original el 16 de mayo de 2015. Consultado el 17 de febrero de 2017 .
^ "uselessd:: sistema de información". uselessd.darknedgy.net . Archivado desde el original el 16 de mayo de 2015 . Consultado el 26 de octubre de 2014 .
^ "InitWare/InitWare: La suite de middleware InitWare permite gestionar servicios y recursos del sistema como entidades lógicas llamadas unidades. Su componente principal es un sistema de gestión de servicios ("init")". GitHub . 14 de noviembre de 2021. Archivado desde el original el 1 de agosto de 2021 . Consultado el 1 de agosto de 2021 .