GNU/Linux >> Znalost Linux >  >> Debian

Debian – Jak fungují služby v Debianu a jak je mohu spravovat?

Ve Windows mám správce služeb, kde vidím všechny systémové služby, které lze spustit přes samotný Windows, nastavím uživatele, kterého používá, je tam správa práv a mohu službám předávat proměnné a některé další informace. , mohu je pojmenovat a mohu vytvořit duplikáty služeb jednoho programu a tak dále. Takže mám hlavní nástroj pro správu ve Windows.

Jak mohu udělat totéž v Linuxu? Jak mohu spustit spuštění „svnserve“ při spuštění nebo jak mohu nakonfigurovat služby tak, aby byly spuštěny ve speciálním kontextu. Jak mohu zobrazit všechny „naprogramované“ služby?

Přijatá odpověď:

V současné době linux používá 3 hlavní init systémy. Před několika lety existoval pouze jeden, SysVinit. SysVinit však vážně postrádal funkce, jako je graf závislosti služeb, takže je ve většině distribucí již zastaralý. V současné době většina distribucí přechází na systemd. I když je tu také nováček.

Ale zde je odpověď na vaši otázku pro každý ze 3 init systémů:

SysVinit

SysVinit v současnosti používají Debian a RedHat. I když příští verze RedHat (7) bude používat systemd.

Univerzální způsob, jak povolit služby SysVinit při spouštění, je jejich symbolické propojení v /etc/rc3.d (nebo /etc/rc2.d ). Všechny služby lze nalézt v /etc/init.d . Pamatujte však, že distribuce budou mít často svůj vlastní nástroj pro správu těchto souborů a tento nástroj by měl být použit místo něj. (Fedora/RedHat má service a chkconfig , ubuntu má update-rc.d )

Seznam služeb:

ls /etc/init.d/

Spustit službu:

/etc/init.d/{SERVICENAME} start

nebo

service {SERVICENAME} start

Zastavit službu:

/etc/init.d/{SERVICENAME} stop

nebo

service {SERVICENAME} stop

Povolit službu:

cd /etc/rc3.d
ln -s ../init.d/{SERVICENAME} S95{SERVICENAME}

(S95 slouží k upřesnění objednávky. S01 začne před S02 atd.)

Zakázat službu:

rm /etc/rc3.d/*{SERVICENAME}

Systemd

Nejpozoruhodnější distribucí využívající systemd je Fedora. I když to používá mnoho dalších. Navíc, když se Debian rozhodl přejít s systemd před upstart, stane se defacto upstart systémem pro většinu distribucí (ubuntu již oznámilo, že upstart pro systemd ukončí).

Seznam služeb:

systemctl list-unit-files

Spustit službu:

systemctl start {SERVICENAME}

Zastavit službu:

systemctl stop {SERVICENAME}

Povolit službu:

systemctl enable {SERVICENAME}

Zakázat službu:

systemctl disable {SERVICENAME}

Počáteční

Upstart byl vyvinut lidmi z Ubuntu. Ale poté, co se debian rozhodl přejít na systemd, Ubuntu oznámilo, že přestanou začínat.

Upstart byl také krátce používán společností RedHat, protože je přítomen v RHEL-6, ale není běžně používán.

Související:Jak dokáže datum coreutilu získat tak podivné výsledky?

Seznam služeb:

initctl list

Spustit službu:

initctl start {SERVICENAME}

Zastavit službu:

initctl stop {SERVICENAME}

Povolit službu:

Bohužel 2 způsoby:

  1. Bude zde soubor /etc/default/{SERVICENAME} který obsahuje řádek ENABLED=... . Změňte tento řádek na ENABLED=1 .

  2. Bude zde soubor /etc/init/{SERVICENAME}.override . Ujistěte se, že obsahuje start (nebo chybí úplně), nikoli manual .

Zakázat službu:

echo manual > /etc/init/{SERVICENAME}.override

Poznámka:Existuje také init systém ‚OpenRC‘, který používá Gentoo. V současné době je Gentoo jedinou distribucí, která ji používá, a o jejím použití se neuvažuje ani ji nepodporuje žádná jiná distribuce. Takže neuvádím jeho použití (i když pokud je názor, že ano, mohu jej přidat).


Debian
  1. Jak spravovat a vypisovat služby v Linuxu

  2. Jak spravovat služby Systemd pomocí Systemctl v systému Linux

  3. Jak nainstalovat Suricata na Debian 11

  1. Jak používat příkaz Systemctl ke správě služeb Systemd

  2. Jak nainstalovat Monit (Monitorování procesů a služeb) na Ubuntu / Debian

  3. Jak nainstalovat a nakonfigurovat Redis na Debianu

  1. Jak nainstalovat a používat Debian Backports

  2. Jak nainstalovat a nakonfigurovat Redis na Debian 9

  3. Jak mohu restartovat služby na serverech cPanel?