Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
skoleni:sprava_uzivatelu_a_sluzeb [2019/04/22 12:07] – [Služby] pridanie sekcie na vytvaranie vlastnej sluzby eskultety | skoleni:sprava_uzivatelu_a_sluzeb [2022/11/14 11:26] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
---|---|---|---|
Řádek 1051: | Řádek 1051: | ||
Službou v Linuxe nazývame aplikáciu (proces) alebo súbor aplikácií tvoriacich logický celok, ktoré bežia na pozadí a typicky čakajú na príchodzie požiadavky, | Službou v Linuxe nazývame aplikáciu (proces) alebo súbor aplikácií tvoriacich logický celok, ktoré bežia na pozadí a typicky čakajú na príchodzie požiadavky, | ||
- | ===Systemd units=== | + | ====Systemd units==== |
Systemd nespravuje iba služby. Podobne ako plánovač v kerneli pristupuje k procesom a vláknam transparentne a jednotne ich nazýva //tasks//, systemd dokáže spravovať aj sokety, mount pointy, časovače ('' | Systemd nespravuje iba služby. Podobne ako plánovač v kerneli pristupuje k procesom a vláknam transparentne a jednotne ich nazýva //tasks//, systemd dokáže spravovať aj sokety, mount pointy, časovače ('' | ||
//Pozn.//: všetky typy **// | //Pozn.//: všetky typy **// | ||
Řádek 1147: | Řádek 1147: | ||
* '' | * '' | ||
- | === Konfiguračné súbory === | + | ===Manuálové stránky=== |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | ==== Konfiguračné súbory | ||
Konfiguračné súbory služieb môžu byť v systéme uložené hneď na niekoľkých miestach: | Konfiguračné súbory služieb môžu byť v systéme uložené hneď na niekoľkých miestach: | ||
* ''/ | * ''/ | ||
Řádek 1238: | Řádek 1244: | ||
< | < | ||
(root)$ systemctl start mydate | (root)$ systemctl start mydate | ||
+ | (root)$ systemctl status mydate | ||
+ | ● mydate.service - Ukazem datum | ||
+ | | ||
+ | Drop-In: / | ||
+ | | ||
+ | | ||
+ | |||
(root)$ journalctl -e -u mydate | (root)$ journalctl -e -u mydate | ||
Apr 22 14:01:27 skoleni systemd[1]: Starting Ukazem datum... | Apr 22 14:01:27 skoleni systemd[1]: Starting Ukazem datum... | ||
Apr 22 14:01:27 skoleni date[8755]: Mon Apr 22 14:01:27 CEST 2019 | Apr 22 14:01:27 skoleni date[8755]: Mon Apr 22 14:01:27 CEST 2019 | ||
Apr 22 14:01:27 skoleni systemd[1]: Started Ukazem datum. | Apr 22 14:01:27 skoleni systemd[1]: Started Ukazem datum. | ||
+ | </ | ||
+ | |||
+ | Zároveň vidíme, že tým, že je naša služba nastavená ako // | ||
+ | < | ||
+ | (root)$ systemctl cat mydate.service | ||
+ | |||
+ | # / | ||
+ | [Unit] | ||
+ | Description=Ukazem datum | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | ExecStart=date | ||
+ | |||
+ | # / | ||
+ | [Service] | ||
+ | RemainAfterExit=yes | ||
+ | </ | ||
+ | |||
+ | Ďalej by sme chceli, aby sa naša služba púšťala vždy po štarte systému, tak ju skúsme povoliť, ako sme si ukazovali vyššie | ||
+ | |||
+ | < | ||
+ | (root)$ systemctl enable myservice | ||
+ | The unit files have no installation config (WantedBy, RequiredBy, Also, Alias | ||
+ | settings in the [Install] section, and DefaultInstance for template units). | ||
+ | This means they are not meant to be enabled using systemctl. | ||
+ | Possible reasons for having this kind of units are: | ||
+ | 1) A unit may be statically enabled by being symlinked from another unit's | ||
+ | | ||
+ | 2) A unit's purpose may be to act as a helper for some other unit which has | ||
+ | a requirement dependency on it. | ||
+ | 3) A unit may be started when needed via activation (socket, path, timer, | ||
+ | | ||
+ | 4) In case of template units, the unit is meant to be enabled with some | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Systemd nám hneď povie, že s našou konfiguráciou nie je niečo vporiadku. Chýba nám tam totiž sekcia '' | ||
+ | |||
+ | ====Systemd target==== | ||
+ | Systemd **target** je špeciálny druh jednotky, ktorý zoskupuje iné jednotky a vytvára tak určitý synchronizačný // | ||
+ | < | ||
+ | $ systemctl cat httpd | ||
+ | [Unit] | ||
+ | ... | ||
+ | After=network.target remote-fs.target nss-lookup.target httpd-init.service | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Takýchto synchronizačných bodov je v systemd niekoľko a tie úplne najzákladnejšie korešpondujú s operačnými režimami sytému **SysV**, známymi ako // | ||
+ | Vráťme sa teda k našej službe a nastavme ju ako službu spustiteľnú vrámci '' | ||
+ | |||
+ | < | ||
+ | (root)$ systemctl cat mydate | ||
+ | ... | ||
+ | # / | ||
+ | [Service] | ||
+ | RemainAfterExit=yes | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | (root)$ systemctl enable mydate | ||
+ | Created symlink / | ||
+ | (root)$ systemctl status mydate | ||
+ | ● mydate.service - Ukazem datum | ||
+ | | ||
+ | ... | ||
</ | </ | ||
===Manuálové stránky=== | ===Manuálové stránky=== | ||
- | * '' | + | * '' |
+ | * '' |