Démon správy systému Systemd byl navržen tak, aby nahradil současný init systém zděděný z operačních systémů UNIX System V, jako je Linux, a tím učinil současný init systém zastaralým. V tomto tutoriálu probereme některé základy systemd, jako je spuštění nebo zastavení služby a zobrazení stavu služby pomocí systemctl
příkaz.
Začněme trochou informací o naší verzi systemd. Použijte níže uvedený systemctl
příkaz k určení verze systemd:
[root@rhel7 ~]# systemctl --version systemd 208 +PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ
Dále použijeme systemctl
příkaz k zobrazení seznamu všech aktuálně spuštěných služeb na našem serveru Redhat Linux:
[root@rhel7 ~]# systemctl list-units --type=service | grep running
Podobně můžeme vypsat všechny služby, které se nepodařilo načíst během spouštění systému:
[root@rhel7 ~]# systemctl list-units --type=service | grep failed fprintd.service loaded failed failed Fingerprint Authentication Daemon rhnsd.service loaded failed failed LSB: Starts the Spacewalk Daemon rngd.service loaded failed failed Hardware RNG Entropy Gatherer Daemon
Pokud máte zájem o všechny aktivní služby dostupné ve vašem systému, jednoduše spusťte výše uvedený systemctl
příkaz bez potrubí grep:
[root@rhel7 ~]# systemctl list-units --type=service ... ... ... systemd-udevd.service loaded active running udev Kernel Device Manager systemd-update-utmp.service loaded active exited Update UTMP about System Reboot/Shutdown systemd-user-sessions.service loaded active exited Permit User Sessions systemd-vconsole-setup.service loaded active exited Setup Virtual Console tuned.service loaded active running Dynamic System Tuning Daemon upower.service loaded active running Daemon for power management vboxadd-service.service loaded active running LSB: VirtualBox Additions service vboxadd-x11.service loaded active exited LSB: VirtualBox Linux Additions kernel modules vboxadd.service loaded active exited LSB: VirtualBox Linux Additions kernel modules LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 68 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
Výše uvedený příkaz zobrazí pouze aktivní služby. Chcete-li zobrazit seznam všech služeb včetně neaktivních služeb, spusťte:
[root@rhel7 ~]# systemctl list-units --type=service --all
Jakmile najdeme službu, kterou chceme spustit, zastavit, restartovat nebo získat její stav, použijeme systemctl
příkaz s následující syntaxí:
systemctl COMMAND SERVICE
Takže například k zastavení našeho Postfix Mail Transport Agenta:
postfix.service loaded active running Postfix Mail Transport Agent
Můžeme vydat systemctl
příkaz:
[root@rhel7 ~]# systemctl stop postfix.service OR SIMPLY [root@rhel7 ~]# systemctl stop postfix
Později můžeme zkontrolovat stav pomocí:
[root@rhel7 ~]# systemctl status postfix.service postfix.service - Postfix Mail Transport Agent Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled) Active: inactive (dead) since Mon 2014-09-15 12:27:09 WST; 5s ago
V závislosti na službě, kterou se pokoušíte spravovat, můžete použít různé různé příkazy, jako je stop, start, restart, status, reload, kill atd. Podívejte se na manuálovou stránku systemctl
příkaz k získání úplného seznamu příkazů.