====== 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 '' * **Restart/Reload:** ''systemctl restart|reload '' * **Povolení při startu:** ''systemctl enable '' * **Zakázání:** ''systemctl disable '' * **Stav:** ''systemctl status '' **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. [[it_encyklopedie:linux_sprava|Zpět na správu Linuxu]]