Magazin

Hírek

4 millió olcsó gyerekeknek Cell processzoros kiegészítõ kártya Alacsony fogyasztású Linuxos modul Hivatalosan is meg- A Mercury Computer erõsítették, hogy bemutatta a PCI-Express a korábban bejelen- slotba illeszthetõ kiegé- tett 100 dolláros lap- szítõ kártyáját, mely Cell topból négy ország (Nigéria, Brazília, processzort tartalmaz Argentína és Thaiföld) 1-1 milliót és Yellow Dog Linuxot vásárol. A laptopokon lesz. futtat. A mintegy 180  http://www.linuxdevices.com/news/ gigaflops teljesítménnyel NS2934790376.html bíró eszközt elsõsorban Linuxos mikrogép extrém nagy számításigényû fel- adatokra ajánlják, mint környezetben például: videó és jelfel- dolgozás, illetve raytracing. Az ára elõ- reláthatóan 8000 dollár körül várható. A Eurotech már forgalmazza alacsony A viszonylag friss Cell processzort fogyasztású modulját, melyet meg- az IBM, Sony és Toshiba fejlesztette bízhatósága miatt szinte bármilyen © Kiskapu Kft. Minden jog fenntartva ki, és a Sony Playstation 3-ban is környezetbe ajánlanak. A rendszer viszontláthatjuk. lelke egy 133 MHz-es AMD Elan  http://www.linuxdevices.com/news/ processzor 64 Mbyte memóriával NS6832279023.html támogatva. A standard portok (2db Ethernet, 4db soros, párhuza- Városi wifi Google-módra mos, stb.) mellett merevlemezt A kaliforniai Mountain Viewben nem és floppy meghajtót is csatlakoz- álom többé az ingyenes és (relatíve) tathatunk. A teljesítmény felvétele gyors vezeték mentes internet elérés. meggyõzõ, mindössze 4.6 Watt. A szolgáltatást bárki igénybe veheti A modul Linux mellett Windows CE-t, (feltéve, hogy van GMail-es azonosí- QNX-et, vagy a Linksys routerekbõl tója) bármilyen készülékkel (legyen ismert VxWorks-öt is futtatja. Az Arcom legújabb az notebook, PDA vagy WIFI telefon).  http://www.linuxdevices.com/news/ PC/104 szabványú A felhasználók 1-4 megabites letöltési NS7960886969.html Vulcan típusú célszá- és 200-500 kbites feltöltési sebességrõl mítógépét olyan he- számoltak be. Lenovo: Mégis lesz Linuxos lyekre ajánlják, ahol  http://www.pcmag.com/article2/0,18 támogatás? extrém hõmérsékletek 95,2004581,00.asp Korábban a Lenovo hivatalosan is uralkodnak, hiszen mûködési tartomá- bejelentette, nem kívánja támogatni nya -40 és +85 fok közötti. 533 MHz-es 25 éves az IBM PC laptopjain a Linuxot, pedig a Linux Intel IXP425-ös processzor a lelke, Idén 25 éves az IBM PC, amely igen felhasználók egyik legkedveltebb mégis képes akár 80 Megabites sebes- hamar ipari szabvánnyá vált mind laptopcsaládja a Thinkpad széria. ségû titkosításra is. Az eszköz a két a hardver, mind a szoftvergyártók köré- Nos úgy néz ki, megtört a jég, Ethernet és négy USB csatoló mellett ben. Látható, hogy hihetetlen mértékû és várhatóan SUSE Linux Enterprise CompactFlash kártya hellyel is rendel- változás ment végbe ez idõ alatt, éppen Desktop 10-zel is vásárolhatunk kezik, így akár WiFi-vel is bõvíthetõ. ezért a szakértõk is megosztottak Thinkpad laptopokat.  http://www.linuxdevices.com/news/ a témában, hogy a következõ 25 évben  http://www.pcmag.com/article2/ NS4942415046.html milyen fejlõdési irányvonal várható. 0,1895,1999092,00.asp

6 Linuxvilág Magazin

Holografikus tároló Ipari számítógép 8 soros porttal Noha még a HD-DVD – Blueray csata se zajlott le, a Hitachi Maxell 2006 karácsonyára ígéri a jóval nagyobb ka- pacitású (300 gigabájtos) holografikus tárolójukat. A lemez kicsit vastagabb (1,5 mm) és nagyobb (13 centiméter átmérõjû) lesz, mint a CD-k illetve a DVD-k. A hozzávaló lemezek ára 120- 180 dollár között lesz, míg a meghajtó ára elõreláthatóan 15 ezer dollár lesz. A Maxell szerint a 800 gigabájtos lemez 2008-ra, míg az 1.6 terabájtos lemez 2010-re várható. Az Advantech eAutomation csoportja  http://www.extremetech.com/ jóvoltából már hozzáférhetõ 1325 dol- article2/0,1697,1997498,00.asp lárért az 1 U magas ipari számítógé- pük, mely 8 darab túlfeszültség ellen Linux a Sony Mylo-ban is is védett soros porttal és 3 darab LAN © Kiskapu Kft. Minden jog fenntartva porttal rendelkezik. Az UNO-2668 400, 600 vagy 1000 MHz-es processzorral és 256 vagy 512 Mbyte memóriával érkezik. Linuxot vagy beágyazott Windowst futtathat Compact Flash memóriáról vagy opcionálisan rendelhetõ merevlemezrõl.  http://www.linuxdevices.com/news/ NS6399902653.html

Szeptemberben kerül várhatóan a pol- Router disztribúció cokra a Sony legújabb linuxos kézi Az olasz Fulvio Ricciardi letölthetõvé gépe 350 dolláros áron. A viszonylag tette az általa fejlesztett router diszt- magas ár ellenére az eszközben nem ribúciót, melyet CompactFlash kártyá- lesz GSM modul, viszont több VoIP ról vagy CD lemezrõl futtathatunk. szolgáltatót (Google Talk, Skype, stb.) A ZeroShell Net-et weben keresztül is támogatni fog WIFI segítségével. konfigurálhatjuk, és az alábbiakat Emellett médialejátszóként is használ- tartalmazza a teljesség igénye nélkül: hatjuk, hiszen mp3-at, wma-t és mp4-t Kerberos, LDAP és Radius hitelestés, is képes lejátszani. A beépített 1 giga- útválasztás, híd üzemmód, VLAN, bájtos tárhelyet MemoryStickkel VPN, WPA és WPA2 a WIFI-hez, tovább bõvíthetjük. Végül, de nem DNS, DHCP stb. A disztribúció fut- utolsósorban a beépített WIFI tatásához csupán egy 233 MHz-es internetezésre is alkalmassá teszi, en- számítógép szükséges 128 megabájt nek létjogosultságát azonban erõsen memóriával. megkérdõjelezi a 320x240 képpont  http://www.zeroshell.net/eng/ felbontású kijelzõ. Az adatbevitelrõl download/ készülékbe rejthetõ billentyûzet Firefox bõvítménynek álcázott trójai gondos- Megjelent egy trójai, mely Firefox bõ- kodik. vítménynek álcázza magát, és ezáltal telepíttetheti magát a gyanútlan fel- használóval. A trójai rögzíti az egér- mozgásokat és a billentyûleütéseket azonosítók és jelszavak után kutatva, majd idõnként elküldi azokat egy elõre beleégetett IP címre. A szakértõk tanácsa: bármilyen bõvítményt csak megbízható oldalról telepítsünk.  http://www.linuxdevices.com/news/  http://www.techweb.com/wire/ NS8202297251.html security/191101268

www.linuxvilag.hu 2006. október 7 Magazin

A Google-iroda bõvül Linuxos telefon a Nokia Mini PC szinte fillérekért Bár a Google Writely programja még Communicator vetélytársa béta státuszú, már megnyitották a fel- A Road használók elõtt. Már márciustól fel nevû a né- lehetett iratkozni a várólistára, de met tele- a programot csak augusztus végétõl fongyártó próbálhatják ki az érdeklõdõk. bemutatott A Writely nem más, mint egy Micro- egy olyan A bangkoki NorhTec mennyiségtõl füg- soft Word kompatibilis szövegszerkesz- készüléket, gõen már akár 100 dollár alatt is szállít- tõ, mely azonban hálózatos alkalma- mely PDA ja legújabb mini PC-jét, a MicroClient zás, szemben a Worddel, amely és telefon Jr.-t, mely alapterületre nem nagyobb, a felhasználó számítógépén fut. egyben, mint egy CD lemez. Az eszköz mû- Most, hogy már van szövegszerkesztõ Linuxot fut- ködés közben 8 wattot vesz fel. is a táblázatkezelõ mellett a Google re- tat Qtopia A rendszer lelke egy 166 MHz-es Intel pertoárjában, a világ kíváncsian figyeli, grafikus Pentium kompatibilis processzor. vajon mi lesz a következõ alkalmazás? felülettel. A dobozkában találunk még 128 mega-  http://hu.wikipedia.org/wiki/Writely A készülék bájt nem bõvíthetõ memóriát, IDE © Kiskapu Kft. Minden jog fenntartva  http://www.pcmag.com/article2/ szinte min- csatolót laptop merevlemezekhez, 0,1895,2006807,00.asp den ma 100 megabites sebességre képes háló- használa- zati csatolót és három darab USB iLiad tos adatátvitelt támogat, legyen az aljzatot. A teljesen hangtalan üzem Linux és elektroni- GPRS, EDGE, WIFI vagy Bluetooth. érdekében pedig helyet kapott még kus papír egyesí- A készülék külsõ kijelzõje 102x65 egy Compact Flash memóriát fogadó tésével létre- képpontos egyszínû kijelzõ, aljzat, de képes PXE szabvány szerinti hozta az iRex a gyomrából viszont kinyitás után lemez nélküli indításra is. A mini cég a hor- elõkerül a 640x240 képpont felbon- PC Linuxot vagy Windowst futtathat. dozható tású színes kijelzõ és a QWERTY  http://www.linuxdevices.com/news/ elektro- kiosztású billentyûzet is. Két válto- NS6828123924.html nikus zatban kapható majd a készülék: köny- S101 és S101K. A különbség csak Újabb gabonakör vet. annyi köztük, hogy a K-s készü- lék támogatni fogja a titkosított A 650 VPN-eket is. eurós ár kicsit Megfelelõ teljesítményt egy 400 MHz- soknak tûnik érte elsõre, es Intel PXA264-es processzor, de szinte minden benne van, amire 128 mbyte memória és 64 mbyte szükségünk lehet. A megjelenítésrõl flash memória biztosítja (a tárterület egy 16 szürkeárnyalatos 1024x768 Secure Digital kártyával 1 gigabájtig képpont felbontású érintõképernyõ bõvíthetõ), míg az üzemrõl egy gondoskodik. Amennyiben nemcsak 1400 mAh kapacitású litium-polimer adatbevitel a célunk, hanem kézírás- akkumulátor gondoskodik, amivel Furcsa ábra tûnt fel Oregon állam- felismerés is, azért sajnos további körülbelül 4 óra beszélgetési idõ vagy ban az egyik gabonatáblában. El- 60 eurót kérnek. 5 óra PDA üzem érhetõ el. A készülék sõ ránézésre azt hihetnénk, hogy A rendszert egy 400 MHz-es Intel tartalmaz 1.3 megapixeles kamerát is. a földönkívüliek is Firefoxot használ- Xscale processzor hajtja 64 megabájt Az ára egyelõre nem ismert. nak, de mint kiderült, csak az Oregoni RAM-mal és 128 megabájt flash me- Állami Egyetem Linux felhasználói móriával megtámogatva, mely 1 hó- múlatták így az idõt. napnyi újsághoz vagy 30 könyvhöz  http://lug.oregonstate.edu/gallery/ is elég tárhelyet ad. Adatfeltöltés firefox-crop-circle számtalan módon történhet: USB host (például pendrive), Compact Medve Zoltán Flash kártya, MultiMedia kártya, ([email protected]) 100 megabites vezetékes hálózat vagy akár WIFI. Az akkumulátor napi 3 2001-ben kezdett óra olvasás mellett akár 1 hétig is „Linuxolni”, de már kitarthat. Az eszköz jól bírja a kör- korábban is ismerkedett nyezeti szélsõségeket, -20 és +70 fok a szabad szoftverek világával. között képes üzemelni. Ha éppen nem a gép elõtt ül, akkor  http://www.linuxdevices.com/  http://www.road-gmbh.de/en/ fotózgat, olvasgat vagy bicajozik. articles/AT9929449485.html produkte/index_01.html

8 Linuxvilág Magazin

Mi újság a rendszermag fejlesztése körül

Greg Kroah-Hartman használják vagy az eszközkezelõk fej- „A kernelnek egyetlen egy küldetése van ezen a világon. Hogy mi az? nem, így aztán ért- lesztõi számára elké- Pufferként kell mûködnie a felhasználói tér és a közösen használt erõ- hetõ, hogy nem szített egy új, csillogó források között. Ennyi. SEMMI MÁS NEM SZÁMÍT.” nagyon volt két villogó csomagot, egyforma döntés. amely valószínûleg (Linus Torvalds) A dolognak aztán a más operációs az lett a következmé- rendszerekkel kap- nye, hogy rengeteg, csolatos hasonló termékekkel is portál kernelhírekkel kapcsolatos amúgy köztudottan teljesen jól felveheti a versenyt. Az anyagra szekciója is. A kernelfejlesztõk mûködõ kód mellett ott virított természetesen a GPL vonatkozik közül nagyon sokan szeretnék, az „experimental” jelzés. Ez eddig és egy CD lenyomat formájában ha az anyag késõbb valamiféle önmagában még nem is lett volna tölthetõ le. A lemez rengeteg kivételesen hatékony információ- gond, ha mindez nem vezetett forráskódot és számtalan doku- forrássá nõné ki magát. Ennek volna a jelzés komolyságának mentációt tartalmaz, sõt megtalál- megfelelõen számos javaslat érke- megszûnéséhez. Számos olyan ható rajta a Linux Device Drivers zett a továbbfejlesztésével kapcsolat- felhasználó van, aki a kernel for- címû könyv harmadik kiadásának ban. Kétségtelen, hogy a projekthez dításakor egyszerûen alapértel- © Kiskapu Kft. Minden jog fenntartva elektronikus változata is. nagyon sokan fognak csatlakozni, mezésként bekapcsolja a kísérle- Az elkövetkezõ kiadásokban már a keletkezõ csomag pedig egy ti modulok befordítását, gondolván lesz egy kereshetõ tárgymutató is, komoly hiányt pótol. hogy úgysem lesz abból semmi baj. amivel a teljes dokumentációt Chris Wedgewood a közelmúltban A kernelfejlesztõi közösség szoká- átfésülhetjük. Bizonyos hírek egy érdekes problémába ütközött, sait ismerve most egy hosszas szerint a dokumentumok közé amikor megpróbálta eltávolítani vitának kell következnie arról, idõvel bekerül majd az lwn.net egyes kernelszolgáltatások mellõl hogy mi is a „kísérleti” kifejezés a „kísérleti” (exeprimental) jelentése, mikor használható, jelzõt. Ennek a jelzésnek és mikor nem. Aztán ha már min- egyrészrõl az a kül- denki jól kivitatkozta magát, és jól detése, hogy figyel- megsértõdött, akkor elõjön Linus meztesse a felhasz- Torvalds valamivel, ami teljesen nálókat az esetleges új oldaláról világítja meg a problé- instabilitásokra, mát. És hogy ekkor mi fog történni? másrészrõl meg Kétlem, hogy ezt ma bárki meg az, hogy jelezze, tudná mondani. ezzel a dologgal A Linux érdekes módon egészen lehet szabadon eddig nem felelt meg a POSIX kísérletezni, ha szabványnak a gépnevek hosszára valakinek éppen vonatkozó elõírásainak. Éppen ez a szándéka. ezért Randy Dunlap nemrég bekül- Ugyanakkor dött egy foltot, ami a „bedrótozott” a „kísérleti” jelzõ 64 karakter hosszúságú nevek használatának helyett lehetõvé teszi a POSIX egészen eddig nem által elõírt 255-es hosszat (amely voltak jól meghatá- a karakterláncot lezáró nulla bájton rozott szabályai. felül értendõ). Bár Linus Torvalds A fejlesztõk a saját többször hangot adott annak belátásuk szerint a véleményének, hogy a Linux dönthettek úgy, hogy fejlesztõinek elsõsorban az értelmes

www.linuxvilag.hu 2006. október 9 Magazin

mûködésre kell koncentrálniuk, ötös limit felemelése már igazán hogy a programok indítása gyorsabb nem pedig vakon követniük idõszerû volt, így Andrew is lesz általa, hiszen a rendszer megspó- a POSIX vagy más szabványok elismerte, hogy a 2.6.17-es válto- rolhatja a programkód memóriába elõírásait, azért ez a mostani egy zatban való felbukkanása tulaj- való átmásolását. A másik nagy elõny elég alapvetõ hibának tûnik. donképpen amolyan történelmi egyenesen következik abból a tény- Randy foltja tehát 2.6.17-es szükségszerûség. Ráadásul amint bõl, hogy a RAM-alapú rendszerek kernelváltozattól érvénybe lép. arra a vita során egyesek rámutat- a programokat eleve Flash memóriá- A Linux kernel jelenleg legfeljebb tak, egyes terjesztések, mint pél- ban tárolják tömörített állapotban. öt egymást követõ szimbolikus dául a Red Hat már hónapokkal Amikor elindítunk egy alkalmazást, link használatát teszi lehetõvé, ezelõtt elvégezték ezt a módosítást annak kódját a rendszer elõbb kitö- de ez a szám a 2.6.17-es változattól a saját egyedi fejlesztésû rendszer- möríti a memóriába, csak aztán indul kezdve valószínûleg kilencre fog magjukon. a végrehajtás. Ha tehát egy ilyen emelkedni. Alexander Viro már Jared Hubert egy beágyazott eszközön az AXFS-t akarjuk hasz- 2006 februárjában bejelentette, rendszereken, különösen telefono- nálni, akkor nem használhatunk hogy célszerû lenne ezt a változta- kon használható speciális fájlrend- tömörítést, vagyis nagyobb Flash tást elvégezni, és a közelmúltban, szeren dolgozik. Ez az AXFS, amely memóriára lesz szükség. Ugyanakkor amikor a téma újra felmerült, az Advanced XIP Filesystem rövidí- a készülék akár egyetlen bájtnyi © Kiskapu Kft. Minden jog fenntartva a megfelelõ foltot is elkészítette. tése. És hogy mi az a XIP? Nos, RAM nélkül is mûködõképes lesz, Andrew Morton kelletlenül ugyan, az pedig az eXecute In Place rövidíté- ami összességében csökkenti az elõ- de hozzájárulását adta azzal se. Összefoglalva tehát az AXFS egy állítás költségét. Mindezek mellett a megjegyzéssel, hogy a módosí- olyan fájlrendszer, amely az alkalma- azért Jared rámutatott, hogy az AXFS tás következményeként egyes zásokat elindítás elõtt nem tölti be még messze nincs kész, az eddigi alkalmazások visszirányú kompa- a RAM-ba, hanem „helybõl”, magáról eredményeket pedig alapvetõen azért tibilitása nyilván meg fog szûnni, a statikus tárolóról futtatja õket. tett közzé, mert véleményeket szere- vagyis ha egy alkalmazás ötnél Ennek a megközelítésnek bizonyos tett volna hallani, illetve további ötle- több tagból álló hivatkozássoro- esetekben számos elõnye lehet, így teket kapni a kernelfejlesztõktõl. zatokra építi a mûködését, akkor nem csoda, hogy egyes fejlesztõk, Linux Journal 149. szám egyszerûen képtelen lesz futni például Mark Lord máris élénk a 2.6.17-esnél régebbi kernelekkel. érdeklõdést tanúsítanak az új szolgál- Ugyanakkor az is igaz, hogy az tatás iránt. Az AXFS egyik haszna, Zack Brown

10 Linuxvilág Magazin

Megerõsített hátország a SUSE Linux Enterprise Serverrel Ha az informatikai életben a nagyobb teljesítményrõl, jobb méretezhetõségrõl, felügyelhetõségrõl, megbízhatóságról, nagyobb biztonságról, jobb támoga- tásról beszélünk és a vállalatokat errõl az oldalról közelítjük meg, a Novellt az elsõk között kell említenünk.

vállalat legújabb termék- családja, a SUSE Linux A Enterprise 10 a cégek A felügyelhetõség terén újdonság a Novell Customer Center (ügyfélközpont), számára sokkal többet kínál a világ- ahol egyszerûen kezelhetõk a rendszer-elõfizetések. A Customer Center egy színvonalú vállalati szerveroperációs központi online portál, ahol a mûszaki támogatás mellett a szoftverfrissítések, rendszerektõl elvárt funkciókból. Mint hibajavítások is egy helyen elérhetõek, és amely teljes mértékben együttmû- minden új kiadás esetén, a platform ködik a Novell ZENworks® Linux Managementtel. A Novell ZENworks Linux kiszolgálókomponense, a SUSE Linux Management segít a Linux kiszolgálók és asztali gépek felügyeletében, így Enterprise természetesen több egészen nagy felhasználói bázis is kezelhetõ, és szabályozható a hozzáférés funkcióval rendelkezik mint elõdje, a hálózatokhoz és alkalmazásokhoz az OpenLDAP segítségével. A SUSE Linux azonban a kiszolgáló három lényeges Enterprise Server maximálisan integrálható Novell eDirectory környezetekbe, bõvítése az, amitõl a szerver nagyot de Active Directory infrastruktúrákba is. lép elõre az egyre nagyobb igényt támasztó vásárlók szemében. és értelmezésének lehetõsége külön, más olyan kiszolgálóira, amelyek • AppArmor alkalmazásbiztonság még egyedi megoldásként volt kap- ugyanazokat az alkalmazásokat futtat- • Tárolási alapok ható. Az AppArmor mostanra telje- ják és ugyanazokat az irányelveket © Kiskapu Kft. Minden jog fenntartva • A kiszolgálók virtualizációja sen nyílt forráskódúvá vált (a GNU igénylik. Az AppArmor frissítési- General Public License szerint) profilkészítõ varázslójával egyszerûen Az AppArmor megerõsített alkalma- és szorosan integrálódik a SUSE Linux frissíthetõk a meglévõ alkalmazás- zásbiztonságot nyújt Enterprise keretrendszerbe. irányelvek, vagyis könnyen imple- A biztonság mindig is a Linux ope- Az AppArmor a vállalati alkalmazások mentálhatók a változások és vehetõk rációs rendszer egyik erõssége volt, védelmére egy „fehérlista” elvet fel az új szabályok. Miután az al- de az egyes alkalmazások sérülékeny- alkalmaz, ahol fel van tüntetve, kalmazás-irányelv életbe lépett, az sége néha kaput nyit a betörõk elõtt. hogy az alkalmazások milyen mû- AppArmor naplózza az irányelv által A SUSE Linux Enterprise termékcsa- veletek végrehajtására jogosultak. visszautasított alkalmazáseseménye- ládba teljes mértékben integrált Ez a módszer sokkal hatékonyabb ket. A profilkészítõ varázslóhoz hason- AppArmor alkalmazásbiztonsági keret- a „feketelistás” módszereknél, ahol lóan a frissítésiprofil-készítõ varázsló rendszer segít e probléma megoldásá- az van felsorolva, hogy az alkalma- is átnézi a naplót és kérdéseket tesz fel ban, mivel egy speciális biztonsági zásnak mit nem szabad csinálnia. oly módon, hogy könnyen ki tudja csomagolást készít minden egyes A feketelistás módszerek ugyanis egészíteni a meglévõ irányelvet. alkalmazás köré. csak addig mûködnek biztonságosan, Az AppArmor nem teljesen új a SUSE amíg új támadási pontok nem válnak Robusztusabb, jobban méretezhetõ Linux Enterprise Server felhasználói ismertté. Ilyenkor a felhasználók és nagyobb rendelkezésre állású számára. A korábbi, 9-es verzió ugyan- védtelenek, ameddig a gyártók el tárolóeszközök is már tartalmazott egy nyílt forráskó- nem készítik az új javításokat. A SUSE Linux Enterprise Serverben dú kernelmodult és egy biztonsági Az irányelvek – a gyakorlatban egysze- található új tárolóeszköz-kezelõ alap- egyeztetést kezelõ komponenst, rû szövegfájlok – létrehozásuk után rendszer most többet nyújt, hiszen azonban az irányelvek létrehozásának egyszerûen szétoszthatók a környezet robusztusabb és jobban kezelhetõ

www.linuxvilag.hu 2006. október 11 Magazin

amelyek a saját azzal nem teljesen megegyezõ szoft- virtuális gépeiken verfelületet „látnak” a virtuális gépek.) belül futnak Vagyis az olyan meglévõ alkalmazá- ugyanazon a ki- sok, amelyeknek muszáj egy adott szolgálón. Ha egy régebbi operációs rendszeren futni, virtuális gépen elszigetelhetõk a saját egyéni vir- csak egyetlen tuális gépükbe, ugyanakkor mégis alkalmazás vagy futhatnak ugyanazon a fizikai ki- szolgáltatás fut, szolgálón. A SUSE Linux Enterprise elegendõ csupán Server az AMD és az Intel hama- az operációs rend- rosan elkészülõ hardvertechnológiái- szernek azokat val együtt képes lesz támogatni a szolgáltatásait és a teljes virtualizációt. komponenseit be- A SUSE Linux Enterprise Server tel- tölteni, amelyekre jesen virtualizált és paravirtualizált az alkalmazásnak vendég operációs rendszer támogatást ténylegesen szük- is biztosít. A Novell még ebben az © Kiskapu Kft. Minden jog fenntartva sége van. évben tervezi a paravirtualizációs Így a fejlesztõk és támogatást a SUSE Linux Enterprise integrátorok szá- Server 9 SP3-hoz, valamint az Open mára lehetõség nyí- Enterprise Server környezetben futó lik arra, hogy speci- NetWare támogatását. ális virtuális gépe- A hivatalosan bejelentett támogatáso- ket készítsenek kon túl, a nyílt forráskódú közösség- megoldásaikhoz. nek a Xenen paravirtualizált vendég alapot biztosít, amely képes kiszol- A kiszolgáló virtualizációja újabb szin- operációs rendszerként futó kernelek gálni kis fájlrendszereket, vagy tet ad hozzá a magas rendelkezésre között megtalálható a Linux 2.4, akár fájlok millióit több terabájtnyi álláshoz: a meghibásodott szolgáltatás a Linux 2.6, a NetWare 6.5, a NetBSD, tárterületen. Emellett alkalmazások automatikus újraindítását. Ez azt je- a FreeBSD, a Plan9 és az OpenSolaris. széles körét is kiszolgálja a webes lenti, hogy az alkalmazás vagy szol- Bár a vendég operációs rendszerek be- alkalmazásoktól kezdve egészen az gáltatás csak egy rövid idõre áll le, ál- jelentett támogatása egyelõre korláto- adatbázisokig, és a korábbiaknál na- talában nem elég hosszú ideig ahhoz, zott, a Novell célja, hogy a SUSE Linux gyobb rendelkezésre állást garantál hogy komoly problémát jelentsen. Enterprise Serveren futó Xen legyen a továbbfejlesztett clusterkezelési A Virtual Machine Migration (virtuális a kapható legjobb virtualizációs funkciókkal és a speciális cluster- gép áthelyezése) funkció lehetõvé platform. A jövõben tehát további fájlrendszerrel. teszi egy adott virtuális gépen futó újdonságokra számíthatunk még. alkalmazás vagy szolgáltatás áthelye- Virtuálisan még több kiszolgáló zését az egyik fizikai géprõl a cluster A SUSE Linux Enterprise Server egy másik gépére, újraindítás nélkül. disztribúció talán legizgalmasabb új- Ez azt jelenti, hogy nincs leállás és AppArmor-közösség donsága a kiszolgálóvirtualizáció le- az alkalmazás futási állapota teljesen Annak érdekében, hogy még egy- hetõsége. A Cambridge Egyetem által megõrzésre kerül áthelyezés közben. szerûbb legyen minden szervezet mûködtetett Xen nyílt forráskódú Ez nagy elõny, mert így éles mûködés számára az AppArmor kínálta alkal- projektre épülõ kiszolgálóvirtuali- közben is elvégezhetõ a rendszer mazásbiztonsági elõnyök kiaknázá- záció segít abban, hogy az alkalma- normál karbantartása. sa, a Novell meghirdetett egy nyílt zásokat, szolgáltatásokat és fájlrend- Ha a kiszolgálók konszolidációjáról forráskódú projektet, ahová min- szereket ne kelljen egy-egy adott van szó, a több virtuális gép futtatása denkit szívesen vár, hogy járuljon géphez rendelni. egyetlen kiszolgálón, valamint az hozzá az AppArmor jövõbeni fej- A virtualizáció elõnye igazán akkor a tény, hogy a virtuális gépek akár lesztéséhez, valamint küldjön el látszik, ha több önálló virtuális gép is más-más vendég operációs rendszere- a saját alkalmazásaihoz készített fut egyetlen fizikai kiszolgálón. Ez le- ket is futtathatnak, nagymértékben AppArmor profilokat. A cél elõrede- hetõvé teszi a terhelések elszigetelé- megkönnyítheti a felhasználók dolgát. finiált alkalmazásbiztonsági irányel- sét, vagyis ahelyett, hogy több alkal- Legyen bár a SUSE Linux Enterprise vek nagy tárházának kialakítása, mazás futna ugyanazon a „túlhizlalt” Server a gazda operációs rendszer amely mindenkinek segíthet az operációs rendszeren, az egyes alkal- a kiszolgálóvirtualizációhoz, a virtuális AppArmor gyors és egyszerû beüze- mazások elszigetelhetõk és a saját gépek maguk más paravirtualizált melésében az informatikai környe- virtuális gépen futtathatók. Ha egy al- vendég operációs rendszereket is fut- zetek védelméhez. További infor- kalmazás lefagy, – mivel el van szige- tathatnak. (A paravirtualizáció egy máció a projekttel kapcsolatban: telve –, egyáltalán nem befolyásolja olyan virtualizációs megoldás, ahol  opensuse.org/apparmor. a többi szolgáltatást és alkalmazást, a hardverhez nagyon hasonló, bár

12 Linuxvilág Magazin

Mesterséges mesterséges intelligencia Érdekesen valósítja meg a mesterséges intelligenciát az Amazon.com. Ebben a cikkben a közelmúltban bemutatott Mechanical Turk nevû szolgáltatást tekintjük át röviden.

Mi volt a titka a híres szerkezetnek? Az Amazon Mechanical Turk-je pon- Állítólag az, hogy a fogaskerekek és tosan ezt csinálja. Biztosít egy olyan a mechanikus alkatrészek mögött egy programozói felületet melyen keresz- hús vér sakk nagymester rejtõzött. tül pillanatokon belül kérdéseket Érdekes, hogy Kempelen olyan ügye- küldhetünk az Amazon szervereinek. sen építette össze a szerkezetet, hogy Ott ezeket a kérdéseket emberek bön- erre a trükkre a kortársak ténylegesen gészhetik, akik egy kérdés megvála- soha nem jöttek rá így – pusztán el- szolása után megkapják az általunk Az Amazon.com igen aktívan keresi méleti síkon – nem is lehetünk benne felajánlott díjat. A szolgáltatásnak az új utakat. Nem csak világméretû teljesen biztosak, hogy így volt. mindössze 10% közvetítõi díja van. virtuális vásártér szeretne lenni, Innen kapta a nevét tehát az Amazon hanem annál sokkalta több. Létrejött mesterséges mesterséges intelligenciája. A programozó szemszögébõl nézve egy külön részleg az Amazonon belül, Számos olyan problémakör van ugyan- Nézzük meg, hogyan néz ki mindez mely különbözõ webszolgáltatások is a számítástechnikában, mely egy a programozó szemszögébõl! Az aláb- kidolgozásán dolgozik. Egy webszol- gépnek szinte megoldhatatlan, viszont bi pszeudokód kiválóan szemlélteti gáltatást úgy képzelhetünk el, mint egy ember pillanatok alatt megadja mennyire egyszerû szolgáltatásról egy távoli eljáráshívást. Mi programo- a választ. Kinek okozna például gon- van szó: © Kiskapu Kft. Minden jog fenntartva zók írhatunk olyan programot, amely dot, ha azt kellene eldöntenie, hogy az Amazon.com távoli szervereivel egy adott képen szerepel-e banán? read (photo); cserél adatot, végeztet el különbözõ Gondolom senkinek. Viszont ha ezt photoContainsHuman = speciális mûveleteket, melyeket mi a feladatot számítógéppel szeretnénk callMechanicalTurk(photo); nem tudnánk magunktól elvégezni. elvégeztetni, akkor speciális programot if (photoContainsHuman == kellene írnunk, mely rengeteg számítás TRUE){ Kempelen Farkas visszatér elvégzése után sem tudná egészen bi- acceptPhoto; A szolgáltatás weboldala zonyosan megmondani az eredményt. } ( http://www.mturk.com) meg- else { dobogtatja a magyar programozók Hogyan mûködik? rejectPhoto; szívét, hiszen a következõ sorokat Manapság az ember-számítógép inter- } olvashatjuk bemutatkozás gyanánt: akció a következõképpen mûködik: az „1769-ben egy magyar fõnemes, ember megfogalmaz kérdéseket, majd A fenti program arra keresi a vá- Kempelen Farkas bámulatba ejtette a számítógép a jól feltett kérdéseket laszt, hogy vajon a képen szerepel-e Európát egy mechanikus sakk hosszas számítások árán megválaszolja. ember. Meghívja tehát az Amazon automatával, mely szinte minden Miért ne lehetne megfordítani ezt a dol- Mechanical Turk-jét, melynek segítsé- alkalommal megszerezte a gyõzelmet got? Miért ne tehetne fel a számítógép gével pillanatok alatt megkaphatja ellenfeleivel szemben.” A szöveg is kérdéseket hús vér embereknek? a kérdéses eredményt. további részébõl kiderül, hogy Kempelen Farkas bejárta a korabeli fõúri udvarokat, és elmés szerkeze- te még az oly messze földön híres játékosokat is térdre kényszerítette, mint Benjamin Franklin, vagy 1. ábra Egy munka rövid leírása Napoleon Bonaparte.

www.linuxvilag.hu 2006. október 13 Magazin

a tapasztaltabb, több munkát tel- jesített, vagy valamely speciális tudással(például nyelvtudás) rendel- kezõ felhasználók jóval magasabb díjazásra számíthatnak. Összességében egészen érdekes megoldással rukkolt elõ az Amazon. Sok lehetõséget látok a Mechanical Turk-ben, és azt hiszem fõleg azoknak lesz érdemes figyelemmel kísérni a sorsát, akik valamilyen összetettebb, 2. ábra Így néz ki egy konkrét munka intelligens szolgáltatás beindításán gondolkoznak.

Amit a válaszadó lát munkaleírás a következõket tartalmaz- Juhász Attila Vajon mit lát egy felhasználó, aki za: meg kell látogatnunk egy étterem ([email protected]) a kérdések megválaszolásával pénzt honlapját, majd ellenõriznünk kell, © Kiskapu Kft. Minden jog fenntartva szeretne keresni? A szolgáltatás hogy a honlapon feltüntetett és a re- Az Információ Techno- weboldalát ( http://www.mturk.com) gisztrációjuk során megadott nyitvatar- lógiai Kar hallgatója böngészve válogathat a különbözõ tási idõ azonos-e. Nem túl bonyolult a Pázmány Péter kérdések közül. Minden kérdés mel- kérdés, ugye? Valószínûleg mégsem Katolikus Egyetemen. Érdeklõdik lett szerepel, a kérdést feltevõ cég ne- mi fogjuk megválaszolni õket, hiszen a bioinformatika és a neurális hálóza- ve, a munka határideje, hogy mennyi a jutalmul felajánlott majdnem hét tok iránt. A fotózás és a tánc mellett idõ áll rendelkezésünkre, valamint, forintos díjazás még akkor is kevésnek öt éve foglalkozik webgrafikákkal. hogy mennyi pénzt kereshetünk tûnik, ha óránként 20-30 darab kérdést A linux terjesztések közül a megválaszolásával. tudunk megválaszolni. a Gentoo és az Ubuntu áll legkö- Rákattintva egy kérdéscsoportra, Természetesen nem ilyen rossz azért zelebb a szívéhez. Fotós oldala egy konkrét munka leírása elé jutunk, a helyzet, hiszen minden programozó a http://people.goraffe.com/attila melyhez akár rögtön hozzá is kezdhe- eldöntheti, hogy kiknek jeleníti meg címen található. tünk. Az illusztrációnak használt a kérdéseket. Ezért valószínû, hogy

14 Linuxvilág Magazin

Vörös tanga és japán múzeum Azt tudjuk, hogy ruha teszi az embert, és hogy a mezítelen emberek kevés vagy semmilyen befolyással nem bírnak társadalmunkban. De hogy miként befolyásolja az embert egy (vagy több) pingvin szmokingban, gatya nélkül – az elvarratlan szálakhoz keressünk vásznakat.

dott ugye a félig hiányos, dulást rossz (és bandzsa) szemekkel de másfelõl ünnepi öltözet, nézõ Iszonyatos Uszonyos nevezetû A melyben – legalábbis egy figurával. Megint más pingvineket karrierista pingvin számára – éppen valamiért nõi ruhákba öltöztetnek illõ végigsuhanni a vörös szõnyegen. és hercegnõi rangra emelnek, mind- A filmvászonra kerülve rögvest érvé- emellett egy másik öltözet igazság- nyesül az emberi befolyás, tudniillik, tartalmát kutatják utazva és vitázva hogy tán egy madártollal sok erotikus – nevezetesen a déli féltekérõl az dolgot lehet mûvelni, azonban egy északira haladva merül felfelé a kér- egész madárral e dolgok más jelzõért dés a szárnyasokban: vajon létezik-e a Mikulás. A Toy Story-ban a dráma tovább fokozódik; elnémult pingvint árusít ki jóanyja. E gyerekkereske- delmes gyermekfilmet felnõtteknek is ajánlják, bár én még mindig nem értem az áldozat, annak felmenõje, továbbá a feslettkarú cowboy, a ló © Kiskapu Kft. Minden jog fenntartva és a japán múzeum összefüggéseit… Ugyanígy ámulattal követtem Wallace és Gromit kalandjaiban kiáltanak. Így például a Farce of the penguins címû amerikai alkotás (mely az Oscar-díjas Pingvinek vándorlása . film paródiája) igaz szerelmet kutató fõhõsét csípõszorítós, kitömött vöröstangás, push-up melltartós, bõrszerkós, bilincscsörgéses- ostorsuhintgatós társai kísérik végig történetén. Ennél elvetemültebbek a német családi vígjátékok, melyek- ben hol postai munkára, hol a halá- szati feldolgozóiparba kényszerítik Pingvin Danny DeVito személyében, a fõgengszter pingvint, ki albérlõ, a pingvineket, némelykor konyhai kit narkomán tekintete dacára sem de eközben gyémántokat rabol robotra fogják õket. vettek be a Farce-csapatba – túlöltö- és fegyvernek látszó tárgyakkal Már Hitchcock is megmondta, zöttsége miatt. fenyegetõzik. És jön oldani a fe- könnyû a rajzfilmkészítõk dolga A Warner Bros erre föl mentõakció- szültséget a madagaszkári állatbuli, szereposztás tekintetében, hiszen kat szervez, Scooby Doo és csapata melyben ama fontos kérdésre ha nem tetszik egy-egy figura, egy- próbálja visszajuttatni otthonába kaphatunk feleletet: Hús vagy hal? szerûen széttépik. No, ezt nem tették a sarkvidéki madarat, halált megvetõ Batmannel, így megszületett a gonosz bátorsággal küzdve a zöld megmoz- Halusz Léna

www.linuxvilag.hu 2006. október 15 Fejlesztõi sarok

Sugárkövetés (1. rész)

A sugárkövetõ algoritmusok szépsége, ereje a fény viselkedésének szimuláció- jában gyökerezik. Az olyan effekteket, mint a tükrözõdés vagy az árnyékok – amelyeket nehézkes scanline algoritmusokkal élethûen modellezni – a sugárkö- vetés természetes eredményei. Viszonylag könnyû implementálni és impresszív vizuális élményt nyújt. Most induló cikksorozatunk segítségével elkalauzoljuk olvasóinkat a ray tracing és a fotorealisztikus modellezés világába.

függvényekkel leírt környezet- használatát is ismertethetnénk e hasá- A klasszikus sugárkövetés össze- bõl a fénytan törvényeinek meg- bokon... mi azonban eltekintünk ettõl, hasonlítása a hagyományos felelõen fotorealisztikus képet ebben a cikksorozatban azt a célt tûz- számol ki. zük ki magunk elé, hogy az olvasókat scanline algoritmusokkal A mai grafikus ún. scanline algorit- az algoritmus mélységeibe kalauzol- musokkal dolgoznak. Bár ezeken juk, nem elégszünk meg a felszínes A sugárkövetés hátránya a viszony- a pixel és vertex shaderekkel felvérte- ismeretekkel. lag magas számítási idõ. Míg zett kártyákon is nagyon élethû Sajnos a témáról magyar nyelvû © Kiskapu Kft. Minden jog fenntartva a scanline algoritmusok kihasz- effekteket lehet létrehozni (láttam irodalom az interneten alig található, nálják a fény koherenciáját, a su- már shader language-ben írt sugárkö- ezért igyekszem majd az egyes fogal- gárkövetés minden egyes sugárra vetõt is), ezek használata még mindig mak angol megfelelõjét is megadni, külön értelmezi a mûveletet, az elõ- nem közelíti meg a sugárkövetéssel így az olvasók könnyebben tudnak zõ sugár eredményétõl függetlenül. számolt képek minõségét. Jelen cikk majd kapcsolódó publikációkat, íráso- Elõnye, hogy nem csak poligon írója szerint a poligon alapú grafikus kat keresni. Ebben a számban a mate- alapú felületekkel képes dolgozni, gyorsítókat a jövõben fel fogják válta- matikai alapokra is kitérünk, ezek is- képes a fény és a különbözõ anya- ni a sugárkövetéssel dolgozó kártyák. merete létfontosságú lesz a továbbiak gok viselkedésének valósághû Már léteznek raytracing kártyaproto- megértéséhez. modellezésére. típusok, bár kereskedelmi forgalom- ban még nem kaphatóak és hatalmas A szem mûködése számításigényük miatt még gyermek- Kezdjük is mindjárt az alapoknál. sugárkövetés (idegen szóval cipõben járnak a fejlesztések. Egyelõ- Hogyan is mûködik az emberi szem? ray tracing) – mint arra re be kell érnünk a szoftveres sugár- A szem a fény energiáját a retinában A a neve is utal – alapvetõ- követéssel. lévõ idegelemek segítségével elektro- en a fotonok útjának követésén Természetesen léteznek Linux alá írt mos és kémiai ingerületté alakítja alapul, egy három dimenziós koor- ingyenes sugárkövetõ programok, majd ezeket az ingerületeket a tény- dinátarendszerben matematikai mint például a POV-Ray, és akár ezek leges idegrendszer vezetõ elemei

16 Linuxvilág Fejlesztõi sarok

Ahol p0 az egyenesen fekvõ adott pont helyvektora, V az egyenes irányvektora, t pedig egy tetszõleges skalár mennyiség. Bármilyen értéket adunk t-nek, a formulából számított P pont mindig az egyenesen fekvõ pont lesz. Az egyenes irányvektora az egyenes irányával párhuzamos vektor. Az irányvektor nagyon könnyen kiszá- mítható az egyenesen fekvõ két pont ismeretében V = P1 - P0 Ha a kapott vektort normalizáljuk, akkor a fenti egyenletben t a P0 ponttól mért távolságot jelenti az egyenes mentén az irányvektor irá- nyában. Egy adott vektor normalizá- lása egy olyan vektort eredményez, © Kiskapu Kft. Minden jog fenntartva melynek iránya megegyezik az ere- deti vektoréval, hossza egységnyi: Vn = V / |V| 1. ábra Ezen a képen jól látszanak a sugárkövetés jegyei: tükrözõdés, fénytörés, árnyékok A három dimenziós vektor abszolút értékét (azaz hosszát) Pitagorasz tétele alapján egyszerûen kiszámíthatjuk (látóidegek) az agy nyakszirti lebe- Egy kis matematika a következõ formula segítségével: nyének meghatározott részéhez veze- Most, hogy túlestünk a látás anató- |V| = sqrt(X^2 + Y^2 + Z^2). tik, ahol az elektromos információ miai részén, kicsit megtornáztat- Amint azt a késõbbiekben látni fog- bonyolult idegi mechanizmusok ré- juk a bal agyféltekét, rátérünk juk, gyakran lesz szükségünk két vén dekódolódik és képi információ- a matematikai alapozásra. Azon olva- vektor által bezárt szög kiszámítására. vá alakul. Szemünk optikai tulajdon- sóink, akik e matematikai alapokkal Ezt az ún. skaláris szorzat adja. Két ságai révén fordított állású képet ké- teljesen tisztában vannak, akár át is vektor (A és B) skaláris szorzata egy szít, amit az agy fordít vissza. A szem ugorhatják ezt a részt. Az egyszerû- olyan skalár érték, amely egyenlõ optikai része (szemlencse, üvegtest, ség kedvéért legtöbbször vektoriális a két vektor által bezárt szög koszinu- stb.) a beérkezõ fényt egy fókusz- egyenleteket adunk meg, tehát felté- szával. pontba „tereli össze”, ez a pont az telezzük az elemi vektormatematika ideghártya központi, kiemelt jelentõ- ismeretét. Néhány mûveletet speciá- A*B = cos(alfa) azaz cos(alfa) = ségû területe, az ún. sárgafolt (maku- lisan jelölök majd a formulákban, (Ax*Bx + Ay*By + la), ez az éleslátás tényleges kialaku- ezek: * = skalár szorzás (két vektor Az*Bz)/(|A|*|B|). lásának a helye. A sárgafoltban esetén a lentebb ismertetett skalár megközelítõleg 127 millió receptor- szorzat), sqrt = négyzetgyök, ^ = A gömb sejt szolgál a fényinger felvételére hatványozás (programozásban járta- A sugárkövetés metszéspontszámítá- és kémiai ingerré alakítására. sabb olvasóinknak már ismerõsek sokon alapul, futásidejének oroszlán- Három fajta érzékelõ sejtet lehet lehetnek e jelölések). A vektorok részét azzal tölti, hogy metszésponto- megkülönböztetni: a vörös, a kék egy-egy komponensére a nagy betû- kat keres fénysugarak (szakaszok) va- és a zöld színekre érzékenyeket. vel szedett vektor neve utáni kis be- lamint a térbeli objektumok között. E három színbõl az összes többi elõál- tûs komponensjelöléssel hivatkozok, A térbeli objektumokat, felületeket lítható, ezt a színkeverési metódust azaz például Vx a V vektor X koordi- egyenletekkel kell definiálnunk ah- additív színkeverésnek nevezzük. nátájára utal. hoz, hogy metszéspontokat tudjunk Az additív színkeverés tehát a sze- Egy három dimenziós koordináta- számolni. Az egyik legegyszerûbb fe- münkben történik, ez a színes televí- rendszer X,Y,Z tengelyekbõl áll, ahol lület a gömb (angolul sphere). zió, a monitorok és egyéb színes kijel- az egyes pontok helyvektorait a ten- Próbálkozzunk meg egy egyenes és zõ készülékek mûködésének alapja. gelyeknek megfelelõ bázisvektorok egy origóban álló gömb metszéspont- A szemünkbe egyidejûleg, a szem te- (i,j,k) valamint adott skalár mennyisé- jának kiszámításával. hetetlenségét kihasználva gyors egy- gek (X,Y,Z koordináták) szorzataként Tudjuk, hogy a gömb felülete azon másutánban érkezõ, vagy egymáshoz létrejövõ vektorok összegeként defini- pontok halmaza, amelyek egy adott igen közeli apró pontocskák formájá- álhatjuk, azaz P = X*i + Y*j + Z*k. ponttól (a gömb középpontja) azonos ban beérkezõ trikromatikus (három Három dimenziós koordinátarend- távolságban vannak. Ez a távolság különbözõ hullámhosszúságból álló) szerben egy egyenes térbeli pontjait a gömb sugara. Az origóban álló gömb színingerek additív színkeverés útján a következõ egyenlettel definiálunk: pontjai ki fogják elégíteni a |P| = r egyetlen színné alakulnak. P = P0 + V*t egyenletet. Ha mind az egyenes mind

www.linuxvilag.hu 2006. október 17 Fejlesztõi sarok

a gömb egyenletét koordinátákkal írjuk fel, a következõ egyenletrend- szerhez jutunk:

X = X0 + Vx*t Y = Y0 + Vy*t Z = Z0 + Vz*t R = sqrt(X^2 + Y^2 + Z^2)

Az egyenes X,Y,Z koordinátáit rendre behelyettesítve a gömb egyenletébe majd a kapott egyenletet egyszerûsít- ve és a másodfokú egyenletek általá- nos alakjára (a*x^2 + b*x + c = 0) hozva, a következõ formulához jutunk:

© Kiskapu Kft. Minden jog fenntartva (Vx^2 + Vy^2 + Vz^2)*t^2 + (2*(X0*Vx + Y0*Vy + Z0*Vz))*t + (X0^2 + Y0^2 + Z0^2 – r^2) = 0

Ezek alapján a tetszõleges középpon- tú gömb egyenlete is levezethetõ, a tetszõleges középpontú gömb egyenlete |P – O| = r azaz r = sqrt((X – Ox)^2 + (Y – Oy)^2 + (Z – Oz)^2), ennek levezetését az 2. ábra A virtuális kamera felépítése és paraméterei olvasóra bízzuk. A másodfokú egyenlet determinán- sát kiszámítva (d = b^2 - 4*a*c) szükségünk lesz a felület metszés- a fényerõsség pedig nem csökken megtudjuk, hogy az egyenes pontban számított normálvektorára a fényforrástól való távolság növelé- metszi-e a gömböt (d nem negatív, is. A normál vektor egy olyan vektor, sével, tehát konstans a tér bármely azaz a másodfokú egyenletnek van amely merõleges a felületre. Ez göm- pontjában. Az ilyen fényforrásnak megoldása) illetve hogy egy vagy bök esetében rendkívül egyszerû, mindössze két paramétere van: 2 pontban metszi (amennyiben a normál vektor a gömb középpont- a kibocsátott fény színét és erõsségét egy pontban metszi, ez az egyenes jából a metszéspontba mutat, azaz: definiáló RGB hármas, valamint a gömb egyik érintõje). N = P – O. Amikor normálisokat szá- a fényforrás pozíciója. Az másodfokú egyenletek általános molunk, figyeljünk arra, hogy a nor- megoldóképletét (t1 = (-b + mál vektor a felületbõl mindig kifelé Szemünk, a virtuális kamera sqrt(b^2 – 4*a*c))/(2*a*b), t2 = mutasson! Ez mind szép és jó – mondhatja az (-b - sqrt(b^2 – 4*a*c))/(2*a*b) ) fel- olvasó – na de hogyan számoljunk használva megkapjuk azon t értéke- Fényforrások ebbõl két dimenziós képet? A megol- ket, amelyet az egyenes egyenletébe A klasszikus sugárkövetés pontszerû dás az emberi szem felépítését utánzó behelyettesítve egy olyan pontot fényforrásokat használ, a fotonok virtuális kamerában rejlik. A kamera kapunk, amely a gömbfelület pont- a tér egy definiált pontjából indulnak pozícióját (a szem analógiájával élve halmazának része is egyben, azaz útjukra, azaz e fényforrásoknak a szemünk fókuszpontját) a tér egy a gömb és egyenes metszéspontját! nincs térbeli kiterjedése A valóság- adott pontjába helyezzük el, majd Amint láttuk, a gömbfelületet egy ban ilyen fényforrások természetesen meghatározzuk azt az irányvektort, másodfokú egyenlettel lehet definiál- nem léteznek, hiszen minden fényt amerre a kamera néz (nézetvektor, ni, a gömb tehát egy másodfokú emittáló testnek kell legyen térbeli idegen szóval view vector). A kamera- (kvadratikus) felület. A késõbbiekben kiterjedése, ugye? Mi most ettõl elte- pozíciótól adott távolságra pedig el- több másod és magasabb fokú felüle- kintünk (késõbbiekben még visszaté- helyezzük a nézõsíkot (view plane), tet is ismertetni fogok, elégedjünk rünk erre a témára), a számítások amely merõleges a kamera view meg egyenlõre e felülettel. egyszerûsítése érdekében egyelõre vector-ára. A nézõsík és a kamera po- Összegezve az eddigieket, most már csak pontszerû fényforrásokkal szá- zíciója közti távolságot szemtávolság- ki tudjuk számítani fénysugarak és molunk, azon beül is a legegysze- nak nevezzük, a továbbiakban L-lel gömbök metszéspontját, azaz azt rûbb esettel, irányítatlan, konstans jelölve. Ez a paraméter egy tetszõle- a pontot, ahol egy adott helyrõl indí- fényforrással dolgozunk. Ez a fény- ges, 0-nál nagyobb érték, a perspektí- tott fénysugár eltalál egy gömböt. forrás a tér minden irányába egyenlõ vát, kameránk látószögét szabályoz- Hamarosan látni fogjuk, hogy mértékben bocsát ki fotonokat, hatjuk vele.

18 Linuxvilág Fejlesztõi sarok

Több ilyen modell is létezik, egyesek a valóság egyre pontosabb megközelí- tésére születtek, míg mások csak egyetlen valós anyagtípus viselkedését próbálják meg modellezni. Az árnya- lási modellek túlnyomó többsége elhanyagolja a fény hullámtulajdonsá- gaiból adódó jelenségeket, azaz nem lehet velük például egy prizma visel- kedését szimulálni. Egy már megírt és mûködõ sugárkövetõ algoritmust némi hozzáértéssel módosíthatunk úgy, hogy figyelembe vegye a fény hullámtulajdonságait is (a fény spekt- rumát felpartícionálva több hullám- hosszon is ki kell lõni ugyanazt a sugarat, valamint az árnyalási mo- delleket és a fényutak meghatározását © Kiskapu Kft. Minden jog fenntartva is hullámhosszal paraméterezhetõvé kell tenni), ennek megvalósítását azonban az olvasóra bízzuk. Mivel ez a cikksorozat elsõ része, az eddigiekben minden esetben a legegyszerûbb modellt ismertettük. Nem teszünk kivételt az árnyékolási 3. ábra A diffúz fény nézõpontfüggetlen, nagysága a beérkezõ fényenergia modellekkel sem. és a beesési szög függvénye Lássuk tehát a diffúz, más néven a Lambert modellt. Lambert egyenlete egy tökéletesen diffúz, egyenetlen A nézõsík az a sík, ahol a kiszámolt Anyag és fény felületet vesz alapul, amely a tér min- képünk keletkezik, ennek egy részén Gyorsan összefoglalnám az eddig ta- den irányába azonos fényerõsséggel (view window – nézõablak) fogjuk fel nultakat: fotonokat tudunk indítani veri vissza a beérkezõ fényenergia és tároljuk a beérkezõ fényenergiát. a tér pontjaiból (fényforrások) és azon egy részét. Ez azt jelenti, hogy a fény- A nézõablak területét kis négyzetekre fotonokat, amelyek a kamerába nézõ- erõsség nézõpontfüggetlen, azaz a tér osztjuk fel oly módon, hogy minden síkjába csapódnak be, fel tudjuk fogni, bármely pontjából tekintünk egy felü- egyes négyzet megfelel egy-egy pixel- így kirajzolva a számított képet. let adott pontjára, a visszavert fényerõ nek a számított képen, tehát a frame Igen ám, de hogy is van ez? Mi törté- konstans lesz. A diffúz fény függ bufferünk minden egyes pixeléhez nik azokkal a fotonokkal, amelyek a felület becsapódási pontban állított hozzárendeljük a nézõablak egy-egy a fényforrásból egy objektumba csa- normálisától valamint e normális és celláját. Ha például egy 640x480 mére- pódnak? A színes felületek színét az a beérkezõ fénysugár által bezárt tû képet akarunk számolni, a nézõab- határozza meg, hogy a rájuk vetülõ beesési szög koszinuszától: lakot 640 oszlopra és 480 sorra osztjuk. különbözõ hullámhosszúságú fények- A nézõablak méreteit FOV-nak (Field bõl mennyit vernek vissza, illetve Ld = Li*cos(alfa) Of View – látómezõ) is nevezik a su- nyelnek el. A tárgyak színét tehát gárkövetés terminológiájában. Az FOV a megvilágítás színe is befolyásolja. ahol Ld az eredményként kapott – az L szemtávolsággal egyetemben – A különbözõ anyagok különbözõkép- diffúz fény, Li a beesõ fény, alfa pedig befolyásolja a perspektívát, kameránk pen reagálnak a fényre, ezért a model- a már említett beesési szög. A diffúz látószögét. Az FOV áldásos hatása, lezendõ anyagtól (material) függõen árnyalási modellben szereplõ együtt- hogy különbözõ felbontású képek szá- kell a fény viselkedését leírni illetve hatókat a 2. ábra szemlélteti. mításakor minden esetben ugyanazt modellezni. Mindjárt be is vezethetjük A diffúz árnyalási modellben egyetlen a térrészt fogja be kameránk (gondol- az árnyalási modell (shading model) anyagtulajdonságunk van, ez pedig junk bele, FOV számítások használata fogalmát, amely leírja, hogy egy felü- az anyag diffúz színe, melyet a már nélkül nagyobb felbontású képek ese- let milyen módon reagál a fényre. említett (és a számítástechnikában tén a kameránk szélesebb látószöggel Az árnyalási modell egy olyan függ- leggyakrabban használt) additív szín- rendelkezne). vény, amely az annak megfelelõ keverésnek megfelelõen egy RGB hár- A sugárkövetés célja tehát nem más, anyagtulajdonságok alapján meghatá- massal definiálunk, 0 és 1.0 valamint mint a nézõablak minden egyes rács- rozza, hogy az anyag felületére érkezõ a közéjük esõ valós számokkal. pontjára (azaz a bitmap minden egyes fénysugár milyen reakciót idéz elõ Itt jegyezném meg, hogy cikksoroza- pixelére) kiszámítani a környezetbõl (a fényenergia mely részét tükrözi, tunkban mindvégig RGB hármasok- beérkezõ fényenergiát. melyiket szórja, melyiket nyeli el). kal dolgozunk, tehát amikor színre

www.linuxvilag.hu 2006. október 19 Fejlesztõi sarok

kezõ pixelen) keresztül. Ezen az egyenesen 2 pontunk van: a rácspont és a kamerapozíció Ezt a sugarat elsõdleges sugár- nak (primary ray) vagy szemsu- gárnak nevezzük (eye ray), mivel a kamerából lõjük ki, és (mint azt a rekurzív sugárkövetés ismerte- tésénél látni fogjuk) a fényút végigkövetésében ez az elsõ kilõtt sugár is egyben.

3. A fenti egyenletek segítségével könnyedén meghatározható, hogy ez az egyenes metszi-e a térben elhelyezett gömbjeink valamelyikét. Fontos megemlíteni, © Kiskapu Kft. Minden jog fenntartva hogy a negatív t értékeket figyel- men kívül kell hagynunk, hiszen ezek kamera mögötti metszéspon- tokat takarnak.

4. Amennyiben igen, kiválasztjuk a legközelebbi metszésponthoz tartozó felületet (hiszen ez takarja a mögötte levõket), s megnézzük, 4. ábra A diffúz árnyalással számolt kép kirajzolódik a bitmapben (a nézõablakban) a fény milyen szögben érkezik a metszéspontban állított normá- lishoz képest. hivatkozok valahol, akkor az a szín Ahhoz pedig hatalmas mennyiségû mindenképpen egy RGB hármassal fénysugarat kellene kilõnünk és kö- 5. A normális és a metszéspontból van definiálva. Ez a szín megadja, vetnünk a fényforrásból, hogy a ka- a fényforrásba mutató vektor hogy az anyag felületére érkezõ fény mera síkján definiált rács pontjaira (a fényvektor, azaz L = I – LS) mely részét veri vissza a környezetbe elegendõ mennyiségû foton csapód- által bezárt szög koszinusza ki- diffúz fényként, a következõ képlettel jon be. Leszögezhetjük, hogy ez egy számítható a fent említett skaláris számítható mindhárom összetevõre: nagyon költséges algoritmus. Ennél szorzat segítségével. A diffúz lényegesen hatékonyabb megoldás formula pedig cos(alfa) és a fény- Ld = Cd*Li*cos(alfa) lenne, ha a fénysugarakat visszafelé erõsség alapján megadja, hogy követnénk, azaz a kamerából indul- mennyi fény érkezik a kamera Ez a modell kizárólag matt felületû nánk el a fényforrások felé. Ez utóbbi síkjának adott pontjára. Itt figyel- anyagok modellezésére alkalmas, megoldást backward, elõbbit forward jünk arra, hogy egy fényforrás amelyek nem rendelkeznek tükörsze- ray tracing -nek hívják szakmai a gömbnek csak az egyik fél- rû fényvisszaverõ vagy fényáteresztõ berkekben. Mi fõleg a backward ray gömbjét világítja be, tehát ha tulajdonsággal. tracing-gel fogunk foglalkozni, de a skaláris szorzat negatív (a szög késõbbi cikkekben még valószínûleg nagyobb, mint 90 fok), akkor Ray casting visszatérünk a forward megoldáshoz a pont árnyékban van! Most már megvan mindenünk ahhoz, is egy-két szó erejéig. hogy egy egyszerû sugárkövetõt le- A diffúz modellel megvalósított 6. A 2-6 lépéseket ismételgetjük programozzunk. Útjukra tudjuk indí- visszirányú (backward) sugárkövetõ egészen addig, amíg a nézõablak tani a fénysugarainkat a fényforrásból, megvalósítása tehát a következõ fõ minden rácspontját nem érintet- ezen sugarak egy része az általunk lépésekbõl áll: tük, azaz a kimeneti képünkön definiált gömbökbe fog csapódni, minden pixelre ki nem számítot- s ezekrõl a diffúz árnyékolási modell- 1. Felinicializáljuk a scene-t, azaz tuk az RGB hármast. nek megfelelõ mennyiségû fény fog definiáljuk a gömbjeinket (közép- a kamera síkjára érkezni. pont, sugár, diffúz szín), a kamerát Ezeket a lépéseket a következõ Ez eddig szuper, csakhogy figyelmen és a fényforrásokat pszeudokód jellegû C függvény is jól kívül hagytuk eddig azt a tényt, hogy szemlélteti, ennek segítségével az al- a fénysugarak nagy része nem a ka- 2. Kilövünk egy sugarat (egyenest) kotó kedvû olvasók a következõ szá- mera síkjára fog érkezni, legnagyobb a kamerából a nézõablakon defini- mig már meg is írhatják az elsõ Hello részüket elnyeli a nagy semmi, ugye? ált következõ rácsponton (a követ- World sugárkövetõ programocskát.

20 Linuxvilág Fejlesztõi sarok

Ebben a nagyon leegyszerûsített pedig nincs megoldva. Kameránk hoz és irányításához már fel kell algoritmusban nem ismertettük az origóban helyezkedik el és elõre- használunk a sugártranszformáció a scene inicializációt (az olvasóra felé (a Z tengely pozitív irányába) módszerét, amelyet a következõ bízzuk, hisz implementációfüggõ), néz (azaz a nézõvektora 0,0,1). számban fogok ismertetni. A számo- a kamera pozicionálása és irányítása A kamera tetszõleges pozicionálásá- landó kép méreteit iWidth és iHeight, az FOV méreteket iFOVWidth, iFOVHeight jelöli. Az al- goritmus nem számol tükrözõdéssel, 1. Lista A ray casting implementáció diffúz árnyalással fénytöréssel és árnyékokkal sem. A fény útját csak az elsõ becsapódá- void RenderScene() { sig követjük, a felületek közti fényta- int iL = 300; // Ez a fókusztávolság, azaz a nézõsík távol ni kölcsönhatásokat elhanyagoljuk. // sága a kamerapozíciótól Ezt az algoritmust nevezzük ray Vector vectNormal, vectEye, vectIntersection; castingnak, Arthur Appel mutatta be RGB rgbSphereDiffuseColor = {1.0, 1.0, 1.0}; // A gömbök még 1968-ban. A rekurzív sugárköve- //diffúz színe (ez esetben fehér) tést, már fénytörések, árnyékok, tük- RGB rgbPixelColor; rözõdések modellezésére is alkalmas. for (int iX = 0; iX < iWidth; iX++) { A rekurzív sugárkövetés Appel úr út- © Kiskapu Kft. Minden jog fenntartva for (int iY = 0; iY < iWidth; iY++) { törõ munkáján alapszik, de ezt már vectEye = {((iX – (iWidth/2))*iFOVWidth)/iWidth, Turner Whitted-nek köszönhetjük, ((iY – (iHeight/2))*iFOVHeight)/iHeight, iL}; aki 1979-ben publikálta munkájának rgbPixelColor = {0.0, 0.0, 0.0}; gyümölcsét. Amint azt a neve is mu- tatja, a rekurzív sugárkövetés tulaj- // Minden gömböt megvizsgálunk, van-e metszéspontja donképpen rekurzív ray casting, // a szemsugárral (aSpheres egy de errõl bõvebben majd a következõ // globális tömb, amelyben a gömbdefiníciókat tároljuk) számban olvashattok. for (int iSphereIdx = 0; iSphereIdx < giNumOfSpheres; A következõ számban tehát Whitted iSphereIdx++) { úr mûvével fogunk kezdeni, ezután // Van metszéspontunk? Amennyiben van, rátérünk a sugártranszformációkra, // IntersectSphere() true-val tér vissza, valamint a textúrázásra, Phong árnyalási mo- // a metszéspontot és az abban adott felületi normá delljére, majd további felületekkel is- // list a mutatóikon keresztül átadott merkedünk meg. Egyesek talán kicsit // Vektor struktúrákba írja. „szájbarágósnak” érezhetik az olvas- if (IntersectSphere(vectEye, aSpheres[iSphereIdx], mányt – nem minden alap nélkül. &vectNormal, &vectIntersection)) { Az õ megnyugtatásukra azért leírom, // Minden fényforrás hozzájárulását hozzáadjuk hogy ez szándékos, de csak az elsõ // a metszéspontból a kamerába érkezõ számot terveztem ilyenre, a további- // fény színéhez akban nagyobb léptékkel haladunk for (int iLigtSrcIdx = 0; iLigtSrcIdx < majd és igyekszem majd tömörebben iNumOfLightSources; iLigtSrcIdx++) { fogalmazni. Ettõl függetlenül remé- // CalcDiffuse kiszámítja a metszéspontba érkezõ lem sokak érdeklõdését sikerült fel- // fényt az iLigtSrcIdx által keltenem a téma iránt. Ha valakinek // indexelt fényforrásból. aLightSrcs egy globális kérdései merültek fel a sugárkövetés- // tömb, amelyben a sel kapcsolatban, vagy véleményét // fényforrásainkat tároljuk) szeretné kifejezni, az ne hezitáljon, rgbPixelColor += CalcDiffuse(vectNormal, dobjon egy e-mailt a lenti címre, vectIntersection, aLightSrcs[iLigtSrcIdx], amint idõm és energiám engedi, agbSphereDiffuseColor); válaszolni fogok. } } Szendi Ákos } ([email protected]) // PutPixel a megadott koordinátákon található pixelt // a megadott szinûre 27 éves, szabadúszó // színezi, azaz kirajzolja a pixelt a kiszámított programozóként tevé- // színnel. kenykedik. A Miskolci PutPixel(iX, iY, rgbPixelColor); Egyetem villamosmérnök szakos } hallgatója. Kevéske szabadidejében } gitározni tanul vagy épp egy jó } könyvet tart a kezében.

www.linuxvilag.hu 2006. október 21 Fejlesztõi sarok

PHP nyomkövetõk (3. rész) Sorozatunk elõzõ részeiben áttekintést adtunk a Linux alatt elérhetõ PHP nyom- követõkrõl. Szó esett a PHP nyomkövetés általános meggondolásairól, valamint beszéltünk a Gubed/Quanta nyílt forrású programok mûködésérõl, beállításáról. Most a Nusphere::PhpED fejlesztõkörnyezetrõl és nyomkövetõrõl lesz szó.

Miért éppen a PhpED? fájljaink. Semmi elõzményünk A webszerver újraindítása után Ebben a részben kivételt tennék nincs semmilyen fejlesztõkörnye- (sajnos rendszergazdaként lehet csak annyiban, hogy a PhpED program zetben, csak nyomkövetni akarunk, ilyet mûvelni, vagy – egy jól beállított több platformra is létezõ implementá- de még tegnap, ha lehet. Ekkor rendszeren – az erre kiválasztottak ezt ciói közül nem a Linuxos, hanem hogyan érdemes elkezdeni a munkát sudo-val is megtehetik) érdemes kiad- a -ra írt változatot a PhpED-del? ni egy php -m parancsot, ami a szer- venném górcsõ alá. Ennek verziószá- vermodulokat mutatja. A lista végén ma jóval elõrébb tart Linuxos társánál. A webszerver okosítása látszania kell a nyomkövetõ protokol- Nehezen érthetõ számomra, hogy Elõször is a webszerverben futó PHP- lért felelõs modulnak: a DBG szerzõje és a NuSphere vezetõ- értelmezõ verziószámával egyezõ je, Dmitri Dmitrienko miért intézi ezt számú dbg__.so-fájl másolandó fel [Zend Modules] így. Azonban népszerûsége és hasz- a PhpED kliens oldali könyvtárából DBG nálhatósága miatt nem hagyhatjuk a szerver extension_dir könyvtárába a PhpED-et figyelmen kívül. E sorok (aminek tényleges mivoltát pl. egy A PhpED beállítása nyomdába kerülésekor talán már phpinfo()-ból, vagy magából a php.ini- Abban az esetben, ha tényleg szinte a linuxos változat is eléri azt a 4.5-ös bõl tudhatunk meg). A PHP-értelmezõ semmit nem akarunk, csak hibát ke- verziószámot, ami alapján e sorok verziószámát a php -v parancs is resni, akkor is meg kell néhány infor- © Kiskapu Kft. Minden jog fenntartva születtek. megmutatja. mációt adnunk a fejlesztõkörnyezet Ha az ember csak úgy vaktában el- A php.ini-be be kell írnunk néhány számára: kezd PHP nyomkövetõt vagy profilké- paramétert. Melegen ajánlott, hogy szítõ alkalmazást keresni, mert eddig csak a localhostot engedjük: • Új munkaterületet (workspace) még nem használt semmi ilyesmit, nevezünk ki, mondjuk „szimpla” de a baj most erre kényszeríti, akkor extension=dbg.so néven nagy valószínûséggel ez az eszköz [debugger] akad a kezébe. Közkedveltsége abból debugger.enabled=on • Új projektet is gyártunk, melynek is fakad, hogy van benne FTPS debugger.profiler_enabled=on a gyökérkönyvtárát például (TLS/SSL), WebDAV/HTTPS (SSL) debugger.hosts_allow=localhost „minimalis”-ra nevezzük. Ilyen- és SOAP kliens támogatás, tud kap- debugger.hosts_deny=ALL kor még meg kell adni legalább csolódni SQL szerverekhez, igen jó debugger.ports=7869, 10000/16 a „Mapping root URL”-t a dokumentációja, s hogy a támogatói és a webszerver document levelezõlistán maga a szerzõ válaszol Amiatt lehetséges a szerveren gyökérkönyvtárát, például meg szinte minden levelet (ami õt a localhost (helyi gép) használa- http://szerverneve/egyeb és érinti). Olvasható is vele egy interjú ta, mert majd a kliensünk operá- /var/www/html/ez_az_a_resz/ a  www.nusphere.com oldalon. ciós rendszerébõl indítunk egy Innen tölthetõ le maga a program is. ssh-alagutat a webszerver felé, • Ekkor feljön egy dialógusablak, és onnantól kezdve az „helyinek” amiben végre elmenthetjük PhpED fejlesztõkörnyezetet IDE, fog látszani: a projektünket például de gyorsan! minimalis.ppj néven. Érdemes Tegyük fel, hogy úgy áll a helyzet, "c:\program files\putty\putty" ügyelni arra, hogy a projekt hogy van egy (távoli) webszerver, -ssh -R 7869:localhost:7869 gyökérkönyvtárának a neve amin ott vannak a PHP anyagaink, login@szerverneve is emlékeztessen erre a névre.

22 Linuxvilág Fejlesztõi sarok

A nyomkövetés indítása

Ezek után már nyithatjuk is a vizsgál- ni kívánt URL-t: A Tools menübõl az ”Open URL”-be írva: http://szerverneve/admin

Itt van lehetõség eldönteni, mely jelölõnégyzetbe kattintunk pipát: nyomkövetni akarunk-e (Run debug session), teljesítményt szeretnénk elemezni (Run profiler session), esetleg külsõ böngé- szõt szeretnénk használni (Run in external browser). És már megy is a nyomkövetés. Lehet 1. ábra Beállítások lépegetni sorról sorra. Az elsõ soron © Kiskapu Kft. Minden jog fenntartva automatikusan megáll a nyomkövetés – ennek megváltoztatásához van is egy jelölõnégyzet a beállításoknál. Állíthatunk töréspontot, feltételhez kötve is. Lehet nézni a változók érté- két (egérrel rámutatva), vagy akár változtatni rajtuk. A beépített profilkészítõ (3. ábra) bosszantó módon csak 20 sort mutat az ingyenesen kipróbálható változatban, úgyhogy lényegében felesleges is sokat beszélni róla, annyi más szabad eszköz van e célra. Ha valakinek mégis kell a PhpED teljesítményelemzésének eredménye, el lehet menteni egy .xml fájlba (floppi ikon). Ha a teljesítmény- elemzés közben szeretnénk meg- nézni azt a kódrészletet, aminek a mérési adatait láthatjuk, akkor szükség van még valamire, amit 2. ábra Tipp mutatásával indul a PhpED kliensprogram könytárleképezésnek (mapping) hívnak, és ami a forráskód beazo- nosítására szolgál. Ez persze nem árt a normál nyomkövetéshez sem; akkor ugyanis nem ad figyelmezte- téseket az „unmapped files”, azonosí- tatlan fájlok miatt. Könytárleképezés után szebb az élet Ez nem egy triviális feladat. Nem véletlen, hogy a PhpED levelezõ- listáján minden második kérdés erre vonatkozik. Eleinte nem volt világos, hogy mit mivel akar össze- párosíttatni a program. Eleinte azt a két információt adtam meg csak, hogy mi a webes URL és a webszerver fájlrendszerében való elérési út. Kiderült azonban, hogy 3. ábra A profilkészítõ csak akkor mûködik megfelelõen

www.linuxvilag.hu 2006. október 23 Fejlesztõi sarok

Az APD forrásból fordítása a phpize; ./configure; make parancssorral történhet. A fordításhoz kell néhány csomag a webszerverre, ha még nincs ott: dpkg alapú rendszereknél az apt-get install php-dev php-devel automake gcc cpp parancssor segít sokat. Ezeket a fordí- tás után apt-get remove-val érdemes eltávolítani, ne éktelenkedjenek ott fe- leslegesen (és a biztonságot aláásva). A keletkezett modules/apd.so fájl bemásolandó a fent tárgyalt „extension_dir” könyvtárba (így tud majd betöltõdni, mint „zend_extension”). A php.ini fájlba 4. ábra A PhpED teljes díszben még be kell írnunk e sorokat, majd © Kiskapu Kft. Minden jog fenntartva újraindíthatjuk a webszervert:

a program, ha a helyi gépen is tegrálni a webszerverbe, de ilyen- zend_extension = /az/apd.so/ megtalálhatóak az érintett fájlok. kor sajnos elszállt a webszerver elérési/útja (Vagy én nem találtam meg segfault hibával, ami nem is csoda, apd.dumpdir = /a/kimeneti/ a módját a másképp szervezésnek; hiszen ez a modul is módosítja fájlok/könyvtárának/neve mindenesetre a nagy vetélytárs, a PHP belsõ függvényhívásait, apd.statement_trace = 0 a Zend Studio jobban viselkedett így más kiterjesztéseket zavarhat. kezeim között e tekintetben.) Az Xdebug behúzását tehát Ez utóbbi a soronkénti nyomkövetést Magyarán a projekt tulajdonsá- „kikommenteztem” (pontos- állítja. 1-esre állítva igencsak lelassul gait beállító fõ ablaknak három vesszõvel) a php.ini-ben. az alkalmazás. A középsõ sorból az (nem egymás közelében levõ) „PHP Performance Profiling” látszik, hogy meg kell adni egy kime- sora tartozik össze: A fent említett (PHP teljesítményelemzés) címmel neti könyvtárat (amit aztán célszerû webes URL és a webszerver fájl- olvasható angol nyelven egy rész- pl. egy chmod 777 paranccsal írhatóvá rendszerében való elérési út letes írás az APD-rõl: tenni) – ide fognak érkezni az APD mellett a „Projekt” rész alatti Root  www.linuxjournal.com/article/7213, által gyártott kimeneti fájlok, például directory-t (gyökérkönyvtárat) is valamint a  www.php-editors.com/ a pprof.04214.0. (A fájlnév végén levõ be kell állítani úgy, hogy onnan php_manual/ref.apd.html is jó eligazí- számok processzazonosítóra utalnak.) kiindulva azonos elérési úttal lehes- tást ad. Az APD inkább azt tûzte Az APD lefordítása után találunk sen itt megtalálni a .php fájlokat, ki céljául, hogy olyan profilkészítõ a könyvtárban egy pprofp (PHP mint a webszerveren. S ekkor lesz a PHP számára, mint amilyen profiler parser) nevû, parancssorból már a profiler is meg tudja nevezni a gprof a C nyelv számára, vagy futtatható szkriptet, sok kapcsolóval a forrásokat, és rá tud állni az a Perl Devel::DProf-ja. (mi szerint rendezze az adatokat, általunk keresett részre. Ha 20 sornál hosszabb a kód: ne APD fel! A PhpED teljesítményelemzése csak 20 sort mutat. Azonban aggodalomra nincsen ok: rendelkezésünkre áll az Advanced PHP Debugger (APD)  pecl.php.net/package/apd. Neve megtévesztõ. Szerzõjével, George Schlossnagle-vel váltottam egy e-mailt, amiben megkérdez- tem, milyen klienst tud ajánlani programjához. Azt írta, hogy prog- ramja igazából teljesítményelem- zésre való – nyomkövetéshez használjam az Xdebug-ot. Próbáltam õket (az APD-t és az Xdebug-ot, amirõl a következõ 5. ábra APD-kimenet kcachegrind ruhában részben lesz szó) egyszerre bein-

24 Linuxvilág Fejlesztõi sarok

mit mutasson és mit ne stb.). Az APD kimenetébõl tehát messze nem pusztán az egyes lépések futási ideje derül ki, hanem lehet pl. függvényhívási fát is kérni. Dpkg alapú rendszerekben a kdesdk csomag része a pprof2calltree, amivel a a kcachegrind számára feldolgoz- hatóvá tehetjük az APD kimenetébõl kapott fájlokat. A kcachegrind (és tartozéka, a callgrind) letölthetõ innen:  kcachegrind.sourceforge.net. A teljesítményelemzésnek alávetendõ PHP szkriptünk elejére illesztendõ az apd_set_pprof_trace(); parancs. Ha meg- kapja a PHP-értelmezõ az adott szkriptet, elkészül a pprof- kimeneti-fájl az apd.dumpdir-be. Ezek után egy jól célzott pprof2calltree -f pprof- kimeneti-fájl paranccsal elõállíthatjuk a cachegrind.out.pprof-kimeneti- fájl-t, amit már átadhatunk a kcachegrind-nek. Az ered- ményül kapott szép (interaktív) felületen vizuálisan © Kiskapu Kft. Minden jog fenntartva láthatjuk, mire mennyi erõforrás kell (s azt is, hogy a profilkészítés bizony erõsen használja a gépünket). Jó tudni, hogy általában a .kde/share/config/kcachegrindrc-ben vannak eltárolva a legutóbbi nézethez tartozó beállítások. A grafikonban alul (kissé elrejtve) található a függvényhívási grafikon megjelenítõgombja. A forrásoknak a helyi gépen is megtalálhatóaknak kell lenniük a profil grafikonjának elké- szítésekor, ha a kódba is bele akarunk látni. Ha valódi, éles weboldalakat szeretnénk mérni, akkor minél többféle módon érdemes azt megtenni, különbözõ terheltségek mellett, és több adatsort átlagolni a hiteles válaszhoz. Amit az APD (és más profilkészítõk) tudnak mérni, az a valós idõ, nem pedig a processzoridõ (hiszen többfeladatos rendszerekben más programok is tényked- nek a processzoron), és attól is eltér, amit a felhasználó átél, amíg megkapja a kért weboldalt. Ha csak úgy odaírjuk az apd_set_pprof_trace(); parancsot egy PHP fájl elejére, gondot okozhat, hogy sok fájl keletkezik az éles környezet számítógépén. Ettõl le is lassul a rendszer. Emiatt érdemes egy feltételhez kötni a profilkészítési kérést a mérendõ PHP fájlunkban:

$DEBUGIPS = array('84.2.93.34', '192.168.0.13'); if(array_search($_SERVER [REMOTE_IP], $DEBUGIPS)) {apd_set_pprof_trace();}

Azaz csak a kiválasztott IP-címekrõl érkezõ kérések esetén indul el a mérés. Következõ részünkben két Xdebug-alapú PHP- nyomkövetõt tekintünk meg, az ActiveState::Komodo és a Xored::TruStudio fejlesztõkörnyezeteket.

Szabó Zoltán ([email protected]) Négy gyermekével és feleségével Pannon- halmán él. Tíz éve kísérletezik a Linuxszal. Matematikát és informatikát tanít, diákott- honban keseríti a rábízottak életét. Szívügye a PHP, a PostgreSQL és a Moodle.

www.linuxvilag.hu 2006. október 25 Fejlesztõi sarok

Zend Studio – PHP fejlesztés egységbe zárva A PHP alkalmazások fejlesztése során számtalan eszközzel találkozhatunk: különféle szövegszerkesztõkkel, verziókövetõ rendszerekkel, dokumentáció- készítõvel és még valamilyen hibakeresõ eszközzel is. Még ennél is több szolgáltatást kapunk egybecsomagolva a Zend Studio Java alapú integrált fejlesztõkörnyezettõl.

Az elsõ lépések meglévõ függvény vagy A szoftvert a Zend objektum alapján, amit Technologies készíti, a ki- nekünk már csak ki kell próbálásra szánt idõkor- egészíteni. Képes a meg- látos verziója letölthetõ jegyzésbeli illetve a kódbeli a  www.zend.com egységeket (kapcsos záróje- weboldalról, ugyanitt meg- lekkel elhatárolt részek) kat- vásárolható a Professional tintásra összecsukni illetve változat licence is 299$-ért. kinyitni utána, így mindig A program Javaban íródott, csak az a rész van a sze- így a Studio Windowson, münk elõtt, amivel épp Linuxon és Mac OS X-en ténylegesen dolgozunk. képes futni. A linuxos válto- Képes a forráskódban navi- zat egy tar.gz archívum for- gálni, megkeresni objek- májában érkezett hozzám, 1. ábra A telepítés menete tumok vagy függvények melyben egy végrehajtható deklarációját. Ezeket egyéb- fájl lapult. A telepítõ eltér az ként kigyûjti egy listába is. © Kiskapu Kft. Minden jog fenntartva átlagos linuxos telepítésektõl, egy va- Vajon a Zend Studioba épített szerkesz- Mi az, amit ezért a tudásért fel kell rázsló vezet végig a telepítés lépésein. tõvel mi a helyzet? Aki az emacs vagy áldoznunk? Egy már megszokott Fontos, hogy a Zend Platformot is a vi tradicionális, nagy tudású unixos szerkesztõ mûködését. Talán segítség kiválasszuk a telepítendõ összetevõk szövegszerkesztõket mesteri szinten azért, hogy a gyorsbillentyûk teljesen közül, mert különben számtalan ki- tudja kezelni, annak ez a szerkesztõ testre szabhatóak. egészítõ szolgáltatás nem fog mû- nem lesz egyáltalán hatékony. Ellen- ködni. Ez a legnagyobb buktatója ben a kevésbé profikat az alábbiakkal Hibakeresés a telepítésnek, különben csak végig kényezteti el. Kezeli a PHP és a HTML Nem az a kérdés, hogy fogunk-e hibá- kell menni a lépéseken. Ahhoz, hogy szintaxist. Ez alapján színezi a forrás- kat véteni a kódolás során, hanem az, a Platformot is használni tudjuk, kódot, amivel sok elírás azonnal felfe- hogy milyen gyorsan fogjuk azokat kell legyen webszerver a rendszeren. dezhetõ. Képes a kód kiegészítésére, kijavítani! A program teljes körû és Ha véletlenül hiányozna, ezt pótoljuk azaz a már meglévõ függvény és kényelmesen használható hibakeresõt az Apache feltelepítésével! Miután objektumneveket, tulajdonságokat (debugger) tartalmaz. követve a telepítõ utasításait, életre automatikusan felajánl, a meglévõ A hibakeresõben pont azok a szolgál- keltettük a rendszert, nézzünk körbe, deklarációkat megmutatja, hozza tatások érhetõek el, amit bárhol más- hogy mit is kaptunk! a hozzá írt DocBlock dokumentációt is. hol kapnánk. Be lehet állítani törés- Ez igaz a beépített és az általunk írt pontokat, változók figyelését. A futta- Szövegszerkesztés objektumokra és függvényekre is. tást lehet szabályozni: soronként lép- A fejlesztési munka egy részében nem Gépelés közben szintaktikai ellenõr- tethetjük, elindíthatjuk, leállíthatjuk történik más, mint a programozó egy zést végez, így azonnal jelzi a hibákat. és adott helyre ugorhatunk. A futtatás szövegszerkesztõbe beírja a program Képes automatikusan tabulálni a beál- során megkapjuk a PHP által adott kódját. Egy jól megírt szerkesztõ nagy- lított kódolási szabály szerint a kódot. figyelmeztetéseket is egy keretben. ban javítja a hatékonyságot. Létre tud hozni DocBlockokat már Ezen túl van Analyze menüpont,

26 Linuxvilág Fejlesztõi sarok

ami elég sok programozói tévedést képes kiszûrni. Cserében persze néha olyankor is hiányosságot talál, ahol nincs: nem képes megérteni azért a kód célját, ez a nehéz feladat még mindig a fejlesztõ dolga. Teljesítményhangolás Nem kis feladat egy már meglévõ alkalmazást nagyobb sebességre gyor- sítani. Nincs rá titkos recept sajnos. Viszont a gyenge pontok megtalálása teljesen automatizálható, így a lényeg- re tudunk koncentrálni, ami pedig a rosszul teljesítõ kódrészlet átírása, nem pedig a mérés maga. Ehhez a funkcióhoz telepíteni kell a Plat- formot is, mert ilyenkor a szkript © Kiskapu Kft. Minden jog fenntartva a webszerveren kell fusson. A Tools/Profile URL menüpontot vá- lasztva csak egy teendõnk van: meg- 2. ábra Hibakeresés akcióban adni, hogy milyen elérési úton találha- tó a kérdéses program. Ha csak a helyi gépen fejlesztünk, ehhez a lépéshez elérhetõvé kell tenni a webszerveren keresztül is a kódot. Miután a szkript lefutott, kapunk egy új ablakot, ami- ben mindent megtudunk a program futtatásáról és könnyedén kiszûrhet- jük a leglassabb részeket. Amennyiben a programunk több fájl- ból áll, a futtatás után látni fogjuk egy csinos diagramon, hogy melyik fájlban mennyit idõzik a végrehajtás. Ezen kí- vül minden fájlról részletes függvény- listát kapunk, hogy melyik függvény meddig futott és hányszor került 3. ábra Teljesíténymérés meghívásra. Meg van különböztetve az az idõ, amit ténylegesen a függvény fogyasztott el, meg az, amit csak a függvény által meghívott újabb függvények igényeltek. Kilistázhatjuk a függvényhívási hierarchiát is. Az osz- lopok csökkenõ illetve növekvõ rende- zésével gyorsan kibukik egy rosszul megírt függvény. Jól látszik az is, ha egy függvényt indokolatlanul sokszor hív meg egy hiba folytán a program. Adatbázis-kezelés Kevés olyan PHP nyelven megírt alkalmazás van, mely ne használná valamelyik SQL adatbázismotort. Igaz ugyan, hogy általában ezekhez jár kezelõfelület, biztos ami biztos, a Studioba bele van építve egy SQL ügyfél, ami számtalan kiszolgálóval (a nevesebb példák: MySQL, MSSQL, Oracle, PostgreSQL) képes együttmû- 4. ábra Adatbáziskezelés a Studion belül ködni. A kezelõfelületbe jól beépül

www.linuxvilag.hu 2006. október 27 Fejlesztõi sarok

5. ábra A Zend Platform webes kezelõfelülete 6. ábra A terméktámogatás központja

a kliens, egy mozdulattal válthatunk hogy különféle eseményekre figyelést hiányosságot is orvosolták egy új biná- © Kiskapu Kft. Minden jog fenntartva a programkód és az adatbázis között. tudunk beállítani. Az elõre beállított rissal. A reakcióidõ az ígért értéknek A szokásos funkciókat kapjuk: a táblá- eseményfigyelésekre példa: lassú megfelelt, hiszen minden új problé- kat listázhatjuk, beszúrhatunk rekor- szkriptvégrehajtás és futásidejû prog- mára egy napon belül volt válasz. dokat, áttervezhetjük a struktúrát. ramhibák. A Platform a Studio fel- A program árában egy év támogatás Természetesen a saját kézzel írott használóinak azért is fontos, mert van. Egyébként gesztusértékû, hogy SQL lekérdezéseinket is futtathatjuk, ezen a felületen lehet beállítani, az idõkorlátos próbaverzióval is adha- azok végeredményét éppúgy láthat- hogy mûködjön a távoli hibakeresés. tunk fel hibajegyet. juk. Az sem hátrány, hogy ha több A Studio Server menüpont alatt ke- adatbázis-kiszolgálót használunk, zelhetjük azon számítógépek listáját, Hátulütõk akkor ezentúl egy egységes felüle- melyek ezt a szervert felhasználhatják Ezeknek a megoldásoknak a jó ten keresztül érhetjük el azokat. hibakeresésre. része elérhetõ nyílt forráskódú Persze azt ne feledjük, hogy az verzióban is: PHP gyorsítótár, hiba- egyes termékekre hangolt SQL Terméktámogatás keresõ, teljesítménytesztelõ mind ügyfelek többet nyújtanak általá- Mivel egy kereskedelmi termékrõl van létezik szabad licenc alatt is. Amirõl ban, mint egy olyan, amelyik több szó, mi sem természetesebb, hogy jár nincs tudomásom: hasonló tudással fajtával is együttmûködik. hozzá terméktámogatás. Ennek minõ- felvértezett grafikus integrált fejlesz- sége épp olyan szempont kell legyen, tõkörnyezet, ahol a kódkiegészítés- Bûvészkedés a kiszolgálón mint a szoftver szolgáltatásai, hiszen tõl elkezdve egészen a távoli hiba- Ha a Platform telepítését is kértük, melyik szoftvernél ne futnánk elõbb- keresésig minden egy fedél alatt akkor a webkiszolgálónk otthont ad utóbb olyan szituációba, amit magunk megtalálható. Ez a megoldás ponto- a Zend Platform kezelõfelületének is, nem tudunk megoldani? Egy zárt san ellentétes a unixos filozófiával, ahol már a Studio fejlesztõkörnyeze- forráskódú terméknél még fontosabb miszerint minden program lásson ten túlmutató dolgokat találunk. a támogatás, hiszen itt a megfelelõ el egy részfeladatot, de azt nagyon Magához a Studiohoz jár egy fejlesztõi hozzáértés birtokában sem tudjuk jól és a sok kis eszköz együttes hasz- Platform licenc is, ami lehetõvé teszi orvosolni a problémáinkat, ellentétben nálatával bármi megoldható. Kérdés, többek között, hogy a PHP program- a nyílt forráskódú eszközökkel. hogy megéri-e az árát a Studio? jaink szerveren történõ hibakeresésé- Akadt hiba a program használata Próbáljuk ki! Ha kevésbé hatékonyan hez és teljesítményhangolásához közben, nem is kicsi: az Apache tudunk benne fejleszteni, mint az használjuk. De mint láthatjuk, webszerver folyamatosan Segmentation eddigi szabad szoftveres megoldása- a Platform ennél sokkal többre képes. Fault hibákat dobott bizonyos PHP inkkal, akkor csak mentünk egy kört Az 5. ábrán a nyitóoldalát látjuk kódok végrehajtásakor. A hibajelentés a próbaverzióval. a webes kezelõfelületnek, ahol az menete ki van dolgozva: fel kell adni eseménynapló összegzése található. egy hibajegyet, aztán minden ezzel Novák Áron A Platformban van PHP gyorsítótár is, kapcsolatos ügymenet ahhoz tartozik. ([email protected]) aminek segítségével a dinamikus tar- A 6. ábrán lehet látni a Zend megoldását talmat az Apache gyorsabban képes arra a problémára, amire a nyílt forrás BME-VIK-es hallgató, kiszolgálni. Errõl jelentést is kapunk a BugZillát készítette. A hibajegy fel- mûkedvelõ rendszer- a weboldalon: pontosan látható, adása után egy munkanappal tényle- gazda. Jelenleg legin- hogy mekkora haszonra teszünk szert, gesen érkezik reakció a beadott prob- kább a NetBeans-szel és mindenféle hogy a gyorsítótár üzemel. Számsze- lémára, kérdésre. Az elõbb említett hordozható eszközzel foglalkozik, leg- rûen látjuk, hogy mennyivel gyorsab- Apache hiba részleteit ugyan több alábbis mindazokkal, amelyeket meg ban futnak le a szkriptek. Ha valódi héten keresztül kérdezgették a hibaje- lehet szólaltatni Linux alatt. oldalt üzemeltetünk, akkor hasznos, gyen keresztül, de végül ezt a nagyobb

28 Linuxvilág Fejlesztõi sarok

Minõségi dokumentáció egyszerûen phpDocumentor Az interneten kering egy leírás az „igazi programozóról”, amely ugyan az informatikus humor becses darabja, de mint minden viccben, ebben is van némi komoly tartalom. Mint a cikkben idézet részletbõl is látható, a doku- mentációírás sem az igazi, sem a botcsinálta programozóknak nem kedvenc elfoglaltsága, akármilyen más híresztelést halljunk is.

ahhoz, hogy létrejöjjön egy fejlesztõ- gárda, a dokumentáció egy elenged- Az igazi programozó... hetetlen kellék. Hiszen kinek van A tipikus „igazi programozó” élettere termináljának közvetlen közelére terjed kedve mindent az alapoktól kezdve ki. Ezen terminál körül a következõk találhatók: a forráskódból kibogarászni? Egy jól megírt dokumentáció nagyban fel- 1. Az összes program listája, amelyen az igazi programozó valaha is dolgo- gyorsítja a beletanulási idõszakot. zott, nagyjából idõrendi sorrendben, elfoglalva a szoba összes sík felületét. Így már az újonc is képes használható 2. Vagy fél tucat félig üres csésze hideg kávé. Esetleg csikkek is úszhatnak kóddal hozzájárulni a kódbázishoz. a kávéban, ha nem lehetett megtalálni a listák között a hamutartót. Néha Elõször is kinek szól a dokumentáció? a csészékben narancslé van. A fejlesztõknek és a felhasználóknak 3. Hacsak nem különlegesen jó, OS JCL kézikönyvek és a Principles of egyaránt, bár a két célcsoportnak kü- Operation, néhány érdekesebb részletnél kinyitva. lönbözõ mélységû és stílusú leírásokra 4. A falon egy sornyomtatóval készült naptár (az 1969-es évre). van szüksége. A fejlesztõknek szóló 5. A padlón szétszórva csokipapírok. részét természetesen maguk a fej- 6. A fiók alján egy folyamatábra-rajzoló sablon, amit az elõzõ lakó hagyott lesztõk írják, a felhasználónak szólót itt. (Az igazi programozó programokat ír, nem pedig dokumentációt.) már nem biztos, hogy célszerû a prog- © Kiskapu Kft. Minden jog fenntartva ramozóknak írnia, hiszen ott nagyon Forrás:  www.cab.u-szeged.hu/local/doc/UNIX/orlando/igazi.html fontos, hogy a felhasználó nyelvén szóljon a leírás.

Miért készítsünk dokumentációt? a hibát.” . Ha még nem értük el Az eszköz A keretes írásunk zárójeles megjegy- a programozói törzsfejlõdés ezen A phpDocumentor egy PHP nyel- zése adja fonák módon cikkünk evolúciós lépcsõfokát, akkor inkább ven írt alkalmazás, melyet GPL alatt mottóját. Ugyan manapság talán legyünk korrekt hátulgombolósok, terjesztenek. A projekt honlapjáról a hátulgombolós programozók fiókja mintsem csapnivalóak. ( www.phpdoc.org ) letölthetõ alján sem találunk folyamatábra-rajzo- A PHP nyelv nagy népszerûségre tett a legfrissebb változat, ez a cikk írásá- ló sablont, a jó minõségû és részletes szert a LAMP – Linux/Apache/ nak pillanatában az 1.3.0RC6 verziót dokumentáció elkészítése semmivel Mysql/PHP összeállításnak köszönhe- takarta. A phpDocumentor kétféle sem vált egyszerûbbé. Talán a doku- tõen, hisz LAMP felállásban mûködik üzemben is képes mûködni. Egyfelõl mentációkészítõ programok korunk számtalan webszerver a világhálón. hagyományos parancssori alkalmazás, sablonjai. Ha most arra gondolunk, A PHP alkalmas arra is, hogy minimá- amelyet kapcsolókkal vezérelünk, hogy akkor hátulgombolós programo- lis tudással egyszer használatos kódot másfelõl egy webes alkalmazás, zókká degradáljuk magunkat efféle írjunk szükségmegoldás gyanánt, ahol pár kattintással összeállíthatjuk, eszközökkel, akkor fontoljuk meg de olyan népszerû és nagy projektek mit szeretnék kérni. Itt az elsõ válto- a következõket: „Az igazán dögös is ezt használják, mint a Drupal, zatot fogjuk áttekinteni, több okból programozó hexa számológép nélkül a PhpMyAdmin vagy a Gallery. is. Egyrészt látni fogjuk, hogy találja meg a hat megabájtos dumpban Egy nyílt forráskódú programnál a munka kisebbik része magának

www.linuxvilag.hu 2006. október 29 Fejlesztõi sarok

erre nem is nagyon számíthatunk, érdemes elsajátítani egy speciális kommentezési technikát, melyet számtalan dokumentációkészítõ eszköz képes értelmezni. Például a Doxygen vagy a Javadoc is, így C++-hoz és Javahoz is részben alkalmasak az itt leírtak. A PHP többféle megjegyzésformátumot támogat, C, C++ és Perl stílusban is kommentezhetünk. A phpDocumentor azt várja, hogy a forráskódunkat úgy- nevezett DocBlock rendszerben lássuk el megjegyzésekkel, amibõl már lehet automatikusan generálni a dokumen- tációt. Egy már meglévõ programnál nagy munka ezekkel kiegészíteni © Kiskapu Kft. Minden jog fenntartva 1. ábra Ez történik a függvényekkel feldolgozás után a kódot, érdemes már a kezdetektõl használni ezt a stílust. Így jelezzük, hogy DocBlockot írunk:

/** * */

Ez a kerete a blokknak, amit aztán meg kell tölteni értelmes tartalommal. Láthatjuk, hogy ez a forma a C stílusú megjegyzés kiegészítésének tekint- hetõ. Ezeket a blokkokat bárhol elhe- lyezhetjük a kódban, célszerû kons- tansok, függvények és osztályok elõtt írni egy blokkot, amiben rész- letezzük az adott elem szerepét. Minden ilyen DocBlock három részbõl tevõdik össze ez alapján:

/** * Rövid leírás * * Hosszabb leírás * * Címkék */

A rövid és hosszabb leírást azt minden kötöttség nélkül leírhatjuk, például 2. ábra Minden forrásfájlról készül összefoglaló egy függvény elõtt beleírhatjuk, hogy milyen algoritmust használ, vagy amit épp fontosnak érzünk. a phpDocumentornak a használata, könyvtára alá bontjuk ki és máris A címkéket már egy között formában az elõkészületek sokkal több energiát használatba vehetjük az intuitív kell megadni. Ha az aktuális blokk igényelnek, másrészt a webes felület- kezelõfelületet. a fájlra magára vonatkozik, akkor tel semmivel nem járunk elõrébb, e minta alapján készítsük el a meg- viszont kell hozzá egy webszerver, Elõkészületek jegyzést a fájl elejére: ami PHP szkriptek írásához nem felté- A phpDocumentor ezen verziójába tel. Amennyiben a második eshetõség még nem építettek bele magas fokú /** jobban érdekel minket, csupán annyi mesterséges intelligenciát, mely * Rövid leírásokra a teendõnk, hogy a letöltött .tgz fájlt tetszõleges forráskódot képes hasznos * nem akárhová, hanem a webszerver leírással ellátni. Mivel a közeljövõben * Hosszú leírás

30 Linuxvilág Fejlesztõi sarok

Ez már elég a programnak, hogy az alapbeállításokkal elkészítse a HTML formátumú dokumentáci- ót a megadott könyvtárba. A phpdoc, mint minden tisztességes parancssoros program, kilistázza a kapcsolói listáját, egy érdekesség- re felhívnám a figyelmet. Ha a --sourcecode kapcsolót megadjuk, akkor minden forrásfájl- ból kapunk egy szépen kiszínezett, sorszámozott verziót. Ennek több elõnye is van, egyfelõl a weben a látogatók ezt tudják böngészni, nagyon látványos. Másrészt pedig em- lékezzünk a keretes írásra, a nyom- tatott programlista nem öncélú! A forráskód kinyomtatásához nincs © Kiskapu Kft. Minden jog fenntartva más teendõnk, mint generálni egy do- kumentációt a megfelelõ kapcsolóval és a webböngészõbõl elindítani a nyomtatást. Az eredményt a 3. ábrán láthatjuk. 3. ábra A dokumentációban lévõ forráskód DocBlocks – egy univerzális eszköz Fontos látni, hogy ugyan a cikk * Parancssoros használat a phpDocumentor alcímet viseli, * @author Szerzõ neve Talán ahhoz vagyunk szokva, hogy viszont ezt a dokumentálási technikát * @version Verziószám a PHP programoknak webalapúnak számtalan más helyen fel lehet hasz- * @package Csomagnév kell lennie, ez koránt sincs így. nálni, így a DocBlocks használatával */ A PHP 5-ben már kimondottan megbarátkozni biztosan hasznos a parancssort támogató új lehetõségek tevékenység. Indulásnak a legjobb Ha pedig egy függvényrõl van éppen jelennek meg. A phpDocumentor jelen a projekt honlapján megtalálható szó, ott nyilván a paraméterek és állapotában egy héjprogramot használ példafájlokat megnézni, ott szépen a visszatérési értékek a fontosak: elõtétként. Hogyan is használjuk ezt látszik a technika alkalmazása: az elõtétet?  manual.phpdoc.org/HTMLSmartyCo /** Ehhez elõször is tudni kell, hogy mit nverter/HandS/phpDocumentor/tutorial * Rövid leírás tud kezdeni egy blokkokkal felokosí- _sample3.pkg.html. A felsoroltakon * tott forráskóddal a program. Tud belõ- kívül számtalan módon lehet hasz- * Hosszú leírás le számtalan formátumban dokumen- nálni a phpDocumentort, például * tációt készíteni (HTML, PDF, CHM és lehetõség van felhasználói doku- * @param integer $param1 Mi ez így tovább). A kimenetet lehetõségünk mentációt is létrehozni. Az nem a paraméter? van tetszés szerinti megjelenéssel is kérdés, hogy egy ilyen szoftver * @param boolean $param2 Mi ez felruházni, készíthetünk sablonokat, dokumentációját mivel készítik. Érde- a paraméter? így a projekt arculatához szabhatjuk mes megnézni a  manual.phpdoc.org * @return integer Mit adunk a dokumentációt. Most mi elõször címet, a legjobb referencia ennek vissza? a kiegészített forráskódból legyártott a szoftvernek! */ dokumentálást – az alapvetõ mûkö- dést vesszük szemügyre. Elõször is Novák Áron Fontos megjegyezni, hogy a leírások gondoskodjunk róla a kényelem ([email protected]) és a címkék opcionálisak, készíthe- érdekében, hogy a kitömörített tünk blokkot úgy, hogy csak ez phpDocumentor könyvtár legyen ben- BME-VIK-es hallgató, egyiket-másikat írjuk bele. Ha ne az elérési útban és adjunk futtatási mûkedvelõ rendszer- mindezekkel elláttuk a PHP forrás- jogot a phpdoc héjprogramra, mert gazda. Jelenleg legin- kódot, ami nem kis munka egy a kitömörítés után nincs rajta x jog. kább a NetBeans-szel és mindenféle nagyobb lélegzetvételû program- Lépjünk be a forráskód könyvtárába hordozható eszközzel foglalkozik, leg- nál, sõt még értelmes leírásokra és ott adjuk ki az alábbi parancsot: alábbis mindazokkal, amelyeket meg is futotta az energiánkból, akkor lehet szólaltatni Linux alatt. a phpDocumentoron már nem fog phpdoc --directory . --output múlni a jó minõségû dokumentáció! /dokumentacio-utvonala/

www.linuxvilag.hu 2006. október 31 Alkalmazások Google Earth Földgolyó a monitoron

A 21. században talán már nincs ember, akit meglepne az alábbi kijelentés: mûholdak tömkelege kémleli felettünk a Föld felszínét. Ezek közül jó néhány szerkezet profi optikával van ellátva, így a lehetõség adott: tegyük a monitorunkra az általuk készített fotókat!

Miért jó ez? (a másik két példány GPS képességei- A Google Earth esetén a következõkrõl nek terén, illetve térképészeti funkciói- van szó: a mûholdak professzionális ban különbözik az elsõtõl). Az alkalma- lencséi mára olyan részletes képekkel zás kódja teljes egészében át lett írva szolgálnak a földi világról, melyeken „részünkre”, így a letöltendõ anyag akár egy „apró” személygépkocsi is (a Google Picasaval ellentétben) nem tisztán beazonosítható. A részletekben tartalmaz futásidejû wrappert. Ügyes dús fotók (bizonyos határok között) munkáról van szó, hiszen a natív verzió még nagyíthatóak is, számottevõ nem különböztethetõ meg a Win32 „kockásodás” nélkül. Gondoljunk csak felületre írt társától, a hivatalos doku- 1. ábra A Google Earth linuxos telepítõje bele, milyen nagyszerû és hasznos len- mentumok pedig az alábbi átlagos ne, ha egy valósághû, szabadon tallóz- környezetet ajánlják használatához: ható „Föld – modellre” feszített térkép indító kötéssel az /usr/local/bin map- szerint láthatnánk a terep fényképeit! • Linux rendszermag legalább pában. Az alkalmazás egy konzolon, Nos, a címben említett program ponto- 2.6 verzióban felhasználóként kiadott googleearth pa- san erre a célra született: a mûholdak • glibc könyvtár 2.3.5 azonosítóval ranccsal hívható életre. A Google Earth képeire támaszkodva teszi könnyen • X.org szerver, legalább 6.7 verzióban természetesen Live terjesztéseken is © Kiskapu Kft. Minden jog fenntartva böngészhetõvé környezetünket. • Szélessávú Internet kapcsolat mûködésre bírható, minek megfelelõ- • 512 Mbyte központi memória en akár egy Slax disztribúción is sike- A nekünk készített verzió • 2 Gbyte szabad terület a merev- resen használható! Az alkalmazás kezdetben csak a Win- lemezen dows felhasználóit szolgálta: nekik • 3D videó hardver, legalább A használatba vétel már régebben „megadatott”, hogy 32 Mbyte memóriával Indítás után a kezelõpanel és a Földgo- az Internet lehetõségeit kihasználva, lyó távoli képe fogadja az érdeklõdõket. az egyszerûen kezelhetõ Google Earth Ha számítógépünk (és operációs rend- A 3D-s Földmodell a bal egérgombbal segítségével szemléljék a távoli fotókat. szerünk) paraméterei minden ponton vonszolva szabadon forgatható, az Késõbb a fejlesztõ csapat (szokásához teljesítik az elvárt szintet, akkor bátran egérgörgõ tekerésével pedig az aktuá- hûen) ezt a projektet is elkészítette nekikezdhetünk a program installálá- lissá tett center hozható közelebb (illet- Linuxra: a szabad rendszerre fejlesztett sának! Ehhez nem kell mást tennünk, ve vihetõ távolabb). Bármely közeli kép Google Earth a  http://earth.google.com mint letölteni a (nagyjából 15 Mbyte könnyen megdönthetõ a középsõ egér- címen érhetõ el, béta állapotú bináris méretû) GoogleEarthLinux.bin telepí- gomb lenyomásához kötött vonszolás- változatában. A program három, szá- tõt, majd ezután root jogkörrel lefut- sal (két dimenziós fényképekrõl van munkra fontos verzióban létezik – me- tatni. A közel 50 Mbyte helyigényû szó, így a döntést természetesen nem lyek közül a „legkisebb” mindmáig állományok alapértelmezés szerint az igazi 3D renderelés biztosítja, hanem ingyenesen elérhetõ és használható /usr/local/google-earth útra kerülnek, egy perspektivikus leképezési trükk).

32 Linuxvilág Alkalmazások

2. ábra Íme, a Golyóbis 3. ábra Budapest, madártávlatból © Kiskapu Kft. Minden jog fenntartva

4. ábra Az Eiffel torony 5. ábra London fõ útjai

található a „Layers” (Rétegek) menü, A használat értéke melyet használva a leképezett terepen A felhasználó minden bizonnyal plusz információk és egyéb kiegészíté- hasznos órákat fog eltölteni a program sek kapcsolhatóak (úgy, mint a lakott elõtt ülve, akár vonzódik a földrajz- területek kulturális intézményeinek hoz, akár idegenkedik tõle. A Google kijelzése, utcanevek feliratozása, Earth tartalmas kikapcsolódást ígér, vagy éppen a fõ utak és államhatárok mivel ötletes megoldásokra és látvá- szemléltetése). nyos leképezésre épít, miközben egy- A grafikus interfész sajnos nincsen szerû kezelhetõséggel vértezték fel. 6. ábra Londonból, Párizsba... honosítva, de akinek valamely idegen Valamiért már az is szórakoztató, aho- nyelv erõssége lenne, a „Tools / gyan (például) a lakóházunkat keres- Options / General” menüben öt nyelv géljük türelmetlenül a fotókon... A munkaterület alsó részén olvasható- (Angol, Német, Spanyol, Olasz, Fran- Egyetlen buktatóként szinte csak az ak le a kiszemelt helyszín koordinátái. cia) közül választhatja ki a magának Internet „minõségére” kell ügyelni, A bal oldali blokkban szerepel leginkább megfelelõt. Ennél egysze- mivel egy 512Kb/s sebességû ADSL a„Search” (Keresés) menüpont, alme- rûbben és lényegre törõbben nem kapcsolat jelenti a belépõt a kompro- nüivel együtt. E lehetõségek között lehet megvalósítani a Föld felszínének misszummentes használathoz. egy városnevet beírva, a 3D modell realisztikus böngészését: a cikkhez Az idejét múlt vonalkapcsolt, illetve úgy fordul el, hogy a keresett terület mellékelt képek talán önmagukért az „öregebb” bérelt vonalak körében kerül centerbe – majd az automatika beszélnek. Személy szerint csupán ez a csodálatos világ élvezhetetlenné igen látványosan „odarepít” a felszín egyetlen dolog zavar: jelenleg nem válik: a szerény átviteli sebesség miatt közelébe. minden tereprõl érhetõ el részletes nem képes a fényképeket hatékonyan A keresés beviteli mezõjébe nem csak fotó, így például a szülõvárosomról közvetíteni felénk. városok, hanem híresebb építmények egy szerény felbontású képpel kell nevei is beírhatóak, például az Eiffel beérnem. Ez a hiányosság viszont Kovács Zsolt ([email protected]) Torony („Eiffel Tower”), vagy akár törvényszerûnek is mondható, hiszen a Brooklyn Híd („Brooklyn Bridge”). a 40.000km kerületû Golyóbis elké- Quake fanatikus. Négy éve a debre- A Keresés további lehetõségei két tet- pesztõen nagy felületû, emiatt ceni linuxosok egyike. Töretlenül hisz szõleges város közötti optimális útvo- „nem jut” minden négyzetkilométerre a Slackware terjesztésben. nalat is megjelölik! Szintén bal oldalon borotvaéles, nagy felbontású grafika.

www.linuxvilag.hu 2006. október 33 Alkalmazások

GoboLinux – Egy alternatív Linux terjesztés Manapság nagyon sok Linux-terjesztés létezik, ezért nem is tûnik fel szinte senkinek ez a brazil disztribúció (szerintem méltánytalanul). Az egész rend- szernek nagyon érdekes filozófiája van, ezért nem ajánlható azoknak, akik szeretik, ha minden lehetséges beállításhoz van akár szöveges, akár grafikus felhasználói felület és nem kedvelik a szokatlant.

iszont aki szereti, ha viszont ha nagyon ragaszkodunk gyakorlatilag nem használja. Ebben a legtöbb programja forrás- a hagyományokhoz, nyugodtan az esetben a csomagkezelõ elõnyei- V ból van telepítve (akár lehetünk root is. tõl is meg kell válnunk, azaz nem optimalizáció, akár egyéni konfigurá- Amíg a telepítés zajlik, olvassuk fogjuk tudni, miket telepítettünk fel, ció vagy akármi más miatt), viszont tovább a cikket, hogy lássuk, mi az, melyik fájl melyik csomaghoz tarto- nem akar „igazi forrás-alapú” disztri- ami ránk vár illetve miért lehet zik, egy csomagban milyen fájlok búciót (Gentoo, SourceMage, Lunar jobb választás ez a disztribúció, vannak, sõt, a telepített programok Linux, stb.) használni, vagy szeret- mint a megszokottak. verziószámát a legtöbb esetben nem nek „bütykölni” vagy lázadóbb típu- is tudjuk. Ezen hátrány felismerésé- súak és szeretik a szokatlan dolgokat Bináris disztribúciók és a forrásból vel egyidejûleg egy kívánságot fogal- kipróbálni, azoknak a GoboLinux való telepítés mazhatunk meg hallgatólagosan: ajánlható. A bináris disztribúciók nagy olyan keretrendszer kell, amely tá- többségének egyik hátránya, hogy mogatja a forrásból való telepítést A telepítés nemigen támogatják, ha forrásból és nyilván is tartja a telepített prog- Elõször a  www.gobolinux.org címrõl telepít a root bármit. Ez a nem-támo- ramokat verziószámukkal együtt töltsük le a megfelelõ ISO fájlt, ezt ír- gatás akkor (is) jelentkezhet, ha egy (a mai modern korban nevetséges juk CD-re és bootoljunk róla. A telepí- X csomag (egyik) Y függõsége forrás- lenne mindezt papírral és ceruzával © Kiskapu Kft. Minden jog fenntartva tõ-CD egyben Live-CD-ként is funkci- kódból van telepítve, így Y nem is rögzíteni), esetleg a bináris csomago- onál, így vészhelyzetben is jól jöhet. jelenik meg a csomagkezelõ (dpkg, kat is bírja kezelni. Az indítás végén egy teljes értékû rpm, installpkg, pacman, ...) adatbázi- Linux alatt találjuk magunkat, és sában és X telepítésekor hiányolja. A GoboLinux csomagkezelése a startx paranccsal egy KDE-felületet Ilyen eset leginkább akkor fordulhat Az alapötlet roppant egyszerû, en- indíthatunk. Az asztalon találunk elõ, ha egy olyan programot szeret- nélfogva zseniális: „a csomagkezelõ egy Install GoboLinux ikont, amelyet nénk, ami a kedvenc disztribúciónk- maga a fájlrendszer” (idézet elindítva a telepítés megkezdõdik. hoz nem elérhetõ csomagban, a honlapról). Azaz: rakjunk min- Ha nem akarunk (vagy nem tudunk) így kénytelenek vagyunk fordítani den programot külön könyvtárba, grafikus felületet használni, akkor és a már említett Y függõségbõl fris- így egyszerûen tudni fogjuk, ki a konzolon adjuk ki az Installer sebb kell neki, mint ami csomagból hova tartozik és tudni fogjuk azt is, parancsot (amelyrõl a rendszer elérhetõ. Sokszor a felülírás sem mik és milyen verzióval vannak tájékoztat is bennünket). szerencsés, mivel a csomagkezelõk feltelepítve. Egy példával megvilágít- Maga a telepítés egyértelmû, egy része a telepített fájlok méretét va rögtön világos lesz az alapelv: le- azaz aki nem elõször fut neki is tárolja. gyen a telepítendõ program a bash, a dolognak, az biztosan el fog vele Ennek egy lehetséges feloldása, ennek is a 3.1-s verziója. GoboLinux boldogulni, így ezt nem is részle- ha a felhasználó a rendszer mû- alatt ez azt jelenti, hogy van egy tezném. Egyetlen egy megjegyzést ködéséhez szükséges alapcsoma- /Programs könyvtár, itt van az összes azért kell tenni: már a bevezetõben gokat és néhány (vagy sok), viszony- telepített program. Tehát a bash is említettem, hogy a GoboLinuxnak lag kevés függõséggel rendelkezõ a /Programs/Bash/ könyvtárban. érdekes filozófiája van. Ezért programot csomagból telepít, a többit A beállításai (ami normális esetben a root felhasználó neve alapértel- pedig forrásból, tehát a rendszer- a /etc) a /Programs/Bash/Settings mezetten nem root, hanem gobo, hez tartozó csomagkezelõt ezután alkönyvtárban, a kifejezetten 3.1-es

34 Linuxvilág Alkalmazások

A verziókezelés is egy egyszerû öt- let alapján megy: az aktuális verzi- óra egy szimbolikus link mutat Current néven, tehát ha a bash-ból a 3.1-es verzió van telepítve, akkor a /Programs/Bash/Current a 3.1-re mutat. Az ilyen módszerrel megvalósított csomagkezelés legfõbb elõnyei a következõk:

• Egy programból egyszerre több verzió is lehet fenn, és mindig az a Current, amelyi- ket akarjuk.

• Mindenféle bûvös csomagkezelõ nélkül tudunk lekérdezéseket © Kiskapu Kft. Minden jog fenntartva végrehajtani az alap-parancsokkal (ls, find, …). 1. ábra PrepareProgram színes kimenete • Nincs a csomagkezelõnek a szó hétköznapi értelemében vett adatbázisa különféle egzo- tikus formátumban, amit eset- leg egyszerre csak egyvalaki nyithat meg.

• Minden egyes fájlról könnyen meg tudjuk állapítani, hogy melyik csomagnak a része.

• Nincs különbség, hogy egy program forrásból vagy bináris csomagból került a rendszerbe.

Tehát az alapötlet zseniális, már csak meg is kell valósítani. Azzal a néhány (körülbelül száz) bináris csomaggal nincs is gond, azt az InstallPackage 2. ábra A make színes kimenete parancs megoldja. Mi a helyzet a forrásokkal? verzióhoz tartozó állományok a járható, és egyszerûbb is kezelni. Forrásból való telepítés, csomagok pedig a /Programs/Bash/3.1/ GoboLinux-ban is ez történik: készítése {bin,doc,man,lib,include,...} minden csomag aktuális verziójá- A legtöbb forrás telepítése a legtöbb könyvtárakban. ban levõ bin könyvtár összes fájljá- (és a hagyományos) esetben a Ahhoz, hogy a megszokott mó- ra mutat egy szimbolikus link don lehessen futtatni a parancso- a /System/Links/Executables ./configure && make && make kat („begépelem, Enter, és fut”), könyvtárban, amire pedig egy-egy install két lehetõség van: vagy az összes szimbolikus lánc mutat /bin és telepített programban szereplõ bin /usr/bin néven. Hasonló módon hármassal történik (esetleg még (és sbin) könyvtárt felvesszük a PATH a lib-ek a /System/Links/ utána ldconfig, makewhatis -u környezeti változóba (ami valljuk be, Libraries-ba, az include-ok vagy más egyéb). A ./configure sok telepített program esetén hasz- a /System/Links/Headers-be, stb. egyik elõnye, hogy legtöbbször nálhatatlan), vagy pedig egy könyv- linkelõdnek. Persze a többi könyv- meg lehet adni neki különféle árban létrehozok minden egyes bin- tár (man, share, ...) hasonlóan és könyvtárakat, hogy a lefordított beli állományról egy szimbolikus mindegyik /System/Links-belire szükséges részeket hova szeret- linket, és ezt a könyvtárat veszem mutatnak a tradícionális /usr/ nénk installálni (a --prefix, fel a PATH-ba. Nyilván a második út {bin,include,lib,man,share,...} linkek. --libdir, --mandir, stb.).

www.linuxvilag.hu 2006. október 35 Alkalmazások

Ezt mi is megoldhatnánk manuálisan minden egyes programnál, ami elég nehézkes és nem az ilyen apró- cseprõ munkák miatt használunk Linuxot. Ezen (és sok más) problé- mára a GoboLinux nyújt erre egy szkript-gyûjteményt, ennek egyik része a PrepareProgram és a már említett InstallPackage is. Az elõbbi szkript megfelelõen para- méterezi a ./configure-t, tehát helyette a PrepareProgram Bash 3.1-et kell futtatni (a configure egyéb opcióit, például --enable- gui, --enable-shared, stb. ez után adhatjuk meg, amit a PrepareProgram átad © Kiskapu Kft. Minden jog fenntartva a configure-nak). Ezután követ- kezik egy csoda: a ./configure fut le szintaktikailag színezve (syntax highlight)! Tehát például a no, error kulcsszavak pirossal, a warning-ok sárgával, stb (1. ábra). Ezután a szokásos make következik, azok számára is, akik nemigen mez, és megszakítja a telepítést (hacsak ami szintén színesen fut le (mivel ismerik a szkript-nyelveket). nem utasítjuk ennek ellenkezõjére), a make egy alias a ColorMake Viszont ha nincs ./configure, akkor ha valami nem teljesül. A függõségek szkriptre), tehát nagyon jól követhetõ kénytelenek vagyunk magunk meg- meglétének ellenõrzése lényegében (2. ábra), mikor mi a kimeneti állomány, adni a telepítési útvonalat vagy egy annyi, hogy a szkript megnézi, hogy az milyen warning-ok és error-ok kelet- beállított PREFIX (esetleg prefix) adott program telepítve van-e a megfe- keznek a fordítás során. környezeti változóval futtatva a make lelõ verziószámmal, tehát a /Programs/ Miután a programot lefordítottuk, parancsot (ez a jobbik eset) vagy pe- Deps/depsVerzió könyvtár létezik-e. fel is kell telepíteni. Ezt (általában) a dig magát a Makefile-t kell kézzel Hogy ez bináris csomagból vagy forrás- szerkesztenünk (esetleg a sed-et ból van-e fenn, teljesen mindegy, ellen- make install vagy bármilyen szövegszerkesztõt tétben a legtöbb bináris terjesztéssel. igénybe véve). Ebben az esetben cél- A honlapomon paranccsal megtehetjük. Ezután szerû létrehozni a megfelelõ könyv- ( www.udvzsolt.extra.hu) néhány a szimlinkeket kell létrehozni, társzerkezetet a /Program-ban (mivel csomag található GoboLinuxra, vala- amit nagyobb programok esetén néhány program nem hozza létre mint a hivatalos honlapon linkeket hosszadalmas lenne egyesével. magának a könyvtárakat és hibát találunk hivatalos és nem hivatalos Erre megoldás a SymlinkProgram jelez, ha nem tudja a nem létezõ csomagokat tartalmazó tárhely- nevû szkript, amelynek a használata helyre bemásolni a megfelelõ re/tükrökre. Ne számítsunk sok cso- az eddigi példával: dolgokat), ezt pedig a magra, hiszen ez a terjesztés inkább forrás alapú, mint bináris. SymlinkProgram Bash 3.1 PrepareProgram -t Bash 3.1 A könyvtárszerkezet A SymlinkProgram nagyon jól paranccsal tehetjük meg. Ebben A GoboLinux könyvtár szinten is paraméterezhetõ, tehát egyedi esetek- az esetben a -t opció eredményezi „szakít a UNIX-os tradíciókkal”, ben is jól mûködik. Egy nagy hiá- azt, hogy csak a könyvtárstruktúrát tehát más a könyvtárszerkezet, nyossága van, amit könnyen lehet pó- hozza létre. viszont a megszokott szerkezet is tolni a szkript átírásával: a libexec A GoboLinux a csomagokat (alapértel- elérhetõ: például a /dev könyvtár könyvtárat egyszerûen kihagyja (és mezetten) .tar.bz2 formátumban tárolja, a /System/Kernel/Devices-re, a /etc a PrepareProgram se kezeli). Ha egy így könnyen kezelhetõek. Csomagok a /System/Settings-re, a /proc programot el akarunk távolítani, ak- készítése (az általam eddig használt a /System/Kernel/Status-ra egy-egy kor a DisableProgram használható, disztribúciókkal összevetve, és szerin- link. A fõ home könyvár nem a /home, amely megszünteti (törli) a linkeket, tem amúgy is) nagyon egyszerû hanem a /Users (a root-nak is itt van majd ezután egyszerûen az rm -r pa- a CreatePackage szkripttel, egyszerûen a home könyvtára), a szokványos csa- ranccsal töröljük az egész könyvtárat megadjuk, hogy melyik könyvtárból tolási pontok a /mnt ill. manapság (itt jegyezném meg, hogy az összes készítsen csomagot, õ pedig mindent a /media-val szemben /Mount. Ha szkript bash-ban íródott, tehát megcsinál. Még függõségi listát is a home-könyvtár külön partíción van könnyen követhetõ és módosítható készít, amit az InstallPackage értel- és másik Linux alatt is ezt használjuk,

36 Linuxvilág Alkalmazások

hogy melyik könyvtár tartalmát hova linkelje (amit a saját Linux From Scratch rendszeremben meg is valósítottam).

• A csomagkezelés részleteibõl kifolyólag nincsenek „program- típusok”, tehát nem tudjuk eldön- teni egy programról, hogy õ játék vagy felhasználói program vagy valami más (ez is meg van valósít- va az LFS-emben).

• Sok program nem szereti, ha az állományok nem ott vannak, ahol õ feltételezi vagy pedig a szimboli- kus láncokat nem kezeli (ilyen a makewhatis program, amit © Kiskapu Kft. Minden jog fenntartva egy kis átírás után rábírhatunk a szimlinkek felvételére is). 3. ábra Scandisk-téma bootoláshoz • Valahol nagyon általánosan (abszt- raktul) vannak megírva a szkriptek akkor célszerû a /Users-re egy linket a ScanDisk lemezellenõrzõ futna más (például bootfolyamat), valahol létrehozni /home-ként, hogy ne legyen szöveggel, lásd 3. ábra), sõt mivel az pedig gyakorlatilag „beégetve” kavarodás. egész nagyon általánosan lett megír- minden (csomagkezelõ szkriptek). va, mi is írhatunk egy sajátot (az alap- Véleményem szerint az elõbbi A boot-olás témákat célszerû tanulmányozni), alternatíva a jobb, de a vegyes Mint ahogy GoboLinux alatt ed- amelyet hasznos függvények segíte- megoldás a lehetõ legrosszabb, dig szinte semmi se a megszokott, nek (színkezelés, kurzor pozicionálá- mivel így a rendszer nem tûnik a bootszkriptek sem azok. Nem sa, stb.). A témákat ki is lehet próbálni egységes egésznek. a leginkább elterjedt SysV init (még bootolás elõtt) a szkripteket használja. A bootolás- • A források keresése/letöltögetése hoz szükséges állományok TestBootTheme Theme_Neve nehézkes (mindent nekünk kell a /Programs/BootScripts/VerzióSzám megkeresni), függõség-kezelés alatt találhatóak, míg a szkriptek paranccsal. A 3. ábra is így készült. gyakorlatilag nincs (ellentétben a /Programs/BootScripts/Setting/ például a Gentoo ebuildjeivel), ami BootScripts-ben. Ami bootolás során Összefoglalás internet nélkül egy kicsit keserves. történik: A disztribúció teljes bemutatása Viszont ez a „Csináld magad” a /Programs/BootScripts/Settings/Boot túllépne a cikk terjedelmén, és nem mozgalom híveinek inkább elõny. Scripts/BootUp nevû szkript lefut, is ez volt a cél, hanem csak figyelem- majd a Console és esetleg a Graphic felkeltés és kedvcsinálás. Összességében egy nagyon jól (az /etc/inittab szerkesztgetése nem A terjesztésnek sok hasznos és érde- használható, nagyon érdekes és ami árt!). A bootolás beállításai kes tulajdonsága, beállítási lehetõségei sokak számára fontos, nagyon gyors a /Programs/BootScripts/Settings/Boot vannak, igazi „bütykölõs” rendszer, (ami leginkább a forrás-alapnak kö- Options-ben vannak. Itt lehet megad- olyannyira, hogy például még a vélet- szönhetõ) disztribúciót ismerhetünk ni, hogy milyen kernelmodulokat kell lenszám-generátor inicializálását is meg a GoboLinux személyében. betölteni, a hálózati beállítások, a kon- nekünk kell megírni (a részletekkel zol betûkészlete is itt szerepel. És itt is kapcsolatban man urandom), tehát Udvari Zsolt egy érdekesség: a bootoláshoz (nem kezdõnek egyáltalán nem ajánlható ([email protected]) framebuffer vagy bootsplash alapon, (a FAQ-ban szólnak is errõl). 25 éves vagyok, egy hanem egyszerû konzolon) még Eddig elsõsorban az elõnyökrõl volt gimnáziumban tanítok témát is megadhatunk, tehát az szó, azért essen szó a hátrányairól: matematikát és fizikát. üzenetek milyen “körítéssel” jelen- A Linuxszal elõször jenek meg: lehet AppleII, CheckList, • A SymlinkProgram és 2004 elején találkoztam, az UHU GoboText, GoboText-II, Hat, Progress, a DisableProgram a libexec Kamionja volt, ami elgázolt. Progress-II, Quotes, ScanDisk, Slack könyvtárat nem kezeli, és egy-két Azóta 4-5 disztribúciót hosszabban és SplitScreen közül választani sorral mindkettõt bõvíteni kell, is használtam, jelenleg egy saját (igen, a nevek ismerõsek, tehát pl. ahelyett, hogy lenne egy konfi- építésû LFS-t nyúzok. a Scandisk téma úgy néz ki, mintha gurációs fájl, amiben tárolná,

www.linuxvilag.hu 2006. október 37 Alkalmazások

KDE alkalmazások (6. rész) KSSH – Grafikus SSH kliens

1. ábra A program indítása

4. ábra Aktív beállítás 2. ábra Új gép hozzáadása 3. ábra Beállítási lehetõségek

© Kiskapu Kft. Minden jog fenntartva KSSH program nem Fontos nyomógomb a kis ablak alján része a KDE grafikus lévõ „Show options” feliratú, amely A munkakörnyezetnek, elénk tárja az SSH program gyakoribb általában a külön feltelepít- beállítási lehetõségit, a „More...” hetõ programot között találjuk gombra kattintva pedig a lehetõségek meg a legtöbb terjesztés esetén. megduplázódnak (3. ábra). Ha mégsem találnánk meg, akkor A KSSH elõnye, hogy a listában a  http://kssh.sourceforge.net/ szereplõ gépnév-felhasználónév címrõl letölthetjük és lefordítás pároshoz rendeli a beállított opciókat, 5. ábra KSSH Konsole alatt után telepíthetjük a gépünkre. vagyis a következõ belépéskor már Elindítása után egy puritán kis nem kell külön beállításokat végez- ablak fogad minket (1. ábra), nünk, ha egy bizonyos gépre való Auth Gábor amelyben kettõ legördülõ menü és belépéskor port-átirányítást ([email protected]) néhány nyomógomb kapott helyet. vagy X11 adattovábbítást szeret- A legördülõ menükkel tudjuk nénk használni. Egy pécsi középiskolá- kiválasztani a gép nevét – ahova Az alapértelmezettõl eltérõ beállítás ban informatikát és kapcsolódnánk, illetve a felhasználó esetén a program dõlt betûkkel szedi programozást oktat. nevét – amely néven belépnénk a „Show options” gombot. A KSSH Tíz éve botlott elõször a UNIX rend- a megadott gépre. program használatához ismernünk szerekbe, 7 év Linux használat után Mind a két legördülõ menü kell az SSH program kapcsolóit, mivel kapta el a FreeBSD lázat, amibõl máig mellett van egy-egy három a KSSH egyszerûen csak meghívja nem tudott kigyógyulni. pontot tartalmazó nyomógomb, a Konsole nevû KDE konzolt, és abban amelyet megnyomva a kis ablak futtatja a megadott paraméterek mérete megnövekszik, s itt hozzá- szerinti SSH programot (5. ábra). KAPCSOLÓDÓ CÍMEK adhatunk vagy törölhetünk neveket, A meghívott Konsole alatt minden illetve módosíthatunk a sorren- megszokott tevékenységet el tudunk KDE projekt oldala – den mindkét legördülõ menü végezni, amire esetleg szükségünk  http://www.kde.org tartalmát tekintve. van (kódlapváltás, stb.).

38 Linuxvilág Alkalmazások

KIso – Az ISO mindenes Bizonyára sokan dolgozunk nap mint nap lemeztükrökkel, CD és DVD lenyoma- tok különbözõ változataival. A sokféle formátum hatékonyságát illetõen meg- oszlanak a vélemények, de hogy teljes legyen a zûrzavar, Linux alatt néhány programspecifikus lenyomat igen nehezen kezelhetõ...

éhány hónappal ezelõtt nélkül azonnal ki tudjam írni saját a magazin hasábjain keresz- adathordozómra – az eredeti lemez N tül bõséges információhoz pontos mását visszanyerve. juthattak az érdeklõdõ Olvasók p2p A dolog szépséghibája mindössze fájlcsere, valamint CD írás témaköré- annyi, hogy az elõbb említett bõl egyaránt. Aki vette a fáradtságot, Alcohol120%, vagy akár a Nero, és szánt néhány percet e hasznos a CloneCD elismert és elterjedt megol- tudnivalók áttanulmányozására, dásai célszoftverek nélkül nem (vagy esetleg a gyakorlatban is megpróbálta csak igen nehezen) kezelhetõek Linux kamatoztatni frissen szerzett tudását, alatt natívan. A cél tehát adott: kon- bizonyára összefutott néhány adat- vertáljuk a problémás lenyomatokat hordozó tartalmának egy állományba könnyen használható formátumba! 1. ábra A program felülete egyszerûbb fogott „bitre pontos” lenyomatával. nem is lehetne Itt említhetném akár a nagy múltú A KIso ISO képeket, vagy az idõvel együtt „A KIso egy KDE3.x verzióhoz készí- köztudatba ivódott BIN/CUE megol- tett grafikus interfész, mely Linux alatt Lefordítása nem ördöngösség: dásokat is: nem biztos, hogy a két a legkönnyebb megoldást kínálja az a megszokott, root jogkörrel kiadott © Kiskapu Kft. Minden jog fenntartva kezemen meg tudnám számolni, elõzõ nehézségekre”... Nagyjából ilyen ./configure, make, make install mennyi életképes formátummal ajánlással kezdõdik a címben említett parancsokkal lehet életet lehelni a sza- találkozhat a felhasználó. program hivatalos ismertetõje. badon letöltött, kicsomagolt tarballba. Sajnos azonban a helyzet korántsem A KIso szerzõjét Stephan Gansnek A konfiguráló szkript libkde, libcdio, rózsás... A legnépszerûbb égetõ prog- hívják. Egy Németországban élõ infor- sudo, mkisofs csomagokat keres ramok saját eljárásokat használnak matikus mérnökrõl van szó, aki prog- függésként, így ezekkel minden- lemezlenyomatok készítésére – de ramozott már Commodore 16-on át képpen rendelkeznünk kell Linux akár a közismert, Alcohol120% elneve- akár Amiga500-as masinákat is, C rendszerünkben. zésû windowsos CD emulátor is egye- nyelven pedig nagyjából tíz éve alkot. Opcionális függésként, amennyiben di lemeztükröket használ saját formá- Mindez azért fontos számunkra, jelen vannak libmcrypt és Mcrypt cso- tumaként. Nem tisztem eldönteni, mert a projekt (v0.2 verziója óta) magok is, a KIso képes lesz az önmaga hogy melyik a leghatékonyabb formá- teljes egészében C++ nyelven íródik által létrehozott lenyomatokat titkosí- tum, ennek ellenére személy szerint (ezt megelõzõen GAMBAS volt az tani. A legfõbb terjesztésekhez naponta összefutok az ismerõs kiter- alappillér). A KIso jelenlegi állapotát (Slackware, Debian, Mandrake, SuSE) jesztésû *.iso, *.nrg, *.bin, *.img, *.mdf fejlesztõje v0.8.3 azonosítóval jelöli, és ezek származékaihoz készült, elõre , *.ccd fájlokkal egyaránt, melyek ami alapján könnyen észlelhetõ: felépített bináris csomagok számtalan használata mára már operációs rend- a kód még nem érte el stabil állapotát. helyen elérhetõek a világhálón, így szertõl függetlenül is nélkülözhetet- Ennek ellenére tudása meggyõzõ, érdemes kísérletezgetni a fordítás len. Gondoljunk bele: mennyire puritán felületét (is) meghazudtolóan. megkerülésével. A telepített kód egy megszokott és célratörõ módszer A program hivatalos lapja terminálon (szuperfelhasználóként) egy tetszõleges CD tartalmát például a  http://kiso.sourceforge.net URL kiadott kiso paranccsal indítható Multimedia Descriptor állományként mögött található, innen indulva érhe- (tulajdonképpen e speciális jogkör elérnem a „világ másik végérõl” úgy, tõ el a GPL licenc szerint terjesztett miatt van szükség a függés egyik hogy azt mindenféle manipuláció aktuális forrásállománya is. tárgyát képezõ sudo csomagra).

www.linuxvilag.hu 2006. október 39 Alkalmazások

2. ábra A DL DVD lenyomat sem jelent nehézséget 3. ábra A segédprogramok beállítása © Kiskapu Kft. Minden jog fenntartva

4. ábra Letisztult menürendszer 5. ábra A konvertált tartalmat új fájllal bõvítettem

A használatba vétel automatikusan elvégzi helyettünk egyaránt. A projektek hatékonysága Azt hiszem sokakkal egyetértünk a program. Csupán egy dologra kell bizony összemérhetõ volt, az átala- abban, hogy ritka az olyan program, odafigyelni: az átalakítandó fájlnak kítások / módosítások ideje pedig melynek használati leírása rövidebb írható területen kell lennie, mivel (bemeneti formától függõen) 20% az installálás ismertetésénél. A KIso (kérdés nélkül) erre az útra fog kerül- határon belül mozgott, plusz és ennek a furcsa helyzetnek az egyik ni az abból készült ISO lenyomat. mínusz irányban vegyesen. szerencsés iskolapéldája: ilyen egysze- A legfõbb lehetõségek között található A KIso így mindazoknak a figyelmét rû kezelhetõséggel ritkán találkozni a kriptográfia kapcsolhatósága is. megérdemli, akik Szabad Rendszer linuxos körökben: nincs olyan mûve- Nézzétek meg a mellékelt képeket, alatt szeretnék megoldani az let, amely két kattintásnál többe kerül- a ritka módon egyszerû kezelõfelület Internetrõl letöltött (vagy a barátaiktól, ne. Az „Extrák” menüpontban találha- szinte vezeti a felhasználó kezét... ismerõseiktõl kapott) idegen lenyoma- tó beállítási lehetõségek mindössze A táblázatban olvasható lista kifejezet- tok konvertálását és átformálását. a lemeztükrök maximális méretére, ten kritikus nehézségek megoldását A projekt különbözõ verziói minimális valamint a segédprogramok kiválasz- ígéri - nem alaptalanul. Csupán (és azonosítónként eltérõ) hiányossá- tására korlátozódnak. egy kényes pontot ragadnék ki: gokkal rendelkeznek a fejlesztõ A „CD Képmás” menü tartalmazza a sok egyéb mellett támogatott eredeti elképzeléseihez képest: a lenyomatok létrehozási, manipulálá- „DiscJuggler” módszerrel tárolt tar- ezekrõl az ismert „hiányosságokról” si és konverziós lehetõségeit, melyek talmat sokszor még Windows alatt is a weblap ide vonatkozó része szim- (szó szerint) egy kattintással hívha- körülményes kezelni... A KIso alapér- patikus módon, mellébeszélés nélkül tóak életre. ISO állományt egyaránt telmezett kimenete az említett ISO tájékoztatja az érdeklõdõket. lehetséges kreálni optikai adathordo- formátum, melyet Linux alatt hurok A konvertálások elõtt érdemes zóról, illetve általunk kijelölt fájlokról eszközként bármikor csatolhatunk lehet áttanulmányozni az egyes és könyvtárszerkezetrõl (természete- a szükséges pontra, a mount formátumok közötti technikai sen munkánkhoz adhatunk indítható /elérési_út/lenyomat.iso különbségeket is, hiszen bizonyos tartalmat is, a megfelelõ IMG állo- /csatolási_pont -o loop parancs dolgokat mûszakilag lehetetlen mányt kitallózva az extra lehetõségek kiadásával. kivitelezni. Zenei sávokat például között). A manipulációs lehetõségek ne akarjon senki az adatai mellett kimerülnek a megnyitott ISO tükrök Tapasztalatok ISO formában tárolni... tartalmának kurtításában és bõvítésé- Nem szerencsés összehasonlításokra ben, ahol az ismert „húzd és ejtsd” hivatkoznom, de nem hallgathatom el Kovács Zsolt ([email protected]) mûveletek segítik a munka menetét. az Olvasótól: ugyanazon az AMD64 A konverziós menüben mindössze bázisú gépen Windows XP SP2 felüle- Quake fanatikus. Négy éve a debre- annyi dolgunk akad, hogy egy be- ten kipróbáltam néhány komolyabb, ceni linuxosok egyike. Töretlenül hisz menetként használható állományt kereskedelmi jellegû ISO konvertáló a Slackware terjesztésben. megnyitunk – a többi teendõt már programot, és Linux alatt a KIso-t

40 Linuxvilág Alkalmazások

Firefox kiterjesztései (3. rész) A Firefox kiterjesztéseinek száma az utóbbi idõben is folyamatosan növe- kedett. Sajnos ezek közül egy jó pár egy adott honlap reklámozást szolgálja, de ha ezeket kihagyjuk akkor is rengeteg új funkcióval bõvíthetjük a bön- gészõnket. Ebben a hónapban nem egy téma köré csoportosítottam a be- mutatandó kiterjesztéseket, hanem az új felfedezetteim közül választottam ki az érdekesebbeket.

TabRenamizer Ha valaki nem szereti azt, hogy a körülötte lévõ emberek meglátják, 1. ábra Ezen a képen Temporary Inbox menüsora látható hogy a böngészõ különbözõ fülein milyen oldalakat nyitott meg, annak ajánlom a TabRenamizer-t. A prog- ram megváltoztatja az aktuális oldal kivételével az összes fül feliratát va- lamilyen semleges oldaléra. Ha az Eszközök/Rename tabs (auto) lehetõ- ség be van jelölve, akkor ezt mindig megteszi és egy gyors ctrl-t meg- nyomása után már el is vannak rejtve az oldalak. Idokep.hu Egy magyar kiterjesztéssel folytat- © Kiskapu Kft. Minden jog fenntartva nám e havi bemutatómat. E program segítségével megjeleníthetõek a kü- lönbözõ magyarországi városokhoz tartozó idõjárási adatok. Elõször az idokep.hu feliratra kell kattintani 2. ábra Ezen a képen a ReminderFox feladatütemezõje látható a státuszsorban, ekkor megjelenik a választott városunkhoz tartozó hõmérséklet adat. E névre jobb egér- Temporary Inbox amely megad egy valami@temporary- gombbal kattintva megkapunk még Manapság már a legtöbb oldal inbox.com címet ezt kell megadnia pár adatot a térségrõl valamint a különbözõ szolgáltatási elérését, sajátunk helyet. A megerõsítést kérõ itt válthatunk a városok között, és melyek akár egyébként ingyenes is levél a temporaryinbox.com oldalára a idokep.hu oldalhoz tartozó különbö- lehetnek regisztrációhoz köti. Aki nem érkezik. a check gomb lenyomása után zõ térképeket (hõ, szél felhõ, légnyo- szeretné megadni valós e-mail címét megnézhetjük a kapott levelet, ahol más) is itt hozhatjuk be, melyek fo- vagy már unja a spam áradatot, annak a szokásos megerõsítõ linkre kattintva lyamatosan frissülnek. Az oldal hiva- célszerû ebben az esetben egy eldob- már aktivizáltuk is regisztrációnkat. talos mérési adatokat, és a látogatók ható e-mail címet megadni. Egy ilyen A levél hat óra után automatikusan által beküldötteket is tartalmaz. e-mail cím gyors megszerzését segíti törlõdik. Ha kiléptünk a Firefox-ból, Nekem ez a kiterjesztés jobban tet- elõ a Temporary Inbox. de késõbb ellenõrizni akarjuk az ideig- szett, mint a hasonló szolgáltatásokat Ha egy olyan oldalra kerülünk, mely lenes postafiókunkat, akkor a check nyújtó Forecastfox, mely segítségével regisztrációt kér, akkor egyszer rákat- elõtti üres beviteli mezõbe a kukac nemzetközi adatok is elérhetõek. tintunk a random e-mail gombra, jel elõtti szöveget be kell írni.

www.linuxvilag.hu 2006. október 41 Alkalmazások

eseményeket. Megadhatjuk, hogy az TrustWatch Search esemény ismétlõdik-e évente, havonta, Az e havi utolsó kiterjesztés, hetente vagy naponta. Legyen-e riadó- a TrustWatch Search biztonságo- jelzés vagy sem. Az eseményeket 15 sabbá teheti a böngészést az által, napos intervallumban mutatja, amely hogy a Google, a Yahoo és az 3. ábra Ezen a képen a ReminderFox megváltoztatható. A böngészõ adott MSN találati oldalain megjelenõ figyelmeztetõ ablaka látható napi elsõ elindulásakor figyelmeztetõ linkeket leellenõrzi, hogy nem ablak jelenik meg a teendõinkkel. szerepelnek-e a TrustWatch által © Kiskapu Kft. Minden jog fenntartva

4. ábra Ezen a képen a ReminderFox által megjelenített fülek láthatóak

Hasonló szolgáltatást nyújt a magyar Firefox Showcase vezetett fekete listán. A link meg- INFA (Internet Fejlesztési Alapítvány ), A program a böngészõ fülek újfajta látogatása elõtt megnézhetjük, melyet a  www.no-spam.hu/ címen elrendezését teszi lehetõvé. Az F12 hogy más felhasználok esetleg érhetünk el, itt meg kell adni egy lenyomása után egy új ablakban meg- nem találták-e gyanúsnak a kérdé- valós címet, ahova továbbítódni fog- jelenek a különbözõ fülek tartalmai, ses honlapot és, hogy fûztek a meg- nak a levelink, és ide kapjuk meg ezek közül egy kattintással választha- jegyzést az oldalhoz. a [email protected] címünket, amit tunk, majd pedig ezután visszakerü- bárhol fel is használhatunk, ez a cím lünk a böngészõhöz. Nem kell a fülek Fekete Imre egy általunk beállított idõ után, mely között váltogatni egybõl szembetûnik, ([email protected]) nem lehet több 45 napnál, törlõdik. hogy melyik oldalt kerestük. ReminderFox Number Madness Programtervezõ- matematikusként A kiterjesztés feltelepítése után egy A kiterjesztés egy érdekes kezdemé- végeztem a Debreceni bokréta jelenik meg a státuszsor jobb nyezés, a tili-toli játék egy megvalósí- oldalán. Ha felé visszük az egeret, tása, melyet a Games/Number Madness Egyetemen. A Linuxtól kezdetben akkor megjelenek a mai és a közelgõ telepítés után megjelenõ új menüben idegenkedtem, de ma már csak azt események valamint a mai teendõk, indíthatunk el. Használatához nem tudom mondani róla, hogy remek ha vannak ilyenek. A bokrétára kat- kel felkeresni egyetlen oldalt sem. rendszer. tintva megjelenik egy naptár, ahol A játék lényeg, hogy számokat kell a különbözõ napokhoz rendelhetünk sorba rendezni.

42 Linuxvilág Alkalmazások

Picasa – Képkezelés felsõfokon Manapság már az átlagfelhasználó számítógépén is természetes a tízezernyi fotóból álló digitális médiagyûjtemény. A kamerák és az Internet lehetõségei rendíthetetlenül hizlalják a kollekciókat, így ezek rendszerezése és indexelése mára nélkülözhetetlen feladat.

1500 nap, 11000 fotó dalmas procedúrát. Inkább a Windows a használhatósága pedig meg- Nemrég kínkeservesen összeszámol- platform egyik népszerû alkalmazását egyezik az eredeti verzióéval. tam, mennyi kép gyûlt össze az ottho- hívtam életre Linuxon. Függõségként mindössze egy mû- ni számítógépemen az elmúlt négy ködõ X11-re, valamint v2.3 verziójú esztendõben. Íme, az eredmény: nagy- Ismét csak a Google! glibc könyvtárra van szüksége rend- jából 11000 fotó, rajz és ábra pihent Az utóbbi idõben mind biztosabban ter- szerünkben. A projekt honlapját a személyes mappámban. Mondhat- jeszkedõ Google nevéhez fûzõdik a  http://picasa.google.com/linux nám magam trehánynak, szórakozott- a probléma legnépszerûbb megoldása, címen érhetjük el, itt találhatóak nak, említhetném a szabadidõm kóros a Picasa. Az eredetileg Win32 felületen a Picasa linuxos állományai *.rpm és hiányát is, de sajnos ez mit sem vál- futó programnak 2006 derekán jelent *.deb csomagként, valamint terjesztés- toztatna azon, hogy a képeim legalább meg a linuxos verziója, ami által tõl független *.bin telepítõbe ágyazva. 50 különbözõ könyvtárban voltak szét- a Szabad Rendszer felhasználói is (A letöltendõ fájl minden esetben szórva, semmitmondó fájlnevekkel. könnyedén rendszerezhetik képeiket. 24Mbyte méretû, melybõl a Picasa A környezetemben és baráti körömben A dolog apró szépséghibájaként valójában 9Mbyte méretet foglal el, szintén tetten érhetõ volt a jelenség... a linuxos verzió nem „klasszikusan” na- a maradék területen az említett Sõt, némely esetben még akkor is tív megoldás, hanem egy olyan projekt, Wine és a Gecko „osztozik”.) tovább hízott a kollekció, ha eközben melyben a windowsos program össze Az elõbbi formátumok a megfelelõ © Kiskapu Kft. Minden jog fenntartva már a tulajdonosa is tudta: soha sem van „drótozva” a Wine wrapper binári- disztribúciók csomagkezelõjével hív- lesz türelme órákat tölteni egy fotó sával és a Mozilla renderelõ motorjával. hatóak életre: a Debian csomagmene- késõbbi elõkeresésével. Mivel a teljes, Sebaj, a Wine ebben az esetben is dzserét használó rendszerekben dpkg kézi átszervezés és átnevezés ennyi kiállja a próbát: a nekünk érdekes -i picasa.verzió.deb parancs vezet állománynál több napot vett volna verzió ugyanazzal a szerény géppel célra, a Red Hat megoldását tartalma- igénybe, én sem erõltettem e hossza- is beéri, mint Windows környezetben, zó Linuxon pedig az rpm -Uvh

1. ábra A Picasa *.bin telepítõje

www.linuxvilag.hu 2006. október 43 Alkalmazások

ami lehetõséget nyújt az adott ábra teljes megtekintésére, valamint ennek alapszintû szerkesztésére, címkézésére, elrejtésére, mozgatására és törlésére. A szerkesztés (ez dupla bal klikkel is aktiválható a bélyegeken) lehetõségei a következõk: „Basic Fixes” (általános alakítás), „Tuning”, „Effects” (effektek). Az általános alakítások menülapján a levágás, a „vörös szem” elnyomás, automata kontraszt és színtelítettség, valamint a fénytelítettség állítható be. A tuning szekció a fényerõ, a fényes felületek és az árnyékok kezelésére szolgál, lehetõséget adva a színhõ- mérséklet kézi elmozdítására is. Az effektek által pedig elõre beállított © Kiskapu Kft. Minden jog fenntartva vizuális hatásokat lehet alkalmazni a kiszemelt állományon. Fontos, hogy 2. ábra A merevlemez teljes szkennelésének bevezetése minden egyes változtatás több lépcsõ- ben is visszavonható az „Undo” gomb- bal. A szerkesztés gombjai felett akár paraméterezhetõ diavetítés is kapcsol- ható a „Slideshow” mûveletét kérve, de „Timeline” lehetõséggel is élhet az érdeklõdõ, ahol látványos módon kerül személtetésre az összes média- tár, létrehozási idõpont alapján. A diavetítés ideje alatt *.mp3 formátu- mú hangsávok lejátszása is kérhetõ a„Tools / Options / Slideshow” menü- ben, ezáltal egy kisebb, de elegáns prezentáció elkészítése is a Picasa képességlistáját bõvíti. Utolsóként, de nem utolsó sorban említendõ: a fõ panelen található „Import” gomb segítségével, a gphoto csomag által használható digitális kamerákról köz- vetlenül is felhasználhatunk képeket. Az „élõ példa” 3. ábra A káosz renddé szelídül A száraz ismertetés után nézzük az életszerû példát, saját esetem- rõl másolva! Tegyük fel, hogy picasa.verzió.rpm utasítás hasz- tárak létrehozásának idején alapul a személyes mappánkban rengeteg nálatos. A független, *.bin formájú (ez a „Folder / Sort By” menüben meg- olyan könyvtár van (almappástul), telepítõ root jogkörrel kiadott sh változtatható). A jobb oldali blokkot melyek sehogyan sem azonosítható- picasa.verzió.bin utasítással állít- a megtalált ábrák bélyegképei építik ak neveik alapján. Bennük számtalan ható üzembe. A telepített program fel. Természetesen mind a két rész állomány, köztük a számunkra érté- felhasználóként terminálra gépelt görgethetõ. Az alsó részen található kes médiák. A fájlok java része digi- picasa paranccsal indítható. a képtálca (melyre képeket húzva, tális fényképezõgéprõl származik, késõbb azok rögtön elérhetõek lesz- melyeket anno egyszerûen átmoz- A szervezésen túl nek), valamint a jelölések és transzfor- gattunk a PC-nk merevlemezére: Az indított alkalmazás elsõ alkalommal mációk gombjai (például forgatás), a képek neve sajnos jellemzõen átfutja a háttértárainkat, képek után a kézenfekvõ szolgáltatási menü dcim_sorszám.jpg, mely elnevezés kutatva, a késõbbiekben elsõsorban (nyomtatás, e-mail küldése, csoportosí- akár többször is elõfordul a külön- a változásokra figyel. A keresés mindig tás, blog, export, nyomtatás on-line bözõ mappákban. a háttérben történik, ennek eredmé- megrendelése), és a zoom csúszkája. Nos, több ezer fotó esetén, ilyen nye a bal oldali blokkban látható, ahol Egy képen jobb egérgombot nyomva körülmények között képes lenne-e az alapértelmezett elrendezés a könyv- elõhívható a program helyi menüje, bárki megkeresni a „digitális

44 Linuxvilág Alkalmazások

emlékekeit”? Kötve hiszem... A Picasat használva viszont merõben más a helyzet! A programot indítva, indexelés után a zoom paramétert olyan értékre állítom, hogy a bélye- gek felismerhetõek legyenek, de a lehetõ legtöbb miniatûr látszódjék a jobb blokkban. Így a keresés ideje az eredeti idõ töredékére csökken. A fontos találatokon jobb klikket nyomok, majd kiválasztom az „Add Label” funkciót, hogy a szükséges képekhez azonos nevû címkét ren- deljek. Az így egy csoportba került ábrák helyi menüjén kérem az „Edit” lehetõséget. A „Tuning” fülre kattint- va az automatikára bízom a színhõ- mérséklet és a fényerõ korrigálását © Kiskapu Kft. Minden jog fenntartva (a gyengébb minõségû képekre is gondolva). Ha végeztem, létreho- 4. ábra A szerkesztés menü zok egy privát albumot, ahová a feljavított médiákat átmozgatom „húzd és ejtsd” módszerrel. A privát albumból kiválasztok né- hány olyan fotót, melyeken köte- gelve kérek változtatást a „Picture / Batch Edit / Auto Contrast” me- nüt választva (így a fotók hasonló kontrasztaránnyal fognak rendel- kezni). Ezek után – még mindig a programból – elküldöm a képeket egy célszemélynek, a gmail fiókom account-ját felhasználva (a fõ pane- len lévõ „Email” nyomógombot használva). Hát nem szuper?! A Picasa nélkül órákig keresgélhet- tem volna „kézzel”, a találatokat átnevezhettem volna csoportosan a krename csomaggal (a címkézés és mozgatás helyett), majd javíthattam volna az egyedi hibákat (a jóval több- re hivatott és emiatt bonyolultabb) GIMP-pel, végül a gmail honlapot 5. ábra A diavetítés egyik fotója megcélozva, a külön emiatt indított böngészõmbõl kellett volna elkülde- nem a válogatott ábrákat. Ez többszö- a személyes mappánk megfelelõ tetõ és bosszantó dolog lenne órákig rös idõigényt, embert próbáló türe- /home/$/Picasa_Documents alkönyvtá- keresgélni néhány médiát, nem is lemjátékot jelentett volna a Google rában jönnek létre, így mentesülünk beszélve arról, hogy a megtalált, megoldásához képest. az egyébként ismerõs, indexelt map- régi fotókon elég sokszor fel kell javí- pákban sokszor megjelenõ Thumbs.db tani valamely minõségi paramétert. Miért érdemes még? állományoktól is. A lehetõség adott: az ingyen elérhetõ Az elõbb példaként felhozott „Picture / Reményeim szerint látható, hogy Picasa semmilyen kívánnivalót nem Batch Edit” funkció hasznosságát a Picasat használva rengeteg idõt hagy maga után. mintázva, a „Create / Make a Poster” spórolhatunk meg a digitális fotóink, menüpont szintén a kényelem je- rajzaink és ábráink között keresgél- Kovács Zsolt ([email protected]) gyében született: a nagy felbontású ve, illetve azok között szerkesztve. ábráinkat pillanatok alatt képes Mi tagadás, emellett a felhasználó Quake fanatikus. Négy éve a debre- (poszternyomtatáshoz elõkészítve) fel- idegeinek is komoly szolgálatot ceni linuxosok egyike. Töretlenül hisz darabolni. A változások, bélyegképek, tesz a digitális rendszerezõ: több a Slackware terjesztésben. címkék és információs bejegyzések ezer kép között igencsak megerõl-

www.linuxvilag.hu 2006. október 45 Üzemeltetés

Állandó vírusvédelem megvalósítása a ClamAV segítségével

Linux alatt vírusvédelem? Minek az nekünk? Linux alatt nincsenek is vírusok! Sajnos ez így nem igaz, mert hiába írják a vírusok 99 százalékát más operációs rendszerre, senki sem garantálhatja azt, hogy ez mindig így marad. Ha pedig Wine-t használunk, akkor az alkalmazások mellé jó eséllyel kaphatunk vírusokat is, melyek így képesek futni Linux alatt.

mennyiben ez még mindig a teljes megosztott könyvtár tartalmát, Lépjünk be a könyvtárba, ahová nem lett volna elég indok ar- mikor napközben csak tíz fájlt változ- letöltöttük a rendszermag forrását A ra, hogy Linux alá vírusirtót tattunk meg. telepítsünk, akkor nézzünk néhány cd /usr/src olyan példát, amikor szükségünk le- Rezidens vírusvédelem Linux alatt tar -xvjf linux-2.6.15.tar.bz2 het arra, hogy Linux alatt végezzünk A telepítést az Xubuntu 6.06 beta 2 ver- vírusirtást. zióval végeztem el, de lényeges különb- Hozzunk létre egy szimbolikus linket, Ha van egy NFS kiszolgálónk, ség nincsen a korábbi Xubuntu, Ubuntu, mely az aktuális kernel forráskódjára amit közösen használnak linuxos Debian verziók esetén sem. A Dazuko mutat. és windowsos kliensek, akkor modul felelõs azért, hogy értesítse a Windows-on futó kliensek védel- a Clamavot az egyes fájlmûveletekrõl. ln -s /usr/src/linux-2.6.15 mének érdekében a kiszolgálón fut- A Dazuko modult, így saját kerne- linux tathatunk ClamAV vírusellenõrzést. lünkhöz kell fordítani. Szerencsére eh- A másik példában linuxos kliensünk- hez nem kell az egész kernelt újrafordí- Másoljuk be a jelenlegi kernel konfi- kel kapcsolódunk RDP-n keresztül tani, viszont szükségünk lesz a kernel gurációs állományát a kernel forrás- egy Windows terminálhoz, olyan forráskódjára, a kernel fejlécekre és kód könyvtárba módon, hogy egy adott könyvtárat a kernel fordításhoz szükséges csoma- © Kiskapu Kft. Minden jog fenntartva a terminálon is és a kliensen is látunk. gokra is, mivel a Dazuko modul a válto- cp /boot/config-2.6.15 Ha el szeretnénk kerülni azt, hogy zóit a kernel forrásából állapítja meg. /usr/src/linux/.config a megfertõzzük a kiszolgálót, akkor Adjuk ki a következõ parancsokat, kliens oldalon (is) ellenõriznünk kell hogy rendelkezésünkre álljanak Amennyiben mégis új kernelt akarunk a fájlok tisztaságát. a szükséges csomagok. fordítani, akkor már csak a libncurses5- A ClamAV kitûnõ ingyenes eszközt dev csomagra lesz szükségünk a make kínál erre a feladatra, a probléma csak apt-get install gcc-4.0 menuconfig parancs futtatásához. az, hogy nem ismeri a rezidens vírus- gcc-4.0-base binutils cpp-4.0 Telepítsük a clamav-freshclam, clamav ellenõrzést, tehát a fájlokat nem akkor libcc1 és a clamav-deamon csomagokat, de ellenõrzi le amikor éppen hozzáfé- a dazuko csomagot ne az apt-n keresz- rünk, hanem ha beállítjuk, akkor esetleg a gcc-4.0 helyett választhatjuk tül telepítsük, mert az ott található bizonyos idõközönként periodikusan. a gcc-3.4-et is, már nagyon régi, ezért jobban járunk, Ez egyrészt egy kis biztonsági rést ha a hivatalos oldalról töltjük le hagy a vírusoknak, hiszen lehetõsé- apt-get install build-essential a legfrissebbet. gük van két ellenõrzés között terjedni, bin86 kernel-package másrészt pedig adott esetben többszö- libqt3-headers libqt3-mt-dev wget http://www.dazuko.org/ rös pluszmunkával terheli a gépünket, apt-get install linux-source- files/dazuko-source_2.2.1- ha például minden éjjel leellenõrizzük 2.6.15 linux-headers-2.6.15 1_all.deb

46 Linuxvilág Üzemeltetés

dpkg -i http://www.dazuko.org/ dpkg-buildpackage -rfakeroot is döntöttem amellett, hogy files/dazuko-source_2.2.1- -uc -us a Linuxvilág magazinban kitérjek 1_all.deb erre a témára. A folyamat végeztével egy könyvtárral Mint magánembert sokan kerestek Valószínûleg a dazuko-source csomag feljebb megtaláljuk a telepítéshez szük- meg tanácsot kérve, hogy milyen függõségi hibába fog ütközni, ezért séges deb csomagok, melyeket a dpkg programokat használjanak otthon telepítenünk kell a module-assistant -i *.deb paranccsal telepíthetünk is. (megértettem, hogy egyelõre nem sze- csomagot is, ekkor már a dazuko- Most meg kell mondanunk a ClamAV- retnének Linuxra váltani) ugyanakkor source is hiba nélkül feltelepül. Szüksé- nak, hogy milyen esetekben ellenõriz- boldogan használnának biztonságo- günk lesz még a debhelper csomagra ze le a fájlokat, illetve azt is meg lehet sabb böngészõt, levelezõt, ingyenes is, különben a modules-assistant képte- mondani, hogy mely könyvtárakban és jogtiszta képszerkesztõt, hangvágót len lefordítani a dazuko-t és állandóan ellenõrizze le õket. A /etc/clamav/ stb. Ezért mindenkinek az adott fel- hibát fogunk kapni a fordítás során. clamd.conf állományhoz írjuk hozzá adatra megfelelõ szabad szoftvert aján- A module-assistant kielégítõ mûködé- a következõ két sort, mely megmondja, lom, esetleg telepítem fel a gépére. séhez elõször futtassuk le a module- hogy fájl hozzáférés és fájlmegnyitás Pontosan ezért konzekvensen minden- assistant prepare parancsot, majd esetén fusson le az ellenõrzés. kinek a ClamAV-ot ajánlottam mint ví- pedig készítsük el a dazuko betölthetõ rusirtót, csak sajnos (eddig) hiányzott kernelmodulunkat az ClamukoScanOnAccess belõle a memória rezidens védelem. © Kiskapu Kft. Minden jog fenntartva ClamukoScanOnOpen Mint rendszergazda munkám során m-a a-i dazuko ClamukoIncludePath /home találkozom Windowsos gépekkel is, és mindent megteszek azért, hogy a lehe- paranccsal. A Clamuko, Dazuko együttmûködéshez tõ legnagyobb biztonságot élvezzék õk Amennyiben minden rendben van, szükséges, hogy a ClamAV root jogo- is, de ezidáig nem tudtam megoldani akkor végre betölthetjük a dazuko mo- sultságokkal fusson, így a User kezdetû azt, hogy a ClamAV csak azután en- dult, de elõtte a capability modult ide- sorban a clamavot írjuk át root-ra. Ha gedje futni az alkalmazásokat, miután iglenesen távolítsuk el a rendszerbõl. ezzel készen vagyunk, akkor már csak meggyõzõdött azok vírusmentességé- a teszt van hátra. Töltsük le az eicar rõl. Az esti vírusellenõrzés pedig lehet, rmmod capability antivírus tesztállományt (teszt szek- hogy már csak esõ után köpönyeg. modprobe dazuko venciát) a  http://www.eicar.org/ Mint egyszerû user valahogy szeret- modprobe capability download/eicar.com címrõl, majd pe- tem volna megoldani a családi pc dig teszteljük le, hogy engedélyezi-e védelmét is, szem elõtt tartva azt, Ahhoz, hogy mindez teljesen auto- a rendszer a hozzáférést. Ha igen, ak- hogy az egyszerûség, a gyorsaság matikus legyen, hozzuk létre a /etc/ kor valószínûleg valamit nem jól csi- és az ingyenesség testesüljön meg modules.d/dazuko fájlt a következõ náltunk, ellenõrizzük le a lépéseket, a víruskeresõ szoftverben is, ha már tartalommal: hogy nem kaptunk-e valahol hibát. kell otthonra egy Windows is. Amennyiben nem tudunk hozzáférni Hogy a kép teljesebb legyen a ClamAV- install dazuko modprobe -r az adott fájlhoz (és amúgy a jogosultsá- nak létezik egy portja Mac OS X alá is. capability;\ gunk meglenne hozzá), akkor mûkö- Ennek neve ClamXav mely egy letisz- modprobe -i dazuko; \ dik a rezidens vírusvédelem Linux tult, a Mac OS X kinézetéhez illeszkedõ modprobe -i capability rendszerünkön. felületet nyújt a ClamAV-nak. Sajnos ha jól tudom, akkor egyelõre Mac OS X Ezennel a dazuko figyeli a fájlmûvele- Rezidens vírusvédelem Windows alatt alatt a ClamAV-ot nem lehet rávenni teket, de az Ubuntuban lévõ ClamAV Aki egyáltalán nem találkozik a memória rezidens védelemre. nincsen felkészítve arra, hogy együtt- Windowsos számítógépekkel, Szerezzük be a szükséges programo- mûködjön a Dazuko modullal, ezért és nem is érdekli õket annak a lehe- kat a vírusellenõrzéshez, ha még nem kis módosításokkal újra kell fordíta- tõsége, hogy hogyan védjük meg tettük nunk azt. A dolog nem annyira bo- a Windowst a vírusoktól tisztán nyolult, mint amennyire annak tûnik. szabad szoftverekkel, attól most elbúcsúznék, és köszönöm, apt-get install fakeroot hogy eddig velem tartott build-essential és végigolvasta a cikket, apt-get build-dep clamav remélem hasznosnak apt-get source clamav találta. Mivel a cikk témája Ezután lépjünk be az így létrejött a rezidens vírusellen- clamav_xx.x könyvtárba és a /debian/ õrzés ClamAV segítsé- rules fájlban a ./configure kezdetû so- gével, ezért most kitér- rokból vegyük ki a --disable-clamuko nék a ClamAV Windows opciót. Majd pedig fordítsuk újra alatt használható verziójára a ClamAV-ot a következõ utasítással: a ClamWin-re. Több dolog miatt

www.linuxvilag.hu 2006. október 47 Üzemeltetés

volna meg. Szükségünk lesz hogy a rendszer szinte minden egyes tünk le. A második szabály akkor tehát a ClamWin-re, melyet megmozdulására a Winpooch megkér- annyiban fog különbözni az elsõtõl, a  http://www.clamwin.com/ oldal- di tõlünk, hogy az adott mûveletet hogy a Type legördülõ menübõl a Path ról szerezhetünk be, illetve szüksé- engedélyezzük-e. Ha még nem zár- with Wildcards menõpontot válasszuk günk lesz a Winpooch nevû okos tuk ki magunkat a rendszerbõl :-), ki, és a Value mezõbe pedig írjuk be kis alkalmazásra, melyet akkor mentsük el az alapértelmezett a d:\downloads\* karaktersort. a  http://winpooch.free.fr/home/ konfigurációs fájlt, és egy teljesen A harmadik szabály lesz talán a legér- index.php oldalon találhatunk meg. újat hozzunk létre helyette, mely tékesebb számunkra, ez fogja leellen- A Winpooch egy remek szoftver mely kezdetben üres. õrizni a fájlokat még mielõtt azok a rosszindulatú szoftverek és trójai A program helyére írjunk egyszerûen futnának. A Reason legördülõ menü- programok elleni védekezést segíti oly csak egy * karaktert, mert a szabá- bõl most válasszuk ki a Sys::Execute módon, hogy valós idõben monitoroz- lyunkat minden programra akarjuk opciót, a Type legyen Any Value, za az egyes folyamatok aktivitását érvényesíteni. A + ikonnal tudunk értéke pedig * legyen. Az elõzõekhez a rendszerünkben. Segítségével enge- új szabályokat hozzáadni a jelenlegi hasonlóan most is engedélyezzük délyezhetjük bizonyos programoknak, konfigurációhoz. a vírusellenõrzést. hogy adott könyvtárba írjanak, Az elsõ esetben ellenõrizzünk le min- Mindenkinek jó vírusirtást, de még ugyanakkor egyéb könyvtárba meg- den .doc kiterjesztésû fájlt amikor azo- inkább vírusmentességet kívánok. © Kiskapu Kft. Minden jog fenntartva tilthatjuk az írás jogát. Ugyanígy meg- kat megnyitjuk. A szabályunk tehát tehetjük azt is, hogy bizonyos progra- a következõ lesz, a Reason legördülõ Horváth Ernõ mokat eltiltunk attól, hogy a regisztrá- menübõl válasszuk ki a File::Read [email protected] ciós adatbázisba írjanak, persze ekkor opciót, a Type legördülõ menüben 24 éves, mûszaki infor- számolni kell azzal, hogy a program válasszuk ki a Wildcards menüpontot, matikus. Három évvel esetleg hibásan fog mûködni. majd pedig adjuk meg a Value mezõ- ezelõtt ismerkedett A program használatáról egy külön nek a *.doc kiterjesztést. A Virus Scan meg komolyabban cikket is lehetne írni, de mi most opciót feltétlenül válasszuk ki, majd a Linux rendszerekkel és emellett csak a vírusellenõrzésre fogunk mentsük el az elsõ szabályunkat. érdeklõdik még a robotika és a biz- koncentrálni, azon belül is három A második esetben egy adott könyvtár tonságtechnika iránt is. Ha lenne különbözõ szabálytípust mutatok be. összes fájlját fogjuk leellenõrizni meg- szabadideje sokat kirándulna, Miután telepítettük a Winpooch-ot nyitás elõtt, például minden letöltött biciklizne és filmeket nézne. és a ClamWin-t is, láthatjuk, fájlt a d:\downloads könyvtárba töl-

48 Linuxvilág Üzemeltetés

Bluetooth – Vezetékek nélkül, szabadon Manapság sokféle vezetékmentes szabványt használnak (IrDA, Bluetooth, Wifi) és jó pár vár (WiMax) az elterjedésre. Mostanság a Bluetooth-t egyre többen kezdik felfedezni, így én is. Hogy másoknak ne kelljen az ösvényt újra és újra kitaposni, megosztom a Linux és Bluetooth összeházasításával kapcsolatos tapasztalataimat.

A múlt tud nyújtani (kb. 700 kbit-es letöltés • Internetmegosztás (laptophoz, Mielõtt vadul belevágnék a közepébe, aszimmetrikus módban és körülbelül PDA-hoz ideális) szeretnék rávilágítani, miért pont 500 kbit-es szimmetrikus módban), • Fájlátvitel (például mobiltelefonról Bluetooth a szabvány neve? A tizedik illetve egy master (mester) eszközhöz vagy mobiltelefonra) században élt egy dán király: Harald maximum 7 slave (szolga) eszköz tud • Hangkártya (ha nincs hangkártya Blatand (angolul: Harold Bluetooth). csatlakozni. A Bluetooth sokkal inkább a gépben) Õ volt az aki egyesítette a hadviselõ PAN (Personal Area Network), vagyis • Betárcsázós internet (végszükség feleket a mai Norvégia, Svédország és személyi hálózat. esetére) Dánia területén. Különbözõ – kultúrá- jú és gazdaságú – népek békés kom- Párosan szép az élet Persze többre is képes lehet, de ha munikációja. A Bluetooth szabvány is A Bluetooth eszközök csak akkor átlátjuk az alapvetõ dolgokat, akkor valami ilyet csinál. Összefog több kü- tudnak egymással kommunikálni, a fenti négy esetbõl könnyen kitalál- lönbözõ eszközt (mobiltelefon, számí- ha úgymond párosítják õket. Ez olyan, hatjuk egy kis utánajárással a dolgokat. tógép, headset, GPS vevõ, stb.) mint amikor a való életben két üzleti partner névjegykártyát cserél. Forogjon a kernel A szabványról A Bluetooth-nál kölcsönösen azono- A Linux általában kezeli a mai USB-s sítót cserélnek, így biztosítva, hogy Bluetooth kulcsokat. Jelen tesztben két kijelöl eszköz csak akkor ismerje egy Class 1-es X-Micro típusút hasz- © Kiskapu Kft. Minden jog fenntartva egymást, ha mindkettõ tulajdonosa náltam. Ahhoz, hogy mûködjön, nyil- jóváhagyta azt. ván az alaplapnak megfelelõ USB Jó tudni, hogy sok eszköz – például vezérlõt le kell fordítani, legyen az Hogy megértsük a Bluetooth mûködé- a Bluetooth headset-ek nagy része – OHCI, UHCI vagy EHCI. Ha van sét, nem árt, ha ismerünk pár adatot. képes több mester eszközt kezelni, mûködõ USB alrendszerünk, akkor A szabvány a 2,45 GHz körüli sávokat így nem kell folyton törölni a már egy lsusb paranccsal megtudhatjuk, használja. Ez azt jelenti a gyakorlat- meglévõ párosítást, valahányszor vál- milyen eszközünk van konkrétan. ban, hogy a falakat nem nagyon sze- tozik az eszköz (számítógép, mobilte- Nálam például egy ilyen: reti, illetve wifi-vel „szennyezettebb” lefon, PDA). Viszont ha egy headset-et területen gyengülhet a vétel, de mo- – vagy valami egy másik eszközt – ... biltelefon és headset közé ideálisabb, már használ valami, úgy az a többi Bus 002 Device 002: ID mint a vezeték. Létezik belõle Class 1- eszköz számára láthatatlan, még akkor 0a12:0001 Cambridge Silicon es (1 milliwatt adóteljesítmény), Class is, ha egyébként párosítva vannak. Radio, Ltd Bluetooth Dongle 2-es (10 milliwatt adóteljesítmény), va- (HCI mode) lamint Class 3-as (100 milliwatt adótel- A kékfogú pingvin ... jesítmény). A Class 1 és 2 körülbelül Linux alatt már elég régóta támogatot- 10 méteres hatósugarat biztosít tak a Bluetooth eszközök, de én sze- Általánosságban elmondható azon- nyílt terepen, míg a Class 3-as akár mély szerint igazán csak a 2.6.13.4-es ban, hogy az alábbi részek szüksége- 100 métert, de ez utóbbi elég ritka. kerneltõl kezdve próbálgattam. sek a mûködõ Bluetooth-hoz: A Bluetooth-t nem a LAN (Local Area A linuxos Bluetooth tapasztalataim Network) felváltására tervezték, hi- szerint az alábbiakra képes, késõbb CONFIG_BT=m szen csak 1 megabites sávszélességet be fogom mutatni, hogyan: CONFIG_BT_L2CAP=m

www.linuxvilag.hu 2006. október 49 Üzemeltetés

pairing multi; a hálózati kártyák listájában pin_helper (ifconfig -a), így címet is tudunk /usr/bin/bluez-pin; hozzárendelni, legyen mondjuk: } # Default settings for HCI ifconfig bnep0 192.168.2.1 # devices netmask 255.255.255.0 up device { name "%h-%d"; Fontos, hogy ne abból az alhálózatból CONFIG_BT_SCO=m class 0x3e0100; válasszunk címet, amiben a számító- CONFIG_BT_RFCOMM=m iscan enable; pscan gépünk hálózati csatolója van. CONFIG_BT_RFCOMM_TTY=y enable; Ha ez megvan, a PDA-n is vegyünk CONFIG_BT_BNEP=m lm accept; fel egy hasonló IP címet (ugyanabból CONFIG_BT_HIDP=m lp az alhálózatból), legyen ez most rswitch,hold,sniff,park; a 192.168.2.2. Ezután már pingelhetõ A fentiekhez rövid magyarázat: az } a két eszköz oda-vissza. Persze még RFCOMM a betárcsázós internethez nem lehet teljes az öröm, hiszen és a fájlok áttöltéséhez szükséges, a PDA még nem lát a nagyvilágba. © Kiskapu Kft. Minden jog fenntartva míg a BNEP a helyi hálózatért felelõs. Ehhez szükséges, hogy az iptables Az eszközmeghajtóknál pedig ér- megfelelõen legyen benne demes csak azt lefordítani, amivel a kernelben – tudjon NAT-olni rendelkezünk. (Network Address Translation) A 2.6-os kernel esetén, amennyiben illetve támogassa a masquerade-ot és a make menuconfig segítségével kon- a forward-ot. A következõ parancsok- figuráljuk a kernelt, úgy a Bluetooth kal tudunk kapcsolatot kialakítani: a Networking menüben található. Innen érdemes mindent modulba iptables -t nat -A POSTROUTING fordítani, hátha kell késõbb. Persze -s 192.168.2.0/24 -o eth0 vannak dolgok, amiket bele kell -j MASQUERADE még fordítani, például a betárcsázós echo 1 > /proc/sys/net/ internethez a ppp támogatás, ipv4/ip_forward de az nem létfontosságú. Debian alatt a bluez-utils csoma- A két sorhoz egy kis magyarázat: got szükséges feltelepíteni annak az elsõ sorban megmondjuk, hogy minden függõségével együtt. a 192.168.2.0-ás alhálózatból érkezõ Amennyiben a használt disztribúció kéréseket továbbítsa az eth0 hálózati nem rendelkezik ezzel a csomaggal, A pin fájl pedig az adott Bluetooth csatolóra – ezen jön be nálam az úgy azt a Bluez projekt honlapjáról eszköz (például USB kulcs) általunk internet. A második sorban pedig az tölthetjük le. választott PIN kódját tartalmazza. alapvetõ csomagtovábbítást engedé- Ezt fogja a másik eszköz kérni lyezem a két interfész között. Internet továbbosztása párosításkor. A Bluetooth például kiválóan alkalmas Nos a PAN (személyes hálózat) Állományok átvitele arra, hogy az asztali számítógépünk felépítéséhez szükségünk van a pand Az OBEX (OBject EXchange) szabvány segítségével például a PDA-ra kiszolgálóra, amely bluez-utils lehetõvé teszi, hogy akár Bluetooth, (vagy akár laptopra) továbbítsuk az csomagban található. akár infra kapcsolat segítségével állo- internetet. Ehhez nem kell mást ten- mányokat töltsünk fel a telefonunkra, nünk, mint telepíteni a bluez-pin, pand --listen --role NAP -- vagy töltsünk le onnan. A mûvelethez bluez-utils, libbluetooth1 master –autozap csupán pár apró program szükséges, csomagokat. pand --connect amely Debian alatt az obexftp cso- A csomagok feltelepítése után xx:xx:xx:xx:xx:xx --service magban található, de letölthetõ a /etc/bluetooth könyvtárban NAP –autozap a projekt honlapjáról is. találunk pár fájlt. Ilyen például A fájl átvitelhez az elsõ lépésként ki a hcid.conf és a pin fájl. A minimális Az xx-ek helyére a Bluetooth adapte- kell deríteni a cél eszköz MAC címét. hcid.conf valahogy így néz ki: rünk MAC címét várja a program, Ehhez a hcitool parancs scan opció- ami vagy szerepel az eszköz csomago- ját használjuk. # HCI daemon configuration lásán, vagy pedig a hciconfig pa- # file. ranccsal kérdezhetjük le. Most a másik debian:~# hcitool scan # HCId options eszközzel például a PDA-val csatla- Scanning ... options { kozzunk a Bluetooth adapterhez. xx:xx:xx:xx:xx:xx autoinit yes; Ha ez sikerült, akkor utána már Nokia 6021 security auto; a bnep0 hálózati csatoló is megjelenik debian:~#

50 Linuxvilág Üzemeltetés

Állományt feltölteni a -p, letölteni a -g Amennyiben duplex (kétirányú) mó- opcióval lehet. Fontos megjegyezni don szeretnénk használni a headset-et, a mûveleti sorrendet. Az alábbi példában úgy a kernelfordításakor az emu10k1- a képet a SajatKepek mappába mentem et (Sound Blaster Live) is bele kell a telefonon, de az opciók fordított – te- fordítani. hát elõször a -p és utána a -c – sorrend- Van még pár parancs, amit be kell je nem ezt eredményezné. gépelnünk. Késõbb ezek esetleg bash scriptbe írhatóak, hogy egyszerûbb obexftp -b xx:xx:xx:xx:xx:xx -c legyen az élet. Elsõként illesszük be /SajatKepek -p goodman02.gif a modult:

Hasznos opciók még: -k a törléshez, modprobe snd_bt_sco -G letöltés majd törlés, -C könyvtár váltás és létrehozás, amennyiben Mielõtt a következõ lépést végrehajta- nem létezik. nánk, a modul fejlesztõi azt javasolják, Ha le szeretnénk zárni a Bluetooth állítsuk le az esound szolgáltatást, kapcsolatot, adjuk ki a rfcomm amennyiben fut: release /dev/rfcomm0 parancsot. © Kiskapu Kft. Minden jog fenntartva Fontos megjegyzés, hogy nem min- esdctl stop den telefon támogatja akármilyen állomány átvitelét, illetve az általam Innen már szabad az út, készítsük kipróbált telefonok egyikérõl sem elõ hangátvitelre a Bluetooth adaptert tudtam JAVA (J2ME) alkalmazást a következõ módon: Most, hogy már ismerjük a MAC cí- letölteni, vagy a telefonra feltölte- met, a következõ lépés csatlakozni ni. Erre ezután is a GPRS vagy hciconfig hci0 voice 0x0060 az eszközhöz. Ezt az rfcomm parancs CSD (esetleg HSCSD) áll rendel- bind opciójával tehetjük meg az aláb- kezésünkre. Indítsuk el a szükséges szolgáltatást bi módon: (az xx-ek helyére természetesen írjuk Kék a zene... be a headset MAC címét, amit a már rfcomm bind /dev/rfcomm0 Megfelelõ Bluetooth headset-tel és korábban ismertetett hcitool segítsé- xx:xx:xx:xx:xx:xx Bluetooth adapterrel megvalósítható gével kérdezhetünk le) az is, hogy az XMMS a Bluetooth Amennyiben nem rendelkezünk headset-ben szólaljon meg. Nagy mi- btsco xx:xx:xx:xx:xx:xx a /dev/rfcomm0 eszközökkel, hozzuk nõséget azonban ne várjunk, mert el- létre az alábbi módon: sõsorban nem Mozart vagy Beethoven Innen kezdve például az XMMS-ben átvitelére tervezték ezeket az eszközö- már látszik a Bluetooth headset, mint mknod /dev/rfcomm0 c 216 0 ket, hanem normál beszédre. hangkártya. (Opciók -> Beállítások -> Nem is akarom tovább fokozni a kedé- Kimenet: ALSA -> Beállítás) Amennyiben valamiért több eszközre lyeket. Ahhoz, hogy tudjuk ilyen célra Amíg szeretnénk használni lenne szükség, úgy a nullák helyére használni a számítógépünket, szükség a headset-et, addig ne lépjünk ki beírhatunk egytõl kilencig számokat. lesz egy mûködõ ALSA rendszerre, a btsco-ból. A modprobe és Amennyiben sikerült a kapcsolódás, valamint az alábbi programokra, a hciconfig futtatásához természe- úgy kiadhatjuk az alábbi parancsot. csomagokra: automake (minimum tesen rendszergazdai jogosultság Ha esetleg kifelejtjük a MAC címet, 1.7-es verzió), libbluetooth-dev, kell, míg a btsco normál felhasználó- akkor mindig az elsõ és leggyor- libasound2-dev (vagy másik nevén: ként is futtatható. Ezt elkerülendõ sabban reagáló Bluetooth eszközre alsa-devel). Kernelbõl sem mindegy, a snd_bt_sco modult érdemes beírni próbálja meg végrehajtani a paran- melyiket használjuk, ugyanis a siker- a /etc/modules fájlba, illetve csot. Az alábbi parancs például hez minimum 2.6.11.7-es- kilistázza az eszköz fõkönyvtárát. re lesz szükségünk. (Ezt általában XML formátumban Régebbi kernellel, vagy kapjuk meg.) különálló ALSA-val nem mûködik a dolog. obexftp -b xx:xx:xx:xx:xx:xx -l A fordítás általában az alábbi parancsokkal A SajatKepek könyvtár tartalmát megy végbe: például a -l opció paraméterezésével érhetjük el. ./bootstrap ./configure obexftp -b xx:xx:xx:xx:xx:xx -l make /SajatKepek make install

www.linuxvilag.hu 2006. október 51 Üzemeltetés

A jó hír: a mobilszolgáltatók már jó device ideje lehetõvé teszik azt is, hogy ne xx:xx:xx:xx:xx:xx; Egy tipikus kapcsolódás az eltöltött idõ arányában, hanem # # RFCOMM channel for a le/feltöltött bájtok után fizessen az the connection debian:~# wvdial gprs ügyfél (GPRS – General Packet Radio channel 1; --> WvDial: Internet dialer Service). Persze a tarifák még messze # # Description of the version 1.54.0 állnak a Kánaántól, de már nem elér- connection --> Cannot get information hetetlenek. comment "mobiltelefon"; for serial port. Elõször is szükséges egy jól konfigu- } --> Initializing modem. rált kernel, ami tartalmaz Bluetooth --> Sending: ATZ soros port (tty) és ppp (point-to-point Bluetooth 2.0 ATZ protocol) támogatást. Ha ezzel megva- Az új változat már köztünk van. OK gyunk, fel kell telepíteni a ppp démont Háromszor gyorsabb, mint elõdje, --> Modem initialized. (Debianban ppp a csomag neve), vala- alacsonyabb az energiafogyasztása is --> Sending: ATDT*99***1# mint egy tárcsázót (én a wvdial-t – ez utóbbi mobil alkalmazásoknál --> Waiting for carrier. használom). jöhet jól –, továbbá a mostani rend- ATDT*99***1# A wvdial beállítása egyszerû. szerekkel kompatibilis. A nagy kér- © Kiskapu Kft. Minden jog fenntartva CONNECT A /etc/wvdial.conf fájlnak a követ- dés, hogy van-e rá igény, hiszen itt ~[7f]}#@!}!} } kezõt kell tartalmaznia: a wifi és küszöbön a wireless USB is. }2}#}$@#}!}$}%\}"}&} }*} } Mindezek sokkal nagyobb sávszéles- g}%~ [Dialer gprs] séget ígérnek, mint az új Bluetooth. --> Carrier detected. Phone = *99# Szerintem azonban még sok Waiting for prompt. // vagy Phone = *99***1# kernelverziónak kell kijönnie, ~[7f]}#@!}!} } // ez az opció telefonfüggõ mire akár a wifi, akár a wireless }2}#}$@#}!}$}%\}"}&} }*} } Username = '' USB leváltja a Bluetooth-t a jelenle- g}%~ Password = '' gi alkalmazásokban, tehát 2-3 évre --> PPP negotiation New PPPD = yes mindenképp ajánlott a Bluetooth detected. Modem = /dev/rfcomm0 beszerzése, amennyiben nem --> Starting pppd at Tue Mar a sebességet hajszoljuk. 14 18:56:09 2006 A kapcsolat felépítése az ismertetett --> pid of pppd: 14656 konfigurációs állomány után már Medve Zoltán --> Using interface egyszerûnek mondható. Adjuk ki ([email protected]) ppp0 az rfcomm bind /dev/rfcomm0 --> local IP address xx:xx:xx:xx:xx:xx parancsot. 2001-ben kezdett 84.224.17.98 Amennyiben az rfcomm0-át már „Linuxolni”, de már --> remote IP address használjuk, úgy az rfcomm1-et és korábban is ismerkedett 10.6.6.6 így tovább, ekkor azonban ne felejt- a szabad szoftverek világával. --> primary DNS address sük el átírni a /etc/wvdial.conf fájl- Ha éppen nem a gép elõtt ül, 193.225.153.17 ban. Ezután adjuk a wvdial gprs Caught signal #2! Attempting parancsot. Ha mindent jól csinál- akkor fotózgat, olvasgat to exit gracefully... tunk, akkor megkezdõdik a tárcsá- vagy bicajozik. --> Terminating on signal 15 zás. A folyamatot bizonyos telefo- --> Connect time 3.4 noknál a telefon kijelzõjén is nyo- minutes. mon követhetjük. Ha végeztünk, --> Disconnecting at Tue Mar a kapcsolat befejezéséhez nyomjunk KAPCSOLÓDÓ CÍMEK  14 18:59:32 2006 a wvdial ablakában egy CTRL+C Linux kernel debian:~# kombinációt. Ha valami hiba lépne  ftp://ftp.kernel.org/pub/linux/ fel a tárcsázás során, úgy az kernel/v2.6 a /var/log/messages fájlba kerül. Amennyiben már bootoláskor szeret- BlueZ projekt honlapja a hciconfig-ot setuid jogosultsággal nénk csatlakozni a telefonunkhoz,  http://www.bluez.org/ ellátni – bár ez utóbbi nem javallott úgy a /etc/bluetooth/rfcomm.conf fájlt download.html biztonsági okok miatt. hozzuk létre az alábbi tartalommal – az xx-ek helyére a mobiltelefonunk Bluetooth ALSA honlap Elnézést, kapcsolná az Internetet? MAC címét kell írni:  http://bluetooth- Manapság már nem nagy igény, hogy alsa.sourceforge.net/ mobiltelefonról tudjunk internetezni, rfcomm0 { ObexFtp honlap sõt az is megoldható, hogy a telefon bind yes;  http://triq.net/obexftp.html csak a modem szerepét játssza és # # Bluetooth address of a laptopon is internetezhetünk. the device

52 Linuxvilág

Üzemeltetés

LDAP azonosítás a gyakorlatban – egy esettanulmány

A kliensek beállítása (2. rész) Ha az elõzõ részben leírtak alapján sikerült telepíteni a kiszolgálót, már csak a kliensek beállítása van hátra. Ebben a részben mellesleg valamennyi olyan kiszolgáló beállítását is bemutatom, amelyek rendszerünkben LDAP azonosítást használnak majd.

Névfeloldó szolgáltatás beállítása Csak a Linux újraindítása után fog mûködni, de éppen Ezt minden gépen el kell végezni, amelyiken az LDAP ezért elõbb célszerû a PAM-ot is beállítani, mert az is újra- adatbázisból azonosít. Elõször is telepítettem a libnss-ldap indítást igényel. A beállítást úgy lehet ellenõriztem, hogy csomagot: létrehoztam egy ideiglenes fájlt, egy olyan felhasználó tulaj- donába adtam amelyik csak az LDAP adatbázisban létezik, apt-get install libnss-ldap majd ellenõriztem. Ha például a nagypeter felhasználó már létezik az adatbázisban: A telepítéskor megkérdezi a következõket és a válaszoknak megfelelõen létrehozza az /etc/libnss-ldap.conf fájlt: touch /tmp/fajlnev chown nagypeter /tmp/fajlnev • Mi az IP címe az LDAP kiszolgálót futtató gépnek ls -l /tmp/fajlnev

• LDAP search base: adatbázis alap A PAM rendszer beállítása (dc=cegnev,dc=hu) Ezt is minden gépen el kell végezni, melyen az LDAP adatbázisból szeretnénk azonosítani. Elõször telepítettem • LDAP kiszolgáló verziója a PAM LDAP modulját:

© Kiskapu Kft. Minden jog fenntartva • Igényel bejelentkezést az LDAP adatbázis (nem) apt-get install libpam-ldap

• Csak a tulajdonos számára legyen-e írható/olvasható Ha a telepítés a fenti módon parancssorral történik, akkor a beállító fájl (nem) az /etc/pam_ldap.conf fájban kell a beállításokat elvégezni. Egyszerûbb azonban a libpam-ldap és a libnss-ldap cso- Módosítottam az /etc/nsswitch.conf fájlt magokat egyszerre a dselect segítségével telepíteni, mert a következõképpen: ekkor a feltett kérdésekre adott válaszok alapján az /etc/ pam_ldap.conf tartalma is módosul. passwd: files ldap Az /etc/pam_ldap.conf fájl következõ sorait kellett módo- group: files ldap sítanom: shadow: files ldap hosts: files dns host 127.0.0.1 networks: files base dc=cegnev,dc=hu protocols: db files ldap_version 3 services: db files scope sub ethers: db files pam_password md5 rpc: db files Módosítottam a következõ fájlokat az eredeti sorok netgroup: files kikommentezésével és új sorok beírásával. A módosítás

54 Linuxvilág Üzemeltetés © Kiskapu Kft. Minden jog fenntartva

1. ábra GQ beállítása: LDAP kiszolgáló adatainak megadása 2. ábra GQ beállítása: adminisztrátor megadása után elõször az LDAP kiszolgálóról próbál azonosítani, Az átvitelre (migrációra) a migrationtools csomagot kell ha ez nem lehetséges, akkor pedig a rendszerfájlokból: telepíteni:

/etc/pam.d/common_account fájl: apt-get install migrationtools

# account required pam_unix.so Módosítani kell az /etc/migrationtools/migrate_common.ph account sufficient pam_ldap.so fájlban a következõket: account required pam_unix.so $DEFAULT_BASE = "dc=cegnev,dc=hu"; /etc/pam.d/common_auth fájl: $EXTENDED_SCHEMA = 1;

# auth required pam_unix.so nullok_secure # A következõ sorokat pedig ki kell auth sufficient pam_ldap.so # kommentezni: auth required pam_unix.so try_first_pass #$DEFAULT_MAIL_DOMAIN = "padl.com"; #$DEFAULT_MAIL_HOST = "mail.padl.com"; /etc/pam.d/common_password fájl: Az /usr/share/migrationtools könyvtárban lévõ prog- # password required pam_unix.so nullok ramokkal lehet a szükséges .ldif fájlokat létrehozni, obscure min=4 max=8 md5 a következõ módon: password sufficient pam_ldap.so password required pam_unix.so nullok cd /usr/share/migrationtools obscure min=4 max=8 md5 ./migrate_base.pl > ./base.ldiff ./migrate_hosts.pl /etc/hosts > ./hosts.ldiff /etc/pam.d/common_session fájl: ./migrate_passwd.pl /etc/passwd > ./passwd.ldiff ./migrate_group.pl /etc/group > ./group.ldiff # session required pam_unix.so session sufficient pam_ldap.so A létrejött .ldif fájlok tartalmát a következõ parancsokkal session required pam_unix.so lehet az LDAP adatbázishoz adni:

A beállítás a Linux újraindítása után fog mûködni. Kipró- ldpadd -x -D "cn=admin,dc=cegnev,dc=hu" -W -f bálni legegyszerûbben egy csak LDAP adatbázisban lévõ ./base.ldiff felhasználó nevében történõ bejelentkezéssel lehet. ldpadd -x -D "cn=admin,dc=cegnev,dc=hu" -W -f ./hosts.ldiff Meglévõ Linux csoportok és fiókok átvitele ldpadd -x -D "cn=admin,dc=cegnev,dc=hu" -W -f Amennyiben a rendszerfiókokon és rendszercsoportokon ./passwd.ldiff kívül csak Samba fiókokra és csoportokra van szükségünk, ldpadd -x -D "cn=admin,dc=cegnev,dc=hu" -W -f úgy ez a lépés természetesen kimarad. ./group.ldiff

www.linuxvilag.hu 2006. október 55 Üzemeltetés

3. ábra Adatbázis böngészése GQ-val 4. ábra Mozilla Thunderbird beállítása LDAP kiszolgálóhoz © Kiskapu Kft. Minden jog fenntartva

Bind DN: (cn=admin,dc=cegnev,dc=hu)

Az Ask password on first connect kapcsolót bekapcsolva hagytam, így nem lehet megadni az admi- nisztrátori jelszót ebben az ablakban, hanem az adatbázis elsõ elérésekor bekéri a program. A Browse fülre kattintással lehet az adatbázist megnézni és szükség szerint módosítani. A Search fülre 5. ábra E-mail cím keresése címzett megadásához kattintás után az adatbázisban keresni lehet. Grafikus LDAP adatbázis-kezelõ program telepítése Levelezõkliens beállítása Az eddigiekben minden esetben parancssorból mutattam A fejlettebb levelezõprogramok képesek az LDAP kiszolgá- be az adatbázis mûveleteket. Számos grafikus felületû prog- lóban nevek, illetve e-mail címek keresésére. A Mozilla ram áll rendelkezésre (például GQ, Directory Assistant, Thunderbird beállítását mutatom be, de természetesen más Webmin LDAP kezelõ moduljai, php4-ldap, stb.) ezeknek programok (pl. MS Outlook Express) is tudják használni, a mûveleteknek a kényelmesebbé tételére. Én a GQ-t hasz- csak a beállításuk másképpen történik. nálom a saját gépemen KDE alatt, de kiválóan mûködik Megjelenítettem az Edit: szerkesztés -> Preferences: beállítá- más ablak kezelõkkel is. sok -> Composition: Levél írása ablakot. Directory Server: címtár kiszolgáló kapcsolót bekapcsoltam, majd az Edit Telepítettem gq csomagot: Directories...: címtárak szerkesztése gombra kattintottam. A megjelenõ ablakban Add: hozzáadás gombra kattintottam, apt-get install gq majd a mezõket kitöltöttem a következõ módon:

Elindítása után elõször beállítottam az adatbázis elérésének NAME: beállítás tetszõleges neve (LDAP) adatait, a következõ módon: Hostname: kiszolgáló DNS neve, vagy IP címe (192.168.1.100) File -> Preferences -> Servers -> New Base DN: adatbázis kezdõpont (dc=cegnev,dc=hu) Name: beállítás tetszõleges neve (LDAP) Port (389) LDAP Host/Uri: LDAP kiszolgáló IP címe, vagy DNS neve (192.168.1.100) Megfelelõ beállítást követõen levél írásakor a címzett LDAP port: LDAP kiszolgáló portja (389) mezõbe elég begépelni a címzett nevének, vagy e-mail Base DN: adatbázis alap (dc=cegnev,dc=hu) címének néhány kezdõbetûjét és megjelenik az összes olyan név és cím, ami az adott betûkkel kezdõdik. Mivel az adatokat nem csak megnézni hanem módosítani A keresést szûkíteni több betû begépelésével lehet. is akartam, a Details fülre kattintás után beállítottam MS Outlook Express használata esetén kicsit bonyo- az adminisztrátort: lultabb ez a mûvelet: új levél írásánál a címzett

56 Linuxvilág Üzemeltetés

apt-get install samba-doc zcat /usr/share/doc/samba-doc/examples/LDAP/ 1. Lista /etc/ldap/slapd.conf módosítása Samba samba.schema.gz > /etc/ldap/schema/samba.schema azonosításhoz chown slapd.slapd /etc/ldap/schema/samba.schema chmod 640 /etc/ldap/schema/samba.schema include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema LDAP kiszolgálót leállítottam, majd módosítottam az include /etc/ldap/schema/nis.schema /etc/ldap/slapd.conf fájlt (itt most csak a master kiszolgálón include /etc/ldap/schema/ végzett módosításokat mutatom be; 1. Lista). inetorgperson.schema Ellenõriztem a /etc/slapd.conf fájlt: # Hozzáírtam a SAMBA schema fájlt: include /etc/ldap/schema/samba.schema slaptest

# Módosítottam, hogy milyen index állományok LDAP kiszolgálót elindítottam, majd mûködését ellen- # legyenek: õriztem. # index objectClass eq index uid,uidNumber,gidNumber, Samba fiókok kezelése memberUid eq Az smbldap-tools csomag Perl nyelven íródott program- © Kiskapu Kft. Minden jog fenntartva index cn,mail,surname,givenname jaival kényelmesen lehet a Samba fiókokat kezelni. eq,subinitial Ezek a parancsok megtalálhatók a samba-doc csomag index sambaSID eq telepítése után, az /usr/share/doc/samba-doc/examples/ index sambaPrimaryGroupSID eq LDAP/smbldap-tools-x.x.x könyvtárban is. A csomagot az index sambaDomainName eq elsõdleges Samba tartományvezérlõre (PDC) telepítettem:

# Módosítottam a hozzáférési jogosultságokat, apt-get install smbldap-tools # hogy a SAMBA jelszavakat # is tudja módosítani az LDAP adminisztrátor és A függõségek miatt nálam 14 csomagot telepített. Parancsai # a tulajdonos: a /usr/sbin könyvtárba kerülnek, de használatuk elõtt be # access to attrs=userPassword kell állítani. Átmásoltam elõször a /usr/share/doc/smbldap- access to attrs=userPassword,sambaNTPassword, tools/examples könyvtárból az smbldap.conf.gz fájlt kitömö- sambaLMPassword rítve és az smbldap_bind.conf fájlt az /etc/smbldap-tools by dn="cn=admin,dc=cegnev,dc=hu" write könyvtárba: by dn="cn=replicator,dc=cegnev,dc=hu" read by anonymous auth zcat /usr/share/doc/smbldap-tools/examples/ by self write smbldap.conf.gz > /etc/smbldap-tools/ by * none smbldap.conf cp /usr/share/doc/smbldap-tools/examples/ access to * smbldap_bind.conf /etc/smbldap-tools/ by dn="cn=admin,dc=cegnev,dc=hu" write smbldap_bind.conf by * read Munkahelyemen eddig is mûködött Samba tartományve- zérlõ. Mivel a tartomány azonosítónak (SID) nem szabad megváltozni, lekérdeztem a régi Samba kiszolgálónkon az megadása ablakban az LDAP kiszolgáló kiválasztása értékét és egy fájlba írattam, ahonnan szövegszerkesztõvel után a keresés funkcióval végezhetõ el. másoltam át:

LDAP kiszolgáló beállítása Samba kiszolgálóhoz net getlocalsid tartomanynev > SID Munkahelyemen a munkaállomásokon MS Windows mû- ködik, ezért van szükség Samba kiszolgálóra. Természete- Módosítottam az /etc/smbldap-tools/smbldap.conf fájlt sen az LDAP kiválóan mûködik Samba nélkül is, így ha a 2. Listának megfelelõen. valakinek nincs szüksége rá, akkor ezek a lépések értelem Az /etc/smbldap-tools/smbldap_bind.conf fájlban beállítot- szerûen elhagyhatók. tam a master kiszolgáló adminisztrátort és jelszavát: Az LDAP kiszolgáló részére a schema fájlok írják le, milyen mezõket tud tárolni. Ezek helye a /etc/ldap/schema könyv- masterDN="cn=admin,dc=cegnev,dc=hu" tárban van. Ha Samba azonosítást kívánunk használni, masterPw="adminjelszo" akkor ki kell egészíteni a könyvtár tartalmát a Samba részé- re készített schema fájlal. Telepítettem ehhez a samba-doc A titkosítás nélkül megadott jelszó miatt veszélyes lenne ha csomagot, a tömörített schema fájlt bemásoltam kicsomagol- ehhez idegen hozzáférne, ezért módosítottam a jogosultságát: va az /etc/ldap/schema könyvtárba és beállítottam a tulajdo- nost, illetve a jogosultságot: chmod 600 /etc/smbldap-tools/smbldap_bind.conf

www.linuxvilag.hu 2006. október 57 Üzemeltetés

1. táblázat Az smbldap parancsai 2. Lista /etc/smbldap-tools/smbldap.conf fájl smbldap-useradd fiók létrehozása

# Mentett tartomány azonosító (SID) érték smbldap-userdel fiók törlése SID="S-1-5-21-2139989288-483860436-2398042574" smbldap-usermod fiók módosítása

smbldap-usershow fiók megjelenítése # Ha van szolga LDAP kiszolgáló, akkor a címe # és a portja smbldap-userinfo alapértelmezett héj, teljes név, stb. slaveLDAP="127.0.0.1" módosítása slavePort="389" smbldap-passwd jelszó módosítása

smbldap-groupadd csoport létrehozása # LDAP kiszolgáló címe és portja masterLDAP="127.0.0.1" smbldap-groupdel csoport törlése masterPort="389" smbldap-groupmod csoport módosítása, csoporttagok hozzáadása és törlése # A TLS bejegyzéseket csak titkosított

© Kiskapu Kft. Minden jog fenntartva smbldap-groupshow csoport adatainak és tagjainak # kapcsolat esetén kell beállítani megjelenítése

# Adatbázis kiindulási pontja suffix="dc=cegnev,dc=hu" 2. táblázat Néhány példa az smbldap parancsainak # Felhasználófiókok, csoportok, gépek, stb. használatára tárolóegységeinek neve Smbldap-groupadd csoport Létrehoz megadott nevû usersdn="ou=Users,${suffix}" UNIX csoportot computersdn="ou=Computers,${suffix}" groupsdn="ou=Groups,${suffix}" smbldap-groupadd -a Létrehoz megadott nevû idmapdn="ou=Idmap,${suffix}" csoport Samba csoportot smbldap-groupmod -m fiok Hozzáadja a megadott # SAMBA Domain neve csoport fiókot a csoporthoz sambaUnixIdPooldn="sambaDomainName=CEGNEV, smbldap-useradd fiok Létrehoz megadott nevû ${suffix}" UNIX fiókot

# Keresési hatókör az adatbázisban smbldap-useradd -a fiok Létrehoz megadott nevû scope="sub" Samba fiókot smbldap-passwd fiok Módosítja a fiók jelszavát # Milyen titkosítást használjon a jelszavakhoz hash_encrypt="SSHA" Elõbb az # A továbbiakban a fájlban UNIX és a SAMBA fiók # alapbeállítások vannak smbldap-useradd -w -d /dev/null -s /bin/false # shell beállítás, home könyvtár, login gepnev # script, stb. ezeket értelem szerint # módosítottam paranccsal létrehozom a megadott nevû gépfiókot, majd a

A beállítások elvégzése után elõször létrehoztam a Samba smbldap-usermod -a gepnev$ számára szükséges alap adatbázis-szerkezetet a következõ paranccsal: mûvelettel hozzáadom a fiókhoz a Samba mezõket.

smbldap-populate Elsõdleges tartományvezérlõ Samba kiszolgáló beállítása LDAP azonosításhoz A csomag további parancsait az 1. Táblázat tartalmazza. A Samba leállítása után módosítottam az /etc/samba/ A parancsok alkalmasak UNIX és Samba csoportok és fió- smb.conf fájlt az 3. Listának megfelelõen. Itt most csak kok kezelésére egyaránt. Valamennyi parancsról segítséget az LDAP kiszolgálóval való együttmûködés miatti fontos lehet kiíratni a parancs után gépelt -h kapcsolóval. részeket mutatom be: Az smbldap parancsok használatára a 2. Táblázatban találunk Minden Samba kiszolgálóra telepítettem LDAP slave kiszol- néhány példát. gálót a gyorsabb mûködés érdekében, ezért van a localhost Samba gépfiókot létrehozni én csak 2 egymás után kiadott megadva a kiszolgáló nevénél. Az add machine script paranccsal tudtam. kezdetû sor biztosítja, ha egy munkaállomást újratelepítés

58 Linuxvilág Üzemeltetés

3. Lista /etc/samba/smb.conf fájl LDAP azonosításhoz

[global] # ldap delete dn = Yes workgroup = DOMAIN_NEV # delete user script = /usr/sbin/smbldap- netbios name = SERVER_NEVE userdel "%u" server string = %h Linux (Samba %v) # add group script = /usr/sbin/smbldap- browseable = yes groupadd -p "%g" # delete group script = /usr/sbin/smbldap- security = user groupdel "%g" local master = yes # add user to group script = /usr/sbin/ os level = 255 smbldap-groupmod -m "%u" "%g" domain master = yes # delete user from group script = /usr/sbin/ preferred master = yes smbldap-groupmod -x "%u" "%g" domain logons = yes # set primary group script = /usr/sbin/ smbldap-usermod -g '%g' '%u' log file = /var/log/samba/log.%m © Kiskapu Kft. Minden jog fenntartva max log size = 1000 encrypt passwords = true syslog only = no ldap passwd sync = Yes syslog = 0 # unix password sync = Yes passwd program = /usr/sbin/smbldap-passwd passdb backend = ldapsam:"ldap://localhost" -u %u ldap timeout = 10 passwd chat = "Changing password for*\nNew ldap admin dn = cn=admin,dc=cegnev,dc=hu password*" %n\n "*Retype new password*" ldap suffix = dc=cegnev,dc=hu %n\n" ldap group suffix = ou=Groups obey pam restrictions = no ldap user suffix = ou=Users ldap machine suffix = ou=Computers admin users = administrator ldap idmap suffix = ou=Idmap invalid users = root guest account = nobody add machine script = /usr/sbin/smbldap-useradd -w "%u" logon script = scripts\%U.bat # add user script = /usr/sbin/smbldap-useradd logon path = -m "%u" logon home =

után vissza kell tenni a tartományba, automatikusan frissül- Egy fiókról részletes információt a következõ paranccsal jön a fiókja. A logon path = és logon home = paraméter lehet megjeleníteni: nélküli sorokra azért van szükség, hogy alapértelmezés szerint helyi profilja legyen a felhasználóknak. Ha ez a két pdbedit -Lv fioknev sor hiányzik, akkor az alapértelmezés a központi vándor profil, még akkor is, ha a felhasználó fiókjában törölve van Meglévõ Samba fiókok és csoportok átvitele a profil elérési útja. (migráció) A Samba-nak megadtam az LDAP adminisztrátor jelszavát, Ez az egyik legnagyobb probléma, mert az átvitt amit a /var/lib/samba/secrets.tdb fájlban tárol: fiókok nevének, azonosítójának, jelszavának, stb. meg kell egyezni, máskülönben használhatatlanok smbpasswd -w adminjelszo lesznek. Erre a problémára nem találtam igazán jól használható megoldást, így magam írtam meg a szüksé- Elindítottam a Samba kiszolgálót: ges programot Perl nyelven. A program futtatásához 4 fájlra volt szükségem az eredeti kiszolgálókról. /etc/init.d/samba start Ezek közül az elsõ kettõ az a /etc/passwd és /etc/shadow (melyek a felhasználókat és a gépfiókokat is tartalmazták) Ellenõriztem a Samba mûködését a felhasználófiókok kiíra- az eddigi NIS master kiszolgálónkról másoltam le. tásával. Mivel még más fiókot nem hoztam létre, csak az A másik két fájlt az eredeti Samba kiszolgálón állítottam administartor és a nobody felhasználó jelenik meg, melye- elõ, a következõ parancsokkal: ket az smbldap-populate parancs hozott létre: pdbedit -Lv > smbfiokok pdbedit -L pdbedit -Lw > smbpasswd

www.linuxvilag.hu 2006. október 59 Üzemeltetés

Valamennyi fájlt átmásoltam a master LDAP kiszolgáló egy Courier-POP3 és Courier-IMAP beállítása LDAP könyvtárába. Szövegszerkesztõvel átnéztem a Samba kiszol- azonosításhoz gálón elõállított fájlokat és eltávolítottam a zavaró üzenete- Munkahelyemen a Courier POP3 és IMAP kiszolgálók ket az elejükrõl és végükrõl. Az „smbfiokok” fájlnak a mû- titkosítás nélküli és titkosított változata is telepítve van, velet után „------” karaktersorozattal kell kezdõdni mivel a hálózaton kívülrõl csak titkosítottan érhetõ el (a fiókokat ez választja el egymástól), az smbpasswd fájlban a levelezés. Az azonosítás a PAM-on keresztül történik. pedig minden egyes sornak egy fiókadatot kell tartalmazni. Módosítani kell az /etc/pam.d/pop3 és /etc/pam.d/imap fájlok Az smbfiokok fájlból eltávolítottam azokat a fiókokat, tartalmát, mivel azokban nem a Debian „sarge”-ban szoká- melyeket nem kívántam átvinni az LDAP adatbázisba. sos common-* fájlokra történõ hivatkozás van. Mind a két A passwd és shadow állományokat nem módosítottam, fájlban „kikommenteztem” az eredeti sorokat és beírtam mivel a program csak azokat a fiókokat olvassa ezekbõl az a következõket: állományokból, melyek az smbfiokok fájlban megtalálhatók. Elindítottam az általam készített smbuserldif programot, @include common-auth ami elkészítette a felhasználó- és gép-fiókok hozzáadására @include common-account alkalmas smbldap.ldif fájlt. Ennek tartalmát a szokásos @include common-password módon az adatbázishoz adtam: @include common-session

© Kiskapu Kft. Minden jog fenntartva smbldap -x -D "cn=admin,dc=cegnev,dc=hu" -W -f Azonosítást használó squid proxy beállítása LDAP smbldap.ldif kiszolgálóhoz Intézményünkben az internetezés csak proxy kiszol- A csoportok átvitelére a fenti program nem alkalmas, ezért gálón keresztül, azonosítás után lehetséges. Ezzel egy másik kis programot készítettem, amelyik ezt a felada- szûrni tudjuk a tanulók által megjeleníthetõ tartalmat tot elvégzi. A NIS kiszolgálóról lemásoltam az /etc/group és a proxy használat lehetõvé teszi a sávszélesség korlá- fájlt és szövegszerkesztõvel eltávolítottam azokat a csopor- tozást is, amire a szûkös internet sávszélességünk miatt tokat, melyeket nem kívántam átvinni. Az általam készített nagy szükség van. migrategroup program futtatásával létrehoztam a UNIX A /etc/squid/squid.conf fájlba a következõ sorokat írtam: csoportokat és felvettem azokba a szükséges felhasználókat. Ha valaki Samba csoportot kíván átvinni, akkor hasonlóan # "basic" az azonositas tetszoleges neve járhat el, de a programban az smbldap-groupadd parancs # -h utan kell megadni az LDAP kiszolgalo IP után egy -a kapcsolót kell elhelyezni. A program nem fogja cimet helyesen beállítani azonban a Samba csoport azonosítóját, auth_param basic program /usr/lib/squid/ldap_auth ezért azt le kell kérdezni az eredeti Samba kiszolgálón és az -b "dc=cegnev,dc=hu" -v 3 -h 192.168.1.100 adatbázisban módosítani (például GQ). Samba kiszolgálón a Samba csoportokat és azonosítójukat a következõ pa- # Az acl.dolgozok es acl.tanulok fajlokban vannak ranccsal lehet lekérdezni: a felhasznalonevek (soronkent egy nev) # Az acl-ek ezután már szokás szerint net groupmap list használhatók acl dolgozok proxy_auth "/etc/squid/ Postfix levelezõ kiszolgáló beállítása acl.dolgozok" LDAP azonosításhoz acl tanulok proxy_auth "/etc/squid/ Telepítettem a postfix LDAP azonosító modulját: acl.tanulok"

apt-get install postfix-ldap Az LDAP azonosítás nálunk több hete hibátlanul mû- ködik. Miután minden olyan kiszolgálóra telepítettem Létrehoztam egy /etc/postfix/ldap-aliases.cf fájlt a követ- slave kiszolgálót, mely gyakran igényel azonosítást, kezõ tartalommal: a sebességgel sem volt semmi probléma. A kiszolgálók erõforrásainak terheltségét csak minimális mértékben version = 3 növelte a NIS-hez képest. server_host = localhost A kedvezõ tapasztalataim miatt minden közepes search_base = dc=cegnev,dc=hu és nagyobb hálózatban ajánlani tudom kipróbálását.

A /etc/postfix/main.cf fájlt a következõképpen módo- Jászberényi József sítottam: ([email protected])

alias_maps = hash:/etc/aliases, Szeret biciklizni, kirándulni, olvasni, sörözni ldap:/etc/postfix/ldap-aliases.cf és szabadban fõzni. A stratégiai játékoktól a mûszaki CAD programokig sok minden Postfix konfigurációját újra beolvastattam érdekli. Legtöbbet szerverprogramokkal foglalkozik és néha mérgelõdik. /etc/init.d/postfix reload

60 Linuxvilág

Grafika, multimédia, szórakozás

Linux fotósoknak

Nem is olyan régen még csak a kiváltságosok használhattak digitális fényképezõ- gépeket, sõt mint ahogy már megszokhattuk, többnyire csak Windows vagy MacOS alatt. Persze, mint sok más területen, úgy a fotózás területén is sokat fejlõdött a Linux az utóbbi idõben.

Nem is olyan régen – amikor még szabványt. Amennyiben ez a helyzet, kártyaolvasó USB 2-es szabványú, én is az elsõ fényképezõgépemet vásá- úgy pendrive-ként látszik a Linux szá- vagyis képes akár 480 megabites sebes- roltam – még akár százezer forintot is mára és egyszerû csatolás (mountolás) ségre is, de ez általában 30-40 megabit az asztalra kellett tenni egy – már iga- után elérhetõ a kártya tartalma. (4-5 megabájt másodpercenként) vagy zán – jól használható gépért. Persze az- A másik lehetõség, amelyet számos speciális kártya esetén akár a duplája, óta eltelt pár év – szám szerint körülbe- fényképezõgép kínál, az a PTP, vagyis triplája is lehet. lül három – és ugyanilyen tudású gépet Picture Transfer Protocol. Ezzel azon- Nálam azonban nem kérdés, hogy kár- már akár harminc-negyvenezer forint ban óvatosan kell bánni, hiszen tyaolvasóval töltöm át az adatokat. Két körüli áron is találhat a kedves olvasó. a linuxos programok nem feltétlen oka is van. Az egyik: az új fényképezõ- támogatják az adott fényképezõgépet. gépem (Panasonic FZ30) csak PTP-t © Kiskapu Kft. Minden jog fenntartva Hardver Errõl késõbb a gphoto2 és gtkam prog- támogat, de a gphoto2 a cikk írásakor Fényképezõgépet vásárolni Linux alá ramok ismertetésénél térek ki. – még – nem ismeri az eszközt. A má- az egyik leghálásabb dolog, amennyi- Láttam már olyan fényképezõgépet is, sik ok sokkal gyakorlatiasabb: a fény- ben memóriakártyára szeretnénk dol- amelynek a menüjében lehetett kivá- képezõgépem – annak ellenére, hogy gozni. Én elítélem azokat a gyártókat, lasztani, hogy a két protokoll közül 2005-ös modell – csak 12 megabites akik beépítenek tizenegynéhány mega- melyiket használja, de ez ritka. sebességre lenne képes, amivel már bájt memóriát a fényképezõgépbe, hi- A kártyaolvasók mellett több érv is szól: a jelenlegi fél gigabájtos kártyám szen vésztartaléknak jó lehet, de Linux például nem biztos, hogy egy Nikon áttöltése is körülbelül 10 perc lenne. alatt szinte esélytelen az ott tárolt ada- fényképezõgép CF (Compact Flash) kár- tok elérése, míg a kártyát bármilyen tyát mondjuk egy Canon hibátlanul ol- Áttöltés (gphoto2 és gtkam) kártyaolvasóba behelyezve olvashatjuk vas, vagy fordítva. Érv az is, hogy a mai Még mielõtt valaki voksolna a gphoto2 annak tartalmát akkor is, ha a fényké- kártyaolvasók általában többféle kártyát és a gtkam között, jó tudni, hogy pezõgépünk nem támogatott. is olvasnak, így ha egy barátunk meg- a gtkam a gphoto2 grafikus megvalósí- kér, hogy írjuk ki a memóriakártyáján tása, ami a kezdõ (vagy csak lusta) fel- Áttöltés – kábel vagy kártyaolvasó lévõ képeket CD-re vagy DVD-re, adhat használóknak jobb. Hogy teljes legyen Ha fényképezõgéppel szeretnénk bármilyen kártyát, akkor sincs gond. a cikk, bemutatom, hogyan lehet áttöl- áttölteni a képeket, akkor nem árt, ha Továbbá a sebesség sem elhanyagolha- teni a gphoto2-vel a képeket vagy a fényképezõgép kezeli a mass-storage tó, egy mai átlagos – 3-5 ezer forintos – annak egy részét.

62 Linuxvilág Grafika, multimédia, szórakozás

1. ábra Gtkam egy Canon Powershot A60-al 2. ábra Gtkam, a kis képek áttöltése után

dagabb funkciókban, de ennek ellené- re a gqview is számos hasznos lehetõ- Mi is az EXIF és miért jó? séget kínál. Például az aktuális képen Az EXIF (Exchangeable image file format) nem más, mint egy adatblokk jobb gombot nyomva azonnal indítha- © Kiskapu Kft. Minden jog fenntartva a digitális fényképekben, amely rengeteg hasznos adatot tartalmaz(hat), tó a Gimp, vagy megnézhetjük a kép- mint például a fotózás dátumát/idejét (amennyiben pontosan beállítottuk hez tartozó Exif információkat is. a fényképezõgép óráját), a használt felbontást, a blende nyílást, a zársebességet, A kedvencem a csoportos elforgatás. a fókusztávolságot, a használt gép típusát, sõt akár GPS koordinátákat is, Ki jelöljük a képeket CTRL + bal egér- amennyiben tud ilyet a fényképezõgép. gomb kombinációval, majd jobbgomb Mindez persze arra jó, hogy mondjuk hiába változott a jpeg fájl dátuma, után a helyi menüben lehet kérni bal- felbontása, stb., az EXIF-ben tárolt adat továbbra is az eredeti marad ra vagy jobbra forgatást. (amennyiben nem töröljük a fájlból), így évek múlva is tudunk keresgélni Persze nemcsak az X kiváltsága a kép- a képek között bármilyen, az EXIF-ben letárolt tulajdonság alapján. nézegetés, hiszen parancssorból is rengeteg dolgot meg tudunk oldani. Itt van rögtön például az fbi nevû mód alapján. Ha ez megvan, onnan képnézegetõ program. Ehhez nem már gyerekjáték a képek letöltése. Elsõ kell más, mint mûködõ FrameBuffer körben az elõnézeti képek (thumbnails) a kernelben, és máris megy. töltõdnek le (persze ez kikapcsolható Az EXIF információkat konzolos felü- és akkor csak a fájlnevek látszanak), leten a jhead segédprogrammal tudjuk aztán kijelölve, hogy nekünk mik kelle- lekérdezni. nek, jönnek le a teljes méretû képek. Több kép letöltésének kijelölése a már Szerkesztés (imagemagick, convert, 3. ábra Gthumb akcióban ismert bal egérgomb lenyomásával, raw-szerkesztés) valamint a CTRL vagy a Shift gombok Mindenkinek szoktam javasolni, nyomva tartásával történik. hogy ne csak a GIMP legyen a gépen, Elõször is meg kell gyõzõdnünk, hogy Fontos megjegyezni, hogy mind de az Imagemagick csomag is. Ennek, látja-e a fényképezõgépet a számítógép. a gphoto2, mind a gtkam megfelelõ mint látni fogjuk, lesz pár gyakorlati Erre a gphoto2 - auto-detect pa- privilégium esetén megy. Ez azt je- haszna. Windows alatt például az rancs alkalmas. Jó esetben kiírja a fény- lenti, hogy a felhasználónknak szere- Irfanview tud csoportos átméretezést képezõgép típusát, valamint, hogy pelni kell a plugdev és a camera és/vagy minõségbeállítást (például milyen módon csatlakozik a géphez. csoportokban. Jpeg fájloknál). Nos ezt sem a Gqview, A fényképezõgép által kezelt mappák sem a GIMP nem tudja alapból. Per- letöltéséhez használjuk a -l opciót. Nézegetés (gthumb, gqview, sze lehetne egyenként, de tapasztala- (Amennyiben több fényképezõgép van fbi, jhead) tom szerint az ember alapvetõen lusta. egyszerre a PC-re csatlakoztatva, úgy Szép és jó az áttöltés, de meg is kell Éppen ezért jómagam az Imagemagick paraméterekkel kiválaszthatjuk, melyik nézni a képeket. Erre a feladatra részeként létezõ convert parancsot gépen kívánunk dolgozni.) A -L opció- a gthumb-ot vagy a gqview-t ajánlom. használom egy egyszerû for ciklussal val megnézhetjük a fájlok listáját. A gqview szerintem sokkal használha- a képek átméretezésére. Minthogy A képek áttöltése -p paraméterrel tóbb annak, aki Windows alatt már a convert parancs összes opciójának (tartomány letöltése) vagy -P paramé- megszokta az Irfanview-t. Hasonlóan tárgyalásához minimum egy terrel (ekkor mindent letölt) indítható. egyszerû a kezelése. Az „F” gombra Linuxvilág számot fel kellene áldozni, Mint már mondtam, a gtkam kicsit ba- teljes képernyõt kapunk, míg az „X”-re így csak pár – általam a leghaszno- rátságosabb. Itt csak annyi a dolgunk, a képet ablakméretûvé méretezhetjük, sabbnak tartott – opciót tárgyalok. hogy a Camera menüben felvesszük illetve az „1”-esre 1:1-ben látni a pixe- Hogy is néz ki egy egyszerû átmé- a kameránkat típus és kapcsolódási leket. Természetesen az Irfanview gaz- retezés?

www.linuxvilag.hu 2006. október 63 Grafika, multimédia, szórakozás

RAW képek A raw képek olyan képek, amiket a fényképezõgép processzora nem dolgozott fel, tehát nem ment rá éle- sítés, lágyítás, veszteséges tömörítés, így könnyebb a komolyabb utómun- ka vele. Egy-az-egyben azt kapjuk meg, amit a fényképezõgép érzékelõ- jébõl maga a gép is kiolvas, nem nyúl hozzá a fényképezõgép processzora. Ezekkel a fájlokkal alapértelmezet- ten nem tudunk mit kezdeni, tehát például a GIMP sem olvassa be. Létezik azonban Dave Coffin jóvol- tából a dcraw nevû program. Ez le- © Kiskapu Kft. Minden jog fenntartva hetõvé teszi, hogy a raw formátu- 4. ábra Gqview mot „emberi” formátumra alakít- suk. Sõt, a dcraw létezik GIMP- pluginként is. Persze az elképzelhe- minõség mellett. Emellett rak rá egy le- A belépéshez tartozó linket tõ, hogy a disztribúciónk által szállí- kerekített fekete téglalapot is, amelynek a jobb felsõ sarokban találjuk. tott dcraw nem támogatja a fényké- a bal oldala lelóg a képrõl, illetve 15 pi- Itt szeretném megjegyezni, hogy pezõgépünket, így érdemes a fej- xel magas sárga betûkkel a megadott a Linpha képes felhasználók és cso- lesztõ honlapjáról letölteni a legfris- koordinátákra írja a megadott szöveget. portok kezelésére is, ennek megfele- sebbet, és lefordítani a honlapon le- Fontos a sorrend, hiszen mindig a leg- lõen pedig korlátozhatjuk a képek írt fordítási opciókkal. A fordításhoz utolsó mûvelet kerül legfelülre. hozzáférését. Természetesen természetesen szükség van pár a program lehetõvé teszi a képek- csomag jelenlétére, de mindezt Webes publikálás (LinPHA) hez történõ hozzászólást is, a forráskódból kiolvashatjuk. Az ember általában nem(csak) magá- amennyiben engedélyezzük. nak fotózgat, hiszen ha valami párat- A képek publikálása sokkal lant örökít meg, azzal lehet dicsekedni, egyszerûbb, mint azt az ember egy for i in `ls *.jpg`; do convert ha pedig csak egyszerû családi képrõl ilyen kaliberû programtól várná: $i -quality 80 -resize van szó, azt jó megmutatni a rokonok- egyszerûen csak bemásoljuk 640x480 temp/$i; done nak. A 21. század hajnalán hogyan a képeket a linpha könyvtárán máshogy lehetne ezt megtenni, mint belül található albums könyvtárba, Ez nem tesz mást, mint átméretezi az egy webes galéria segítségével. majd pedig a galéria admin menü- összes jpg végzõdésû képet az aktuá- Erre eddig a LinPHA tûnt a legjobb- jében legeneráltatjuk az elõnézeti lis könyvtárból maximum 640 képpont nak. Maga a telepítés nem bonyolult képeket, illetve le tárolhatjuk az széles és 480 képpont magas 80%-os folyamat, csupán pár klikk, illetve fut- Exif információkat is, amennyiben minõségû képekre, majd a kész állo- tatnunk kell a mysql vagy a postgresql van ilyen igényünk. mányokat a temp-be helyezi, valamelyikét, persze amennyiben ke- A program lehetõvé teszi a menet amennyiben létrehoztuk a könyvtárat. vesebb privilégiummal rendelkezünk közbeni vízjelezést is a megfelelõ plug- A convert parancs nemcsak átmére- – nem rendszergazda – a szerveren, in bekapcsolása esetén. Ez annyit tezni tud, hanem feliratokkal is el tudja úgy ennek megfelelõ telepítésre is tesz, hogy az eredeti (szerveren lévõ látni a képeket. Erre egy másik példa: van mód. Lássuk a telepítés részleteit. képhez) nem nyúl, hanem az átalakí- Csomagoljuk ki egy olyan könyvtárba, tottat adja át a webszervernek. for i in `ls *.jpg`; do convert amit lát az Apache (nálam például Ez egyrészrõl jó, hiszen nem kell $i -resize 640x480 -quality /var/www). két példányt tartani a képekbõl, 60 -fill black -draw A böngészõbe írjuk be az így keletke- másrészrõl eléggé elviszi a gépidõt "roundrectangle -10,456 zett LinPHA install könyvtárának el- az ezzel járó mûvelet. Érdemes tehát 200,472 6,6" -font helvetica érési útvonalát (nálam: http://127.0.0.1/ a vízjelet kikapcsolni, hacsak nem -fill yellow -pointsize 15 - linpha-1.1.1/install/install.php). feltétlen szükséges. draw "text 6,470 'Foto by Hajtsuk végre a telepítést (fontos: az A bekapcsolható plug-in-ek között Medve 2006.07.13.'" temp/$i; adatbázis rendszergazdai jelszónak találunk még többek között RSS-t done nem fogad el üres jelszót). és vendégkönyvet is. Ha elkészültünk a telepítéssel, Természetesen a program nagy- A parancssor rövid magyarázata: átmé- biztonsági kockázat miatt töröljük az szerûsége nem merül ki ezekben, hi- retezi a képeket maximum 640 pixel install könyvtárat, hiszen arra már szen lehetõvé teszi, hogy megfelelõ széles és 480 pixel magas képekre 60-as nem lesz szükség. jogosultságok esetén – amit a helyi

64 Linuxvilág Grafika, multimédia, szórakozás

5. ábra Telepítés elõtti ellenõrzés 6. ábra Telepítés © Kiskapu Kft. Minden jog fenntartva

7. ábra Sikeres telepítés 8. ábra Galéria

9. ábra Egy kép kinagyítva, bal szélen EXIF információk 10. ábra Sok kép letöltése egyszerre

LinPHA adminisztrátor oszt több példányban, hiszen a mai Nem szégyen többször learchiválni, ki – a képeket egyszerre elküldjük olcsó adathordozók nem biztos, sose lehet tudni. Inkább legyen emailben, letöltsük tömörített állo- hogy olyannyira megbízhatóak, két mentés, mint egy se. mányként (tar / tgz / tbz2 / zip), mint azt a gyártóik hangoztatják. Jó fényeket mindenkinek! vagy akár kinyomtassuk. Az már Medve Zoltán csak hab a virtuális tortán, hogy KAPCSOLÓDÓ CÍMEK egy adott idõszakra vetítve meg- ([email protected]) nézhetjük, melyek voltak a legnép- RAW programok szerûbb képek. 2001-ben kezdett  http://www.cybercom.net/ „Linuxolni”, de már ~dcoffin/dcraw/ Jó tanács a végére korábban is ismerkedett Minthogy a digitális képek sérülé- a szabad szoftverek világával. LinPHA kenyebbek, mint a papír képek, Ha éppen nem a gép elõtt ül, akkor  http://linpha.sourceforge.net/ érdemes gyakran lementeni õket akár fotózgat, olvasgat vagy bicajozik. wiki/index.php/Main_Page olvasható médiára (CD, DVD), illetve

www.linuxvilag.hu 2006. október 65 Grafika, multimédia, szórakozás © Kiskapu Kft. Minden jog fenntartva

66 Linuxvilág Grafika, multimédia, szórakozás

Gimp bõvítmények (5. rész) Képtelen játék a pixelekkel Vidám mosolyt fakaszthatunk pillanatok alatt barátaink arcán, ha valamelyik ismerõsünkrõl készült fotót kicsit megbûvöljük. Lehet nagyobb orrot, szemet és szájat alkotni a kezelésbe vett portréra, és ezzel a lehetõségeink még korántsem értek véget. Mind ehhez segítséget nyújt a Gimp, különösképpen pedig a torzító szûrõk.

klinikai egér szerepét a mai a Hullámhossz (Phase) értékeket, orrot és még sokféle mókát! Az élõ- alkalommal egy olyan lófej és döntsük el, hogy mit tegyen a prog- képre kattintva, mi magunk alakít- A fogja betölteni, mely egykor ram a kép szélein. Ezt a mód felirat hatjuk át a képünket. Minden kattin- az athéni Parthenon tetejét díszítette. alatt, az Elkenés (Smear) vagy a Feketí- tás, húzás változtat valamit az eredeti Eredetije a londoni British Múzeum- tés (Blacken) kapcsolót kiválasztva vonásokon. Válasszunk egy Deformá- ban látható. Ott készült ez a fotó is. tehetjük meg. lási módot (Deform mode), és fogjunk E nemes vonásokon fogom tehát neki az átalakításnak. Hogy az ege- illusztrálni a torzító szûrõk hatását IWarp rünk mekkora környezetében változ- (Szûrõk->Torzítás). Valószínûleg Az I-görbítés (IWarp) már a nevében zon meg a kép azt a Deformálási az ókori görögök nem is sejtették, hordozza, hogy itt valami mókás do- sugár (Deform radius), intenzitását hogy mûvészetüket a nyílt forrás log fog következni. Ugyanis olvashat- pedig a Deformálási mérték (Deform szolgálatába fogja állítani az utókor... juk elgörbítésnek is, ami csakugyan amount) adja meg. A bilineáris fedi a valóságot. Valóban, csalódni kapcsolót kiválasztva lágyabb Hullámok nem fogunk, hiszen pár egérkattin- hatást érhetünk el, az Adaptív Hullámokat (Waves) pár kattintással tással a félreismerhetetlenségig torzít- túlmintavételezés (Adaptive varázsolhatunk a képre. A beállítások- hatjuk jó barátaink arcvonását. supersample) ugyancsak szebb

kal nem sok gondunk lesz, hiszen ha- Ez a szûrõ végre nem sablon alapján képet eredményez nagyobb számí- © Kiskapu Kft. Minden jog fenntartva sonlóan mûködik minden mint ahogy dolgozik! Segítségével mi magunk tási igény mellett. Lehetõségünk azt a Fodrozódás (Riple) szûrõ esetben vehetjük a kezünkbe az irányítást, van arra is, hogy a lépésekbõl ani- már láttuk. Még kevesebb beállításról így nincsen két megegyezõen módo- mációt készítsünk. A szükséges kell gondot viselnünk most. Adjuk sított kép. Csinálhatunk nagyobb beállításokat az Animálás (Animate) meg az Amplitúdó (Amplitudo) és szemet, szájat, hegyes Pinoccio szerû fül alatt találhatjuk meg.

1. ábra Hullámok szûrõ beállítási lehetõségei 2. ábra Az l-görbítés beállításai

www.linuxvilag.hu 2006. október 67 Grafika, multimédia, szórakozás

3. ábra A Mozaikot már a régi görögök is szívesen alkalmazták... 4. ábra A Szél szûrõ mozgást imitálhat

Page Curl legmélyén, hogy ilyen is van. © Kiskapu Kft. Minden jog fenntartva A Lap felhajtása (Page curl) régi trükk Ha például egy üveggömbre sze- már. Mégis hasznos, hogy egy kattin- retnénk rávarázsolni magunkat, tással alkalmazhatjuk is a képünkre. talán még hasznát vehetjük. Természetesen ezt is a torzító szûrõk között találjuk. Szél A Szél szûrõt használhatjuk arra Mozaikok hogy a mozgást szemléltessük, Ha már szó esett az ókori görögökrõl... vagy mint általános torzító eszközt. Mind õk, mind a rómaiak igen szeret- A képünkön vékony fekete-fehér ték a mozaikokat. Biztosan mosolyra vonalak fognak megjelenni. Ez hozzá- 5. ábra Az újság szûrõ beállításai húzódna a szájuk, ha meglátnák tartozik a hatáshoz. A szûrõ ugyanis a Gimp Mozaik szûrõjét. A következõ megkeresi a kép markáns éleit és eszközzel igazán korhû alkotásokat a vékony vonalak azokból indulnak szerint egy jól kivitelezett színre készíthetünk. Ismét nem egy univer- ki. Ezért tûnik az eredmény mozgó- bontó eljárás esetén nincs szükség zális eszközrõl van szó, valószínûleg nak, hiszen a valóságban is a mozgó élsimításra, ez azért kerül be mégis nem fogjuk minden képünkre alkal- tárgyak élei mosódnak el a fényképe- a szûrõbe, hogy csökkenteni tudjuk mazni. Sok beállítási lehetõségével ken. Válasszunk elõször stílust! A Szél a színmélységet. mégis számos próbálkozásra ösztö- (Wind) esetén vékony vonalakat fog nözhet. A beállítások magukért beszél- rajzolni, míg Széllökés (Blast) esetén Videó nek, azokat emelném ki, melyek jelen- vastagokat a program. Említést érdemel még az elõbbihez tését az elsõ ránézésre jótékony ho- ötletben hasonló Videó (Video) szûrõ. mály borítja. A Csempefelosztás (Alow Újság Ezzel ellenõrizhetjük, hogy miként tile splitting) engedélyezése például Mókás illusztrációk készíthetõek az nézne ki a képünk egy rossz minõ- azt jelenti, hogy megengedjük a prog- Újság (Newsprint) szûrõvel. Képün- ségû tévén, csíkosan, pixelesen. ramnak, hogy azokon a helyeken ahol ket átalakítja, mintha egy alacso- Egyszóval a múlt század hatvanas sok szín találkozik, ott a csempéket nyabb felbontású eszközön jeleníte- éveinek technikájával. szétdarabolja és így finomabb mintát nénk meg. Megváltoztatja a képpon- hozzon létre. Ellenkezõ esetben ro- tok alakját telítettségét, így olyan ha- Juhász Attila busztusabb eredményt kapunk. tást ér el, mint a kis felbontású nyom- ([email protected]) Az Elõtér és háttérvilágítást (FG/BG tatón készített lenyomatok. Adjuk lightning) bekapcsolva módosulnak meg a kezdeti és az eredményül kí- Az Információ Techno- a színek, úgy mintha egy elõtér színû vánt felbontást (inchenkénti vonalak lógiai Kar hallgatója és egy háttérszínû lámpa világítaná számát). Az kapott kép felbontása a Pázmány Péter meg a csempéket. függ a cellamérettõl, azzal fordítottan Katolikus Egyetemen. Érdeklõdik arányos. Döntsük el, hogy milyen a bioinformatika és a neurális hálóza- Polárkoordináták elv szerint szeretnénk színre bontani tok iránt. A fotózás és a tánc mellett A Polárkoordináták szûrõ segítségével a képet, választhatjuk az RGB, öt éve foglalkozik webgrafikákkal. a képünk kör vagy négyzet alapú CMYK, vagy az intenzitás alapú A linux terjesztések közül reprezentációját kapjuk vissza, sõt bontást. Nekem az intenzitás alapú a Gentoo és az Ubuntu áll legkö- a kettõ közötti bármelyik átmenetet bontás tûnt a legszimpatikusabbnak. zelebb a szívéhez. Fotós oldala is megrajzoltathatjuk. Nem fogjuk Választhatunk a különbözõ képpont a http://people.goraffe.com/attila sokat használni az biztos, de azért rak- formák közül is, létezik kör, vonal, címen található. tározzuk el valahol az emlékezetünk négyzet, rombusz. A kézikönyv

68 Linuxvilág

Grafika, multimédia, szórakozás

A Pixel képszerkesztõ Hamarosan a Linux alatt dolgozó grafikusokra és fotósokra is boldog idõk köszöntenek. Egy kiváló minõségû és tudású pixelgrafikus program tûnt fel, mely hamarosan sokunk eszköztárát gazdagíthatja.

Pixel nevéhez méltón, a program kezelése és külalakja lehetõségek sorában. Nekem gondja- egy pixelgrafikus program, mindenhol ugyanaz marad. im akadtam Ubuntu Dapper alatt a deb A melyet több tucat operációs Ma a felhasználók fele a Windows csomaggal, így a telepítõvel ellátott rendszeren tudunk használni. Futtat- felhasználók táborából kerül ki, verziót választottam. Maga a telepítés hatjuk például Windows, Linux, a stabil második helyet pedig a linux egyszerû, mindössze az lephet meg MacOSX, BeOS, Zeta, QNX, MorphOS, alatt dolgozók foglalják el. minket, hogy a magyar nyelv is a tá- FreeBSD, eComStation, OS/2, SkyOS mogatott nyelvek között van. A web és a jó öreg DOS alatt is. Meggyõzõ A telepítés oldalon található összefoglaló azt írja, nem? Tudásában az Adobe Photoshop Most már sokat tudunk. Nézzük hogy mivel a program teljes Unicode és a Gimp ellenfeleként tarthatjuk tehát, mit tud a program! Kezdjük támogatással bír, így gyakorlatilag bár- számon. Az utóbbit számos területen a telepítéssel! A béta verziót meg- melyik nyelvre könnyen lefordítható. túl is lépi a mindössze 13 MByteos találhatjuk és letölthetjük program. a  http://www.kanzelsberger.com/ Elsõ benyomások Vajon hány programozó dolgozhat pixel/ oldalról. A jobb oldali menübõl A program elindítása után egy hallat- rajta? Legnagyobb meglepetésemre válasszuk ki a Download vagyis letöl- lanul ismerõs felület fogadott. Mintha kiderült, hogy a Pixelt mindössze egy tés menüpontot. Amint ez megvan, valahol már találkoztam volna már ember, Pavel Kanzelsberger fejleszti. kezdõdhet a csodálkozás. A Pixel vele. A helyzet nem meglepõ, hiszen © Kiskapu Kft. Minden jog fenntartva Nyolc éve írta meg az elsõ verziót, tényleg rengeteg platformra elérhetõ! a program az Adobe Photoshop által melyet õ és barátai használtak akkor Válasszuk ki a nekünk megfelelõt. kialakított konvenciókat követi. Habár még DOS alatt. Az idõk során egyre A dolog kicsi figyelmet kíván, hiszen a menük nevei és elhelyezésük eltér- többen kezdték el használni és fokoza- van PowerPC és Intel processzorra het, mégis már az elsõ indítás után tosan érkeztek a megkeresések, mely- fordított változat is. A Debian alapú otthon érezhetjük magunkat. ben kérték, hogy portolja a programot Linux disztribúciót használóknak A fenti menüsor és az alatta található valamelyik újabb operációs rendszer pedig van deb csomag is a választható eszköz beállító panel már a legújabb alá. Végül az idei év elején Photoshop verziók által Kanzelsberger úgy döntött, kitaposott utat követi. hogy otthagyja munkahely- Az eszközöket is könnyen ét és teljes munkaidõben megtalálhatjuk, hiszen a Pixel befejezésén fog dol- a jól megszokott helyet, gozni. A program meglepõ- a bal oldalt foglalják el. en sok operációs rendszert A párbeszéd ablakok ugyan- támogat. Vajon hogyan csak ismerõsek már. Van pár valósította meg mindezt apró meglepetés is, ilyen Kanzelsberger? Mivel szeret- például a jobbra fent látha- te volna leegyszerûsíteni tó web eszköztár, mellyel a portolás nehézségeit, egy a kép minõségét befolyá- kicsi SDL alapú függvény solhatjuk a mentés során. könyvtárat írt, melynek Itt választhatjuk ki a formá- neve eLiquid. Ez teszi lehe- tumot, a tömörítési módot tõvé a Pixel gond nélküli is. Jobbra alul az aktuális futtatását több tucat operáci- 1. ábra A program a magyar nyelvet is támogatja eszköz mindenre kiterjedõ ós rendszeren, miközben beállítását végezhetjük el.

70 Linuxvilág Grafika, multimédia, szórakozás

Lássuk milyen lehetõségeink vannak még! A Pixelbõl nyomtathatunk és szkennelhetünk is. Kezelhetünk több tucat képformátumot. Használhatunk rétegeket és utakat (path). Az 1.0-ás verzió pedig kezelni fogja a PSD (a Photoshop formátuma) kiterjeszté- sû fájlokat is, használni tudja majd a Photoshop plugineket és végül de nem utolsó sorban a vektoros rétegek teljes SVG támogatással lesznek kiegészítve. Összbenyomás Összességében elmondhatjuk, hogy egy könnyen és széleskörûen használ- ható program a Pixel. Személy szerint mindig örülök, ha újabb grafikus © Kiskapu Kft. Minden jog fenntartva program jelenik meg Linuxra. 2. ábra A program felülete Photoshophoz való hasonlósága és professzionális felépítése miatt sok Linuxra áttérni kívánó grafikusnak, zseniális! Személy szerint sokat webgrafikusnak, fotósnak nyújthat várok ettõl a lehetõségtõl, habár használható alternatívát. mint az illusztrációból is látszik, A végleges 1.0-ás verzió szeptem- sikerült elírni a fordítás során ber közepétõl lesz elérhetõ, addig az eszköz nevét. béta verziókat vehetjük mindössze kézbe. Sajnos a program sem nem Használat közben nyílt forrású, sem nem ingyenes. Lássunk munkához, hozzunk A teljes verzióért 35 dollárt kell fizet- létre egy új fájlt! Meglepetésemre nünk, amiért teljes támogatást ka- a Ctrl+N billentyûkombináció hatásá- punk egészen a 2.0-ás sorozat megje- 3. ábra A munkaterület váltó ra máris megnyílt a párbeszédablak. lenéséig. Ha valakinek komolyan fel- Kicsit utána nézve kiderült, hogy keltette az érdeklõdését a program, a billentyûkombinációk nagy része siessen, hiszen a végleges verzió is Photoshop kompatibilis. megjelenésével az ár 75 dollárra Egybõl észrevehetjük, hogy fog emelkedni. a Pixel számos színmodellel tud Jó hír, hogy bár a Pixel forráskódja dolgozni. Az RGB, szürkeárnyalatos, zárt, a fejlesztése közben használt CMYK, CIE mellett még HDR, függvénykönyvtár, az eLiquid hama- azaz nagy dinamikatartományú rosan nyílttá válik a fejlesztõ ígérete képeket is szerkeszthetünk vele. szerint, segítve ez által a portolható Ez egy fontos sarokpontja lehet alkalmazásokat fejlesztõket. a program térhódításának, hiszen a CMYK a grafikusok, a HDR Juhász Attila támogatás pedig a fotósok ([email protected]) számára igen fontos. A másik dolog ami egybõl feltûn- Az Információ Techno- 4. ábra Az új fájl párbeszédablakban het, hogy a program gyors! Nincs lógiai Kar hallgatója láthatjuk a támogatott szín- reakció ideje. Mindig lehet tudni a Pázmány Péter modelleket mi történik, és még a sok számítást Katolikus Egyetemen. Érdeklõdik igénylõ szûrõk hatását is pillanatok a bioinformatika és a neurális hálóza- alatt láthatjuk. tok iránt. A fotózás és a tánc mellett Végezetül pedig vegyük szem- Észrevehetjük, hogy bizonyos ese- öt éve foglalkozik webgrafikákkal. ügyre a bal alsó sarokban elbújó tekben, például HDR színmodellt A linux terjesztések közül piciny párbeszédablakot! Ez az használva a néhány menüpont a Gentoo és az Ubuntu áll legkö- ami a Photoshopból már rég óta nem elérhetõ. Ezek a funkciók még zelebb a szívéhez. Fotós oldala nagyon hiányzott. Segítségével hiányoznak. Az ígéret szerint az a http://people.goraffe.com/attila virtuális munkaasztalokat használ- 1.0-ás verzió megjelenéséig mind- címen található. hatunk a Pixelen belül! Egyszerûen egyiket befejezi a fejlesztõ.

www.linuxvilag.hu 2006. október 71 Grafika, multimédia, szórakozás

Egy régi hálózati szimulációs játék felélesztése Az Ultimate Boot CD-rõl többféle szabad operációs rendszert be lehet tölteni, és akár IPX hálózatot is létre tudunk vele hozni. Ezzel pedig feléleszthetõk régi, de igen élvezetes játékok, többek között a Netwars...

T.I.M és Netwars Ha még nem lenne ott a kedves olvasó polcán vagy merevlemezén ez az alapmû, akkor az Ultimate Boot CD (azaz UBCD) letölthetõ a  www.ultimatebootcd.com oldalról. Ehhez a példához most elegendõ len- ne az alapverzió is, de a CD igazi szép- ségét az INSERT Linux disztribúció ad- ja – érdemes hát azzal együtt tartani. Alapvetõen nem hiszem, hogy érde- mes túl sok idõt számítógépes játékok- kal tölteni. Kivételt azonban mégis tehetünk: a logikai és a szimulációs játékok talán nem rombolnak túl sokat az ember személyiségén, hanem in- 1. ábra Netwars kább fejlesztik gondolkodását, ügyes- © Kiskapu Kft. Minden jog fenntartva ségét, esetleg közösségi érzékét. Az elõbbire jó példa a klasszikus de- Advanced Netwars-t) szó esik arról, van (kicsit átalakítva), és mindenféle terminisztikus világképet modellezõ hogy DosBox-ban futtatva IPX- extra közremûködés nélkül be lehet T.I.M, (The Incredible Machine), mely- Wrapperrel lehet ezt a játékot hálózat- róla tölteni a Netwars-t. De ha valaki ben egy-két labda útjába kell minden- ban játszani, de számomra lassúnak, nem akar ezzel idõt tölteni, akkor féle tereptárgyat helyezni (futószalag, szakadozottnak tûnt ez a megoldás. egy natúr UBCD is megteszi (no meg dobbantó, lejtõ, akvárium, macska a szükséges Netwars.exe fájl valami- stb.), míg el nem jut szándékolt céljá- Lássuk a játékot – kevés elõkészület, lyen adathordozón). ba az egy-két leejtett bõrgolyó. Kipró- több kézimunka Vigyázni kell egy ponton, hogy báltam az UBCD-vel, remekül megy. Az UBCD betöltõlemezei között akad a„Select profile” kérdésre ne az Utóbbira pedig tekintsük példaként egy olyan (F6, F4 gombbal kiválaszt- alapértelmezett IP-t válasszuk, a Netwars-t. A maga egyszerûségében va – MSRRC: Bart’s N/W Disc Clone), hanem az IPX-et. Intelligens módon fantasztikus játék – térbeli mozgással, amelyik megoldja ezt a problémát. úgy van megoldva a konfiguráció, három dimenziót leképezõ színes ra- Ehhez a játékhoz csak az ezt képvi- hogy néhány másodpercet vár min- darral, megvédendõ és elpusztítandó selõ képfájlra lesz szükségünk: az den kérdéses esetben (látjuk, ahogy tárgyakkal, egyéb huncutságokkal. Ma- images/fdnwd288.igz-re. Ezt úgy nyer- visszaszámlál, míg hozzá nem nyú- ga a név a Starwars-ra (Csillagok Hábo- hetjük ki, hogy a loop eszközön ke- lunk), de aztán továbblép a betöltés rúja) és a Netware-re is utal, hiszen ez resztül befûzzük az UBCD .iso fájlját az alapértelmezett értékekkel a név kapcsolódik az IPX alapú háló- (lásd lentebb), majd belépünk az (ami az IP alapú hálózat). zathoz, ami alatt igazán jó játszani ezt images könyvtárba, és kimásoljuk Egy DHCP-vel mûködõ hálózatban (!) a játékot. Azonban az elmúlt években munkaterületünkre ezt a fájlt (amit is létre lehet hozni e rendszerrel az IPX sehol nem botlottam már IPX alapú aztán célszerû írásra is alkalmassá ten- alapú kapcsolatot, de úgy is, hogy csak hálózatba, ami pedig alapfeltétel. ni egy chmod u+w paranccsal). Ennek két gépet kötünk össze egy keresztbe A  netwars.xnet5.com weboldalon segítségével akár olyan CD-t is lehet kötött (crosslink) Ethernet kábellel. Ez (ahonnan le is lehet tölteni az készíteni, amin csak ez a betöltõlemez utóbbi esetben figyelni kell a megfelelõ

72 Linuxvilág Grafika, multimédia, szórakozás

kérdésnél, mert a DHCP az alapértel- mezés. Ha nem DHCP-vel oldjuk meg a címek kiosztását, akkor a megadandó két IP-címet (például 2.2.2.2 és 2.2.2.3) beírhatjuk a megfelelõ rubrikába, vala- mint az egyik gépet átjárónak érdemes kinevezni, és az õ címét beírni gateway- nek. Megadandó még például a 0.0.0.0, mint alhálózati maszk („subnet mask”) – ezt könnyû begépelni, de a rendszer ezt a számot 255.255.254.0-ként fogja kezelni. Üresen lehetett hagyni a név- kiszolgálót és az egyéb adatokat. Ezek után még felhasználói nevet és jelszót is megadhatunk, de ennek nincs jelentõsége esetünkben (akár üresen is 2. ábra Egy régi játék a frissen gyártott IPX-hálózatban maradhat). Ha megkaptuk a parancs- sort, már indíthatjuk is a játékot. © Kiskapu Kft. Minden jog fenntartva magunkban játszunk). Annyiban logi- Csodák csodája, belépve a k könyvtár- A játék beállításai kus ez a billentyûkiosztás, hogy nem ba, épkézláb fájlokat látunk, amiket Az igazi élmény a több játékossal való kell messzire nyúlni a funkciókért. ráadásul szerkeszteni is lehet (hogy vállvetett küzdelem (multi player). Az Sõt, a másik kéz környékén, „szimmet- miként érdemes, errõl a következõ irányítást (Control) célszerû billentyû- rikusan” is definiálva vannak ugyan- egységben lesz szó). Lecsatolva a kép- zetre állítani. A Graphics menüponttal ezek a billentyûk, ha valakit nem másfájlt, minden változás megmarad. az igazán gyenge gépek is mûködõké- zavar a kurzorgombok közelsége (Enter, Kiírható (dd if=fdnwd289.img pessé tehetõek, sokszögek helyett csak Backspace, ] (azaz magyar billentyûze- of=/dev/fd0) egy floppyra, és onnan vonalakat rajzolva. Az Options menü- ten „ú”), és a jobboldali SHIFT és CTRL – minden egyéb operációs rendszer pontban érdemes kérni a Shout-out is mûködik). Ami nincs benne a leírás- nélkül – betölthetõ futtatható, vagy módot, ami összehangolja a több játé- ban (talán azért, mert semmi „haszna” pedig egy kost, és addig nem enged senki elhal- nincs): lehetséges a tengelye körül tat újra belépni, míg ki nem derül, ki is forgatni az ûrhajónkat az x és y mkdir l; cp fdnwd289.img a gyõztes. Valamint eldönthetõ, hogy gombokkal. l;mkisofs -b fdnwd289.img -o az embereken kívül legyenek-e számí- kimeneti.iso l tógép-vezérelt ûrhajók (akiknek ilyen Egy játéklemez kialakításának elve neveik vannak, mint Wolf, Saber...). Ha valaki egy kis idõt szán arra, paranccsal elõáll egy olyan .iso fájl, Kezdõk esetén jobb az, ha nincsenek hogy magától betöltõdhessen a játék ami CD-rõl tölthetõ (cdrecord - ellenségek, jobban meg lehet mutatni mindenféle extra közremûködés blank=fast kimeneti.iso). Esetleg a billentyûk hatását. (Disable computer nélkül, akkor erre is van mód (ponto- gzip-pel tömörítve és .igz végûvé át- ship). De ha vannak is, akkor is el- sabban csak DHCP-vezérelt hálózat- nevezve „visszatehetõ” az UBCD-re, dönthetõ, hogy az emberek együtt ban juthatunk el a célhoz „érintés nyilván megfelelõ menüponttal ellát- küzdenek-e a gépi jármûvek ellen, nélkül” – statikus IP-címek esetén va a boot/menus/custom.scn fájlt. vagy mindenki mindenki ellen. figyelni kell a megfelelõ ablak meg- A billentyûk megismerése kulcsfontos- jelenését, és a leírt módon be kell A netwars játéklemez kialakításának ságú, fõleg amiatt, hogy idejében gázt állítani az értékeket). A fent említett konkrét lépései adjunk a SHIFT-tel, mert egyébként images/fdnwd288.igz fájlt át kell ne- A következõket tettem a felcsatolt pillanatok alatt szétlõnek a számítógép- veznünk fdnwd288.img.gz-vé, ezt fdnwd289.img képmásfájllal, vezérelte hajók (ha vannak). CTRL: már gunzip-pel ki lehet tömöríteni. mielõtt elõállítottam volna belõle a fék (majd a hátramenet). Kurzorgom- Nevezzük át az eredményül kapott a játéklemezt: bok viszik a tér négy irányába a hajót fdnwd288.img fájlt valami más névre, A /etc/profile-ban csak az ipx.pro fájlt (kár, hogy ez nem állítható, mert például fdnwd289.img-vé, hogy ha hagytam meg, a többit töröltem. a repülõszimulátoroknál éppen a lefelé netán vissza szeretnénk másolni Ennek nemcsak helytakarékosság volt nyíl nyomja le a repülõ farkát, azaz testreszabott képmásfájlunkat az az oka, hanem az is, hogy a „Select emeli meg a repülõt, itt pedig épp for- UBCD-re, akkor ne írja felül az erede- profile” menü ezen fájlok alapján dítva). Szóközzel lövések dördülnek, tit. Visszacsatoló eszközön keresztül ajánlja fel a választási lehetõségeket, de az igazán hatékony követõrakétákat lehet becsatolni a képmásfájlt egy és nekünk csak az IPX kell. Hely- a CapsLock indítja. A tab teszi lehetõvé elõre elkészített (mondjuk k nevû) takarékossági okból gyomláltam ki a turbó gyorsítást, „A” betûvel pedig könyvtárba: a hálózati kártyák meghajtói közül láthatatlanná tevõ köpeny (cloak) borul a lib/odi16 összes fájlját, hiszen mi 32 ránk. F1-gyel nézõpontot válthatunk, mkdir k; su -c 'mount -o loop bites kliensként fogunk kapcsolatot F2-vel szüneteltethetjük a játékot (ha fdnwd289.img k' létrehozni (bátrabbak a lib/odi32-bõl is

www.linuxvilag.hu 2006. október 73 Grafika, multimédia, szórakozás

visszaszámlálásnál érvényesült). Még adós vagyok azzal a kérdéssel, hogy miért kellett hozzápiszkálni az nwlan.cab-hoz, s hogy miként auto- matizálhatjuk a netwars elindítását. E két legyet egy csapásra intézzük el: Sajnos hiába tettem az autoexec.bat fájl végére a netwars-indítást, muszáj voltam cabextract-tal kitömörített nwlan.cab autorun.bat fájlját kiegészíteni egy @call a:\netwars\netwars.exe paranccsal. A visszatömörítést az lcabperl-lel vé- geztem, és az így kapott (meglehetõ- sen nagy) nwlan.cab-ot másoltam vissza az eredeti helyére. Ha valaki nem szeretné mindezeket © Kiskapu Kft. Minden jog fenntartva végigcsinálni, de kíváncsi az ered- ményre, megtalálhatja a Linuxvilág honlapján, vagy itt: 3. ábra Ûrhajó választása  www.osb.hu/z/nw.iso. Megvallom, hogy e játék tekintetében elõször az UBCD-n levõ OpenDOS- szal kísérleteztem, hiszen ebben a gyûjteményben láttam életemben elõször a Netwars-t, és igen szépen dokumentált rendszer élt emlékeim- ben; de valahogy nem sikerült elindí- tanom. Talán egy következõ UBCD- kiadásban kevésbé gépfüggõ profillal jelenik meg. Játék memóriából Sikerült tehát elindítani ezt a kedves jószágot, és valóban látták egymást a légi jármûvek. Elegendõ egyetlen UBCD vagy házilag gyártott cél CD is 4. ábra Várakozás a többi versenyzõre a hálózati játékhoz – elindulása után már át lehet tenni a másik gépbe – memóriából is tud futni. Mindenki- irthatnak olyanokat,amire biztosan a netwars.exé-t és a readme.nw-t. nek tudom ajánlani – egészen nincs szükség, én azonban ezt nem Felmerül a kérdés, hogy miféle hely- gyenge gépen is jó szórakozást nyújt, ajánlom – hosszasan kísérleteztem igényrõl beszélek én itt, hát van a me- és a közös játék mindig jobb, mint vele, de mindig kisült, hogy túl sokat revlemezen bõven hely... De egy loop a magányos függõvé válás. A teljes töröltem e fájlok közül). Töröltem eszközön keresztül becsatolt betölthe- igazság persze az, hogy a Linux még a level1 könyvtárból a vc.cab és tõ floppylemeznél az eredeti méretbe megismerése és felderítése a legjobb az ntfs.cab fájlt, hogy maradjon elég kell bezsúfolni mindent. (El tudom repülõszimulátornál is izgalmasabb hely az átalakítandó level3/nwlan.cab képzelni, hogy „nagyítható” ez a fájl, számítógépes játék. fájlnak. Sajnálatos módon ugyanis vagy belemásolható a képmásfájl csak olyan .cab elõállítót találtam egy eleve nagyobbra készített fájlba, Szabó Zoltán Linuxra (Linux CABinet file creator: de nem sikerült rájönnöm, hogyan. ([email protected]) lcab;  www.geekshop.be/rien/lcab Örömmel veszem azok visszajelzését, Négy gyermekével és  www.usinglinux.org/archivers), akik tudják a módját.) feleségével Pannon- amelyik nem tömörít, így – mivel Még néhány változtatást eszközöltem halmán él. Tíz éve kí- kénytelen voltam belenyúlni ebbe az a /etc/global.set-ben: p_user=!, sérletezik a Linuxszal. archívumba – a végeredmény sokkal g_timeout=1 értékadásokkal, vagyis, Matematikát és informatikát tanít, helyigényesebb lett, mint az eredeti. hogy ne várjon felhasználónév-meg- diákotthonban keseríti a rábízottak Még arra maradt hely, hogy létre- adást az NwLan, és ne kelljen olyan életét. Szívügye a PHP, hozzak a gyökérben egy netwars sokat várni a visszaszámláló ablakokra a PostgreSQL és a Moodle. könyvtárat, és ebbe elhelyezzem (bár, érdekes módon, ez nem minden

74 Linuxvilág

Grafika, multimédia, szórakozás

Gorky 17 Néhány hónappal ezelõtt népszerû, Linuxon (is) futtatható valós idejû straté- giai játékokkal foglalkoztunk. Most a kategória egyik közeli rokonáról, ponto- sabban a körökre osztott mûfaj egyik kiemelkedõ képviselõjérõl lesz szó.

A programról pedig egy speciális kutató laboratóri- a Wine és Cedega wrapperek saj- A lengyel illetõségû Metropolis SH um maradványaira. Néhány nappal nos ki nem állhatták a windowsos fejlesztette Gorky 17 csaknem nyolc késõbb a kiküldött felderítõ csapat- lemezt. 2004 derekán röppentek éve, 1999 nyarán látta meg a napvilá- nak nyoma veszett, miközben ellep- fel elõször azok a hivatalos hírek, got. Az addig ismeretlen csapat mun- ték az utcákat mindenféle torz és melyek szerint a Hyperion csapata kája meglepõen kedvezõ fogadtatás- rémisztõ lények. Végül a nemzeti már dolgozik a (kereskedelmi jel- ban részesült világszerte: a játék- erõk lezárták a bázis teljes területét, legû) linuxos verzión, de a munká- program erõteljes hangulati eleme- és egy három fõs, különlegesen kép- latok igencsak lassan haladtak. ket, változatos taktikai modelleket zett egységet küldtek be a kialakult Hosszú várakozás után, a 2006-os vonultatott fel egy groteszk és eltor- helyzet feltárására. Nos, a bevezetõ esztendõ végre meghozta a várva zult világban. A rövid kerettörténet itt véget ér: mint az sejthetõ, az ala- várt natív változatot. A Hyperion így szól: a NATO hírszerzése in- kulatot nekünk kell irányítanunk, hírnevéhez hûen, ez a projekt is formációkat szerzett a Gorky 17 rengeteg összecsapást és tartalmi kellõen profi munkáról tesz tanú- névre keresztelt orosz katonai város fordulatot megélve. bizonyságot, hiszen nem külön- lerombolásáról, ahol korábban böztethetõ meg az eredetijétõl, teleportációval kapcsolatos kísérlete- A részletek... miközben a DirectX alapokon

© Kiskapu Kft. Minden jog fenntartva ket végzett a helyi vezetés. A híreket A program egészen 2006-ig csu- nyugvó rétege teljesen ki lett ik- követõen rátaláltak egy elhagyott pán Win32 felületen futott, mivel tatva: immár SDL (v1.2.9)/OpenGL bázisra, a romos épületek között Linuxra nem volt átírva, ezen felül programozási felületekre

1. ábra A nekünk készített natív verzió doboza 2. ábra A linuxos Gorky 17, KDE asztalon

76 Linuxvilág Grafika, multimédia, szórakozás

állomány „fullscreen” bejegyzését kell megváltoztatnia annak, aki hozzám hasonlóan jobban bízik az ablakos futtatásban. A játék „Options” menüjének „Video” pont- jában lehetséges a „” / „OpenGL” leképezési módok között váltani, utóbbi API természetesen mûködõképes GLX (illetve DRI) kapoccsal ellátott 3D grafikus hardvert igényel. A játék ugyan fixen, 640x480 képfelbontásban fut – ellenben biztosan állíthatom, hogy senki kedvét sem fogja elvenni a kissé pixelesnek ható (egyébként príma mozgó modellezéssel ellátott) grafika. Hangszolgáltatás ügyén ki- zárólag OSS leképezés támogatott, © Kiskapu Kft. Minden jog fenntartva így akinek ALSA megoldás mû- ködteti hangkártyáját, annak egy ALSA-OSS átjárót mindenképpen be kell állítania a rendszerében. 3. ábra A terep felderítése Apropó, hangok! A fentebb említett „honi” Win32 verzió teljes mérték- ben honosítva van, így joggal támaszkodik a játék motorjának megadása is), a program egy merülhet fel igény a feliratok és egésze. Az elkészült mûvet x-terminálon, felhasználóként ki- hangok lecserélésére itt, az átírt a Linux Game Publishing terjeszti, adott gorky17 paranccsal indítható. játékban is. Nos, a feliratok cseréje így a CD on-line rendelhetõ Figyelem! A játék menürendszere természetesen megoldható, viszont meg a  http://gorky17.linuxgame nem tér ki a teljes képernyõs, illet- a szinkronhangoktól óva intek publishing.com oldalon. A terjesztés ve az ablakos mûködés kapcsolási mindenkit: köztudott, hogy ennyire apró szépséghibája, hogy amíg lehetõségére. Emiatt a személyes félresikerült hazai megoldással ritkán a Win32 kiadás nagyjából 1000 Forin- mappánkban (elsõ indításkor) találkozni a PC-s játékok világában. tért szerezhetõ be a hazai multi- létrejött, /home/$/.lgp/Gorky17 nevû Kissé szomorú vagyok, hogy ezt áruházakban, addig a számunkra rejtett könyvtárban, a settings.ini kell írnom, de aki játszott valaha értékes változat rendelési alapdíja 25 Font (a cikk írásakor ez közel 8000 Forintot jelent). Utóbbi összeg külföldön ugyan nem szá- mít soknak, azonban az említett, közel nyolcszoros árkülönbség az itthoni viszonyok között már tetten érhetõ. Ennek ellenére, a stratégiai játékok hazai rajongói- nak is érdemes megrendelnie a linuxos Gorky 17-et, hiszen „erek- lyének” sem utolsó darab... Üzembe állítás Miután megérkezett a telepítõ diszk, fûzzük be a rendszerünkbe, majd a csatolási pontra lépve (root jogkörrel) indítsuk el a gyö- kerében lévõ setup.sh szkriptet! A letisztult, grafikus interfésszel ellátott telepítõ használatáról felesleges szólnom. Miután a bõ 500 MByte helyigényû állományok az alapértelmezett helyükre kerül- 4. ábra Egy kellemetlen ellenfél, ivadékaival együtt tek (minek feltétele a szériaszám

www.linuxvilag.hu 2006. október 77 Grafika, multimédia, szórakozás

szerre megküzdenünk, melyek mindegyike máshogyan harcol... A sikeres küldetésekhez (vélemé- nyem szerint) mindenképpen szükséges két olyan karakter, amely képes távolról is hatékonyan támadni az ellenfeleket, illetve gyógyítani az elsõ vonalat, miköz- ben a többi társunk (például láng- szóróval vagy bombákkal) közel- harcban keseríti meg a szörnyek életét. A legfõbb ellenség (melynek „személye” a történeti szál egyik kiszámítható meglepetése) még ilyen körülmények között is garantáltan komoly kihívást jelent majd a kitartó játékosoknak! © Kiskapu Kft. Minden jog fenntartva Csak elfogultan! Aki úgy érezné újoncként, hogy szeretne bepillantást nyerni ebbe a nagyon hangulatos világba, annak 5. ábra A karabély távolról is hatásos fegyver javallott megpróbálkoznia a linuxos demóval, mely szintén elérhetõ a fen- tebb címen érhetõ el. Ennek telepítése, is a „magyaros” változattal, bizonyá- csakúgy, mint a támadás (és a vé- használata megegyezik a teljes válto- ra tudja, mirõl beszélek: némelyik ér- dekezõ állás felvétele) egyszer zat ügyén említettekkel, jellege miatt zelemmentes és közönyös beszólás, tehetõ meg körönként. A Gorky 17 azonban nem lehet benne játékállást egyéb félresikerült megoldás komi- „sava-borsa” az ellenfeleink stílu- menteni, és csak néhány pályát tartal- kussá tenné az egyébként hangulatos sában rejlik, akik kifejezetten maz. Akár a demóról, akár a teljes belsõ világot. komoly munkára késztetnek bárkit: programról legyen szó, talán azzal szinte mindegyikük saját harci jellemezhetném leginkább, hogy A „puding próbája” egyéniséggel bír, más jellegû támadá- amikor leülök elé, végig azt érzem, Miután elindítottuk a programot, sok ellen védett. Emiatt némely csata hogy „na még egy utolsó pálya, aztán annak menüjében találjuk magun- elõtt fontos elmenteni az aktuális ál- tényleg kilépek”. kat. Az egyszerû és átlátható beál- lást, hiszen az adott ellenség immu- Persze, amikor az órámra nézek, gyak- lítási lehetõségeket értelmetlen nitását csak akkor tudjuk megtapasz- ran elõfordul, hogy lassan indulnom lenne taglalnom, lépjünk be inkább talni, ha már megtámadtuk – ekkor kell a munkahelyemre, mert az utolsó a játékba. A hosszúnak és nehéznek viszont már odaveszett egy lépé- pályából túl sok „utolsó” pálya lett... várható küldetés két üzemmódra sünk, és vele együtt talán a kezdemé- Tipikusan olyan program ez, amelyet oszlik. Egyik mód értelme a felderí- nyezés is... Ha változó létszámú egyszerûen lehetetlen megunni: an- tés, másiké a körökre osztott harc. csapatunkból bárki elesik, az a külde- nak ellenére viszem végig újra és újra, A „mászkálós” felderítés ugyan tés sikertelenségét jelenti, így fontos hogy a pályákat és a történetet évek kissé unalmas, de a végjátékhoz elvárás az erõs és hatékony karakte- óta ismerem (utoljára talán az szükséges végigcsinálnunk: ezen rek „nevelése”. Ezért érdemes mind- Incubation nevû körökre osztott a ponton sok hasznos és szüksé- össze egy-két hatékony fegyver hasz- csoda fogott meg ennyire). Ha ehhez ges tárgyat lehet begyûjteni nálatát „erõltetni”, javarészt ezek még hozzáteszem azt, hogy e virtu- a város utcáiról, valamint a teljes használatával küzdeni: idõvel na- ális világ megelégszik 64 MByte történet is ezáltal bontakozik ki gyon komoly tûzerõre lehet szert központi memóriával és egy szerény (a felderítõ mód természetesen tenni egy fegyvernemhez kötõdõ jár- teljesítményû, régebbi x86 (vagy PPC) nincs körökre osztva). A lényeg tasság által. Bizonyos elért pontszám processzorral, akkor elismerõen a belsõ harcokon van: körönként után az aktuális karaktert meglátá- bólogatok: bravó Metropolis, megszabott lépésszámból kell sunk szerint fejleszthetjük, öt tapasz- bravó Hyperion! a csapatunkat gyõzelemre vezet- talati pontot szétosztva annak fõ ni, mutánsok és egyéb speciális jellemzõi között. Kovács Zsolt ([email protected]) erõk ellenében. Talán mondanom sem kell, hogy ér- Lássuk tehát a legfontosabb tud- demes komolyan meggondolni, mely Quake fanatikus. Négy éve a debre- nivalóinkat! Az elfordulás, a tár- tulajdonság kapjon kitüntetett szere- ceni linuxosok egyike. Töretlenül hisz gyak átadása ebben a játékban pet, mivel némelyik terepen akár a Slackware terjesztésben. nem kerül akciópontba – de utóbbi négy „típusú” ellenséggel kell egy-

78 Linuxvilág Grafika, multimédia, szórakozás

Kicsi a bors... Ebben a hónapban néhány olyan közkedvelt ügyességi játékról olvashattok, melyek méretükben, hardverigényükben mérhetetlenül szerények.

rövid bevezetõ ne tévesszen meg senkit: az „apró” kate- A góriába jó néhány olyan projekt tartozik a világhálón, melyek képesek hosszú órákra lekötni bárkit, aki kikapcsolódásra vágyik. Hogyan lehetséges ez? Valójában egyszerû a recept: a sokszor dollármilliós fej- lesztésû, több CD-s játékok grafikai és fizikai kivitelezésének ellenében itt elsõdleges szempontként a játszható- ság dominál, jellemzõen kiforrott ötle- tekre alapozva. Éppen emiatt, a kis méretû (általában ügyességi) játékok között sokszor találkozhatunk remake, retro programokkal is. Mivel a stílus képviselõi gyakran szabadon elérhetõ forráskóddal rendelkeznek, így az © Kiskapu Kft. Minden jog fenntartva életképes próbálkozások könnyen üzembe állíthatóak Linux alatt. 1. ábra Íme, a Tower Toppler Tower Toppler Tower Toppler néven érhetõ el a „8 bites alattjárót irányítva) is növelhetjük A projektben ezen felül elérhetõ egy korszak” Nebulus címû alkotásának új- pontjaink számát. A program alapötle- egyszerûen használható pályaszerkesz- jászületett, PC-s verziója. Eme oldalné- te matuzsálemi korú: személy szerint tõ is. A programért látogassunk el zetû, ügyességi játéknak a céljaként két már Enterprise128 géppel is játszottam a  http://toppler.sourceforge.net cím- irányban mozgatható sárkányunkkal a Nebulus-szal, majd késõbb ugyanez re! Töltsük le a szabadon elérhetõ különbözõ kõtornyok tetejére kell fel- a kihívás Amiga500 elõtt is elbûvölt. toppler-verzió.tar.gz forrás archívot, jutnunk. Mindez kifejezetten nehéz fe- Mindezt azért említem hangsúlyosan, majd bontsuk ki valahová. A kicsoma- ladatnak mutatkozik, hiszen a mozgá- mert ennek tükrében bátran állítom: az golt könyvtár tartalmát felépíteni és te- sunkra reagált terep elfordulása, eltûnõ eltelt húsz év ellenére a játék semmit lepíteni rootként kiadott ./configure, támaszok, csúszó lépcsõk, liftek, patto- sem veszített hangulatából. Sõt! Az make, make install parancsokkal le- gó labdák és „élõ” ellenfeleink egyaránt igen idõtálló elképzelés még ma is kor- hetséges (a forráskód függõsége gya- ellenünk dolgoznak. Ha az említett cél osztálytól függetlenül ígér önfeledt korlatilag kimerül az X kiszolgáló és az nem tûnne kellõképpen kihívónak, szórakozást. A Tower Toppler gyakorla- SDL könyvtárak meglétében, így a leg- megfejelve az említett nehézségeket tilag mindent örökölt elõdjétõl, többek több asztali rendszeren egyszerûen for- minden egyes pálya teljesítésekor szû- közt (sajnos) azt is, hogy nem lehet dítható). Amennyiben befejezõdött kösen szabott idõkerettel kell gazdál- benne játékállást menteni. Így, a ne- a mûvelet, felhasználóként terminálra kodnunk. A játék a szó valódi értelmé- hézségre való tekintettel néhány gépelt toppler paranccsal léphetünk ben ügyességi jellegû, hiszen jó ütemû pályánként kap a játékos egy cheat be ebbe a varázslatos programba. Elsõ mozgással, ugrással és lövéssel tudunk kódot, melyet indítás után az indításakor mindenképpen javallott továbbjutni a következõ tornyokhoz. Options/Game menüpontba kell gépel- végignézni a menüszerkezetét, ahol Két teljesített pálya között, amolyan nie, ha a legutóbb teljesített pályákon (többek közt) a grafika alpha simítását bónuszként, víz alatti terepen (tenger- szeretné kezdeni a „toronymászást”. érdemes azonnal bekapcsolni.

www.linuxvilag.hu 2006. október 79 Grafika, multimédia, szórakozás

az aktuális állás elmentésére, ezzel viszont érdemes csínján bánni, mivel „egy menetben” csupán kétszer tudjuk megtenni. X-Moto Talán akadnak közöttetek, akik emlé- keznek az ElastoMania nevû hazai „csodára”. Arra a programra, mely an- no a (Win32 hajtotta) PC-ken szerzett magának nagy létszámú rajongói tá- bort, igen egyszerû ötletre építkezve. A következõrõl volt szó: oldalnézetbõl irányítva, triál motorunkkal kellett mindenféle nyaktörõ mutatvány segít- ségével mihamarabb az aktuális pálya végpontjába érni, miután az utunkba © Kiskapu Kft. Minden jog fenntartva (jó indulattal sem) esõ tárgyakat 2. ábra A Head over Heels linuxos verziója összeszedtük. Hamarosan házi baj- nokságok épültek a program köré, pedig a projekt alapvetõen kereske- Head over Heels és a fejlesztõk készítettek belõle egy delmi jellegû volt, ingyenesen csupán Nahát, ismét egy régi ismerõs! A most natív linuxos verziót is. A bináris igen a demóval lehetett szórakozni. említett Head over Heels nem meglepõ könnyen üzembe állítható: Nos, itt a „friss-ropogós” megvalósí- módon szintén remake verzió. a  http://retrospec.sgn.net oldalról tás, avagy az X-Moto. A szabad forrás- A RetroSpec/Tomaz Kac csapata készíti indulva le kell töltenünk a játékhoz kód modelljének köszönhetõen né- az új kódot, mely közel húsz éves öt- tartozó hohlin-verzió.tar.bz2 állo- hány hónap alatt harmincnál is több letre épül (és amely projekt már a Z80 mányt, majd ezt kicsomagolva, a map- pálya kivitelezését, és gyakorlatilag hi- központi egységek által fémjelzett 8 pa gyökerében lévõ install.sh szkriptet bamentes felépítést sikerült elérniük bites hõskorban is nagy népszerûség- el kell indítanunk rootként. Miután a fejlesztõknek. Érdekes, hogy a telje- nek örvendett). Ügyességi, mászkálós, a bináris az alapértelmezett helyére sen 2D megvalósítás ellenére szükség kalandjáték hibridrõl van szó, melyet került (/usr/local/share/games/HoH), van a játékhoz OpenGL-t támogató izometrikus nézetbõl irányíthatunk, felhasználóként terminálra gépelt hoh 3D grafikus eszközre is, mivel a képi mindezt kellemes retro zene kíséreté- paranccsal indítható a móka. A játék- effektek (füst, a motor villáinak torzu- ben, szépen megrajzolt helyszíneken menüt itt is érdemes végignézni, leg- lásai, stb.) az említett API-n keresztül át. Célunk igen egyszerû: a feladatul fõképpen a vezérlõbillentyûk beállítá- vannak megvalósítva. Az X-Moto élet- kapott terep minél nagyobb területét sának ügyén (ugrás, lövés, karakterek re hívásához látogassunk el a hivata- kell bejárnunk a két rendelkezésre álló közötti váltás). Fontos megjegyeznem, los,  http://xmoto.sourceforge.net karakterrel, minden ellenfelet és apró hogy a Head over Heels lehetõséget ad oldalra! Miután letöltöttük az aktuális fejtörõt magunk mögött hagyva. Mivel a két „szereplõ” külön szobából indul, így érdemes õket minél hama- rabb egy helyre juttatnunk: egymás fejére állva minden olyan extrát (pél- dául nagyobb ugrás) ki tudunk hasz- nálni, melyek csak ebben a helyzetben hívhatóak elõ, nem mellékesen, egy idõ múlva már csak ebben a formá- ban, együttes erõvel tudunk tovább- jutni bármely szobából. A projekt fõ ügyességi jellegén túl, a játékos néha rá lesz utalva szürkeál- lományára is, mivel sokszor végig kell gondolni, miként tudunk az adott szo- bából tovább lépni életünk elvesztése nélkül. Le a kalappal a programozók elõtt: ez a játék is kortól függetlenül ígér kellemes kikapcsolódást. Sajnos a forráskód ez esetben nem publikus, 3. ábra Az X-Moto az ElastoManiát idézi ennek ellenére gondoltak ránk,

80 Linuxvilág Grafika, multimédia, szórakozás

forrás archívot, csomagoljuk ki egy tetszõleges területre, majd a megszo- kott módon, rootként kiadott ./configure, make, make install pa- rancsokkal építsük fel a forráskódot. A függõségek ügyén kissé nehezebb (de nem megoldhatatlan) feladattal szembesülünk, mint az elõbbiekben: a konfiguráló szkript az SDL könyvtá- rakon felül lua, ode, OpenGL kompo- nensek után is kutakodik. Amennyiben a program sikeresen le- fordult, úgy felhasználóként terminálra gépelt xmoto paranccsal indítható. A cikk írásakor fellelhetõ legfrissebb verzió a kezdetleges állapotot sugalló 0.1.13 azonosítót viseli, ennek ellenére a teljesen üzembiztos és kiválóan hasz- © Kiskapu Kft. Minden jog fenntartva nálható. Menürendszere csupán a leg- fontosabb paraméterek változtatására 4. ábra Csalóka látvány: a remek CircusLinux ad lehetõséget, így biztosan nem fog senki eltévedni a lehetõségek között. állomány a helyére került, a program említett projektek minimális igényét, CircusLinux felhasználóként terminálra gépelt pedig a cikk anyagait szándékosan A CircusLinuxban az Atari egykori circuslinux, illetve circuslinux egy 650 MHz/x86 processzorra épített, üdvöskéjének (Atari2600) egyik prog- --fullscreen paranccsal indítható. 128 MByte memóriával ellátott „köl- ramja köszön vissza, linuxos remake A paraméter nélküli indító ablakban csöngépen” élesztettem fel, melynek verzióként. Valójában többrõl van itt hívja be a játékot, így érdemes az grafikai és hangeszköze egyaránt szó, mint az Atariról, hiszen nem is utóbbit erõltetni, mivel ablakban fut- szerény képességû darab volt tudok olyan „tisztességes” 8 bites ma- tatva az egér sajnos lehúzható a játék- (az X-Moto-hoz azért kénytelen vol- sinát mondani, amelyen a játék ötletét térrõl. Az eredménytábla kilenc típus- tam elõvenni egy erre a célra erõsen ne kivitelezték volna. A feladat egy- ra van osztva: a menük beállításánál túlméretezett GeForce kártyát). 2.5 szerû: két bohóc ül egy apró libikóka három kapcsoló által kilenc játékmó- GByte méretû merevlemezére „felhúz- két oldalán, melynek megfelelõ dot tudunk elõállítani. Had áruljam el tam” egy Slackware Linuxot, és csu- szárára esve az egyik bohóc a másikat a legmeglepõbb dolgot: a játék emlí- pán a maradék néhány MByte terület- fellövi a levegõbe. Célunk a játéktér tett elõdje, a Circus Atari a cikk írása- tel ga(rá)zdálkodhattam szabadon. felsõ részén szkrollozó lufikat kipuk- kor már erõsen közelít huszonhatodik Megtehettem, hiszen az említett játé- kasztani a felrepülõ figurákkal. születésnapjához... kok letöltött anyagai összesen sem Ténykedésünk pontra megy, igényeltek 50 MByte területnél többet, miközben életeink száma elõre Zárszó valamint kompromisszumoktól men- meg van határozva (a felsõ sor lufijait Akárhogy is, de ezek az „apróságok” tesen futottak még ezen a harmat- kigyûjtve kaphatunk plusz életet). komoly potenciált hordoznak maguk- gyenge vason is. Ezek után nem le- Rendkívül aranyos és szórakoztató ban. Természetesen nem gondolom, põdnék meg, ha fele ekkora hardver- játékprogramról van szó, megcá- hogy a népszerû kereskedelmi kódok- rel is megelégednének. Roppant jól folva az elsõ ránézésre törvény- nak bármiféle konkurenciát is jelent- szórakoztam ezekkel a programokkal, szerûen felmerülõ „ez túlzottan hetnek, ettõl függetlenül nem hiába hosszú órákig nem is ültem vissza puritán” gondolatot... A CircusLinux hódolnak tömegek ennek a „könnye- a saját gépem elé. Ha végig gondo- életre hívásához látogassunk el debb” mûfajnak. Van, akit a múltidézõ lom, milyen jól esett „kiügyesked- a  http://www.newbreedsoftware.com/ hangulat fog meg (és még nem is nem” magam, akkor csak elismerõen circus-linux oldalra, és töltsük le a sza- említettem a Krakout, Invaders, Pong, bólogatok a mûfajt illetõen: valahogy badon elérhetõ circuslinux-verzió.tar.gz Tr on klónokat), vagy éppen azért tele- így kell ezt csinálni. forrás archívot. A forráskód felépítése píti bármelyiküket, mert szerény ké- Mindenkinek tartalmas idõtöltést a tarball kicsomagolt tartalmában, pességû géppel rendelkezik. Akinek kívánok! rootként kiadott ./configure, make, make gyermek van a családjában, valószínû- install parancsokkal történik. leg ott is van helye ezeknek az „egy- Kovács Zsolt ([email protected]) A beállítószkript elsõsorban az X ki- szerû” programoknak, tehát a felhasz- szolgáló és az SDL könyvtárak irányá- nálók összességében nagy létszámú Quake fanatikus. Négy éve a debre- ban kutakodik, így a projekt minden tábort alkotnak. Végül hadd kanya- ceni linuxosok egyike. Töretlenül hisz asztali disztribúción könnyen üzembe rodjak vissza a hardverigényre. Õszin- a Slackware terjesztésben. állítható. Amennyiben minden bináris tén mondom, nem tudtam lemérni az

www.linuxvilag.hu 2006. október 81