sistemski

Systemd - kako pokreće vaš sustav

Systemd - kako pokreće vaš sustav
Systemd je razvijen kada su programeri otkrili da paralelno pokretanje sustava nije moguće. Stariji sustavi prolaze kroz datoteke za pokretanje sustava jedan po jedan. To može dovesti do zaustavljanja pokretanja dok čekaju spori resursi. Jedan od primjera toga je kada proces treba pokrenuti mrežu. Korištenje mreže vrlo je sporo, ostali resursi ne bi trebali čekati. Ovaj se problem može ublažiti na druge načine, ali kod systemd-a sve pokretanje vrši se paralelno gdje je to moguće. Rezultat bi trebao biti mnogo brži početak pokretanja složenih sustava, što uključuje i vaš stolni sustav.

Systemd: Otac svih ostalih procesa

Linux i bilo koji drugi * nix sustav uvijek započinje proces koji je otac svih ostalih procesa. Kada koristite Systemd, taj proces je systemd, proces se uvijek naziva 'init', bez obzira na init sustav. Jednom kada systemd bude pokrenut, pokrenut će demone koji pokreću podsustave. Demoni kontroliraju koje resurse imate i koji su sustavi otvoreni. Upit za prijavu usluga je kojom upravlja systemd. Systemd pokreće mnoge druge usluge, a također montira sve vaše diskove, uključujući snap nosače.

Kako kontrolirate što započinje?

Prije svega, najraniji init sustav imao je nivoe koje će mnogi čitatelji prepoznati. Runlevel 1 bio je jednokorisnički, 2 višekorisnički bez umrežavanja i 3-5 višekorisničkih i grafičkih. Postavljanje razine pokretanja na 0 značilo je zaustavljanje, a 6 značilo je ponovno pokretanje. Programeri systemd-a utvrdili su da su ove razine nejasne pa su ih promijenili da bi se zvali ciljevi. Ciljevi nisu potpuno isti, ali imaju sličnu funkciju. Kada se izvodi određena meta, izvodi se određena zbirka jedinica. Više o jedinicama kasnije.

Postavljanje "razine trčanja", koja se naziva meta.

Možete promijeniti cilj tijekom izvođenja, na primjer možete koristiti terminal da postavite svoj cilj na više korisnika. To bi zaustavilo vaš GUI, X ili Wayland, ali dopustite vama i drugima da se prijavite pomoću tekstualne konzole. Upotrijebite sljedeću naredbu.

$ systemctl izolirani višekorisnik.cilj

Ili, ako želite pokrenuti radnu površinu, umjesto toga upotrijebite sljedeću naredbu.

$ systemctl izoliraj grafički.cilj

Ono što vas stvarno zanima je kako započeti ispravan nivo, na ovaj način možete saznati što imate.

$ systemctl get-default

Da biste promijenili zadani postavite ga.

$ systemctl zadani grafički.cilj

Ova naredba zapravo pokreće puno jedinica i usluga dok pokrećete računalo. Možda želite pokrenuti ili zaustaviti jednu uslugu.

POKRETANJE, zaustavljanje, omogućavanje i onemogućavanje usluge.

Ovdje imate priliku promijeniti ono što se događa prilikom pokretanja i tijekom normalnog rada. Za razliku od ciljeva, jedinice su posebne za određenu uslugu. Da biste zaustavili uslugu, koristite "systemctl stop", jednako tako možete koristiti "start" i "restart". Da biste pokrenuli uslugu prilikom pokretanja sustava, koristite "omogući", a da biste je zaustavili "onemogući". Odaberite uslugu i pokrenite je i zaustavite dok je aktivna.

$ systemctl status šalice.servis

Ova naredba prikazuje status usluge, prikazuje i popis radnji koje je sustav poduzeo u vezi s uslugom. Da biste zaustavili uslugu, upotrijebite naredbu u nastavku.

$ systemctl stop čaše.servis

Usluga je sada zaustavljena za vašu trenutnu sesiju. Da biste ga promijenili u ne započinjanje pri sljedećem pokretanju, koristite Disable.

$ systemctl onemogući šalice.servis

Primijetite da biste uslugu mogli samo onemogućiti, to ne bi imalo utjecaja na vašu trenutnu situaciju. Usluga samo nastavlja raditi. Pri sljedećem pokretanju usluge neće pokrenuti.

Systemd također kontrolira nosače, uređaje, utičnice i još mnogo toga. Jedinice su niže i lakše ih je razumjeti ako ste se ranije bavili Linuxom. Možete ih i sami postaviti, ali najveći učinak na pokretanje sustava je upravljanje uslugama.

Kako se dodaju vlastite skripte?

Svoje skripte možete dodati vrlo jednostavno, a detalje koje je zanimljivo znati jest kako svoju skriptu ili uslugu ovisite o drugima. To je lijepo prikazano u ovoj datoteci usluge wifi-resume.

[Jedinica]
Opis = Ponovno pokrenite upravitelja mreže na nastavku
Nakon = obustaviti.cilj
Nakon = hibernacija.cilj
Nakon = hibrid-spavanje.cilj
 
[Servis]
Upišite = onehot
ExecStart = / bin / systemctl ponovno pokrenite upravitelj mreže.servis
 
[Instalirati]
WantedBy = obustavi.cilj
WantedBy = hibernacija.cilj
WantedBy = hibridno spavanje.cilj

Ovaj kôd stvara uslugu koja se dogodi jednom (onehot) nakon tri cilja navedena u kodu. Kôd koji se izvršava je u ovom slučaju jedna naredba. Možete jednako dobro usmjeriti ExecStart na skriptu po vašem izboru.

Zaključak

Promjenu vašeg sustava, posebno načina pokretanja, možete učiniti sami, ali pripazite da to ima mnogo posljedica za svaku uslugu, zato budite sigurni da je vaš kôd stabilan i brz za izvršavanje.

Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...
Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...
Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...