Ú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,--dela--overridemožnosti uvedené před názvem služby. Možnosti vytisknou podrobnosti nebo spravují danou službu.on,off,resetneboresetprioritiesdí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.