Jak používat Systemd k výpisu služeb

Všechny mainstreamové linuxové distribuce používají Systemd, init systém, který funguje na základě povolení a zakázání „služeb“ souborů. Pokud se pokoušíte vypsat tyto soubory služeb, ale nevíte, jak na to, budete muset použít příkaz systemctl.

V této příručce projdeme různými způsoby, jak můžete vypsat soubory služeb Systemd v systému Linux. Chcete-li začít, ujistěte se, že používáte operační systém Linux se systémem Systemd. Poté otevřete okno terminálu a postupujte podle něj.

K zobrazení seznamu aktivních služeb použijte Systemd

Pokud hodně používáte Systemd, v určitém okamžiku možná budete chtít vědět, jaké služby jsou aktivní, když je váš systém Linux zaváděn. Výpis aktivních služeb je velmi snadný a můžete to udělat pomocí příkazu systemctl –type=service systemctl –type=service –state=running.

Tento příkaz po spuštění zobrazí tabulku všech služeb, pokud jsou aktivní, a také stručný popis. Chcete-li spustit tento program, otevřete okno terminálu. Jakmile se otevře okno terminálu, proveďte níže uvedený příkaz.

  Jak vytvořit vlastní distribuci Ubuntu pomocí Distroshare Ubuntu Imager

systemctl --type=service --state=running

Pokud se pokoušíte profiltrovat všechny aktivní služby pro konkrétní službu, může být prohlížení této velké tabulky docela únavné. Naštěstí lze příkaz systemctl kombinovat s příkazem grep jako mechanismus filtrování.

Chcete-li například zkontrolovat, zda je spuštěna a načtena služba „snapd.service“, můžete spustit systemctl –type=service –state=running | grep ‚snapd‘ a výstup zobrazí pouze službu Snapd namísto celé tabulky.

systemctl --type=service --state=running | grep 'snapd'

Pokud chcete výstup tabulky uložit do textového souboru na později, použijte následující příkaz.

systemctl --type=service --state=runningrunning > ~/active-services.txt

Chcete-li textový soubor kdykoli zobrazit, spusťte níže uvedený příkaz cat.

cat ~/active-services.txt

Pro výpis neaktivních služeb použijte Systemd

Výpis aktivních služeb Systemd je užitečný, ale co neaktivní? Ano, i ty je možné uvést. Zde je návod. Nejprve otevřete okno terminálu.

Jakmile je okno terminálu otevřené a připravené k použití, spusťte příkaz systemctl –type=service, ale do slotu –state= vložte „neaktivní“ místo „běžící“. Tímto způsobem můžete zjistit, které služby Systemd jsou ve vašem systému Linux neaktivní.

  Jak si vybrat nejlepší službu kontroly pozadí

systemctl --type=service --state=inactive

Stejně jako u aktivních služeb vytvoří Systemd pěknou, úhlednou tabulku a ukáže vám, které služby Systemd jsou neaktivní, mrtvé a nepoužívané. Pokud byste chtěli profiltrovat tuto tabulku a zjistit, zda je konkrétní služba mrtvá, můžete ji zkombinovat s příkazem grep.

Chcete-li například určit, zda je soubor „updatedb.service“ neaktivní, můžete zkombinovat systemctl –type=service –state=inactive s příkazem grep níže a vyhledat jej v tabulce.

systemctl --type=service --state=inactive | grep 'updatedb.service'

Pokud potřebujete uložit všechny neaktivní soubory služby Systemd do textového souboru pro pozdější čtení, použijte následující příkaz.

systemctl --type=service --state=inactive > ~/inactive-services.txt

Chcete-li tento textový soubor přečíst přímo z okna terminálu, použijte příkaz cat.

cat  ~/inactive-services.txt

Pomocí Systemd zobrazíte seznam všech nainstalovaných služeb

Pokud potřebujete vidět všechny nainstalované služby Systemd, ať už jsou aktivní nebo ne, budete muset použít příkaz systemctl list-unit-files –type=service a vyloučit přepínač příkazového řádku –state. Vyloučením –state bude Systemd schopen snadno vypsat každý soubor služby ve vašem počítači.

systemctl list-unit-files --type=service

Po provedení výše uvedeného příkazu Systemd vytiskne tabulku s každým servisním souborem v systému. Odtud můžete třídit tabulku a najít soubor služby, který potřebujete.

  6 nejlepších nástrojů pro správu bezpečnostních informací a událostí (SIEM), které stojí za to vyzkoušet v roce 2020

Pokud nemůžete najít konkrétní soubor služby, můžete zkombinovat příkaz systemctl list-unit-files –type=service s příkazem grep a použít filtr. Pomocí níže uvedeného příkazu vyfiltrujte tabulku a vyhledejte soubor služby, který potřebujete.

systemctl list-unit-files --type=service | grep 'my-service'

Chcete exportovat všechny služby Systemd do textového souboru, abyste si je mohli přečíst později? Proveďte následující příkaz.

systemctl list-unit-files --type=service > ~/service-files.txt

Textový soubor můžete kdykoli zobrazit pomocí příkazu cat níže.

cat ~/service-files.txt

Pomocí Systemd zobrazíte stav jednotlivých služeb

I když je užitečné vědět, jak vypsat všechny služby Systemd, ty, které jsou aktivní i neaktivní, je také užitečné vědět, jak vypsat stav služeb jednotlivě. Zde je návod, jak na to.

Nejprve otevřete okno terminálu. Jakmile se otevře okno terminálu, použijte pro konkrétní službu příkaz systemctl status. Chcete-li například zjistit stav „NetworkManager.service“, spustí se následující příkaz.

systemctl status NetworkManager

Pokud byste chtěli exportovat výstup příkazu status do textového souboru pro pozdější čtení, můžete zadat příkaz níže.

systemctl status MyService > ~/MyService-status.txt

Chcete-li tento soubor zobrazit, spusťte následující příkaz cat.

cat ~/MyService-status.txt