Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 10964|Atbildi: 8

[Linux] Linux systemd pakalpojumu pārvaldnieks detalizēti izskaidrots

[Kopēt saiti]
Publicēts 28.11.2021 10:02:32 | | | |
systemd ir pamata bloku kopums Linux sistēmām. Tas nodrošina sistēmas un pakalpojumu pārvaldnieku, kas darbojas un startē pārējo sistēmu kā PID 1.

systemd nodrošina agresīvas paralēlizācijas iespējas, izmanto ligzdas un D-Bus aktivizēšanu, lai sāktu pakalpojumus, nodrošina dēmonu startēšanu pēc pieprasījuma, izmanto Linux vadības grupas, lai izsekotu procesus, uztur stiprinājumus un automātiskās montāžas punktus un ievieš labi izstrādātu uz darījumu atkarību balstītu pakalpojumu vadības loģiku. systemd atbalsta SysV un LSB init skriptus un var aizstāt sysvinit.

Citas sadaļas ietver žurnālu dēmonus, utilītas, lai kontrolētu pamata sistēmas konfigurācijas, piemēram, resursdatoru nosaukumus, datumus, lokalizācijas, pieteikto lietotāju saraksta uzturēšanu un konteineru un virtuālo mašīnu, sistēmas kontu, izpildlaika direktoriju un iestatījumu pārvaldību, kā arī vienkāršu tīklu dēmonu konfigurāciju pārvaldību, tīkla laika sinhronizāciju, žurnālu pārsūtīšanu un nosaukumu izšķirtspēju.

systemd konfigurācijas fails pastāv šādās trīs mapēs:         

/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。

/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。

/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。
Pārskats:

Linux aplūko Systemd pakalpojuma žurnāla izvadi
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Pievienojiet Linux mezglu un reģistrējiet to kā pakalpojumu
https://www.itsvse.com/thread-10120-1-1.html

CentOS 7 instalē mezglu eksportētāju
https://www.itsvse.com/thread-9969-1-1.html

Vienības profils

Vienības fails systemd ir fails, kas kodē informāciju par dažādām vienībām, kuras systemd var pārvaldīt, ieskaitot pakalpojumus, ligzdas, ierīces utt. Šī rokasgrāmata koncentrējas uz pakalpojumiem, un tādā gadījumā vienības fails, ar kuru mēs strādājam, ir .service fails. Varnish.service ierīces konfigurācijas failā ir informācija par to, kā systemd jāizpilda, jāuzrauga un jāpārvalda lakas dēmons.

Bloks [Vienība] parasti ir konfigurācijas faila pirmais bloks, un to izmanto, lai definētu vienības metadatus un to saistību ar citām vienībām. Tās galvenie lauki ir šādi.

  • Apraksts: Īss apraksts
  • Dokumentācija: Dokumenta adrese
  • Nepieciešams: citas vienības, no kurām ir atkarīga pašreizējā vienība, un, ja tās nedarbojas, pašreizējo ierīci neizdosies startēt
  • Vēlas: Citas vienības, kas darbojas ar pašreizējo vienību, ja tās nedarbojas, pašreizējā vienība neizdosies startēt
  • BindsTo: līdzīgi kā Pieprasa, tas norāda vienību, kas izraisa pašreizējās vienības darbības pārtraukšanu, ja tā iziet
  • Pirms: ja šajā laukā norādītā vienība arī ir jāstartē, tā jāsāk pēc pašreizējās vienības
  • Pēc: ja jāsāk arī šajā laukā norādītā vienība, tā jāsāk pirms pašreizējās vienības
  • Konflikti: šeit norādītā vienība nevar darboties vienlaicīgi ar pašreizējo vienību
  • Nosacījums... : nosacījumi, kas jāizpilda, lai pašreizējā ierīce darbotos, pretējā gadījumā tā nedarbosies
  • Aizstāvēt... : nosacījumi, kas jāizpilda, lai pašreizējā ierīce darbotos, pretējā gadījumā tiks ziņots par startēšanas kļūmi

[Instalēt] parasti ir konfigurācijas faila pēdējais bloks, kas nosaka, kā sāknēt un vai sāknēt. Tās galvenie lauki ir šādi.

  • WantedBy: Tās vērtība ir viens vai vairāki mērķi, un, kad pašreizējā vienība ir aktīva (iespējot), simboliskā saite tiek ievietota apakšdirektorijā /etc/systemd/system direktorijā ar mērķa nosaukumu + .wants sufiksu
  • RequiredBy: Tās vērtība ir viens vai vairāki mērķi, un, kad pašreizējā vienība ir aktīva, simboliskā saite tiks ievietota apakšdirektorijā zem direktorija /etc/systemd/system ar mērķa nosaukumu + sufiksu .required
  • Aizstājvārds: aizstājvārds, ko pašreizējā vienība var izmantot, lai startētu
  • Arī: Kad pašreizējā vienība ir aktivizēta, vienlaikus tiks aktivizētas citas vienības

Pakalpojuma konfigurēšanai tiek izmantots bloks [Pakalpojums], un šis bloks ir tikai pakalpojuma tipa vienībām. Tās galvenie lauki ir šādi.

  • Tips: definē procesa darbību startēšanas laikā. Tam ir šādas vērtības.
  • Type=simple: noklusējuma vērtība, izpildiet ExecStart norādīto komandu, lai sāktu galveno procesu
  • type=forking: dakša izveido pakārtotu procesu no vecākprocesa, kas tiks izslēgts tūlīt pēc izveides
  • Type=oneshot: Vienreizējs process, Systemd gaidīs, līdz pašreizējais pakalpojums izies, pirms turpinās izpildi
  • Type=dbus: pašreizējais pakalpojums tiek startēts, izmantojot D-Bus
  • type=notify: Kad pašreizējais pakalpojums tiek startēts, Systemd tiks paziņots un turpinās izpildi
  • type=idle: pašreizējais pakalpojums darbosies tikai tad, ja tiek izpildīti citi uzdevumi
  • ExecStart: komanda, lai startētu pašreizējo pakalpojumu
  • ExecStartPre: komanda, kas izpildīta pirms pašreizējā pakalpojuma palaišanas
  • ExecStartPost: komanda, kas izpildīta pēc pašreizējā pakalpojuma palaišanas
  • ExecReload: komanda, kas tiek izpildīta, restartējot pašreizējo pakalpojumu
  • ExecStop: komanda, kas tiek izpildīta, kad pašreizējais pakalpojums tiek apturēts
  • ExecStopPost: apturēt komandu, kas tiek izpildīta, kad tā tiek pasniegta
  • RestartSec: sekunžu skaits starp automātiskā pakalpojuma restartēšanu
  • Restartēt: Definē apstākļus, kādos Systemd automātiski restartēs pašreizējo pakalpojumu, ar iespējamām vērtībām, piemēram, vienmēr, pēc panākumiem, pēc neveiksmes, par nenormālu, par pārtraukšanu, par uzraudzību
  • TimeoutSec: definē sekunžu skaitu, kas Systemd gaida pirms pašreizējā pakalpojuma apturēšanas
  • Vide: norādiet vides mainīgo

Systemctl pārvaldības rīks

Programmu pārvaldību CentOS pamatā veic rīks systemctl.

Startēšanas pakalpojums:

systemctl sākuma nosaukums.pakalpojums

Pārtrauciet pakalpojumu:

systemctl stop name.service

Restartējiet pakalpojumu:

systemctl restartējiet nosaukumu.pakalpojums

Skatīt statusu:

systemctl statusa nosaukums.pakalpojums

Nosacīta restartēšana:

Ja pakalpojums tika startēts iepriekš, tas tiks restartēts, un, ja pakalpojums netiks startēts, tas netiks darbināts

systemctl izmēģināt-restartēt nosaukums.pakalpojums

Atkārtota ielāde vai restartēšana:

Vispirms pārlādējiet un, ja atkārtota ielāde ir neveiksmīga, restartējiet

systemctl reload-or-restart name.service

Atkārtota ielāde vai nosacīta restartēšana:

systemctl pārlādēt vai mēģināt restartēt nosaukums.pakalpojums

Iestata, vai lietotājs var iestatīt pakalpojumu, lai sāktu stāvokli

systemctl atmask name.service

systemctl maskas nosaukums.pakalpojums ir aizliegts

Skatiet pakalpojuma pašreizējo aktivizācijas statusu:

Komandas pakalpojuma ir sākts statusa atgriešanas vērtība ir 0 Nestartētās komandas statusa atgriešanas vērtība nav 0

systemctl ir aktīvs nosaukums.pakalpojums

Skatiet visus aktivizētos pakalpojumus:

-t Norāda parādītās vienības tipu.

- visi parāda detalizētāku informācijas sarakstu.

-ekvivalents --visi

systemctl saraksta vienības

systemctl saraksts-vienības -t pakalpojums

systemctl saraksts-vienības -t pakalpojums -a

Skatīt visus pakalpojumus:

systemctl saraksts-vienības -a

Skatīt visus pakalpojuma statusus:

systemctl saraksta vienību faili

-a 、--all : Skatīt visu pakalpojumu statusu

-t 、--tips: norāda skatāmās vienības tipu

ielādēts: konfigurācijas fails ir ielādēts, ielādēts atmiņā

active(running): izpildes, kas tiek nepārtraukti apstrādātas vienu vai vairākas reizes

active(exited): vienreizējā konfigurācija ir veiksmīgi pabeigta

active(waiting): skrien, gaida notikumu

inactive:不运行

enabled:开机启动

disabled:开机不启动

static:开机不启动,但可被另一个启用的服务激活

Izmanto, lai uzskaitītu, kādos darbības līmeņos pakalpojums ir iespējots un atspējots

ls /etc/systemd/system/*.wants/sshd.service

systemctl saraksta-vienību-faili --tipa mērķis --visi

Lai iestatītu pakalpojuma nestartēšanu, veiciet tālāk norādītās darbības.

systemctl atspējot pakalpojuma nosaukuma vienību

Pārbaudiet, vai pakalpojums ir palaists un sākts:

systemctl ir iespējots nosaukums.pakalpojums

Apskatiet pakalpojumu atkarības:

systemctl saraksta atkarību nosaukums.pakalpojums
systemctl list-depebdencies

Smagu kravu apkalpošana:

systemctl daemon-reload

Nogaliniet procesu:

systemctl nogalināt procesa nosaukumu

Resursu:

Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.





Iepriekšējo:Linux pārbauda LDAP savienojamību, izmantojot komandu Curl
Nākamo:vsftp augšupielādes faila atļaujas problēma
 Saimnieks| Publicēts 11.12.2021 17:35:26 |
[Vienība]Bloks parasti ir konfigurācijas faila pirmais bloks, kas definē vienības metadatus un to saistību ar citām vienībām. Tās galvenie lauki ir šādi.

Apraksts: Īss apraksts
Dokumentācija: Dokumenta adrese
Nepieciešams: citas vienības, no kurām ir atkarīga pašreizējā vienība, un, ja tās nedarbojas, pašreizējo ierīci neizdosies startēt
Vēlas: Citas vienības, kas darbojas ar pašreizējo vienību, ja tās nedarbojas, pašreizējā vienība neizdosies startēt
BindsTo: līdzīgi kā Pieprasa, tas norāda vienību, kas izraisa pašreizējās vienības darbības pārtraukšanu, ja tā iziet
Pirms: ja šajā laukā norādītā vienība arī ir jāstartē, tā jāsāk pēc pašreizējās vienības
Pēc: ja jāsāk arī šajā laukā norādītā vienība, tā jāsāk pirms pašreizējās vienības
Konflikti: šeit norādītā vienība nevar darboties vienlaicīgi ar pašreizējo vienību
Nosacījums... : nosacījumi, kas jāizpilda, lai pašreizējā ierīce darbotos, pretējā gadījumā tā nedarbosies
Aizstāvēt... : nosacījumi, kas jāizpilda, lai pašreizējā ierīce darbotos, pretējā gadījumā tiks ziņots par startēšanas kļūmi
[Instalēt]Parasti tas ir konfigurācijas faila pēdējais bloks, kas nosaka, kā sāknēt un vai sāknēt. Tās galvenie lauki ir šādi.

WantedBy: Tās vērtība ir viens vai vairāki mērķi, un, kad pašreizējā vienība ir aktīva (iespējot), simboliskā saite tiek ievietota apakšdirektorijā /etc/systemd/system direktorijā ar mērķa nosaukumu + .wants sufiksu
RequiredBy: Tās vērtība ir viens vai vairāki mērķi, un, kad pašreizējā vienība ir aktīva, simboliskā saite tiks ievietota apakšdirektorijā zem direktorija /etc/systemd/system ar mērķa nosaukumu + sufiksu .required
Aizstājvārds: aizstājvārds, ko pašreizējā vienība var izmantot, lai startētu
Arī: Kad pašreizējā vienība ir aktivizēta, vienlaikus tiks aktivizētas citas vienības
[Pakalpojums]Bloki tiek izmantoti, lai konfigurētu pakalpojumus, un šis bloks ir tikai pakalpojuma tipa vienībām. Tās galvenie lauki ir šādi.

Tips: definē procesa darbību startēšanas laikā. Tam ir šādas vērtības.
Type=simple: noklusējuma vērtība, izpildiet ExecStart norādīto komandu, lai sāktu galveno procesu
type=forking: dakša izveido pakārtotu procesu no vecākprocesa, kas tiks izslēgts tūlīt pēc izveides
Type=oneshot: Vienreizējs process, Systemd gaidīs, līdz pašreizējais pakalpojums izies, pirms turpinās izpildi
Type=dbus: pašreizējais pakalpojums tiek startēts, izmantojot D-Bus
type=notify: Kad pašreizējais pakalpojums tiek startēts, Systemd tiks paziņots un turpinās izpildi
type=idle: pašreizējais pakalpojums darbosies tikai tad, ja tiek izpildīti citi uzdevumi
ExecStart: komanda, lai startētu pašreizējo pakalpojumu
ExecStartPre: komanda, kas izpildīta pirms pašreizējā pakalpojuma palaišanas
ExecStartPost: komanda, kas izpildīta pēc pašreizējā pakalpojuma palaišanas
ExecReload: komanda, kas tiek izpildīta, restartējot pašreizējo pakalpojumu
ExecStop: komanda, kas tiek izpildīta, kad pašreizējais pakalpojums tiek apturēts
ExecStopPost: apturēt komandu, kas tiek izpildīta, kad tā tiek pasniegta
RestartSec: sekunžu skaits starp automātiskā pakalpojuma restartēšanu
Restartēt: Definē apstākļus, kādos Systemd automātiski restartēs pašreizējo pakalpojumu, ar iespējamām vērtībām, piemēram, vienmēr, pēc panākumiem, pēc neveiksmes, par nenormālu, par pārtraukšanu, par uzraudzību
TimeoutSec: definē sekunžu skaitu, kas Systemd gaida pirms pašreizējā pakalpojuma apturēšanas
Vide: norādiet vides mainīgo


 Saimnieks| Publicēts 11.12.2021 17:37:33 |
Tips=dakša
systemd uzskata, ka pakalpojums sākas veiksmīgi, kad pakalpojuma process ir sadalīts un vecākprocess tiek iziets. Parastajiem dēmoniem, ja vien neesat pārliecināts, ka šī startēšanas metode neatbilst jūsu vajadzībām, varat sākt ar šo veidu. Izmantojot šo startēšanas veidu, jānorāda arī PIDFile=, lai systemd varētu izsekot pakalpojuma galvenajam procesam

 Saimnieks| Publicēts 15.12.2021 16:55:14 |
Komanda EnvironmentFile

EnvironmentFile ir līdzīgs vides direktīvai, bet nolasa vides mainīgos no teksta faila. Teksta failā jābūt mainīgajiem uzdevumiem, kas atdalīti ar rindiņu pārtraukumiem

piemērs

Jūs varat ņemt šo vides failu un izmantot tā mainīgos šādi:



 Saimnieks| Publicēts 04.01.2022 15:56:55 |
 Saimnieks| Publicēts 05.01.2022 09:48:21 |
docker noklusējuma pakalpojuma faila ceļš /usr/lib/systemd/system/docker.service

 Saimnieks| Publicēts 23.01.2022 22:57:56 |
Skatīt visus pakalpojumu statusus



Vaicājiet, vai pakalpojums ir ieslēgts, izmantojot NFS kā piemēru:

 Saimnieks| Publicēts 25.02.2025 17:01:08 |
Lielapjoma palaišanas pakalpojumi, kas sākas ar ABC

 Saimnieks| Publicēts 11.04.2025 15:57:14 |
DefaultTimeoutStartSec= un DefaultTimeoutStopSec= noklusējums ir 90 sekundes sistēmas pārvaldniekā un 90 sekundes lietotāju pārvaldniekā.

Hipersaites pieteikšanās ir redzama.

Skatiet norādītā pakalpojuma konfigurāciju ar šādu komandu:


Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com