Systemd servisna datoteka

Systemd Servisna Datoteka



Na Linuxu izlaz statusa systemctl pokazuje da je usluga učitana kroz datoteku koja se naziva servisna datoteka. Ovim se datotekama može pristupiti u /lib/systemd/sustav ili /etc/systemd/sustav imenici.

Servisne datoteke imaju .servis proširenja i sadrže upute koje zahtijeva systemd upravljati uslugom.







The systemd init sustav upravlja inicijalizacijom sustava pomoću Jedinica . Jedinica je objekt koji obavlja zadatak ili radnju, kao što je upravljanje uslugom, što uključuje njezinu kontrolu i nadzor. Ove jedinice su u biti datoteke koje se nazivaju servisne datoteke koje uključuju ovisnosti jedinica i naredbe. Te su datoteke ključne za učinkovitu kontrolu pozadinskih procesa i upravljanje resursima.



U vodiču ću istražiti datoteku usluge systemd, njenu strukturu i glavne direktive koje kontroliraju uslugu.



Kada radite sa systemd-om, uvjeti systemd servisna datoteka i datoteka sistemske jedinice često se koriste naizmjenično jer se tehnički odnose na istu stvar.





Što je Systemd servisna datoteka

Na Linuxu, systemd upravlja uslugama pomoću servisnih datoteka koje sadrže konfiguracijske upute kako bi systemd mogao razumjeti i izvršiti.

Za popis jedinica koristite systemctl s – popis jedinica naredba.



systemctl --popis-jedinica

Da biste pročitali servisnu datoteku bilo koje usluge, koristite mačka naredba s putanjom datoteke.

mačka [ / staza-datoteke usluge ]

Na primjer, da biste vidjeli servisnu datoteku ssh.usluga koristite zadanu naredbu.

mačka / lib / systemd / sustav / ssh.usluga

Anatomija Systemd servisne datoteke

Općenito, datoteke sistemske servisne jedinice sadrže tri odjeljka.

  • Jedinica
  • Servis
  • Instalirati

Datoteka jedinice specifične za uslugu imat će poseban odjeljak pod nazivom Servis odjeljak.

Imajte na umu da je usluga samo vrsta jedinice. Jedinica može imati različite vrste kao što su utičnica, uređaj, mount, automount, swap, target, timer, slice i scope. Ovi odjeljci nalaze se između odjeljaka Jedinica i Instalacija. Ekstenzija datoteke također će biti zamijenjena odgovarajućom vrstom jedinice, na primjer, vrsta jedinice utičnice imat će a .utičnica ekstenzija datoteke.

Bilješka: U ovom ću se vodiču usredotočiti na vrstu jedinice usluge zbog široke upotrebe od strane administratora i programera.

Ti su odjeljci zatvoreni uglatim zagradama ([]). Svaki odjeljak sadrži relevantan skup uputa. U nastavku je dana opća struktura servisne datoteke.

[ Jedinica ]

Direktiva1 = Uputa 1

Direktiva2 = Uputa 2

[ Servis ]

Direktiva1 = Uputa 1

Direktiva2 = Uputa 2

[ Instalirati ]

Direktiva1 = Uputa 1

Direktiva2 = Uputa 2

Redoslijed sekcija se može mijenjati; međutim, općenito se slijedi gore navedeni redoslijed.

[Jedinica] odjeljak

Odjeljak jedinica sadrži opis jedinice i ovisnosti o jedinici. Ovaj odjeljak, po dogovoru, nalazi se na vrhu servisne datoteke. Često korištene direktive navedene su u nastavku:

Direktiva Opis
Opis Ova se direktiva koristi za spominjanje naziva usluge. Dužina opisa ne smije biti duža od 80 znakova.
Dokumentacija Ova direktiva sadrži man stranicu ili URL usluge.
Zahtijeva Ova se direktiva koristi za spominjanje ovisnosti o trenutnoj usluzi. Ako se aktivacija ove usluge ovisnosti ne izvrši, trenutna usluga se neće pokrenuti.
želi Ova se direktiva koristi za spominjanje ovisnosti o trenutnoj usluzi. Međutim, ovu uslugu ovisnosti nije potrebno aktivirati za pokretanje trenutne usluge.
Prije Nakon što je trenutna jedinica aktivirana, pokrenut će se usluga navedena u ovoj uputi.
Nakon Prije nego što se trenutna jedinica aktivira, pokrenut će se usluga navedena u ovoj direktivi.
Veže se za Ova direktiva povezuje trenutnu uslugu sa spomenutom uslugom. Ako se povezana usluga ponovno pokrene, trenutne usluge također će se ponovno pokrenuti.

Osim ovih direktiva, postoje još dvije direktive; Stanje i Tvrditi. Mnoge usluge zahtijevaju specifične uvjete sustava za uspješno pokretanje, a ove se direktive koriste za spominjanje uvjeta.

Odjeljak [Instaliraj].

Ovaj odjeljak nije obavezan i potreban je samo kada usluga zahtijeva aktivaciju ili deaktivaciju pri pokretanju. Štoviše, valja spomenuti i uslugu aliasa. Često korištene upute za odjeljak Instalacija navedene su u nastavku:

Direktiva Opis
WantedBy Ova direktiva postavlja razinu izvođenja * cilj usluge. Ako je cilj postavljen na višekorisnički.target tada će usluga biti omogućena na ovoj razini izvođenja.
RequiredBy Ova direktiva podsjeća na WantedBy, međutim, čak i bez ovisnosti spomenute u direktivi, usluga će biti omogućena.
Alias Ova se direktiva koristi za omogućavanje usluge s drugim imenom. Kada je usluga omogućena, stvara se simbolička veza s ovim imenom.

Uglavnom, višekorisnički.target koristi se kao WantedBy parametar. Ali što je multi-user.target?

Multi-user.target predstavlja stanje sustava spremno za prihvaćanje negrafičkih višekorisničkih sesija. To je stanje prije pokretanja GUI-ja.

Postoje različite razine rada sustava, naučimo više o funkciji ovih razina rada.

U systemd-u, usluge su grupirane na temelju razina izvođenja, koje se nazivaju mete . Svaka razina izvođenja ima datoteku s .cilj proširenje u /etc/systemd/sustav imenik. Usluga će se pokrenuti na temelju stanja razine izvođenja.

Razina trčanja Mete država Datoteke
0 isključivanje Isključi i isključi napajanje isključivanje.cilj
1 spasiti Pokreće ljusku za spašavanje spašavanje.meta
2,3,4 višekorisnički Pokreće višekorisničku ne-GUI ljusku višekorisnički.target
5 grafički Uspostavlja višekorisničku GUI ljusku grafički.cilj
6 ponovno podizanje sustava Isključite i ponovno pokrenite ponovno pokretanje.cilj

Odjeljak [Usluga].

Ovaj odjeljak sadrži konfiguracijske postavke za uslugu. Primarna konfiguracija ovog odjeljka je definiranje vrste i naredbi koje će se izvršiti na početku usluge. Tip i ExecStart su glavne direktive koje se koriste za postavljanje usluge.

Različite vrste usluga navedene su u sljedećoj tablici.

Vrsta usluge Opis
jednostavan To je zadana vrsta kada se vrsta ili Busname ne spominju i spominje se samo ExecStart. Systemd prvo izvršava glavni proces, a zatim prateće jedinice.
račvanje Ova se vrsta koristi za održavanje rada usluge čak i ako je roditeljska usluga zatvorena. Račva proces dijete nakon zatvaranja procesa roditelja.
jedan hitac Systemd prvo izvršava glavni proces, a kada glavni proces izađe, pokrenut će se prateće jedinice.
dbus Usluga s dbusom koristi se za komunikaciju s drugim procesom na sabirnici. Ako je spomenuto ime sabirnice, proces će se aktivirati nakon što se dobije ime sabirnice.
obavijestiti Usluga će vas obavijestiti o pokretanju procesa. Systemd će nastaviti do jedinica za praćenje nakon izdavanja obavijesti.
besposlen Zadržava uslugu dok se ne pošalju svi aktivni poslovi; prvenstveno koristan za poboljšanje izlaza konzole.

Najčešće korištene upute u odjeljku Usluga navedene su u nastavku:

Direktiva Opis
ExecStart Čuva puni put naredbe koju treba izvršiti za početak procesa.
ExecStartPre Čuva naredbe koje bi se trebale izvršiti prije početka glavnog procesa.
ExecStartPost Čuva naredbe koje bi se trebale izvršiti nakon početka glavnog procesa.
ExecReload Čuva naredbu za ponovno učitavanje konfiguracije usluge.
Ponovno pokretanje Za automatsko ponovno pokretanje usluge u okolnostima kao što su neuspjeh, uspjeh, abnormalnost, prekid i pas čuvar.
RestartSec Za zadržavanje broja sekundi nakon kojeg će se usluga automatski ponovno pokrenuti.

The ExecStart jedna je od ključnih direktiva korištenih u odjeljku Usluga. Sadrži puni put izvršne datoteke koju će usluga izvršiti nakon pozivanja.

Zaključak

Systemd servisna datoteka je konfiguracijska datoteka koja je strukturirana s direktivama i naredbama tako da njima može upravljati systemd. Ove datoteke sadrže upute koje pokazuju kako uslugom upravlja systemd. U ovom vodiču opisao sam kako pristupiti datoteci usluge systemd, njezinim odjeljcima i direktivama koje upravljaju uslugama. Kako biste saznali više o uputama za servisnu datoteku, pročitajte službeni vodič za dokumentaciju ovdje .