Systemd Service fails

Systemd Service Fails



Operētājsistēmā Linux systemctl statusa izvade parāda, ka pakalpojums tiek ielādēts, izmantojot failu, ko sauc par pakalpojuma failu. Šiem failiem var piekļūt /lib/systemd/system vai /etc/systemd/system katalogi.

Pakalpojuma failos ir .apkalpošana paplašinājumus un satur norādījumus, kas nepieciešami systemd lai pārvaldītu pakalpojumu.







The systemd init sistēma pārvalda sistēmas inicializēšanu, izmantojot Vienība . Vienība ir objekts, kas veic uzdevumu vai darbību, piemēram, pārvalda pakalpojumu, kas ietver tā kontroli un uzraudzību. Šīs vienības būtībā ir faili, ko sauc par pakalpojumu failiem, kas ietver vienību atkarības un komandas. Šie faili ir ļoti svarīgi, lai efektīvi kontrolētu fona procesus un pārvaldītu resursus.



Rokasgrāmatā es izpētīšu sistēmas pakalpojuma failu, tā struktūru un galvenās direktīvas, kas kontrolē pakalpojumu.



Strādājot ar systemd, noteikumi systemd pakalpojuma fails un systemd vienības fails bieži tiek lietoti aizvietojami, jo tehniski tie attiecas uz vienu un to pašu.





Kas ir Systemd Service fails

Operētājsistēmā Linux systemd pārvalda pakalpojumus, izmantojot pakalpojumu failus, kas satur konfigurācijas instrukcijas, lai systemd varētu saprast un izpildīt.

Lai uzskaitītu vienības, izmantojiet systemctl ar -saraksta vienības komandu.



systemctl --saraksta vienības

Lai lasītu jebkura pakalpojuma pakalpojuma failu, izmantojiet kaķis komanda ar faila ceļu.

kaķis [ / servisa faila ceļš ]

Piemēram, lai skatītu pakalpojuma failu ssh.service izmantojiet doto komandu.

kaķis / lib / systemd / sistēma / ssh.service

Systemd pakalpojuma faila anatomija

Parasti sistēmas servisa vienību failos ir trīs sadaļas.

  • Vienība
  • apkalpošana
  • Uzstādīt

Pakalpojumam raksturīgajam vienības failam būs īpaša sadaļa ar nosaukumu apkalpošana sadaļā.

Ņemiet vērā, ka pakalpojums ir tikai vienības veids. Ierīcei var būt dažādi veidi, piemēram, ligzda, ierīce, stiprinājums, automātiskā pievienošana, maiņa, mērķis, taimeris, šķēlums un darbības joma. Šīs sadaļas atrodas starp sadaļām Vienība un Instalēšana. Arī faila paplašinājums tiks aizstāts ar attiecīgo vienības tipu, piemēram, ligzdas vienības tipam būs a .ligzda faila paplašinājums.

Piezīme: Šajā rokasgrāmatā es koncentrēšos uz pakalpojumu vienības veidu, jo to plaši izmanto administratori un izstrādātāji.

Šīs sadaļas ir ievietotas kvadrātiekavās ([]). Katrā sadaļā ir atbilstoša instrukciju kopa. Tālāk ir norādīta pakalpojuma faila vispārīgā struktūra.

[ Vienība ]

Direktīva1 =Instrukcija 1

Direktīva2 =Instrukcija 2

[ apkalpošana ]

Direktīva1 =Instrukcija 1

Direktīva2 =Instrukcija 2

[ Uzstādīt ]

Direktīva1 =Instrukcija 1

Direktīva2 =Instrukcija 2

Sadaļu secību var mainīt; tomēr parasti tiek ievērota iepriekš minētā kārtība.

[Vienība] Sadaļa

Vienības sadaļā ir vienības apraksts un vienības atkarības. Šī sadaļa pēc vienošanās atrodas pakalpojuma faila augšdaļā. Visbiežāk lietotās direktīvas ir uzskaitītas zemāk:

direktīva Apraksts
Apraksts Šī direktīva tiek izmantota, lai pieminētu pakalpojuma nosaukumu. Apraksta garums nedrīkst pārsniegt 80 rakstzīmes.
Dokumentācija Šajā direktīvā ir ietverta pakalpojuma mana lapa vai URL.
Nepieciešams Šī direktīva tiek izmantota, lai pieminētu atkarību no pašreizējā pakalpojuma. Ja šī atkarības pakalpojuma aktivizēšana netiek veikta, pašreizējais pakalpojums netiks aktivizēts.
Gribas Šī direktīva tiek izmantota, lai pieminētu atkarību no pašreizējā pakalpojuma. Tomēr šis atkarības pakalpojums nav jāaktivizē, lai palaistu pašreizējo pakalpojumu.
Pirms tam Pēc pašreizējās vienības aktivizēšanas tiks palaists šajā direktīvā minētais pakalpojums.
Pēc Pirms pašreizējās vienības aktivizēšanas tiks palaists šajā direktīvā minētais pakalpojums.
BindsTo Šī direktīva saista pašreizējo pakalpojumu ar minēto pakalpojumu. Ja saistītais pakalpojums tiek restartēts, tiks restartēti arī pašreizējie pakalpojumi.

Bez šīm direktīvām ir vēl divas direktīvas; Stāvoklis un Apliecināt. Daudzu pakalpojumu sekmīgai darbībai ir nepieciešami īpaši sistēmas nosacījumi, un šīs direktīvas tiek izmantotas, lai pieminētu nosacījumus.

Sadaļa [Instalēt]

Šī sadaļa nav obligāta un ir nepieciešama tikai tad, ja pakalpojumam ir nepieciešama aktivizēšana vai deaktivizēšana sāknēšanas laikā. Turklāt ir jāpiemin arī aizstājvārdu pakalpojums. Parasti lietotās direktīvas sadaļai Instalēšana ir norādītas tālāk.

direktīva Apraksts
WantedBy Šī direktīva nosaka izpildes līmeni * pakalpojuma mērķis. Ja mērķis ir iestatīts uz vairāku lietotāju.mērķis tad pakalpojums tiks iespējots šajā izpildes līmenī.
RequiredBy Šai direktīvai ir līdzība ar WantedBy, tomēr pakalpojums tiks iespējots pat bez direktīvā minētās atkarības.
Alias Šī direktīva tiek izmantota, lai iespējotu pakalpojumu ar citu nosaukumu. Kad pakalpojums ir iespējots, tiek izveidota simboliskā saite ar šo nosaukumu.

Lielākoties, vairāku lietotāju.mērķis tiek izmantots kā WantedBy parametrs. Bet kas ir multi-user.target?

Multi-user.target apzīmē sistēmas stāvokli, kas ir gatavs pieņemt negrafiskas vairāku lietotāju sesijas. Tas ir stāvoklis pirms GUI palaišanas.

Sistēmai ir dažādi darbības līmeņi, uzzināsim par šo darbības līmeņu funkcijām.

Sistēmā Systemd pakalpojumi tiek grupēti, pamatojoties uz izpildes līmeņiem, kurus sauc mērķi . Katram izpildes līmenim ir fails ar .target paplašinājums /etc/systemd/system direktoriju. Pakalpojums darbosies, pamatojoties uz darbības līmeņa stāvokli.

Palaist līmenis Mērķi Valsts Faili
0 izslēgt Izslēdziet un izslēdziet izslēgšana.mērķis
1 glābšana Sāk glābšanas apvalku glābšana.mērķis
2,3,4 vairāku lietotāju Startē vairāku lietotāju apvalku, kas nav GUI vairāku lietotāju.mērķis
5 grafisks Izveido vairāku lietotāju GUI apvalku grafiskais.mērķis
6 pārstartēt Izslēdziet un restartējiet reboot.target

Sadaļa [Pakalpojums]

Šajā sadaļā ir iekļauti pakalpojuma konfigurācijas iestatījumi. Šīs sadaļas primārā konfigurācija ir pakalpojuma sākumā izpildāmo veidu un komandu definēšana. Tips un ExecStart ir galvenās direktīvas, ko izmanto pakalpojuma iestatīšanai.

Dažādi pakalpojumu veidi ir uzskaitīti nākamajā tabulā.

Pakalpojuma veids Apraksts
vienkārši Tas ir noklusējuma veids, ja tips vai kopnes nosaukums nav minēts un ir minēts tikai ExecStart. Systemd vispirms izpilda galveno procesu un pēc tam sekošanas vienības.
dakšas Šis veids tiek izmantots, lai pakalpojums darbotos pat tad, ja vecākais pakalpojums ir aizvērts. Pēc vecāku procesa slēgšanas tiek izveidots bērna process.
Viens šāviens Systemd vispirms izpilda galveno procesu, un, kad galvenais process iziet, sāksies sekošanas vienības.
dbus Pakalpojums ar dbus tiek izmantots, lai sazinātos ar citu procesu kopnē. Ja tiek minēts kopnes nosaukums, process tiks aktivizēts pēc kopnes nosaukuma iegūšanas.
paziņot Pakalpojums paziņos, uzsākot procesu. Pēc paziņojuma izsniegšanas sistēma pāries uz pārraudzības vienībām.
dīkstāvē Tas saglabā pakalpojumu, līdz tiek nosūtīti visi aktīvie darbi; galvenokārt noder, lai uzlabotu konsoles izvadi.

Visbiežāk lietotās direktīvas sadaļā Pakalpojums ir minētas zemāk:

direktīva Apraksts
ExecStart Tas saglabā pilnu komandas ceļu, kas jāizpilda, lai sāktu procesu.
ExecStartPre Tas saglabā komandas, kas jāizpilda pirms galvenā procesa sākuma.
ExecStartPost Tas saglabā komandas, kas jāizpilda pēc galvenā procesa sākuma.
ExecReload Tas saglabā komandu pārlādēt pakalpojuma konfigurāciju.
Restartēt Automātiski restartēt pakalpojumu tādos apstākļos kā neveiksmes, veiksmes, neparastas, pārtraukšanas un sargsuņa laikā.
RestartSec Lai saglabātu sekunžu skaitu, pēc kura pakalpojums tiks automātiski restartēts.

The ExecStart ir viena no svarīgākajām direktīvām, kas tiek izmantota sadaļā Pakalpojums. Tas satur pilns izpildāmā faila ceļš ka pakalpojums tiks izpildīts pēc izsaukšanas.

Secinājums

Systemd pakalpojuma fails ir konfigurācijas fails, kas ir strukturēts ar direktīvām un komandām, lai tās varētu pārvaldīt systemd. Šajos failos ir instrukcijas, kas norāda, kā pakalpojumu pārvalda systemd. Šajā rokasgrāmatā es apskatīju, kā piekļūt sistēmas pakalpojuma failam, tā sadaļām un direktīvām, kas pārvalda pakalpojumus. Lai uzzinātu vairāk par pakalpojuma faila instrukcijām, lūdzu, izlasiet atrasto oficiālo dokumentācijas rokasgrāmatu šeit .