GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak povolit nebo zakázat služby v Ubuntu Systemd/Upstart

Často je potřeba dočasně nebo trvale povolit nebo zakázat služby v našem systému Ubuntu. Někdy můžeme vyžadovat, aby se určité služby spouštěly automaticky při startu, např. ssh nebo webové servery, a někdy můžeme potřebovat deaktivovat služby, které již nepotřebujeme a zatěžují CPU a RAM.

V tomto tutoriálu se podíváme na to, jak můžeme povolit a zakázat služby na Ubuntu. Abychom to mohli udělat, musíme nejprve pochopit, že existují 3 hlavní init systémy pro Ubuntu

  • Systemd
  • Počáteční
  • SysV

Každý init systém má jiný způsob spouštění a zastavování služeb. Podíváme se na každý z nich.

Jak povolit a zakázat služby v Systemd init

Spuštění služby v systemd spusťte příkaz podle obrázku:

systemctl start service-name

Chcete-li například spustit webovou službu apache, spusťte

systemctl start apache2

Chcete-li ověřit, zda je služba spuštěna, spusťte

systemctl status apache2

Výstup

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Thu 2018-03-15 17:09:05 UTC; 35s ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/apache2.service
           ├─2499 /usr/sbin/apache2 -k start
           ├─2502 /usr/sbin/apache2 -k start
           └─2503 /usr/sbin/apache2 -k start

Mar 15 17:09:04 ip-172-31-41-251 systemd[1]: Starting LSB: Apache2 web server...
Mar 15 17:09:04 ip-172-31-41-251 apache2[2475]:  * Starting Apache httpd web ser
Mar 15 17:09:05 ip-172-31-41-251 apache2[2475]:  *
Mar 15 17:09:05 ip-172-31-41-251 systemd[1]: Started LSB: Apache2 web server.

Zastavení služby spuštěná služba

systemctl stop apache2

Chcete-li potvrdit, že služba není spuštěna, spusťte

systemctl status apache2

Výstup

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: inactive (dead) since Thu 2018-03-15 17:19:47 UTC; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2822 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS
  Process: 2687 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCE

Mar 15 17:10:11 ip-172-31-41-251 systemd[1]: Starting LSB: Apache2 web server...
Mar 15 17:10:11 ip-172-31-41-251 apache2[2687]:  * Starting Apache httpd web ser
Mar 15 17:10:12 ip-172-31-41-251 apache2[2687]:  *
Mar 15 17:10:12 ip-172-31-41-251 systemd[1]: Started LSB: Apache2 web server.
Mar 15 17:19:46 ip-172-31-41-251 systemd[1]: Stopping LSB: Apache2 web server...
Mar 15 17:19:46 ip-172-31-41-251 apache2[2822]:  * Stopping Apache httpd web ser
Mar 15 17:19:47 ip-172-31-41-251 apache2[2822]:  *
Mar 15 17:19:47 ip-172-31-41-251 systemd[1]: Stopped LSB: Apache2 web server.

Chcete-li povolit službu apache2 při spouštění, spusťte

systemctl enable apache2

Chcete-li zakázat službu apache2 při spouštění, spusťte

systemctl disable apache2

Restartování služby

systemctl restart apache2

Chcete-li zkontrolovat, zda je služba aktuálně nakonfigurována pro spuštění při příštím spuštění

systemctl is-enabled apache2

Výstup

Executing /lib/systemd/systemd-sysv-install is-enabled apache2
enabled

Chcete-li zkontrolovat, zda je služba aktivní

systemctl is-active apache2

Výstup

active

Jak úplně odebrat služby Systemd

Co kdybyste nainstalovali balíček a později se rozhodli, že jej již nepotřebujete. Jak ho úplně odstranit? Postupujte podle níže uvedených příkazů.

Nejprve zastavte službu

systemctl stop service-name

Poté službu deaktivujte

systemctl disable service-name

Odebrání služby v systemd

rm /etc/systemd/system/service-name
rm /etc/systemd/system/service-name/[related symlinks]

Znovu načíst systemd

systemctl daemon-reload

Konečně běžte,

systemctl reset-failed

Jak povolit a zakázat služby v Upstart init

Upstart init system byl odhalen těsně před systemd Byl použit v Ubuntu 9.10 až Ubuntu 14.10. Později byl vyřazen, čímž se připravila cesta pro systemd init v Ubuntu 15.04 a novějších verzích. V tomto příkladu se podíváme, jak můžeme spustit a zastavit, povolit a zakázat služby v Ubuntu 14.04.

Upstart využívá konfigurační soubory pro řízení služeb. Tyto soubory jsou uloženy v adresáři /etc/init. Tyto soubory se skládají z sekcí prostého textu uspořádaných do stanz a každá stanza popisuje službu a jak funguje.

Kontrola, zda je služba spuštěna nebo ne spusťte níže uvedený příkaz

initctl status service-name

NEBO

service service-name status

NEBO

status service-name

V tomto příkladu zkontrolujeme stav cups, linuxového tiskového serveru.

 initctl status cups

NEBO

service cups status

NEBO

status cups

Výstup

cups start/running, process 3029

Chcete-li službu zastavit, spusťte níže uvedený příkaz

initctl stop cups

NEBO

service cups stop

NEBO

stop cups

Výstup

cups stop/waiting

Povolení služby v Upstart init

V souboru /etc/init/*.conf najdete "respawn " direktiva, která skokově spustí službu, pokud neočekávaně spadne nebo se systém restartuje. Ve výchozím nastavení je normálně povolena.

Například v souboru /etc/init/cups.conf níže,

první argument (3) je počet pokusů o restart a druhý argument (12) je časový interval mezi opakováními. Pokud se nepodaří automaticky restartovat. bude udržován v zastaveném stavu.

Deaktivace služby v úvodní inicializaci

spusťte níže uvedený příkaz

echo manual >> /etc/init/service.override

Tím se vytvoří přepisovací soubor, který zakáže službu, aniž by se vůbec změnila definice úlohy.
Pro podávání pohárů bude příkaz

echo manual >> /etc/init/cups.override

Po restartu systému budou kelímky v zastaveném stavu. Pokud chcete službu znovu povolit, musíte smazat soubor /etc/init/cups.override.

Nástroj Sysv-rc-conf

Toto je textová konzole, která vám poskytuje přehled o různých úrovních služeb a běhu, jejichž spuštění je naplánováno. Lze jej nainstalovat pomocí následujícího příkazu

apt-get install sysv-rc-conf

Chcete-li nástroj spustit, spusťte

sysv-rc-conf

Nástroj Jobs-Admin

Toto je další funkce, která vám umožňuje řídit služby a procesy v prostředí GUI. Můžete to nainstalovat spuštěním.

apt-get install jobs-admin

Jak povolit a zakázat služby v SysV init

Chcete-li povolit službu v inicializaci SysV, spusťte

update-rc.d enable service-name

Pokud například chcete povolit webový server apache, spustili byste

update-rc.d enable apache2

Chcete-li službu zakázat, spusťte

update-rc.d disable service-name

Například

update-rc.d disable apache2

Téměř všechny systémy Linux běží na Systemd init From Ubuntu, Debian, RHEL a CentOS. Zjistíte tedy, že ke spuštění, zastavení, povolení a zakázání služeb budete více používat příkaz systemctl. Vítáme vás, abyste si vyzkoušeli příkazy uvedené v tomto článku. Děkuji.

Přečtěte si také:

  • Příkazy Systemctl pro správu služby Systemd v systému Linux

Ubuntu
  1. Jak povolit službu SSH v Ubuntu 22.04 LTS

  2. Jak zakázat/povolit automatické připojení k Wifi?

  3. Jak deaktivovat službu v Ubuntu

  1. Jak povolit/zakázat UFW Firewall na Ubuntu 18.04

  2. Jak nastavit službu?

  3. Jak povolit a zakázat Wayland na Ubuntu

  1. Jak povolit/zakázat wayland na Ubuntu 20.04 Desktop

  2. Jak zakázat/povolit SELinux na Ubuntu 20.04 Focal Fossa Linux

  3. Jak povolit/zakázat wayland na Ubuntu 22.04 Desktop