Je sais que tous sont des fichiers unitaires, mais je ne comprends pas leur signification particulière. Je pense que les cibles sont similaires aux démons et que les sockets sont les mêmes que socket (IP + port), mais aussi avec des numéros d'inode. Quelqu'un pourrait-il s'il vous plaît les expliquer avec des mots simples?
35
man
pages systemd sont exemplaires: avez-vous regardéman systemd.{service,socket,target}
?Réponses:
Unités de service:
- systemd.service (5)
Les unités de service Systemd sont les unités qui exécutent et suivent réellement les programmes et les démons. Des dépendances sont utilisées pour s'assurer que les services sont démarrés dans le bon ordre. Ils sont le type d'unités le plus couramment utilisé.
Unités de prise:
- systemd.socket (5)
En revanche, les unités de sockets ne démarrent pas les démons par eux-mêmes. Au lieu de cela, ils restent assis et écoutent une adresse IP et un port, ou un socket de domaine UNIX. Lorsque quelque chose s'y connecte, le démon auquel le socket est destiné est démarré et la connexion lui est transmise.
C'est utile pour s'assurer que les gros démons qui utilisent beaucoup de ressources mais qui sont rarement utilisés ne s'exécutent pas et ne prennent pas tout le temps de ressources, mais qu'ils ne sont démarrés que lorsque cela est nécessaire.
Unités cibles:
- systemd.target (5)
Les cibles sont utilisées pour regrouper et commander des unités. Ils sont à peu près équivalents aux niveaux d'exécution en ce sens que différents objectifs, différents services, sockets et autres unités sont démarrés. Contrairement aux niveaux d'exécution, ils sont beaucoup plus libres et vous pouvez facilement créer vos propres cibles pour commander des unités, et les cibles ont des dépendances entre elles.
Par exemple, la
multi-user.target
plupart des démons sont regroupés sous et doiventbasic.target
être activés, ce qui signifie que tous les services groupés sousbasic.target
seront démarrés avant ceux demulti-user.target
.la source
La documentation de systemd est excellente pour un projet relativement nouveau. Pour commencer avec des objectifs , à partir de
man systemd.target
:Ces "groupes d'unités" couvrent un éventail de fonctionnalités différentes,
basic.target
dont celles-ci couvrent essentiellement le démarrage du système, et ce, depuis dbus, gettys, points de montage à permuter et minuteries. Vous pouvez voir la liste complète avecman systemd.special
.Les fichiers de service sont les unités de base pour l'exécution de processus contrôlés par systemd. Encore une fois, de
man systemd.service
:Ceux-ci constituent les démons qui peuvent être démarrés, arrêtés, redémarrés, rechargés.
Enfin, les sockets , de
man systemd.socket
:Celles-ci couvrent une prise dans le système de fichiers ou sur Internet, ainsi que les FIFO classiques comme moyens de transport. Chaque socket a une unité de service correspondante, qui est démarrée si la première connexion arrive sur le socket ou la FIFO.
En plus des
man
pages, il convient de lire la série d'articles de blog de Lennart, systemd for Administrators , qui fournit un aperçu approfondi de l'architecture et de la mise en œuvre de systemd (la série compte actuellement 20 articles).la source