Poglavlje 1 Uvod u Slackware Linux Tabela sadržaja 1.1 Što je Linux? 1.2 Što je Slackware? 1.3 Otvoreni kod i slobodan softver 1.1 Što je Linux? Linus Torvalds je započeo Linux, jezgru (kernel) operativnog sustava, kao osobni projekt 1991. godine. Započeo je s projektom zato što je htio koristiti Unix baziran operativni sustav bez trošenja velike količine novaca. Također je htjeo naučiti sve što je moguće o procesoru 386. Linux je izdan javnosti besplatno tako da ga je svatko mogao proučavati i raditi poboljšanja pod Općom Javnom Licencom. (Pogledajte Odjeljak 1.3 i Dodatak A za objašnjenje licence.) Danas, Linux je izrastao u glavnog igrača na tržištu operativnih sustava. Prebačen je na razne sistemske arhitekture, uključujući HP/Compaq-ove Alpha, Sunove SPARC i UltraSPARC računala i Motoroline PowerPC čipove (uključujući i Apple Macintosh i IBM RS/6000 računala.) Stotine, ako ne tisuće programera diljem cijelog svijeta razvijaju Linux. On izvršava aplikacije kao što su Sendmail, Apache i BIND, koje su vrlo popularane aplikacije što se koriste na Internet poslužiteljima. Važno je zapamtiti da se izraz "Linux" stvarno odnosi na jezgru (kernel) - srce operativnog sustava. Ovo srce je odgovorno za kontrolu vašeg procesora, memorije, hard diskova i ostalog hardvera. To je zaista sve što Linux radi: on kontrolira operacije vašeg računala i brine se da se svi programi ponašaju kako treba. Razne tvrtke i pojedinci spajaju jezgru i razne programe zajedno da bi napravili operativni sustav. Ovaj skup mi zovemo Linux distribucija. 1.1.1 Riječ o GNU-u Projekt Linux jezgre je započeo kao usamljen trud Linus Torvalds-a 1991. godine. Kada je Linus Torvalds započeo jezgru, Zaklada za Slobodan Softver (Free Software Foundation) je uspostavila ideju suradničkog softvera. Oni su svojem trudu dali ime GNU, kao rekurzivni akronim koji jednostavno znači "GNU Nije Unix". GNU softver se izvršavao nad Linux jezgrom od prvog dana. Njihov kompajler "gcc" se koristio za kompiliranje jezgre. Danas su mnoge GNU aplikacije počevši od "gcc"-a do "gnutar"-a i dalje osnova svake velike Linux distribucije. Iz ovog razloga, mnogi od zastupnika Zaklade za Slobodan Softver izjavljuju da bi njihov rad trebao dobiti priznanje isto kao i Linux jezgra. Oni snažno sugeriraju da bi sve Linux distribucije trebale sebe predstavljati kao GNU/Linux distribucije. Ovo je tema mnogih rasprava, koju nadmašuje samo drevni emacs protiv vi-a "sveti rat". Namjera ove knjige nije da potpiruje vatru na ovu temu, već da razjasni terminologiju početnicima. Kada netko pročita GNU/Linux, to onda znači Linux distribucija. A kad pročita Linux, onda se to može odnositi ili na jezgru ili na distribuciju. To može biti zbunjujuće. Tipično se termin GNU/Linux ne koristi zato što se teško izgovara. 1.2 Što je Slackware? Slackware, pokrenut od strane Patrick Volkerding-a kasne 1992. godine i prvi puta objavljen 17. srpnja 1993., je bio prva Linux distribucija koja je dostigla raširenu upotrebu. Volkerding je prvi put saznao za Linux kada mu je bio zatrebao jeftin LISP interpreter za projekt. Jedna od rijetkih distribucija u to vrijeme je bio SLS Linux kojeg je izdavao Soft Landing Systems. Volkerding je koristio SLS Linux, ispravljajući greške kad god bi naišao na njih. Na kraju, odlučio je skupiti sve ove ispravke u svoju osobnu distribuciju koju će moći koristiti on i njegovi prijatelji. Ova privatna distribucija je ubrzo dobila na popularnosti, pa je Volkerding odlučio da je nazove Slackware i da je napravi javno dostupnom. Tokom vremena, Patrick je dodavao nove stvari u Slackware; jednostavni instalacijski program baziran na sistemu izbornika, kao i koncept upravljanja softverskim paketima koji je dozvoljavao korisnicima da lako dodavaju, brišu ili unapređuju softverske pakete na svojim sustavima. Postoji mnogo razloga zašto je Slackware najstarija "živuća" Linux distribucija. On ne pokušava emulirati Windows, on pokušava biti što više nalik Unix-u, koliko je to moguće. On ne želi sakriti svoje procese sa ljepuškastim GUI-ima (grafičko korisničko sučelje) po kojima možete kliktati. Umjesto toga, on prepušta kontrolu korisnicima, dozvoljavajući im da vide točno što se događa. Njegov razvoj se ne ubrzava kako bi se dostigli određeni datumi - svaka verzija izlazi kada je spremna. Slackware je za ljude koji uživaju u učenju i poboljšavanju svojih sustava kako bi radili točno ono što oni od njih žele. Slackware-ova stabilnost i jednostavnost su razlog što će ga ljudi nastaviti koristiti i u godinama koje dolaze. Slackware trenutno uživa reputaciju solidnog servera i radne stanice. Možete naći Slackware desktop računala kako izvšavaju skoro svaki upravljač prozorima ili desktop okruženje, ili nijedno od njih. Slackware serveri opslužuju kompanije, radeći u svakom kapacitetu u kojem se može koristiti taj server. Slackware korisnici su među najzadovoljnijim Linux korisnicima. Naravno, što bismo drugo mi i rekli. :^) 1.3 Otvoreni kod i slobodan softver Unutar Linux zajednice postoje dva velika ideološka pokreta koja su na djelu. Pokret Slobodnog Softvera (Free Software movement) ima za cilj načiniti sav softver slobodnim od restrikcija nametnutih intelektualnim vlasništvom. Sljedbenici ovog pokreta vjeruju da ove restrikcije spriječavaju tehnološki napredak i rad protiv dobrobiti društva. Pokret Otvorenog Koda (Open Source movement) ide ka većini istih ciljeva, ali uzima pragmatičniji pristup prema njima. Sljedbenici ovog pokreta više vole bazirati svoje argumente na ekonomskim i tehničkim prednostima koji dolaze kada se izvorni kod načini potpuno dostupnim, prije nego moralnim i etičkim principima koji pokreću Pokret Slobodnog Softvera. S druge strane su grupe koje žele održati čvršću kontrolu nad svojim sofverom. Pokret Slobodnog Softvera vodi Zaklada za Slobodan Softver, organizacija koja skuplja priloge za GNU projekt. Slobodni Softver je više ideologija. Često korišten izraz je "sloboda kao sloboda govora, ne kao besplatno pivo". U osnovi, slobodni softver je pokušaj da se garantiraju određena prava i za korisnike i za programere. Ove slobode uključuju slobodu da se program izvršava iz bilo kojeg razloga, da se proučava i modificira izvorni kod, da se redistribuira kod programa i da se djele bilo koje modifikacije koje napravite. Kako bi se osigurale ove slobode stvorena je GNU Opća Javna Licenca (General Public License, GPL). GPL, ukratko, omogućava da svatko tko distribuira kompilirani program koji je pod GPL licencom također mora pružiti izvorni kod, i da je slobodan napraviti modifikacije u programu sve dok su ove modifikacije isto dostupne u formi izvornog koda. Ovo garantira da jednom kada je program "otvoren" za zajednicu, više nikada ne može biti "zatvoren" osim ako se slože svi autori svakog djela koda (čak i modifikacija) unutar njega. Većina Linux programa su licencirana pod GPL-om. Važno je napomenuti da GPL ne govori ništa u vezi cijene. Iako može zvučati čudno, ali vi možete naplatiti slobodan softver. Dio "sloboda" se odnosi na slobode koje imate sa izvornim kodom, ne u cijeni koju plaćate za softver. (Međutim, jednom kada vam netko proda, ili pokloni, kompilirani program pod GPL-om onda je obvezan i pružiti vam izvorni kod.) Još jedna popularana licenca je BSD licenca. Za razliku od GPL-a, BSD licenca ne zahtjeva izdavanje izvornog koda programa. Softver izdan pod BSD licencom dozvoljava redistribuciju u izvornom ili binarnom obliku samo ukoliko je nekoliko zahtjeva ispunjeno. Informacije o autoru ne mogu biti korištene za bilo kakvu vrstu reklame za program. Također, oslobađa autora od odgovornosti za štete koje mogu nastati korištenjem softvera. Mnogo softvera koji je uključen u Slackware Linux je licenciran BSD licencom. Kao predvodnik mlađeg pokreta Otvorenog Koda, Open Source Initiative (Inicijativa Otvorenog Koda) je organizacija koja postoji samo da pruža podršku softveru otvorenog koda, to jest, softvera koji ima dostupan izvorni kod, kao i program koji je spreman za izvršavanje. Oni ne pružaju specifičnu licencu, već umjesto toga podržavaju razne vrste dostupnih licenci. Ideja iza OSI-ja je da se omogući da više tvrtki stanu iza otvorenog koda tako što će im se dozvoljavati da pišu svoje osobne licence otvorenog koda i da te licence budu odobrene od strane Inicijative Otvorenog Koda. Mnoge tvrtke žele izdati izvorni kod, ali ne žele koristiti GPL. Pošto ne mogu radikalno promjeniti GPL, ponuđena im je prilika da pruže svoju osobnu licencu i da ona bude odobrena od strane ove organizacije. Iako Zaklada za Slobodan Softver i Inicijativa Otvorenog Koda rade da pomognu jedni drugima, ipak nisu ista stvar. Zaklada za Slobodan Softver koristi posebnu licencu i stvara softver pod tom licencom. Inicijativa Otvorenog Koda traži podršku za sve licence otvorenog koda, uključujući i onu Zaklade za Slobodan Softver. Osnove zbog kojih svaka strana argumentira slobodno otvaranje izvornog koda ponekad razdvajaju ova dva pokreta, ali činjenica da dvije ideološki različite grupe rade ka istom cilju čini da odajemo poštovanje trudu obje strane.