petak, 19 aprila, 2024
Oslobađanje

U potrazi za idealnom distribucijom: Početak

Autor: Dejan Maglov

Ovaj serijal, koji smo započeli u prošlom broju časopisa, zamišljen je kao serijal koji kroz naša iskustva pomaže FLOSS početnicima da pronađu idealnu distribuciju za sebe. Zbog velike disperzije FLOSS operativnih sistema, pitanje svih pitanja za početnike jeste „Koja je idealna distribucija za mene”. Idealno ne postoji. Ono što je za jednu osobu idealno nije idealno za nekog drugog. Prema tome, ova naša potraga za idealnim je u stvari „priča koja se nikad ne završava” (NeverEnding Story).

Ako ste početnik u FLOSS-u ili vas je samo naš časopis „zagolicao” i zainteresovao za FLOSS, možda vam sad i nije baš najjasnije šta znači tražiti idealnu distribuciju. Kao prvo, moramo razjasniti šta je „distribucija” u ovom kontekstu. Za početak pretpostavimo da ste se zainteresovali za slobodni softver. Kao prva „raskrsnica” stoji vam odabir FLOSS operativnog sistema. U FLOSS ponudi vam je Linux, BSD i nekoliko mnogo manjih projekata. Srazmera popularnosti, među običnim korisnicima, između Linux-a i BSD-a je otprilike kao i između Windows-a i Linux-a. Među običnim korisnicima Linux je mnogo popularniji od BSD-a, pa pretpostavimo da ste se opredelili za neku varijantu Linux-a.

Kada kažemo Linux, to znači da koristimo neki operativni sistem čiji kernel je Linux. Kernel je „srce” operativnog sistema. Uprošteno, on predstavlja vezu između korisnika i hardvera. Ako ste čitali naš dvadeset i treći broj i članak „Linux unatraške”, mogli ste da vidite da je i sam operativni sistem složeniji i da je kernel samo jedan njegov deo. Linux kernel jeste najvažniji deo operativnog sistema, ali bez aplikacija, servera i menadžera, operativni sistem ne bi postojao kao celina koja obavlja određeni posao za korisnika. FLOSS čistunci, stoga, ovaj operativni sistem zovu GNU/Linux, gde GNU predstavlja slobodne aplikacije, menadžere i servere, a Linux-u ostaje zasluga samo za kernel (srce sistema). U nastavku teksta ispoštovaćemo ovu konvenciju kod imenovanja, pa ćemo kompletan operativni sistem zvati GNU/Linux, a ako mislimo samo na kernel zvaćemo ga prosto Linux.

Spajanjem različitog slobodnog softvera sa Linux kernelom može se dobiti ogroman broj kombinacija. Ako tome dodamo različitu „šminku” i podešavanja, broj kombinacija je neograničen. Svako od nas, ako ima dovoljno znanja, može sam da napravi svoju kombinaciju Linux-a, slobodnog softvera, „šminke”, podešavanja i napravi svoj GNU/Linux. Ako svoj sopstveni GNU/Linux ponudite i drugima na korišćenje, to će se zvati vašom Linux distribucijom jer dalje distribuirate (delite) Linux kernel. Zbog toga se varijante GNU/Linux-a zovu distribucijama Linux-a po njegovom najvažnijem delu – kernelu.

Ogromna većina nas, ne samo početnika već i prilično iskusnih korisnika GNU/Linux-a, nema dovoljno znanja da sastavi idealnu distribuciju za sebe iz sastavnih delova, zato koristimo usluge programera koji su to već uradili za nas i ponudili nam svoje proizvode. Ti programeri su iskombinovali idealnu distribuciju za sebe, ali su i nadogradili još neke stvari kako bi zadovoljili i neke šire ukuse. To što je idealno za njih možda nije idealno i za nas. Svaka distribucija je specifična na svoj način i ima akcenat na onom što je bilo bitnije programeru koji ju je kombinovao. Na nama je sad da u moru već gotovih distribucija pronađemo onu koja najbolje radi na našem hardveru, koja ima naglasak na funkcije koje su nama bitne, dodamo šminku i podešavanja po svom ukusu. Sad je, valjda, malo jasnije zašto se svi u GNU/Linux svetu pretvaramo u istraživače u poteri za idealnom distribucijom.

Potraga za idealnom distribucijom po kernelu

Svi GNU/Linux-i imaju „jednak” Linux kernel koji se razvija kontrolisano pod nadzorom njegovog tvorca Linusa Torvaldsa. Kernel nije izmišljotina GNU/Linux-a: poseduju ga i svi ostali operativni sistemi (Windows, MacOS, BSD).

Razlika između Windows i Linux kernela je u transparentnosti tog dela operativnog sistema i u odvojenost Windows kernela od upravljačkog softvera za hardver (drivers-a). Za razliku od Windows-a, Linux ima ugrađene upravljačke programe za većinu poznatog hardvera.

Kod instalacije OS Windows-a, korisnik prvo što mora da odradi jeste da instalira sve pripadajuće pokretačke programe da bi hardver proradio. Kod GNU/Linux-a, ako je sve prošlo kako treba (odabran je odgovarajući Linux kernel), sav standardni hardver treba da radi odmah po instalaciji sistema. Neki specifični hardveri nude dodatne pokretačke programe za Linux, ako je to proizvođač predvideo. Osim toga, korisniku je dato da bira da li će da koristi slobodne pokretačke programe za grafičku karticu ili vlasničke pokretačke programe koje nude proizvođači grafičkih kartica (Nvidia, AMD-Radeon).

Na početku ovog poglavlja, stavili smo pod navodnike reč „jednak”. U principu Linux kernel ima jednak princip rada ali, uglavnom zbog različitih upravljačkih programa, postoje više verzija Linux kernela u opticaju koji se redovno održavaju. U trenutku pisanja ovog članka, najstariji Linux kernel koji se redovno održava je sa oznakom 2.6, a najnoviji stabilni je 3.16. Pored njih sa produženim održavanjem, od strane kernel.org-a, u opticaju su i verzije 3.2, 3.4, 3.10, 3.12, 3.14. Osim ovih verzija koje održava kernel.org i same veće distribucije za svoje potrebe održavaju neku međuverziju kernela, kao na primer kernel 3.13 koji će biti održavan od strane Canonicala za potrebe Ubuntu 14.04 LTS do 2019. godine.

Od kernela zavisi funkcionalnost operativnog sistema, zato treba voditi računa da se izabere kernel koji odgovara hardveru. Mi nećemo sami komponovati GNU/Linux sistem, već ćemo birati distribuciju iz gomile već ponuđenih. Kernel je, verovatno, prvi i najvažniji kriterijum za odabir odgovarajuće distribucije.

Kako birati? Kod Linux-a ne znači da je najnoviji kernel i najbolji. Hardver se menja, a sa tim menjaju se i neki principi rada tako da najnoviji hardver neće raditi sa starijim kernelima jer ne postoje upravljački programi za njega, ali isto tako i stariji hardver često odbija da bude pokrenut najnovijim kernelom. Pouzdano znamo da stari računar Pentium 2 klase može da pokrene kernel 3.10 i stariji. Noviji kerneli neće raditi na toj staroj mašini.

Problemi oko kernela uglavnom se odnose na ekstremne slučajeve hardvera, kao što su potpuno nov hardver i mnogo stari hardver. Ako posedujete neki od aktuelnih hardvera, što pretpostavlja hardver koji nije „poslednji krik” tehnologije i ne stariji od četiri godine, najverovatnije nećete imati problema sa kernelom. Mada možda, treba izbegavati najnoviji kernel zbog mogućih bagova koji su se „provukli” i koji će tek biti uočeni i otklonjeni ali isto tako i najstariji kernel koji se održava jer je on baš namenjen za zastareli hardver.

Resursi hardvera kao kriterijumi za odabir idealne distribucije

Od kernela zavisi funkcionalnost operativnog sistema. Sama funkcionalnost ne podrazumeva i ugodan rad. Predugo čekanje na odziv sistema na postavljeni zahtev korisnika može da bude iritirajuće. Na „živahnost”, odnosno brzi odziv sistema, utiču hardverski resursi. Najvažniji hardverski resursi na koje treba obratiti pažnju, jesu količina RAM memorije, brzina procesora, broj jezgara procesora, veličina hard diska, brzina hard diska, kvalitet grafičke kartice i drugi manje uočljivi hardverski resursi za korisnika. Idealno bi bilo imati brz procesor (2.5 GHz i više) sa dva jezfra ili više njih, više hard diskova velikog kapaciteta (preko 250GB) za skladište, SSD (eng. solid-state drive) – hard disk brzog odziva koji je idealan za operativni sistem i aplikacije, dosta brze sistemske memorije (preko 4GB RAM-a), kvalitetnu grafičku karticu sa dobrim grafičkim procesorom i što više sopstvene brze grafičke memorije (preko 1 GB). Običan korisnik računara nema potrebe za tolikom hardverskom snagom. Za udoban svakodnevni kancelarijski rad (rad u office paketu programa, internet pretraživaču, muzičkom i video plejeru) dovoljan je i mnogo slabiji hardver.

Hardverski minimum za malo zahtevnije korisnike koji može da „potera” bilo koju do sada poznatu Linux distribuciju je računar Pentijum 4 klase sa procesorom 2.5GHz sa 2 jezgra, 4 GB RAM-a, hard diskom od 250GB, sa eksternom grafičkom karticom klase Gforce 8 sa 1 GB grafičke memorije. Ovakve specifikacije zadovoljava hardver star 4-5 godina.

I mnogo skromniji hardver može uspešno da radi pod GNU/Linux-om ali zahteva malo racionalizacije i biranja softvera koji nije toliko zahtevan za hardverskim resursima. Jedan od sporednih delova GNU/Linux-a čijim pravilnim izborom može dosta da se uštedi na potrošnji hardverskih resursa je grafičko okruženje.

GNU/Linux operativni sistem može, teoretski, da funkcioniše i potpuno bez grafičkog okruženja. Naravno to podrazumeva i upotrebu aplikacija bez grafičkog okruženja. Pošto se savremeni operativni sistem ne može zamisliti bez grafičkog okruženja i aplikacija (programa) sa grafičkim okruženjem, i GNU/Linux ima grafičko okruženje i to ne jedno nego više njih. Neka grafička okruženja su usmerena ka displejima osetljivima na dodir (Gnome, Unity), neka daju punu grafičku prilagodljivost korisniku uz nešto veću potrošnju hadverskih resursa (KDE, Cinnamon), zatim kompromisna rešenja koji su balansirani odnos grafičke prilagodljivosti i potrošnje resursa (Xfce, Mate), laka grafička okruženja (LXDE. Enlightenment), grafička okruženja koja se zasnivaju samo na menadžerima prozora (Openbox, Fluxbox) i još mnoga druga. Ovo nabrajanje je upravo išlo od zahtevnijih ka manje zahtevnim grafičkim okruženjima. Ako ste isprobali neku GNU/Linux distribuciju i niste zadovoljni brzinom njenog rada, najverovatnije je za to krivac upravo ugrađeno grafičko okruženje. Neka od ovih okruženja troše previše RAM-a, neka suviše opterećuju GPU (grafičku procesorsku jedinicu – grafički procesor na grafičkoj kartici) i/ili CPU (centralnu procesorsku jedinicu – procesor računara). Jedno od rešenja problema sa prezahtevnim grafičkim okruženja je instalacija istog GNU/Linux-a sa manje zahtevnim grafičkim okruženjem. Na primer, umesto Ubuntu-a sa Unity grafičkim okruženjem Xubuntu sa Xfce grafičkim okruženjem. Sam hardver diktira idealno grafičko okruženje za taj sistem. Ako ste korisnik dobrog hardvera koji uspešno može da koristi bilo koje grafičko okruženje, na izbor idealnog okruženja utiču drugi faktori. Napomenuli bismo da grafičko okruženje sa sobom povlači i specifične aplikacije koje su potpuno prilagođene tom grafičkom okruženju. Ponekad su te aplikacije samo sa promenjenim imenom. Primer: upravljač datotekama Nautilus (kao File Explorer u Windows-u) se u Cinnamon-u zove Nemo a u MateCaja. U većini drugih okruženja upravljači datotekama su potpuno drugačije aplikacija, na primer u KDE upravljačn datotekam je Dolphin, u XfceThunar a u LXDEPCManFM. Iako rade svi jednak posao, razlike nisu samo u „šminki”, nego i svaki od upravljača ima neke specifične funkcije. Sve to zbunjuje nove Linux korisnike, pogotovu što moraju da se naviknu na promenjena imena aplikacija, pa sad kad promene i GNU/Linux radno okruženje i dobiju potpuno nova imena aplikacija to bude prilično zbunjujuće, kao da je u pitanju potpuno novi operativni sistem.

Upravljač datotekama je samo jedan od primera različitih aplikacija u različitim radnim okruženjima. Moguće je instalirati aplikacije i iz drugog grafičkog okruženja, ali to povlači dosta zavisnosti originalnog grafičkog okruženja što može da optereti resurse hardvera naročito ako imate malo prostora na hard disku. Osim opterećivanja skladišnog prostora na hard disku, instalacijom zavisnosti vezanih za originalno grafičko okruženje, moguće je povući i neke funkcije koje opterećuju resuse RAM-a i CPU-a što je korisnik u startu hteo da izbegne instaliranjem lakšeg okruženja. Zato treba izbegavati mešanje podrazumevanih aplikacija iz različitih radnih okruženja ako imate problem ograničenih resursa.

Izbor idealne distribucije preko izbora paket menadžera

Do sada smo birali idealnu distribuciju uslovljeni raspoloživim hardverom. Postoji još jedan kriterij po kojem možemo da biramo idealnu distribuciju. To je izbor prema paket menadžeru.

GNU/Linux distribucije i aplikacije se isporučuju korisnicima putem interneta u obliku paketa izvornog koda ili putem paketa već kompajliranog binarnog koda. Za razliku od Windows instalacionih programa, GNU/Linux paketi nisu monolitni paketi koji sadrže sve funkcije tog programa. Vrlo često pojedine funkcije GNU/Linux aplikacija su u posebnim paketima, a i izgled aplikacije je u posebnom paketu. Tako se obezbeđuje da pojedine funkcije mogu da koriste neke druge aplikacije, a i izgled se prilagođava izabranom grafičkom okruženju. Sve to stvara problem za ručnu instalaciju novih programa na GNU/Linux-u.

Zato postoje paket menadžeri, čija je uloga da prepoznaju zahtev korisnika za instalacijom tačno određene aplikacije, pronalazak njegovih paketa u internet riznicama distribucije, prepoznavanje potrebnih međuzavisnosti sa paketima koji nisu direktno vezani za aplikaciju ali su neophodni aplikaciji (npr. izgled aplikacije u grafičkom okruženju – eng. GUI), prepoznavanje koji su od međuzavisnih paketa već instalirani i koje tek treba instalirati, raspakivanje, kompajliranje (ako paketi nisu binarni), instalacija, uklanjanje nepotrebnog softvera i međuzavisnosti koje ne koristi neki drugi instalirani program i na kraju, „apdejt” (eng. update) instaliranog softvera.

Ako od kernela zavisi uopšte funkcionisanje operativnog sistema, od grafičkog okruženja zavisi udobnost rada, onda od paket menadžera zavisi jednostavnost održavanja sistema. Stoga je pravi izbor paket menadžera jedan od bitnih kriterijuma za izbor OS-a.

Danas su napoznatija tri formata GNU/Linux paketa: DEB karakterističan za Debian i njegove derivate, RPM karakterističan za Red Hat i njegove derivate i obični TXZ, TGZ paketi koji mogu biti paketi izvornog koda, ali i paketi predkompajliranog koda. Sa ovim formatima se „bore”: DEB – dpgk i APT, RPM – yum, TXZ – slackpkg, TARpacman. Ovo je samo nekoliko najpoznatijih paket menadžera. Treba naglasiti da nemaju svi ovi menadžeri sve ranije nabrojane funkcije. Neki se dobro „bore” sa međuzavisnostima dok drugi ni ne pokušavaju da ih rešavaju. Zatim, neki od ovih menadžera imaju i svoje aplikacije sa grafičkim interfejsom, kao na primer Synaptic koji je grafička aplikacija za APT ili Pamac – grafička aplikacija za pacman. Ove grafičke aplikacije mnogo pomažu, naročito početnicima da lako nađu, instaliraju i održavaju svoj softver. Iskusniji korisnici će ponekad rado žrtvovati jednostavnost paket menadžera zarad neke povećane sigurnosti, preciznosti i stabilnosti softvera određene distribucije.

Za kraj epizode

Tek smo zagrebali po površini problema kako izabrati idealni GNU/Linux operativni sistem. Pomenuli smo tri najvažnija kriterijuma, a tome bismo mogli dodati i izbor prema načinu instalacije sistema (grafički ili tekst inastaler), pa izbor prema vrsti instalacionog diska (prosti instalacioni disk ili živi disk), pa prema načinu nadogradnje sistema (sistemi sa periodičnim stabilnim verzijama, sistemi sa rolling update-om…) i još mnogo drugih kriterijuma. naša potraga će se nastaviti. Verovatno ćemo u narednim epizodama ovog serijala pomenuti i te druge bitne kriterijume za izbor idealne distribucije.