libre 23 lat
DESCRIPTION
linux paperTRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Mart 2014 48