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.ciljIli, ako želite pokrenuti radnu površinu, umjesto toga upotrijebite sljedeću naredbu.
$ systemctl izoliraj grafički.ciljOno što vas stvarno zanima je kako započeti ispravan nivo, na ovaj način možete saznati što imate.
$ systemctl get-defaultDa biste promijenili zadani postavite ga.
$ systemctl zadani grafički.ciljOva 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.servisOva 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.servisUsluga 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.servisPrimijetite 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.