GNU/Linux >> Znalost Linux >  >> Linux

Příkazy Systemctl pro správu služby Systemd

Systemctl je nástroj používaný systemd pro správu správce systému a služeb. Mnoho moderních linuxových distribucí, jako je Ubuntu, Debian, Fedora, Linux Mint, OpenSuSE, Redhat, přijalo systemd jako svůj výchozí init systém.

Pomocí systemctl můžete spustit, zastavit, znovu načíst, restartovat službu, vypsat jednotky, zkontrolovat stav služby, povolit/zakázat službu, spravovat cíle (úrovně běhu) a správu napájení.

V tomto tutoriálu vám ukážu, jak používat příkazy systemctl ke správě služby systemd v Linuxu.

1. Systemctl Start/Stop/Restart/Reload Service

Chcete-li spustit službu v Linuxu, spusťte systemctl následovaný 'start' space service name.

Příklad:

systemctl start dnsmasq

Na rozdíl od příkazu service, příkaz systemctl start neposkytuje žádný výstup.

Chcete-li službu zastavit, použijte systemctl stop service-name. Například:

systemctl stop dnsmasq

Chcete-li službu restartovat, použijte systemctl restart service-name.

Příklad:

systemctl restart dnsmasq

Chcete-li znovu načíst konfiguraci služby (řekněme ssh), aniž byste ji restartovali, použijte systemctl reload service-name.

Například:

systemctl reload sshd

2. Systemctl kontrola stavu služby

Abychom viděli, zda služba běží nebo ne, můžeme použít kontrolu stavu systemctl.

systemctl status dnsmasq

3. Zaškrtněte a povolte/zakažte službu při spouštění

Chcete-li povolit službu při spouštění (to odpovídá 'chkconfig on' v systému sysvinit), použijte systemctl enable service-name.

Příklad:

systemctl enable dnsmasq.service

Podobně lze služby zakázat při bootování, spusťte:

systemctl disable dnsmasq.service

Chcete-li zkontrolovat, zda je služba při spouštění povolena nebo ne, spusťte:

systemctl is-enabled dnsmasq.service

4. Systemctl Seznam jednotek

Chcete-li zobrazit všechny spuštěné jednotky, spusťte příkaz systemctl bez jakékoli volby. Totéž dělá i volba list-units.

systemctl

nebo

systemctl list-units

Neúspěšné jednotky mohou být uvedeny s volbou --failed.

systemctl --failed

Chcete-li zobrazit všechny aktivní služby, spusťte:

systemctl list-units -t service

6. Systemctl příkazy pro restart/vypnutí

Stejně jako příkaz k vypnutí, příkaz systemctl pro vypnutí systému, restartování nebo hibernaci.

Následující příkaz vypne systém a počítač a odešle upozornění všem přihlášeným uživatelům.

systemctl poweroff

Následující příkaz vypne systém, ale nevypne počítač. Toto odešle upozornění všem přihlášeným uživatelům.

systemctl halt

Vypněte počítač, ale nepošle žádné upozornění všem přihlášeným uživatelům.

systemctl --no-wall poweroff

Chcete-li zobrazit podrobnosti o vypnutí, spusťte níže uvedený příkaz.

journalctl -u systemd-shutdownd

7. Systemclt ke správě vzdálených systémů

Obvykle lze všechny výše uvedené příkazy systemctl použít ke správě vzdáleného hostitele pomocí samotného příkazu systemctl. To bude používat ssh pro komunikaci se vzdáleným hostitelem. Vše, co musíte udělat, je přidat uživatele a hostitele do příkazu systemctl takto:

systemctl status sshd -H [email protected]

8. Správa cílů

Systemd má koncept cílů, které mají podobný účel jako runlevels v systému sysVinit.

Úrovně běhu v sysVinit byly většinou numerické (0,1,2,...). Zde jsou úrovně běhu v sysVinit s jejich protějšky systemd:

0 runlevel0.target, poweroff.target
1, s, single runlevel1.target, rescue.target
2, 4 runlevel2.target, runlevel4.target, multi-user.target
3 runlevel3.target, multi-user.target
5 runlevel5.target, graphical.target
6 runlevel6.target, reboot.target
emergency emergency.target

Chcete-li změnit aktuální cíl, zadejte:

systemctl isolate graphical.target

Pokud chcete vidět, v jakém cíli se nacházíte, musíte vypsat všechny odpovídající jednotky.

systemctl list-units --type=target

Zde můžete vidět "graphical.target". To je to, co jsme změnili náš cíl. Nyní změňme úroveň běhu znovu na multi-user.target a poté analyzujeme tento výstup:

systemctl isolate multi-user.target
systemctl list-units --type=target

Chcete-li uvést výchozí cíl, zadejte:

systemctl get-default

Výchozí cíl lze nastavit příkazem set-default, zadejte:

systemctl set-default graphical.target

Další užitečný příkaz systemd

Přihlášení systemd

Systemd má svůj vlastní logovací systém nazvaný journald. Nahrazuje démona syslog ze sysVinit.

journalctl

Chcete-li zobrazit všechny zaváděcí zprávy, spusťte příkaz "journalctl -b".

journalctl -b

Následující příkaz následuje systémové protokoly v reálném čase (podobně jako tail -f).

journalctl -f

Chcete-li zkontrolovat protokoly specifické pro konkrétní službu nebo spustitelný soubor, použijte journalctl jako:

journalctl /usr/sbin/dnsmasq

Zjistit dobu trvání procesu spouštění

Chcete-li zjistit dobu trvání procesu spouštění systému pomocí následujícího příkazu:

systemd-analyze

Čas analýzy systemd také ukazuje stejnou informaci.

systemd-analyze time

Chcete-li vytisknout seznam všech běžících jednotek seřazených podle doby potřebné k inicializaci, použijte systemd-analyze obvinění.

systemd-analyze blame

Příkaz Hostnamectl

Chcete-li zobrazit a změnit název hostitele, použijte příkaz hostnamectl.

hostnamectl

Závěr

V tomto tutoriálu jsme se naučili příkazy systemctl pro správu služby systemd v distribucích Linuxu. Doufám, že se vám čtení líbilo a zanechte prosím své návrhy v sekci komentářů níže.

Přečtěte si také:

  • Proces spouštění systému podrobný pohled na Linux
  • Barevné! systemd vs sysVinit Linux Cheatsheet

Linux
  1. Spravujte spouštění pomocí systemd

  2. Použití příkazu systemctl ke správě jednotek systemd

  3. 10 praktických příkazů systemd:Reference

  1. Jak používat příkaz Systemctl ke správě služeb Systemd

  2. Jak vytvořit službu Systemd v Linuxu

  3. Systemctl nahrazuje příkazy Chkconfig a Service v CentOS 7

  1. Ke správě služeb použijte Systemctl

  2. odkaz na příkazový řádek systemd (cheat sheet)

  3. Jak mohu nakonfigurovat službu systemd, aby se pravidelně restartovala?