You are on page 1of 30

Sta je GNU/Linux?

Linux je operativni sistem sacinjen od softvera iz GNU projekta i Linux


Kernela.

Ko je osnivao UNIX?
Ken Thompson i Dennis Ritchie.

Ko je zapoceo GNU?
Richard Stallman.

Ko je objavio prvu verziju Linux Kernela?


Linus Torvalds, u 1991. Godine.

Linux Distribucija se sastoji od sledecih komponenti:


1. Korisnicke aplikacije
2. Desktop okruzenje (GNOME,Unity, KDE itd.)
3. Display + Input: X Server (X.Org, Wayland)
4. Sistemski alati, Servisi, Biblioteke
5. Linux Kernel (Driveri, upravljanje hardverom i resursima)

Ubuntu:
Nastao je u kompaniji Canonical, osnivac Mark Shuttleworth.
Baziran je na Debian distribuciji. Skracenica za pakete je “.deb”

UNIX Shell:
Unix Shell je interpreter komandne linije za Unix sisteme, tekstualni interfejs
sa operativnim sistemom.
Prvi Unix shell je bio Thompson Shell, napisan od strane Kena
Thompsona.
Bio je namenjen za skriptovanje.

Bourne Shell (.sh):


Stephen Bourne je autor i napisan je kao prosirenje Thompson Shell-a.
Moguce je skriptovanje, varijable, uslovi i petlje.

BASH:
Predominantan shell, [B]ourne [A]gain [Sh]ell.
Autor je Brian Fox.

Terminal Emulator:
Tekstualni interfejsi koriste Terminalne emulatore.
Omogucava upotrebu Tekstualnog Shella u okviru grafickog okruzenja.
Naredba: pwd - Prikazuje trenutnu lokaciju
Oznaka “ ~ ” je zapis za Home direktorijum

1
Naredbe:
❖ cd - Omogucava promenu lokacije u direktorijumu.
❖ . - Tacka, trenutni direktorijum
❖ .. - Dve tacke, ide nazad u roditeljski direktorijum
❖ / - Separator se koristi u putanjama.
❖ Echo - Ispisuje tekst, koristi se kod skriptovanja.
❖ Touch - Kreira fajl.
❖ Mkdir - Kreira novi direktorijum
❖ Rm - Brisanje fajlova, rm -rf je brisanje bez potvrde.
❖ Cp - Kopiranje fajlova. Za kopiranje direktorijuma sa komplet
sadrzajem treba -R switch.
❖ Mv - Premestanje i promena naziva.
❖ Nano - Tekst editor.
❖ Cat - Ispisuje sadrzaj jednog ili vise fajlova.
❖ Ls - Izlistavanje sadrzaja
❖ Ls -l - Izlistavanje sadrzaja, long list
❖ Export - Sa ovom naredbom mozemo postaviti vrednosti varijabli ili
kreirati vlastite.
❖ Unset - Mozemo ponistiti postavljene vrednosti sa ovom komandom.
❖ Uniq - Ispisuje samo jedinstvene redove iz ulaza, bez duplikata.
❖ Cut - Izdvajanje kolona podataka iz fajla.
❖ Cut -d -f - Delimiter za razmak je -d, -f bira kolonu
❖ Sort -t -k -n -r - Sortiranje proizvoljnih tekstualnih podataka. Delimiter
je -t, sortiranje kolona sa -k. Numericka sortiranja -n, obrtanja
redosleda sa -r.
❖ Chmod +x - Dozvoljava pokretanje fajla, dodaje executable dozvolu.
❖ ./ - Potrebno je navesti oznaku ispred skripta za pokretanje skript.
❖ Chmod 777 fajl - Dozvoljava svima sve.
❖ Chmod 744 fajl - Vlasniku dozvoljava sve, ostalima samo citanje.
❖ Chmod g+x fajl - Pripadnicima grupe dozvole pisanja i izvrsavanja.
❖ Chmod o-wx fajl - Ostalima uklanja dozvole.
❖ Chmod a+x fajl - dozvoljava izvrsavanje u sve tri kategorije, (a = all)
❖ Chown - Promena vlasnistva nad fajlom ili direktorijumom.
❖ Chown korisnik fajl
❖ Useradd ime - Kreiranje korisnika.
-d = postavlja dir kao home direktorijum.
-e = datum isteka naloga.
-f = broj dana inaktivnosti za brisanje.
-s = defaultni shell za korisnika.
-g = Postavljanje primarne grupe
-G = Postavljanje skundarnih grupa
-m = Automatsko kreiranje home direktorijuma.
❖ Passwd ime - Postavljenje pocetna lozinka za novi korisnik.

2
Sudo (Super User Do):
Konfiguracija dozvola za sudo se nalazi u fajlu /etc/sudoers, ali ovaj fajl
nikada ne bi trebalo rucno editovati.
Za editovanje ovog fajla se koristi posebna naredba visudo, koja ce otvoriti
fajl u vi editoru, ali onda pre snimanja prvo uradi neke osnovne provere. Ako ovaj
fajl nije ispravan, sistem moze zavrsiti u takvom stanju da vise nijedan korisnik ne
moze postati super-user.

Do Super-user shell-a se moze doci naredbom:


Sudo -s visudo
Ovo ce zapoceti root shell i prikazace “root” kao korisnicko ime.

Echo:
Ispisuje tekst na terminal. Koristi se kod skriptovanja i omogucava
komunikaciju sa korisnikom. Moze posluziti ispisivanje vrednosti promenjivih.
Promenjive se navode sa znakom $ ispred.

Shell Ekspanzija:
Omogucava upotrebu Wild-Char znakova.
❖ * (Zvezdica) - Moze da menja bilo koji karakter ili fajl.
❖ ? - Moze da menja samo jedan karakter.
❖ [ ] (Uglaste zagrade) - Koriste se za podudaranje sa bilo kojim
znakom definisanim unutar zagrada. Mogu se koristiti razliciti tipovi
karaktera (brojevi, slova, specijalni znakovi itd.)

3
Ulazno-Izlazni tokovi:
.stdin - Standardni ulaz (0)
.stdout - Standardni izlaz (1)
.stderr - Ispis gresaka (2)

Redirekcija:
Redirekcija podrazumeva promenu tokova, prusmeravanje ulaza/izlaza iz
fajla ili neke druge naredbe, koristi se “ > “ znak za preusmeravanje.

Piping:
Predstavlja prespajanje standardnog izlaza jedne nardebe na standardni ulaz
naredbe. Formira “Piping” i koristi se znak “ | ”

4
Grep (Globally search a regular expression and print:
Filter teksta koji ce da sa svog ulaza na svoj izlaz da propusti samo one
redove teksta u kojima se moze pronaci zadata rec ili pattern.
Primer:
● Cat automobili.txt | grep mercedes
● Grep -i = Postaje neosetljiv na velika i mala slova.
● Grep -v = Invert, Ispisuje linije koje ne prolaze test.
● Grep -A # = After, ispisuje # linija nakon svake koja se uklapa
● Grep -B # = Before, Ispisuje # linija ispred.
● Grep -C # = Context, ispisuje # linija ispred i iza.

Head & Tail:


● Head -n = Ispisuje sve osim zadnjih n redova.
● Tail -n = Ispisuje sve osim prvih n redova.

AWK:
Skriptni jezik za jednostavnije procesiranje i filtriranje teksta.
Nazvan je po svojim autorima Alfred Aho, Peter Weinberger i
Brian Kernighan.
Awk -F’ ‘ ‘$3 >= 1992’ - Delimiter je -F. Naredba je ‘ ‘. Treca kolona $3.

Switchevi:
Naredba Delimiter Kolona

cut -d -f

sort -t -k

awk -F $

5
Shell Skripte:
Tekstualni fajlovi koji sadrze niz naredbi koje se mogu automatski redom
izvrsiti.
Ima posebnu oznaku za putanja interpretera ( #! ).
/bin/sh - Putanja glavnog sistemskog Shell-a
Primer: #!/bin/sh

Shell Skripting: Naredbe:


❖ Find - Nadje i ispise fajlove i direktorijume.
❖ Find -name - Pretraga po nazivu.
❖ Find -iname - Pretraga po nazivu, case sensitive.
❖ Find -type -f ili -d - Pretraga samo fajlova ili direktorijuma
❖ Find -exec komanda {} \; - Izvrsavanje naredbe za svaku pronadjenu
stavku.

Komandna Supstitucija:
Mogucnost da se rezultat izvrsavanja neke naredbe uvrsti u drugu naredbu.
Primer: touch $(cat nazivi.txt)

Argumenti sa Komandne Linije:


.$# - Cuva ukupan broj argumenata.
.$? - Ispis izlaznog statusa komande.
.$* - Cuva sve argumente sa komandne linije.
.$0 - Putanja kojom je pokrenuta skripta.
.$1 - Prvi argument.
.$2 - Drugi argument. Itd..

● Shift - Pomera sve pozicione parametre za jedan levo

Sintaksa Opis

-z $A Da li je $A prazan string (zero)

-n $A Da li $A nije prazan (not-zero)

-f $A Da li postoji fajl $A

-d $A Da li postoji direktorijum $A

6
Modifikacija Korisnika:
Korisnik moze svoje ime da izmeni upotrebom -l (login name) switcha:
Primer: Usermod -l novoime staroime

Kreiranje Korisnika:
Adduser ili useradd.
Korisnik se moze izbrisati komandom userdel

Kreiranje Grupe:
Addgroup ili groupadd.
Primer: Groupadd naziv

Vazni Fajlovi:
Lista korisnika sa osnovnim podacima se nalazi u fajlu: /etc/passwd
Podaci o grupama se nalazi u: /etc/group
Podaci o enkriptovane lozinke se nalaze u: /etc/shadow

Debian paketi:
Ubuntu koristi dpkg kao osnovni menadzer paketa i .deb kao tip softverskog
paketa.
Deb paketa je tar arhiva koja u sebi sadrzi tri fajla:
1. Debian-binary - Verzija deb fajla
2. Control.tar.gz - meta podataka o paketu
3. Data.tar - data fajlovi od pakete
U Control.tar.gz fajlu se mogu nalaziti sledeci fajlovi:
● Md5sums - Hash kodovi za proveru integriteta paketa.
● Control - informacije o paketu
● Preinst - skripta koja se izvrsava pre instalacije
● Postinst - skripta posle instalacije
● Prerm - skripta pre deinstalacije
● Postrm - skripta posle deinstalacije

Instalacija pakete:
Dpkg -i naziv_paketa.deb -i = install
Dpkg -r naziv_paketa -r = remove
Dpkg -l = Izlistava sve pakete trenutno instalirane u sistemu.
Dpkg-reconfigure - Pokusava da vec instaliran paket rekonfigurise.

APT (Advanced Packaging Tool)


APT je korisnicki interfejs za dpkg koji automatizuje preuzimanje .deb paketa.
Omogucava jednostavnije preuizmanja .deb paketa iz online ili offline
repozitorijuma, uz automatsku proveru preduslova i zavisnosti.

● apt-get update - osvežava lokalni keš paketa

7
● apt-get upgrade - primenjuje dostupne nadogradnje
● apt-get install paket - instalira paket(e)
● apt-get remove paket - uklanja paket(e)
● apt-get purge paket - uklanja paket(e) zajedno sa konfig fajla.
● apt-get build-dep paket - preuzima zavisnosti za build
● apt-get autoremove - uklanja suvišne pakete

Apt-cache daje razne informacije o paketima iz lokalnog kesa


sa parametrima:
● pkgnames – nazivi svih dostupnih paketa
● search termin – nazivi svih paketa koji počinju sa termin
● Show paket - informacije o paketu
● Showpkg paket - zavisnosti paketa
● Policy paket - kandidati za instalaciju
● Madison paket - sve dostupne verzije paketa
● Stats - statistike o lokalnom kešu

Sources.list je fajl koji sadrzi listu izvora za APT.


Nalazi se na lokaciji: /etc/apt/sources.list

Sta je Repozitorijum?
Repozitorijum je hosting servis specijalizovan za skladištenje deb paketa.

Arhive:
Skladistenje vise fajlova, sa strukturom direktorijuma u jedan fajl.
- Pakovanje: Kreiranje arhive, opciono uz kompresiju sadrzaja.
- Otpakivanje / ekstrakcija: Citajuci arhivu, re-kreiramo fajlove na osnovu
podataka iz nje, opciono uz dekompresiju.

Kompresija:
Kompresija podataka se moze podeliti na dve vrste:
1. Lossless - Kompresija bez gubitaka, otpakovani sadrzaj je tacno jednak
orginalu.
2. Lossy - Kompresija sa gubicima, sadrzaj se ne reprodukuje savrseno jer se
neke informacije odbacuju u procesu.

Primeri bez gubitaka su uobicajni formati arhiva poput ZIP, RAR, 7Z, GZIP itd.

Primeri sa gubicima su MP3, JPEG slike, MPEG za video itd.

8
Tar Arhiva:
Tar je format arhive koji skladisti nekompresovane fajlove u sebi, cesto se
kombinuje sa GZIP ili BZIP2 kompresijom. Tar fajl kao pojedinacan fajl, kompresuje
u novu arhivu i dobijamo .tar.gz i .tar.bz2
★ Tar cvf arhiva.tar direktorijum/
● C - Kreiranje .tar arhive (create)
● V - Verbose mod, ispisuje redom nazive svih fajlova koje procesira
● F - Ime arhive se navodi iza ovog argumenta
● Arhiva.tar - Naziv fajla koja se kreira
● direktorijum/ - Folder koji ce se spakovati

★ Tar cvzf arhiva.tar.gz direktorijum/


● Z - Kreiranje .tar.gz arhive, dodaje sloj GZIP kompresije nakon
arhirivanja u .tar

★ Tar cvjf arhiva.tar.bz2 direktorijum/


● J - Kreiranje .tar.bz2 arhive, dodaje sloj BZIP2 kompresije nakon
arhiviranja u .tar
★ Tar xvf arhiva.tar
● X - Otpakivanje (extract) arhive u trenutnu lokaciju.
★ Tar xvzf arhiva.tar.gz
● X - Otpakivanje arhive u trenutnu lokaciju
● Z - GZIP arhiva
★ Tar xvjf arhiva.tar.bz2 -C dir/
● X - Otpakivanje arhive
● J - BZIP2 arhiva
● -C - Odredjuje putanju gde ce se fajlovi otpakovati
★ Tar tjf arhiva.tar.bz2
● T - Prikaz sadrzaja (content), izlistavanje svih fajlova, bez
otpakivanja.
● J - BZIP2 arhiva

Linkovi:
Linkovi su nacin uspostavljanja veza izmedju fajlova i direktorijuma u fajl
sistemu, kao “shortcut”, omogucavaju nam da sa jedne lokacije pokazujemo na
drugu.
Razlika u odnosu na shortcut je sto se linkovi ponasaju kao stvarni fajlovi i
direktorijumi - mogu se koristiti kao deo putanje ili u bilo koje druge svrhe u koje bi
se i stvarni fajlovi koristili. Ima dve vrste linkova: Hard Link i Symbolic Link
(symlink).

9
Linkovi ove vrste se prave ln (link) naredbom, gde se prvo navodi postojeci
fajl, pa zatim zeljeni novi naziv, uz -s switch ako zelimo simbolicki. Primer:
Ln -s postojeci_fajl naziv_linka

Hard Link:
Hard Linkovi mogu postojati samo za fajlove, te se ne mogu praviti izmedju
fajlova na razlicitim fajl sistemima (Razlicite particije ili drajvovi)

Hard Linkovi su tehnicki ono sto povezuje naziv fajla i njegove atribute sa
stvarnim sadrzajem koji taj fajl ima. Svaki fajl po kreiranju ima svoj jedan link, jer bi
bez njega bio neupotrebljiv (ls -l).

Svi Hard Linkovi fajla su ravnopravni. Nakon kreiranja novih linkova, ne


postoji koncept originala i linka. Brisanje prvog hard linka ne brise fajl dokle god
ih postoji jos.

Symbolic Link:
Symbolicki Linkovi ili symlink nemaju ovakva ogranicenja - mogu se kreirati
na direktorijume, i izmedju razlicitih fajl sistema.

Symlink je zapravo posebna vrsta fajla za sebe, koji sluzi operativnom


sistemu da ga interpretira kao precicu do neke druge lokacije.

Kod smylinkova postoji jasna razlika izmedju originala i linka, ako se


original izbrise, link ostaje u neupotrebljivu stanju (broken).

RegEx:
RegEx ili regularni izrazi su formalni jezik koji sluzi za opis uzoraka/sablona
(patterns) u tekstu, u svrhu pretrage, kontrole ili izmena (search and replace).

Imaju veliku upotrebnu vrednost jer su standardizovani (POSIX) i kao takvi


implementirani u mnogim programskim jezicima i softverskim alatima, koristeci istu
sintaksu.

Jedan cest scenario upotrebe je za kontrolu podataka.


Na primer, ljudi znaju prepoznati da li je neki tekst predstavljen datum, e-mail
adresu, web adresu, JMBG, broj indeksa itd.

RegEx-i su jako zastupljeni u Web developmentu, u mnogim shell


naredbama kao i u mnogim naprednim editorima i procesorima teksta.
Literali RegEx-a:
Prvi element sintakse su literali, slova i znakovi koji nemaju posebno
znacenje. Ovo je slicno kao “Search” funkcija na editorima:

10
- Anchor (^) = Koristi se za pocetak linije. Trazimo da uzorak bude na pocetku linije:

Dolar ($) = Koristi se za kraj linije. Trazimo da uzorak bude na kraju linije.

(^) i ($) = Ovime mozemo traziti da uzorak bude na pocetku i na kraju linije:

11
Broj ponavjlanja (Kvalifikatori):
Ovi simboli se uvek odnose na ono sto je direktno ispred njih.
● ? = Nijednom ili jednom
● + = Jednom ili vise
● * = Nula, jednom, ili vise

12
Klase:
Mozemo da pravimo klase znakova, koje se ponasaju kao pojedinacno slovo
ili znak, ali tekst moze da izabere bilo koji od njih na toj poziciji.

Klase se oznacavaju srednjim zagradama [ ] i sadrze listu znakova za tu


klasu. Mogu da sadrze i opsege oznacene [ - ] minusom.

13
14
Grupe, alternative:
Zagrade ( ) koristimo za rad sa sekvencom.
Ako u zagrade dodamo uspravnu crtu | , time mozemo ponuditi i izbor izmedju
vise razlicitih sekvenci ili izraza. (alternative)

Negacija / Komplement:
Dodavanjem znaka ^ na pocetak klase se formira negacija takve grupe, klasa
koja sadrzi sve ono sto nije navedeno.

15
Odredjen broj ponavljanja:
Pored znakova ?, + i *, broj ponavljanja se moze navesti i preciznije, brojcano
u obliku {od,do}
Nije obavezno navesti oba broja, jedan se moze izostaviti.

Tacka i Escape:
Tacka . ima posebno znacenje u RegEx-u. Ona predstavlja klasu koja sadrzi
sve znakove, moze da menja bilo koji znak.
Ako stvarno zelimo tacku kao znak, moramo da dodamo escape \ znak
ispred, kako bismo iskljucili njeno posebno znacenje. Ovo se koristi i za ostale
specijalne znakove.

16
17
Pocetak i kraj reci:
Mozemo da koristimo simbole \< i \> za pocetak i kraj reci, ogranicavajuci rec
samo lokalno, ne nuzno i na celi red.

18
Back-reference:
Kada se sekvenca znakova grupise, na nju se kasnije mozemo pozvati
koristeci back-reference.
Grupe se referenciraju po brojevima 1-9 sa escape znakom ispred (\)

Brojevi se grupama dodeljuju hronoloski, onim redom kako se kroz izraz doslo
do grupe.
Ovaj se moze koristiti za trazenje ponavljanja neke sekvence znakova.

Egrep:
Egrep je alias za grep, sa automatski ukljucenim -E switchem koji
omogucava upotrebu RegEx-a.
Sintaksa je isto kao i za grep, a jedan koristan switch je -o koji ce da ispise
samo matchovane delove teksta.

Sed:
sed (stream editor) se koristi kao deo pipelinea koji moze da filtrira ili
modifikuje podatke na osnovu regularnih izraza.
Neki od osnovnih modova operacije su:

19
20
Napredna Supstitucija:
Omogucava upotrebu regularnih izraza, kao i prenos grupisanih sekvenci sa
pretrage na zamenu.
Moguce je u patternu za zamenu pozvati se na grupisane sekvence koristeci
\1 - \9 oznake, kao i posebnu oznaku & koja menja kompletnu matchovanu
sekvencu.

21
Boot:
1. Hard/Cold boot - Paljenje racunar nakon stanja potpune iskljucenosti.
2. Soft/Warm boot - Paljenje racunar nakon softverskog restarta.

22
BIOS:
Basic Input Output System, on se implementira kao poseban cip na maticnoj
ploci koji sadrzi ROM (Read Only Memory) deo u kome se nalaze osnovne rutine za
pokretanje racunara i upravljanje njegovim hardverom.

Nakon pokretanja sistema, BIOS i dalje ostaje aktivan da na vrlo niskom


nivou upravlja sustemskim mehanizmima, poput interrupt zahteva (IRQ).

Prilikom paljenja, BIOS obavlja POST (Power-On-Self-Test)

UEFI:
Unified Extensible Firmware Interface (UEFI) je softver koji takodje ima ulogu
u pokretanju racunarskog sistema ali sa mnogo vise opcija i mogucnosti za razliku
od BIOS-a.
UEFI moze da se smesti u flash memoriji koja se nalazi na maticnoj ploci.

Neke od prednosti u odnosu na BIOS su:


● Podrska za diskove vecih od 2.2 TB
● Mogucnost pokretanja u x86 ili x64 modu
● Secure boot
● Napredniji graficki interfejs za podesavanje konfiguraciju

Boot Loader:
Naredni korak je pokretanje Operativnog Sistema. Ovde dolazi Boot
Loader, i sluzi kao medju korak izmedju BIOS-a i Operativnog Sistema.

On se nalazi na standardnom mestu (MBR - Master Boot Record) na hard


disku i zadatak mu je da ucita i pokrene Operativni Sistem. (tj. Njegov Kernel)

Prostor predvidjen za Boot Loader iznosi 512 bajta. Ovo je premalo za


slozene operacije, pa se Boot Loaderi cesto izvode u dve ili tri faze.

Prva faza se mora nalaziti u tih 512 bajta i ona sluzi samo da se neke druge
lokacije ucita i pokrene drugu fazu.

GRUB:
Grand Unified Boot Loader je najpopularniji, podrzava ucitavanje i drugih
Operativnih sistema, Ubuntuov default.
Autor GRUB-a je Erich Boleyn. Pored UNIX sistema, podrzava lancano
ucitavanje (chainloading) drugih boot loadera, poput Windowsovog NTLDR.

GRUB se po defaultu instalira uz Ubuntu i pri tome automatski detektuje


prisustvo drugih operativnih sistema.

23
GRUB se moze podesiti na Ubuntu editovanjem /etc/default/grub fajla,
nakon cega se mora pozvati update-grub na terminalu.

Neka od najcescih podesavanja su GRUB_DEFAULT i GRUB_TIMEOUT.

Ova dva podesavanja su brojcana i govore, redom, koja stavka u meniju treba
da bude odabrana pri pokretanju, i nakon nekoliko sekundi ce sistem automatski da
nastavi sa pokretanjem te defaultne stavke.

GRUB_CMDLINE_LINUX_DEFAULT daje argumente Linux kernelu, cime


mogu da se postave neke boot opcije.
Po defaultu, ovde stoje “quiet” i “splash” opcije koje govore da ne zelimo
detaljan log ispis pri procesu bootovanja (quiet) i da zelimo graficki logo
distribucije (splash) umesto toga. Ako imamo problema u bootovanju i zelimo da
vidimo info onda uklonimo “quiet boot”.

Nakon boot loader faze, ucitava se Image Kernela, blok memorije sa diska se
kopira u RAM memoriju i dekompresuje, zatim obavlja se osnovna enumeracija
memorije i hardvera, nakon cega je sam kernel u memoriji i spreman za rad.

Pri inicijalizaciji kernela se pokrecu scheduler (deo kernela koji rasporedjuje


CPU vreme, omogucava da vise procesora bude aktivno istovremeno), idle process
(onaj koji popunjava prazan hod procesora) i na kraju pokrece se init proces, koji
ima PID 1 (Process ID) i roditelj je svih procesa koji rade na Linux sistemu.

LILO:
Linux Loader, jos jedan popularan Loader za Linux.

Runlevel:
SysV style init demoni imaju runlevel koncept, sto je brojcana oznaka nivoa
na kom sistem radi.
● 0 - Halt (zaustavljenje, gasenje)
● 1 - Single User Mode (jedan korisnik)
● 5 - Multi User mode sa GUI okruzenjem (Vise korisnika sa GUI
loginom)
● 6 - Reboot (restartovanje sistema)

Runlevel SysV:
Skripte koje obavljaju zadatke asocirane za promenom runlevela se nalaze u
direktorijumima: /etc/rc#.d gde je # broj runlevela, pa tako imamo:
● /etc/rc0.d
● /etc/rc1.d
● /etc/rc2.d itd.

24
Runlevel systemd:
Ubuntu ima runlevel5.target koji znaci multi-user-graphical mode u kom
se sistem nalazi pri uobicajnom radu.

- Lista systemd targeta:


● Runlevel0.target, poweroff.target - Halt
● Runlevel1.target, rescue.target - Single-User text mode
● Runlevel3.target, multi-user.target - Full Multi-User text mode
● Runlevel5.target, graphical.target - Full Multi-User graphical mode
● Runlevel6.target, reboot.target - Reboot
● Emergency.target - Emergency

- Kada se sistem bootuje, on po defaulti aktivira default.target jedinicu.


Njen glavni posao je da aktivira servise.

- Ako hocemo da vidimo defaultni target, kucamo na terminalu:


Systemctl get-default
- Za podesavanje defaultnog targeta, kucamo na terminalu:
Systemctl set-default multi-user.target

Cron (job scheduler):


Cron je rasporedjivac poslova (job scheduler) koji omogucava izvrsavanje
neke naredbe ili skripte.

Cesto se koristi za automatizaciju odrzavanja sistema.

Koristi crontab (cron table) konfiguracioni fajl zapisan u posebnom formatu


koji govori kada i sta treba da se izvrsi.
Format cron tabele:

25
● * = svaki minut, sat, dan, sedmica
● 1-10 - interval, svaki, od 1 do 10
● 1-10/2 - pocevsi od 1, svaki drugi
● */2 - svaki drugi
● 1,3,5 - samo 1, 3 i 5

Postoje i posebne reci koje mogu da posluze kao alias za pomenutih pet polja:
● @yearly ili @annually - jednom godisnje, 1.1
● @monthly - jednom mesecno, prvog dana
● @weekly - jednom sedmicno, nedelja ujutro
● @hourly - svaki sat
● @reboot - pri svakom paljenju

Vazni fajlovi i direktorijumi vezani za cron se nalaze na sledecim lokacijama:


● /etc/crontab - glavni sistemski crontab
● /var/spool/cron/crontab - direktorijum za korisnicke krontabove
● /etc/cron.hourly/ - direktorijum iz kog ce sve sto je u njemu da se pokrene
svakog sata
● /etc/cron.daily/ - isto, za svaki dan
● /etc/cron.weekly/ - isto, za svaku sedmicu
● /etc/cron.monthly/ - isto, za svaki mesec

Postoji i naredba koja se zove contab, namenjena editovanju korisnicke cron


tabele, sa sledecim switchevima:
● Crontab -e - Pokrece editovanje korisnickog crontaba
● Crontab -l - Izlistava korisnikov crontab
● Crontab -r - Brise korisnikov crontab

26
● Crontab -i - Brise korisnikov crontab uz potvrdu.

Anacron:
Anacron je periodicni rasporedjivac poslova koji za razliku od cron-a
nema pretpostavku da je sistem konstantno online.

Moze da se koristi za kontrolu izvrsavanja dnevnih, nedeljnih i mesecnih


poslova na sistemima koji ne rade konstantno 24h.

Svi anacron poslovi su izlistani u fajlu: /etc/anacrontab

Anacron koristi sledeci format:


● Period - frekvencija izvrsavanja poslova izrazena u danu, nedelji ili
mesecu (@daily, @weekly, @monthly)
● Delay - vreme cekanja u minutima nakon kojeg se izvrsava job
● Job-ID - ime za trenutni job koji se zapisuje u logovima
● Command - komanda ili shell skripta koja se izvrsava

AT:
Ako zelimo da se neka komanda izvrsi jednom u buducnosti bez
ponavljanja, onda koristimo komandu at
Vreme izvrsavanja moze da bude u sledecom obliku:
● Vreme - vreme u toku dana u obliku HH:MM, ili sa dodatkom AM ili PM
ako koirstimo 12-to casovni format.
● Datum - Ako hocemo da izvrsimo at nakon 24 casa, onda moramo da
dodamo datum posle specifiranog vremena u formi DD.MM.YY
● Neko buduce vreme - Mozemo da formatiramo vreme koristeci
kljucnu rec “now”, znak plus ”+” i vremenski period kao npr. Now +2

27
hours sto znaci da ce se komanda izvrsiti za 2 sata od trenutka
podesavanja.

Kako bi at program funkcionisao, mora da bude pokrenut njegov daemon na


sistemu, u slucaju da se ne pokrece autmoatski moramo da konfigurisemo startup
skriptu kako bi to omogucili sa komandama:
Sudo systemctl start at
Sudo systemctl enable at

At podrzava nekoliko menadzment alata i to su:


● At - izvrsava komande u zadato vreme
● Atq - izlistava zakazane poslove za trenutnog korisnika
● Atrm - brise zakazane poslove na osnovu njihovog ID broja

Program at ima i dodatnu bezbednost u vidu dozvola za pristup koje odredjuju


ko moze da koristi at a ko ne moze.

Kljucni fajlovi za podesavanje prava nad at komandom su:


● /etc/at.allow - dozvoljava regularnim korisnicima at komandi
● /etc/at.deny - zabranjuje regularnim korisnicima pristup at komandi

Sta je X?
X je mrezno-transparenti sistem koji daje osnovne graficke primitive
(Pokretne prozore, geometrijske oblike, slike) i rukuje ulaznim uredjajima (tastatura
i mis).
Mrezna transparentnost znaci da je celi sistem osmisljen da radi u mreznom
klijent-server okruzenju, sto znaci da ekran na kome se interfejs gleda ne mora da
bude onaj direktno vezan za racunar u kom se interfejs izvrsava, slicno i za ulazne
uredjaje.

X Server prima signale sa ulaznih uredjaja, salje sliku na displej i vrsi


interakciju sa grafickim aplikacijama.

X Server i X Klijenti ne moraju da budu na istom racunaru, to je upravo


mrezna transparencija.

X Server moze da radi u tri rezima:


1. Kao prozor koji prikazuje sadrzaj drugog displej sistema (X Nesting)
2. Kao glavni graficki sistem koji konstruise i salje sliku na ekran,
nadziruci ulazne uredjaje
3. Kao samostalna hardverska implementacija

Pri normalnom radu X Server sluzi kao graficki podsistem Operativnog


Sistema.

28
X Standard definise samo protokol, moze postojati vise implementacija.

Najpopularnija implementacija je:


● X.Org - Referentna implementacija, trenutno aktuelna i
podrazumevana na mnogim sistemima.

Trenutno nadlezno telo za razvoj X Standarda i protokola je X.Org Foundation,


koja odrzava trenutnu implementaciju X.Org.

Prosirenja X (Xinerama):
Xinerama je prosirenje X Servera koje omogucava tretiranje vise fizickih
ekrana kao jedan veliki virtuelni ekran.

Ovo je jedan od nacina da se podrzi vise monitora na jednom racunaru i


najmanje je invazivan, jer aplikacije ne moraju da budu svesne ovoga, one vide
samo jedan veliki ekran.

Prosirenja X (DRI):
DRI (Direct Rendering Infrastructure) je kompleksan sistem koji omogucava
direktan pristup grafickom hardveru na bezbedan i efikasan nacin, u svrhu
iskoriscavanja mogucnosti savremenog grafickog hardvera (3D Rendering,
GP-GPU, video dekodiranje itd.)

U kombinaciji sa DRM (Direct Rendering Manager) omogucava hardverski


ubrzano OpenGL renderovanje 2D i 3D grafike.

Mesa:
Mesa je softverski projekat fokusiran oko OpenGL grafickog alata koji se bavi
razvojem brojnih pomocnih biblioteka.

Toolkit:
Graficki Toolkiti daju programerima funkcionalne i estetski ugodne elemente,
olaksavaju programiranje i daju konzistenciju interfejsima.

Dve najcesce implementacije Toolktova su:


1. GTK - GIMP ToolKit, razvijen uz razvoj GIMP foto editora, kasnije je
generalizovan i psotao osnova GNOME okruzenja.
2. Qt - Nesto vise od GUI Toolkita, vrlo bogata softverska biblioteka.
Vecinom se koristi za KDE Desktop Okruzenje.

29
Wayland:
Wayland je zamisljen kao zamena za X, koju je mnogo lakse razvijati i
odrzavati. Ocekuje se da GNOME i KDE budu kompletno portovani na taj novi
sistem.

Wayland je novi protokol koji omogucava koriscenje 3D Kompozera kao


primarni server za prikaz slike umesto izvrsavanja 3D Kompozera kao ekstenzije
koja je pokrenuta pod X Serverom.

- Kraj Skripta -

30

You might also like