Wiem, że wszystkie z nich są plikami jednostkowymi, ale nie rozumiem ich specjalnego znaczenia. Myślę, że cele są podobne do demonów, a gniazda są takie same jak gniazdo (IP + port), ale także z numerami i-węzłów. Czy ktoś mógłby wyjaśnić je prostymi słowami?
35
man
są przykładowe: czy oglądałeśman systemd.{service,socket,target}
?Odpowiedzi:
Jednostki serwisowe:
- 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:
- 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:
- 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 wymagabasic.target
aktywacji, co oznacza, że wszystkie usługi zgrupowane poniżejbasic.target
zostaną uruchomione przed tymi wmulti-user.target
.źródło
Dokumentacja systemd jest doskonała dla tak stosunkowo nowego projektu. Aby rozpocząć z celów , od
man systemd.target
:Te „grupy jednostek” obejmują szereg różnych funkcji, od
basic.target
zasadniczo obejmujących uruchamianie systemu, aż po wszystko, od dbus, gettys, punktów montowania do wymiany i timerów. Możesz zobaczyć pełną listę za pomocąman systemd.special
.pliki usług są podstawowymi jednostkami do uruchamiania procesów kontrolowanych przez systemd. Ponownie, od
man systemd.service
:Stanowią one demony, które można uruchomić, zatrzymać, zrestartować, ponownie załadować.
Wreszcie gniazda z
man systemd.socket
:Obejmują one gniazdo w systemie plików lub w Internecie, a także klasyczne FIFO jako transport. Każda jednostka gniazdowa ma pasującą jednostkę serwisową, która jest uruchamiana, jeśli pierwsze połączenie pojawi się na gnieździe lub FIFO.
Oprócz
man
stron warto przeczytać serię postów na blogu Lennarta , systemd dla administratorów , która zapewnia dogłębne spojrzenie na architekturę i implementację systemd (obecnie w serii jest 20 postów).źródło