Systemd
systemd es un conjunto de demonios o daemons de administración de sistema, bibliotecas y herramientas diseñados como una plataforma de administración y configuración central para interactuar con el núcleo del Sistema operativo GNU/Linux. Descrito por sus autores como un "bloque de construcción básico" para un sistema operativo,[4] systemd se puede utilizar como un sistema de inicio de Linux (el proceso init llamado por el núcleo o kernel de Linux para inicializar el espacio de usuario durante el proceso de arranque de Linux y gestionar posteriormente todos los demás procesos). El nombre systemd se adhiere a la convención Unix de distinguir los demonios fácilmente por tener la letra d como la última letra del nombre de archivo.[5][6] Se desarrolló systemd para reemplazar el sistema de inicio (init) heredado de los sistemas operativos estilo UNIX System V y Berkeley Software Distribution (BSD). En el proceso de arranque en Linux, es el primer proceso que se ejecuta en el espacio de usuario, por lo tanto, también es el proceso padre de todos los procesos hijos en el espacio de usuario. systemd se diseñó para el núcleo Linux y programado exclusivamente para la API de Linux. Escrito por Lennart Poettering[1] y se publica como software libre y de código abierto bajo los términos de la GNU General Public License (LGPL) versión 2.1 o posterior.[7] Uno de los principales objetivos de systemd es unificar configuraciones básicas de Linux y los comportamientos de servicios en todas las distribuciones.[8] La idea de diseño está pensada en proveer un framework que exprese las dependencias del servicio con la API de Linux, permite hacer más trabajo paralelamente al inicio del sistema y reducir la sobrecarga del shell. Hacia 2015, la mayoría de las principales distribuciones de Linux han adoptado systemd como su sistema de inicio predeterminado. Diseño![]() ![]() Lennart Poettering y Kay Sievers, los ingenieros de software quienes originalmente diseñaron y desarrollaron systemd,[10] buscaron superar la eficiencia del demonio de inicio de diferentes maneras. Querían mejorar el framework para expresar dependencias, permitir que se realizara más procesamiento en concurrencia o en paralelo durante el arranque (booting) del sistema y reducir el overhead del shell. Poettering describe el desarrollo de systemd como una "tecnología nunca terminada, nunca completa, pero que rastrea el progreso en tecnología". En mayo de 2014, Poettering definió a systemd más profundamente con el objetivo de unificar "diferencias sin sentido entre distribuciones", al proporcionar las siguientes tres funciones generales:[11]
systemd es mucho más que el nombre del demonio de inicio, sino también se refiere al paquete de software completo alrededor de él, el cual, además del demonio init systemd, incluye a los daemons journald, logind y networkd, junto a otros componentes de bajo nivel. En enero de 2013, Poettering describió a systemd, no como a otro programa, sino como una suite de aplicaciones que incluye 69 binarios individuales.[13] Como paquete integral de software, systemd remplaza a la secuencia de arranque de Linux y los niveles de ejecución controlados por el demonio de inicio tradicional , junto con la ejecución de scripts de shell bajo su control. systemd también integra a muchos otros servicios que son comunes en sistemas de Linux manejando entradas de usuario, la interfaz de línea de comandos, la conexión en caliente de dispositivos (véase udev), registro de ejecución programada (remplazando a cron), hostname y configuraciones regionales. Comparado con el init de System V, systemd puede tomar ventaja de nuevas técnicas:
systemd es sólo para Linux por diseño, ya que depende de características como cgroups y fanotify.[14] Componentes auxiliaresAdemás de su propósito principal de proporcionar un sistema init Linux, el conjunto systemd puede proporcionar funcionalidad adicional, incluyendo los siguientes componentes: journaldsystemd-journald es un servicio respnsable de inicio eventual, con un apéndice en archivo binario servidos. systemd-bootsystemd-boot es un cargador de arranque, conocido formalmento como gummiboot. Kay Sievers lo fusiono con systemd rev 220. AdopciónEn mayo de 2011, Fedora se convirtió en la primera distribución principal de Linux en habilitar systemd por defecto.[15] Distribuciones en las que systemd está habilitado de forma predeterminada: Distribuciones en las que systemd está disponible: Utilización básica de systemctlLa principal orden usada para conocer y controlar systemd es systemctl. Algunos de los posibles usos son el examen del estado del sistema y la gestión del sistema o de los servicios.[27] Analizar el estado del sistemaPara mostrar el estado del sistema utilice: $ systemctl status Para listar unidades en ejecución: $ systemctl o: $ systemctl list-units Para listar unidades que han fallado: $ systemctl --failed Puede ver un listado de las unidades instaladas con: $ systemctl list-unit-files Utilizar las unidadesLas unidades pueden ser, por ejemplo, services (.service), mount points (.mount), devices (.device) o sockets (.socket). Cuando se usa systemctl, por lo general, tiene que especificar el nombre completo de la unidad, incluyendo el sufijo. Sin embargo, hay unos pocos atajos cuando se especifica la unidad en las siguientes órdenes systemctl:
Activa una unidad de inmediato: # systemctl start unidad Detiene una unidad de inmediato: # systemctl stop unidad Reinicia la unidad: # systemctl restart unidad Hace que una unidad recargue su configuración: # systemctl reload unidad Muestra el estado de una unidad, incluso si se está ejecutando o no: $ systemctl status unidad Comprueba si la unidad ya está activada o no: $ systemctl is-enabled unidad Activa una unidad para iniciarse en el arranque: # systemctl enable unidad Activa una unidad para iniciarse en el arranque y lo inicia inmediatamente: # systemctl enable --now unidad Desactiva el inicio automático durante el arranque: # systemctl disable unidad Enmascara una unidad para que sea imposible iniciarla (tanto de forma manual como de dependencia, lo que hace que el enmascaramiento sea peligroso): # systemctl mask unidad Desenmascara una unidad: # systemctl unmask unidad Muestre la página del manual asociada a una unidad (esto debe ser compatible con el archivo de la unidad): $ systemctl help unidad Recarga la configuración de systemd, buscando unidades nuevas o modificadas: # systemctl daemon-reload Gestionar la energíaApagado y reinicio del sistema: $ systemctl reboot Apagado del sistema: $ systemctl poweroff Suspensión del sistema: $ systemctl suspend Poner el sistema en hibernación: $ systemctl hibernate Poner el sistema en estado de reposo híbrido —«hybrid-sleep» — (o suspensión combinada —«suspend-to-both»—): $ systemctl hybrid-sleep CríticasSu implementación ha generado gran controversia dentro de la comunidad del software libre. Los críticos argumentan en al menos dos niveles:[28] 1. Arquitectura interna:
2. Implementación futura:
Véase también
Referencias
Enlaces externos
Fuentes
|
Portal di Ensiklopedia Dunia