Linux

Izvor: HrOpenWiki
Skoči na: orijentacija, traži

Linux je opći pojam koje je uglavnom vezan za unixolike računalne operativne sustave koji koriste Linux jezgru. Linux je jedan od najistaknutijih primjera slobodnog softvera i otvorenog koda. Sve leži na otvorenom kodu koji se može slobodno koristiti, modificirati i davati ga svakome.

Linux je pretežno poznat po upotrebi na serverima, no također ga se instalira na široku paletu računalnog hardvera. Od digitalnih uređaja preko mobilnih telefona, pa sve do superračunala. Popularnost na stolnim računalima i prijenosnicima mu sve više raste zahvaljujući sve prilagođenijim distribucijama ovog operativnog sustava.

Ime "Linux" dolazi od Linux jezgre (eng. kernel), koju je Linus Torvalds počeo pisati 1991. Sistemski alati i biblioteke uglavnom dolaze od GNU operativnog sistema, kojeg 1983. objavljuje Richard Stallman, zbog čega se ponekad koristi naziv GNU/Linux.

Povijest

Richard Stallman, lijevo, začetnik GNU projekta i Linus Torvalds, desno, kreator Linux jezgre

Unix operativni sustav je zamišljen i proveden 1960-ih i prvi puta izdan u 1970. Njegova široka dostupnost i prenosivost omogućila mu je da bude rasprostranjen, kopiran i mijenjan u korist akademskim institucijama i poslovnim subjektima, te je svojim dizajnom utjecao na autore drugih sustava.

GNU projekt počinje 1984. od strane Richarda Stallmana, sa ciljem potpuno Unix-kompatibilnog operativnog sustava sačinjenog usključivo od slobodnog softvera. Iduće godine Stallman osniva Free Software Foundation i piše GNU General Public Licencu (GNU GPL) 1989. Ranih 1990-ih mnogo je programa potrebnih za operativni sustav (kao što su biblioteke, kompajleri, tekstualni editori, Unix školjku (eng. shell) i sustav prozora) bilo završeno, ali elementi "niskog nivoa" kao što su pokretački programi za uređaje (eng. drivers), daemoni i jezgra nisu bili dovršeni.

MINIX

MINIX, Unix-oidni sustav namjenjen akademskoj zajednici, izdan od Andrew S. Tanenbauma 1987. Dok je izvorni kod sustava bio dostupan, modifikacije i daljnja distribucija bile su zabranjene (što danas više nije slučaj). Nadalje, MINIX-ov 16-bitni dizajn nije bio dobro prenesen u 32-bitni koncept jeftinog i popularnog PC-ja zasnovanog na Intel 386 arhitekturi.

U 1991. prilikom sudjelovanja na Sveučilištu u Helsinkiju, Torvalds je počeo raditi na ne-komercijalnoj zamjeni za MINIX koji bi eventualno mogao postati Linux jezgra. U 1992. Tanenbaum je postavio članak na Usenet tvrdeći da je Linux zastario. On je u članku kritizirao operativni sustav kao monolitni u dizajnu i kako je usko vezan na x86 arhitekturu, te time neprenosiv, te mu je to pripisao kao "temeljnu pogrešku." Tanenbaum je predložio da oni koji žele izgraditi moderan operativni sustav trebali bi ga zasnivati na temelju microkernel modela. Iz ovakvog načina razmišljanja razvila se poznata debata o microkernelskim i monolitnim oblikovanjima jezgara operativnih sustava.

U prvo vrijeme, Linux je bio ovisan o MINIX-ovim korisnicima. Činilo se da bi bilo korisno za izgradnju operativnog sustava upotrijebiti kod od GNU sustava koji je slobodno dostupan. Kod licenciran pod GNU GPL licencom može se koristiti u drugim projektima, tako dugo dok su i oni izdani pod istom ili kompatibilnom licencom. U cilju da napravi Linux jezgru kompatibilnu sa ostalim komponentama operativnog sustava iz GNU projekta, Torvalds prelazi sa svoje originalne licence (koja zabranjuje komercijalnu upotrebu) na GNU GPL licencu. Linux i GNU programeri integrirali su GNU komponente sa Linuxom i dobili potpuno funkcionalni i slobodni operativni sustav.

Komercijalno i opće prihvaćanje Linuxa

Danas se Linux koristi u brojne svrhe. Od digitalnih uređaja do superračunala, te je osigurao svoje mjesto među serverskim instalacijama sa popularnim LAMP aplikacijskim paketom. Korištenje Linuxa na kućnim i poslovnim računalima je u stalnom porastu, te danas drži značajan udio na tržištu računala.

Linux je također postao popularan u novom segmentu notebook računala, na strojevima kao što su ASUS Eee PC i Acer Aspire One koji se prodaju sa predinstaliranim i prilagođenim Linux distribucijama.

Trenutni razvoj

Torvalds nastavlja usmjeravati razvoj kernela. Stallman vodi Free Software Foundation, što zauzvrat osigurava GNU komponente. Konačno, pojedinci i korporacije razvijaju vlastite ne-GNU komponente. Te komponente obuhvaćaju veliki dio cjeline, te mogu uključivati kernel module, korisničke aplikacije i biblioteke. Linux distributeri i zajednica sklapa i distribuira kernel, GNU i ne-GNU komponente, te dodatne programe za upravljanje paketima i izdaje Linux operativne sustave u obliku Linux distribucija.

Zanimljivosti iz povijesti Linuxa

  • Na ovom linku imate sadržaj Linusovog pisma kojeg je on poslao u MINIX newsgroop. U njemu objašnjava svoj rad.
  • Linus Torvalds je svoj novi OS htio nazvati Freax (free + x koji je tada bio u nazivu većine Unix baziranih sustava)

Međutim, njegov kolega je na serveru helsinškog sveučilišta projekt spremio pod nazivom Linux (Skraćeno od Linuxov Minix). I tako je nastalo ime.

  • Navodno, Linux ne bi nikada nastao da zime u Helsinkiju nisu jako hladne. Naime, Linus je na kampusu sveučilišta imao računalo s instaliranim Minixom. Da ne mora izlaziti iz svog toplog stana, počeo je raditi na Linuxu.
  • Postoje mnoge priče o nastanku Tuxa. Jedna je da je Linusa jednom prilikom ugrizao pingvin. Na sreću nije istinita, ali i dalje se rado prepričava i širi.

U stvari, ovo je trebao biti Linux logo:

Linux logo

Rezultat je glasovanja i dobio je većinu glasova. Ali, ovaj puta se poštovalo volju Linusa Torvaldsa. Logo sam po sebi nije bio loš, ali nije bio zahvalan za buduće preinake.

Tux

Pingvin je bio od ranije u igri i kada je netko rekao da Linus voli pingvine, jednostavno je ostao kao logo.

Pingvin je trebao biti slatki, mazni i zadovoljan. Kada su pitali Linusa što znači zadovoljan on je rekao:"Kao da se upravo poseksao, ili najeo haringi". Poslije se ispravio:"Zamislite lagano pretilog pingvina koji sjedi nakon što se prejeo i upravo podrignuo. Sjedi tako s predivnim smiješkom -- Svijet je dobro mjesto kad si upravo pojeo nekoliko galona sirove ribe i baš osjećaš da bi se još jednom podrignuo".

Još jedna važna stvar. Tuxa se moglo neograničeno modificirati.

Homertux
   .-.
   /v\    L   I   N   U   X
  // \\  >Phear the Penguin<
 /(   )\
  ^^-^^
  • Ova je lisica ušla u najuži izbor i malo je nedostajalo da postane službena maskota:
Linux Fox
  • Evo još nekih ideja za Linux logo. Ove potiču iz 1995. godine. Znači, godinu dana prije Tuxa.

Linux-beer1.gif Linux-beer2.gif Linux-elf.gif Linux-beer-elf.jpg Linux95.gif

  • Ime Tux je proizvod interne šale. Tux znači Torvaldsov Unix. Isto tako je skraćenica od "tuxedo", svečano odijelo koje pingvini "nose"
  • Jedan od prijedloga za ime pingvina bio je Linnie.

Dizajn (oblikovanje)

Linux je modularan, Unixu sličan operativni sustav, koji potječe od osnovnih načela dizajna iz Unixa tijekom 1970-tih i 1980tih godina. Linux koristi monolitni Linux kernel, koji obrađuje procesne radnje, umrežavanje, upravljanje perifernim uređajima i datotečnim sustavima. Upravljački programi su integrirani izravno u kernel.

Većinu Linux-ovih funkcionalnosti višeg stupnja osiguravaju odvojeni projekti koji surađuju s kernelom. GNU korisnička okolina (koja nije dio samog kernela) je važan dio većine Linux-ovih sustava, pružajući shell i Unix alate koji vode brigu o mnogim osnovnim zadaćama operativnog sustava. Na vrhu ovih alata je grafičko korisničko sučelje pokretano od strane X Windows sistema.

Korisničko sučelje

Linuxom se može upravljati na jedan ili više načina. Putem tekstualno baziranog naredbenog retka (CLI - command line interface), grafičkog korisničkog sučelja (GUI - graphical user interface) (uobičajenog za stolna računala) ili putem upravljanja od uređaja samih (uobičajeno za digitalne uređaje)

KDE, Gnome i Xfce su najpopularnija korisnička sučelja na stolnim računalima iako postoji i niz drugih.Ona rade koristeći X Window sistem kao bazu, a koji osigurava mrežnu okolinu, omogućavajući time da se grafički programi pokretani na jednom stroju mogu prikazivati i kontrolirati od strane drugih.

Ostali GUI-i uključuju i X Window upravljačke programe poput FVWMa, Enlightenmenta i Window Makera. Ti upravljački programi pružaju mogućnosti kontrole položaja i prikaza pojedinačnih aplikacijskih prozora i interakciju s X Window sistemom.

Linux sustav uobičajeno pruža CLI preko ljuske (shella), koja predstavlja tradicionalni način interakcije s Unix sustavima. Linux distribucije specijalno namjenje za poslužitelje mogu koristiti CLI kao jedino sučelje. "Bezglavi sustav", npr. radi bez monitora i tastature, a kontrolira ga se putem naredbenog retka koristeći mrežne protokole kao što su SSH i telnet.

Većina nisko razinskih Linux komponenti, uključujući GNU korisničku okolinu, koristi isključivo CLI. CLI je posebno prilagođen za izvršavanje automatiziranih zadataka koji se periodički ponavljaju ili im je početak njihovog izvršavanja posebno zadan i nudi vrlo jednostavni sustav interne komunikacije. Grafički program za oponašanje terminala često se koristi za pristup naredbenom retku direktno iz grafičkog sučelja

Razvoj

Povijest Unix-oidnih operativnih sustava pokazuje Linuxove korijene. Imajte na umu da usprkos sličnim arhitekturama i konceptima koji se dijele kao dio POSIX standarda, Linux ne dijeli niti jedan ne-slobodni dio izvornog koda od originalnog UNIXa ili MINIXa.

Osnovna razlika između Linuxa i ostalih popularnih operativnih sustava je u tome što su Linuxova jezgra i ostale komponente napravljene na bazi slobodnog softvera i otvorenog koda. Linux nije jedini operativni sustav građen po tim načelima, ali je najpoznatiji i najrasprostranjeniji. Neke licence slobodnog softvera i otvorenog koda bazirane su na principima slobodnog kopiranja (eng. copyleft), vrsti reprociteta: Bilo koji rad proistekao iz dijela copylefta mora i sam po sebi biti copyleft. Najuobičajenija slobodno softverska licenca - GNU GPL je oblik copylefta i korištena je za Linux jezgru i veliki broj komponenata iz GNU projekta.

Kao operativni sustav od kojeg se ne očekuje da će pobijediti vodeće operativne sustave, Linux se ne može osloniti na monopolističke prednosti. U tom smislu Linux se trudi biti što prikladniji za korisnike, nudeći interoperabilnost sa drugim operativnim sustavima i računalnim standardima kao što su POSIX, SUS, ISO i ANSI.

Projekti slobodnog softvera, iako razvijani unutar skupnog okružja često se proizvedu neovisno od drugih. Međutim, kako softverske licence eksplicitno dozvoljavaju redistribuciju, to stvara bazu za veliku lepezu projekata koji obuhvaćaju i grupiraju nezavisno razvijane softverske proizvode, te ih daju na korištenje u obliku Linux distribucija

Linux distribucija, poznata i pod terminom "distra" je projekt kojim upravlja udaljeni skup Linux baziranog softvera olakšavajući instalaciju Linux operativnog sustava. Distribucije su održavane od strane pojedinaca, timova, volonterskih organizacija i tvrtki. Uključuju sistemski i aplikativni softver u obliku paketa (eng. packages), te specifični softver za izvršavanje prvotne instalacije i konfiguracije kao i za kasnije održavanje i instalaciju pojedinih paketa. Distribucija se brine za uobičajenu konfiguraciju i instalaciju Linux operativnog sustava, sigurnosti sistema i ostalu integraciju različitih programskih paketa u jedinstvenu cjelinu.

Zajednica

Linux je u velikoj mjeri upravljan od strane korisnika i njegove zajednice razvojnih timova. Neki izdavači razvijaju i financiraju svoje distribucije na osnovi volonterizma, kao npr. Debian. Drugi održavaju slobodne verzije njihovih komercijalnih distribucija, kao što to radi Red Hat sa Fedorom.

U mnogim gradovima i regijama, lokalne udruge poznate kao grupe Linux korisnika žele promovirati Linux i proširenje slobodnog softvera. Oni drže sastanke i demonstracije, radionice, tehničku podršku i tečajeve instalacija operativnog sustava za nove korisnike. Tu su i mnoge internetske zajednice koje nastoje pružiti podršku Linux korisnicima i razvijateljima (npr. ovaj HrOpenWiki kojeg sada čitate ima takvu namjenu). Većina distribucija i Open Source projekata ima IRC chatrooms ili News grupe. Web forumi su opet jedno od sredstava za podršku.

Iako je Linux općenito dostupan besplatno, nekoliko velikih korporacija ima uspostavljene poslovne modele koji uključuju prodaju i podršku, pridonoseći tako Linuxu i slobodnom softveru. Postoji i nekoliko tvrtki koje su izgradile svoje cjelokupno poslovanje oko Linuxa, osobito Red Hat.

Licence slobodnog softvera na kojima leži Linux eksplicitno privlače i ohrabruju komercijalizaciju. Jedan od osnovnih poslovnih modela komercijalnih davatelja usluga jest davanje podrške, posebno za poslovne korisnike. Brojne kompanije izdaju posebne poslovne verzije svojih distribucija, što uključuje podršku za vlasničke pakete i alate za administriranje većeg broja instalacija ili pojednostavljenje administrativnih zadaća. Drugi oblik poslovnog modela jest davanje softvera u korist prodaje hardvera.

Programiranje u Linuxu

Većina Linux distribucija ima podršku za desetke programskih jezika. Najčešća zbirka alata za izgradnju Linux aplikacija i programa operativnog sustava nalazi se unutar GNU toolchaina i uključuje GNU Compiler Collection (GCC) i GNU build system. Među ostalima, GCC nudi kompajlere za ADA-u, C, C++, Java i Fortran. Sam Linux kernel je pisan i kompajliran sa GCC. Vlasnički kompajleri za Linux uključuju Intel C++ Compiler i IBM XL C/C++ Compiler.

Većina distribucija također uključuje podršku za Perl, Ruby, Python i druge dinamičke jezike. Primjeri jezika koji su manje uobičajeni, ali još uvijek dobro podržani su C# preko Mono projekta, sponzoriran od strane Novella i Scheme. Mnoge Java Virtual Machines i razvojni kompleti rade na Linuxu, uključujući originalnu Sun Microsystems JVM (Hotspot) i IBM-ovu J2SE RE, kao i mnoge projekte otvorenog koda poput Kaffe.

Dva glavna okvira za razvoj grafičkih programa su GNOME i KDE. Ovi projekti se temelje na GTK+ i QT widget toolkits. Oba podržavaju široku paletu jezika. Postoji niz dostupnih razvojnih okruženja uključujući Anjuta, Code:: Blocks, Eclipse, KDevelop, Lazar, MonoDevelop, NetBeans, i Omnis Studio dok editori kao Vim i Emacs i dalje zadržavaju svoju popularnost.

Upotreba

Iako su u osnovi zamišljene da rade na stolnim računalima i serverima, distribucije mogu biti specijalizirane za različite namjene kao što su: podrška pri kreiranju kompjutorskih arhitektura, za digitalne uređaje, stabilnost, zaštita, lokalizacija za specifična područja ili jezike, specifične grupe korisnika, podrška za real-time aplikacije. Nadalje, neke distribucije uključuju isključivo slobodni softver. Trenutno, preko 300 distribucija je trenutno u opticaju, od kojih su deseci namijenjeni općoj upotrebi.

Linux je široko rasprostranjen operativni sustav. Linux jezgra radi na velikom rasponu kompjutorskih arhitektura: u ručnim ARM-baziranim računalima iPAQ i mainframe IBM Systemu z9, na uređajima od mobitela do superračunala. Posebne distribucije postoje za manje poznate arhitekture. ELKS fork kernela može raditi na Intel 8086 ili 80286 16-bitnim mikroprocesorima, dok µClinux kernel fork može raditi na sistemima koji nemaju memorijsku upravljačku jedinicu. Kernel također radi na arhitekturama za koje postoje kreirani operativni sustavi od strane proizvođača, kao što su: Machintosh računala, PDA uređaji, igrače konzole, mobilni muzički playeri i mobilni telefoni.

Stolna računala

Iako postoji određeni nedostatak programa iste namjene sa Mac OS X i MS Windows sistema u domenama izdavaštva (preloma stranica) i profesionalne obrade zvuka, podrška za većinu aplikacija koje su jednako dostupne za Maca i Windowse postoji i za Linux.

Većina Linux distribucija pruža program za pregledavanje liste tisuća slobodnih aplikacija koju se već iztestirane i konfigurirane za specifičnu distribuciju. Ti slobodni programi mogu se skinuti i instalirati sa jednim klikom miša, a digitalni potpis garantira da nitko u njih nije postavio virus ili spyware.

Dvije glavne okoline za razvoj grafičkih aplikacija su GNOME i KDE. Ti su projekti bazirani na GTK+ i Qt widget toolkits, koji pak također mogu biti korišteni nezavisno unutar većih okružja. Oba podržavaju široki raspon jezika.

Mnogi naslovi iz svijeta slobodnog softvera koji su popularni na Windowsima, kao što su Pidgin, Mozilla Firefox, Openoffice.org i GIMP, postoje i za Linux. Sve veća količina vlasničkih aplikacija je također podržana pod Linuxom. CrossOver je komercijalno rješenje bazirano na Wine-u koji je otvorenog koda koji omogućuje izvršavanje starijih Windows aplikacija.

Osim besolatnog rješenja putem Winea, mnoge distribucije nude Dual boot rješenje i X86 virtualizaciju za podizanje Linux i Windows operativnih sustava na istom stroju.

Linuxova otvorenost dozvoljava timovima koji održavaju distribucije mogućnost lokalizacije na druge jezike, što posebno dolazi do izražaja onda kada to nije isplativo u slučajevima komercijalnih sistema.

Serveri i superkompjutori

Serveri dizajnirani za Linux

Povijesno gledano, Linux se uglavnom koristo kao poslužiteljski operativni sustav, te je postao istaknut na tom području. (Netcraft objavljuje u rujnu 2006 da osam od deset najpouzdanijih Internet hosting tvrtki "vrti" Linux na svojim web serverima (prema podatacima iz lipnja 2008, Linux predstavlja pet od deset, FreeBSD tri od deset, i Microsoft dva od deset). Ovo dolazi iz činjenica Linuxove stabilnosti, te da je grafičko korisničko sučelje za poslužitelje često nepotrebno. Na serverima možemo naći komercijalne i ne-komercijalne distribucije Linuxa. Linux je baza za LAMP server-softver kombinaciju (Linux, Apache, MySQL, Perl / PHP / Python), koji je postigao popularnost među razvijateljima, te je jedna od najučestalijih platformi za web hosting.

Linux se obično koristi kao operativni sustav za superračunala. Prema podacima iz kolovoza 2008, od 500 najjačih sustava, 423 (84.6%) pokreće Linux.

Digitalni uređaji

Sharp Zaurus SL-5500 pokreće OpenZaurus i OPIE

Zbog niske cijene i mogućnosti da se lako mijenja, ugrađeni Linux često se koristi u digitalnim uređajima. Linux je postao glavni konkurent vlasničkom Symbian OS-u koji se nalazi u većini smartphone uređaja - 16,7% smartphonea prodanih širom svijeta tijekom 2006 pogonjeni su Linuxom. Također, on je alternativa vlasničkim Windows CE i Palm OS operativnim sustavima za mobilne uređaje. Sve je više mobitela i PDA uređaja koje pokreće Linux, odnosno onih koji su izgrađeni na platformama otvorenog koda (npr. Nokia N810, Openmoko's Neo1973, Motorola RAZR2 V8, Motorola ROKR E8, Motorola Ming serija, Motorola zine i Google Android). Popularni TiVo digitalni video recorder koristi prilagođenu verziju Linuxa. Nekoliko mrežnih firewalla i routera koriste Linux interno. Korg OASYS i Yamaha XS Motiv glazbene radne stanice rade pod Linuxom.

Autorska prava

Linux kernel i većina GNU softvera licencirani su pod GNU General Public License (GPL). GPL zahtijeva da svatko tko distribuira Linux kernel mora isporučiti i izvorni kod (kao i bilo koje izmjene) pod istim uvjetima. U 1997, Linus Torvalds je naveo, "Prebacivanje Linuxa na GPL je definitivno najbolje što sam ikad učinio." Druga ključna komponenta Linux sustava je mogućnost korištenja drugih licenci; mnoge biblioteke koriste GNU Lesser General Public License (LGPL) , slobodniju varijantu GPL-a, a X Window System koristi MIT License.

Torvalds je javno rekao da on ne želi prebaciti Linux kernel (trenutno licenciran pod GPL verzijom 2) na verziju 3 GPL-a, objavljenu u sredinom 2007., izričito navodeći neke odredbe u novoj licenci koje zabranjuju korištenje softvera za "upravljanje digitalnim pravima".

Većina koda (71%) pisana je u C programskom jeziku, ali i u mnogim drugim uključujući i C++, asemblerski jezik, Perl, Python, Fortran i različite shell skripte. Nešto više od polovice cjelokupnog koda licencirano je pod GPL licencom. Linux kernel ima sam 2,4 milijuna kodnih linija, ili 8% od ukupnog materijala.

U kasnijoj studiji, ista analiza izvršena je za Debian GNU/Linux verziju 4.0. Ova distribucija sadrži preko 283 miliona izvornog koda, a procjenjuje se da bi cijena takvog posla, kada bi se on radio preko konvencionalnih sredstava, bila 5.4 milijardi eura.

U Sjedinjenim Američkim Državama, naziv Linux je registrirani zaštitni znak od Linus Torvaldsa. U početku, nitko ga nije registrirao, ali je 15. srpnja 1994. William R. Della Croce, Jr. podnio zahtjev za zaštitni znak Linuxa, te je potom zahtijevao honorar od Linux distributera. U 1996. Torvalds i organizacije pogođene ovime tužili su ga da ima zaštitni znak dodijeljen Torvaldsu, a 1997. slučaj je bio rješen. Za licenciranje zaštitnog znaka zadužen je Linux Mark Institute. Torvalds je naveo da je zaštićen samo naziv kako bi se spriječila njegovo korištenje za druge namjene, ali je ipak bio dužan 2005. prema zakonu o zaštitnim znakovima poduzeti mjere za aktivnu zaštitu znaka. Kao rezultat toga, LMI je poslao niz pisama izdavačima distribucija distributera kojima traži naknadu koja se plaća za korištenje imena, što veliki broj kompanija i poštuje.

GNU/Linux

Free Software Foundation pregledava Linux distribucije koje koriste GNU softver da li ga koriste u skladu s GNU licencom i varijantama. Međutim, mediji i populacija u cjelini odnose se prema ovoj obitelji operativnih sustava kao prema Linuxu, kao što to čine i mnoge velike Linux distribucije (npr. SuSE i Ubuntu Linuxa). Neke distribucije koristite termin GNU/Linux (takav primjer je Debian GNU/Linux). Spor o imenovanja ovog operativnog sustava (Linux ili GNU/Linux) ostaje i dalje izvor konfuzije velikom broju novih korisnika i povod prepirkama među ideološkim taborima.

Izvori i reference