
Sé que todos son archivos unitarios, pero no puedo entender su significado especial. Creo que los objetivos son similares a los demonios y los sockets son los mismos que el socket (IP + puerto) pero también con números de inodo. ¿Alguien podría explicarlos en palabras sencillas?
Respuesta1
Unidades de servicio:
A unit configuration file whose name ends in .service encodes information about a process controlled and supervised by systemd.
Las unidades de servicio Systemd son las unidades que realmente ejecutan y realizan un seguimiento de los programas y demonios, y las dependencias se utilizan para garantizar que los servicios se inicien en el orden correcto. Son el tipo de unidades más comúnmente utilizado.
Unidades de enchufe:
A unit configuration file whose name ends in ".socket" encodes information about an IPC or network socket or a file system FIFO controlled and supervised by systemd, for socket-based activation.
Las unidades de zócalo, por otro lado, en realidad no inician demonios por sí solas. En lugar de eso, simplemente se sientan allí y escuchan en una dirección IP y un puerto, o un socket de dominio UNIX, y cuando algo se conecta a él, se inicia el demonio para el cual es el socket y se le entrega la conexión.
Esto es útil para asegurarse de que los demonios grandes que consumen muchos recursos pero que rara vez se usan no se estén ejecutando y consumiendo recursos todo el tiempo, sino que solo se inicien cuando sea necesario.
Unidades objetivo:
A unit configuration file whose name ends in ".target" encodes information about a target unit of systemd, which is used for grouping units and as well-known synchronization points during start-up.
Los objetivos se utilizan para agrupar y ordenar unidades. Son algo así como un equivalente aproximado de los niveles de ejecución en el sentido de que en diferentes objetivos se inician diferentes servicios, sockets y otras unidades. A diferencia de los niveles de ejecución, tienen una forma mucho más libre y puedes crear fácilmente tus propios objetivos para ordenar unidades, y los objetivos tienen dependencias entre sí.
Por ejemplo, multi-user.target
es donde se agrupan la mayoría de los demonios y requiere basic.target
ser activado, lo que significa que todos los servicios agrupados basic.target
se iniciarán antes que los de multi-user.target
.
Respuesta2
La documentación de systemd es excelente para un proyecto relativamente nuevo. Para empezarobjetivos, de man systemd.target
:
Las unidades de destino no ofrecen ninguna funcionalidad adicional además de la funcionalidad genérica proporcionada por las unidades. Existen simplemente para agrupar unidades a través de dependencias (útiles como objetivos de arranque) y para establecer nombres estandarizados para puntos de sincronización utilizados en dependencias entre unidades. Entre otras cosas, las unidades de destino son un reemplazo más flexible de los niveles de ejecución de SysV en el sistema de inicio SysV clásico.
Estos "grupos de unidades" cubren una variedad de funcionalidades diferentes, desde basic.target
las cuales cubren esencialmente el arranque del sistema hasta todo, desde dbus, gettys, puntos de montaje para intercambiar y temporizadores. Puedes ver la lista completa con man systemd.special
.
servicioLos archivos son las unidades básicas para ejecutar procesos controlados por systemd. De nuevo, de man systemd.service
:
Un archivo de configuración de unidad cuyo nombre termina en .service codifica información sobre un proceso controlado y supervisado por systemd.
Estos constituyen los demonios que se pueden iniciar, detener, reiniciar y recargar.
Finalmente,enchufes, de man systemd.socket
:
Un archivo de configuración de unidad cuyo nombre termina en ".socket" codifica información sobre un IPC o socket de red o un sistema de archivos FIFO controlado y supervisado por systemd, para activación basada en socket.
Estos incluyen un socket en el sistema de archivos o en Internet, así como los clásicos FIFO como transporte. Cada unidad de enchufe tiene una unidad de servicio correspondiente, que se inicia si se realiza la primera conexión en el enchufe o FIFO.
Además de las man
páginas, vale la pena leer la serie de publicaciones del blog de Lennart,systemd para administradores, que proporciona una mirada en profundidad a la arquitectura y la implementación de systemd (actualmente hay 20 publicaciones en la serie).