sistemd

Systemd - Kako se zažene vaš sistem

Systemd - Kako se zažene vaš sistem
Systemd je bil razvit, ko so razvijalci ugotovili, da vzporedni zagon sistema ni mogoč. Starejši sistemi pregledujejo svoje zagonske datoteke enega za drugim. To lahko povzroči zaustavitev zagona, ko čakate na počasne vire. Eden od primerov tega je, ko mora proces imeti zagnano omrežje. Uporaba omrežja je zelo počasna, drugih virov ne bi bilo treba čakati. To težavo je mogoče ublažiti na druge načine, toda pri systemd se zagon izvede vzporedno, kjer je to mogoče. Rezultat bi moral biti veliko hitrejši zagon zapletenih sistemov, ki vključuje vaš namizni sistem.

Systemd: Oče vseh drugih procesov

Linux in kateri koli drug sistem * nix vedno zažene proces, ki je oče vseh drugih procesov. Ko uporabljate Systemd, je ta postopek systemd, ne glede na sistem init pa se vedno imenuje "init". Ko se systemd zažene, bo zagnal demone, ki poganjajo podsisteme. Demoni nadzorujejo, katere vire imate in kateri sistemi so odprti. Vaš poziv za prijavo je storitev, ki jo upravlja sistemd. Systemd zažene številne druge storitve in namesti tudi vse vaše diske, vključno s pritrdilnimi nosilci.

Kako nadzirate, kaj se začne?

Prvič, najzgodnejši sistem init je imel ravni, ki jih bodo prepoznali številni bralci. Runlevel 1 je bil način za enega uporabnika, 2 za več uporabnikov brez omrežja in 3-5 za več uporabnikov in grafično. Nastavitev ravni izvajanja na 0 pomeni zaustavitev in 6 pomeni ponovni zagon. Razvijalci systemd so ugotovili, da so te ravni nejasne, zato so jih spremenili v cilje. Cilji niso popolnoma enaki, vendar imajo podobno funkcijo. Ko se izvaja določen cilj, se izvaja posebna zbirka enot. Več o enotah kasneje.

Nastavitev "runlevel", imenovane tarča.

Med izvajanjem lahko spremenite cilj, na primer lahko uporabite terminal, da cilja nastavite na več uporabnikov. To bi ustavilo vaš GUI, X ali Wayland, vendar se vi in ​​drugi lahko prijavite z besedilno konzolo. Uporabite naslednji ukaz.

$ systemctl izoliraj več uporabnikov.cilj

Če pa želite zagnati namizje, namesto tega uporabite naslednji ukaz.

$ systemctl izoliraj grafično.cilj

V resnici vas zanima, kako začeti pravilno raven, na ta način lahko ugotovite, kaj imate zdaj.

$ systemctl get-default

Če želite spremeniti privzeto, jo nastavite.

$ systemctl privzeto grafično.cilj

S tem ukazom se med zagonom računalnika zažene veliko enot in storitev. Morda boste želeli zagnati ali ustaviti eno samo storitev.

ZAČETEK, ustavitev, omogočanje in onemogočanje storitve.

Tu imate priložnost spremeniti dogajanje med zagonom in med običajnim delovanjem. V nasprotju s cilji so enote posebne za določeno storitev. Če želite ustaviti storitev, uporabite "systemctl stop", prav tako lahko uporabite "start" in "restart". Če želite, da se storitev zažene ob zagonu, uporabite »omogoči«, ustavi pa »onemogoči«. Izberite storitev in jo zaženite in ustavite med izvajanjem.

$ systemctl status skodelice.storitev

Ta ukaz prikazuje stanje storitve, prikazuje pa tudi seznam ukrepov, ki jih je sistem opravil v zvezi s storitvijo. Če želite storitev ustaviti, uporabite spodnji ukaz.

$ systemctl stop skodelice.storitev

Storitev je zdaj ustavljena za vašo trenutno sejo. Če ga želite spremeniti tako, da se ne zažene ob naslednjem zagonu, ga onemogočite.

$ systemctl onemogoči skodelice.storitev

Upoštevajte, da lahko storitev samo onemogočite, to ne bi vplivalo na vaše trenutno stanje. Storitev še naprej deluje. Ob naslednjem zagonu pa storitev ne bo zagnala.

Systemd nadzira tudi nosilce, naprave, vtičnice in še več. Enote so nižje in jih je lažje razumeti, če ste že imeli opravka z Linuxom. Te lahko nastavite tudi sami, vendar največ vpliva na zagon nadzor nad storitvami.

Kako dodate lastne skripte?

Svoje skripte lahko dodate precej enostavno, zanimivosti pa je, kako prilagodite svoj skript ali storitev drugim. To je lepo prikazano v tej datoteki storitve wifi-resume.

[Enota]
Opis = Znova zaženite upravitelja omrežja ob nadaljevanju
Po = začasno ustavi.cilj
Po = prezimovanje.cilj
Po = hibridno spanje.cilj
 
[Storitev]
Vnesite = onehot
ExecStart = / bin / systemctl znova zaženite upravitelja omrežja.storitev
 
[Namesti]
WantedBy = začasno ustavi.cilj
WantedBy = prezimovanje.cilj
WantedBy = hibridno spanje.cilj

Ta koda ustvari storitev, ki se zgodi enkrat (onehot) po treh ciljih, omenjenih v kodi. Koda, ki se izvede, je v tem primeru en ukaz. Prav tako lahko usmerite ExecStart na skript po vaši izbiri.

Zaključek

Če spremenite sistem, še posebej kako se zažene, lahko to storite sami, vendar pazite, da ima to veliko posledic za vsako storitev, zato se prepričajte, da je vaša koda stabilna in hitra.

Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...
Najboljše igre z ročnim sledenjem
Oculus Quest je pred kratkim predstavil odlično idejo ročnega sledenja brez krmilnikov. Z vedno večjim številom iger in dejavnosti, ki izvajajo podpor...
Kako prikazati prekrivanje zaslonskega menija v celozaslonskih aplikacijah in igrah za Linux
Igranje celozaslonskih iger ali uporaba aplikacij v celozaslonskem načinu brez motenj vam lahko odreže ustrezne sistemske informacije, ki so vidne na ...