Linux operativni sistem
Linux je zajednički naziv za celu porodicu operativnih sistema zasnovanih na kernelu koji je originalno napisao Linus Torvalds. Ipak, priča o ovom operativnom sistemu počinje malo ranije.
U stvari, osoba koja je ostala u senci, a koja je isto toliko, ako ne i više zaslužna za nastanak ovog operativnog sistema je Richard Stallman, koji je 1983. osmislio GNU (GNU's Not Unix) projekat, koji je trebao da predstavlja slobodnu verziju Unix operativnog sistema, ili bolje rečeno - slobodan operativni sistem kompatibilan sa Unixom. Dve godine kasnije osniva FSF (Free Software Foundation), organizaciju pod čijim je GNU pokroviteljstvom i danas. Na ovom sistemu je radio godinama sa svojim kolegama, pomoću kojih je napravio veliki broj sistemskih komponenti srednjeg nivoa, međutim dočekali su 90-te godine, bez najvažnijeg dela slagalice - kernela (jezgra).
Kao što znamo, kernel je najniži i najosnovniji deo operativnog sistema. Jezgro koje su originalno zamislili, GNU Hurd je bilo veoma kompleksno i rad na njemu nije daleko odmakao. Međutim, 1991. Linus Torvalds, tada student na Univerzitetu u Helsinkiju, programira upravo deo koji nedostaje - kernel koji naziva Linux i već sledeće godine otvara kod tako da na njemu slobodno mogu raditi i drugi programeri.
Ispostavilo se da Linux kao kernel, sasvim odgovara GNU operativnom sistemu i vrlo brzo nastaju prve verzije operativnog sistema danas poznatog kao Linux. Inače u svetu linuksaša se i danas vode ogorčene polemike da li bi sistem u stvari trebao da se zove GNU/Linux, pošto je Linux samo jedna (doduše najvažnija) komponenta, a mnogo veći deo sistema u stvari pripada GNU projektu, od kojih ćemo navesti samo neke:
- bash - interpreter komandne linije (program koji služi za izvršavanje drugih sistemskih komandi)
- osnovne komande - rad sa fajlovima i direktorijumima, rad sa tekstom i komande namenjene bash-u
- GRUB - program za pokretanje sistema (omogućava izbor između više sistema instaliranih na računaru)
- GCC - sistem kompajlera koji podržava prevođenje više programskih jezika (C, C++, Java, Fortran...)
- rad sa arhivama i kompresijom - tar, gzip i sl.
- rad sa sadržajem fajlova - upoređivanje fajlova, pronalaženje teksta
- kontrola korisnika - kreiranje korisničkih naloga, grupa, rad sa šiframa
To u stvari znači da svaki put kada zadajete komande u terminalu, kreirate ili listate direktorijum, pakujete fajlove i sl. radite sa nečim što je nastalo u okviru GNU projekta.
Inače, Linux kao kernel spada u klasu monolitnih kernela (za razliku od tzv. mikrokernela), koji sve osnovne komponente drži pod "jednim krovom". Najbolja ilustracija je razlika između Windowsa i Linuxa po pitanju drajvera za različite uređaje. Kod Windowsa se drajveri suštinski zasebno instaliraju za svaki deo hardvera, dok se kod Linuxa drajveri nalaze u samom kernelu. Posledica toga je da ako Linux ne prepoznaje neki uređaj, morate čekati da podrška za njega bude uvedena u samom kernelu.
Linux vs Windows
Pitanje koje će neizbežno nameće je, koji operativni sistem je bolji - Linux ili Windows? Koliko je pitanje prosto i konkretno, odgovor nije nimalo jednostavan.
Prva stvar koja nas zanima je hardverska podrška - konkretno, odgovor na pitanje "da li će Linux raditi na mom računaru"? Istina je da je velika količina opreme podržana u Linuxu, ali nemojte se iznenaditi ako najnoviji računar ne radi kako očekujemo. Vrlo je moguće da ćemo morati da sačekamo novu verziju kernela, ili makar update sistema da bi stvari došle na svoje mesto. I tada, čak i kada sve proradi, može se desiti da primetimo sitne probleme u radu (npr. seckanje pri skrolovanju dokumenta, štampač koji posle nekoliko odštampanih stranica počne da izbacuje "đubre" na papiru, web kamera ili čitač kartice ne budu podržani i sl). Što se ovoga tiče, Windows je u prednosti, pošto proizvođači primarno razvijaju drajvere za taj sistem.
Sa druge strane, ako iz nekog razloga želite da koristite stariju verziju Windowsa na novom računaru, može se desiti da upadnete u isti problem. To se dešava ako ni proizvođač ni Microsoft nemaju interesa da omoguće uređaju da funkcioniše u starom Windowsu. Takođe, može da se desi da i sam proizvođač prestane da podržava stari hardver i prestane da pravi drajvere za nove verzije Windowsa. To su situacije kada bi jedno od rešenja bilo prelazak na Linux.
Druga stvar koja nas zanima, je koliko sistem "jede" memorije i troši procesorskog vremena. Generalno, Linux sistemi su bolji po brzini i korišćenju resursa. Windows je ozloglašen po tome što tokom vremena postaje "prepunjen" nepotrebnim softverom i počinje da usporava. Koliko je to krivica Windowsa, a koliko samih korisnika koji nepažljivo instaliraju sve i svašta, teško je utvrditi. Sa druge strane, Linux je odličan izbor ako želite da udahnete novi život svom starom računaru (što naravno zavisi od distribucije i radnog okruženja).
Za korisnike je posebno važno da imaju kome da se obrate ako nešto zaškripi kada koriste operativni sistem. I dok Microsoft obezbeđuje profesionalnu službu koja pruža korisničku podršku, kod Linuxa se najčešće moramo osloniti isključivo na zajednicu korisnika. Ova zajednica je često vrlo agilna i voljna da pomogne, posebno kod popularnijih distribucija, tako da u oba slučaja nećemo dugo čekati na odgovor.
I pored ogromnog napretka koji ostvaruje Linux poslednjih godina, jednostavnost korišćenja je ipak na strani Windowsa, posebno kada se uzmu u obzir i komercijalne aplikacije, koje u većini slučajeva pružaju bolje korisničko iskustvo u odnosu na svoje Linux parnjake. Nemojte misliti da je neki od modernih Linux sistema teško koristiti, ali ipak Microsoft ima više od trideset godina profesionalnog iskustva u kreiranju softverskih proizvoda koje treba približiti potrošačima. Ipak, postoji i loša strana - olakšavanje korišćenja sistema kako bi se približio svim korisnicima, podrazumeva sve dublje sakrivanje naprednih opcija. Tako da, kada se ukaže potreba za nekim specifičnim podešavanjem, postaje jako teško pronaći potrebnu opciju. Ipak, sve u svemu, i dalje važi da korisnik mora više da uči kako bi koristio Linux.
Jako važna stavka može biti to što Linux važi za mnogo bezbedniji i pouzdaniji sistem. Za Windows, zbog popularnosti, postoji ogromna količina malwarea tako da je korišćenje antivirusnog programa obavezno. Sa druge strane, za Linux se skoro i ne prave virusi, pošto je (ako se Linux pravilno koristi) šteta koju nanose minimalna, a i baza korisnika je drugačija i mnogo manja. Ipak, čak i Linux može biti ugrožen - jednostavno, ne postoji savršeno bezbedan sistem. Greške u softveru (čak i onom koji je otvoren i javno dostupan) mogu biti otkrivene tek godinama kasnije. Svaki server (bio to Linux ili Windows) može biti napadnut npr. preko loše napravljenog web sajta.
Windows je u prednosti po pitanju dostupnosti, raznovrsnosti i kvaliteta softvera. Programa za Windows ima puno, i to veoma kvalitetnih - što komercijalnih, što besplatnih. Kod Linuxa situacija nije tako svetla. Iako postoji veliki broj programa, to je za čitav red veličine manji broj nego kod Windowsa. Većina Linux softvera je besplatna. Nešto od toga podržavaju organizacije i fondacije, ali dobar broj je u rukama entuzijasta. Vrlo lako se desi da autor napusti razvoj aplikacije, a onda niko ne nastavi njegov rad. Retko koji softverski proizvod postiže zrelost poput LibreOffice paketa ili GIMP-a. Takođe, korisničko iskustvo vrlo često nije na nivou komercijalnih alata - npr. početnici će lakše započeti rad u Adobe Photoshop-u nego u GIMP-u. Sa druge strane, nekome puno znači što je navedeni softver besplatan.
Windows je takođe poznat i kao dobar operativni sistem za zabavu, dok za Linux postoji relativno mali broj igara. Ova situacija se polako menja dovođenjem Steam platforme na Linux, ali je daleko dan kada ćemo na desktop Linuxu moći da se igramo kao na Windowsu.
Linux korisnici tako pribegavaju pokretanju Windowsa i njegovih aplikacija unutar virtuelne mašine ili koriste program Wine za pokretanje Windows aplikacija direktno pod Linuxom. Ma koliko u teoriji ovo dobro zvučalo, u pitanju su polu-rešenja koja često ne omogućavaju punu funkcionalnost.
Windows i Linux imaju potpuno različite načine instalacije softvera. Kod Windowsa je dovoljno nabaviti (npr. preuzeti sa Interneta) fajl i pokrenuti instalaciju. Kod Linuxa, se obično koriste zvanični repozitorijumi koji predstavljaju čitave biblioteke softvera. Oni su u većini distribucija Linuxa danas "sakriveni" iza posebne aplikacije - softverskog centra, gde korisnici vrlo jednostavno biraju aplikacije koje žele da instaliraju. To najviše podseća na biranje programa sa Google Play-a na našem smartfonu.
Upravo zbog lake instalacije, kod Windowsa možemo i ne znajući da instaliramo viruse i druge neželjene programe. Sa druge strane, početnicima je procedura instalacije Linux programa van softverskog centra jako komplikovana, pa tako zvanični izvori softvera praktično garantuju "čist" softver.
Pored svega rečenog, postoji jedna ogromna razlika - Linux je besplatan, Windows se plaća. Dobro, postoje distribucije koje nisu besplatne, ali najveći broj njih jeste. Iako privatni korisnici često koriste piratski softver, pa ne posmatraju ovo kao veliku stvar, ne zaboravite da i najmanje preduzeće mora imati legalno licenciran softver, u šta najčešće spadaju Windows i Office. Sa Linux sistemima ovde prolazite besplatno. Ako se vaše potrebe svode na kancelarijski softver i korišćenje interneta, sa nekim Linuxom možete efikasno smanjiti troškove.
Naravno, postoji jedna začkoljica. Korišćenje novog i drugačijeg softvera može dovesti do skrivenih troškova manje efikasnosti u radu zbog nesposobnosti da se koristi nepoznat softver, kao i do direktnih troškova obuke zaposlenih.
Tako, ne postoji prost odgovor na pitanje koji sistem je bolji. Morate prvo da sebi da precizno odgovorite na neka pitanja:
- Za šta će se koristiti računar? Internet i komunikaciju, zabavu, multimediju, kancelariju, programiranje, neke specifične poslove?
- U koje svrhe će se koristiti računar - privatne ili poslovne? Da li možete sebi da priuštite potreban softver?
- Da li softver uopšte postoji za taj operativni sistem i da li je upotrebljiv?
- Koliko vremena i truda možete da uložite u učenje korišćenja sistema?
- Da li će sistem uopšte raditi na vašem računaru i da li su podržani svi uređaji koje imate?
Linux distribucije
Danas postoji na desetine Linux (baziranih) operativnih sistema. Pošto su u pitanju otvorene komponente koje se mogu slobodno kombinovati, različite kompanije, neprofitne organizacije ili čak pojedinci mogu objaviti svoju verziju Linuxa, odnosno napraviti tzv. Linux distribuciju.
Iza svake distribucije stoji neka ideja, odnosno potreba koju ta distribucija zadovoljava. Na primer, neki Linuxi se prave da budu brzi, neki da budu što je moguće štedljiviji sa resursima, neki da budu prilagođeni početnicima, neki da budu fleksibilni, neki su namenjeni ulozi servera, itd. U nastavku teksta ćemo navesti neke od najpopularnijih.
Osim po "ideji", postoji još nekoliko faktora po kojima klasifikujemo distribucije. Model objavljivanja predstavlja način na koji se objavljuju nove verzije:
- fixed - sve komponente se detaljno testiraju pre izdavanja nove verzije
- rolling - dobijamo nove verzije delova sistema čim postanu dostupne - odlično za one koji žele uvek sve najnovije ali postoji opasnost od grešaka i sigurnosnih propusta
Osim toga, bitan je i period podrške, odnosno koliko dugo će biti objavljivana unapređenja. Tu razlikujemo LTS (Long Term Support) verzije koje su podržane nekoliko (obično 5) godina i obične verzije, čiji period podrške ističe posle godinu ili godinu i po dana.
Još jednu razliku može predstavljati radno okruženje (Desktop Environment) koje se isporučuje uz sistem, mada skoro svaka jača distribucija ima varijante sa različitim okruženjima. Da navedemo samo neka najpoznatija:
- GNOME - osnovno i najpoznatije grafičko okruženje za Linux sisteme (veliki broj drugih okruženja razvija se na osnovu GNOME-a)
- Plasma (nekada poznato kao KDE) - drugo veoma značajno okruženje, dostupno za veliki broj distribucija, a za neke je osnovno - KDE Neon, Kubuntu, KaOS, Mageia...
- Unity - okruženje koje ekskluzivno koristi Ubuntu
- Cinnamon - izvorno razvijen za Linux Mint na osnovu GNOME-a, sada se može naći i u drugim distribucijama
- Mate - takođe razvijen za Linux Mint, sa malo modernijim dizajnom, popularno skoro kao i Cinnamon
- Xfce - memorijski efikasno, nezahtevno i brzo okruženje
Zahvaljujući radnim okruženjima, dva potpuno različita Linuxa na prvi pogled mogu isto izgledati, kao što i dve varijante jedne iste distribucije mogu izgledati potpuno različito.
Konačno, različiti Linux sistemi dolaze sa različitim izborom instaliranog softvera. Tako možemo imati sisteme koji instaliraju puki minimum dok ostalo moramo sami dodati preko softverskog centra ili repozitorijuma, kao i sisteme koji instaliraju pun opseg korisničkog softvera.
Debian i Ubuntu
Debian (debian.org) je verovatno najuticajnija Linux distribucija, ako je suditi prema broju distribucija koje su bazirane na njemu. Prisutan je još od 1993. godine i danas je jedna od najpopularnijih i najstabilnijih distribucija. Debian je prilično konzervativna distribucija, koja se ne unapređuje često, a sve to zarad stabilnosti. Do pre par godina, važio je za distribuciju koja nije namenjena početnicima.
Na njegovim osnovama su nastale mnoge distribucije koje su obeležile svet Linuxa. Knoppix (knoppix.org), koji je verovatno bio prva tzv. live distribucija - Linux koji se pokreće direktno sa CD-a ili USB-a i ne mora se instalirati na računaru. Kali Linux (kali.org) - veoma poznata "hakerska" distribucija, namenjena testiranju bezbednosti sistema. Tu je i Tails (tails.boum.org) - Linux posvećen očuvanju privatnosti i anonimnosti Internet korisnika.
Ubuntu (ubuntu.com) je proizvod kompanije Canonical koju je osnovao južnoafrički biznismen Mark Shuttleworth, koji je ranije bio uključen u razvoj Debian distribucije. Iako nije prvi na "top listi" popularnosti, Ubuntu je, od svog pojavljivanja 2004. godine, izvršio ogroman uticaj na približavanje Linuxa običnim korisnicima i uvek je u vrhu, kao jedna od najpoznatijih distribucija.
Inače Ubuntu je verovatno najpoznatija distribucija bazirana na Debianu. U vreme kada je Ubuntu nastao, Debian nije bio lak za početnike i dosta se dugo čekalo na svaku novu stabilnu verziju. Ubuntu je doneo jednostavnu grafičku instalaciju, mogućnost pokretanja direktno sa CD-a, pristojan korisnički interfejs, lakoću instalacije novih programa, bio je "napakovan" novijim verzijama softvera i što je najvažnije - uveo je šestomesečni ciklus objavljivanja novih verzija, čega se i danas drži.
Nove verzije Ubuntua izlaze svake godine u aprilu i oktobru. Upravo su im takve i oznake: verzija koja izlazi u aprilu 2017 nosi oznaku 17.04, a verzija iz oktobra, 17.10. Inače LTS verzija (koja je podržana tokom 5 godina) izlazi u aprilu, svake druge godine. Ubuntu izlazi u velikom broju varijanti (tzv. "flavors"), koje se razlikuju najpre po radnom okruženju: Kubuntu (KDE/Plasma radno okruženje - kubuntu.org), Xubuntu (Xfce radno okruženje - xubuntu.org), Lubuntu (LXDE okruženje, veoma štedljiv, namenjen slabijim računarima - lubuntu.net), itd.
Za Ubuntu je razvijeno specifično radno okruženje - Unity. Neki korisnici su ga voleli, neki ne, ali zahvaljujući njemu Ubuntu je bio prepoznatljiv u moru drugih distribucija. Ipak, od verzije 18.04 Ubuntu počinje da se isporučuje sa GNOME okruženjem.
Na osnovu Ubuntua je razvijen veliki broj distribucija, a neke od njih spadaju u najpopularnije i najbolje ocenjivane distribucije poslednjih godina. Verovatno najpoznatija je Linux Mint (linuxmint.com) koji je još više prilagođen početnicima (posebno onima koji dolaze iz Windows okruženja) i ima ugrađene multimedijske kodeke. Moguće je preuzeti varijante sa više korisničkih okruženja (Cinnamon, Mate, KDE i Xfce), od kojih je Cinnamon razvijen upravo za Linux Mint.
Zorin OS (zorinos.com) je Ubuntu-bazirana distribucija, napravljena tako da što više podseća na Windows. Tu je i Elementary OS (elementary.io) koji donosi sopstveno korisničko okruženje Pantheon i nekoliko aplikacija razvijenih isključivo za ovu distribuciju. KDE Neon (neon.kde.org) je distribucija koju razvija organizacija KDE, sa "čistim" Plasma radnim okruženjem. BackBox (backbox.org) je hakerska distribucija bazirana na Ubuntuu, namenjena testiranju sigurnosti.
Red Hat
Jedna od najpoznatijih distribucija je svakako Red Hat (redhat.com), nastala 1994. godine. Ova distribucija je pre svega namenjena serverima. Inače, Red Hat je poznat kao distribucija koja se plaća (i to prilično skupo od kada je 2002. pokrenuto RHEL - Red Hat Enterprise Linux izdanje) uglavnom zato što obezbeđuje profesionalnu podršku za korisnike. Inače Red Hat spada u konzervativne distribucije koja ne juri najnovije verzije softvera i radije se fokusira na stabilnost.
Korisnici koji bi želeli najnoviji softver uvek mogu da isprobaju Fedora (getfedora.org) distribuciju, koju kreira zajednica programera, a koju podržava i sama Red Hat kompanija. Fedora ima mnogo kraći ciklus objavljivanja novih verzija, i praktično služi kao test platforma za nove mogućnosti Red Hat Linuxa. Za korisnike kojima je Fedora suviše komplikovana, tu je Korora (kororproject.org), distirbucija bazirana na Fedori, ali prilagođena početnicima.
Obavezno treba pomenuti i CentOS (centos.org), distribuciju koju kreira zajednica na osnovu Red Hat Linuxa i koja suštinski predstavlja besplatni Red Hat. Kao takav, CentOS je postao veoma popularna serverska platforma.
Dalje poreklo iz Red Hata, vuće i poznata francuska Mageia (mageia.org) distribucija (nastala na osnovama sada ukinutih Mandrake i Mandriva Linuxa).
Slackware i SUSE
Slackware (slackware.com) je nastao 1993. godine i važi za najstariju Linux distribuciju, koja je i dalje aktivna. Ciljevi su mu da svojim korisnicima pruži UNIX-oliko iskustvo. Inače sama distribucija je poslužila kao osnova za veliki broj drugih, od kojih je verovatno najpoznatiiji SUSE Linux Enterprise Desktop (suse.com) (profesionalna distribucija u vlasništvu Novell-a) i OpenSUSE (opensuse.org) - veoma popularna besplatna distribucija koju razvija zajednica. Odnos SUSE i OpenSUSE linuxa je sličan kao kod Red Hat i Fedora distribucija.
Neke specifične distribucije Linuxa
Arch (archlinux.org) je prilično popularna nezavisna distribucija nastala 2002. godine. Važi za minimalistički Linux namenjen iskusnim korisnicima, pošto je krajnje uprošćen i vrlo fleksibilan. Njegovim korisnicima nije mrsko da često i sami kompjaliraju programe. Za uzvrat, Arch uvek donosi najnovije verzije softvera. Naravno, postoje i Arch bazirane distribucije, poput Manjaro (manjaro.org) i Antergos (antergos.com) Linuxa koje su daleko "ljubaznije" prema korisnicima, pa ih tako mogu koristiti čak i početnici. Manjaro je za nijansu popularniji, s obzirom da nudi obimniju softversku biblioteku. Tu je i BlackArch (blackarch.org), namenjen hakerima i napakovan alatima za testiranje sigurnosti.
Gentoo (gentoo.org) je distribucija nastala 2002. godine kao naslednik Enoch linuxa koji datira od 1999. Ideja koja stoji iza ovog linuxa je da se programi za njega ne distribuiraju kao već kompajliran softver, već kao programski kod, koji se kompajlira pri instalaciji sa idejom da bude što je moguće više optimizovan za konkretan računar. Na osnovu Gentoo Linuxa je nastao i poznati Google-ov Chrome OS.
Puppy Linux (puppylinux.org) je nezavisna distribucija napravljena da bude vrhunski štedljiva sa računarskim resursima.
Mnogi korisnici ne znaju da je i Android takođe jedna od Linux distribucija, namenjena smartfonima i tabletima. Zahvaljujući Androidu kao i mnogobrojnim specijalizovanim distribucijama koje srećemo u različitim "pametnim" uređajima, može se reći da je Linux konačno prevazišao Windows po broju korisnika.