Jednostki serwisowe:
A unit configuration file whose name ends in .service encodes
information about a process controlled and supervised by systemd.
- systemd.service (5)
Systemowe jednostki usługowe to jednostki, które faktycznie wykonują i śledzą programy i demony, a zależności służą do upewnienia się, że usługi są uruchamiane we właściwej kolejności. Są najczęściej stosowanym rodzajem jednostek.
Jednostki gniazd:
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.
- systemd.socket (5)
Z drugiej strony jednostki gniazdowe tak naprawdę nie uruchamiają demonów. Zamiast tego po prostu siedzą tam i nasłuchują na adresie IP i porcie lub gnieździe domeny UNIX, a gdy coś się z nim łączy, uruchamiany jest demon, dla którego jest to gniazdo, i zostaje mu przekazane połączenie.
Jest to przydatne, aby upewnić się, że duże demony, które zajmują dużo zasobów, ale są rzadko używane, nie są uruchomione i nie zajmują zasobów przez cały czas, ale zamiast tego są uruchamiane tylko w razie potrzeby.
Jednostki docelowe:
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.
- systemd.target (5)
Cele są używane do grupowania i zamawiania jednostek. Są one w przybliżeniu odpowiednikiem poziomów pracy, ponieważ w różnych celach uruchamiane są różne usługi, gniazda i inne jednostki. W przeciwieństwie do poziomów pracy, są one bardziej swobodne i możesz łatwo tworzyć własne cele dla jednostek zamawiających, a cele mają między sobą zależności.
Na przykład multi-user.target
większość grup demonów jest pogrupowana i wymaga basic.target
aktywacji, co oznacza, że wszystkie usługi zgrupowane poniżej basic.target
zostaną uruchomione przed tymi w multi-user.target
.
man
są przykładowe: czy oglądałeśman systemd.{service,socket,target}
?