Systemd Service File

Systemd Service File



V systéme Linux výstup stavu systemctl ukazuje, že služba je načítaná prostredníctvom súboru, ktorý sa nazýva súbor služby. K týmto súborom je možné pristupovať v /lib/systemd/system alebo /etc/systemd/system adresárov.

Súbory služieb majú .servis rozšírenia a obsahujú pokyny, ktoré vyžaduje systemd spravovať službu.







The systemd init systém riadi inicializáciu systému pomocou Jednotka . Jednotka je objekt, ktorý vykonáva úlohu alebo akciu, ako je napríklad správa služby, ktorá zahŕňa jej kontrolu a monitorovanie. Tieto jednotky sú v podstate súbory nazývané servisné súbory, ktoré zahŕňajú závislosti jednotiek a príkazy. Tieto súbory sú kľúčové pre efektívne riadenie procesov na pozadí a riadenie zdrojov.



V príručke preskúmam súbor služby systemd, jeho štruktúru a hlavné smernice, ktoré riadia službu.



Pri práci so systemd sú podmienky servisný súbor systemd a súbor systemd unit sa často používajú zameniteľne, pretože technicky odkazujú na to isté.





Čo je súbor služieb Systemd

V Linuxe systemd spravuje služby pomocou servisných súborov, ktoré obsahujú konfiguračné inštrukcie, aby im systemd porozumel a mohol ich spustiť.

Na zoznam jednotiek použite systemctl s – zoznam jednotiek príkaz.



systemctl --list-units

Na čítanie servisného súboru akejkoľvek služby použite kat príkaz s cestou k súboru.

kat [ / cesta k súboru služby ]

Napríklad, ak chcete zobraziť súbor služby ssh.service použite daný príkaz.

kat / lib / systemd / systém / ssh.service

Anatómia servisného súboru Systemd

Súbory servisných jednotiek systemd vo všeobecnosti obsahujú tri sekcie.

  • Jednotka
  • servis
  • Inštalácia

Súbor jednotky špecifický pre službu bude mať špecifickú časť s názvom servis oddiele.

Upozorňujeme, že služba je len typ jednotky. Jednotka môže mať rôzne typy, ako je zásuvka, zariadenie, držiak, automatická montáž, výmena, cieľ, časovač, rez a rozsah. Tieto sekcie sú umiestnené medzi sekciou Unit a Install. Prípona súboru bude tiež nahradená príslušným typom jednotky, napríklad typ jednotky zásuvky bude mať a .zásuvka rozšírenie súboru.

Poznámka: V tejto príručke sa zameriam na typ servisnej jednotky z dôvodu jej širokého využitia administrátormi a vývojármi.

Tieto časti sú uvedené v hranatých zátvorkách ([]). Každá časť obsahuje príslušný súbor pokynov. Všeobecná štruktúra súboru služieb je uvedená nižšie.

[ Jednotka ]

Smernica1 = Návod 1

Smernica2 = Návod 2

[ servis ]

Smernica1 = Návod 1

Smernica2 = Návod 2

[ Inštalácia ]

Smernica1 = Návod 1

Smernica2 = Návod 2

Poradie sekcií je možné zmeniť; všeobecne sa však dodržiava vyššie uvedené poradie.

[Jednotka] Sekcia

Časť Unit obsahuje popis jednotiek a závislostí jednotiek. Táto sekcia je podľa konvencie umiestnená v hornej časti súboru služby. Bežne používané smernice sú uvedené nižšie:

smernice Popis
Popis Táto smernica sa používa na uvedenie názvu služby. Dĺžka popisu nesmie presiahnuť 80 znakov.
Dokumentácia Táto direktíva obsahuje manuálovú stránku alebo URL služby.
Vyžaduje Táto smernica sa používa na zmienku o závislosti od aktuálnej služby. Ak sa aktivácia tejto závislej služby nevykoná, aktuálna služba sa nespustí.
chce Táto smernica sa používa na zmienku o závislosti od aktuálnej služby. Túto závislú službu však nie je potrebné aktivovať na spustenie aktuálnej služby.
Predtým Po aktivácii aktuálnej jednotky sa spustí služba uvedená v tejto smernici.
Po Pred aktiváciou aktuálnej jednotky sa spustí služba uvedená v tejto smernici.
BindsTo Táto smernica spája aktuálnu službu s uvedenou službou. Ak sa prepojená služba reštartuje, reštartujú sa aj aktuálne služby.

Okrem týchto smerníc existujú ďalšie dve smernice; Podmienka a Tvrdiť. Mnohé služby vyžadujú špecifické systémové podmienky na úspešné spustenie a tieto direktívy sa používajú na spomenutie podmienok.

Sekcia [Inštalovať]

Táto časť nie je povinná a je potrebná len vtedy, keď služba vyžaduje aktiváciu alebo deaktiváciu pri zavádzaní systému. Okrem toho je potrebné spomenúť aj službu alias. Bežne používané smernice pre sekciu Inštalácia sú uvedené nižšie:

smernice Popis
WantedBy Táto smernica nastavuje úroveň spustenia * cieľ služby. Ak je cieľ nastavený na viacužívateľský.cieľ potom bude služba povolená na tejto úrovni spustenia.
Je požadované Táto smernica sa podobá na WantedBy, avšak aj bez závislosti uvedenej v smernici bude služba povolená.
Alias Táto direktíva sa používa na povolenie služby s iným názvom. Keď je služba povolená, vytvorí sa symbolický odkaz s týmto názvom.

Väčšinou, viacužívateľský.cieľ sa používa ako WantedBy parameter. Ale čo je multi-user.target?

Multi-user.target predstavuje stav systému pripravený prijať negrafické relácie viacerých používateľov. Je to stav pred spustením GUI.

Existujú rôzne úrovne spustenia systému, poďme sa dozvedieť o funkcii týchto úrovní spustenia.

V systemd sú služby zoskupené na základe úrovní spustenia, ktoré sa nazývajú ciele . Každá úroveň spustenia má súbor s .cieľ rozšírenie v /etc/systemd/system adresár. Služba sa spustí na základe stavu úrovne spustenia.

Úroveň behu Ciele Štát Súbory
0 vypnúť Vypnite a vypnite vypnutie.cieľ
1 záchrana Spustí záchranný shell záchrana.cieľ
2,3,4 viacužívateľský Spustí shell pre viacerých používateľov bez GUI viacužívateľský.cieľ
5 grafické Vytvára viacužívateľský GUI shell grafický.cieľ
6 reštartovať Vypnúť a reštartovať reboot.target

Sekcia [Služba]

Táto časť obsahuje konfiguračné nastavenia pre službu. Primárna konfigurácia tejto časti definuje typ a príkazy, ktoré sa majú vykonať pri spustení služby. Typ a ExecStart sú hlavné smernice používané na nastavenie služby.

Rôzne typy služieb sú uvedené v nasledujúcej tabuľke.

Typ služby Popis
jednoduché Je to predvolený typ, keď sa neuvádza typ alebo názov zbernice a uvádza sa iba ExecStart. Systemd najskôr vykoná hlavný proces a potom nadväzujúce jednotky.
rozdvojenie Tento typ sa používa na udržanie prevádzky služby, aj keď je nadradená služba zatvorená. Po zatvorení nadradeného procesu rozdelí podriadený proces.
jeden výstrel Systemd najskôr vykoná hlavný proces a keď hlavný proces opustí, spustia sa následné jednotky.
dbus Služba s dbus sa používa na komunikáciu s iným procesom na zbernici. Ak je uvedený názov zbernice, proces sa aktivuje po získaní názvu zbernice.
oznámiť Služba vás upozorní pri spustení procesu. Systém po vydaní oznámenia prejde na následné jednotky.
nečinný Drží službu, kým nie sú odoslané všetky aktívne úlohy; primárne užitočné na zlepšenie výstupu konzoly.

Bežne používané smernice v sekcii Služba sú uvedené nižšie:

smernice Popis
ExecStart Zachováva úplnú cestu príkazu, ktorý sa má vykonať, aby sa začal proces.
ExecStartPre Uchováva príkazy, ktoré by sa mali vykonať pred začatím hlavného procesu.
ExecStartPost Uchováva príkazy, ktoré by sa mali vykonať po spustení hlavného procesu.
ExecReload Uchová príkaz na opätovné načítanie konfigurácie služby.
Reštart Na automatické reštartovanie služby za okolností, ako sú pri zlyhaní, pri úspechu, pri abnormálnom stave, pri prerušení a pri strážení.
RestartSec Ak chcete zachovať počet sekúnd, po ktorých sa služba automaticky reštartuje.

The ExecStart je jednou z kľúčových smerníc používaných v sekcii Služba. Obsahuje úplná cesta k spustiteľnému súboru že služba sa spustí pri vyvolaní.

Záver

Servisný súbor systemd je konfiguračný súbor, ktorý je štruktúrovaný pomocou direktív a príkazov, takže ich môže spravovať systemd. Tieto súbory obsahujú inštrukcie označujúce, ako je služba riadená systémom systemd. V tejto príručke som sa zaoberal tým, ako získať prístup k súboru služieb systemd, jeho sekciám a smerniciam, ktoré spravujú služby. Ak sa chcete dozvedieť viac o pokynoch pre servisný súbor, prečítajte si nájdenú oficiálnu dokumentáciu tu .