Linux nepoznati pojmovi

Distribucija (distro) - predstavlja zaokruženu celinu linux kernela (jezgra) sa dodatnim softverom kao što su grafičko okruženje i prateći programi. Kako kernel može da se kombinuje sa velikim brojem različitih okruženja i/ili aplikacija postoji i veliki broj (preko 300) različitih linux (ili GNU/Linux) distribucija koje razvijaju firme, online zajednice ili pojedinci i koje mogu imati opštu ili neku specifičnu namenu. Primer distroa bi bili Debian, Mandriva, OpenSuSE, Fedora, Ubuntu...
Više o distribucijama:
http://en.wikipedia.org/wiki/Linux_distribution
http://sh.wikipedia.org/wiki/Linux_distribucija
 
root (superuser) - na sistemima nalik UNIX-u root predstavlja korisnički nalog koji ima najviše administratorske privilegije. Ovaj pojam ne treba mešati sa pojmom root (koreni, osnovni) direktorijum. root korisnik ima sva ovlašćenja na sistemu i ovaj nalog treba koristiti samo za potrebe administracije sistema, a nikako u svakodnevnom radu. U emulatorima terminala (kozola) root korisnik se razlikuje od običnog korisnika i po odzivnom znaku #, dok je za obične korisnike taj znak $. Regularni korisnici mogu privremeno dobiti administratorske privilegije upotrebom komande su (switch user) koja će tražiti šifru root naloga ili upotrebom sudo programa koji određenim korisnicima (tzv. sudoers) dozvoljava izvršavanje programa sa root ovlašćenjima.
 
repozitorijum (repo, online skladište ili riznica) - jeste online lokacija na kojoj se nalazi softver pripremljen za određenu distribuciju sa koje korisnik, upotrebom menadžera paketa, instalira dostupne i željene programe. Za jednu distribuciju može postojati više repozitorijuma (free ili propriatery softver, repo sa testing softverom...). Zvanično podržani repozitorijumi obično su već uneti u menadžer paketa određenog distroa, dok je ostale potrebno dodati naknadno. Instalacija softvera upotrebom menadžera paketa i online repoa je najlakši način instalacije softvera na GNU/Linuxu jer je korisnik oslobođen problema zavisnosti paketa koje instalira.
 
kernel (jezgro) - osnova operativnog sistema. On je zadužen da upravlja resursima računara (memorija, procesorsko vreme...) i na zahtev pojedinačnih aplikacija te resurse im i dodeljuje. Linux kernel je započet kao projekat Linusa Torvaldsa, tada studenta na Univerzitetu u Helsinkiju, ali pošto je Linus odlučio da otvori (oslobodi) kôd na kojem je radio i pozove druge programere da mu se priključe u razvoju, linux kernel postaje proizvod velike zajednice programera širom sveta. Linux kernel sa kolekcijom GNU softvera čini GNU/Linux operativni sistem, a ako se ovome doda i aplikativni softver (npr. grafičko okruženje i prateći softver) dobijamo linux distribuciju.
http://en.wikipedia.org/wiki/Linux_kernel
http://www.kernel.org/
 
Konzola (shell, terminal, školjka) - Zanemarujući istorijski aspekt (mainframe računare, teleprintere i "glupe terminale") konzola predstavlja korisnički interfejs koji je bio standard na *nix sistemima pre omasovljenja grafičkih okruženja. Korisnik upravlja radom računara tako što ukucava tekstualne komande i parametre koje komandna linija tumači i izvršava. U savremenim uslovima, konzola na GNU/Linux sistemima služi za obavljanje velikog broja radnji koje nije moguće obaviti iz grafičkog okruženja. U tu svrhu se koriste razni emulatori terminala (Konsole, Terminal, XTerm, rxvt...) i veliki broj različitih shell programa (Bourne shell, Bourne-Again Shell, Korn shell, Z shell...).
http://en.wikipedia.org/wiki/Unix_shell
http://en.wikipedia.org/wiki/Terminal_emulator
 
GNU - GNU je rekurzivni akronim od "GNU nije Unix" i predstavlja operativni sistem koji se u potpunosti sastoji od slobodnog (free) softvera i koji bi bio sličan unixu, ali koji ne bi sadržao delove unix koda. Ričard Stalman (Richard Stallman) je sredinom osamdesetih pokrenuo GNU projekat i do danas je uspešno napravljena osnovna kolekcija GNU alata potrebnih za rad jednog operativnog sistema, ali je najbitnija komponenta - kernel (za GNU bi to bio Hurd), daleko od upotrebljivog pa se kao zamena koristi slobodni linux kernel (otuda i naziv GNU/Linux). GNU projekat, takođe, upravlja i pravnim aspektom razvoja slobodnog softvera kroz objavljivanje odgovarajućih licenci od kojih je svakako najpoznatija GPL verzija 2 i 3.
http://en.wikipedia.org/wiki/GNU
 
Source code (izvorni kod, source, sors) - jeste datoteka u tekstualnom obliku (pretežno), koja sadrži instrukcije programskog jezika u kome pišemo program. Izvorni kod je najčešće običan tekstualni fajl koji je čitljiv i razumljiv za svakoga ko poznaje programski jezik koji je upotrebljen. Nakon što programer završi sa pisanjem koda za svoj program on ga kompajliranjem dovodi u stanje u kome može da se izvršava na određenom operativnom sistemu.
http://en.wikipedia.org/wiki/Source_code
 
kompajliranje (compiling, compile) - je postupak u kome se izvorni kod (source code) nekog programa prevodi u mašinski kod koji računar može da razume i izvršava. Za postupak prevođenja upotrebljava se program (tj. skup programa) pod nazivom kompajler. Njegov zadatak je da učita datoteku sa izvornim kodom i proizvede datoteku koju će operativni sistem moći da izvrši. Takav kompajlirani izvorni kod se zove izvršna ili binarna datoteka. Naravno, za određeni programski jezik i operativni sistem, potrebno je koristiti i odgovarajući kompajler.
http://en.wikipedia.org/wiki/Compiler
 
CMMI - je skraćenica koja predstavlja postupak kojim se u konzoli, na GNU/Linuxu, obavlja instalacija nekog programa iz njegovog izvornog koda. Postupak podrazumeva izvršavanje određenih komandi u pravilnom redosledu i ukoliko se prethodna komanda uspešno izvršila (tj. nije bilo grešaka). Komande i redosled su:
$ ./configure - pokreće skriptu koja proverava da li su svi potrebni preduslovi za uspešnu upotrebu programa zadovoljeni (postoje li svi potrebni paketi i programi)
$ make - pokreće automatizovan postupak kojim se iz postojećeg izvornog koda dobija izvršni fajl (kompajliranje)
# make install - instalira na sistem izvršnu datoteku dobijenu prethodnim postupkom
Znakovi ispred komandi ($ i #) su oznake u konzoli za tip korisnika koji ima dozvole za obavljanje određenog postupka, pa je $ znak za regularnog korisnika, a # znak za root tj. superuser korisnika koji ima pravo instalacije.
http://www.tuxfiles.org/linuxhelp/softinstall.html
 
Kernel Modul je deo kernela koji se učitava po potrebi i proširuje mogućnosti istog. Bez modula, na svakoj mašini bi morao da bude učitan ceo kernel, što bi uvećalo zahtevnost operativnog sistema i zahtevalo rekompajliranje kernela i restart pri svakom dodavanju novih drajvera ili drugih funkcija. Umesto toga, kernel module je moguce ucitati bez restartovanja računara. Pri instalaciji operativnog sistema, kernel učita sve dostupne module, a kasnije kada uredno prepozna hardver, samo one koji su potrebni za rad računara.
http://en.wikipedia.org/wiki/Loadable_kernel_module
 
Binarni BLOB je izraz za kernel modul koji čiji je izvorni kod zatvoren. Neke hardverske kompanije ne žele da objave dokumentaciju o svom hardveru (kako bi programeri mogli da naprave slobodan drajver), niti da otvore izvorni kod drajvera za svoje proizvode. Umesto toga, podržavaju Linux samo tako što dostavljaju gotove drajvere u binarnom (kompajliranom) formatu, čiji kod nije dostupan nikome sem zaposlenima te kompanije. Korisnici u tom slučaju imaju samo dve mogućnosti, da koriste drajvere u vidu binarnih blobova, ili da prekinu da koriste sporni hardver. (iako postoji i treća mogućnost u vidu drajvera koje razvija zajednica kao otvoreni kod, oni vrlo često po funkcionalnosti i upotrebljivosti zaostaju za vlasničkim rešenjima upravo iz razloga zatvorenosti specifikacija proizvoda - nap. GoranSTX)
http://en.wikipedia.org/wiki/Binary_blob
 
Tainted Kernel (sputani kernel) je izraz za kernel koji u sebi ima učitane module koji nisu slobodan softver. Tu spadaju BLOB-ovi, ali i kernel moduli čiji je kod otvoren, ali licenca nekompatibilna sa GPL-om. Sputanost kernela se ogleda u tome da programeri kernela iz pravnih razloga nisu slobodni da reše sve probleme koji se nalaze u takvom kernelu. Ako odreženi problem stvara non-free kernel modul (što se nikad ne može sa sigurnošću reći ako se radi o BLOB-u, jer je kod zatvoren), jedini koji je autorizovan da problem reši je proizvođač dotičnog modula. Zato su BLOB-ovi loši po korisnike. Nažalost, većina korisnika nije ni svesna ovoga i koristi sputani kernel. Profesionalne linux kompanije kao što su Red Hat i Novell uvek ohrabruju korisnike da kupuju hardver za koji su dostupni slobodni drajveri. Tako je i njima lakše da reše moguće kernel oops!-eve.
(cat /proc/sys/kernel/tainted 0=not tainted; 1=tainted)
Novell dokumentacija
 
Kernel oops! (čita se kernel ups!) je termin za greške u kernelu koje nisu fatalne, ali mogu da utiču na pravilan rad. Otuda reč ups! (npr. "Ups... valjda neće niko primetiti"). Najveći broj "kernel upseva" se dešava zbog drajvera i to najviše u kernelima koji koriste non-free module. Mnogi korisnici nisu ni svesni toga, jer nemaju sve distribucije instaliran aplet za monitoring kernel oops-eva. Debian i Fedora su dve distribucije koje podrazumevano imaju uključen applet za obaveštenje o kernel upsevima. Kada se dese, sistem naizgled ne daje nikakve znake da je bilo problema. Ali ako kernel posegne za podacima koji su izgubljeni zbog greške, može se desiti kernel panic.
http://en.wikipedia.org/wiki/Kernel_oops
 
Kernel oops! (čita se kernel ups!) je termin za greške u kernelu koje nisu fatalne, ali mogu da utiču na pravilan rad. Otuda reč ups! (npr. "Ups... valjda neće niko primetiti"). Najveći broj "kernel upseva" se dešava zbog drajvera i to najviše u kernelima koji koriste non-free module. Mnogi korisnici nisu ni svesni toga, jer nemaju sve distribucije instaliran aplet za monitoring kernel oops-eva. Debian i Fedora su dve distribucije koje podrazumevano imaju uključen applet za obaveštenje o kernel upsevima. Kada se dese, sistem naizgled ne daje nikakve znake da je bilo problema. Ali ako kernel posegne za podacima koji su izgubljeni zbog greške, može se desiti kernel panic.
http://en.wikipedia.org/wiki/Kernel_oops
 
Kernel Panic - je događaj koji je posledica velike greške u radu unix-like operativnog sistema. Može se opisati kao pandan Windows-ovom BSoD-u u Linux-u, ali je termin stariji i od Windowsa i od Linux-a. Kernel panic može biti prouzrokovan otkazivanjem hardvera ili greškom u programiranju kernela. Prosečan korisnik linux-a vrlo retko (da ne kažem nikada) viđa kernel panic iz čista mira, pri normalnom radu računara.
http://en.wikipedia.org/wiki/Kernel_panic
 
shared library ili deljena biblioteka , to je deo koji se učitava kada se pokrene neki program

ima ekstenziju nesto.so.1 ekvivalentno je otprilike sa nesto.dll

nalaze se u /usr/lib (puno njih)

komandom
Kod:
ldd pun_put_do_programa
prikaže se na koje deljene biblioteke je linkovan neki program
(u datom trenutku , jer u zavisnosti od načina kompilacije po raznim distroima je drugačije linkovan - to je neka vrsta binarne raznovrsnosti koja predstavlja bilivit or not samozaštitnu funkciju, donekle)
*način pozivanja ldd potencijalno predstavlja sigurnosni propust


Kernel Modul je deo kernela koji se učitava po potrebi i proširuje mogućnosti istog. Bez modula, na svakoj mašini bi morao da bude učitan ceo kernel, što bi uvećalo zahtevnost operativnog sistema i zahtevalo rekompajliranje kernela i restart pri svakom dodavanju novih drajvera ili drugih funkcija. Umesto toga, kernel module je moguce ucitati bez restartovanja računara. Pri instalaciji operativnog sistema, kernel učita sve dostupne module, a kasnije kada uredno prepozna hardver, samo one koji su potrebni za rad računara.
http://en.wikipedia.org/wiki/Loadable_kernel_module
Kernel Modul obično ima ekstenziju .ko na modernim kernelima u poslednjih 5-6 god.
ekvivalent je .sys drajver na windowsu međutim binarni drajveri izričito nisu izmenljivi od jedne distribucije ka drugoj
što predstavlja samo-zaštitnu funkciju

preporučeni način dodavanja drajvera je iz sourca (mada
ne mora uvek da budu takvi dodatni drajveri uvek funkcionalni a i ponekad dovode do problema)
 
Poslednja izmena:

Back
Top