Aquesta és una revisió antiga del document
Apuntes SinCara Extras systemd
Consideraciones iniciales
- Se presenta el 30 de abril de 2010, por Lennart Poetterig
- SystemD es un sistema de inicio y administración de servicios.
- Reemplaza los sistemas de inicio tradicionales como SysV init o Upstart (de Canonical / Ubuntu)
- Se enfoca en la eficiencia, la rapidez y la robustez.
- Es ampliamente usado en la comunidad de Linux, aunque ha generado bastante controversia debido a su enfoque radical, a su reemplazo de sistemas de inicio tradicionales y al cambio de paradigma histórico de UNIX.
- Es el estándar de facto para la gestión de servicios en Linux.
Ventajas de SystemD
- Arranque Paralelo: SystemD permite iniciar servicios de manera paralela, lo que reduce significativamente el tiempo de arranque del sistema.
- Dependencias Explícitas: Los servicios en SystemD pueden especificar sus dependencias de manera explícita, lo que facilita la gestión de la secuencia de arranque y evita problemas de dependencia circular.
- Control Dinámico de Servicios: SystemD proporciona herramientas para controlar dinámicamente los servicios en ejecución, como iniciar, detener, reiniciar o consultar el estado de un servicio.
- Integración con cgroups: SystemD integra el control de grupos de procesos (cgroups) para una gestión más eficiente de recursos y aislamiento de procesos.
- Compatibilidad con SysV init: SystemD es compatible con los scripts de inicio de SysV init, lo que facilita la transición para las distribuciones que migran a SystemD.
- 🇬🇧 https://without-systemd.org/wiki/index_php/Arguments_against_systemd/ - Argumentos contra SystemD
Paquetes RPM
rpm -qa | grep systemd# Instalados en Fedora 42- SystemD 256 x86_64
- systemd-256
- systemd-container-256
- systemd-libs-256
- systemd-networkd-256
- systemd-pam-256
- systemd-resolved-256
- systemd-udev-256
- Otros
- rpm-plugin-systemd-inhibit-4.20.0
- python3-systemd-235-11
- libreport-plugin-systemd-journal-2.17.15
- noarch
- systemd-oomd-defaults-256
yum list systemd# Paquetes no instalados- x86_64
- systemd-boot-unsigned
- systemd-bootchart
- systemd-devel
- systemd-journal-remote
- systemd-standalone-repart
- systemd-standalone-shutdown
- systemd-standalone-sysusers
- systemd-standalone-tmpfiles
- systemd-tests
- uwsgi-logger-systemd.x86_64
- Otros
- python-systemd-doc-235-11
- noarch
- systemd-networkd-defaults
- systemd-rpm-macros
- systemd-swap
- systemd-ukify
- wine-systemd-10.0
Comandos de SystemD
relacionados.sh hostnamectl# Para ver todos los comandosapropos ctl | \grep «ctl ([18])»# Comandos que terminan en ctl instalados, sean de SystemD o no- Comandos de SystemD
rpm -ql systemd-container systemd-networkd systemd-udev systemd-resolved systemd | grep bin/rpm -ql systemd-container systemd-networkd systemd-udev systemd-resolved systemd | grep bin/ | xargs whatis# Para ver que hace cada uno
- https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/systemd.html - Listado de comandos
- Alias de Comandos:
alias sd_servicios='systemctl --no-pager --state=running --type=service'alias sd_sockets='systemctl --no-pager --state=running --type=socket'alias sd_timers='systemctl --no-pager --state=running --type=timer'
Componentes principales
- systemd: Es el proceso inicial de SystemD y actúa como el proceso principal del sistema. Es responsable de inicializar el sistema y coordinar el arranque de otros servicios y procesos. Es el proceso con el PID número 1.
- systemd-journald: Es el servicio de registro del sistema de SystemD. Reemplaza al tradicional syslog y proporciona un registro centralizado y estructurado de eventos del sistema y de los servicios.
- systemd-udev: Es el administrador de dispositivos de SystemD. Se encarga de la detección y gestión dinámica de dispositivos en el sistema, incluyendo la asignación de nombres de dispositivos y la configuración de udev.
- systemd-networkd: Es el administrador de red de SystemD. Proporciona una manera de configurar y gestionar la red del sistema, incluyendo la configuración de interfaces de red, enrutamiento y resolución DNS. No suele estar activo, ya que normalmente se utilizan otros servicios:
- NetworkManager.service en Red Hat, Fedora y derivados
- networking.service en Debian, Ubuntu y derivados
- systemd-resolved: Es el servicio de resolución de DNS de SystemD. Proporciona resolución de nombres de dominio y reemplaza a las soluciones tradicionales como resolv.conf.
- systemd-logind: Es el servicio de gestión de sesiones de usuario de SystemD. Se encarga de gestionar las sesiones de usuario, el control de acceso y la suspensión/hibernación del sistema.
- systemd-userdbd: Este servicio gestiona bases de datos de usuarios y grupos para la sesión del usuario. Permite almacenar y recuperar información sobre usuarios y grupos dentro del contexto de una sesión de usuario.
- systemd-timedated: Es el servicio de gestión de fecha y hora de SystemD. Se encarga de mantener y sincronizar el reloj del sistema con fuentes de tiempo externas.
- systemd-oomd: Este servicio, conocido como «Out-Of-Memory Daemon» (Demonio de Falta de Memoria), supervisa la memoria del sistema y gestiona situaciones de falta de memoria. Cuando el sistema se queda sin memoria, systemd-oomd intenta identificar y terminar procesos no esenciales para liberar recursos y evitar el agotamiento total de la memoria.
- systemd-machined: Este servicio es responsable de gestionar máquinas virtuales y contenedores en el sistema.
- systemd-ask-password-wall: Este servicio se utiliza para mostrar solicitudes de contraseña en la pantalla del sistema. Cuando un servicio necesita autenticación (por ejemplo, al iniciar una unidad cifrada durante el arranque), systemd-ask-password-wall muestra una ventana emergente en el entorno de escritorio para que el usuario introduzca la contraseña.