Sé que todos ellos son archivos unitarios, pero no puedo entender el significado especial de ellos. Creo que los objetivos son similares a los demonios y los zócalos son los mismos que el zócalo (puerto IP +) pero también con números de inodo. ¿Podría alguien explicarlos en palabras simples?
35
man
páginas de systemd son ejemplares: ¿has miradoman systemd.{service,socket,target}
?Respuestas:
Unidades de servicio:
- systemd.service (5)
Las unidades de servicio de 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 utilizado.
Unidades de enchufe:
- systemd.socket (5)
Las unidades de socket, por otro lado, en realidad no inician demonios por sí mismas. En cambio, 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 que se usa el socket y se le entrega la conexión.
Esto es útil para asegurarse de que los grandes demonios que consumen muchos recursos pero que rara vez se usan no se ejecutan y consumen recursos todo el tiempo, sino que solo se inician cuando es necesario.
Unidades objetivo:
- systemd.target (5)
Los objetivos se utilizan para agrupar y ordenar unidades. Son algo así como un equivalente aproximado de los niveles de ejecución en que en diferentes objetivos, se inician diferentes servicios, sockets y otras unidades. A diferencia de los niveles de ejecución, son mucho más libres y puedes crear fácilmente tus propios objetivos para ordenar unidades, y los objetivos tienen dependencias entre ellos.
Por ejemplo,
multi-user.target
es en lo que se agrupan la mayoría de los demonios, y requierebasic.target
ser activado, lo que significa que todos los servicios agrupadosbasic.target
se iniciarán antes que los que están enmulti-user.target
.fuente
La documentación para systemd es excelente para un proyecto relativamente nuevo. Para comenzar con objetivos , desde
man systemd.target
:Estos "grupos de unidades" cubren una variedad de funcionalidades diferentes, desde las
basic.target
cuales cubre esencialmente el arranque del sistema, hasta todo, desde dbus, gettys, puntos de montaje para intercambiar y temporizadores. Puedes ver la lista completa conman systemd.special
.Los archivos de servicio son las unidades básicas para ejecutar procesos controlados por systemd. De nuevo, de
man systemd.service
:Estos constituyen los demonios que se pueden iniciar, detener, reiniciar y volver a cargar.
Finalmente, enchufes , de
man systemd.socket
:Estos cubren un socket en el sistema de archivos o en Internet, así como FIFOs clásicos como transporte. Cada unidad de socket tiene una unidad de servicio coincidente, que se inicia si la primera conexión entra en el socket o FIFO.
Además de las
man
páginas, vale la pena leer la serie de publicaciones de blog de Lennart, systemd for Administrators , que proporciona una mirada en profundidad a la arquitectura e implementación de systemd (actualmente hay 20 publicaciones en la serie).fuente