systemd (Správce systému a služeb)
systemd je moderní systém inicializace (init) a správy služeb v Linuxu. Nahradil starší systémy jako SysV init a Upstart. Stal se standardem pro většinu hlavních distribucí (Debian, Ubuntu, Fedora, RHEL, openSUSE, Arch Linux).
Pracuje jako první proces v uživatelském prostoru (PID 1) a slouží jako základ pro bootování a správu celého operačního systému.
### 1. Klíčové vlastnosti
- Paralelizace: Spouští služby současně, což výrazně zrychluje start systému.
- On-demand aktivace: Služby mohou být spuštěny až ve chvíli, kdy jsou potřeba (např. pomocí socketů).
- Cgroups: Sleduje procesy pomocí kontrolních skupin (Control Groups), což zajišťuje, že po zastavení služby nezůstanou žádné „sirotčí“ procesy.
- Snapshoty: Umožňuje uložit a obnovit stav systémových jednotek.
### 2. Jednotky (Units) Systemd spravuje různé typy objektů, které nazývá jednotky. Typ jednotky poznáte podle přípony:
| Typ | Popis |
|---|---|
| .service | Klasická služba/démon (např. Apache, SSH). |
| .target | Skupina jednotek (ekvivalent runlevelů, např. multi-user.target). |
| .mount | Definice bodu připojení souborového systému. |
| .socket | Síťový nebo IPC socket pro aktivaci služby při příchodu dat. |
| .timer | Plánování úloh (moderní náhrada za cron). |
### 3. Základní příkazy (systemctl)
Hlavním nástrojem pro interakci je příkaz systemctl.
Správa služeb:
- Start/Stop:
systemctl start|stop <sluzba> - Restart/Reload:
systemctl restart|reload <sluzba> - Povolení při startu:
systemctl enable <sluzba> - Zakázání:
systemctl disable <sluzba> - Stav:
systemctl status <sluzba>
Správa systému:
- Restart stroje:
systemctl reboot - Vypnutí:
systemctl poweroff - Změna cíle (runlevelu):
systemctl isolate graphical.target
### 4. Práce s logy (journalctl)
Systemd obsahuje vlastní binární systém logování, který spravuje démon journald.
Užitečné příkazy pro logy:
- Zobrazení všech logů:
journalctl - Logy konkrétní služby:
journalctl -u sshd - Sledování v reálném čase:
journalctl -f - Logy od posledního bootu:
journalctl -b - Logy s vysokou prioritou (chyby):
journalctl -p err
### 5. Analýza bootování Jednou z nejsilnějších stránek systemd je diagnostika rychlosti startu.
Celkový čas bootu:
systemd-analyze
Které služby trvaly nejdéle:
systemd-analyze blame
Poznámka: Konfigurační soubory vytvořené správcem systému by měly být umístěny v/etc/systemd/system/. Soubory v/usr/lib/systemd/system/jsou určeny pro výchozí nastavení od distribuce a mohou být při aktualizaci přepsány.
