Runleveli i njihovo upravljanje u Linux-u

 



Termin 'Runlevel' u Linux-u ima jako važno značenje. Može ga se jednostavno prevesti kao radno stanje u koji se Linux distribucija buta. U ovom članku, saznajte šta su to runleveli, koliko ih ima, kako izlistati aktuelni runlevel, te kako natjerati distribuciju da se buta u željeni runlevel tijekom narednog starta.



1. Šta je to runlevel?

Svaki put kada se Linux računalo buta, taj proces prolazi kroz nekoliko faza prije nego li se prikaže login dijalog, gdje korisnik unosi svoju lozinku, te pristupa sistemu. Taj proces nazivamo proces butanja. Jednom pošto korisnik unese svoju lozinku, Linux distribucija tada podiže grafičko okruženje površine (Cinnamon, KDE, GNOME, XFCE, itd) zajedno sa svim ostalim pratećim programima. Drugačije rečeno, Linux distribucija se butala u grafički radni level.  Dakle, runlevel je radno stanje u koje se Linux distribucija buta, sa ili bez mrežnih servisa i ostalih programa. 

2. Koliko ima runlevela u Linux-u?


Trenutno postoji 6 runlevel u koji se Linux distribucije butaju. Ti runleveli su prikazani na sljedećoj slici ispod. 


3. Koja je uloga runlevela u Linux-u?Najjednostavnije rečeno, runleveli igraju jako važnu ulogu u Linux distribucijama. Oni omogučavaju Linux system administratoru da u kritičnim situacijama, kada grafičko okruženje zakaže, ili pojedini programi se zalede, upravo koristeći runlevele moguće je butati Linux distribuciju u single user mode kako bi se problem otklonio. Kasnije u ovom članku bit će govora upravo o tome, kako butati Linux distribuciju o određen runlevel.

Možda Vas zanima i ovo!

4. Kako prikazati aktuelni runlevel u Linux-u?

Postoji veoma jednostavna komanda po imenu 'runlevel' koja će prikazati trenutni ili aktuelni runlevel u kojem se nalazi vaša Linux distribucija. Unosom pomenute komande, dobit ćete u terminalu sljedeći prikaz.


Na gornjoj slici 'N' označava kako Linux distribucija nije koristila niti jedan prethodan runlevel, dok '5' označava kako se Linux distribucija trenutno nalazi u grafičkom runlevelu. 

5. Kako promijeniti aktuelni runlevel?

Da bismo promijenili iz grafičkog runlevela u neki drugi runlevel koji je izlistan u gornjoj tabeli, koristimo sljedeću komandu.



Gornja komanda telinit će promijeniti aktuelni runlevel u runlevel 3. U tabeli je runlevel 5 definisan kao grafički radni level, dok je runlevel 3 definisan kao multi user mode sa mrežnim servisima. NAPOMENA: Da biste promijenili iz jednog runlevela u drugi, morate biti root (super korisnik).

6. SysVinit vs SystemD


Prethodna izdanja Linux distribucija su koristila SysVinit sistem, kolekciju servisa koji se pokreću kada se Linux distribucija buta. Drugim riječima, upravo je SysVinit zadužan za pokretanje init procesa, majke svih procesa kojeg tijekom butanja izvršava sam Linux kernel. No, kako su Linux distribucije napredovale iz izdanja u izdanje, tako je nastao SystemD, napredniji sistem servisa koji kontroliraju radno stanje u kojem se Linux distribucija nalazi, te ostale prateće programe, servise, i alate. 

Tako da je od 2016. godine, Ubuntu Linux prešao sa SysVinit na SystemD, a Ubuntu-ovu promjenu su pratile i druge Linux distribucije kao što je Debian, RedHat, Linux Mint, te ostale. Obzirom da je SystemD izuzetno širok sa velikim mogučnostima koje pruža, ja se njime neću detaljno baviti u ovom članku, pa ću ovdje samo pomenuti u kontekstu runlevela. Za nas je ovdje bitno da znamo, kako SystemD umjesto runlevela koristi targetse. Njih je također 6, a isti su prikazani u donjoj tabeli. 


U gornjoj tabeli, na lijevoj strani su pobrojani runleveli (0-6), dok na desnoj strani su navedeni targetsi sa opisom (0-6). Obzirom da je tema malo kompleksna isprva, potrebno je vremena da se ovo svari. 

7. Kako promijeniti runlevel tijekom butanja?


Dok je SysVinit bio dostupan, bilo je moguće natjerati Linux distribuciju da se buta u određen runlevel, uređivanjem datoteke /etc/inittab


Ova slika prikazaje sadržaj datoteke /etc/inittab unutar koje su se prethodno uređivali runleveli u koji se Linux distribucija buta. No, kako većina modernih distribucija koristi SystemD, /etc/inittab više nije dostupan. Također, na gornjoj slici vidite strelicom prikazanu komandu id:5:initdefault. Ova komanda govori da se tijekom butanja, Linux distribucija buta u runlevel 5 ili grafički runlevel. Ako pak, koristite starije Linux distribucije, primjera Ubuntu 11.10, onda ćete moći urediti /etc/inittab jer je Ubuntu 11.10 koristio SysVinit.

8. Kako prikazati aktuelni SystemD target?

Ukoliko želite prikazati aktuelni target za distribucije koje koriste SystemD, potrebno je unjeti sljedeću komandu.


Rezultat je isti kao kod unosa komande runlevel gdje smo dobili N 5, a ovdje imamo tačan naziv runlevela ili targeta. Tako da moja distribucija Ubuntu Mate, trenutno radi unutar grafičkog targeta. 

9. Kako prikazati ostale SystemD targetse?

Da bismo prikazali ostale SystemD targetse, potrebno je unjeti sljedeću komandu.


Unosom gornje komande, bit će prikazani runleveli i njihovi SystemD targetsi, što je vidljivo na donjoj slici.


10. Kako promijeniti SystemD target tijekom butanja?

Ukoliko želite da promijenite aktuelni runlevel (target) u drugi tijekom butanja Linux distribucije, potrebno je kreirati simbolički link na željeni target sljedećom komandom. 




Kada se gornja komanda izvrši, Linux distribucija će se butati u runlevel3 ili multi-user.target sa mrežnim servisima. Bitno da znate ovdje da je kreiran simbolički link multi-user.targeta na datoteku /etc/systemd/system/default.target

11. Koja su dva najčešća targeta koje koriste Linux distribucije?

U većini slučajeva, Linux distribucije se butaju u runlevel 5 (grafički.target). Već sam rekao kako Linux distribucije koriste razna grafička okruženja kao što je GNOME, KDE, XFCE, Cinnamon, MATE i drugi, tako da je podrazumijevani target u kojem rade Desktop Linux distribucije upravo grafički target. 

S druge strane, ukoliko Vam više odgovara Linux terminal i njegove moćne komande, onda možete jednostavno iskoristiti gornju komandu, te butati vašu distribuciju direktno u runlevel 2 (rescue.target bez mrežnih servisa). S Linux terminalom i njegovim komandama, dosta ćete brže obaviti posao nego da koristite grafičke programe, a ukoliko šta krene naopako, u rescue.target-u moguće je brže lokalizovati problem, te spriječiti štetu i spasiti dan. 

Zaključak

Runleveli su jako bitan segment Linux administracije jer upravo oni omogučavaju Linux mašini da radi u nekoliko različitih stanja. S druge strane, runleveli omogučavaju nesmetan rad više korisnika na jednoj Linux mašini, a prednost leži i u tome što kada stvari krenu naopako, ili se pojavi problem sa nestabilnom aplikacijom, GRUB-om, grafičkim displejom, moguće je iz rescue.target-a otkloniti problem, te spriječiti veću štetu i gubitak osobnih podataka.


Reference


[1] Brunson, Ross - Walberg, Sean (2016)
CompTIA Linux+ LPIC-1 Cert Guide (Exams LX0-103 & LX0-104/101-400 & 102-400), p 38-42
(c) Pearson, 800 East 96th Street, Indianaopolis, Indiana 46240 USA

[2] Clinton, David (2016)
Practical LPIC-1 Linux Certification Study Guide, p 7-9
(c) Apress, New Yorks - USA 

Posljednji put ažurirano: 13. Juni 2021 | 14:28:05

Share:

Nema komentara:

Objavi komentar

Zajednica

POPULARNI POSTOVI

Oznake

NAJNOVIJE