Co je Systemctl
?
Systemctl
je nástroj centrální správy pro ovládání systemd init
Systém. Tento příkaz jako takový používáte nejčastěji k interakci s systemd
Systém. Většina distribucí Linuxu používá systemd
jako jejich init
systém, takže je dobré se seznámit s používáním systemctl
funkce při správě služeb běžících na vašem systému Linux.
Spravovat služby
Následující příklad ukazuje základní šablonu příkazu pro použití systemctl
příkaz:
systemctl (command) (service)
To se liší od příkazu service use a service (service) (command) formát, který používá příkazy jako service httpd reload to reload the Apache service
. Použití tohoto příkladu názvu pod systemctl
formát, příkaz vypadá jako následující příklady:
Systémy založené na CentOS® nebo Red Hat® Enterprise Linux®:
systemctl reload httpd
Operační systémy Ubuntu:
systemctl reload apache2
Poznámka: Nemusíte uvádět službu . za názvem služby, kterou chcete spravovat. Systemctl je dostatečně chytrý na to, aby věděl, že se pokoušíte provozovat službu pomocí příkazů správy služeb.
Následují některé běžné systemctl
příkazy:
- start :Spuštění služby, která aktuálně není spuštěna
- stop :Zastavení aktuálně spuštěné služby
- restartovat :Restartujte aktuálně spuštěnou službu
- znovu načíst :Proveďte měkký restart aktuálně spuštěné služby
- povolit :Povolí automatické spuštění služby při každém restartování systému
- deaktivovat :Zabrání automatickému spuštění služby při restartování systému
- stav :Kontrola aktuálního stavu služby ve vašem systému
Poznámka :reload
možnost není vždy dostupná. Můžete použít reload-or-restart
místo toho, pokud si nejste jisti reload
dostupnost. Pomocí reload-or-restart
se pokusí použít reload
nejprve a použije restart
pokud reload
není k dispozici.
Níže jsou uvedeny některé méně obvyklé možnosti:
- je aktivní :Zkontrolujte, zda je jednotka aktuálně aktivní (běží)
- je povoleno :Zkontrolujte, zda je služba povolena nebo zakázána
- selhal :Zkontrolujte, zda služba není v selhal stát
- seznam jednotek :Zkontrolujte všechny jednotky, které
systemd
aktuálně považuje za aktivní v systému
Příkaz list-units
list-units
zobrazí tabulku s následujícími sloupci:
- JEDNOTKA :Název systémové jednotky (nebo služby)
- NAČÍST :Služba aktuálně načtená v systemd
- AKTIVNÍ :Souhrn informací o tom, zda je služba aktuálně aktivní
- SUB :Poskytuje trochu více podrobností o aktuálním stavu služby
- DESCRIPTION :Krátký popis toho, co služba je nebo dělá
Přidání --all
argument do list-units
systemctl
příkaz zahrnuje jakoukoli službu, která systemd
načteno nebo se pokusilo načíst bez ohledu na jeho aktuální stav v systému, jak ukazuje následující příklad:
systemctl list-units --all
Můžete použít list-units
příkaz lze použít několika dalšími způsoby, jako je přidání --state=
filtr, jak ukazuje následující příklad:
systemctl list-units --all --state=(filter)
Obvykle tuto možnost používáte k filtrování výsledků podle aktuálního stavu služby, buď active
nebo inactive
, jak ukazuje následující příklad:
systemctl list-units --all --state=inactive
Výsledky můžete dále filtrovat přidáním následujícího argumentu:
systemctl list-units --type=(filter)
Tato volba říká systemctl
vypsat pouze služby zadaného typu. Například nahrazením (filter)
s (service)
v předchozím příkazu uvádí pouze aktivní servisní jednotky.
Podobně můžete použít příkaz systemctl list-units-files
seznam všech dostupných souborů jednotek v systemd
cestu, včetně těch, které systemd
se nepokusil načíst.
Příkaz mask
Pokud potřebujete zabránit spuštění služby, ručně nebo automaticky, můžete použít mask
příkaz s systemctl
.Předpokládejme například, že se chcete ujistit, že Apache® neběží. Pokud nespouštíte jako root, musíte umístit sudo
příkaz před příkazem. Jinak příkaz vypadá podobně jako v následujícím příkladu:
systemctl mask httpd.service
nebo
systemctl mask apache2.service
Pokud chcete zrušit označení služby, nahraďte předchozí mask
pomocí unmask
a služba se může znovu spustit.
Závěr
I když existují pokročilejší použití systemctl
utility, toto jsou možnosti použití, které budete používat nejčastěji. Nyní jste obeznámeni s nejběžnějšími způsoby použití systemctl
při interakci s systemd
. Systemctl
je vaše hlavní metoda interakce pro správu služeb.