Úvod
Moderní distribuce Linuxu přicházejí s inicializačním systémem systemd, který uživatelům umožňuje spravovat služby pomocí systemctl
příkaz.
Některé starší systémy však stále používají System V nebo Upstart. V takovém případě použijte chkconfig
příkaz k zobrazení, spuštění a zastavení služeb a také povolení nebo zakázání služeb při spuštění.
Tato příručka vám ukáže, jak používat chkconfig
příkaz k ovládání systémových služeb v Linuxu.
Předpoklady
- Systém se systémem System V nebo Upstart.
- Přístup k terminálu/příkazovému řádku.
- Přístup k účtu s právy root nebo sudo.
Syntaxe příkazu chkconfig
chkconfig
syntaxe příkazu vypadá takto:
chkconfig [options] [service] [subcommand]
Příkaz funguje samostatně, ale lze jej použít také s:
--list
,--level
,--add
,--del
a--override
možnosti uvedené před názvem služby. Možnosti vytisknou podrobnosti nebo spravují danou službu.on
,off
,reset
neboresetpriorities
dílčí příkazy přidané za název služby. Dílčí příkazy mění spouštěcí informace pro zadanou službu.
Možnosti příkazu chkconfig
Spuštění chkconfig
příkaz bez jakýchkoli voleb vypíše aktuální konfiguraci všech služeb:
Spuštění příkazu s různými volbami a dílčími příkazy však uživatelům umožňuje spravovat služby namísto jejich pouhého výpisu. Níže uvedená tabulka ukazuje možnosti a dílčí příkazy používané s chkconfig
příkaz:
Možnost | Popis |
---|---|
--list | Zobrazuje všechny služby a jejich aktuální stav spuštění v každé úrovni běhu. |
--list | sort | Třídí služby podle abecedy a zobrazuje je s aktuálním stavem spuštění v každé úrovni běhu. |
--list | grep on | Zobrazuje pouze spuštěné služby a jejich aktuální stav spuštění v každé úrovni běhu. |
--list | grep off | Zobrazuje pouze služby zakázané v jedné nebo více úrovních běhu a jejich aktuální stav spuštění v každé úrovni běhu. |
--list | grep --level <levels>:on | Specifické pro úroveň:Vytiskne služby spuštěné v určité úrovni běhu. |
--list | grep --level <levels>:off | Specifické pro úroveň:Tiskne služby, které jsou na určité úrovni běhu zakázány. |
--list [service] | Vydává stav konkrétní služby v každé úrovni běhu. |
[service] on | Umožňuje spuštění služby při spouštění systému. |
[service] off | Zakáže spuštění služby při spouštění systému. |
--level <levels> [service] on | Zapne konkrétní službu v jedné nebo více úrovních běhu. |
--level <levels> [service] off | Vypne konkrétní službu v jedné nebo více úrovních běhu. |
--add [service] | Přidá službu ke spuštění ve všech úrovních běhu. |
--del [service] | Odebere službu ze spuštění ve všech úrovních běhu. |
[service] reset | Resetuje stavy zapnutí/vypnutí všech služeb. |
[service] resetpriorities | Resetuje priority spuštění/zastavení všech služeb. |
--override [service] | Překonfiguruje službu na přepsání nastavení namísto výchozí konfigurace. |
Příklady příkazu chkconfig
chkconfig
command je dokonalý nástroj pro správu služeb pro starší systémy Linux. Níže uvedené sekce popisují běžné chkconfig
příklady.
Seznam všech služeb
Chcete-li zobrazit všechny služby, spusťte příkaz bez voleb nebo spusťte:
chkconfig --list
Pomocí --list
s chkconfig
zobrazí stav všech dostupných služeb ve všech úrovních běhu. V případě, že chcete seřadit služby v abecedním pořadí, použijte sort
možnost:
chkconfig --list |sort
chkconfig --list
příkaz také funguje v RHEL 7. Výstup však zobrazuje pouze služby Sys V a nikoli nativní systémové služby:
Seznam všech povolených služeb
Chcete-li najít všechny povolené služby (v jedné nebo více úrovních běhu), spusťte kombinaci chkconfig --list
pomocí příkazu grep:
chkconfig --list | grep on
Chcete-li najít všechny zakázané služby (v jedné nebo více úrovních běhu), spusťte:
chkconfig --list | grep off
Chcete-li dále zúžit rozsah na služby zapínající/vypínající konkrétní úroveň běhu, použijte:
chkconfig --list | grep --level <levels>:on
chkconfig --list | grep --level <levels>:off
Například vypište všechny služby spuštěné na úrovni běhu 5 pomocí:
chkconfig --list | grep 5:on
Na druhou stranu, chcete-li zobrazit všechny služby, které nejsou spuštěny v úrovni běhu 5, spusťte:
chkconfig --list | grep 5 :off
Uveďte konkrétní službu
Chcete-li zobrazit konfiguraci spuštění konkrétní služby ve všech úrovních běhu, spusťte chkconfig --list
a specifikujte službu.
chkconfig --list [service]
Zkontrolujte například stav ntpd služba ve všech úrovních běhu s:
chkconfig --list ntpd
Výstup ukazuje, že ntpd služba je zakázána při spouštění v jakékoli úrovni běhu.
Povolte službu
Povolte spuštění služby při spuštění pomocí chkconfig [service] on
příkaz. Dále pomocí <strong>--list</strong>.
potvrďte, že je služba zapnutá
chkconfig [service] on
chkconfig --list [service]
on
volba ovlivňuje úrovně běhu 2, 3, 4 a 5 a spouští ntpd službu při spouštění na těchto úrovních běhu. Chcete-li povolit službu pouze na jedné nebo více úrovních běhu, spusťte:
chkconfig --level <levels> [service] on
Spusťte například ntpd službu na třetí úrovni běhu a ověřte konfiguraci služby pomocí:
chkconfig --level 3 ntpd on
chkconfig --list ntpd
Podobně zapněte ntpd služba ve více úrovních běhu najednou:
chkconfig --level 235 ntpd on
chkconfig --list ntpd
Deaktivace služby
Zakažte spuštění služby při spuštění systému pomocí chkconfig [service] off
příkaz:
chkconfig [service] off
chkconfig --list [service]
I když off
proměnná také ovlivňuje úrovně běhu 2 až 5, uživatelé mohou určit, ve kterých úrovních běhu službu zakázat.
Například deaktivujte ntpd službu pouze v úrovni běhu 3 a ověřte výsledky pomocí:
chkconfig --level 3 ntpd off
chkconfig --list ntpd
Přidat službu
Přidejte službu do spuštění ve všech úrovních běhu pomocí následujícího příkazu:
chkconfig --add [service]
Použijte například --add
možnost přidat ntpd ke spuštění ve všech úrovních běhu. Dále použijte --list
pro ověření, že služba byla přidána:
chkconfig --add ntpd
chkconfig --list ntpd
chkconfig
příkaz přidá a nakonfiguruje službu podle výchozích hodnot ve skriptu init. Například ntpd služba je ve výchozím nastavení zakázána v každé úrovni běhu.
Poznámka: Příkaz přidá službu, pouze pokud je dostupná a nainstalovaná. Pokud služba nebyla nainstalována, nainstalujte nejprve její balíček.
Odebrání služby
Odstraňte službu ze spuštění ve všech úrovních běhu pomocí --del
možnost:
chkconfig --del [service]
--del
možnost odebere službu ze spuštění, ale služba zůstane v systému. Chcete-li tedy službu přidat zpět do spuštění, použijte --add
možnost znovu.
Resetovat konfiguraci služby
Chcete-li resetovat stav zapnutí/vypnutí služby ve všech úrovních běhu, jak je uvedeno ve skriptu init, spusťte:
chkconfig [service] reset
Výstup ukazuje, že ntpd vrátí se do výchozího stavu vypnuto ve všech úrovních běhu.
Závěr
Po přečtení tohoto návodu víte, jak používat chkconfig
příkaz pro správu služeb ve starších verzích Linuxu.
Dále se naučte používat systemctl
příkaz ke spuštění, zastavení a restartování služeb Linuxu na novějších distribucích Linuxu.