systemd
Toto je starší verze dokumentu!
SystemD
- základem je jednotka.. je několik typů, například:
- service - jednotka pro spouštění procesu
- target - jednotka, která obsahuje seznam jednotek vedoucích k požadovanému cíli (obdoba run level)
- jednotka umí
- restartovat při pádu, sledovat stav
- omezovat zdroje jako cpu/paměť
- spouštění jednotek, až když jsou potřeba (on demantd loading)
- šablony - spouštění podobných služeb, např. getty@.service je šablona služby použivaná pro každé tty
- systemd umí vytvářet virtuální stroje
- tj. oddělení procesů, vlastní init
- výpis aktuálních strojů zobrazuje
machinectl
Příkaz systemctl
- příkaz pro řízení, výpis jednotek
- výpis všech typů:
systemctl --all --type help Available unit types: service socket busname target snapshot device mount automount swap timer path slice scope
- syntax:
systemctl PŘÍKAZ PATTERN, kde PATTERN je seznam jednotek ve tvaru JEDNOTKA[.TYP] - příkazy
is-active/is-enabled/is-failed- pro zjišťování stavu konkrétních jednotek můžeme použít příkaz- Tyto příkazy navíc vrací jako návratový kód nulu, pokud je podmínka splněna pro alespoň jednu jednotku.
enable/disable- povolení či zakázání spouštění jednotkydaemon-reload- aktualizace konfiguračních souborů jednotek- aktualizují se všechny jednotky
- musí se volat po každé změně jakékoliv jednotky
- umístění jednotek
- jednotky, které jsou instalovány z repozitářů, a tedy by je uživatel neměl měnit, sídlí v
- systémové
/usr/lib/systemd/system - uživatelské
/usr/lib/systemd/user
- vlastní jednotky jsou standardně
- systémové
/etc/systemd/system. - uživatelské
/etc/systemd/user- jsou přístupné pro všechny uživatele - osobní
~/.systemd/user- pro každého uživatele zvlášť.
Jednotka service
- skládá se ze tří částí
- Unit
- Service
- Install
- service
- Type - typ služby
- Simple - spustí se proces, který je hlídán. Ukončení procesu způsobí ukončení služby
- Fork - předpokládá se, že spouštěný proces se ukončí a spustí jiný. Aby byla služba považována za aktivní, musí běžet aspoň jeden child
- Oneshot - proces se spustí pouze jednorázově a skončí. Je možné nastavit, aby se služba tvářila po ukončení jako stále aktivní
- ExecStart - co zavolat pro spuštění služby
- ExecStop - co zavolat pro ukončení služby. Volá se i v případě, že služba je zabita nebo sama ukončena.
- DefaultTimeoutStartSec a DefaultTimeoutStopSec přenastavit výchozí časy, nebo pro každou jednotku zvlášť pomocí TimeoutStartSec a TimeoutStopSec.
- install
- WantedBy a RequiredBy, které říkají, kam se mají přidat závislosti při příkazu systemctl enable.
- Pokud chceme nějakou jednotku spouštět po startu, typicky nastavíme WantedBy=default.target, popř. WantedBy=multi-user.target.
- šablony - parametrické unity
- Pokud v systemd pracujeme s jednotkou obsahující zavináč (ve tvaru jmeno@parametr.typ), je hledán soubor jmeno@.typ a pro odlišení konkrétní instance se použije parametr.
Zdroje
-
- návod pro začátečníky tak nějak
-
- kompletní detailní dokumentace k systemd
- zajímavé podstránky
-
- volby pro spouštění příkazů přes ExecStop, ExecStart, Exec*…
-
- volby pro jednotky typu service
-
- volby pro jednotku
-
systemd.1484580007.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
