
Ich weiß, dass es sich bei allen um Unit-Dateien handelt, aber ich verstehe ihre spezielle Bedeutung nicht. Ich denke, dass Ziele Daemons ähneln und Sockets dasselbe sind wie Sockets (IP + Port), aber auch mit Inode-Nummern. Kann das bitte jemand in einfachen Worten erklären?
Antwort1
Serviceeinheiten:
A unit configuration file whose name ends in .service encodes information about a process controlled and supervised by systemd.
Systemd-Diensteinheiten sind die Einheiten, die tatsächlich Programme und Daemons ausführen und verfolgen. Abhängigkeiten werden verwendet, um sicherzustellen, dass Dienste in der richtigen Reihenfolge gestartet werden. Dies ist der am häufigsten verwendete Einheitentyp.
Steckdoseneinheiten:
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.
Socket-Einheiten hingegen starten Daemons nicht selbst. Stattdessen sitzen sie einfach da und lauschen auf einer IP-Adresse und einem Port oder einem UNIX-Domain-Socket, und wenn sich etwas damit verbindet, wird der Daemon, für den der Socket bestimmt ist, gestartet und die Verbindung wird an ihn übergeben.
Dies ist nützlich, um sicherzustellen, dass große Daemons, die viele Ressourcen beanspruchen, aber selten verwendet werden, nicht ständig ausgeführt werden und Ressourcen beanspruchen, sondern nur bei Bedarf gestartet werden.
Zieleinheiten:
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.
Ziele werden zum Gruppieren und Ordnen von Einheiten verwendet. Sie entsprechen in etwa den Runlevels, da auf verschiedenen Zielen verschiedene Dienste, Sockets und andere Einheiten gestartet werden. Im Gegensatz zu Runlevels sind sie viel freier gestaltet und Sie können problemlos Ihre eigenen Ziele zum Ordnen von Einheiten erstellen. Außerdem sind die Ziele untereinander abhängig.
Beispielsweise multi-user.target
ist dies, unter der die meisten Daemons gruppiert sind, und es muss basic.target
aktiviert werden, was bedeutet, dass alle unter gruppierten Dienste basic.target
vor denen in gestartet werden multi-user.target
.
Antwort2
Die Dokumentation für systemd ist für ein so relativ neues Projekt ausgezeichnet. Zunächst einmalZiele, aus man systemd.target
:
Zieleinheiten bieten keine zusätzlichen Funktionen zusätzlich zu der allgemeinen Funktionalität, die Einheiten bieten. Sie dienen lediglich dazu, Einheiten über Abhängigkeiten zu gruppieren (nützlich als Startziele) und standardisierte Namen für Synchronisierungspunkte festzulegen, die in Abhängigkeiten zwischen Einheiten verwendet werden. Unter anderem sind Zieleinheiten ein flexiblerer Ersatz für SysV-Runlevel im klassischen SysV-Init-System.
Diese „Einheitengruppen“ decken eine Reihe verschiedener Funktionen ab, von basic.target
denen im Wesentlichen der Systemstart bis hin zu allem von Dbus, Gettys, Einhängepunkten bis hin zu Swap und Timern reicht. Sie können die vollständige Liste mit sehen man systemd.special
.
ServiceDateien sind die Basiseinheiten für laufende Prozesse, die von systemd gesteuert werden. Nochmals man systemd.service
:
Eine Unit-Konfigurationsdatei, deren Name auf .service endet, kodiert Informationen über einen von systemd gesteuerten und überwachten Prozess.
Dies stellen die Daemons dar, die gestartet, gestoppt, neu gestartet und neu geladen werden können.
Endlich,Steckdosen, aus man systemd.socket
:
Eine Unit-Konfigurationsdatei, deren Name auf „.socket“ endet, kodiert Informationen über einen IPC- oder Netzwerk-Socket oder ein von systemd gesteuertes und überwachtes Dateisystem-FIFO zur Socket-basierten Aktivierung.
Dies umfasst einen Socket im Dateisystem oder im Internet, sowie klassische FIFOs als Transportmittel. Zu jeder Socket-Unit gibt es eine zugehörige Service-Unit, die gestartet wird, wenn die erste Verbindung am Socket oder FIFO eingeht.
Zusätzlich zu den man
Seiten lohnt es sich, Lennarts Blog-Beiträge zu lesen,systemd für Administratoren, das einen detaillierten Einblick in die Architektur und Implementierung von systemd bietet (derzeit umfasst die Reihe 20 Beiträge).