48
L i i B B R R E E ! !

LiBRE 23 Lat

Embed Size (px)

DESCRIPTION

linux paper

Citation preview

Page 1: LiBRE 23 Lat

Mart 2014 1

LiiBBRREEČasop is o s lobodnom softveru

broj

23

Časopis o slobodnom softveru

Mart 2014

Creative Commons Autorstvo-Nekomercijalno-Deliti pod istim uslovima

31 mart25 aprila 2014 i NovomMestu održaće se OpenWay

9 martRedovna openSUSEkonferencija održaće seu Dubrovniku

2 LiBRE časopis o slobodnom softveru

Sama činjenica da sada čitate rečiLiBRE urednika znači da smo

preživeli najavljenu katastrofu Totakođe znači da je ponovo bdquoRečurednikardquo u množini a ne u jedninikao u prošlom broju

Šok terapija koja se ogledala unajavi katastrofe i gašenja LiBREprojekta imala je za cilj da mobilišesve unutrašnje i spoljašnje snage dabi projekat opstao Nije bio u pita-nju prosti trik kao iz bajke očobaninu koji je zavitlavao seljanevičući bdquoVuk Vukrdquo Časopisu su po-moć i reorganizacija zaista bilipotrebni Zahvaljujemo se svimakoji su pravilno razumeli naš signalza uzbunu i pritekli u pomoć

Da je vrag odneo šalu srećomshvatili su i članovi redakcijeNismo morali da se bdquoprodajemordquo ida dozvolimo da neko drugi upravljačasopisom Drastično smo podmla-dili urednički tim i to sada dajerezultate Moramo javno da se po-hvalimo da je cela redakcija pravi-lno shvatila mobilizaciju i doprinelada novi broj izađe u kraćem roku(zbog kašnjenja prethodnog broja) inikad lakše

Žao nam je ako smo nekoga razo-čarali našom šok terapijom Neki su

nas već prežalili ne verujući užilavost projekta Bilo je i predlogada ne izlazimo redovno mesečnoDo nekog olakšanja posla baremprivremeno moralo je doći Poštosmo se morali nečega odreći odlu-čili smo da to bude ePUB izdanje Toizdanje još uvek nije tolikopopularno da bi mnogo nedostajaloOvo izdanje ćemo vratiti kad defi-nitivno budemo rešili problemgrafike i kad budemo rešili problemdirektnog preuzimanja ovog izdanjau mobilne telefone

Periodiku izlaženja jednom mese-čno ne želimo da menjamo Ovajbroj dokazuje da je moguće opu-šteno sa malom mobilizacijomispoštovati ovu periodiku Produže-nje roka na dvomesečnik ili još gorena izlaženje po principu objave bdquokadbude gotovordquo nije dobro Časopismora imati disciplinu Opuštenpristup ne bi doneo ništa dobro ubudućnosti ovog projekta Kašnjenjačasopisa bila bi sve veća i na kraju bise prosto ugasio

Iako je reorganizacija uspela i sad selakše diše nismo rešili sve proble-me Ni posle dve godine nismo našlirešenje ni zamenika za jedinoggrafičara u projektu Koliko je opa-sno da projekat ima samo jednog

Dan posle

Reč urednika broj 23

Mart 2014 3

urednika toliko je još veća opa-snost imati samo jednog grafičaraBez grafičara koji će složiti PDFdžaba nam svi urednici autori ilektori Ovaj jedan grafičar ne smeni da se razboli ni da ide na godišnjiodmor a da ne govorimo da nasnapusti Zato sad apelujemo na svekoji se bar malo razumeju u grafikuda nam se jave i pomognuUčvršćivanje te pozicije je sad prio-ritet projekta Volonterima u graficimožemo ponuditi za sada obukupraksu i potvrdu o volontiranju štomože da im pomogne u traženjuposla

Pored grafičara koji su nam trenu-tno prioritet uvek su dobrodošlinovi autori ali i svi oni koji pratenovosti o FLOSS-u koji bi mogli dabudu dopisnici i javljaju šta se novodešava i šta je aktuelno u ovojoblasti u svetu i njihovom krajuNajbolji način da stupite u kontakt snama jeste preko naše već poznateinternet adrese libre[et] lugons[dot]org

Do čitanja

LiBRE Tim

Broj 23Periodika izlaženja mesečnik

Glavni i odgovorni urednikNikola Hardi

Izvršni urednikStefan Nožinić

LekturaJelena MunćanKatarina ČehićMaja PanajotovićAleksandra RistovićAleksandar BožinovićAleksandar Stanisavljević

Redakcija

Saradnici

Grafička obradaDejan Maglov

Dizajn

KontaktIRC floss-magazin na ircfreenodenetE-pošta librelugonsorg

httplibrelugonsorg

Moć slobodnogsoftvera

Goran MekićDžoni PromisŽeljko ŠarićDanilo ĐokićDarko StantićPetar SimovićZlatan VasovićIvan BulatovićŽeljko PopivodaBojan Bogdanović

Mladen Šćekić Zoran Lojpur

Nikola NenadićNenad MijatovićTamara Đorđević

Momčilo MedićVelimir Baksa

Stefan Stojanović

Sandrina DimitrijevićAleksandar Todorović

Milovan KrivokapićDalibor BogdanovićAleksandar BrkovićGavrilo ProdanovićMihajlo Bogdanović

Vladimir CicovićAleksandar Vesić

Veljko Simić

Reč urednika broj 23

4 LiBRE časopis o slobodnom softveru

LiBRE vesti str 6

Puls slobode str 8

OpenSUSE ili osCE14konferencija u Dubrovniku str 8

Ugovor Republike Srbijesa Microsoftom (5deo) str 10

aquaticycom str 14

Predstavljamo str 17

Serbian 2014 (1 deo) str 17

Kako da str 23

Uvod u programskijezik C (1 deo) str 23

Oslobađanje str 26

Linux unatraške str 26

Slobodni profesionalac str 31

OpenCV str 31

Vesti

LiBRE sadržaj broj 23

Mart 2014 5

Internet mrežekomunikacije str 35

TormrežaOnline anonimnost isigurnost (2deo) str 35

Mobilni kutak str 38

Android ispod haube str 38

Network Spoofer str 45

LiBRE prijatelji

LiBRE sadržaj broj 23

6 LiBRE časopis o slobodnom softveru

Redovna godišnja openSUSE

konferencija

9 mart 2014

Ovogodišnja openSUSEkonferencija nazvanabdquoSnaga promenerdquo (TheStrength to Change) kojaće se održati od 24 do28 aprila u Dubrovniku

okupiće članove openSUSE zajednicekao i ostale članove F(L)OSS zajednice

Koristan link httpjmp1mvlmSH

Puppy Linux 57 bdquoSlackordquo

12 mart 2014

Nova verzija Slacko PuppyLinuxa je objavljenaSlacko Puppy je izgrađenod Slackware 140 binar-

nih TXZ paketa otuda ima binarnukompatibilnost sa Slackware i pristupSlackware Salix i Slacky riznicama

Koristan link httpjmp1pyObuB

Blender fondacija radi na novom

animiranom filmu

15 mart 2014

Blender fondacija je 9marta pokrenula kampa-nju u trajanju od četr-deset dana sa ciljemprikupljanja 500 000 euro

kojima bi se finansirao novi open sourceanimirani film

Koristan link httpjmp1 lmzXzt

PC-BSD 1001

16 mart 2014

Prvo PC-BSD 100 kvar-talno ažuriranje je prednama sada je dostupan1001 Ovaj update do-nosi ispravke grešakanovije pakete KDE

4122 Cinnamon 20 i ažuriran GRUB

Koristan link httpjmp1gYjNog

Tiny Core Linux 521 bdquopiCorerdquo

17 mart 2014

Objavljen je piCore 521Tiny Core Linuxa zaRaspberry Pi single-boardkompjuter Tiny CoreLinux nije tradicionalnadistribucija već je alatkoji omogućava da na-

pravite sopstveni prilagođeni sistem

Koristan link httpjmp1 lmA2TT

Evropski parlament prelazi na ODF i

Ubuntu-based Distro

19 mart 2014

Nakon Britanije koja seobavezala da će preći naOpen Document Formatnekoliko članica Evrop-skog parlamenta pokrećeistu inicijativu u svojim

administracijama Prelazak na ODF jeprvi korak u prelasku EU administracijena open source

Koristan link httpjmp1dOzLkR

LiBRE vesti broj 23

Mart 2014 7

Tails 023

20 mart 2014

Tails je Debian-basedbdquoživardquo CD distribucijaprekonfigurisana za ano-nimno pretraživanje web-a Nova verzija 023 jeobjavljena Ovo izdanje

rešava brojna pitanja sigurnosti ipreporučuje se da svi koji su do sadakoristili Tails odmah ga nadograde nanovu verziju

Koristan link httpjmp1 iB0yFD

Udruga Osijek Software City organizuje

The Geek Gathering 2014

20 mart 2014

Udruga Osijek SoftwareCity organizuje drugi poredu The Geek Gatheringtrodnevnu godišnju kon-ferenciju koja će seodržati od 8 do 11 maja2014 godine u hotelu

bdquoOsijekrdquo Brojna poznata imena već supotvrdila dolazak

Koristan link httpjmp1fk0WnY

ATM operateri žele Linux umesto XP-a

20 mart 2014

Neke kompanije koje nu-de finansijske uslugežele da svoje ATM uređajeprebace sa Windowsa naLinux u pokušaju da

imaju bolju kontrolu nad hardverom istandardne cikluse updatea softveraPotez koji ih gura u ovom pravcu

očigledno je odluka Microsofta daokonča podršku za Windows XP 8 aprilaove godine

Koristan link httpjmpNHDQA2

Open Way

31 mart 2014

U petak 25 aprila 2014godine u Novom Mestu(Slovenija) održaće seOpen Way - konferencijaposvećena open source

rešenjima

Koristan link httpjmp1hvb3ur

LiBRE prijtelji

LiBRE vesti broj 23

8 LiBRE časopis o slobodnom softveru

Autor portal bdquoLinux Za Sverdquo

Konferencija će se održavati u raz-doblju od 24 do 28 travnja (aprila)

u prostorijama Dubrovačkog Sveučili-šta Prisustvovanje konferenciji jepotpuno besplatno Potrebno je samoregistrirati se na službenim stranicamakonferencije (httpsconferenceopensuseorgosemaccountssign_in)Registracije su otvorene do 24 travnja(aprila) uključujući i sam dan nopreporuča se da ipak napravite svojuprijavu ranije da se zna koliko će ljudiotprilike doći

Na konferenciji možete prisustvovatizanimljivim predavanjima i radioni-cama te sudjelovati u razmjeni znanja iiskustva s okupljenim sudionicima

Konferencija se održava jednomgodišnje a mjesto održavanja se svakegodine mijenja Tako su se ove godinena prijedlog HrOpena HULK-a iDubrovačkog Sveučilišta u openSUSE-uodlučili posjetiti Dubrovnik

OpenSUSE konferencija tradicionalnoima temu a ove godine to je bdquoSposob-nost za promijeniti serdquo Promjena jekonstanta slobodnog softvera a sarastom relevantnosti mobilnih uređaja ioperacijskih sustava poput Androida iChromebookova treba se prilagoditi narazini čitavog openSUSE projekta

Strategije o tome kako tonajbolje izvesti diskutiralase i diskutira se putemraznih digitalnih medija alii uživo Zbog toga ovakonferencija dolazi u četiriparalelna segmenta i na-mijenjena je različitiminteresnim skupinama snadom da će se naćizajednički jezik i rješenje zapromjene u okolišu Pro-

mjena nije nikada lagana ali je uvijekvažna

OOppeennSSUUSSEE iillii oossCCEE1144 kkoonnffeerreenncciijjaa uuDDuubbrroovvnniikkuu

osCE14Puls slobode

Mart 2014 9

Krajnji korisniciOvaj segment pruža prilikunaprednim korisnicima bilokojih aplikacija da dijele svojeznanje i trikove kako bi uspjelipostići najviše određenim ala-tom koji koriste Ukoliko (ne)znate za malo poznate alikorisne funkcije ili programeovdje ih možete podijeliti sadrugima ili saznati nešto novoTeme uključuju ali nisu ogra-ničene na aplikacije desktopokruženja multimediju i igre

Poslovni korisniciOvaj segment je namijenjen ljudimakoji koriste openSUSE iili FOSS uposlovnim okruženjima da opišu sačime se sve susreću te riješenja isavjete za bolji rad Teme uključuju alinisu ograničene na probleme i rješenjavezana za komunikaciju sa državnimagencijama regulatornim agencijamadrugim poslovnim subjektima obukomosoblja te promjenom tehnologije kaotakve

Zajednica i projekatOvaj segment se odnosi i fokusira se naprojekte i aktivnosti zajednice Temeuključuju ali nisu ograničene naupravljanje samim projektom marke-ting i grafički dizajn U mnogoslučajeva ovaj dio naglašava zajedništvozajednice i kooperaciju te jedinstveneprobleme sa kojima sa openSUSEzajednica suočava Ukoliko imate idejekako pomoći zajednici da bude jača

nego prije najbolje će biti da u njoj isudjelujete

Tehnologija i razvojU ovom dijelu će se koncentrirati nasistemsku tehnologiju i razvoj distri-bucije uključujući paketni sustav(rpm) razvoj testiranje debugiranjepraksu i razvojne metode infrastruk-turu izdavanje i nadzor Saznat ćete ibolje razumijeti kako se koriste alati urazvoju SUSE distribucije ali i drugihprojekata nevezanih direktno zadistribuciju

Što još reći osim skupite ekipu nađitesi neki jeftiniji smještaj uživajte upredsezoni u ovom prekrasnom gradudružite se s Linuksašima iz cijelogsvijeta i dođite uživo vidjeti legendeFLOSS i Linux svijeta Jamčimo vam daćete se odlično zabaviti

Korisni linkovi[1 ] httpconferenceopensuseorg[2] httpwwwlinuxzasvecom

ovogodisnja-opensuse-konferencija-odrzat-ce-se-u-dubrovniku

osCE14Puls slobode

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 2: LiBRE 23 Lat

2 LiBRE časopis o slobodnom softveru

Sama činjenica da sada čitate rečiLiBRE urednika znači da smo

preživeli najavljenu katastrofu Totakođe znači da je ponovo bdquoRečurednikardquo u množini a ne u jedninikao u prošlom broju

Šok terapija koja se ogledala unajavi katastrofe i gašenja LiBREprojekta imala je za cilj da mobilišesve unutrašnje i spoljašnje snage dabi projekat opstao Nije bio u pita-nju prosti trik kao iz bajke očobaninu koji je zavitlavao seljanevičući bdquoVuk Vukrdquo Časopisu su po-moć i reorganizacija zaista bilipotrebni Zahvaljujemo se svimakoji su pravilno razumeli naš signalza uzbunu i pritekli u pomoć

Da je vrag odneo šalu srećomshvatili su i članovi redakcijeNismo morali da se bdquoprodajemordquo ida dozvolimo da neko drugi upravljačasopisom Drastično smo podmla-dili urednički tim i to sada dajerezultate Moramo javno da se po-hvalimo da je cela redakcija pravi-lno shvatila mobilizaciju i doprinelada novi broj izađe u kraćem roku(zbog kašnjenja prethodnog broja) inikad lakše

Žao nam je ako smo nekoga razo-čarali našom šok terapijom Neki su

nas već prežalili ne verujući užilavost projekta Bilo je i predlogada ne izlazimo redovno mesečnoDo nekog olakšanja posla baremprivremeno moralo je doći Poštosmo se morali nečega odreći odlu-čili smo da to bude ePUB izdanje Toizdanje još uvek nije tolikopopularno da bi mnogo nedostajaloOvo izdanje ćemo vratiti kad defi-nitivno budemo rešili problemgrafike i kad budemo rešili problemdirektnog preuzimanja ovog izdanjau mobilne telefone

Periodiku izlaženja jednom mese-čno ne želimo da menjamo Ovajbroj dokazuje da je moguće opu-šteno sa malom mobilizacijomispoštovati ovu periodiku Produže-nje roka na dvomesečnik ili još gorena izlaženje po principu objave bdquokadbude gotovordquo nije dobro Časopismora imati disciplinu Opuštenpristup ne bi doneo ništa dobro ubudućnosti ovog projekta Kašnjenjačasopisa bila bi sve veća i na kraju bise prosto ugasio

Iako je reorganizacija uspela i sad selakše diše nismo rešili sve proble-me Ni posle dve godine nismo našlirešenje ni zamenika za jedinoggrafičara u projektu Koliko je opa-sno da projekat ima samo jednog

Dan posle

Reč urednika broj 23

Mart 2014 3

urednika toliko je još veća opa-snost imati samo jednog grafičaraBez grafičara koji će složiti PDFdžaba nam svi urednici autori ilektori Ovaj jedan grafičar ne smeni da se razboli ni da ide na godišnjiodmor a da ne govorimo da nasnapusti Zato sad apelujemo na svekoji se bar malo razumeju u grafikuda nam se jave i pomognuUčvršćivanje te pozicije je sad prio-ritet projekta Volonterima u graficimožemo ponuditi za sada obukupraksu i potvrdu o volontiranju štomože da im pomogne u traženjuposla

Pored grafičara koji su nam trenu-tno prioritet uvek su dobrodošlinovi autori ali i svi oni koji pratenovosti o FLOSS-u koji bi mogli dabudu dopisnici i javljaju šta se novodešava i šta je aktuelno u ovojoblasti u svetu i njihovom krajuNajbolji način da stupite u kontakt snama jeste preko naše već poznateinternet adrese libre[et] lugons[dot]org

Do čitanja

LiBRE Tim

Broj 23Periodika izlaženja mesečnik

Glavni i odgovorni urednikNikola Hardi

Izvršni urednikStefan Nožinić

LekturaJelena MunćanKatarina ČehićMaja PanajotovićAleksandra RistovićAleksandar BožinovićAleksandar Stanisavljević

Redakcija

Saradnici

Grafička obradaDejan Maglov

Dizajn

KontaktIRC floss-magazin na ircfreenodenetE-pošta librelugonsorg

httplibrelugonsorg

Moć slobodnogsoftvera

Goran MekićDžoni PromisŽeljko ŠarićDanilo ĐokićDarko StantićPetar SimovićZlatan VasovićIvan BulatovićŽeljko PopivodaBojan Bogdanović

Mladen Šćekić Zoran Lojpur

Nikola NenadićNenad MijatovićTamara Đorđević

Momčilo MedićVelimir Baksa

Stefan Stojanović

Sandrina DimitrijevićAleksandar Todorović

Milovan KrivokapićDalibor BogdanovićAleksandar BrkovićGavrilo ProdanovićMihajlo Bogdanović

Vladimir CicovićAleksandar Vesić

Veljko Simić

Reč urednika broj 23

4 LiBRE časopis o slobodnom softveru

LiBRE vesti str 6

Puls slobode str 8

OpenSUSE ili osCE14konferencija u Dubrovniku str 8

Ugovor Republike Srbijesa Microsoftom (5deo) str 10

aquaticycom str 14

Predstavljamo str 17

Serbian 2014 (1 deo) str 17

Kako da str 23

Uvod u programskijezik C (1 deo) str 23

Oslobađanje str 26

Linux unatraške str 26

Slobodni profesionalac str 31

OpenCV str 31

Vesti

LiBRE sadržaj broj 23

Mart 2014 5

Internet mrežekomunikacije str 35

TormrežaOnline anonimnost isigurnost (2deo) str 35

Mobilni kutak str 38

Android ispod haube str 38

Network Spoofer str 45

LiBRE prijatelji

LiBRE sadržaj broj 23

6 LiBRE časopis o slobodnom softveru

Redovna godišnja openSUSE

konferencija

9 mart 2014

Ovogodišnja openSUSEkonferencija nazvanabdquoSnaga promenerdquo (TheStrength to Change) kojaće se održati od 24 do28 aprila u Dubrovniku

okupiće članove openSUSE zajednicekao i ostale članove F(L)OSS zajednice

Koristan link httpjmp1mvlmSH

Puppy Linux 57 bdquoSlackordquo

12 mart 2014

Nova verzija Slacko PuppyLinuxa je objavljenaSlacko Puppy je izgrađenod Slackware 140 binar-

nih TXZ paketa otuda ima binarnukompatibilnost sa Slackware i pristupSlackware Salix i Slacky riznicama

Koristan link httpjmp1pyObuB

Blender fondacija radi na novom

animiranom filmu

15 mart 2014

Blender fondacija je 9marta pokrenula kampa-nju u trajanju od četr-deset dana sa ciljemprikupljanja 500 000 euro

kojima bi se finansirao novi open sourceanimirani film

Koristan link httpjmp1 lmzXzt

PC-BSD 1001

16 mart 2014

Prvo PC-BSD 100 kvar-talno ažuriranje je prednama sada je dostupan1001 Ovaj update do-nosi ispravke grešakanovije pakete KDE

4122 Cinnamon 20 i ažuriran GRUB

Koristan link httpjmp1gYjNog

Tiny Core Linux 521 bdquopiCorerdquo

17 mart 2014

Objavljen je piCore 521Tiny Core Linuxa zaRaspberry Pi single-boardkompjuter Tiny CoreLinux nije tradicionalnadistribucija već je alatkoji omogućava da na-

pravite sopstveni prilagođeni sistem

Koristan link httpjmp1 lmA2TT

Evropski parlament prelazi na ODF i

Ubuntu-based Distro

19 mart 2014

Nakon Britanije koja seobavezala da će preći naOpen Document Formatnekoliko članica Evrop-skog parlamenta pokrećeistu inicijativu u svojim

administracijama Prelazak na ODF jeprvi korak u prelasku EU administracijena open source

Koristan link httpjmp1dOzLkR

LiBRE vesti broj 23

Mart 2014 7

Tails 023

20 mart 2014

Tails je Debian-basedbdquoživardquo CD distribucijaprekonfigurisana za ano-nimno pretraživanje web-a Nova verzija 023 jeobjavljena Ovo izdanje

rešava brojna pitanja sigurnosti ipreporučuje se da svi koji su do sadakoristili Tails odmah ga nadograde nanovu verziju

Koristan link httpjmp1 iB0yFD

Udruga Osijek Software City organizuje

The Geek Gathering 2014

20 mart 2014

Udruga Osijek SoftwareCity organizuje drugi poredu The Geek Gatheringtrodnevnu godišnju kon-ferenciju koja će seodržati od 8 do 11 maja2014 godine u hotelu

bdquoOsijekrdquo Brojna poznata imena već supotvrdila dolazak

Koristan link httpjmp1fk0WnY

ATM operateri žele Linux umesto XP-a

20 mart 2014

Neke kompanije koje nu-de finansijske uslugežele da svoje ATM uređajeprebace sa Windowsa naLinux u pokušaju da

imaju bolju kontrolu nad hardverom istandardne cikluse updatea softveraPotez koji ih gura u ovom pravcu

očigledno je odluka Microsofta daokonča podršku za Windows XP 8 aprilaove godine

Koristan link httpjmpNHDQA2

Open Way

31 mart 2014

U petak 25 aprila 2014godine u Novom Mestu(Slovenija) održaće seOpen Way - konferencijaposvećena open source

rešenjima

Koristan link httpjmp1hvb3ur

LiBRE prijtelji

LiBRE vesti broj 23

8 LiBRE časopis o slobodnom softveru

Autor portal bdquoLinux Za Sverdquo

Konferencija će se održavati u raz-doblju od 24 do 28 travnja (aprila)

u prostorijama Dubrovačkog Sveučili-šta Prisustvovanje konferenciji jepotpuno besplatno Potrebno je samoregistrirati se na službenim stranicamakonferencije (httpsconferenceopensuseorgosemaccountssign_in)Registracije su otvorene do 24 travnja(aprila) uključujući i sam dan nopreporuča se da ipak napravite svojuprijavu ranije da se zna koliko će ljudiotprilike doći

Na konferenciji možete prisustvovatizanimljivim predavanjima i radioni-cama te sudjelovati u razmjeni znanja iiskustva s okupljenim sudionicima

Konferencija se održava jednomgodišnje a mjesto održavanja se svakegodine mijenja Tako su se ove godinena prijedlog HrOpena HULK-a iDubrovačkog Sveučilišta u openSUSE-uodlučili posjetiti Dubrovnik

OpenSUSE konferencija tradicionalnoima temu a ove godine to je bdquoSposob-nost za promijeniti serdquo Promjena jekonstanta slobodnog softvera a sarastom relevantnosti mobilnih uređaja ioperacijskih sustava poput Androida iChromebookova treba se prilagoditi narazini čitavog openSUSE projekta

Strategije o tome kako tonajbolje izvesti diskutiralase i diskutira se putemraznih digitalnih medija alii uživo Zbog toga ovakonferencija dolazi u četiriparalelna segmenta i na-mijenjena je različitiminteresnim skupinama snadom da će se naćizajednički jezik i rješenje zapromjene u okolišu Pro-

mjena nije nikada lagana ali je uvijekvažna

OOppeennSSUUSSEE iillii oossCCEE1144 kkoonnffeerreenncciijjaa uuDDuubbrroovvnniikkuu

osCE14Puls slobode

Mart 2014 9

Krajnji korisniciOvaj segment pruža prilikunaprednim korisnicima bilokojih aplikacija da dijele svojeznanje i trikove kako bi uspjelipostići najviše određenim ala-tom koji koriste Ukoliko (ne)znate za malo poznate alikorisne funkcije ili programeovdje ih možete podijeliti sadrugima ili saznati nešto novoTeme uključuju ali nisu ogra-ničene na aplikacije desktopokruženja multimediju i igre

Poslovni korisniciOvaj segment je namijenjen ljudimakoji koriste openSUSE iili FOSS uposlovnim okruženjima da opišu sačime se sve susreću te riješenja isavjete za bolji rad Teme uključuju alinisu ograničene na probleme i rješenjavezana za komunikaciju sa državnimagencijama regulatornim agencijamadrugim poslovnim subjektima obukomosoblja te promjenom tehnologije kaotakve

Zajednica i projekatOvaj segment se odnosi i fokusira se naprojekte i aktivnosti zajednice Temeuključuju ali nisu ograničene naupravljanje samim projektom marke-ting i grafički dizajn U mnogoslučajeva ovaj dio naglašava zajedništvozajednice i kooperaciju te jedinstveneprobleme sa kojima sa openSUSEzajednica suočava Ukoliko imate idejekako pomoći zajednici da bude jača

nego prije najbolje će biti da u njoj isudjelujete

Tehnologija i razvojU ovom dijelu će se koncentrirati nasistemsku tehnologiju i razvoj distri-bucije uključujući paketni sustav(rpm) razvoj testiranje debugiranjepraksu i razvojne metode infrastruk-turu izdavanje i nadzor Saznat ćete ibolje razumijeti kako se koriste alati urazvoju SUSE distribucije ali i drugihprojekata nevezanih direktno zadistribuciju

Što još reći osim skupite ekipu nađitesi neki jeftiniji smještaj uživajte upredsezoni u ovom prekrasnom gradudružite se s Linuksašima iz cijelogsvijeta i dođite uživo vidjeti legendeFLOSS i Linux svijeta Jamčimo vam daćete se odlično zabaviti

Korisni linkovi[1 ] httpconferenceopensuseorg[2] httpwwwlinuxzasvecom

ovogodisnja-opensuse-konferencija-odrzat-ce-se-u-dubrovniku

osCE14Puls slobode

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 3: LiBRE 23 Lat

Mart 2014 3

urednika toliko je još veća opa-snost imati samo jednog grafičaraBez grafičara koji će složiti PDFdžaba nam svi urednici autori ilektori Ovaj jedan grafičar ne smeni da se razboli ni da ide na godišnjiodmor a da ne govorimo da nasnapusti Zato sad apelujemo na svekoji se bar malo razumeju u grafikuda nam se jave i pomognuUčvršćivanje te pozicije je sad prio-ritet projekta Volonterima u graficimožemo ponuditi za sada obukupraksu i potvrdu o volontiranju štomože da im pomogne u traženjuposla

Pored grafičara koji su nam trenu-tno prioritet uvek su dobrodošlinovi autori ali i svi oni koji pratenovosti o FLOSS-u koji bi mogli dabudu dopisnici i javljaju šta se novodešava i šta je aktuelno u ovojoblasti u svetu i njihovom krajuNajbolji način da stupite u kontakt snama jeste preko naše već poznateinternet adrese libre[et] lugons[dot]org

Do čitanja

LiBRE Tim

Broj 23Periodika izlaženja mesečnik

Glavni i odgovorni urednikNikola Hardi

Izvršni urednikStefan Nožinić

LekturaJelena MunćanKatarina ČehićMaja PanajotovićAleksandra RistovićAleksandar BožinovićAleksandar Stanisavljević

Redakcija

Saradnici

Grafička obradaDejan Maglov

Dizajn

KontaktIRC floss-magazin na ircfreenodenetE-pošta librelugonsorg

httplibrelugonsorg

Moć slobodnogsoftvera

Goran MekićDžoni PromisŽeljko ŠarićDanilo ĐokićDarko StantićPetar SimovićZlatan VasovićIvan BulatovićŽeljko PopivodaBojan Bogdanović

Mladen Šćekić Zoran Lojpur

Nikola NenadićNenad MijatovićTamara Đorđević

Momčilo MedićVelimir Baksa

Stefan Stojanović

Sandrina DimitrijevićAleksandar Todorović

Milovan KrivokapićDalibor BogdanovićAleksandar BrkovićGavrilo ProdanovićMihajlo Bogdanović

Vladimir CicovićAleksandar Vesić

Veljko Simić

Reč urednika broj 23

4 LiBRE časopis o slobodnom softveru

LiBRE vesti str 6

Puls slobode str 8

OpenSUSE ili osCE14konferencija u Dubrovniku str 8

Ugovor Republike Srbijesa Microsoftom (5deo) str 10

aquaticycom str 14

Predstavljamo str 17

Serbian 2014 (1 deo) str 17

Kako da str 23

Uvod u programskijezik C (1 deo) str 23

Oslobađanje str 26

Linux unatraške str 26

Slobodni profesionalac str 31

OpenCV str 31

Vesti

LiBRE sadržaj broj 23

Mart 2014 5

Internet mrežekomunikacije str 35

TormrežaOnline anonimnost isigurnost (2deo) str 35

Mobilni kutak str 38

Android ispod haube str 38

Network Spoofer str 45

LiBRE prijatelji

LiBRE sadržaj broj 23

6 LiBRE časopis o slobodnom softveru

Redovna godišnja openSUSE

konferencija

9 mart 2014

Ovogodišnja openSUSEkonferencija nazvanabdquoSnaga promenerdquo (TheStrength to Change) kojaće se održati od 24 do28 aprila u Dubrovniku

okupiće članove openSUSE zajednicekao i ostale članove F(L)OSS zajednice

Koristan link httpjmp1mvlmSH

Puppy Linux 57 bdquoSlackordquo

12 mart 2014

Nova verzija Slacko PuppyLinuxa je objavljenaSlacko Puppy je izgrađenod Slackware 140 binar-

nih TXZ paketa otuda ima binarnukompatibilnost sa Slackware i pristupSlackware Salix i Slacky riznicama

Koristan link httpjmp1pyObuB

Blender fondacija radi na novom

animiranom filmu

15 mart 2014

Blender fondacija je 9marta pokrenula kampa-nju u trajanju od četr-deset dana sa ciljemprikupljanja 500 000 euro

kojima bi se finansirao novi open sourceanimirani film

Koristan link httpjmp1 lmzXzt

PC-BSD 1001

16 mart 2014

Prvo PC-BSD 100 kvar-talno ažuriranje je prednama sada je dostupan1001 Ovaj update do-nosi ispravke grešakanovije pakete KDE

4122 Cinnamon 20 i ažuriran GRUB

Koristan link httpjmp1gYjNog

Tiny Core Linux 521 bdquopiCorerdquo

17 mart 2014

Objavljen je piCore 521Tiny Core Linuxa zaRaspberry Pi single-boardkompjuter Tiny CoreLinux nije tradicionalnadistribucija već je alatkoji omogućava da na-

pravite sopstveni prilagođeni sistem

Koristan link httpjmp1 lmA2TT

Evropski parlament prelazi na ODF i

Ubuntu-based Distro

19 mart 2014

Nakon Britanije koja seobavezala da će preći naOpen Document Formatnekoliko članica Evrop-skog parlamenta pokrećeistu inicijativu u svojim

administracijama Prelazak na ODF jeprvi korak u prelasku EU administracijena open source

Koristan link httpjmp1dOzLkR

LiBRE vesti broj 23

Mart 2014 7

Tails 023

20 mart 2014

Tails je Debian-basedbdquoživardquo CD distribucijaprekonfigurisana za ano-nimno pretraživanje web-a Nova verzija 023 jeobjavljena Ovo izdanje

rešava brojna pitanja sigurnosti ipreporučuje se da svi koji su do sadakoristili Tails odmah ga nadograde nanovu verziju

Koristan link httpjmp1 iB0yFD

Udruga Osijek Software City organizuje

The Geek Gathering 2014

20 mart 2014

Udruga Osijek SoftwareCity organizuje drugi poredu The Geek Gatheringtrodnevnu godišnju kon-ferenciju koja će seodržati od 8 do 11 maja2014 godine u hotelu

bdquoOsijekrdquo Brojna poznata imena već supotvrdila dolazak

Koristan link httpjmp1fk0WnY

ATM operateri žele Linux umesto XP-a

20 mart 2014

Neke kompanije koje nu-de finansijske uslugežele da svoje ATM uređajeprebace sa Windowsa naLinux u pokušaju da

imaju bolju kontrolu nad hardverom istandardne cikluse updatea softveraPotez koji ih gura u ovom pravcu

očigledno je odluka Microsofta daokonča podršku za Windows XP 8 aprilaove godine

Koristan link httpjmpNHDQA2

Open Way

31 mart 2014

U petak 25 aprila 2014godine u Novom Mestu(Slovenija) održaće seOpen Way - konferencijaposvećena open source

rešenjima

Koristan link httpjmp1hvb3ur

LiBRE prijtelji

LiBRE vesti broj 23

8 LiBRE časopis o slobodnom softveru

Autor portal bdquoLinux Za Sverdquo

Konferencija će se održavati u raz-doblju od 24 do 28 travnja (aprila)

u prostorijama Dubrovačkog Sveučili-šta Prisustvovanje konferenciji jepotpuno besplatno Potrebno je samoregistrirati se na službenim stranicamakonferencije (httpsconferenceopensuseorgosemaccountssign_in)Registracije su otvorene do 24 travnja(aprila) uključujući i sam dan nopreporuča se da ipak napravite svojuprijavu ranije da se zna koliko će ljudiotprilike doći

Na konferenciji možete prisustvovatizanimljivim predavanjima i radioni-cama te sudjelovati u razmjeni znanja iiskustva s okupljenim sudionicima

Konferencija se održava jednomgodišnje a mjesto održavanja se svakegodine mijenja Tako su se ove godinena prijedlog HrOpena HULK-a iDubrovačkog Sveučilišta u openSUSE-uodlučili posjetiti Dubrovnik

OpenSUSE konferencija tradicionalnoima temu a ove godine to je bdquoSposob-nost za promijeniti serdquo Promjena jekonstanta slobodnog softvera a sarastom relevantnosti mobilnih uređaja ioperacijskih sustava poput Androida iChromebookova treba se prilagoditi narazini čitavog openSUSE projekta

Strategije o tome kako tonajbolje izvesti diskutiralase i diskutira se putemraznih digitalnih medija alii uživo Zbog toga ovakonferencija dolazi u četiriparalelna segmenta i na-mijenjena je različitiminteresnim skupinama snadom da će se naćizajednički jezik i rješenje zapromjene u okolišu Pro-

mjena nije nikada lagana ali je uvijekvažna

OOppeennSSUUSSEE iillii oossCCEE1144 kkoonnffeerreenncciijjaa uuDDuubbrroovvnniikkuu

osCE14Puls slobode

Mart 2014 9

Krajnji korisniciOvaj segment pruža prilikunaprednim korisnicima bilokojih aplikacija da dijele svojeznanje i trikove kako bi uspjelipostići najviše određenim ala-tom koji koriste Ukoliko (ne)znate za malo poznate alikorisne funkcije ili programeovdje ih možete podijeliti sadrugima ili saznati nešto novoTeme uključuju ali nisu ogra-ničene na aplikacije desktopokruženja multimediju i igre

Poslovni korisniciOvaj segment je namijenjen ljudimakoji koriste openSUSE iili FOSS uposlovnim okruženjima da opišu sačime se sve susreću te riješenja isavjete za bolji rad Teme uključuju alinisu ograničene na probleme i rješenjavezana za komunikaciju sa državnimagencijama regulatornim agencijamadrugim poslovnim subjektima obukomosoblja te promjenom tehnologije kaotakve

Zajednica i projekatOvaj segment se odnosi i fokusira se naprojekte i aktivnosti zajednice Temeuključuju ali nisu ograničene naupravljanje samim projektom marke-ting i grafički dizajn U mnogoslučajeva ovaj dio naglašava zajedništvozajednice i kooperaciju te jedinstveneprobleme sa kojima sa openSUSEzajednica suočava Ukoliko imate idejekako pomoći zajednici da bude jača

nego prije najbolje će biti da u njoj isudjelujete

Tehnologija i razvojU ovom dijelu će se koncentrirati nasistemsku tehnologiju i razvoj distri-bucije uključujući paketni sustav(rpm) razvoj testiranje debugiranjepraksu i razvojne metode infrastruk-turu izdavanje i nadzor Saznat ćete ibolje razumijeti kako se koriste alati urazvoju SUSE distribucije ali i drugihprojekata nevezanih direktno zadistribuciju

Što još reći osim skupite ekipu nađitesi neki jeftiniji smještaj uživajte upredsezoni u ovom prekrasnom gradudružite se s Linuksašima iz cijelogsvijeta i dođite uživo vidjeti legendeFLOSS i Linux svijeta Jamčimo vam daćete se odlično zabaviti

Korisni linkovi[1 ] httpconferenceopensuseorg[2] httpwwwlinuxzasvecom

ovogodisnja-opensuse-konferencija-odrzat-ce-se-u-dubrovniku

osCE14Puls slobode

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 4: LiBRE 23 Lat

4 LiBRE časopis o slobodnom softveru

LiBRE vesti str 6

Puls slobode str 8

OpenSUSE ili osCE14konferencija u Dubrovniku str 8

Ugovor Republike Srbijesa Microsoftom (5deo) str 10

aquaticycom str 14

Predstavljamo str 17

Serbian 2014 (1 deo) str 17

Kako da str 23

Uvod u programskijezik C (1 deo) str 23

Oslobađanje str 26

Linux unatraške str 26

Slobodni profesionalac str 31

OpenCV str 31

Vesti

LiBRE sadržaj broj 23

Mart 2014 5

Internet mrežekomunikacije str 35

TormrežaOnline anonimnost isigurnost (2deo) str 35

Mobilni kutak str 38

Android ispod haube str 38

Network Spoofer str 45

LiBRE prijatelji

LiBRE sadržaj broj 23

6 LiBRE časopis o slobodnom softveru

Redovna godišnja openSUSE

konferencija

9 mart 2014

Ovogodišnja openSUSEkonferencija nazvanabdquoSnaga promenerdquo (TheStrength to Change) kojaće se održati od 24 do28 aprila u Dubrovniku

okupiće članove openSUSE zajednicekao i ostale članove F(L)OSS zajednice

Koristan link httpjmp1mvlmSH

Puppy Linux 57 bdquoSlackordquo

12 mart 2014

Nova verzija Slacko PuppyLinuxa je objavljenaSlacko Puppy je izgrađenod Slackware 140 binar-

nih TXZ paketa otuda ima binarnukompatibilnost sa Slackware i pristupSlackware Salix i Slacky riznicama

Koristan link httpjmp1pyObuB

Blender fondacija radi na novom

animiranom filmu

15 mart 2014

Blender fondacija je 9marta pokrenula kampa-nju u trajanju od četr-deset dana sa ciljemprikupljanja 500 000 euro

kojima bi se finansirao novi open sourceanimirani film

Koristan link httpjmp1 lmzXzt

PC-BSD 1001

16 mart 2014

Prvo PC-BSD 100 kvar-talno ažuriranje je prednama sada je dostupan1001 Ovaj update do-nosi ispravke grešakanovije pakete KDE

4122 Cinnamon 20 i ažuriran GRUB

Koristan link httpjmp1gYjNog

Tiny Core Linux 521 bdquopiCorerdquo

17 mart 2014

Objavljen je piCore 521Tiny Core Linuxa zaRaspberry Pi single-boardkompjuter Tiny CoreLinux nije tradicionalnadistribucija već je alatkoji omogućava da na-

pravite sopstveni prilagođeni sistem

Koristan link httpjmp1 lmA2TT

Evropski parlament prelazi na ODF i

Ubuntu-based Distro

19 mart 2014

Nakon Britanije koja seobavezala da će preći naOpen Document Formatnekoliko članica Evrop-skog parlamenta pokrećeistu inicijativu u svojim

administracijama Prelazak na ODF jeprvi korak u prelasku EU administracijena open source

Koristan link httpjmp1dOzLkR

LiBRE vesti broj 23

Mart 2014 7

Tails 023

20 mart 2014

Tails je Debian-basedbdquoživardquo CD distribucijaprekonfigurisana za ano-nimno pretraživanje web-a Nova verzija 023 jeobjavljena Ovo izdanje

rešava brojna pitanja sigurnosti ipreporučuje se da svi koji su do sadakoristili Tails odmah ga nadograde nanovu verziju

Koristan link httpjmp1 iB0yFD

Udruga Osijek Software City organizuje

The Geek Gathering 2014

20 mart 2014

Udruga Osijek SoftwareCity organizuje drugi poredu The Geek Gatheringtrodnevnu godišnju kon-ferenciju koja će seodržati od 8 do 11 maja2014 godine u hotelu

bdquoOsijekrdquo Brojna poznata imena već supotvrdila dolazak

Koristan link httpjmp1fk0WnY

ATM operateri žele Linux umesto XP-a

20 mart 2014

Neke kompanije koje nu-de finansijske uslugežele da svoje ATM uređajeprebace sa Windowsa naLinux u pokušaju da

imaju bolju kontrolu nad hardverom istandardne cikluse updatea softveraPotez koji ih gura u ovom pravcu

očigledno je odluka Microsofta daokonča podršku za Windows XP 8 aprilaove godine

Koristan link httpjmpNHDQA2

Open Way

31 mart 2014

U petak 25 aprila 2014godine u Novom Mestu(Slovenija) održaće seOpen Way - konferencijaposvećena open source

rešenjima

Koristan link httpjmp1hvb3ur

LiBRE prijtelji

LiBRE vesti broj 23

8 LiBRE časopis o slobodnom softveru

Autor portal bdquoLinux Za Sverdquo

Konferencija će se održavati u raz-doblju od 24 do 28 travnja (aprila)

u prostorijama Dubrovačkog Sveučili-šta Prisustvovanje konferenciji jepotpuno besplatno Potrebno je samoregistrirati se na službenim stranicamakonferencije (httpsconferenceopensuseorgosemaccountssign_in)Registracije su otvorene do 24 travnja(aprila) uključujući i sam dan nopreporuča se da ipak napravite svojuprijavu ranije da se zna koliko će ljudiotprilike doći

Na konferenciji možete prisustvovatizanimljivim predavanjima i radioni-cama te sudjelovati u razmjeni znanja iiskustva s okupljenim sudionicima

Konferencija se održava jednomgodišnje a mjesto održavanja se svakegodine mijenja Tako su se ove godinena prijedlog HrOpena HULK-a iDubrovačkog Sveučilišta u openSUSE-uodlučili posjetiti Dubrovnik

OpenSUSE konferencija tradicionalnoima temu a ove godine to je bdquoSposob-nost za promijeniti serdquo Promjena jekonstanta slobodnog softvera a sarastom relevantnosti mobilnih uređaja ioperacijskih sustava poput Androida iChromebookova treba se prilagoditi narazini čitavog openSUSE projekta

Strategije o tome kako tonajbolje izvesti diskutiralase i diskutira se putemraznih digitalnih medija alii uživo Zbog toga ovakonferencija dolazi u četiriparalelna segmenta i na-mijenjena je različitiminteresnim skupinama snadom da će se naćizajednički jezik i rješenje zapromjene u okolišu Pro-

mjena nije nikada lagana ali je uvijekvažna

OOppeennSSUUSSEE iillii oossCCEE1144 kkoonnffeerreenncciijjaa uuDDuubbrroovvnniikkuu

osCE14Puls slobode

Mart 2014 9

Krajnji korisniciOvaj segment pruža prilikunaprednim korisnicima bilokojih aplikacija da dijele svojeznanje i trikove kako bi uspjelipostići najviše određenim ala-tom koji koriste Ukoliko (ne)znate za malo poznate alikorisne funkcije ili programeovdje ih možete podijeliti sadrugima ili saznati nešto novoTeme uključuju ali nisu ogra-ničene na aplikacije desktopokruženja multimediju i igre

Poslovni korisniciOvaj segment je namijenjen ljudimakoji koriste openSUSE iili FOSS uposlovnim okruženjima da opišu sačime se sve susreću te riješenja isavjete za bolji rad Teme uključuju alinisu ograničene na probleme i rješenjavezana za komunikaciju sa državnimagencijama regulatornim agencijamadrugim poslovnim subjektima obukomosoblja te promjenom tehnologije kaotakve

Zajednica i projekatOvaj segment se odnosi i fokusira se naprojekte i aktivnosti zajednice Temeuključuju ali nisu ograničene naupravljanje samim projektom marke-ting i grafički dizajn U mnogoslučajeva ovaj dio naglašava zajedništvozajednice i kooperaciju te jedinstveneprobleme sa kojima sa openSUSEzajednica suočava Ukoliko imate idejekako pomoći zajednici da bude jača

nego prije najbolje će biti da u njoj isudjelujete

Tehnologija i razvojU ovom dijelu će se koncentrirati nasistemsku tehnologiju i razvoj distri-bucije uključujući paketni sustav(rpm) razvoj testiranje debugiranjepraksu i razvojne metode infrastruk-turu izdavanje i nadzor Saznat ćete ibolje razumijeti kako se koriste alati urazvoju SUSE distribucije ali i drugihprojekata nevezanih direktno zadistribuciju

Što još reći osim skupite ekipu nađitesi neki jeftiniji smještaj uživajte upredsezoni u ovom prekrasnom gradudružite se s Linuksašima iz cijelogsvijeta i dođite uživo vidjeti legendeFLOSS i Linux svijeta Jamčimo vam daćete se odlično zabaviti

Korisni linkovi[1 ] httpconferenceopensuseorg[2] httpwwwlinuxzasvecom

ovogodisnja-opensuse-konferencija-odrzat-ce-se-u-dubrovniku

osCE14Puls slobode

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 5: LiBRE 23 Lat

Mart 2014 5

Internet mrežekomunikacije str 35

TormrežaOnline anonimnost isigurnost (2deo) str 35

Mobilni kutak str 38

Android ispod haube str 38

Network Spoofer str 45

LiBRE prijatelji

LiBRE sadržaj broj 23

6 LiBRE časopis o slobodnom softveru

Redovna godišnja openSUSE

konferencija

9 mart 2014

Ovogodišnja openSUSEkonferencija nazvanabdquoSnaga promenerdquo (TheStrength to Change) kojaće se održati od 24 do28 aprila u Dubrovniku

okupiće članove openSUSE zajednicekao i ostale članove F(L)OSS zajednice

Koristan link httpjmp1mvlmSH

Puppy Linux 57 bdquoSlackordquo

12 mart 2014

Nova verzija Slacko PuppyLinuxa je objavljenaSlacko Puppy je izgrađenod Slackware 140 binar-

nih TXZ paketa otuda ima binarnukompatibilnost sa Slackware i pristupSlackware Salix i Slacky riznicama

Koristan link httpjmp1pyObuB

Blender fondacija radi na novom

animiranom filmu

15 mart 2014

Blender fondacija je 9marta pokrenula kampa-nju u trajanju od četr-deset dana sa ciljemprikupljanja 500 000 euro

kojima bi se finansirao novi open sourceanimirani film

Koristan link httpjmp1 lmzXzt

PC-BSD 1001

16 mart 2014

Prvo PC-BSD 100 kvar-talno ažuriranje je prednama sada je dostupan1001 Ovaj update do-nosi ispravke grešakanovije pakete KDE

4122 Cinnamon 20 i ažuriran GRUB

Koristan link httpjmp1gYjNog

Tiny Core Linux 521 bdquopiCorerdquo

17 mart 2014

Objavljen je piCore 521Tiny Core Linuxa zaRaspberry Pi single-boardkompjuter Tiny CoreLinux nije tradicionalnadistribucija već je alatkoji omogućava da na-

pravite sopstveni prilagođeni sistem

Koristan link httpjmp1 lmA2TT

Evropski parlament prelazi na ODF i

Ubuntu-based Distro

19 mart 2014

Nakon Britanije koja seobavezala da će preći naOpen Document Formatnekoliko članica Evrop-skog parlamenta pokrećeistu inicijativu u svojim

administracijama Prelazak na ODF jeprvi korak u prelasku EU administracijena open source

Koristan link httpjmp1dOzLkR

LiBRE vesti broj 23

Mart 2014 7

Tails 023

20 mart 2014

Tails je Debian-basedbdquoživardquo CD distribucijaprekonfigurisana za ano-nimno pretraživanje web-a Nova verzija 023 jeobjavljena Ovo izdanje

rešava brojna pitanja sigurnosti ipreporučuje se da svi koji su do sadakoristili Tails odmah ga nadograde nanovu verziju

Koristan link httpjmp1 iB0yFD

Udruga Osijek Software City organizuje

The Geek Gathering 2014

20 mart 2014

Udruga Osijek SoftwareCity organizuje drugi poredu The Geek Gatheringtrodnevnu godišnju kon-ferenciju koja će seodržati od 8 do 11 maja2014 godine u hotelu

bdquoOsijekrdquo Brojna poznata imena već supotvrdila dolazak

Koristan link httpjmp1fk0WnY

ATM operateri žele Linux umesto XP-a

20 mart 2014

Neke kompanije koje nu-de finansijske uslugežele da svoje ATM uređajeprebace sa Windowsa naLinux u pokušaju da

imaju bolju kontrolu nad hardverom istandardne cikluse updatea softveraPotez koji ih gura u ovom pravcu

očigledno je odluka Microsofta daokonča podršku za Windows XP 8 aprilaove godine

Koristan link httpjmpNHDQA2

Open Way

31 mart 2014

U petak 25 aprila 2014godine u Novom Mestu(Slovenija) održaće seOpen Way - konferencijaposvećena open source

rešenjima

Koristan link httpjmp1hvb3ur

LiBRE prijtelji

LiBRE vesti broj 23

8 LiBRE časopis o slobodnom softveru

Autor portal bdquoLinux Za Sverdquo

Konferencija će se održavati u raz-doblju od 24 do 28 travnja (aprila)

u prostorijama Dubrovačkog Sveučili-šta Prisustvovanje konferenciji jepotpuno besplatno Potrebno je samoregistrirati se na službenim stranicamakonferencije (httpsconferenceopensuseorgosemaccountssign_in)Registracije su otvorene do 24 travnja(aprila) uključujući i sam dan nopreporuča se da ipak napravite svojuprijavu ranije da se zna koliko će ljudiotprilike doći

Na konferenciji možete prisustvovatizanimljivim predavanjima i radioni-cama te sudjelovati u razmjeni znanja iiskustva s okupljenim sudionicima

Konferencija se održava jednomgodišnje a mjesto održavanja se svakegodine mijenja Tako su se ove godinena prijedlog HrOpena HULK-a iDubrovačkog Sveučilišta u openSUSE-uodlučili posjetiti Dubrovnik

OpenSUSE konferencija tradicionalnoima temu a ove godine to je bdquoSposob-nost za promijeniti serdquo Promjena jekonstanta slobodnog softvera a sarastom relevantnosti mobilnih uređaja ioperacijskih sustava poput Androida iChromebookova treba se prilagoditi narazini čitavog openSUSE projekta

Strategije o tome kako tonajbolje izvesti diskutiralase i diskutira se putemraznih digitalnih medija alii uživo Zbog toga ovakonferencija dolazi u četiriparalelna segmenta i na-mijenjena je različitiminteresnim skupinama snadom da će se naćizajednički jezik i rješenje zapromjene u okolišu Pro-

mjena nije nikada lagana ali je uvijekvažna

OOppeennSSUUSSEE iillii oossCCEE1144 kkoonnffeerreenncciijjaa uuDDuubbrroovvnniikkuu

osCE14Puls slobode

Mart 2014 9

Krajnji korisniciOvaj segment pruža prilikunaprednim korisnicima bilokojih aplikacija da dijele svojeznanje i trikove kako bi uspjelipostići najviše određenim ala-tom koji koriste Ukoliko (ne)znate za malo poznate alikorisne funkcije ili programeovdje ih možete podijeliti sadrugima ili saznati nešto novoTeme uključuju ali nisu ogra-ničene na aplikacije desktopokruženja multimediju i igre

Poslovni korisniciOvaj segment je namijenjen ljudimakoji koriste openSUSE iili FOSS uposlovnim okruženjima da opišu sačime se sve susreću te riješenja isavjete za bolji rad Teme uključuju alinisu ograničene na probleme i rješenjavezana za komunikaciju sa državnimagencijama regulatornim agencijamadrugim poslovnim subjektima obukomosoblja te promjenom tehnologije kaotakve

Zajednica i projekatOvaj segment se odnosi i fokusira se naprojekte i aktivnosti zajednice Temeuključuju ali nisu ograničene naupravljanje samim projektom marke-ting i grafički dizajn U mnogoslučajeva ovaj dio naglašava zajedništvozajednice i kooperaciju te jedinstveneprobleme sa kojima sa openSUSEzajednica suočava Ukoliko imate idejekako pomoći zajednici da bude jača

nego prije najbolje će biti da u njoj isudjelujete

Tehnologija i razvojU ovom dijelu će se koncentrirati nasistemsku tehnologiju i razvoj distri-bucije uključujući paketni sustav(rpm) razvoj testiranje debugiranjepraksu i razvojne metode infrastruk-turu izdavanje i nadzor Saznat ćete ibolje razumijeti kako se koriste alati urazvoju SUSE distribucije ali i drugihprojekata nevezanih direktno zadistribuciju

Što još reći osim skupite ekipu nađitesi neki jeftiniji smještaj uživajte upredsezoni u ovom prekrasnom gradudružite se s Linuksašima iz cijelogsvijeta i dođite uživo vidjeti legendeFLOSS i Linux svijeta Jamčimo vam daćete se odlično zabaviti

Korisni linkovi[1 ] httpconferenceopensuseorg[2] httpwwwlinuxzasvecom

ovogodisnja-opensuse-konferencija-odrzat-ce-se-u-dubrovniku

osCE14Puls slobode

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 6: LiBRE 23 Lat

6 LiBRE časopis o slobodnom softveru

Redovna godišnja openSUSE

konferencija

9 mart 2014

Ovogodišnja openSUSEkonferencija nazvanabdquoSnaga promenerdquo (TheStrength to Change) kojaće se održati od 24 do28 aprila u Dubrovniku

okupiće članove openSUSE zajednicekao i ostale članove F(L)OSS zajednice

Koristan link httpjmp1mvlmSH

Puppy Linux 57 bdquoSlackordquo

12 mart 2014

Nova verzija Slacko PuppyLinuxa je objavljenaSlacko Puppy je izgrađenod Slackware 140 binar-

nih TXZ paketa otuda ima binarnukompatibilnost sa Slackware i pristupSlackware Salix i Slacky riznicama

Koristan link httpjmp1pyObuB

Blender fondacija radi na novom

animiranom filmu

15 mart 2014

Blender fondacija je 9marta pokrenula kampa-nju u trajanju od četr-deset dana sa ciljemprikupljanja 500 000 euro

kojima bi se finansirao novi open sourceanimirani film

Koristan link httpjmp1 lmzXzt

PC-BSD 1001

16 mart 2014

Prvo PC-BSD 100 kvar-talno ažuriranje je prednama sada je dostupan1001 Ovaj update do-nosi ispravke grešakanovije pakete KDE

4122 Cinnamon 20 i ažuriran GRUB

Koristan link httpjmp1gYjNog

Tiny Core Linux 521 bdquopiCorerdquo

17 mart 2014

Objavljen je piCore 521Tiny Core Linuxa zaRaspberry Pi single-boardkompjuter Tiny CoreLinux nije tradicionalnadistribucija već je alatkoji omogućava da na-

pravite sopstveni prilagođeni sistem

Koristan link httpjmp1 lmA2TT

Evropski parlament prelazi na ODF i

Ubuntu-based Distro

19 mart 2014

Nakon Britanije koja seobavezala da će preći naOpen Document Formatnekoliko članica Evrop-skog parlamenta pokrećeistu inicijativu u svojim

administracijama Prelazak na ODF jeprvi korak u prelasku EU administracijena open source

Koristan link httpjmp1dOzLkR

LiBRE vesti broj 23

Mart 2014 7

Tails 023

20 mart 2014

Tails je Debian-basedbdquoživardquo CD distribucijaprekonfigurisana za ano-nimno pretraživanje web-a Nova verzija 023 jeobjavljena Ovo izdanje

rešava brojna pitanja sigurnosti ipreporučuje se da svi koji su do sadakoristili Tails odmah ga nadograde nanovu verziju

Koristan link httpjmp1 iB0yFD

Udruga Osijek Software City organizuje

The Geek Gathering 2014

20 mart 2014

Udruga Osijek SoftwareCity organizuje drugi poredu The Geek Gatheringtrodnevnu godišnju kon-ferenciju koja će seodržati od 8 do 11 maja2014 godine u hotelu

bdquoOsijekrdquo Brojna poznata imena već supotvrdila dolazak

Koristan link httpjmp1fk0WnY

ATM operateri žele Linux umesto XP-a

20 mart 2014

Neke kompanije koje nu-de finansijske uslugežele da svoje ATM uređajeprebace sa Windowsa naLinux u pokušaju da

imaju bolju kontrolu nad hardverom istandardne cikluse updatea softveraPotez koji ih gura u ovom pravcu

očigledno je odluka Microsofta daokonča podršku za Windows XP 8 aprilaove godine

Koristan link httpjmpNHDQA2

Open Way

31 mart 2014

U petak 25 aprila 2014godine u Novom Mestu(Slovenija) održaće seOpen Way - konferencijaposvećena open source

rešenjima

Koristan link httpjmp1hvb3ur

LiBRE prijtelji

LiBRE vesti broj 23

8 LiBRE časopis o slobodnom softveru

Autor portal bdquoLinux Za Sverdquo

Konferencija će se održavati u raz-doblju od 24 do 28 travnja (aprila)

u prostorijama Dubrovačkog Sveučili-šta Prisustvovanje konferenciji jepotpuno besplatno Potrebno je samoregistrirati se na službenim stranicamakonferencije (httpsconferenceopensuseorgosemaccountssign_in)Registracije su otvorene do 24 travnja(aprila) uključujući i sam dan nopreporuča se da ipak napravite svojuprijavu ranije da se zna koliko će ljudiotprilike doći

Na konferenciji možete prisustvovatizanimljivim predavanjima i radioni-cama te sudjelovati u razmjeni znanja iiskustva s okupljenim sudionicima

Konferencija se održava jednomgodišnje a mjesto održavanja se svakegodine mijenja Tako su se ove godinena prijedlog HrOpena HULK-a iDubrovačkog Sveučilišta u openSUSE-uodlučili posjetiti Dubrovnik

OpenSUSE konferencija tradicionalnoima temu a ove godine to je bdquoSposob-nost za promijeniti serdquo Promjena jekonstanta slobodnog softvera a sarastom relevantnosti mobilnih uređaja ioperacijskih sustava poput Androida iChromebookova treba se prilagoditi narazini čitavog openSUSE projekta

Strategije o tome kako tonajbolje izvesti diskutiralase i diskutira se putemraznih digitalnih medija alii uživo Zbog toga ovakonferencija dolazi u četiriparalelna segmenta i na-mijenjena je različitiminteresnim skupinama snadom da će se naćizajednički jezik i rješenje zapromjene u okolišu Pro-

mjena nije nikada lagana ali je uvijekvažna

OOppeennSSUUSSEE iillii oossCCEE1144 kkoonnffeerreenncciijjaa uuDDuubbrroovvnniikkuu

osCE14Puls slobode

Mart 2014 9

Krajnji korisniciOvaj segment pruža prilikunaprednim korisnicima bilokojih aplikacija da dijele svojeznanje i trikove kako bi uspjelipostići najviše određenim ala-tom koji koriste Ukoliko (ne)znate za malo poznate alikorisne funkcije ili programeovdje ih možete podijeliti sadrugima ili saznati nešto novoTeme uključuju ali nisu ogra-ničene na aplikacije desktopokruženja multimediju i igre

Poslovni korisniciOvaj segment je namijenjen ljudimakoji koriste openSUSE iili FOSS uposlovnim okruženjima da opišu sačime se sve susreću te riješenja isavjete za bolji rad Teme uključuju alinisu ograničene na probleme i rješenjavezana za komunikaciju sa državnimagencijama regulatornim agencijamadrugim poslovnim subjektima obukomosoblja te promjenom tehnologije kaotakve

Zajednica i projekatOvaj segment se odnosi i fokusira se naprojekte i aktivnosti zajednice Temeuključuju ali nisu ograničene naupravljanje samim projektom marke-ting i grafički dizajn U mnogoslučajeva ovaj dio naglašava zajedništvozajednice i kooperaciju te jedinstveneprobleme sa kojima sa openSUSEzajednica suočava Ukoliko imate idejekako pomoći zajednici da bude jača

nego prije najbolje će biti da u njoj isudjelujete

Tehnologija i razvojU ovom dijelu će se koncentrirati nasistemsku tehnologiju i razvoj distri-bucije uključujući paketni sustav(rpm) razvoj testiranje debugiranjepraksu i razvojne metode infrastruk-turu izdavanje i nadzor Saznat ćete ibolje razumijeti kako se koriste alati urazvoju SUSE distribucije ali i drugihprojekata nevezanih direktno zadistribuciju

Što još reći osim skupite ekipu nađitesi neki jeftiniji smještaj uživajte upredsezoni u ovom prekrasnom gradudružite se s Linuksašima iz cijelogsvijeta i dođite uživo vidjeti legendeFLOSS i Linux svijeta Jamčimo vam daćete se odlično zabaviti

Korisni linkovi[1 ] httpconferenceopensuseorg[2] httpwwwlinuxzasvecom

ovogodisnja-opensuse-konferencija-odrzat-ce-se-u-dubrovniku

osCE14Puls slobode

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 7: LiBRE 23 Lat

Mart 2014 7

Tails 023

20 mart 2014

Tails je Debian-basedbdquoživardquo CD distribucijaprekonfigurisana za ano-nimno pretraživanje web-a Nova verzija 023 jeobjavljena Ovo izdanje

rešava brojna pitanja sigurnosti ipreporučuje se da svi koji su do sadakoristili Tails odmah ga nadograde nanovu verziju

Koristan link httpjmp1 iB0yFD

Udruga Osijek Software City organizuje

The Geek Gathering 2014

20 mart 2014

Udruga Osijek SoftwareCity organizuje drugi poredu The Geek Gatheringtrodnevnu godišnju kon-ferenciju koja će seodržati od 8 do 11 maja2014 godine u hotelu

bdquoOsijekrdquo Brojna poznata imena već supotvrdila dolazak

Koristan link httpjmp1fk0WnY

ATM operateri žele Linux umesto XP-a

20 mart 2014

Neke kompanije koje nu-de finansijske uslugežele da svoje ATM uređajeprebace sa Windowsa naLinux u pokušaju da

imaju bolju kontrolu nad hardverom istandardne cikluse updatea softveraPotez koji ih gura u ovom pravcu

očigledno je odluka Microsofta daokonča podršku za Windows XP 8 aprilaove godine

Koristan link httpjmpNHDQA2

Open Way

31 mart 2014

U petak 25 aprila 2014godine u Novom Mestu(Slovenija) održaće seOpen Way - konferencijaposvećena open source

rešenjima

Koristan link httpjmp1hvb3ur

LiBRE prijtelji

LiBRE vesti broj 23

8 LiBRE časopis o slobodnom softveru

Autor portal bdquoLinux Za Sverdquo

Konferencija će se održavati u raz-doblju od 24 do 28 travnja (aprila)

u prostorijama Dubrovačkog Sveučili-šta Prisustvovanje konferenciji jepotpuno besplatno Potrebno je samoregistrirati se na službenim stranicamakonferencije (httpsconferenceopensuseorgosemaccountssign_in)Registracije su otvorene do 24 travnja(aprila) uključujući i sam dan nopreporuča se da ipak napravite svojuprijavu ranije da se zna koliko će ljudiotprilike doći

Na konferenciji možete prisustvovatizanimljivim predavanjima i radioni-cama te sudjelovati u razmjeni znanja iiskustva s okupljenim sudionicima

Konferencija se održava jednomgodišnje a mjesto održavanja se svakegodine mijenja Tako su se ove godinena prijedlog HrOpena HULK-a iDubrovačkog Sveučilišta u openSUSE-uodlučili posjetiti Dubrovnik

OpenSUSE konferencija tradicionalnoima temu a ove godine to je bdquoSposob-nost za promijeniti serdquo Promjena jekonstanta slobodnog softvera a sarastom relevantnosti mobilnih uređaja ioperacijskih sustava poput Androida iChromebookova treba se prilagoditi narazini čitavog openSUSE projekta

Strategije o tome kako tonajbolje izvesti diskutiralase i diskutira se putemraznih digitalnih medija alii uživo Zbog toga ovakonferencija dolazi u četiriparalelna segmenta i na-mijenjena je različitiminteresnim skupinama snadom da će se naćizajednički jezik i rješenje zapromjene u okolišu Pro-

mjena nije nikada lagana ali je uvijekvažna

OOppeennSSUUSSEE iillii oossCCEE1144 kkoonnffeerreenncciijjaa uuDDuubbrroovvnniikkuu

osCE14Puls slobode

Mart 2014 9

Krajnji korisniciOvaj segment pruža prilikunaprednim korisnicima bilokojih aplikacija da dijele svojeznanje i trikove kako bi uspjelipostići najviše određenim ala-tom koji koriste Ukoliko (ne)znate za malo poznate alikorisne funkcije ili programeovdje ih možete podijeliti sadrugima ili saznati nešto novoTeme uključuju ali nisu ogra-ničene na aplikacije desktopokruženja multimediju i igre

Poslovni korisniciOvaj segment je namijenjen ljudimakoji koriste openSUSE iili FOSS uposlovnim okruženjima da opišu sačime se sve susreću te riješenja isavjete za bolji rad Teme uključuju alinisu ograničene na probleme i rješenjavezana za komunikaciju sa državnimagencijama regulatornim agencijamadrugim poslovnim subjektima obukomosoblja te promjenom tehnologije kaotakve

Zajednica i projekatOvaj segment se odnosi i fokusira se naprojekte i aktivnosti zajednice Temeuključuju ali nisu ograničene naupravljanje samim projektom marke-ting i grafički dizajn U mnogoslučajeva ovaj dio naglašava zajedništvozajednice i kooperaciju te jedinstveneprobleme sa kojima sa openSUSEzajednica suočava Ukoliko imate idejekako pomoći zajednici da bude jača

nego prije najbolje će biti da u njoj isudjelujete

Tehnologija i razvojU ovom dijelu će se koncentrirati nasistemsku tehnologiju i razvoj distri-bucije uključujući paketni sustav(rpm) razvoj testiranje debugiranjepraksu i razvojne metode infrastruk-turu izdavanje i nadzor Saznat ćete ibolje razumijeti kako se koriste alati urazvoju SUSE distribucije ali i drugihprojekata nevezanih direktno zadistribuciju

Što još reći osim skupite ekipu nađitesi neki jeftiniji smještaj uživajte upredsezoni u ovom prekrasnom gradudružite se s Linuksašima iz cijelogsvijeta i dođite uživo vidjeti legendeFLOSS i Linux svijeta Jamčimo vam daćete se odlično zabaviti

Korisni linkovi[1 ] httpconferenceopensuseorg[2] httpwwwlinuxzasvecom

ovogodisnja-opensuse-konferencija-odrzat-ce-se-u-dubrovniku

osCE14Puls slobode

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 8: LiBRE 23 Lat

8 LiBRE časopis o slobodnom softveru

Autor portal bdquoLinux Za Sverdquo

Konferencija će se održavati u raz-doblju od 24 do 28 travnja (aprila)

u prostorijama Dubrovačkog Sveučili-šta Prisustvovanje konferenciji jepotpuno besplatno Potrebno je samoregistrirati se na službenim stranicamakonferencije (httpsconferenceopensuseorgosemaccountssign_in)Registracije su otvorene do 24 travnja(aprila) uključujući i sam dan nopreporuča se da ipak napravite svojuprijavu ranije da se zna koliko će ljudiotprilike doći

Na konferenciji možete prisustvovatizanimljivim predavanjima i radioni-cama te sudjelovati u razmjeni znanja iiskustva s okupljenim sudionicima

Konferencija se održava jednomgodišnje a mjesto održavanja se svakegodine mijenja Tako su se ove godinena prijedlog HrOpena HULK-a iDubrovačkog Sveučilišta u openSUSE-uodlučili posjetiti Dubrovnik

OpenSUSE konferencija tradicionalnoima temu a ove godine to je bdquoSposob-nost za promijeniti serdquo Promjena jekonstanta slobodnog softvera a sarastom relevantnosti mobilnih uređaja ioperacijskih sustava poput Androida iChromebookova treba se prilagoditi narazini čitavog openSUSE projekta

Strategije o tome kako tonajbolje izvesti diskutiralase i diskutira se putemraznih digitalnih medija alii uživo Zbog toga ovakonferencija dolazi u četiriparalelna segmenta i na-mijenjena je različitiminteresnim skupinama snadom da će se naćizajednički jezik i rješenje zapromjene u okolišu Pro-

mjena nije nikada lagana ali je uvijekvažna

OOppeennSSUUSSEE iillii oossCCEE1144 kkoonnffeerreenncciijjaa uuDDuubbrroovvnniikkuu

osCE14Puls slobode

Mart 2014 9

Krajnji korisniciOvaj segment pruža prilikunaprednim korisnicima bilokojih aplikacija da dijele svojeznanje i trikove kako bi uspjelipostići najviše određenim ala-tom koji koriste Ukoliko (ne)znate za malo poznate alikorisne funkcije ili programeovdje ih možete podijeliti sadrugima ili saznati nešto novoTeme uključuju ali nisu ogra-ničene na aplikacije desktopokruženja multimediju i igre

Poslovni korisniciOvaj segment je namijenjen ljudimakoji koriste openSUSE iili FOSS uposlovnim okruženjima da opišu sačime se sve susreću te riješenja isavjete za bolji rad Teme uključuju alinisu ograničene na probleme i rješenjavezana za komunikaciju sa državnimagencijama regulatornim agencijamadrugim poslovnim subjektima obukomosoblja te promjenom tehnologije kaotakve

Zajednica i projekatOvaj segment se odnosi i fokusira se naprojekte i aktivnosti zajednice Temeuključuju ali nisu ograničene naupravljanje samim projektom marke-ting i grafički dizajn U mnogoslučajeva ovaj dio naglašava zajedništvozajednice i kooperaciju te jedinstveneprobleme sa kojima sa openSUSEzajednica suočava Ukoliko imate idejekako pomoći zajednici da bude jača

nego prije najbolje će biti da u njoj isudjelujete

Tehnologija i razvojU ovom dijelu će se koncentrirati nasistemsku tehnologiju i razvoj distri-bucije uključujući paketni sustav(rpm) razvoj testiranje debugiranjepraksu i razvojne metode infrastruk-turu izdavanje i nadzor Saznat ćete ibolje razumijeti kako se koriste alati urazvoju SUSE distribucije ali i drugihprojekata nevezanih direktno zadistribuciju

Što još reći osim skupite ekipu nađitesi neki jeftiniji smještaj uživajte upredsezoni u ovom prekrasnom gradudružite se s Linuksašima iz cijelogsvijeta i dođite uživo vidjeti legendeFLOSS i Linux svijeta Jamčimo vam daćete se odlično zabaviti

Korisni linkovi[1 ] httpconferenceopensuseorg[2] httpwwwlinuxzasvecom

ovogodisnja-opensuse-konferencija-odrzat-ce-se-u-dubrovniku

osCE14Puls slobode

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 9: LiBRE 23 Lat

Mart 2014 9

Krajnji korisniciOvaj segment pruža prilikunaprednim korisnicima bilokojih aplikacija da dijele svojeznanje i trikove kako bi uspjelipostići najviše određenim ala-tom koji koriste Ukoliko (ne)znate za malo poznate alikorisne funkcije ili programeovdje ih možete podijeliti sadrugima ili saznati nešto novoTeme uključuju ali nisu ogra-ničene na aplikacije desktopokruženja multimediju i igre

Poslovni korisniciOvaj segment je namijenjen ljudimakoji koriste openSUSE iili FOSS uposlovnim okruženjima da opišu sačime se sve susreću te riješenja isavjete za bolji rad Teme uključuju alinisu ograničene na probleme i rješenjavezana za komunikaciju sa državnimagencijama regulatornim agencijamadrugim poslovnim subjektima obukomosoblja te promjenom tehnologije kaotakve

Zajednica i projekatOvaj segment se odnosi i fokusira se naprojekte i aktivnosti zajednice Temeuključuju ali nisu ograničene naupravljanje samim projektom marke-ting i grafički dizajn U mnogoslučajeva ovaj dio naglašava zajedništvozajednice i kooperaciju te jedinstveneprobleme sa kojima sa openSUSEzajednica suočava Ukoliko imate idejekako pomoći zajednici da bude jača

nego prije najbolje će biti da u njoj isudjelujete

Tehnologija i razvojU ovom dijelu će se koncentrirati nasistemsku tehnologiju i razvoj distri-bucije uključujući paketni sustav(rpm) razvoj testiranje debugiranjepraksu i razvojne metode infrastruk-turu izdavanje i nadzor Saznat ćete ibolje razumijeti kako se koriste alati urazvoju SUSE distribucije ali i drugihprojekata nevezanih direktno zadistribuciju

Što još reći osim skupite ekipu nađitesi neki jeftiniji smještaj uživajte upredsezoni u ovom prekrasnom gradudružite se s Linuksašima iz cijelogsvijeta i dođite uživo vidjeti legendeFLOSS i Linux svijeta Jamčimo vam daćete se odlično zabaviti

Korisni linkovi[1 ] httpconferenceopensuseorg[2] httpwwwlinuxzasvecom

ovogodisnja-opensuse-konferencija-odrzat-ce-se-u-dubrovniku

osCE14Puls slobode

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 10: LiBRE 23 Lat

10 LiBRE časopis o slobodnom softveru

Autor Dejan Maglov

Moramo prvo da napravimo maludigresiju i da dopunimo

prethodni nastavak jednom informa-cijom Pomenuli smo da postojedrajveri za čitače sertifikacionih karticai propratni softver za Linux Po našimsaznanjima još niko nije uspeo da saovim drajverom i softverom prekoLinuxa komunicira sa sajtom Poreskeuprave Republike Srbije Sve radi ulokalu ali prilikom povezivanja saPoreskom upravom komunikacija sasertifikatom se ne prepoznaje Ukolikoipak neko nađe rešenje za ovaj problemvoleli bismo da nam to javite i podeliterešenje sa ostalim našim čitaocima

IstorijatVraćamo se na temu ovog nastavkaČinjenica je da u našoj zemlji važijednačina PC = Windows Sve statistikepotvrđuju da Windows pokreće preko97 PC-a Pod PC (personalnim raču-narima) ovog puta računamo desktop i

laptop računare Ovo je svetska stati-stika U razvijenim delovima sveta(SAD Kanada i Evropa) udeo Windowsaje nešto manji zbog većeg udela Mac OSX-a i donekle Linuxa ali u principuWindows svuda vlada na PC-u

Da bismo shvatili zašto je to takomorali bismo se malo vratiti u istorijuNešto o toj istoriji smo već pisali učlanku o pojmu FLOSS-a u broju 11 Već samim čitanjem istorijata PC-amože se steći prvi utisak u čemu jeproblem Prvih deset godina PC-a(1980-1990) Microsoft sa MSDOS-omnije imao praktično nikakvu konku-renciju na toj platformi Narednih desetgodina (1990-2000) nije imao dostojnukonkurenciju i učvrstio je svoju pozicijusa Windows 9x koji je svojom pojavompokrenuo PC revoluciju U to vremeApple Power MAC i IBM kompatibilni PCbili su hardverski različiti uređaji ( imalisu različite procesore) tako da se nisumešali i praktično nisu bili jedandrugom konkurencija u softverskompogledu

UUggoovvoorr RReeppuubblliikkee SSrrbbiijjee ssaaMMiiccrroossooffttoomm

(( 55 ddeeoo))

PC = Windows

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 11: LiBRE 23 Lat

Mart 2014 11

Koliko je PC revolucija na čelu saMicrosoft Windows 95 bila jakapokazuje i činjenica da je Apple moraoda dozvoli da se MS Office portuje naPower MAC Appleovo zaostajanje zaIBM kompatibilnim PC-em kulminiraprelaskom Mac Power PC-a sa Motorolana Intel procesore po principu bdquoako ihne možeš pobediti pridruži im serdquo

Prvih deset godina PC-a Linux nije nipostojao Narednih deset godina je biosuviše mlad i slab Linuxova ekspanzijapočinje tek sa pojavom širokopojasnoginterneta Mnogo je manji bio hendikepimati Windows bez interneta nego Linuxbez interneta Linux se potpuno oslanjana internet Preko interneta se distribu-ira nadograđuje i snabdeva programi-ma Sve informacije o Linuxu i OSS-usu na internetu na internetu je itehnička podrška Tehničku podršku

programe i informacije za Windowsmožete naći i kod prvog komšije

U našoj zemlji masovnije širenjeFLOSS-a i Linuxa počinje tek 2005godine kad su se pojavile prve wirelessmreže i ADSL priključci

Dvadeset pet godina apsolutne vlada-vine Windowsa se odrazilo na percepcijuda je PC = Windows U poslednjih desetgodina iako je Windows dobio dostojnualternativu statistika se nije znatnopromenila u korist FLOSS-a Informa-cije o postojanju alternative se još uvekteško i stidljivo pojavljuju

Pogledajte i danas bilo koji kompju-terski časopis TV emisiju ili udžbenikinformatike - o FLOSS-u ili ništa nećetemoći da čujete odnosno da pročitate iliće to biti manje od 1 ukupnogsadržaja

Ugovor Republike Srbije sa MicrosoftomPuls slobode

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 12: LiBRE 23 Lat

12 LiBRE časopis o slobodnom softveru

FLOSS u medijimaOvde opet dolazimo do začaranogkruga Nema informacija o FLOSS-u umedijima zato što ne postoji dovoljanbroj publike za taj sadržaj koji biznačajno povećao čitanost ili gledanosttog medija Sa druge strane korisnikaFLOSS-a ima toliko malo zato što nepostoji masovnija informacija o posto-janju i upotrebljivosti FLOSS-a

FLOSS aktivisti su prečesto skloni da zasve nevolje FLOSS-a optuže firme kojestoje iza vlasničkog softvera Češćiuzrok za ovakvo stanje je mnogo proza-ičniji LiBRE nema članke o BSD-u nezato što urednici blokiraju BSD iprotežiraju Linux već zato što nemaautore za BSD teme Slična situacija je isa medijima Ne verujemo da bi ijedanurednik odbio dobar tekst ili zanim-ljivog sagovornika za teme o FLOSS-uako mu se ponudi besplatno a da medijne sponzoriše neposredno MicrosoftNovac ipak okreće svet Komercijalnimediji bi mogli da angažuju autore zabilo koju oblast pa i za FLOSS ali za tonemaju interes jer im neće doneti većučitanost (gledanost) Besplatni članci igostovanja su druga priča Svakapopuna zanimljivim sadržajem jedobrodošla uredniku ako baš nijevezan ugovorom koji bi mogao bitiugrožen pričom o FLOSS-u

Komercijalni mediji se uvek trude da imsadržaj bude što popularniji i zanim-ljiviji Osamdesetih godina okosnicasadržaja je bila priča o novom hardveruPriče o hardveru devedesetih godinazamenila je priča o Windows 9x iostalom softveru za ovu platformu

Početkom 21 veka internet preuzimaokosnicu priča u medijima Danas oko-snica tema medija su mobilni uređajiMainstream teme medija su uvek oniproizvodi koji se najbrže menjaju i kojisu najprodavaniji u tom trenutku Takose stvara interesni krug gledaoci želeda gledaju (čitaju) o zanimljivim aktu-elnim temama mediji žele većugledanost (čitanost) a sponzori žele dase pojave u gledanim (čitanim) medi-jima

Uprkos tome što je razvoj OSS-a najbržiu poslednjih deset godina u odnosu nadruge informacione tehnologije to nijeprivuklo medijsku pažnju komercijalnihmedija jer se ne očekuje da to privučesponzora (reklame)

U početku kompjuterizacije mediji satemama o kompjuterima nisu mogli daračunaju ni na sponzore a publiku jetek trebalo da stvore Svojim entuzi-jazmom i upornošću prvi autori suuspeli da se probiju u moru konzer-vativnih novina i TV emisija i dapridobiju urednike koji su nakompjutere gledali samo kao na

Ugovor Republike Srbije sa MicrosoftomPuls slobode

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 13: LiBRE 23 Lat

Mart 2014 13

igračke Oni su imali više problema dase medijski probiju nego što bi sadFLOSS autori imali Kao što prvi autorikompjuterskih medija nisu mogli daračunaju na podršku starih urednikatako ni FLOSS autori ne mogu daračunaju na to da će bez njih urednicinaviknuti na već etablirani softverzatvorenog koda početi preko noći dauvode FLOSS u svoje medije bezgarancije da će im to doneti profitKomercijalni mediji već imaju svojupubliku i sponzore koje ne žele daizgube a pogotovo ne na takav način daulažu svoje pare u neizvestaneksperiment kao što je uvođenje FLOSStema

Druga decenija 21 veka je idealnaprilika da OSS probije medijskeblokade Zahvaljujući mobilnim uređa-jima OSS je već postao mainstream temakomercijalnih medija O AndroiduFirefox OS-u Tizenu se uveliko priča usvim medijima Doduše vrlo se stidljivogovori o tome kao o OSS-u Zanimljivoje da autora ovog teksta vrlo čestopitaju zašto koristi Linux a ne Windowskao sav bdquonormalan svetrdquo Onda ih onpita da li koriste Android na svomtelefonu I on je Linux da li to znači dani oni nisu bdquonormalan svetrdquo Intere-santno je da sad svi koriste Linux i to imje normalno iako ne znaju da gakoriste

LiBRE je drugi (prvi je GNUzilla)pokušaj FLOSS zajednice da se probijemedijska blokada za OSS Za razliku odkomercijalnih medija LiBRE eksklu-zivno pokriva samo teme o OSS-uTakođe mainstream tema u LiBRE jePC naročito desktop koji nije više u

fokusu medija jer prodaja te platformepada uprkos tome što je to i daljeglavna poslovna platforma

Umesto zaključkaZa sve nevolje ne treba kriviti drugeStanje u medijima je takvo kakvo jesteMediji svoj sadržaj popunjavaju onimtemama koje su popularne i donosekorist Njihova uloga je da zabave Akouz zabavu donesu i neku korisnuinformaciju odlično a ako ne nisu uobavezi

Ono što je popularno nije uvek inajbolje Popularisati nešto što nijepopularno a bolje je od trenutnopopularnog uvek je mučan i pionirskirad koji se materijalno kratkoročno neisplati Kada bi bili sigurni da će sedugoročno isplatiti verovatno bi im bilolakše započeti takav pionirski rad aligarancija nikad nema Verovatno su seisto ovako pitali i entuzijasti koji suosamdesetih sastavljali naš prvi računarGalaksija To im se sigurno nijeisplatilo Nisu ni nastavili svoj rad utom smeru ali su sad urednicikomercijalnih časopisa o kompjuterimai na neki način im se entuzijazam ipakisplatio

Mediji nemaju obavezu da bez naknadedaju informacije o nečem novom štonije popularno ali škole bi moraleTrebalo bi da Škola bude prvi i osnovniizvor informacija o bilo čemu pa i oFLOSS-u Analizu stanja u obrazovnomsistemu ćemo ostaviti za neki druginastavak ovog serijala

Nastaviće se

Ugovor Republike Srbije sa MicrosoftomPuls slobode

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 14: LiBRE 23 Lat

14 LiBRE časopis o slobodnom softveru

Autor Zlatko Barnak

Svet otvorenog kocircda je zaista šarolikod raznih skripti koje se konstantno

razvijaju preko aplikacija pa do ozbilj-nih distribucija te je zaista sve to teškoispratiti Naravno tu su mailing listeRSS agregatori razni portali blogovinovine i drugo Možda je vreme da seučini jedan mali korak napred i da sesve to objedini na jednom mestu kakobi nam uvek bilo dostupno

Predstavljamo vam aquaticy aktivan webportal (skraćeno AWP) namenjen preci-znom i aktivnom informisanju iz oblastislobodnog softvera U sebi objedinjujesve ono što svako od nas koji pratimorazvoj slobodnog kocircda potajno priželj-kuje - najnovije informacije na jednommestu

Aquaticy se oslanja na RSS feedovePreuzima najnoviji sadržaj sa raznihweb sajtova foruma i blogova i plasiraih kao direktnu informaciju korisnikuMeđutim za razliku od drugih portalasvojim korisnicima plasira tačno oneinformacije koje su njima zanimljivePored toga kako je ipak reč o nekomvidu društvene mreže zanimljiv sadržaj

mogu da vam preporuče i vaši prijateljia možete i da ispratite sve njihovekomentare ili da se uključite s njima udiskusiju nezavisno od toga da lipratite taj profil ili ne

Prilikom ulaska na aquaticy na samomstartu nas dočekuje polje za pretragukoje omogućava uvid u sadržaj AWP-aDa bi se videla puna snaga aquaticyapotrebno je izgraditi svoj profil kao igraditi sadržaj u okviru profila koji ćetepratiti ili deliti na mreži Postoji mogu-ćnost automatske izrade profilapovezanog sa facebook profilom ali utom slučaju se nalazite takoreći ustealth modu (nevidljivi u popisu) Bitnoje spomenuti da sve vaše aktivnosti kaoi registracija na aquaticyu neće prou-zrokovati propratni sadržaj na vašemfacebook profilu Nakon izrade profiladočekuju vas dva prazna zida (Active-Walla) Jedan ActiveWall (Whats new)vas obaveštava o svim novostima kojeste naznačili da su vam interesantnedok drugi ActiveWall (What say friends)je namenjen praćenju aktivnosti (u vidukomentara ili preporuka) vaših prija-telja

Pojasnićemo vam nekoliko stvari

aquaticycom

aaqquuaattiiccyy ccoomm

Puls slobode

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 15: LiBRE 23 Lat

Mart 2014 15

Nakon što izaberete zanimljive profilekoje želite da pratite (Follow) ActiveWall(Whats new) prikazuje sadržaj nazasebnim karticama tj svaka infor-macija se nalazi na kartici specifičnogizgleda Vremenska linija je podeljenana dva dela S leve strane se nalazeobjave koje su ručno dodate (microblogblog video i najave) dok se na desnojstrani nalazi sadržaj koji je korisnikomogućio da se automatski dodaje saizvornog sajta (feeds) Iznad vremenskelinije se nalazi prostor za microblogingkao i zadnja uneta poruka

ActiveWall (What say friends) pratiaktivnosti vaših prijatelja Da biste sanekim postali prijatelj potrebno mu jeuputiti zahtev i tek nakon njegovogodobravanja bićete u mogućnosti da semeđusobno pratite Na bdquoWhat sayfriendsrdquo zidu videćete njegove komen-tare ili njegove preporuke o zanimlji-vom sadržaju

Na oba zida sa leve strane se nalazifunkcionalni dock Omogućava lako ibrzo postavljanje novog sadržaja (blogvideo i najava) bez potrebe da senapušta stranica ActiveWall Sem doda-vanja sadržaja dock za vas prikazuje ipropratne informacije poput zahtevaza prijateljstvo privatnih porukakomentara vezanih za sadržaj koji ste viobjavili itd Sa desne strane zida senalazi preporuka za praćenje ili zadodavanje prijatelja zatim još nekipropratni sadržaji

Naravno sem ova dva ActiveWalla kojasmo ovde ukratko opisali postoji jošmnoštvo korisnih stranica za prikaz iliunos sadržaja kao i stranica za podeša-vanje raznih opcija Najbolji način daupoznate aquaticy AWP je da ga istražitezajedno s prijateljima a ukoliko ih nevidite tamo pozovite ih da vam sepridruže

aquaticycomPuls slobode

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 16: LiBRE 23 Lat

16 LiBRE časopis o slobodnom softveru

Za programere administratore sajtovablogere i ostale urednike raznih stra-nica portala foruma i video kanalaaquaticy je zaista mesto gde bi trebaloda imaju aktivan profil Ne zahtevatakoreći nikakvo održavanje s vašestrane potpuno je automatizovan ijedino što možete da imate od njegajeste korist Prikazuje sav novi sadržajkoji dodajete (u formi koja podstičekorisnika da poseti vaše stranice) a zauzvrat prosleđuje korisnike na vašestranice Jedino što treba da uraditejeste da dodate URL (RSS Feed) vaše webstranice (blog sajt forum portal videokanal i drugo)

Aquaticy je još uvek u svojoj razvojnojbeta fazi iz koje uskoro izlazi pa nekeod dodatnih opcija nisu aktivne ali tone umanjuje vrednost ili način korišće-nja aquaticy AWP-a Budite međuprvima jer to je jedna od garancija da

će velik broj budućih korisnika posetitiupravo vaš profil i vaše stranice

wwwaquaticycom

Puls slobode

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 17: LiBRE 23 Lat

Mart 2014 17

Autor Dejan Maglov

Uvod

Ovo neće biti klasična recenzijaLinux distribucije jer Serbian nije

obična distribucija Serbian je srpskanacionalna distribucija nastala uglav-nom komponovanjem a ne razvojemBaš zato što je srpska kad je autor ovogteksta u svojstvu urednika pitao uredakciji bdquoIma li dobrovoljaca da pišu oovoj distribucijirdquo dobio je odgovor daje to škakljiva tema i da distribuciju nijeprihvatila Linux zajednica Srbije Kad jetako autor ovog teksta je pomisliobdquoOnda je to baš zanimljiva tema zamene Ja volim škakljive i kontroverznetemerdquo (primaut)

LiBRE ima obavezu da popularišedomaće projekte Zbog ograničenja pro-stora za jedan članak i zanimljivostiteme možete očekivati više nastavaka oovoj intrigantnoj distribuciji

SerbianKao prvo moramo utvrditi da li je touopšte tema za nas Definitivno na prvii na svaki drugi pogled se vidi da je toslobodni softver sa malim primesama

besplatnog vlasničkog softvera (flash-plugin kodeci i Skype) Takođe jasno jeda je to Linux distribucija originalniLinux kernel je osnova ovog operativnogsistema Licence nisu povređene neo-vlašćenim potpisivanjem ispod dela kojije neko drugi uradio

Da li je ovaj operativni sistem neštonovo što bi priređivaču ovakve distri-bucije dalo za pravo da promenioriginalno ime Ovde treba stati irazmisliti Šta je definicija nečeg no-vog Za vlasnički softver je primenjivakreacionistička teorija razvoja Po tojteoriji vlasnik softvera je njegov Bog istvoritelj Jedino stvoritelj ima pravo naizmenu svoje kreacije i daljeumnožavanje Prema tome stvoritelj jetaj koji će reći kada je nešto novo

Slobodan softver prati evolucionističkuteoriju razvoja Po evolucionističkojteoriji novi život je plod kopiranjamodifikovanja i kombinovanja Postojeevolutivni skokovi koji su plod većihpromena spoljašnjih uslova ali u većinislučajeva promene su male Samonajbolje kombinacije kopiranja modifi-kovanja i kombinovanja opstaju ajedino vreme može da pokaže da li je takombinacija uspešna

SSeerrbbiiaann 220011 44(( 11 ddeeoo))

PredstavljamoPuls slobode

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 18: LiBRE 23 Lat

18 LiBRE časopis o slobodnom softveru

Serbian ima sve elemente evolucije Toje kopiran Debianov model modifikovansimpatičnim originalnim grafičkim ele-mentima kao i podešavanjima kojiodgovaraju zadatom projektnom zadat-ku kombinovan sa aplikativnimsoftverom koji takođe zadovoljavaprojektni zadatak

Čak je i ime Serbian slučajno ilinamerno vrlo primereno ovojdistribuciji Ako je tačna legenda da jeime Debian izvedeno od imena JanaMordoka osnivača Debian pokreta injegove žene Deb onda je Serbianodlična analogija Serb kao Srbin i Iankao Jan Mordok Deb će nadamo seoprostiti što je bdquoizguranardquo iz imena

Projektni zadatakProjektni zadatak ove distribucije jejednostavan - komponovati potpuno

lokalizovanu srpsku distribuciju satakođe lokalizovanim aplikativnimsoftverom koji pokriva sve osnovneoblasti primene računara i podesiti tajsistem tako da omogućava filozofijubdquoinstaliraj i odmah koristirdquo

Mišljenja smo da ovakav projektnizadatak ima više smisla od projektnogzadatka Pear OS Da podsetimo PearOS je sad već bivša francuskadistribucija čija je osobenost bila samou tome da je podsećao na Mac OS XPear OS je bila zvanična Linuxdistribucija na Distrowatchu Ako jePear OS-u zvanična Linux distribucijane vidimo zašto i Serbian ne bi bilaprihvaćena distribucija

Kompozitori Serbiana nisu uradilinikakvo čudo Sve komponente Serbi-ana su već bile lokalizovane Ovo neumanjuje spretnost i napor kompozi-

Predstavljamo

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 19: LiBRE 23 Lat

Mart 2014 19

tora da pronađu najbolje lokalizovanekomponente i uklope ih u jednuskladnu celinu

Svesno ili nesvesno Serbian je postavioneke repere koji će ga postaviti naznačajno mesto u istoriji FLOSS-a uSrbiji bez obzira na to da li će bitiprihvaćen i da li će nastaviti sarazvojem ili ne Primarno ovo je prvasrpska distribucija koja je uspela dadođe do nulte verzije (analogno nultombroju LiBRE ) bez novčanih subvencijaSekundarno svojom pojavom i koncep-tom komponovanja Serbian je dao jasanpresek trenutnog stanja aktivizma uFLOSS zajednici Srbije

Činjenica da je Serbian prvi uspeo da

dođe do nulte verzije daje mu prednosti veću šansu da opstane Takođepokazuje da je taj koncept uspešniji odnekih drugih Za korisnika je važannjegov koncept bdquoinstaliraj i odmahkoristirdquo Ono što mu se najviše zamerajeste da nije ništa novo nego običniremiks Upravo to je njegov najveći plusi interes autora Serbian je remiks većpostojećeg softvera bez većih izmena ito ga čini samoodrživim Autori prakti-čno nemaju posla oko održavanjaSerbian će se sam održavati bar do novestabilne verzije Debiana

Ovakav koncept je idealan za lokalnudistribuciju opšte namene sa malomlokalnom zajednicom koja je održavaDa nije tako i da su autori radili veće

KKDDEE

OOppeennbbooxx

Serbian 2014Predstavljamo

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 20: LiBRE 23 Lat

20 LiBRE časopis o slobodnom softveru

izmene na izvornom softveru imali bivelikog posla oko održavanja i to bifunkcionisalo samo dok ih drži entu-zijazam

Sledeća zamerka na račun Serbiana -čemu još jedna Linux distribucija pogo-tovu što to nije revolucionarno novadistribucija Odgovor je vrlo jedno-stavan - prvo zato što slobodni softverpodstiče na ovakve projekte a drugozato što je dobro da postoje nacionalnedistribucije Nacionalne distribucijepopularišu slobodan softver čuvajujezik i posebnost jedne nacije Istina jeda svaki iole iskusniji Linux korisnikmože sebi da iskomponuje ovo štoSerbian nudi Za to je potrebno izdvojitinekoliko sati a Serbian to nudi zamanje od pola sata Serbian je sadpostavio standard šta treba da imajedan lokalizovan OS da bi bio

kompletan Ovako skupljen lokalizovanslobodni softver na jednom mestu jepokazao sve mane i poneku vrlinudotadašnje lokalizacije softvera Poka-zuje i koje oblasti primene računaranisu pokrivene lokalizovanim softve-rom

Ne samo da je jednoj naciji potrebnajedna ovakva distribucija Linuxa opštenamene već je potrebna još jednastrogo kontrolisana distribucija poslov-ne namene Sama stihijska prirodarazvoja slobodnog softvera namećepotrebu da nacija koja želi da ga koristiu poslovne svrhe mora da ima svojustrogo kontrolisanu distribuciju Uposlovnom okruženju ne sme se desitida neki nekontrolisani update dovede doprestanka rada bitnog poslovnogsoftvera Zadatak nacionalne distri-bucije poslovne namene je da kontroliše

Predstavljamo

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 21: LiBRE 23 Lat

Mart 2014 21

razvoj operativnog sistema i prijavlje-nog aplikativnog softvera te da navreme interveniše i spreči bilo kakvumogućnost nestabilnosti u radu Nara-vno ovo je već neka druga priča zadrugi članak Ovde samo napominjemokao ilustraciju da ne samo da nijebesmisleno imati još jednu distribucijuu moru različitih distribucija nego namčak nije ni dovoljna za sve naše potrebe

Mane SerbianaMane Serbiana analiziramo kroz priz-mu projektnog zadatka Osnovniprojektni zadatak je lokalizacija Poštoje Serbian komponovana distribucijasve mane bdquoidu na dušurdquo uzvodno nalokalizaciju komponenti Naše zamerkesu usmerene u dva pravca

Prvazamerka se odnosi na to da mnogislobodni softveri uopšte nisu lokalizo-vani Autor ovog teksta recimo nekoristi lokalizovan OS zbog toga što musmeta kad na istom sistemu ima pome-šane programe na engleskom jeziku nasrpskoj latinici i na srpskoj ćirilici(primaut) Zato je prava umetnost bilakomponovati Serbian koji neće imatiovih problema U Serbian ne mogu ućikomponente koje nisu već lokalizovanena srpsku ćirilicu Zato nije primernaprimedba zašto neki popularnijiprogram nije ušao u spisak programaSerbiana Odgovor je jednostavan - nijelokalizovan Zato smo već rekli da jeznačaj Serbiana u tome da je napraviosvojevrsni presek trenutnog stanjalokalizacije slobodnog softvera

Poboljšanje ovog segmenta može da se

Serbian 2014Predstavljamo

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 22: LiBRE 23 Lat

22 LiBRE časopis o slobodnom softveru

ostvari samo uzvodno Što više budemoimali lokalizovanog softvera Serbian ćebiti bogatiji i korisniji Neka Serbianzbog toga bude podsticaj za boljulokalizaciju softvera

Druga zamerka odnosi se na nepo-stojanje standarda za lokalizacijuSerbian je i tu dao jasnu sliku Na istojstranici izbornika (favoriti) imamoSkype bdquoK3brdquo i bdquoGnuov program zaobradu slikardquo Ova nedoslednost bdquobodeočirdquo Ovaj problem je imao i LiBRE kako pisati imena programa Da lipisati u originalu latinicom pisati poVukovom pravilu bdquopiši kako se čitardquoćirilicom ili prevesti ime na srpskijezik Ovo nije standardizovano i nezna se kad će biti Bilo bi dobro da seiskoristi Serbian i jednom za svagdausvoji standard kako ćemo to pisati

Sličan je problem i sa prevodomkomandi i alata u programima Dok sulokalizacije programa bile projekti svakiza sebe nije bio uočljiv problemnepostojanja standarda Kad se ovakoupakuje u jednu distribuciju sve maneisplivaju na površinu

Za krajŠta reći za kraj prvog nastavkaOvajnastavak se poprilično odužio a uspelismo tek da prokomentarišemo konceptSadržaj artwork upotrebljivost stabil-nost performanse i upoznavanje saautorima (autorom) moramo daostavimo za neki drugi nastavak

Zaključak ovog nastavka Serbian nesamo da je ispunio očekivanja već ih je

i premašio Značaj Serbiana je nemerljivza FLOSS zajednicu Srbije i to bezobzira šta će biti sa njim u budućnostiNe bismo voleli da u budućnosti autoriSerbiana odustanu od komponovanjanacionalne distribucije zarad pravljenjasvetski priznate i prihvaćene distribu-cije To bi bio veliki gubitak zanacionalni FLOSS a mali ili nikakavdoprinos svetskom Trebalo bi da autoribudu zadovoljni činjenicom da su bdquoprviu svom selurdquo Sada su u poziciji dasvojim radom utiču na sve nacionalneFLOSS projekte Šta više od toga možeda poželi neki FLOSS aktivista ako većdostigne poziciju bdquodići ruku a puk da gasledirdquo (stihovi Duška Trifunovića izpesme bdquoŠta bi dao da si na mommesturdquo)

Ovaj nastavak bi bio nedorečen kadosim pohvala na račun kompozitoraSerbiana ne bismo spomenuli i sveuzvodne projekte kao što su LibreOfficeSrbija Mozilla Srbija zatim ljude kojisu pomogli lokalizaciju KDE-a autoraLancelota Great little radio playera imnoge druge koji su omogućili da seSerbian pojavi

Koristan linkhttpwwwdebian-srbijaizrspserbianhtml

Како даPredstavljamo

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 23: LiBRE 23 Lat

Mart 2014 23

Autori Veljko Simić Stefan Nožinić

Reč dve o nastanku

Programski jezik C nastao jeosamdesetih godina prošlog veka

možemo reći iz krajnje potrebe zaprogramskim jezikom koji je prenosivefikasan i lak za učenje Pre C-aprogrameri su morali da biraju jezik ukome je jedan skup osobina biofavorizovan u odnosu na drugi Npriako se Fortan može koristiti za pisanjedobrih programa koji imaju primenu unauci on nije najpogodniji za pisanjesistemskih programa Zatim Basic lakose uči ali nije previše moćan i veoma jenepogodan za pisanje dugačkih progra-ma Assemblerom se mogu pisati veomaefikasni programi ali se on teško uči izadaje ozbiljne glavobolje programe-rima i nije isti za svaku arhitektururačunara Početkom sedamdesetih godi-na kada je računarska revolucija počelada se zahuktava potražnja za softveromje uveliko prevazišla mogućnost progra-mera da ih otkuca Napokon program-ski jezik C projektovao je Dennis Ritchie1972 godine u Bellovim laboratorijamai ugradio ga u mašinu DEC PDP-11

GNU C prevodilacPre nego što napišemo naš prvi pro-gram potrebno je da imamo instaliranGCC (GNU C Compiler) prevodilac kakobismo naš program mogli da pokre-nemo Ako imate UNIX-oliki sistemGCC je verovatno već instaliran Dabiste to proverili upišite gcc --versionu konzoli Ako je ispis na vašem ekranusličan sledećem to znači da je GCCinstaliran

$ gcc --version

gcc (Debian 472-5) 472

Copyright (C) 2012 Free Software

Foundation Inc

This is free software see the

source for copying conditions

There is NO

warranty not even for

Uvod u programski jezik C(( 11 ddeeoo))

Како даPredstavljamo

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 24: LiBRE 23 Lat

24 LiBRE časopis o slobodnom softveru

MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE

Ukoliko nemate instaliran GCC izvornikocircd prevodioca možete ga dobiti odorganizacije Free Software FoundationInstalaciju možete pogledati nahttpgccgnuorginstall

Naš prvi programKocircd programa možete napisati u bilokom uredniku teksta a najpopularnijisu Gedit VIM Nano Potom ga je potre-bno prevesti nekim prevodiocem kaošto je to gore pomenuti GCC Takođepostoji mnoštvo razvojnih okruženjakoji olakšavaju pisanje programa injegovo prevođenje i pokretanje(Eclipse CodeBlocks i NetBeans) Možese reći da je standard da prvi program u

nekom programskom jeziku bude HelloWorld koji na standardni izlaz ispisujeporuku Hello World Tako će biti i uovom tekstu

includeltstdiohgt

int main()

printf (Hello Worldn)

return 0

Prvu liniju našeg kocircda vam nećemo uovom broju časopisa objasniti Zasad jedovoljno reći da include direktivasluži da se u vaš trenutni program uči-taju dodatne biblioteke odnosnozaglavlja pa se time omogućava modu-larnost Zaglavlje stdioh sadrži mogu-ćnosti za rad sa ulazno-izlaznim

Uvod u programski jezik CKako da

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 25: LiBRE 23 Lat

Mart 2014 25

funkcijama int main() je zaglavljefunkcije main dok sve što se nalaziizmeđu vitičastih zagrada označavanjeno telo int znači da je njenapovratna vrednost ceo broj odnosno unašem slučaju 0 (return 0) Svakiprogram mora imati funkciju main jerje to ulazna tačka programa a ako jenema prevodilac će prijaviti grešku Utelu naše jedine funkcije se nalaze dvenaredbe svaka naredba se morazavršavati tačka-zarezom (bdquordquo) Jednanaredba ispisuje na ekran Hello Worldi to čini pomoću funkcije printf( )koja je definisana u stdioh bibliotecidok druga naredba return 0 vraćavrednost funkcije 0 Ovde je bitnonapomenuti i n na kraju stringa zaispis Ovo je specijalan karakter kojigovori konzoli da pređe u novi red

Prevođenje programaMi još uvek nismo napravili nijedanprogram Napisali smo njegov kocircd kojiračunar ne razlikuje od obične tekstu-alne datoteke sve dok ga ne prevedemona jezik razumljiv računaru Za to namsluži prevodilac (Compiler) o kome smopričali u ovom tekstu Da biste preveli(kompajlirali) program dovoljno je daukucate sledeću naredbu

gcc helloworldc

U ovom slučaju helloworldc je imeizvorne datoteke u kome je smešten kocircdnašeg programa Ako se vaša datotekazove drugačije ukucajte ime vaše dato-teke Obratite pažnju na ekstenziju cPrimetićete da se stvorila nova datotekapod nazivom aout To je izvršna

datoteka i to je program Pokrenućemoga sledećom naredbom

aout

Kao rezultat našeg programa ispisaćese na ekranu poruka Hello World Uslučaju da ne želite da se vaš programzove aout (morate priznati nijezanimljivo da se tako zove program)naredba pri prevođenju izgleda ovako

gcc helloworldc -o helloworld

Sada se vaš program zove helloworldPotrebno je obratiti pažnju na dodatnuopciju koja je zadata prevodiocu

Ovo je bio kratak uvod u tematiku Unarednim brojevima vam pišemodetaljnije i mnogo zanimljivije stvari

Uvod u programski jezik CKako da

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 26: LiBRE 23 Lat

26 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Uvod

Najverovatnije ovaj tekst čitate nanekom računaru ili ste barem

koristili računar da biste preuzeli naščasopis Pisali smo već mnogo puta oprogramima koji su namenjeni vama kaokorisnicima računara Pisali smo i ooperativnim sistemima i raznim distri-bucijama ali ovaj put želimo da ispri-čamo priču o tome šta se sve običnodogađa na računaru unatraške od trenu-tka kada ste počeli da čitate ovaj tekstpa sve do trenutka kada ste pritisnulidugme za uključivanje računara Akce-nat će biti baš na onim stvarima okojima se retko kada razgovara o onomešta se ne vidi

PDF reader i pokretanjeprogramaPretpostavićemo da pred sobom upravoimate PDF čitač (ugrađen u browser ilikao poseban program) Krajnji rezultatje slika na monitoru ali pre toga je PDFfajl morao biti preuzet na računarpokrenut program koji učitava taj fajlzatim bila je potrebna mreža za pristupinternetu Jedan od zadataka opera-tivnih sistema je da pruže upravo takav

vid podrške aplikacijama Videćemomalo kasnije da na kraju svi putevinekako vode do kernela Ovaj nivoobuhvata krajnje aplikacije koje najčešćekoristimo u ovom slučaju evince okularapvlv i xpdf Naravno u ovu grupuprograma spadaju i razni audio playeriinternet pregledači kancelarijski paketii ostalo

Okruženje radne površiPDF čitač ste mogli da pokrenete namnogo načina ndash recimo klikom nadatoteku u nekom pregledaču datotekaili direktnim pokretanjem programa Dabismo se lakše snašli u zbrci datoteka idirektorijuma vremenom su razvijeniskupovi programa za tu namenu -desktop odnosno radna okruženja Nji-hova namena je u širokom smislu danam omoguće da pokrećemo programe

LLiinnuuxx uunnaattrraašškkee

Oslobađanje

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 27: LiBRE 23 Lat

Mart 2014 27

da pronađemo datoteke da poređamoprozore po našoj želji itd Pojam okru-ženja radne površi je vrlo širok i nijejasno definisan U ovaj nivo spadajuGNOME Unity MATE KDE Xfce imnogi drugi Naravno da ne moramokoristiti kompletna okruženja radnepovrši za ove zadatke ali ovo je klasičnapostavka na današnjim kućnim računa-rima koje pokreće Linux

Session manager

Jedan računar može koristiti višekorisnika i mogu biti dostupna raznaokruženja radne površi istovremeno Dabi računar znao koje grafičko okruženjeda pokrene i koji korisnik trenutno želida koristi računar moramo na nekinačin da mu prenesemo tu informacijuZa ovaj zadatak je najčešće zadužensession manager (nekada se naziva i desk-top manager) Uslovno rečeno sessionmanager vidimo kada se prijavljujemo naračunar unosimo korisničko ime lozin-ku i biramo sesiju (desktop okruženje)Neki od primera session managera suLightDM GDM KDM i slim Ovo je jošjedan običan program na računaru injega je takođe morao neko da pokreneZa pokretanje session managerauglavnom je zadužen init system o kojemće biti reči malo kasnije Bitno je

pomenuti da je za grafički sessionmanager potrebna podrška za grafičkaokruženja koju ( još uvek) pruža X server

X server

U redu sada smo već stigli do graniceiza koje prosečan korisnik računara nevidi šta se sa sistemom dešava X serverje program koji sistemu pruža podrškuza grafička okruženja X nije jedini ali jejoš uvek de facto standard za Unixolikesisteme O alternativama i životu Xorgprojekta je bilo više reči u našemprethodnom broju kada smo pisali oWaylandu X se nalazi na putu odaplikacije koja želi da iscrta nešto namonitoru a posle njega su driver zagrafičku kartu i podrška u kerneluPodrška koju X pruža uglavnom sesvodi na to da opsluži zahteve zaiscrtavanje aplikacije Kao rezultatdobijemo sliku koja predstavlja stanje teaplikacije a tu sliku potom windowmanager prikazuje u nekom delumonitora Window manager može dafunkcioniše kao deo okruženja radnepovrši ili zasebno a o ovome je takođebilo više reči u prethodnom broju u većpomenutom tekstu X je takođe jedan odprocesa koje najčešće pokreće initsystem

Linux unatraškeOslobađanje

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 28: LiBRE 23 Lat

28 LiBRE časopis o slobodnom softveru

Init

Već nekoliko puta smo u ovom tekstupomenuli init system što naravno značida je ovo vrlo bitan deo celog sistema Oinit procesu i init sistemima možemo danapišemo i celu knjigu ali ovaj put ćemosamo pokušati da opišemo njihovunamenu i zadatak Init system je ( jedanod) sistema za automatsko pokretanjeservisa i programa Možemo reći da sunjegove dve glavne komponente initproces i init skripte Init proces je prviproces koji se pokreće na našemračunaru pokreće ga sam kernel njegovID je 1 i iz njega nastaju svi ostaliprocesi Druga komponenta su initskripte koje se gotovo uvek nalaze uetcinitd direktorijumu Init skriptepredstavljaju uputstva za pokretanjeservisa (tzv daemona) i drugih progra-ma Init system funkcioniše otpriliketako što nakon pokretanja init procesakernel pokrene servise i to putemizvršavanja već pomenutih init skriptiKao i u drugim delovima sistema i ovdepostoji niz alternativa Neki primeri suSystemV OpenRC upstart i SystemD

KernelKernel je jedna od magičnih reči koja sečesto spominje u Linux svetu i svetudrugih operativnih sistema i spada udomen crne magije za mnoge korisnikeračunara Kada smo već do kolenazagazili u crnu magiju red je da razja-snimo o čemu je tačno reč Naravno iovo je tema koja zaslužuje posebantekst knjigu i život Kada bismo opera-tivni sistem morali da podelimo nanekoliko delova to bi bili kernel i sveostalo Kernel vodi sasvim drugačiji životu računaru u odnosu na ostale proceseUpravlja hardverom odlučuje kojiproces će se izvršavati šta će procesorda radi u nekom trenutku i upravljaRAM memorijom Kernel je zapravojedino mesto gde se novi procesi mogukreirati U kernelu se nalaze driveri(zovu se još i upravljački programi) kojinam omogućuju da koristimo našračunar a još važnije je da omogućujunašim programima rad i na drugimračunarima bez obzira na to koliko serazlikuju po hardverskim karakteri-stikama Kernel obezbeđuje interfejs zaupravljanje fajlovima pristup mreži i jošmnoštvo toga a proces inicijalizacijebdquoraspakivanjardquo i pokretanja kernela ta-kođe izlaze iz okvira ovog tekstaNajbitnija stvar koju treba da znamojeste da kernel predstavlja spregu izme-đu hardvera upravlja radom računarapokreće se procesom bdquobootovanjardquo za kojije zadužen bootloader i nakon što kernelpostane funkcionalan pokreće se procesinit a ostatak već znate Osim Linuxkernela postoje i drugi recimo MachHurd i BSD Kernel se često zove ijezgro što bi bilo bukvalno značenje tereči

Oslobađanje

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 29: LiBRE 23 Lat

Mart 2014 29

Bootloader

Procesori imaju krajnje jednostavan idosadan način rada Možemo ih smatraticrnim kutijama koje na osnovu jednogniza nula i jedinica (programske rečiinstrukcije dela koda programa) znaju ukakvo stanje treba da se podese a potomda od nekog drugog niza nula i jedinica(podaci) naprave treći niz nula i jedini-ca (rezultat) i taj rezultat zabeleže negde(zapisivanje u memoriju) Kada uključi-mo računar dešava se upravo toProcesor počne da izvršava neki pro-gram a program koji učitava operativnisistem tačnije prvo kernel pa onda sveostalo naziva se bootloader Ako sepitate zašto ne pokrećemo odmah ker-nel odgovor je jednostavan Kernel jeprevelik da bi ga procesor mogao odmahpokrenuti pa prvo koristimo jednostav-niji program čija namena je učitavanjekernela i priprema za njegovo pokre-tanje Neki od najpopularnijih su opštepoznati GRUB (da da ono čudo sakojim ste imali problema) LILO (njegaverovatno ne koristite osim ako nisteslacker) ili u-boot (ako se srećete sa

embeded sistemima ili imate raspberry) Međutim ni ovo nije kraj jer možemo daimamo više bootloadera na računaru višeuređaja na kojima se nalaze operativnisistemi a procesor ne može direktno dakomunicira ni sa hard diskom ni samonitorom a opet na neki način možeteda vidite bootloader ili da izabereteuređaj sa kojeg želite da startujetesistem Za to je zadužen BIOS

BIOS

BIOS (Basic InputOutput System) je prvii osnovni set programske podrške naračunaru Obezbeđuje ga proizvođačmatične ploče a njegova namena je dapruži vrlo jednostavna podešavanja ra-čunara i komunikaciju sa računarom nanekom osnovnom nivou BIOS pružapodršku za ispis na monitor unos satastature i pristup memorijskim uređa-jima Ovo znači da je BIOS dovoljan dabiste pokrenuli neki program na raču-naru bez potrebe za operativnim siste-mom Bootloader je jedan takav programali vi možete da napišete i svoj programkoji će se izvršavati direktno na proce-soru Za ovakve igrarije preporučujemoosdev wiki (httpwikiosdevorg)

Linux unatraškeOslobađanje

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 30: LiBRE 23 Lat

30 LiBRE časopis o slobodnom softveru

Zanimljivo je reći da se ovi programimoraju nalaziti u prvih 512 bajtovauređaja (odnosi se na CD hard disk iliflash memoriju) i ne mogu biti veći od1MB Ovde takođe postoje alternativepostoje open source BIOS-i a za višedetalja o tome potražite open firmwareopenbios i coreboot

POST

Ostao je još jedan mali detalj Pre negošto BIOS postane sasvim funkcionalanračunar prvo pokreće POST (Power OnSelf Test) da bi proverio svoje stanjePOST je najčešće deo BIOS-a odnosnodeo firmwarea matične ploče To su onaprva slova koja se pojave kada pritisnetedugme za uključivanje i ono što pištikada memorija procesor ili grafičkakartica nisu na svojem mestu

Za krajRecimo da smo sada prošli kompletanput od preuzimanja našeg časopisa dopritiska dugmeta za uključivanje Boljiizraz bi možda bio da smo proleteli krozovu proceduru jer mnogo toga nijenapisano Ima više načina kako se sistemmože startovati ali ovo je jedan klasičanprimer Dakle da se podsetimo ali sadhronološkim redom POST izvršavaosnovni vid provere hardvera proveravada li su sve komponente računara nabroju BIOS je prvi nivo apstrakcije kojiomogućava procesoru da komunicira saostatkom računara i govori procesoru nakojem uređaju da potraži program kojitreba da izvrši Taj prvi program senalazi u bootsectoru (prvih 512 bajtovanekog memorijskog uređaja) i naziva sebootloader To je mali program kojiučitava kernel i započinje njegovuinicijalizaciju Nakon što je kernelfunkcionalan on pokreće prvi proces nasistemu - init proces i njemu prepuštada dalje aktivira sistem Init systempotom pokrene osnovne servise izmeđuostalog i X koji pruža usluge za grafičkaokruženja pokreće se session managerkako bi se korisnik prijavio za rad ipotom se pokreće okruženje radne povr-ši U okruženju radne površi već imamoikonice koje predstavljaju fajlovedokumenta direktorijume i izršnedatoteke Kada izaberemo neku odikona pokreće se potreban program i onse pojavljuje na monitoru Nadamo se dasmo uspeli da vas zainteresujemo Vrlorado ćemo pisati o sličnim temama itime vam pomoći da rešite nekenedoumice Javite nam se i izaći ćemovam u susret

Slobodni profesionalacOslobađanje

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 31: LiBRE 23 Lat

Mart 2014 31

Autor Stefan Nožinić

Šta je računarska vizija

Računarska vizija (eng computervision) je oblast računarskih nauka

koja se bavi obradom i analizom slike ivišedimenzionalnihprostora (najčešćetrodimenzionalni i četvorodimenzional-ni) Ova oblast je veoma važna i imaveliku primenu u industriji i nauci

Ova oblast je zastupljena u

bull kontroli robota u industrijibull navigacijibull detekciji objekata i događajabull indeksiranju baza slikabull prepoznavanju licabull analizi slike u medicinibull popravci slikebull optičkom prepoznavanju teksta

(OCR)

Proces se najčešće sastoji od

bull dobijanja slike sa kamere ili nekogdrugog optičkog senzora

bull obrade slike (otklanjanje šumovakonverzija u potreban sistem boja i

drugo)bull segmentacije (razdvajanje bitnih

stvari od nebitnih)bull ostalih obrada (prepoznavanje

objekata specifičnostitransformacije i drugo)

Kao što se može primetiti ovo je dostasložen proces i razvijanje sistema bazi-ranih na računarskoj viziji postaje sveizazovnijekao što i problemi u ovojoblasti postaju sve učestaliji i složeniji

Zbog gore navedenih razloga potrebnonam je rešenje koje će nam omogućitiviši nivo apstrakcije i omogućiti darazmišljamo o novimrešenjima koristećiveć postojeća U razvijanju ovakvihsistema tražimo rešenje koje će nampovećati produktivnost i kreativnostinaše mogućnosti za rešavanje problemapreusmeriti na zanimljivije stvari odstalne brige o tome da li smo dobroimplementiraliveć neko postojeće reše-nje

Šta je OpenCVOpenCV (Open Source Computer Vision)

Slobodni profesionalacOslobađanje

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 32: LiBRE 23 Lat

32 LiBRE časopis o slobodnom softveru

je razvojna biblioteka pre svega zaCC++ koja omogućava olakšanu imple-mentaciju sistemabaziranih na računar-skoj viziji Ova biblioteka je razvijenapod BSD licencom što omogućava visoknivo otvorenosti i slobode korišćenjamenjanja i distribuiranja Ova biblio-teka ima ogromnu primenu u industrijii najčešće je prvi i jedini izbor većineonih koji se bave ovom i srodnimoblastima Dostupna je na mnogimplatformama kao što su Linux WindowsOSX iOS i Android

Iako je pre svega namenjena kao CC++biblioteka postoji interfejs za Python iJava-u

Zbog svoje efikasnosti i brzine prime-njuje se u sistemima koji zahtevaju brzodziv odnosno u sistemima koji rade urealnom vremenuOvo je omogućenozbog mogućnosti korišćenja optimiza-cija za različit hardver Takođe imapodršku za višeprocesnu obradu štoomogućavaiskorišćenje punih resursa

sistema koji mogu da vrše obraduparalelno

Zbog ogromnog broja mogućnosti ifunkcija OpenCV je podeljen u višemodula a svaki modul ima svoju name-nu Kombinacijom ovih modula jemoguće napraviti zaista korisne aplika-cije U nastavku teksta vam dajemoobjašnjenje za neke najbitnije module

Osnovni core modulKao što mu i samo ime kaže ovo jeosnovni modul u biblioteci Ovaj modulsadrži neke osnovne strukture i funk-cije za biblioteku

Ovde se nalaze strukture za reprezen-taciju slike kao matrice piksela bojatačaka vektora i drugog Od funkcija tusu osnovni algoritmiza operacije nadnizovima grafovima i vektorima

Slobodni profesionalac

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 33: LiBRE 23 Lat

Mart 2014 33

Modul za upravljanjegrafičkim interfejsomOvaj modul u biblioteci ima nazivhighgui Pored toga što ima mogućnostiupravljanja grafičkim interfejsom onima i mogućnostiučitavanja slika izmemorije tvrdih diskova kamere iostalih uređaja u strukture koje sunavedene u core modulu

Tu su mogućnosti i prikazivanja slikakao i neki dodatni grafički elementi kojipružaju lako uklanjanje grešaka (engdebugging)

Modul za obradu slikaOvaj modul se u biblioteci naziva

imgproc Služi za obradu slike U ovommodulu se mogu pronaći razni algo-ritmi kao što su blur efekat Hafovatransformacija menjanje veličine slikerotacija adaptivni trešhold thresholdfloodfill izračunavanje histograma imnogi drugi

Ostali moduliPored gore navedenih modula postojejoš mnogi korisni moduli kao što suvideo moduli moduli za kalibracijumoduli za detekcijuspecifičnih objekatai moduli za učenje Ovde je potrebnonapomenuti da postoje i non-freemoduli koji nisu besplatni

OpenCVSlobodni profesionalac

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 34: LiBRE 23 Lat

34 LiBRE časopis o slobodnom softveru

DokumentacijaAko ste mislili da je ovo previše kompli-kovano razmislite ponovo Možemoslobodno da kažemo da je dokumen-tacija za ovu biblioteku jednaod boljihdokumentacija ne samo u sferi slobo-dnih razvojnih biblioteka već i globalnoOpenCV nudi kompletan opis svih mo-dula i funkcija kao i imena algoritamakoji se koriste u datoj funkciji Nijeredak slučaj da naiđete na primere kodagde se koristi data funkcija a i često semogu videti slike koje predstavljajudemonstraciju rezultata neke funkcijePored ovoga dostupni su i OpenCVtutorijali kao i priručnik koji se možepreuzeti u PDF formatu ili čitati onlajn

OpenCV za AndroidplatformuOpenCV ima svoj servis za Androidplatformu koji omogućava deljenjeOpenCV binarnih dinamičkih bibliotekaizmeđu aplikacijapa time aplikaciještede memoriju Takođe su dostupnerazne optimizacije za različite platfor-me OpenCV Android upravnik jedostu-pan u Googleovoj prodavnici aplikacija ibesplatan je Po instalaciji ove aplika-cije dobićete mogućnost da instalirateOpenCV za vašu platformu Posle oveinstalacije moći ćete da koristite vašeaplikacije bazirane na ovoj biblioteci

Ko je LenaAko ste pregledali OpenCV dokumen-taciju ili ako ste pročitali bilo kakavtutorijal iz ove biblioteke sigurno steprimetili dase često pojavljuje slika

devojke koja je prikazana na slici 2 Nijeredak slučaj da se neko zapita ko je onazapravo i zašto se tolikoputa pominjeOva sekcija u ovom tekstu je namenjenada se malo zabavimo ali i da ispričamozanimljivu priču

Devojka sa slike je Lena Soumlderberg Bilaje model za Playboy i ova slika vučeporeklo iz davnih sedamdesetih godinakada jebilo dosta teško doći doskenirane fotografije Razvojni tim kojise bavio algoritmima za kompresijuslike i njenu obraduuspeo je da dođe doove slike u digitalnoj formi i na njojtestirao svoje algoritme Lena je zbogovoga nazvana prvom devojkominternetai bila je gost na pedesetoj ISampTkonferenciji 1997 godine koja se baviračunarskom vizijom i na njoj sepredstavila

Internet mreže i komunikacijeSlobodni profesionalac

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 35: LiBRE 23 Lat

Mart 2014 35

Autor Petar Simović

Tor iako jedan od najsigurnijihnačina komunikacije u današnjim

vremenima neprekidnog hladnog sajberrata i sve prisutnije masovne špijunažekojih smo u današnje vreme sve sve-sniji ima i neka svoja ograničenja ipotrebno je tačno znati šta nam to TBBomogućava a šta ne

Prvo ako se koristi samo TBB kao alatza anonimno surfovanje netom nanekom operativnom sistemu (pretpo-stavićemo da je to Linux jer inače nemamnogo smisla bar što se privatnostitiče) onda valja znati da Tor koristisamo određen broj portova (od mogućih65536=2^16 tj 0-65535) za sigurnukomunikaciju sa anonimnom mrežoma da su ostali portovi bdquoizloženirdquo namilost i nemilost ostalim programimasa mogućim bagovima koje neko možeda otkrije i počne da ih zloupotrebljava

Druga stvar je to što ne mora da sebude bog zna kakav haker da bi seshvatilo da običan program za snimanjepozadine desktopa ako zaobiđe

sigurnosne provere operativnog sistemakroz zloupotrebu njegovih eventualnihpropusta može u potpunosti da obe-smisli upotrebu TBB samim snimanjemaktivnosti desktopa koje bi slao napa-daču i time izbegne svu silnu enkripcijuTor mreže Naravno ovo su ekstremnislučajevi jer se najčešće mogu izbećiredovnim ažuriranjem sistema ali nisunemogući jer su izvodljivi i čestiukoliko je meta iz nekog razloga važna iima pristup poverljivim podacima(novinari u neliberalnim državamapolitičari špijuni i drugi)

Ako se osvrnemo na smisao poslovicabdquoBolje sprečiti nego lečitirdquo i bdquoZnanje jemoćrdquo zaključićemo da kako sada zna-mo za ovu mogućnost napada - možemood njega da se efikasno odbranimoupotrebom operativnih (open-source)sistema u kojima je glavni akcenat naanonimnosti i u čiju grupu spadajuWhonix (httpgooglb1swp) i Tails(httpgooglisQIn) Tails se zasniva naDebianu a sve komunikacije se primo-ravaju da koriste Tormrežu

Ovde je važno napomenuti da nije

TToorr mmrreežžaa

OOnnlliinnee aannoonniimmnnoosstt iissiigguurrnnoosstt(( 22 ddeeoo))

Internet mreže i komunikacijeSlobodni profesionalac

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 36: LiBRE 23 Lat

36 LiBRE časopis o slobodnom softveru

Tormreža

pametno koristiti programe koji sezasnivaju na P2P komunikaciji tjtorrent programe (utorrent bittorrent iostali) preko Tor mreže To je zato štosu moderni trakeri (trackers) dizajniranida koriste UDP protokol koji ignorišeproxy koji koristi Tor a opet Torpodržava samo TCP protokole pa ješteta višestruka jer ne samo da nisteprikrili identitet i IP adresu već prou-zrokujete ranjivosti Tor mreže i vašegsistema Ranjivost je u tome što titorrent programi jednostavno uzmuvašu IP adresu i prekopiraju je u trakerkoji se šalje drugima u P2P mreži Tor iovde obavlja svoj deo posla te niko nezna odakle je IP i odakle se podaci šaljuali to je daleko od anonimnosti kojubiste želeli (više na httpgooglEs5xL)

Osim ove Tor ima i drugih negativnihosobina koje se možda ne vide na prvipogled ali se brzo mogu uočiti izdizajnaInformatičarima je sigurnopoznata rečenica bdquoSvaki sistem je jakkoliko je jaka njegova najslabija ka-rikardquo Tor nije nikakav izuzetak Naimeslaba tačka Tora su njegovi izlazničvorovi (exit nodes) koji dekriptujusadržaj tako da izlazni čvorovi moguimati informaciju o vama ako se nekoristi takozvana end-to-end enkripcija

kao na primer SSL (više nahttpgooglYUqqq6)

Imajući ovo na umu ne čudi što svetskesigurnosne organizacije poput NSA iliGCHQ instaliraju hiljade pominje sepodatak od devetnaest hiljada Tor relejai izlaznih čvorova u vlasništvu NSApokušavajući da prate i analiziraju savprotok kroz Tor mrežu kontrolišućinajveći deo izlaznih čvorova koje semalo ko usudi da pokrene zbogmogućih sukoba sa zakonom i problemau koje može da zapadne zbog različitogsadržaja koji prolazi neenkriptovanjednim delom kroz izlazni čvor

Internet mreže i komunikacije

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 37: LiBRE 23 Lat

Mart 2014 37

Tormreža

Za sada ovo nije veliki problem tenikako ne pozivamo da se odustane odTor mreže jer dokle god se pridržavatenavedenih pravila koristite SSL iuopšte znate šta radite enkripcija jedovoljno jaka da niko neće moći daugrozi vašu anonimnost a NSA bimorala da tačno zna sve čvorove krozkoje vaša komunikacija prolazi da biotkrila vaš identitet Sav trud koji NSAulaže u bdquorazbijanjerdquo Tor mreže govori ouspešnosti i sigurnosti same mreže

Brojni eksperimenti i naučni testovipokazuju da je NSA u mogućnosti daprisluškuje veoma mali deo Tor mrežeali da nikada neće biti u stanju da urealnom vremenu prati i dešifruje savsaobraćaj Svi pokušaji ugrožavanja Torkomunikacija na nivou mreže supropali pa je za očekivati i druge sofi-sticiranije načine špijuniranja u bliskojbudućnosti

U sledećem delu ćemo videti nekolikozanimljivih programa za korišćenje uokviru Tor mreže i kako možemo dapoboljšamo sigurnost našeg sistematamo gde nas Tor ne štiti

Pregled popularnosti GNULinuxBSD distribucija za mesec mart

Distrowatch

Pad ltPorast gtIsti rejting =(Korišćeni podaci sa Distrowatcha)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Mint

Ubuntu

Debian

openSUSE

Fedora

Mageia

Arch

elementary

Puppy

Manjaro

SparkyLinux

Zorin

PCLinuxOS

CentOS

Lubuntu

CrunchBang

GhostBSD

Kali

antiX

Simplicity

Xubuntu

Bodhi

Kwheezy

FreeBSD

Ultimate

3630lt

2436gt

1783lt

1384gt

1262=

1196lt

1170gt

1138gt

1057gt

896lt

886gt

864gt

828lt

789lt

750gt

655lt

618gt

601lt

584gt

582gt

578lt

564lt

533gt

532lt

520gt

Internet mreže i komunikacije

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 38: LiBRE 23 Lat

38 LiBRE časopis o slobodnom softveru

Autor Nikola Hardi

Da li je Android istovremenoi Linux

Kao što već sigurno dobro znateAndroid je jedan od najpopularnijih

operativnih sistema za pametne tele-fone i slične uređaje i zasnovan je naLinux kernelu Razvija ga kompanijaGoogle koja je u saradnji sa proi-zvođačima mobilnih telefona osnovalagrupu za razvoj Androida pod nazivomOpen Handset Alliance Ova grupa je višeformalnog karaktera i do sada nijeimala značajnog uticaja na razvojAndroida Android nije čistokrvni Linux ijako se razlikuje od klasičnih Linuxsistema a da li imamo pravo da gasvrstavamo u Linux operativni sistem iline procenite sami U duhu tekstabdquoLinux unatraškerdquo i nekih budućihtekstova o Linux kernelu i operativnimsistemima u ovom tekstu ćemo sebaviti tematikom koja je na nekomnižem nivou dalje od korisnika i bližehardveru

Gde je tu Linux i šta je tačnoAndroidJedan Android uređaj karakterišu velikiekran osetljiv na dodir aplikacije pisa-ne u Java-i moderan grafički korisničkiinterfejs prodavnica za aplikacije idrugo Android projekat se bavipravljenjem programske podrške kojapruža ove mogućnosti Napravljen jeAPI koji programerima pruža način daiskoriste Android uređaj Takođe senapravljeni dodatni sistemi koji omo-gućuju izvršavanje Android aplikacija ipružaju razne servise U takve sistemespadaju Dalvik virtuelna mašinaAndroid API i biblioteke sistem zakreiranje i upravljanje aplikacijama kaoi razne izmene u Linux kernelu DakleAndroid uređaji ne koriste čistokrvniLinux kernel a o svim ovim temamaviše detalja možete da pročitate unastavku teksta

Dalvik

Dalvik je Java virtuelna mašina koja jezadužena za izvršavanje Java kocircda na

AAnnddrrooiidd iissppoodd hhaauubbee

Android ispod haubeMobilni kutak

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 39: LiBRE 23 Lat

Mart 2014 39

Androidu Pre svega Java je jedan vrlospecifičan programski jezik Java izvor-ni kocircd se prevodi u tzv Java bytecodekoji potom interpretira i izvršava Javavirtuelna mašina Pitanje zašto jeizabrana baš Java ostavićemo za nekodrugo mesto i vreme ali ostaje pitanjezašto nije izabrana neka od već posto-jećih implementacija Java virtuelnihmašina Za ovo postoji nekoliko odgo-vora a dva najvažnija su Oracle iprenosivi uređaji

Java i Solaris postali su vlasništvokompanije Oracle nakon što je Oracle2009 godine otkupio kompaniju Sun

Microsystems Ovo je dovelo do mnogihpravnih sporova i problema oko licen-ciranja koje su tvorci Androida želeli daizbegnu a dovelo je i do drugih bitnihprekretnica u izboru tehnologija kaošto je izbor Harmony Java standardnebiblioteke koju razvija Apache a neOracleDrugi bitan faktor je činjenica daje Android namenjen prenosivim uređa-jima što podrazumeva ograničeneresurse po pitanju memorije proce-sorske snage i baterije pa je Dalvikstvoren baš za ovakve uslove rada

Dalvik se od klasične Java virtuelnemašine razlikuje po nekim formalnim

Android ispod haubeMobilni kutak

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 40: LiBRE 23 Lat

40 LiBRE časopis o slobodnom softveru

stavkama oko implementacije i arhi-tekture ali i po formatu datoteka kojeizvršava Među virtuelnim mašinamapostoje dve klase one čiji se rad bazirana stacku i one čiji se rad bazira naregistrima Neki primeri stack based vir-tuelnih mašina su klasična Javavirtuelna mašina i NET virtuelna ma-šina Dalvik je register based i sasvim jedrugačije organizovan Osim po arhi-tekturi razlikuje se i po tome što seJava kocircd prevodi u class datoteke aDalvik radi sa dex datotekama Nekeod važnih osobina dex datoteka su daomogućuju bolju kompresiju manje sui smanjeno je ponavljanje podatakaunutar njih u odnosu na class

Bionic i HarmonyBionic je zamena za standardnubiblioteku C programskog jezika koju jerazvio Google a zasniva se na BSD-ovojbiblioteci Bionic se razvija odvojeno odAndroida ali se vrlo čvrsto oslanja naLinux kernel Objavljen je pod BSDlicencom za razliku od GNU-ove va-rijante (glibc) i time je razvoj formalnoslobodniji Ovo naravno možemo daprotumačimo i drugačije jer je BSDlicenca u odnosu na GPL familijulicenci zapravo pogodnija za izbe-gavanje objavljivanja kocircda i izmenaOvo jeste vid slobode ali da li je pravastvar ili nije to ostaje za neku drugudiskusiju Osim licence Bionic serazlikuje i po tome što je manji od glibci optimizovan je za rad na sporijimprocesorimaIz sličnih razloga zbog kojisu nastali Dalvik i Bionic izabrana jeHarmony biblioteka Pored razlike ulicenci za Harmony je bitno navesti da

je projekat pod Apache fondacijom i daje napisana iz početka Vrlo je slična sazvaničnim JavaSE i JavaME standar-dima ali ne poklapa se sa njimapotpuno

Zygote

Android koristi poseban sistem zapokretanje sistema i Android aplikacijaRazlika u odnosu na standardne initsisteme je u tome što se rad Zygota nezavršava po pokretanju svih servisa većje Zygot aktivan te i dalje kreiraprocese za novopokrenute Androidaplikacije

Android ispod haubeMobilni kutak

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 41: LiBRE 23 Lat

Mart 2014 41

ServisiPošto je Android namenjen prenosivimuređajima najčešće mobilnim telefo-nima i tabletima on pruža i niz servisaza upravljanje periferijom Servisi surazličiti od onih koji su zaduženi zarazna obaveštenja tajmere alarme idrugo do onih za upravljanje pokre-nutim aplikacijamaNačin pokretanja iupravljanja aplikacijama je takođe vrlokarakterističan Dok na drugim siste-mima imamo samo jednu aplikacijukoja je trenutno pokrenuta ili imamopokrenute samo one aplikacije kojetrenutno koristimo Android koristinačin koji funkcioniše po principustacka Sve aplikacije koje smo pokre-nuli ostaju aktivne u pozadini i uvek semožemo vratiti na njih a kadaponestane resursa tada se stanje onihnajstarijih aplikacija čuva i one sezaustavljaju

Android bibliotekeAndroid je vrlo brzo stekao popularnostkako među krajnjim korisnicima tako imeđu programerima a za to je u velikojmeri zaslužan i deo Androida koji pro-gramerima omogućava da na štojednostavniji način upravljaju raznimmogućnostima telefona Ove bibliotekese jednim imenom zovu Android API iobuhvataju različite nivoe od onih zadefinisanje izgleda i funkcionalnostiaplikacija do onih za komunikaciju sadrugim aplikacijama servisima i hard-verom

Android kernelOvo je za mnoge bolna tačka Da li jeAndroid stvarno Linux ili baš i nije Nepostoji tačan odgovor a mi možemoopisati problem Strogo gledano Linuxje samo kernel dok je ostatak sistemaproizvod GNU projekta Dakle možemoda pređemo na pitanje da li Androidkoristi Linux kernel Da Android koristiLinux kernel s tim što su u potpunostiizmenjeni njegovi pojedini delovi Oveizmene su dostupne i čak se nalaze uskladištu programskih paketa Linuxkernela (za kernel hakeredriversstagingandroid) Za sada nepostoje inicijative da ovaj kocircd postanesastavni deo standardnog Linux kernelaLinux kernel na koji su primenjene oveizmene često se naziva bdquoandroidizovanrdquoLinux kernel a procesom bdquoandroi-dizacijerdquo od standardnog Linux kernelaproizvoljne verzije možete napravitikernel za Android ukoliko vam je to iznekog razloga potrebno

Binder

Binder je zadužen za komunikacijuizmeđu procesa (IPC - inter processcommunication) Vrlo je čudno što senašao u samom kernelu Mnogo češćislučaj je da se ovakva podrška imple-mentira na višim nivoima međutimpošto je reč o sistemu sa ograničenimresursima i pošto se koristi za svakakvevidove komunikacije ovakav potez jeopravdan Neki od primera za šta se svekoristi binder su upravljač aplikacija iprocesa iscrtavanje na ekranu unospodataka pokretanje koda u drugimaplikacijama i drugo Binder je u samomsrcu Androida i bilo bi vrlo teško

Android ispod haubeMobilni kutak

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 42: LiBRE 23 Lat

42 LiBRE časopis o slobodnom softveru

zameniti ga na drugačiji način barem udatom okruženju

Ashmem

Na sistemima u kojima se izvršava višeprocesa istovremeno (multitasking) jav-lja se pojam deljenje memorije (sharedmemory) POSIX standard definišedeljenu memoriju međutim Androidkoristi drugačiji pristup problemu i ovaimplementacija se zove ashmem (An-droid shared memory) Naravno i ovdeje reč o štednji resursa a glavna razlikaizmeđu POSIX SHM i ashmem ogleda seu tome što se ashmem drugačije ponašau sistemima sa malo radne memorije aizmeđu ostalog pruža i jednostavnijinačin za rad sa datotekama

AlarmTreća bitna karakteristika bdquoandroidi-zovanogrdquo kernela su alarmi Ovde nijereč o aplikaciji koja uznemirava vašesnove već budi procese U teoriji ope-rativnih sistema postoji pojam signalakojima možemo obavestiti određeniproces o nekom događaju Recimo ka-da u terminalu pritisnemo kombinacijutastera CTRL + C tada u stvaritrenutnom procesu šaljemo signal kojiće proces da obradi i uradi neštonajčešće će se zaustaviti Drugi primerje signal SIGKILL kojim možemo daporučimo da se zaustavi najčešće nadestruktivan način Sličnu funkcional-nost predstavljaju alarmi i SIGALARMProgram može da obavesti sistem daželi da se zaustavi i poruči od sistemabuđenje u nekom trenutku Tada tajproces prelazi u stanje čekanja a poisteku zadatog vremena operativni

sistem će tom procesu poslati signalSIGALARM i na taj način ga probuditiodnosno nastaviti njegovo izvršavanjeProblem se javlja kada uređaj pređe ustanje pripravnosti (standby) U obi-čnom Linux kernelu tada vreme staje atime se obustavlja i računanje vremenaza ovakve alarme Kada Android uređajpređe u stanje pripravnosti (kadapritisnemo dugme za zaključavanje naprimer) o ovim alarmima se i dalje vodiračuna

Još nekoliko razlikaAndroid ne koristi X za iscrtavanjegrafičkog okruženja već se za to koristidirektno OpenGL ES (GLES) verzijaOpenGL-a za embedded sisteme GLES serazvija odvojeno od Androida i za njegovrazvoj je zadužena Kronos radna grupakoja razvija OpenGL OpenCL i drugenama već poznate biblioteke

Mobilni telefoni koji koriste Androidnajčešće u sebi imaju čip (SoC System onChip) sa ARM procesorom i drugimdelovima međutim za upravljanjeGSMGPRS komunikacijom postojiposeban čip Na ovim čipovima koji seu Android svetu obično nazivaju radio-čipovima pokrenut je poseban opera-tivni sistem koji ostavlja ograničenemogućnosti za rad O ovim operativnimsistemima i čipovima se ne zna mnogopodaci o njima su u vlasništvu njihovihproizvođača a ono na šta smo želeli daskrenemo pažnju jeste da ne možemotek tako da se igramo sa GSM signalimajer je to odvojen sistem sa jasnodefinisanom namenom

Android ispod haubeMobilni kutak

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 43: LiBRE 23 Lat

Mart 2014 43

Android ispod haube

Razvoj Androida i licenceAndroid razvija Google i objavljen je podASL (Android Software Licence) Kocircd dosada objavljenih verzija javno je do-stupan i slobodan za izmene na adresiandroidgooglesourcecom Kocircd trenutneverzije koja je u fazi razvoja dostupanje samo unutar kompanije ili drugimkompanijama sa kojima je potpisanposeban ugovor U istom krugu ljudiostaju i odluke o razvoju Androida Ovojeste neobičan princip i nije karak-terističan za svet slobodnog softveračak mnogi dovode i u pitanje da li je ovouopšte slobodan softver Po licencijeste a po načinu razvoja nije Nizajednica niti bilo ko izvan Googlea nemože ni na kakav način da utiče narazvoj ovog projekta Opet lepo od njihšto su nam omogućili da zavirimo u kocircdi nastavimo tamo gde su oni stali

AlternativeAndroid nije jedini operativni sistem za

prenosive uređaje i mobilne telefonekoji je zasnovan na Linuxu U proteklihdeset godina imali smo priliku davidimo projekte koji su se neslavnozavršili a u nešto skorijoj istoriji imamoi nove projekte U prvoj kategoriji sunažalost OpenMoko MeeGo Maemo idrugi Lepa vest je da su Meego i Maemonastavili da žive u projektu koji se zoveSailfish koji razvija finska kompanija zatelefon Jolla Druge dve popularnijealternative su FirefoxOS i Ubuntu zatelefone

Za krajOvo je bio jedan kratak pregledAndroida i retka prilika da pročitate odetaljima sistema koji najverovatnijeimate na svom telefonu Sjajna knjigana ovu temu je Embedded Android auvek možete da pitate i redakcijučasopisa za više detalja ili pomoć Navama je sada ostalo da izvagate da li jeAndroid Linux ili baš i nije

Mobilni kutak

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 44: LiBRE 23 Lat

LiBRE časopis o slobodnom softveru44

U petak 25 travnja (aprila) 2014 godine održaće se Konferencija open sourcerješenja u Novom Mestu u Sloveniji Novo Mesto postaće na jedan dan središteopen source znanja ideja i rješenja s područja IT-a kreativnosti 3D printera i jošmnogo toga

Ujutro će se na Fakultetu za informacijske studije održati dvije besplatneradionice namijenjene svima koji su željni tehničkoga znanja Uposlijepodnevnim satima predavanja će održati zanimljivi predavači iz svijetaotvorenog koda

Na kraju događaja očekuje nas ekskluzivni Firefox party a uz proljetne melodijedobru hranu s roštilja i hladno pivo završit ćemo cjelodnevni put po open sourcerješenjima

Sudjelovanje na konferenciji je besplatno Detaljni program popis predavača tepostupak prijave na konferenciju možete pronaći na web stranici konferencijehttpopenwaysi

Network SpooferOpen Way

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 45: LiBRE 23 Lat

Mart 2014 45

Autor Gavrilo Prodanović

Kada rutujemo svoj telefonotvaramo vrata širokih mogućnosti

koje nam nudi Linux Možemo daoverklokujemo CPU telefona da pišemopo sistemskoj particiji stavimo neofi-cijelni ROM i još mnogo toga NaAndroidu je slabo zastupljen terminal upraksi jer je smanjena touch tastaturanezgodna za bilo kakav koristan radZbog toga često koristimo grafičkeaplikacije koje će da bdquokucajurdquo umjestonas u terminal i tako olakšaju nammuke Jednu od takvih predstavićemoupravo sada a ime joj je NetworkSpoofer

Network Spoofer će pomoći da na zaba-van način testiramo bezbjednost mrežei pokažemo kako su male wifi kućnemreže ranjive na njuškanje saobraćajaNakon instalacije potrebno je podesitiaplikaciju da bi mogla normalnofunkcionisati Podešavanje se zapravosastoji od izvršavanja jednog preu-zimanja oko 100MB koji je debianimage loop fajl kompresovan gzip kom-presijom Nakon što se preuzimanjezavrši image će biti otkompresovan naSD karticu i u trenutnoj verziji teži420MB

Nakon podešavanja možete da startu-jete okruženje i izaberete željenespoofove koje hoćete da koristite Svispoofovi rade uglavnom isto pod

NNeettwwoorrkkSSppooooffeerr

Network SpooferOpen Way

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 46: LiBRE 23 Lat

46 LiBRE časopis o slobodnom softveru

haubom http saobraćaj se preusmjerikroz vaš pametni telefon onda semjenja source html fajla i izmjenjen fajlse dostavlja žrtvi Spoofovi su svi uosnovi bezazleni kao što je mjenjanjeteksta i slika preusmjeravanje sa jed-nog sajta na drugi ili preusmjeravanjesvakog na primjer na naš blog gdje immožemo objasniti kako da se izbave odove bdquonesrećerdquo Za podešavanje spoofapotrebno je izabrati ruter iz ponuđeneliste a poslije toga izabrati žrtvu po IPadresi ili odlučiti da svi na mreži budunapadnuti Za prvi spoof ćemo pred-

staviti trollface Njegov efekat jejednostavan zamjeniće sve slike sastranica sa slikom dobro poznatogtrollfacea Od ostalih image spoofova tusu blur image koji muti sliku i flip imagekoji napravi odraz u ogledalu svakeslike Za ova dva spoofa koriste seImageMagic paket da bi se slike odradileu letu Moguće je sve slike zamjeniti sanekom slikom iz telefona ili sa slikomna vebu Postoji youtube spoof kojiomogućuje da svaki otvoreni videozamjenite sa nekim svojim a ako vam jemrsko da lično izaberete možete iza-brati ponušeni bdquoRickrollrdquo Kao klasikana ponudi je zamjena teksta na vebu sanekim našim rečenicama Postoji ijedan koristan spoof pod imenomAdblock a omogućuje nam da budemospasilac od dosadnih reklama Kao šlagna tortu dolazi opcija koja omogućujekorišćenje više spoofova u isto vrijeme

Jedna od stvari što nam se nije svidjelajeste opcija da se izaberu svi na mrežiza žrtve ili samo jedna žrtva Ne postojiopcija da izaberete dvije ili tri žrtveNekada prije spektar sajtova za napadje bio mnogo širi a danas je onemo-gućeno da mnoge sajtove napadamo jerkoriste https protokol a aplikacija neposjeduje ništa da se sa ovim izboriTako na primjer spoof pod imenomGoogle search change više nije funkcio-nalan jer Google podrazumjevano koristihttps protokol a Facebook je takođeuveo https protokol kao podrazumjevanšto smanjuje efekat image spoofova kaošto je troll face Takođe treba biti ioprezan gdje se koristi alatka jer namrežama sa velikim saobraćajem po-stoji mogućnost da napravite kolaps i

Network SpooferMobilni kutak

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 47: LiBRE 23 Lat

Mart 2014 47

svima zablokirate pristup internetuIspod haube aplikacija mountira ext2loop image u kojoj se nalazi Debian ikasnije preko chroota pokreće SquidHTTP Proxy koji igra glavnu ulogu uzamjeni sadržaja stranice Za hvatanjažrtava koristi arpspoof alatku iz paketadsniff a uključen je i lighttpd Zapreusmjeravanje saobraćaja kernelAndroida mora biti kompajliran sapodrškom za iptables što većina danasima podrazumjevano uključeno u sebi

Alatka ne postoji na Play Storeu pa ćebiti potrebno da je ručno preuzmete saSoruceForgenet sajta što vjerovatno nijeomogućilo popularnost u širokom kru-gu

Za kraj dodaćemo nekoliko načina kakoda se zaštititebull Za početak zaključati svoj wifibull Najjednostavnije je da eksplicitno

kucate https prije linka sajta gdjeje to moguće Protokol šifrovan SSL-om ne može lako da se njuši i mjenjakao što smo već pomenuli

bull Dodajte statičku arp adresu za vašruter na vašem Linux uređaju arp -sltrouter_ipgt ltrouter_macgt

bull Provjerite da li vaš ruter podržavaneki od načina zaštite za ovakav tipili sličan tip napada kao što je DXCPsnooping na primjer

bull Posjedovati zdrav razum je najpou-zdanija zaštita Nemojte koristitiračune koji su vam važni na javnimmrežama

Network SpooferMobilni kutak

Mart 2014 48

Page 48: LiBRE 23 Lat

Mart 2014 48