Běžná práce se systemd
Stejně jako v předchozích variantách service managerů existuje i v systemd program, pomocí kterého se služby spouští, zastavují, restartují nebo se načítá jejich konfigurace za běhu. Pro tyto a další úkony slouží aplikace systemctl:
Spuštění služby, pokud již běží, nic se neděje:
systemctl start mysqld.service
Zastavení služby, pokud je již zastavena, nic se neděje:
systemctl stop mysqld.service
Restart a podmíněný restart služby; drůhý z uvedených bude proveden pouze pokud služba běží, tedy nespustí zastavenou službu, jako by to udělal první z nich:
systemctl restart mysqld.service
systemctl try-restart mysqld.service
Znovu-načtení konfigurace:
systemctl reload mysqld.service
Spouštět službu na defaultních runlevelech po startu:
systemctl enable mysqld.service
Nespouštět službu automaticky po startu:
systemctl disable mysqld.service
Zjištění, zda je služba automaticky spouštěna po startu:
systemctl is-enabled mysqld.service
Přepnutí do runlevelu 3:
systemctl isolate multi-user.target
systemctl isolate runlevel3.target
Přepnutí do runlevelu 5:
systemctl isolate graphical.target
systemctl isolate runlevel5.target
Výpis všech služeb a jejich stavů:
systemctl list-units
Znovu-načtení konfigurace démona, důležitý krok po úpravě unit souborů:
systemctl daemon-reload
Pro zpětnou kompatibilitu systemd podporuje i dřívější způsob provádění těchto operací – tedy pomocí programů service, chkconfig apod., nicméně preferovaná je novější varianta.
Pokud jste si vyzkoušeli například příkaz systemctl enable, všimli jste si, že systemd hojně pracuje se symbolickými odkazy. Například instalace služby po startu znamená přidání symbolického odkazu na příslušný service file do adresáře cíleného runlevelu, který končí příponou „target“. Pokud pochopíte tento celkem jednoduchý princip, nic vám nebrání vytváření vlastních symbolických odkazů manuálně, tedy bez programu systemctl.
Jak ze systemd dostat více informací
Pokud se dostanete tak daleko, že bude te upravovat nějakou službu, například její unit soubor, případně vytvářet službu novou, bude se vám hodit trochu ukecanější systemd. To v GRUBu zařídíme přidáním následujících parametrů do příkazu načtení jádra:
systemd.log_level=debu systemd.log_target=kmsg
v případě GRUB 2 můžeme nastavit proměnnou v souboru /etc/default/grub:
GRUB_CMDLINE_LINUX="systemd.log_target=kmsg systemd.log_level=debug"
http://www.wild-web.eu/blog/bezna-prace-se-systemd/