Beköszöntõ © Kiskapu Kft. Minden jog fenntartva

Bátran állíthatom, hogy az októberi lapszám a - Amikor nyár elején szervezni kezdtem ezt az akciót, a lel- világ életében egyfajta mérföldkõ. kem mélyén tulajdonképpen éreztem, hogy ennek a dolog- Mint azt olvasóink közül nyilván már sokan tudják, néhány nak mûködnie kell. Biztos persze nem lehettem benne, hónapja azzal a kéréssel fordultunk a magyar linuxos kö- már csak azért sem, mert a nyár valahogy nem a „kirobba- zösséghez ( www.linuxvilag.hu/szerzoknek), hogy segítse- nó aktivitás” idõszaka. Ha júniusban valaki azt mondja nek nekünk megújítani a lap arculatát azzal, hogy cikkek nekem, hogy októberre nemhogy egy teljes lapszámot formájában átadják megszerzett tudásuk egy-egy darabká- „összehoznak” a magyar szerzõk, hanem számos cikket ját a többieknek. várakoztatni kell, mert egyszerûen nem fér bele a 82 oldal- A változás tulajdonképpen már a szeptemberi számon is ba, valószínûleg jót derültem volna rajta. világosan látszott, hiszen számos új, a leghatározottabban Az egész stáb nevében köszönöm nektek! tehetséges szerzõ bukkant fel benne. Az a lapszám, amit az Folytassátok! olvasó most a kezében tart attól olyan különleges, hogy ezt – a kernelhírektõl eltekintve – már kizárólag magyarok írták. Büki András

Most pedig lássuk, mit olvashatunk októberben. A jelenlegi menü: System Rescue CD, , , Az aktuális kernelhírek után megtudhatunk néhány pikáns Frugalware, blackPanther OS. részletet kiválasztott pingvinünk, Tóbiás szerelmi életérõl. Medve Zoltán a szerverszobák hõmérsékletének mérésére (Csak 18 éven felülieknek!) Aztán hogy Szy György fõszer- mutat be egy kissé talán rendhagyó, de mindenképpen kesztõnk kérésének – miszerint minél nagyobb számban olcsó megoldást, Sütõ János pedig a spamszûrõk mûködé- jelenjenek meg lányok a lapban – is eleget tegyünk, sének alapjait tekinti át. a Magyar Linux Dokumentációs Projekt kapcsán a nõk A „Grafika, multimédia” rovatban folytatódik a Blender és a Linux kapcsolatáról lesz szó. (Szalai András), a PoVRay (Auth Gábor) és az SVG A „Fejlesztõi sarok” rovatban két régi szerzõnk, Fülöp Balázs (Novák Áron) sorozat, illetve megtudhatjuk, hogyan készít- és Komáromi Zoltán folytatja a még az elmúlt korszakban hetünk „óriáspókos-sikongatós” horrorfilmet Blenderrel megkezdett sorozatát (Java és PEAR). (Szabó Péter). Aztán egy körkép következik a legnépszerûbb Linux Végezetül egy vállalati levelezõrendszer kialakításába terjesztések közül néhányról. A tervek szerint ezt a témát kaphatunk betekintést Pallos B. Richárd segítségével. a következõ lapszámokban még újra elõvesszük. Kellemes olvasást kívánunk! Magazin

Hírek

Átkeresztelt Mambo Netrádió kezelni, két Ethernet aljzatával pedig A népszerû, koráb- A felsõ kategóriás közvetlenül DSL- vagy kábelmodem- ban Mambo név hangszórókat gyártó hez, illetve forgalomirányítóhoz lehet alatt futó tartalomkezelõ rendszer a to- brit Acoustic Energy csatlakoztatni. A Thomson a nagykö- vábbiakban Joomla! név alatt lesz elér- „Wi-Fi internet zönség számára egyelõre nem kíván- hetõ – jelentették be a tervezet vezetõi. radio” névvel ja elérhetõvé tenni az új típust, meg- A fejlesztõk már életre hívták a terve- internetes rádióké- vásárlása kizárólag a szolgáltatók szá- zet új webhelyét is, a Joomla! 1.0 szüléket mutatott be. mára lesz lehetséges – õk viszont szá- kiadását pedig szeptemberre ígérik. A rádiókészülék rá- mos lehetõséget biztosíthatnak majd Az elsõ kiadás természetesen nem adásul vezeték nélküli is – noha ez általa, ilyen például a telefonkönyv csak annyiban fog eltérni az utolsó a hagyományos rádióknál magától ér- tartalmának szinkronizálása a háló- Mambotól, hogy átírják a nevét, ha- tetõdõ, itt arról van szó, hogy az zattal, az értesítések küldése a leve- nem számos hibajavítást is tartalmaz internetkapcsolatot is vezeték nélküli lekrõl, a webböngészés, az SMS és majd, illetve a webhelyen található úti csatolóval hozza létre. A Wi-Fi rádió MMS küldés, valamint a készülék terv szerint a jövõben is lendületesen a Real Audio, a WMV és az MP3 adat- belsõ programjának szolgáltató által folytatódik az újabb szolgáltatások folyamokat támogatja, így elvileg az végzett, távoli frissítése. A készülék megvalósítása. interneten elérhetõ rádióadások 99 operációs rendszere Linux alapú, és © Kiskapu Kft. Minden jog fenntartva  www.joomla.org százalékát képes fogni. Az adók adata- a szolgáltatók számára különféle it a Reciva cég kiszolgálójáról tölti le, testreszabási lehetõségeket is biztosít Hamarosan összecsavarhatjuk mely több ezer adót ismer a világ min- – éppen ezért talán nem is fogjuk az újságot den tájáról, de a tulajdonos saját szá- Thomson névvel látni. Fontos megje- mítógépérõl származó tartalmak ott- gyezni, hogy a Thomson egységét ha- honi sugárzására is alkalmas. A rádió- gyományos telefonhálózatra is lehet vevõ Linux alapú, ennek köszönhetõ csatlakoztatni, aminek elsõsorban viszonylagos rugalmassága, amely a segélykérõ hívások lebonyolításakor a formátumok és a protokollok kezelé- lehet jelentõsége, hiszen a VoIP szol- se és a hálózati kapcsolattal összefüg- gáltatók ilyen számokat nem feltétle- gõ biztonsági szolgáltatások terén egy- nül üzemeltetnek. A Philips egyik leányvállalata, aránt megmutatkozik. A várhatóan a Polymer Vision NV a németországi novemberben megjelenõ rádió ára kis- mobil iTunes IFA kiállításon összetekerhetõ elektro- sé borsos, körülbelül 70000 forint lesz. A Motorola, a Cingular Wireless mobil- nikus kijelzõ bemutatását tervezi. szolgáltató és az Apple Computer A Readius nevû készüléket hordozha- Technológiák, egyesüljetek együttmûködésének eredményeként tó e-readernek, elektronikus újságfélé- DECT rendszerû, VoIP elindult az elsõ olyan szolgáltatás, nek szánják, létének célja egyelõre hívások kezelésére is amely mobiltelefonról teszi lehetõvé a technológia mûködésének demonst- képes telefonkészüléket zenei tartalmak vásárlását az iTunes rálása, tényleges termékként nem fog mutat be hamarosan boltból. A Motorola a MotoROKR ne- megjelenni. A Readius a PV-QML5 tí- a francia Thomson. Az vû telefonkészülékkel szállt be az üz- pusjelzésû megjelenítõre épül. A 100 EV5203-C jelzésû telefon elõnye, letbe, mely jelenleg az egyetlen mikron vastagságú eszköz 320x240 hogy használatával számítógép köz- iTunes-képes mobilkészülék, értelem- képpontos felbontást tud, átmérõje 5”, remûködése és SkyPE vagy egyéb al- szerûen a Cingular adja a telefonháló- kontrasztaránya 10:1. Ha használója kalmazás futtatása nélkül is kényel- zatot, az Apple pedig magát az online elolvasta az õt érdeklõ tartalmat, ak- mesen lehet VoIP hívásokat bonyolí- boltot – természetesen az új szolgálta- kor a kijelzõt egy 100 x 60 x 20 mm tani. A színes kijelzõvel ellátott ké- tástól mindhárom szereplõ forgalom- méretû tokba tudja összecsavarni. szülék egyszerre két hívást is képes növekedést vár.

6 Linuxvilág Magazin

ThinkFree Office lesz 16 Mbit/s sebességûre gyorsítani, A ThinkFree bemutatta ugyanakkor ellene szól, hogy használa- Office nevû program- ta a rádiós összeköttetésekhez viszo- csomagjának legújabb, nyítva továbbra is kényelmetlen marad. 3-as számot viselõ vál-  www.irda.org tozatát. A Microsoft Office formátumaival Okos ellenségek teljes kompatibilitást Az izraeli Alseek az Ageia a fizikai mo- ígérõ csomag három alkalmazást tartal- dellezést segítõ PhysX lapkájának min- maz, a Write nevû szövegszerkesztõt, tájára újabb kiegészítõt tervez a számí- a Calc nevû táblázatkezelõt és a Show tógépes játékok számára: mesterséges nevû bemutatókészítõt. A ThinkFree intelligenciát növelõ célprocesszort. Office Java alapú, ennek köszönhetõen A számítógépes játékok régi problémá- nem okozott gondot, hogy azonnal há- ja, hogy a gépi játékosok túlságosan os- romféle operációs rendszerre is elké- tobák, sokszor céltalanul, rossz irányba, szítsék: Linuxra, Windowsra és Mac OS ide-oda rohangálnak, a különféle aka- X alá. A csomag sokféle eszközzel segíti dályok és tereptárgyak között nem az operációs rendszerek közötti átjárást, találják a célhelyhez vezetõ útvonalat, © Kiskapu Kft. Minden jog fenntartva ilyen például az XML és a PDF formá- esetleg éppen egymásban akadnak el. tum támogatása és az, hogy beépítve A játékfejlesztõ cégek komoly erõfeszí- tartalmazza a leggyakrabban használt téseket tettek a háttérben futó algorit- betûtípusokat, az Arialt és a Times New musok javítására, ám az eredmény Romant. A Java nyelv révén a csomag mind a mai napig megkérdõjelezhetõ. vállalati környezetben nem csak az Ennek oka részben a számítógépek szá- egyes munkaállomásokra telepíthetõ mítási kapacitásának korlátossága, illet- fel, de központi kiszolgálóról is elérhe- ve az, hogy a mesterséges intelligencia tõvé tehetõ, így csökkenthetõk a fel- biztosítása rengeteg igen/nem jellegû ügyeleti terhek, illetve kisebb gondot döntést igényel, míg a számítógépek okoz egy-egy munkaállomás meghibá- processzorai inkább lineáris jellegû sodása. A cég online változatot is kínál feladatok elvégzésére alkalmasak. Az belõle, ez a dobozos változat minden Alseek AIS-1 lapkája, melybõl már el is elemét tartalmazza, továbbá minden készült az elsõ prototípus, a tervek sze- felhasználónak 30 MB tárhelyet biztosít rint ezen fog segíteni. A feladat termé- a dokumentumainak tárolására. Az 50 szetesen sokrétû, hiszen az építkezõs- dolláros csomag jelenleg 11 nyelven be- háborúzós játékok egészen másfajta szél, a közeljövõben várhatóan további mesterséges intelligenciát igényelnek, nyelvekre is honosítani fogják. mint a lövöldözõsek vagy éppen  www.thinkfree.com a sakkjátékok. A lapka négy fõ terüle- ten lesz erõs: az útvonalkeresésben, Infráék erõsítenek a terepelemzésben, a gépi harcosok Az Infrared Data vagy kisebb csoportok mozgatásában Association (IrDA) új, a ko- és az érzékelõszervek szimulálásában; rábbinál jóval nagyobb se- utóbbi révén lehetõvé válik, hogy a gé- bességet nyújtó infravörös adatátviteli pi szereplõk élethû módon reagáljanak protokollt fogadott el. Az IrSimple nevû a kívülrõl érkezõ hatásokra. Az AIS-1-et protokoll idõvel akár 100 Mbit/s sebessé- a játékosok számára PCI foglalatba il- get is képes lesz biztosítani, ami 25-szö- leszkedõ kiegészítõ kártyán kívánják rös növekedést jelentene a jelenlegi elérhetõvé tenni, illetve a gyártók szán- 4 Mbit/s-hoz képest. Az új infravörös dékaitól függõen akár a játékkonzolokba szabványt elõdeihez hasonlóan fõként beépítve is viszontláthatjuk majd – egy- hordozható készülékekhez, digitális elõre még bizonytalan, hogy mikor. fényképezõgépekhez fejlesztik, ugyan- akkor életképessége finoman szólva két- Medgyesi Zoltán ségbe vonható, hiszen a rádiós megol- ([email protected]) dások, mint a Bluetooth és a Wi-Fi, az A Linuxvilág hírszerkesz- utóbbi idõben erõsen háttérbe szorítot- tõje. Szabadidejét legszí- ták az infravörös megoldásokat. Az vesebben a barátnõjével IrSimple terjedését elõsegítheti, hogy tölti, szeret autózni és a megfelelõ szoftverfrissítés végrehajtá- bográcsban fõzni. sa után a meglévõ adó-vevõket is képes

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

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

git jelenség folytatódik. küzdenek azért, hogy felzárkózzanak. misített minden lehetséges szabványt, A saját fejlesztését kiszolgáló, Markus Klotzbuecherhas készített egy kivételt halmozva kivételre, mindezt kezdetektõl villámgyors git, érdekes új virtuális fájl rendszert, amit elegyítettek kereskedelmi titkokkal, és ésA a Cogito nevû közkedvelt csomagoló mini_fo-nak (fanout overlay) neveznek. szabadalmaztatott dokumentumokkal, (wrapper) szkriptjei folyamatosan ja- Mely engedélyezi a felhasználóknak, amitõl bárki megõrülhetne, még ak- vulnak, és mára már hatalmas lökést hogy csak olvasható fájlrendszeren ta- kor is, ha megkísérli karbantartani az adtak a kernel fejlesztésének. Különbö- lálható fájlokba írjanak, azáltal, hogy IDE kernel kódot. Ez a család, mint zõ projektek állnak át BitKeeper-rõl létrehoz egy írható területet valahol Bartlomiej és Alan, és azok az embe- git-re. A Net driver és a libata fejleszté- máshol és a felhasználó változásait egy, rek, akik elõttük jöttek, mint Mark se máris átállt. Ugyanígy tett a JFS és a csak olvasható terület fölötti rétegben Lord és Andre Hedrick, éppen ezt NTFS projekt is. A stabil w.x.z.y helyezi el. A felhasználó számára mind- csinálják hálával tartozunk ezért kernelfa, melyet Greg Kroah-Hartman ezt átlátszó módon. Ami eddig csak ol- nagylelkû természetükért. Az IDE kód és Chris Wright tartanak karban, szin- vasható adat volt, most írhatónak is tû- nélkül, legtöbbünk közel sem találná tén nem régen cserélte le a BitKeeper-t, nik, annak ellenére, hogy a csak olvas- a Linuxot ilyen használhatónak. git-re. Néhány kernelhacker számára ható adat sohasem változik. A mini_fo Benjamin LaHaiser nemrégiben meg- a git elõrelépést jelent a BitKeeperhez eszközt arra a célja, hogy elérhetõvé próbálta egyszerûsíteni és jobban kar- képest, és sokkal több munkát tudnak váljon a szoftver frissítés beágyazott bantarthatóvá tenni a szemaforra ala- © Kiskapu Kft. Minden jog fenntartva vele elvégezni, mint azelõtt. Még maga rendszerekben, de egyéb felhasználási pozott kölcsönös kizárást a teljes kernel is újragondolja a foltok területet is találtak a szoftvernek, architektúrában. A jelenlegi kód komp- kezelésének módját abból a célból, és még kétségtelenül lesz néhány. lex, nehezen olvasható, és sok architek- hogy azt a git-hez hozzáillessze. Alan Cox és Bartlomiej Zolnierkiewicz, túra specifikus részletet tartalmaz. Ezek A BitKeeper dokumentációt eltávolítot- a két remek IDE fejlesztõ, bajba kerül- a kis árnyalatnyi különbségek a támo- ták a kernel forrásából és a levelezési tek amikor egységesíteni próbálták igye- gatott architektúrák számával arányo- listák, mint amilyen a bk-commits-head, kezeteiket. Mialatt Bartlomiej a jelenlegi san nõnek, és érthetõ az erõfeszítés egy amelyek eredetileg azt a célt szolgálták, IDE karbantartó, Alan sok elõkészületet generikus szemafor rendszerre, amely hogy a BitKeeper változásait tegyék tett azért, hogy a régi IDE kódot kar- lefordítható, és mûködtethetõ egysége- rajtuk közzé, ma a git kernelfolt meg- bantartható állapotba hozza a kimond- sen az összes architektúrán. Azonban jegyzéseket fogadják. hatatlan (hulla-szór) rémálomból, a szemaforok alacsony szintû mûvele- Ugyanakkor a git nem való mindenki- amilyen már évek óta volt. Habár Alan tek, és a nagy sebességû kód szüksé- nek. Amikor Andrew Mortont megkér- az utóbbi idõben némiképp a kívülrõl gessége vitathatatlan. Pontosan ezért deztük, azt válaszolta, hogy nem áll figyelte a Linux fejlõdését, visszatért, kisebb lassulás, elképzelhetõ, hogy szándékában a git-et saját -mm kernel hogy ellenõrizze az IDE haladását, és jelentõs mértékû kernel lassulást ered- fájának menedzselésére használni, nem tetszését fejezte ki azokkal a válto- ményezne, ezért feltehetõen bármelyik mert saját patch szkriptjei teljesen ki- zásokkal szemben, amit Bartlomiej tett. kísérlet a kód egységesítésben erõs elégítik igényeit. Matt Mackwall szin- Úgy tûnik, mintha harag lenne kettejük ellenállással találkozna a különbözõ tén saját villámsebességû verzió követõ között, ahogyan ez szokássá vált bár- architektúrát karbantartók részérõl. rendszerével, a Mercuriallal dolgozik. mely két fejlesztõ között, akik egyszer- Ez volt az, ahogyan valójában A Mercurial szintén egy kiváló eszköz, re, vagy egymás után dolgoztak az IDE Benjamin munkáját fogadták. Habár és sok szempontból egyenértékû a git- fejlesztésén. Bartlomiej felajánlotta néhány javítást természetesen készítet- tel, kiváltképpen a sebesség területén. Alan-nek, hogy ágaztassák el a kódot tek, nem tûnik valószínûnek tehát, Valójában, ahogyan Linus rámutatott, és készítsék külön a fejlesztést, hogy a szemafor kód valamikor is iga- mindkettõ az alapvetõ viselkedésük te- amennyiben ez õt boldoggá teszi. zán általános és egyszerû lesz. A sebes- kintetében azonos. Valóban, mindkettõ Azt mondják az IDE fejlesztése még ség még mindig elég erõs ösztönzõerõ. a verzió követés egy teljesen új aspek- mindig ellenségeskedést szülhet a fej- tusát képviseli, és a projektek ahogyan lesztõk között. Ezért nekünk az IDE Zack Brown az arch melyek korábban vezetõk lemez iparágat magát kell vádolni, Linux Journal 2005. 137. szám voltak ezen a téren, most hirtelen amelyik teljesen egyoldalú és megsem-

8 Linuxvilág

Magazin

Novell Security Manager – Védelem egy egész hadsereg erejével A Novell Security Manager egy kényelmesen felügyelhetõ, integrált csomag a vállalatok és intézmények biztonságos mûködésének megteremtéséhez.

nformatikai rendszerünk stabil fokozottan ki vannak téve mûködésének elengedhetetlen a különféle rosszindulatú feltétele a biztonság megteremté- támadásoknak: vírusok, Ise. A külsõ fenyegetésekkel szembeni férgek, alkalmazások védelem megvalósításához azonban kihasználása, szolgálat- sokféle biztonsági eszközre és alkal- megtagadási támadások mazásra van szükség egy vállalatnál: (denial-of-service; DoS), tûzfalra, virtuális magánhálózatra, spam, információlopás behatolásvédelemre, vírus- és és még sorolhatnánk. spamszûrésre, valamint URL-szûrésre. Az egyre több irányból Mindezen védelmi módszerek külön- fenyegetõ veszélyek ellen féle gyártóktól való beszerzése és tele- többféle védekezési mód- pítése költségigényes, és a rendszer szert is kell használni felügyeletét is jelentõsen megnehezíti. – a rendelkezésre álló költ- A Novell Security Manager mindezeket ségkereten belül. A Novell egyben, egy kényelmesen felügyelhe- Security Manager minden tõ, integrált csomagban kínálja. más megoldásnál alacso- © Kiskapu Kft. Minden jog fenntartva A Novell a Linux és a személyazonos- nyabb költségszinten ké- ság alapú biztonság területén piacve- pes mindezt megvalósíta- zetõ technológiáját és az Astaro háló- ni. Mivel Linuxra épül, zati biztonsági szoftverek és berende- nem csak költséghaté- zések terén szerzett tapasztalatát öt- konysága, de páratlan biz- vözve fejlesztette ki a Novell Security tonsága miatt is népszerû. Manager legújabb verzióját. A Linux Könnyen telepíthetõ és felügyelhetõ, és a kommunikációs folyamatok meg- alapokra épülõ biztonsági megoldás méretezhetõ és mégis biztonságos. sértésének felderítése végett nyomon kihasználja a nyílt forráskódú közös- Használatával a cég teljes kimenõ és be- követi az eseményeket. ség együttmûködésének eredményeit; jövõ kommunikációs forgalma gyorsan, Blokkolja a kommunikációs forgalmat, egyetlen kereskedelmi szoftver sem teljesen és hatékonyan biztosítható. ha az nem felel meg a portokra, proto- kínálja ugyanezeket a funkciókat. A Novell teljes hálózati biztonsági kollokra, valamint a várt forrásokra A Novell Security Manager nagy telje- megoldása összesen hat határbizton- és célhelyekre beállított szabályoknak sítménye miatt hatékony védelmet sági alkalmazást és integrált felügyele- (állapotfigyelõ csomagvizsgálat és nyújt az elsõ vonalban felmerülõ ti platformot biztosít. A SUSE LINUX alkalmazásszintû szûrés). Képes meg- biztonsági fenyegetésekkel szemben, alapú alkalmazás átfogó biztonsági védeni a forgalmat a vezeték nélküli de használható egy meglévõ tûzfal infrastruktúrája a betörõk, vírusok, eszközöktõl is. mögötti kiegészítõ szintként is. férgek, levélszemét és betörések jelen- A számos hálózati kapcsolat felügye- tette biztonsági fenyegetések ellen is letének egyszerûsítésére és a teljesít- Áttekintés védelmezi a vállalatokat. mény növelésére az Astaro biztonsági A folyamatos, zökkenõmentes kommu- proxykat alkalmazza a legfontosabb nikáció az ügyfelek, az üzleti partne- Tûzfal protokollokhoz (például a HTTP, rek és az alkalmazottak között létfon- A Novell Security Manager tûzfala DNS, SOCKS, POP3, Ident és SMTP tosságú egy vállalat mûködéséhez. az összes hálózatról érkezõ kommuni- esetében). A fontos tûzfalfunkciók kö- Az internetet használó szervezetek kációs csomag fejlécét átvizsgálja, zé tartozik még a hálózati címfordítás,

10 Linuxvilág Magazin

a maszkolás, valamint a szolgálat- ismert spamküldõk listájával összeha- megtagadási támadásokkal szembeni sonlítva, saját fekete- és fehérlistákat védelem. hoz létre, szabályokat és mintázatokat használ a levelek szövegének elemzé- Virtuális magánhálózat sére és hozzájuk rendel egy „spam A távoli felhasználók számára, akik pontszámot”. A kívánt küszöbérték be- az internetet használják kommuniká- állításával a gyanús levelek eldobhatók, cióra, a Novell Security Managerben visszautasíthatók egy küldõnek szóló található virtuális magánhálózat üzenettel, figyelmeztetéssel átengedhe- (VPN) rendkívüli mértékben képes tõk a felhasználó felé, illetve karantén- csökkenteni a kommunikációs költsé- ba zárhatók, ahol a rendszergazda geket azzal, hogy megszünteti megvizsgálhatja õket és megteheti a drága bérelt vonalak szükségessé- Vírusvédelem a megfelelõ intézkedéseket. Ez a rugal- gét. Mivel a VPN-átjáró rendkívül A Novell Security Manager szûrõ ke- masság lehetõvé teszi a finom egyen- rugalmas – sokféle architektúrát retrendszere átvizsgálja az e-mail üze- súly megteremtését a spamszûrés és jó támogat –, VPN kapcsolat teremthetõ neteket, fájlokat és a webes forgalmat levelek véletlen blokkolásának elkerü- a távoli irodákkal, az otthoni munka- a vírusok, férgek, trójai programok és lése között. A Novell Security Manager helyekkel és egyéb nyilvános helyek- egyéb rosszindulatú szoftverek után jelentést készít a spamüzenetek számá- © Kiskapu Kft. Minden jog fenntartva kel (például szállodák konferencia- kutatva. A Novell Security Manager ról és méretérõl, így felismerhetõkké termeivel). A legfejlettebb titkosítási kétféle típusú vírusvédelmet kínál: válnak a mintázatok és a trendek is. algoritmusok és a hitelesítési mód- a hagyományos e-mailekhez és fájlok- szerek, valamint a VPN-kliensek hoz, valamint a webböngészõben Barangolásvédelem (URL-szûrés) széles köre áll rendelkezésre. letöltött e-mailekhez és fájlokhoz is. Az internet rendkívül fontos eszköz A Novell Security Manager saját A Novell Security Manager sokféle ví- a cégek számára, de ha a munkatársak tanúsítványhatósággal rendelkezik rusellenõrzõ módszert használ annak túl sok idõt töltenek a weben baran- a digitális aláírások egyszerû és biz- érdekében, hogy a lehetõ legtöbb ví- golva, a termelékenység csökkenhet, tonságos kezelésére, és teljes mér- rust megfogja: elemzi az e-maileket és illetve ha nem helyénvaló vagy jogvé- tékben támogatja a nyilvános kulcsú a csatolmányokat az ismert, vírusok- dett anyagokat töltenek le, akkor jogi titkosítás használatát. hoz társítható kódok megkeresésére, problémák is felvetõdhetnek. A baran- heurisztikus módszerekkel keres az is- golásvédelem lehetõvé teszi a webes Védelem a behatolásokkal szemben mert vírusmintázatokhoz hasonló kó- tevékenységek védelmét a webhasz- A Novell Security Manager behatolás- dokat és ezeket hagyja végrehajtódni nálati irányelvek kidolgozásával. védelmi összetevõje egy több mint egy védett környezetben, ahol a prob- A Novell Security Manager segítségé- 2000 mintát és szabályt tartalmazó lémák a megfertõzõdés veszélye nél- vel a cég vezetése 58 különféle kategó- adatbázis alapján (amelynek karban- kül felismerhetõk. ria használatával határozhatja meg tartását a vezetõ nyílt forráskódú A gyanús kódokat összeveti a webhasználati irányelveket, ilyenek Intrusion Detection Snort™ behatolás- a Kaspersky Lab adatbázisával, amely például a szex, a szerencsejátékok, védelmi projekt végzi) felderíti és a világ egyik legnagyobb, 100 ezer ví- a törvénytelen tevékenységek, illetve blokkolja az alkalmazás- és protokoll- rusjellemzõt tartalmazó listája. Az átjá- az amúgy törvényes, de a munkához specifikus támadásokat. Beállítható, róban történõ vírusellenõrzés lehetõvé nem szükséges tevékenységek mint hogy gyanús tevékenység észlelése teszi az új vírusokra való gyors reagá- például a vásárlás, az árverések láto- esetén e-mailben értesítse a rendszer- lást, mielõtt azok elérnék a belsõ rend- gatása, a szórakozás vagy a munkake- gazdát, vagy azonnal blokkolja szereket. Ez a szolgáltatás az asztali resés. Az üzemeltetést végzõ osztály a gyanús forgalmat a tûzfalon keresz- vírusellenõrzõk kritikus fontosságú ki- egyszerûen mérheti a webes tevé- tül. Ennek felügyeletét az egyedi sza- egészítõje, mert azokat gyakran bonyo- kenységeket és jelentéseket készíthet bályok vagy a teljes kategóriák szint- lult a teljes szervezetben frissíteni. Meg- ezekrõl a problémák azonosítására és jén is végezheti. A szabályokat adható, hogy el kívánja-e dobni a gya- a prioritások megadására, vagy blok- a Novell Up2Date szolgáltatás folya- nús leveleket és csatolmányokat, vagy kolhatja bizonyos URL kategóriák matosan frissíti; ezekhez új szabályok visszautasítja azokat a küldõnek szóló elérését, így azok hozzáférhetetlenek adhatóak, vagy a meglévõk testre üzenettel, illetve figyelmeztetéssel áten- lesznek a felhasználók számára. szabhatóak. Leállítható, vagy korlátoz- gedi a felhasználó felé vagy karanténba A Novell Security Manager egy ható a legújabb kommunikációs zárja õket, hogy az adminisztrátor (a Cobiontól származó) 20 millió kate- formákkal kapcsolatos tevékenység: megvizsgálhassa azokat és megtehesse gorizált webcímet tartalmazó adatbá- például az azonnali üzenetküldés, a szükséges intézkedéseket. zist használ, ami jelenleg a kereskedel- a csevegés vagy az egyenrangú (peer- mi forgalomban kapható legnagyobb to-peer) hálózatok. Ez kritikus fontos- Spam elleni védekezés lista. Ez a lista természetesen további ságú kiegészítõje lehet a biztonságnak, A Novell Security Manager számos saját fekete- és fehérlistákkal bõvíthe- különösen, mivel egyelõre kevés spamfelismerõ módszert használ a ké- tõ. A felhasználók különféle csoportjai védekezési mód létezik az ilyen típusú retlen levelek azonosítására és blokko- számára pedig külön fekete- és fehér- visszaélésekkel szemben. lására. Ellenõrzi a levelek forrását az listák is létrehozhatók.

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

Tóbiás a befutó

Elõzõ lapszámunkban felhívást tettünk közzé; olvasóink segítségét kértük pingvin-örökbefogadási vállalkozásunkhoz. Ezennel közhírré tétetik a Linuxvilág totyogó befutója: nem más õ, mint Tóbiás (szül. 1998, Rostock).

miképpen e teltkarcsú ez utóbbiakon A palimadár belopta magát foglalt helyet a szavazók szívébe, aképpen szemérmesen, én lopakodtam be az Fõvárosi Állatkert magánéletérõl fag- Kis-sziklájának pingvin-lakta tövéhez, gatóztam. Nyilván- hogy közelebbrõl szemrevételezhes- valóan korábbi sem a legtetszõbb ábrázatú példányt. idõkre tehetõ Az egyik gondozó hölgyet faggattam, eladósorba jutása, merre lelem Tóbiást. A kedves hölgy s Gilbert ama feleletébõl megtudhattam, hogy a ke- madártárs, ki nem resett egyed éppen tanúkat mellõzve hagyta õt pártában s ezért láthatatlan elvonult kötelessé- hervadni el. gét végezni – tojásain ül… Õk ketten számos Némiképp gyanakodván, hogy tán dologban hason- áldozata lettem az elhamarkodottság- lítanak, talán nak, miszerint feltételeztem, hogy legfõképpen Tóbiás ivarát tekintve hím, rákérdez- a megtévesztõ © Kiskapu Kft. Minden jog fenntartva tem egyenest a valóra. Abban a meg- látszat (és tojások) tiszteltetésben lehetett részem, hogy keltésében. Ugyan- e madár szinte érkezésemmel egy is Gilbertrõl is idõben váltott nemet. Tudniillik ping- kiderült, hogy vinéknél csemetekorban nem lehet nem éppen férfi csalhatatlan biztonsággal megmon- a talpán... dani leányságot, avagy legénységet Letépve az elõítéle- (leszámítva fölös és kockázatos vizsgá- tek láncait, akár latok igénybevételét). Így hát marad pingvin a heringes a tapasztalatokon és megfigyeléseken vödörben halászgat- nyugvó szemek általi vizsgálat, mint tam tovább a sze- például testnagyság-vizslatás, szexuá- relmi hajlandóság lis pozitúrák kifürkészése és rácsodál- zavaraiban. Úgy kozás ülep alatti tojásokra. Míg Tóbiás látszik, ha testi szomjúságot kell oltani, e szárnyasok Bízva a rajtaütés sikerében, hogy a saj- sem szõrszálhasogatóak párválasz- tótájékoztató alkalmából személyesen tásuk folyamán. Ellenben igen mo- is kokettálhatunk a jómadárral, s meg- nogám és hûséges természetûek, tudhatjuk, hogy látszat- és tojáskelté- s noha az erény mindenképpen tisz- sen kívül mikkel múlatja szabadidejét, teletet követel, mégiscsak örömteli illetve mily pontos paraméterekkel bír lenne idõvel szülõkbõl nagyszülõkké is õ derékbõségétõl kezdve gyomra is válnunk. Reményekre adhat okot, heringbefogadói képességéig. hogy a minap friss szállítmány érke- zett az Állatkertbe tucatnál is több (Folyt. Köv.) pingvinfiú személyében. Halusz Léna

12 Linuxvilág

Magazin

A nõk és a Linux

Interjú Konkoly Katalinnal, az MLDP idei díjazottjával.

Bár egyesek véleménye szerint nem értek – az apró helyesírási és Ez év tavaszán meghívást kap- a Linux HOGYAN-ok és más do- gépelési hibák kigyomlálása, valamint tam a Debrecenben megrendezett kumentumok magyarra fordítása a CD tesztelése volt a feladatom. V. LOK konferenciára elõadóként. puszta idõpocsékolás – mondván Mindez a nyári szünetben zajlott, A téma, amirõl beszéltem: A sza- a számítástechnika „hivatalos és oly mértékben fellelkesültem a sza- bad szoftverek felhasználásának nyelve” úgyis az angol – tény, hogy bad szoftverek, a Linux, a közösségi különbözõ lehetõségei (Windows különösen a kezdõk számára az szellem világa láttán, hogy a tanév- alatt, live Linuxszal, illetve telepí- anyanyelven rendelkezésre álló iro- nyitó értekezlet elõtti napon Szász tett Linux rendszeren). Az elõadás dalom óriási segítség. Éppen ezért Endre Istvánnal (Szaszka) tartottunk sikerén felbuzdulva a tantestület- jött létre Daczi László vezetésével egy Linux-bemutatót a tantestület ben is megemlítettem, hogy szíve- a Magyar Linux Dokumentációs számára, az UHU Live segítségével. sen vállalok a diákok számára is Projekt, amely minden évben díjazza Sajnos a kollégák között nem sikerült elõadást, akár osztályfõnöki, akár legjobb fordítóit, lektorait. Lapunk elérnem, hogy nagyobb számban számítástechnika óra keretében. az egyik díjazottat, Konkoly Katalint használjanak Linuxot (gyakorlatilag A kollégák mindez ideig nem éltek kérdezte arról, hogyan is keveredett egyikük sem tért át...), de azt fontos az ajánlatommal. a linuxosok közé... eredménynek érzem, hogy legalább Ez persze nem szegte kedvemet, hallottak a szabad szoftverekrõl. mert úgy gondoltam: ha kissé il- © Kiskapu Kft. Minden jog fenntartva Elöljáróban meg kell mondanom, Õsszel már úgy éreztem, én is tartozom legálisan is, de a saját tanóráimon hogy nem érzem magamat méltónak a linuxos közösségnek azzal, hogy is beszélhetek a gyerekeknek a megtiszteltetésre (úgy értem, amihez értek, azt valami módon köz- a szabad szoftverekrõl. Így aztán vannak nálam sokkal több fordítást kinccsé tegyem. Sok fórumon azt ta- az iskolai laptop és projektor segít- végzett önkéntesek), mert csak nem- pasztaltam, hogy az újonnan áttért ségével a német és francia óráimon rég kezdtem (körülbelül egy éve) felhasználóknak gyakran gondjuk van tartottam néhány érdeklõdõ csopor- Linuxszal foglalkozni, a fordítói-lekto- a dokumentációkkal, hiányos angol tomban linuxos bemutatót – termé- ri munkát is csak pár hónapja végzem. nyelvismeretük miatt. Ekkor kezdtem szetesen szigorúan csak a tanév Az is meglepett – bár nagyon jóle- el keresgélni a neten valamilyen sza- utolsó napjaiban, miután a tanterv- sett –, hogy dacas (Daczi László) bad szoftverekkel kapcsolatos fordítá- ben elõírtakat teljesítettük. Örömmel díjazásra érdemesnek tartotta si lehetõség után, s így bukkantam láttam, hogy néhányukat megérin- az eddigi munkámat. a tldp.fsf.hu oldalára, ahol örömmel lát- tette a Linux világa, segítséget, taná- A jászberényi Lehel Vezér Gimnázium- tam, hogy önkéntes fordítókra mindig csot, telepítõcédéket kértek tõlem. ban tanítok, német-francia szakos szükség van :). Jelentkeztem is dacasnál Természetesen nem célom minden tanárként, tehát papírforma szerint (Daczi László), és a fordításra váró diákom „megtérítése”, de fontos- semmi közöm a számítástechnikához. HOGYAN-ok listájából azonnal kisze- nak tartom, hogy ezen a módon 2004. júniusában került az elsõ Linux meltem a HOWTO Encourage Women is tudomást szerezzenek a szabad a gépemre, azonnal elfoglalva az addi- in Linux (Hogyan bátorítsuk a nõket szoftverekrõl, a Linuxról, s mûkö- gi Windows helyét. Ez épp az UHU 1.1 a Linux használatára) címût. Hamaro- dés közben is lássák. volt, és mivel meglehetõsen szokatlan san el is készült, népszerû is lett Sok önálló itthoni Linux-tanulás volt az új rendszer, feliratkoztam az (a HUP letöltési statisztikája szerint). és gyakorlás után úgy éreztem, UHU-listákra, ahol nagyon sokat ta- Azóta egy nagyobb frissítésen dol- egyedül már nem tudok továbblépni nultam, és sok jó barátra tettem szert. goztam: a System Administrators e téren, ezért tavasszal beiratkoztam Többek között ott ismertem meg Guide-on (Linux rendszeradminiszt- egy rendszerinformatikus tanfo- Emersont (Tersánszky Csaba), aki az rátorok kézikönyve), és két kisebb lyamra, ahol nagyon jó társaságba UHU Live CD-ket készíti. Vele aztán lektorálási munkám volt (A katedrális kerültem, és sok új ismeretre tettem egy CD erejéig együtt is dolgoztunk, és a bazár jegyzetei, illetve szert. Az iskolám anyagilag nem ahol nekem – mivel programozáshoz a Webkamera-HOGYAN). támogatja ezt a képzésemet.

14 Linuxvilág Fejlesztõi sarok

Kávéfõzés lépésrõl lépésre (5. rész)

A programozó pedig ablakokat és nyomógombokat hozott létre. Így a felhasználó kedve szerint kattinthatott, az õ legnagyobb megelégedésére...

Ha a kedves Olvasó idáig figye- (GUI, Graphical User Interface) létre- Ezek után a készítendõ program dönti lemmel kísérte a cikksorozatot, bátran hozásához. A cikksorozat eddigi részei el, hogy a mérleg nyelve merre dõl. állíthatja, hogy azokkal az objektum- a hûséges Olvasóban talán már gya- Én személy szerint azért teszem erre központúsággal kapcsolatos fogalmak- nút ébreszthetnek, ám mielõtt kimon- a nyelvre a voksomat, mert így kal, melyek sokaknak mindössze danánk a boldogító igent a Java olda- könnyen elérhetem, hogy programjai- valamilyen titkos szekta misztikus lán, mérlegeljük a mellette és az ellene mat, melyeket a Microsoft által készí- varázsigéit jelentik, bizony már szoros szóló érveket. tett operációs rendszereken kell be- baráti viszonyban áll. Az osztály, az A Java objektumközpontú, ami a je- mutatnom, szeretett Linuxom alatt objektum, az interfész, az öröklõdés lenleg ismert leghatékonyabb módszer írhatom meg. Mindenki maga dönt- és a kivételkezelés hallatán szívéhez ablakozó rendszer programozására. sön, majd a helyes döntést követõen közel álló eszközök és módszerek Emellett a futtatókörnyezettõl bájtkód olvassa tovább a cikket. jutnak eszébe, melyek segítségével szinten független, ezért könnyen hor- Ismerjük el, egy kissé kezd unalmas egy alkalmazás tervezése, megvalósí- dozható. Ugyanakkor lehetõséget ad lenni, hogy mindenki állandóan tása és karbantartása is egyszerûbbé akár az operációs rendszer által nyúj- a világot köszöntgeti. A sorozat elsõ és gyorsabbá válik. tott eszközkészlet, akár egy saját, min- részében már mi is megtettük, elsõ Joggal jelenthetjük ki tehát, hogy den rendszeren azonosan megjelenõ Java nyelven írt grafikus alkalmazá- mindent megtettünk saját magunk, eszközkészlet használatára. A képer- sunk legyen ennél valamivel érdeke- programozók örömére. Azonban ne nyõn megjelenõ vezérlõkhöz köthetõ sebb. Lássuk a kódot (1. kód)! © Kiskapu Kft. Minden jog fenntartva felejtsük el, hogy nincs programozó eseménykezelõk pedig teljes és jól Minden szerénységem megtartása felhasználó nélkül, hiszen az sem átlátható rendszert adnak. mellett meg kell jegyezzem, hogy jó színész, akit a rendezõn kívül más Ezzel szemben tudni kell, hogy egy tisztában vagyok azzal, mennyire nem látott szerepelni. Ezért most, Java alkalmazás virtuális gépet igé- lebilincselõek az írásaim. Ennek elle- hogy már elhangzottak a kenetteljes nyel (JVM, Java Virtual Machine). nére most arra kérném a kedves Olva- szentbeszédek a programozókat ki- Ez minden szélesebb körben használt sót, hogy mielõtt továbbolvasná a cik- szolgáló objektumközpontú technikák operációs rendszerre elérhetõ, de ket, gépelje be az itt látható program mellett, eljött az ideje, hogy a felhasz- nem szükségszerû, hogy fel is tele- kódját, fordítsa és futtassa azt. nálóknak is kedvezzünk. A felhaszná- pítették. Erõforrásigénye sem nevez- Két nyomós indokom van arra, ló csak annak tud örülni, amit lát, ad- hetõ kimondottan alacsonynak. hogy arra kérjem, hogy olyan sorokat junk tehát most a külcsínre. Így eleshetünk egyes, matuzsálemi gépeljen, melyeknek jelentése nem Mivel mindig hangsúlyozom, hogy az korú berendezésekkel dolgozó fel- azonnal adódik, s így ez esetleg fá- informatikában is a célnak kell megha- használóktól. Azt se felejtsük el, rasztó terhet jelenthet. tároznia az eszközt, és nem fordítva, hogy bár létezik megoldás 3 dimen- Az elsõ, hogy az alkalmazás egyfajta elõször gondoljuk meg, milyen prog- ziós ábrák és animációk használatára, feladvány, ugyan nem a komoly fejtö- ramozási környezet lenne a legalkal- kevés ilyen elemeket tartalmazó rést okozók fajtájából, de mindenkép- masabb grafikus felhasználói felület Java alkalmazást láthatunk. pen tanulságos. A kód azonnali elem-

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

Container tartalom = ablak.getContentPane(); 1. kód tartalom.setLayout(new GridLayout(2, 1, 5, 5)); tartalom.add(szovegCimke); import javax.swing.JFrame; tartalom.add(gombokPanelje); import javax.swing.JLabel; import javax.swing.JButton; // esemenykezelok mind ebben az objektumban import javax.swing.JPanel; balGomb.addMouseListener(this); import java.awt.GridLayout; jobbGomb.addMouseListener(this); import java.awt.Container; balGomb.addActionListener(this); import java.awt.event.MouseAdapter; jobbGomb.addActionListener(this); import java.awt.event.MouseEvent; import java.awt.event.ActionListener; // vegso "simitasok" import java.awt.event.ActionEvent; ablak.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE); /** ablak.pack(); * Az AblakBezaros jatek megvalositasa. jobbGomb.requestFocusInWindow(); */ ablak.setVisible(true); public class AblakBezaros extends MouseAdapter } © Kiskapu Kft. Minden jog fenntartva implements ActionListener { /** /** * Akkor fut le, ha valamelyik gomb fole kerul *A teljes ablak * az egerkurzor. Ekkor felcsereli a ket gomb */ * szoveget es a fokuszt is athelyezi. private JFrame ablak; */ public void mouseEntered(MouseEvent esemeny) { /** Object forras = esemeny.getSource(); *A kerdest tartalmazo cimke if (((JButton) forras).getText().equals */ (igenSzoveg)) { private JLabel szovegCimke; if (((JButton) forras).equals(balGomb)) { balGomb.setText(nemSzoveg); /** jobbGomb.setText(igenSzoveg); * Bal- es jobboldali nyomogombok balGomb.requestFocusInWindow(); */ } else { private JButton balGomb; balGomb.setText(igenSzoveg); private JButton jobbGomb; jobbGomb.setText(nemSzoveg); jobbGomb.requestFocusInWindow(); /** } * Igen es Nem allandok } */ } private final String igenSzoveg = "Igen"; private final String nemSzoveg = "Nem"; /** * Akkor fut le, ha valamelyik gomb benyomodik. /** * Ha a benyomott gomb felirata "Igen", az *A konstruktor letrehozza az ablakot, * alkalmazas bezarul. * felteszi ra a vezerloket, es beallitja */ * az esemenykezeloket. public void actionPerformed */ (ActionEvent esemeny) { public AblakBezaros() { Object forras = esemeny.getSource(); // ablak es vezerlok letrehozasa if (((JButton) ablak = new JFrame("AblakBezaros.java"); forras).getText().equals(igenSzoveg)) { szovegCimke = new JLabel("Valóban szeretné System.exit(0); bezárni az ablakot?", } JLabel.CENTER); } balGomb = new JButton(igenSzoveg); jobbGomb = new JButton(nemSzoveg); /** * Belepesi pont, egy peldanyt hoz letre az // gombok onallo panelt kapnak * osztalybol. // az elrendezeskezelo miatt */ JPanel gombokPanelje = new JPanel(new public static void main(String[] args) { GridLayout(1, 2, 5, 5)); new AblakBezaros(); gombokPanelje.add(balGomb); } gombokPanelje.add(jobbGomb); } // az ablak tartalmanak feltoltese

16 Linuxvilág Fejlesztõi sarok

nem lett volna értelme újraírni õket. A két csomag remekül kiegészíti egy- mást, és jól használhatók, ha nem ha- nyagoljuk el az API tanulmányozását. Ugorjuk át most az osztály fejlécét és 1. ábra Ön mit tenne az adott szituációban? (2 pont) nézzük meg, mi van a törzsében. Elõször a tagváltozók felsorolását lát- juk. Egy ablakban egy szövegcímkét zésével a megoldás magáért beszélne. Behoztunk tehát tíz olyan osztályt, és két nyomógombot jelenítünk meg, A másik, hogy nehéz úgy egy grafikus amivel a sorozatban eddig nem talál- ez négy önálló objektumot jelent. alkalmazást megérteni, hogy az ered- koztunk. Az aggodalom azonban Itt találhatunk továbbá két állandót, ményét pusztán a képzelõerõnkre bíz- csak addig tarthat míg fény nem de- melyek a gombok feliratait adó szö- zuk. Különösen igaz ez akkor, ha még rül a Swing és az AWT mibenlétére. vegfüzérek. A final kulcsszóval nem sok tapasztalattal rendelkezünk A kezdetekben grafikus felhasználói biztosítjuk, hogy a változók értéke a grafikus felhasználói felületek készí- felületek létrehozásához Javaban az a késõbbiekben ne legyen módosítha- tése területén. Ezért mindenképpen AWT (Abstract Windowing Toolkit) állt tó. Az ilyen mezõk életükben egyszer javaslom a játék azonnali kipróbálását. csak rendelkezésre. Ez egy olyan osz- kaphatnak értéket. Ez a mûvelet ke- A felejthetetlen játékélményt követõ- tályokból és interfészekbõl álló hal- rülhetett volna a konstruktorba is, ek- © Kiskapu Kft. Minden jog fenntartva en nézzük meg, hogyan épül fel az mazt biztosított a programozónak, kor azonban feltétlenül ügyelni kellett alkalmazás. Az elõzõ részben is hasz- mellyel ablakokat hozhatott létre, volna arra, hogy még az elsõ állandó- náltuk az import kulcsszót, most rajta vezérlõket, és kezelhette a külön- ra való hivatkozás elõtt ellássuk azt viszont már-már ijesztõ méretekben féle eseményeket. a megfelelõ kezdõértékkel. fordul elõ. Az import a megadott Az egyik legnagyobb hátránya ennek Az ezután következõ konstruktor osztályt hozza be az alkalmazás névte- a megoldásnak pont az absztraktságá- hozza létre az ablakot. Elsõ sorában rébe. Ennek révén rövidebben hivat- ban rejlett. Miután az AWT használa- a JFrame osztályt példányosítjuk, és kozhatunk ugyanarra az osztályra, tával a programozó teljes mértékben a kapott referenciát az ablak tagválto- vagyis a behozatal után nem kell a futtatókörnyezetre bízta a megjele- zóban tároljuk. A JFrame egy Swing minden egyes helyen kiírni, hogy nítést, csak olyan elemek voltak elér- összetevõ, amely egy ablakot képvisel. javax.swing.JButton, elegendõ hetõek számára, amelyek minden Több konstruktora is van, mi most azt a JButton használata. Ennek termé- rendszeren megtalálhatók. Így az a változatot használtuk, mellyel rög- szetesen megvan az a hátulütõje, AWT a különféle ablakozó rendsze- tön meg is lehet adni az ablak címét. hogy nem hozhatunk létre saját rek beépített grafikus eszközkészle- Fontos tudni, hogy ettõl a sortól az JButton nevû osztályt az alkalma- tének legszûkebb keresztmetszetét ablak még nem jelenik meg. Alapér- zásban, de erre legtöbbször nincs kínálta csupán. Ráadásként az sem telmezésként a láthatósága hamis, is szükség. volt minden esetben elfogadható, ami azért jó, mert így a háttérben Miután csak három csomagból hasz- hogy nehezen megjósolható a prog- felépíthetjük az ablakot, amit csak nálunk osztályokat, nevezetesen ram kinézete is, hiszen mindent akkor jelenítünk meg, ha már teljesen a javax.swing, a java.awt és a futtatókörnyezet dönt el. készen van. a java.awt.event csomagokból, A Java 1.3 megjelenésével megérke- A következõ sorban hozzuk létre az elsõ tíz sort lerövidíthettük volna zett a Swing, amely már egy önálló a szövegcímkét. Konstruktorában így is: eszközkészlet a nyelvben. Teljesen megadjuk a szöveget, továbbá, hogy Java-ban íródott, ami jópár elõnnyel a rendelkezésre álló helyen középre import javax.swing.*; jár. A grafikus alkalmazás így nem igazítsa azt. Ez a címke még nem az import java.awt.*; veszít hordozhatóságán, ugyanakkor ablak része. Semmilyen módon nem import java.awt.event.*; több és nagyobb tudású vezérlõket fejeztük ki, hogy a vezérlõ, amit létre- használhat, mivel az ablak nem függ hoztunk, hol jelenjen meg. Ugyanez Így a csomagok összes osztálya a név- a futtatókörnyezettõl. A kinézet egy- a helyzet az ezután álló sorokban lét- térbe került volna. Ez viszont azért séges minden rendszeren, sõt, témá- rehozott Igen és Nem feliratú gombok- nem javasolt, mert ha a késõbbiekben kat is alkalmazhatunk a még egyedibb kal. Az elsõ sorokban tehát még csak akár nekünk, akár másnak elemeznie megjelenítés érdekében. különálló objektumokat hoztunk létre. kell a kódot, nem egyértelmû, hogy A Swing hátterében az AWT áll, így Ahhoz, hogy ezek az ablakban megje- melyik csomag miért kerül behozatal- nem lehet azt állítani egy alkalmazás- lenjenek, ki kell választanunk egy ra, más szóval milyen osztályokból ról, hogy „tisztán swinges”. A vezér- elrendezéskezelõt. Az elrendezés- építkezik a program. Nagy valószí- lõknél még igen szembetûnõen min- kezelõ az a láthatatlan kéz, amelyik nûséggel hibát nem követhetünk el, den osztály neve elé oda kell ragaszta- kirakosgatja az ablakhoz hozzáadott mert az adott helyen létrehozott osz- ni egy J betût (Button helyett elemeket az ablak területére. Mi tályok felülbírálják a behozott neve- JButton), az eseménykezelõ osztályok a GridLayout nevû elrendezéskezelõt ket, mégsem jó programozói gyakor- és interfészek viszont a jó öreg AWT használjuk, amely egy táblázatként ér- lat olyannal szennyezni a névteret, csomagból valók. Ez nem baj, mert ed- telmezi az ablakunkat. A GridLayout ami nem oda való. dig is kifogástalanul mûködtek, és példányosításakor megadhatjuk, hogy

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

volna lehetõségünk a konstruktorban ezt meghatározni, így ezt itt tesszük meg. Ezt követõen az add metódussal felhelyezzük a címkét és a gombok paneljét az ablakra. Mielõtt megjelenítenénk az abla- kot, beállítjuk az eseménykezelõket. Elsõként az egérrel kapcsolatos eseményekkel foglalkozunk. Bár- mely osztály, amely megvalósítja a MouseListener interfészt, hozzá- rendelhetõ egy vezérlõhöz. Így, ha a vezérlõ területére belép az egérkurzor, vagy kilép onnan, kattin- tás történik, esetleg a felhasználó le- nyomja az egér valamelyik gombját, vagy felengedi azt, az interfészt © Kiskapu Kft. Minden jog fenntartva megvalósító osztály megfelelõ metó- 2. ábra Az ablak felépítése dusához kerül a vezérlés. Viszont ne felejtsük el, hogy egy in- terfész megvalósítása az összes elõírt hányszor hányas táblázatot szeret- paramétert, tehát nem kell megad- metódus megvalósítását jelenti. Jelen nénk használni. Ha például kétszer nunk az elrendezéskezelõt. Ilyenkor esetben nekünk erre nincs szüksé- ketteset választunk, akkor az elsõ hoz- az alapértelmezett FlowLayout günk, hiszen csak az egér mozgását záadott elemet az ablak bal felsõ sar- végzi a vezérlõk helyének meghatá- szeretnénk követni. Ha maradnánk kába helyezi, a másodikat a jobb felsõ- rozását. Ez balról jobbra folyamato- a MouseListener interfésznél, a többi be, a harmadikat a bal alsóba, a negye- san tölti fel az ablakot a vezérlõkkel, elõírt metódust üres törzzsel ugyan, diket pedig a jobb alsóba. és ha a következõ már nem fér ki de szerepeltetni kellene a program- Most egy olyan képet szeretnénk elér- az adott sorba, akkor a következõben ban. Ennek kiküszöbölésére használ- ni, ahol a címke az ablak felsõ részé- folytatja. Ez a viselkedés nagyon ható a MouseAdapter, amely egy ben van, a gombok pedig alul, egymás közel áll egy szövegszerkesztõben olyan osztály, ami megvalósítja mellett. Ennél az elrendezéskezelõnél megtekintett bekezdésre. Az ablak a MouseListener interfészt, üres maradva ezt úgy tudnánk elképzelni, mérete alapvetõen befolyásolja itt függvénytörzsekkel. Ha ebbõl szár- hogy a kétszer kettes tábla felsõ sorá- a vezérlõ helyét, mi több, az ablak maztatjuk saját osztályunkat, csak ban álló cellákat összevonjuk. Ez átméretezésével az egész megjelenés azokat a metódusokat kell felüldefini- azonban itt nem megoldható. Ehelyett megváltozhat, ezért csak kevés értel- álnunk, melyeket ténylegesen hasz- úgy tudjuk ugyanazt a hatást kelteni, mes felhasználása van ennek az nálni szeretnénk. hogy az ablakot két részre osztjuk csu- elrendezéskezelõnek. Ezzel úgyszólván átvágtuk a gordi- pán. A felsõ rész tartalmazza majd Megváltoztatható az elrendezéske- uszi csomót. Egyetlen osztályunk, a szövegcímkét, az alsó pedig egy új zelõ egy JPanel esetében a setLayout az AblakBezaros kiterjeszti panelt. Az új panel egy bal és egy metódussal. Viszont mivel a JPanel a MouseAdapter-t, ezt jelezzük is jobboldali cellából fog állni, ezekbe paraméter nélküli konstruktora létre- az osztály fejlécében. Elkészítjük kerülnek a gombok. hoz egy példányt a FlowLayout osz- a mouseEntered metódust, melynek A vezérlõk objektumainak létrehozása tályból, a felülbírálással egy felesle- meghívását az az esemény válthatja után ezt a panelt készítjük el. ges objektum létrehozását okozzuk. ki, ha az egérkurzor belép a vezérlõ A JPanel kosntruktorának rögtön át is Ezért, amikor csak lehet, érdemes területére. Az eseménykezelõvel ké- adunk egy új GridLayout objektumot, megadni még a konstruktorban sõbb foglalkozunk, itt, a konstruk- amely 1 sorból, 2 oszlopból álló táblá- a saját elrendezéskezelõt, hogy torban csak annyit állítunk, hogy zatban rendezi el az elemeket, és elkerüljük az értelem nélküli példá- a bal- és jobboldali gomb egérrel mind vízszintes, mind függõleges nyosítást. kapcsolatos eseményeivel jelen irányban 5 képpontot hagy ki a cellák Miután elkészültünk a panellel, objektum (this) törõdik. Ezt fejezik között. Miután a panel rendelkezik felrakhatjuk az elemeket az ablakra. ki az addMouseListener hívások. egy elrendezéskezelõvel, az elemek Ehhez közvetlenül nem adhatjuk Gombok esetében ennél többet is hozzáadása egy egyszerû add metó- hozzá a vezérlõket, viszont az ablak- figyelhetünk. Egy nyomógombbal dussal történik. Az ablakon belüli tartalom egyszerûen lekérdezhetõ kapcsolatos legfontosabb esemény tényleges, x és y koordinátákkal törté- a getContentPane metódussal. az, ha lenyomják. Ez történhet egér- nõ pozicionálás már a GridLayout Ehhez elõször hozzárendelünk egy rel is, de a billentyûzet segítségével dolga. GridLayout elrendezéskezelõt, 2 sor- is odalépkedhet a felhasználó, és Megjegyzem, hogy a JPanel-nek van ral, 1 oszloppal, és 5 képpontos héza- rátenyerelhet a szóköz billentyûre. olyan konstruktora, amely nem vár gokkal. JFrame esetében nem is lett Ezt az eseményt is szeretnénk

18 Linuxvilág Fejlesztõi sarok

kezelni, amit egy olyan osztály A pack metódus meghívásával példányával tehetünk meg, amely életre keltjük a láthatatlan kezet, megvalósítja az ActionListener amely szépen elrendezi az ablaktar- interfészt. Az elõzõekkel szemben talmat. Majd mivel fontos, hogy nincs ActionAdapter osztály, a fókusz ne a bal oldali gombon de ez két ok miatt sem gond. legyen, a jobboldalinak meghívjuk Egyrészt az ActionListener csak a requestFocusInWindow metódu- egyetlen metódus megvalósítását sát. Ez még nem biztosítja, hogy írja elõ, pont azt, amire szükségünk a vezérlõ valóban meg is kapta a fó- van. Másrészt többszörös öröklõdés kuszt, és egy komoly alkalmazásnál híján újabb osztályt már ki sem érdemes is megvizsgálni a visszatéré- terjeszthetnénk. si értéket e tekintetben. Viszont A szemfüles Olvasó felfigyelhet arra a legtöbb helyzetben elegendõ, ha a tényre, hogy a gombra történõ kat- csak meghívjuk a függvényt. Végül tintás egyszerre két eseménykezelõt láthatóvá tesszük az ablakot. is érint. Egyrészt az ActionListener Az alkalmazás elindításával az imént interfészt megvalósító osztály példá- tárgyalt konstruktor fut le. A további © Kiskapu Kft. Minden jog fenntartva nyának actionPerformed metódusa, meg bezárni az alkalmazást. Ez leg- két tagfüggvény csak meghatározott másrészt a MouseAdapter-t kiterjesztõ, többször a jobb felsõ sarokban találha- események hatására lépnek életbe. vagy a MouseListener-t megvalósító tó X-re való kattintást jelenti. Ezen végletekig felhasználóbarát osztály példányának mouseClicked A setDefaultCloseOperation metó- program ablakában a felhasználó a ki- tagfüggvénye. Ezt jelen esetben nem dusnak a JFrame osztály megfelelõ lépésért küzd. Ha az „Igen” feliratú valósítottuk meg, de használata nem konstansai közül kell átadnunk egyet. gomb fölé viszi a kurzort, a gombok ütközött volna semmilyen problémá- Az alapértelmezett mûvelet az elrejtés látszólag helyet cserélnek. Valójában ba. Ilyen helyzetben mindkét függ- (HIDE_ON_CLOSE). Ezt bíráljuk felül csak a felirataik változnak meg, és vény meghívásra kerül. azzal, hogy ne történjen semmi a vezérlõk a helyükön maradnak. A „végsõ simítások” megjegyzéssel (DO_NOTHING_ON_CLOSE). A leggyak- Ezt a cselt valósítja meg illetett részben elsõként megadjuk, rabban használt mûvelet minden bi- a mouseEntered metódus. hogy mi történjen, ha a felhasználó zonnyal a kilépés (EXIT_ON_CLOSE), Minden, a MouseListener által az ablakkezelõn keresztül próbálja ám itt nem erre van szükségünk. elõírt metódus paraméterként egy

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

hivatkozást hasonlítunk össze, nagy valószínûséggel annak ellenére kapunk hamis eredményt, hogy az objektumok tartalma azonos. Miután meggyõzõdtünk arról, hogy az eseményt kiváltó gomb felirata „Igen”, hasonló eljárással megnézzük, hogy a baloldali gombról van-e szó. Ha igen, akkor a baloldali feliratát megváltoztatjuk „Nem”-re, a jobboldaliét „Igen”-re, és a baloldali kapja meg a fókuszt. Hasonló gondolatmenettel a jobb- oldali nyomógombra vonatkozó ág is értelmezhetõ. Végezetül az actionPerformed metódus adja a menekülési útvo- nalat a felhasználónak. Ha sike- rül lenyomnia a „Nem” felira- tú gombot, az alkalmazás bezárul. Ez a metó- dus a korábbiak alapján magá- ért beszél. Az egyetlen újdonság a System.exit(0) használata. Az exit a System osztály egy stati- kus metódusa, melynek para- métere az a visszatérési érték, melyet az alkalmazás a kilépéskor szolgáltat. A függvény meghívásá- MouseEvent amelyik kivál- val a program bezárul. típusú objektumot totta az eseményt. Elõbb Ebben a rövid programban szegény kap. Az egérkurzor meg kell vizsgálnunk, hogy felhasználó kergeti az egérrel azt belépését figyelõ függvény a gomb felirata Igen-e, ellenkezõ eset- a gombot, amelytõl azt várja, hogy törzsének elsõ sorában ennek ben ugyanis nincs semmi dolgunk. be tudja zárni az ablakot. Hosszabb- az eseményobjektumnak a forrását Ehhez elõbb lekérdezzük a feliratot rövidebb idõ után rá kell jönnie arra, kérdezzük le a getSource metódus a nyomógomb getText metódusával, hogy ebben a csilli-villi ablakozós segítségével. Tudnunk kell ugyanis, majd ennek a String objektumnak világban sem lehet elfelejteni a billen- hogy melyik gomb fölé került hívjuk meg az equals tagfüggvényét tyûzet jelentõségét. a kurzor, hiszen mindkettõt figyeljük. az igenSzoveg paraméterrel. Tekint- Bár ebben a hónapban még mindig Ám a getSource Object típusú refe- sük az alábbi példát: nem teljes mértékben a felhasználó ké- renciát ad vissza, nekünk pedig nyeztetése lebegett a szemünk elõtt, kö- JButton-ra van szükségünk. if ( ((JButton) forras).getText() vetkezõ alkalommal már hasznos és lát- Ezért késõbb, ahol a forras válto- == igenSzoveg ) { ... } ványos animációkat fogunk készíteni, zóra hivatkozunk, egy egyszerû bepillantva a szálkezelés mesterségébe. típuskényszerítést hajtunk végre. Helyes-e ez ebben a formában? Ugyanezt megtehettük volna már Másképp fogalmazva, ugyanazt Fülöp Balázs © Kiskapu Kft. Minden jog fenntartva a lekérdezésnél is, így: fejezi-e ki ez a sor, mint a forráskód- ([email protected]) ban látható? Bár agyunknak az 21 éves, imádja a Túró JButton forras = (JButton) a része, ami a világot egyszerûbbnek Rudit, a Linuxot  esemeny.getSource(); szeretné látni, azt mondatja, hogy és a teheneket. persze, sajnos nem így van. Az == Kedvenc írója Slawomir Ekkor a további típuskényszerítések operátor egyenlõséget vizsgál ugyan, Mrozek. Leginkább a számítógépes feleslegesek lennének. Viszont hang- de nézzük meg, mi áll a bal- és hálózatok biztonsága érdekli. A BME súlyozni szerettem volna a visszatérési a jobboldalon. Mindkettõ String VIK mûszaki informatikus érték típusát. A (JButton) forras referencia, azaz String típusú szak hallgatója. tehát arra a gombra vonatkozik, objektum hivatkozása. Ha két

20 Linuxvilág Fejlesztõi sarok

Sablonkezelés PHP nyelven, PEAR módra Tovább folytatjuk a PEAR modulokból történõ alkalmazásépítést. Legutóbb a DB adatbázis elvonatkoztatási réteget tanulmányoztuk részletesen, ezúttal a nem kevésbé fontos sablonkezelési témát boncolgatjuk, a legnépszerûbb témába vágó PEAR modul, az IT ismertetésével egybekötve.

ármilyen programozási a futás egy része kizárólag a kinézet nyelvrõl legyen is szó, elõállítására fordítódik. A sablonkeze- a kód tisztasága, átlátható- lõ rendszerek használata során sincs Bsága kulcsfontosságú. Nem csak ez másként, azzal a jelentõs különb- a továbbfejlesztésrõl van szó, de az séggel, hogy elhatárolódik egymástól esetleges hibakeresés is rémálommá a mûködési és a megjelenítési logika. válhat abban az esetben, ha nincs A gyakorlatban a teljes program vagy szerkezete a forráskódunknak. A cél oldal egyetlen PHP címkébõl áll, elérésének módja alapvetõen az, amely sablonkezelõ rendszert utasít- hogy a fejlesztõ rendesen dolgozik, va írja ki a megjelenítendõ HTML odafigyel, hogy milyen munkát ad kódot az alapértelmezett kimenetre. ki a kezébõl. Nem tud viszont mit kezdeni azzal a ténnyel, hogy számtalan szkriptnyelv, A sablonok és a PEAR többek között a PHP is alapértelmezetten a HTML kód- Mielõtt ismét újra feltalálnánk a kereket, érdemes egy kicsit ba épül be, tehát a kinézet és a kód összekeveredik, ami körülnézni. Azt már tudjuk, hogy a PEAR rendszer épp az nem csak logikailag és a mûködés szempontjából nézve ilyen általános megoldások kezelésére nyújt kész megoldá- számít szerencsétlen körülménynek. A fenti állapot sokat, kezdjük hát itt a nézelõdést. © Kiskapu Kft. Minden jog fenntartva spagettikóddal összemérhetõ igénytelenségû kódot ered- A sablonkezelõket a HTML kategóriában, a Template cso- ményez, amelyet a legjobb szándékkal sem lehet tisztán portban találjuk. (Megjegyzés: a kategóriában nincsenek tartani. Az egyetlen megoldás a kód és a kinézet szétvá- valódi csoportok, a sablonkezelõket is csak a nevük kezdete lasztása, elkülönítése. teszi csoporttá.) Jelenleg öt sablonkezelõ csomag áll a fej- Ez minden esetben valamilyen sablonkezelõ rendszert hasz- lesztõk rendelkezésére, mindegyikük végleges (stable) álla- nálatával érhetõ el, amely a kinézetet tartalmazó sablont potban. Az összes sablonkezelõt azonban nehéz lenne be- összeolvasztja az adatokat elkészítõ PHP kimenettel, és az mutatni. Általában a végleges állapotúakat szoktam ismer- egészet kiteszi a felhasználónak. Így nem pusztán kódot és tetni, jelen esetben ez azonban nem szûkíti a kört, úgyhogy kinézetet lehet szétválasztani, de megvalósítható a manap- a másik jellemzõ módszert választottam: népszerûségük ság oly divatos MVC architektúra is, ahol a modell a nézet és alapján döntöttem, s a statisztikák szerinti legkedveltebb a vezérlõ jól elkülönített hármasából áll össze az alkalmazás. csomagot választottam (sok tízezer ember nem tévedhet). A sablonkezelést valahogy úgy kell elképzelni, mint az elõ- Ez az Integrated Templates nevû (teljes nevén re megírt papír formanyomtatványokat, ahol ezen a bizo- HTML_Templates_IT) PEAR összetevõ, amely egy igen nyos „okmányon” szerepelnek azok a részek, amelyek min- egyszerû és jól használható, csere alapú sablonrendszer. den esetben ugyanúgy néznek ki, s nekünk az a dolgunk, hogy a változó adatokat kézzel töltsük ki. A programozás Az IT csomag területén a formanyomtatvány szerepét a program megjele- Az IT csomag egy egyszerû sablonkezelõ alkalmazás- nési felülete tölti be, ahol szintén az a dolgunk, hogy a fix fejlesztési felület (API), amely döntõen a benne elhelyezett részek közé a program futása során beírjuk a változó adato- különleges formátumú címkék értékekre történõ kicserélé- kat, magyarul „ki kell töltenünk” a sablont. sét végzi. Egy az IT számára értelmezhetõ sablon a hagyo- Ehhez a sablonban meghatározott alakú címkéket helye- mányos HTML címkékbõl, {címke} alakú ún. helyfenntar- zünk el, amelyeket aztán a program segítségével kicseré- tókból (placeholder), és az ezeket tagoló blokkokból áll. lünk, átalakítunk, vagy épp a sablonban található logika sze- Amikor a sablont „kitöltjük”, a {címke} alakú helyfenntar- rint értelmezünk. Minden program esetében igaz az, hogy tókat cserélgetjük ki a programból az általunk meghatáro-

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

zott értékekre. A hatékony mûködés érdekében ezek a címkék blokkokba vannak szervezve. Ha nem adunk 1. lista Az elsõ sablon meg ilyet, akkor is az alapértelmezett __global blokkban szerepelnek, csak legfeljebb a mindennapos használat során A sablon ez nem tûnik fel. Amikor címkecserét hajtunk végre, elõ- ször kijelöljük, hogy mely blokkban szeretnénk mindezt megtenni, majd a címke -> érték hozzárendelés után a sablonkezelõ értelmezi és „lefordítja” a kívánságunkat Üdvözöllek! Ma {DATE} van. igazi HTML kódra.


Csak ezután fog az adott blokk megjelenni a kimeneten, ha majd arra utasítást adunk. Egy-egy blokk kitöltése, értel- mezése (fordítása) tetszõleges számban következhet egy- más után, így ismétlõdõ részeket (például) táblázatok sorait
hozhatunk létre egyedüli sorokból. Ez így elsõre talán ne- Látogató IP-je: {IP} hezen érthetõ, úgyhogy forduljunk a már jól megszokott módszerhez: lássunk egy példát! © Kiskapu Kft. Minden jog fenntartva Építsünk bemutató holnapot az IT segítségével! Esetünkben mindjárt példák egész sorával találkozhatunk. A PHP forrás A feladat: apróbb lépésenként felépíteni egy nagyon-nagyon loadTemplatefile("main.tpl.html"); pear install HTML_Template_IT

//aktuális blokk kijelölése parancs kiadásával. $tpl->setCurrentBlock("header"); //címke-érték megfeleltetés A kezdeti tipegések $tpl->setVariable("DATE",date("Y.m.d")); Az elsõ lépés egy oldal létrehozása, amelynek van egy fejlé- //az aktuális blokk lefordítása ce. Ez tartalmazza az aktuális dátumot. A sablonok az aktu- $tpl->parseCurrentBlock(); ális könyvtár templates alkönyvtárában találhatók. A kód a sablonkezelõ rendszer beemelésével kezdõdik, rög- //az oldal megjelenítése tön ezután létre is hozunk egy példányt a sablonkezelõnk- $tpl->show(); bõl, a továbbiakban ez a változó fogja megtestesíteni ?> a rendszert, amely a paraméterként átadott könyvtárban fogja keresni a sablonokat.

1. ábra Az eredmény

22 Linuxvilág Fejlesztõi sarok

$tpl->loadTemplatefile("main.tpl.html");

2. lista A kiegészített sablon Betölti a szükséges sablonfájlt, amely tartalmazza a blokko- kat és címkéket, amiken késõbb a mûveleteket elvégezzük. A sablon $tpl->setCurrentBlock("header"); Ha már betöltöttük a sablont, rendeljünk értékeket az Üdvözöllek! Ma {DATUM} van. elhelyezett címkékhez, ám mielõtt ezt megtennénk, ki


kell jelölni, hogy melyik blokkban szeretnénk ezt megtenni. Egy változónév egy blokkban is szerepelhet többször, de azok azonos értékekre fognak kicserélõdni. Ez a változás
azonban nem érinti a más blokkokban elhelyezett azonos Látogató IP-je: {IP} nevû változókat. $tpl->setVariable("DATE",date("Y.m.d")); © Kiskapu Kft. Minden jog fenntartva Ez a parancs végzi a konkrét megfeleltetést, és a DATE cím- kéhez a mai dátumot rendeli (természetesen csak a A PHP forrás header blokkon belül). parseCurrentBlock();

$tpl = new HTML_Template_IT("./templates"); A megfeleltetés után ezzel a paranccsal tudjuk kicseréltetni a címkéket értékekre, valamint ennek hatására az aktuális $tpl->loadTemplatefile("main.tpl.html"); blokk bekerül a megjelenítendõ tartalmak közé. Ellenkezõ $tpl->setCurrentBlock("header"); esetben, ha egy blokkal nem csinálunk semmit, azaz nem $tpl->setVariable("DATUM",date("Y.m.d")); rendelünk értékeket a címkékhez, és nem alkalmazzuk $tpl->parseCurrentBlock(); ezeket a változtatásokat, akkor az adott blokk tartalma nem fog megjelenni a kimeneten. $tpl->setCurrentBlock("footer"); $tpl->setVariable("IP",$_SERVER $tpl->show(); ['REMOTE_ADDR']); $tpl->parseCurrentBlock(); Ez a parancs végül kiteszi a már elkészült, kitöltött sablont az alapértelmezett kimenetre. Elõfordulhat azonban, hogy $tpl->show(); nekünk nem erre van szükségünk, nem kiíratni szeretnénk ?> az értéket, hanem a tartalmával mûveletet végezni (levél- ben küldeni, stb.). Ilyen esetekben a get() metódust hasz-

2. ábra Az új eredmény

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

$drivers[2] = array('firstname'=>"Mika", 3. lista Ismétlõdõ elemek egy sablonban 'lastname'=>"Hakkinen",'number'=> 2,'age'=>33,'num_of_championships'=>2); A sablon $drivers[3] = array('firstname'=>"Jacques",  'lastname'=>"Villeneuve",'number'=>  3,'age'=>32,'num_of_championships'=>1); $drivers[4] = array('firstname'=>"Damon",  Üdvözöllek! Ma {DATE}. van. 'lastname'=>"Hill",'number'=>4, 


'age'=>37,'num_of_championships'=>1); require_once "HTML/Template/IT.php"; $tpl = new HTML_Template_IT("./templates");

Versenyzõk

$tpl->loadTemplatefile("main.tpl.html"); Nyitólap foreach ($drivers as $driver) { $tpl->setVariable("NUMBER",$driver ['number']); $tpl->setVariable("NAME",$driver 
['firstname'][0].". ".$driver  Látogató IP-je: {IP} ['lastname']); $tpl->parseCurrentBlock(); } $tpl->parse("list");

$tpl->setCurrentBlock("footer"); A PHP kód $tpl- setVariable("IP",$_SERVER['REMOTE_ADDR']); //az adatforrás $tpl->parseCurrentBlock(); $drivers[1] = array('firstname'=>"Michael",'lastname'=>  $tpl->show(); "Schumacher",'number'=>1,'age'=>35, ?> 'num_of_championships'=>7);

nálhatjuk, amely egy karaktersorozat formájában visszatérési értékéül adja a kitöltött sablont.

Még mindig tipegünk A blokkok kitöltögetését természe- tesen egymás után végezhetjük, a dolgunk annyi, hogy meg kell mondani a megjelenítés elõtt, hogy melyik blokk legyen a következõ, amelyen mûveleteket szeretnénk végezni. Egészítsük ki a fenti pél- dát egy lábléccel, amely a látogató IP-jét mutatja!

Ismétlõdõ elemek, egymásba ágyazva Ugorjunk most egy kicsit nagyobbat. 3. ábra Az eredmény Készítsünk egy adatforrásból egy listát a már meglévõ lapon, amely a késõbbi- ekben megjelenítendõ világbajnokok neveit tartalmazza, amelyek mindegyi-

24 Linuxvilág Fejlesztõi sarok

4. lista Blokkok A PHP kód (az adatforrás nélkül) A sablon //az adatforrás: lást elõzõ példa require_once "HTML/Template/IT.php"; $tpl = new HTML_Template_IT("./templates"); Üdvözöllek! Ma {DATE}. van. $tpl->loadTemplatefile("main.tpl.html");


$tpl->setCurrentBlock("header"); $tpl->setVariable("DATE",date("Y.m.d")); $tpl->parseCurrentBlock(); } else { $tpl->setCurrentBlock("footer");
$tpl->setCurrentBlock("list_item"); foreach ($drivers as $driver) {

Versenyzõk

$tpl->setVariable("NUMBER",$driver['number']); © Kiskapu Kft. Minden jog fenntartva Nyitólap $tpl->setVariable("NAME",$driver['firstname']

    [0].". ".$driver['lastname']); $tpl->parseCurrentBlock();
  • {NAME} $tpl->parse("list");
if (!isset($_GET[number])) { $tpl->touchBlock("havetoselect");
$tpl->setCurrentBlock("detail"); $tpl->setVariable("FIRSTNAME",$drivers

Részletes adatok

[$_GET[number]]['firstname']); $tpl->setVariable("LASTNAME",$drivers[$_GET Kérem, válasszon a felsorolt nevek közül. [number]]['lastname']); $tpl->setVariable("NUMBER",$drivers [$_GET[number]]['number']); $tpl->setVariable("AGE",$drivers Sorszám: {NUMBER}.
[$_GET[number]]['age']); Vezetéknév: {LASTNAME}
$tpl->setVariable("NUM_OF_CHAMPIONSHIPS", Keresztnév: {FIRSTNAME}
$drivers[$_GET[number]] Életkor: {AGE} év
['num_of_championships']); Világbajnoki címek: {NUM_OF_CHAMPIONSHIPS} db
$tpl->parseCurrentBlock(); }
$tpl->setVariable("IP",$_SERVER['REMOTE_ADDR']); $tpl->parseCurrentBlock();
$tpl->show(); Látogató IP-je: {IP} ?>

ke egy-egy hivatkozás, ami GET paraméterként tartalmazza hez, így hozva létre ismétlõdõ HTML kódrészleteket. Jelen a versenyzõk sorszámát, valamint egy fix hivatkozást, esetben egy ciklussal végigmentünk az adatforráson, miu- amely az alapállapotba (nyitólapra) mutat. tán kijelöltük a blokkot, majd a címke -> érték hozzárende- A sablonban két egymásba ágyazott blokkot találunk. Álta- lés után „hozzáfûztük” a lefordított sablonhoz, majd ezt is- lánosan igaz az, hogy mindig a legbelsõ blokk kitöltésével mételgettük ugyanezzel a blokkal addig, amíg el nem értük kell kezdenünk. Ez a fenti példában a listaelem (list_item) a kívánt számú listaelemet. blokk. Már említettem, hogy egy-egy blokkot tetszõlegesen A listaelemek felszaporítása után „megparancsoltuk” sokszor lefordíthatunk, és hozzárendelhetünk a kimenet- a külsõ lista blokknak, hogy rendelje hozzá önmagát

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

Végszó az IT és a sablonkezelés ügyében: egyszerûség! Az elõzõ bekezdés alapján már látszik, hogy a több fájlos megoldás (tortasze- letelõ módszer) és ama bizonyos get() tagfüggvény segítségével, ko- moly, modulos rendszerû, komplett webes rendszerek készíthetõk, úgy hogy mindvégig megõrizhetjük a módszer nemes egyszerûségét. Ha jobban belegondolunk, ez a rend- szer nem sok mindent tud: kicserél bizonyos címkéket bizonyos értékekre, amit már az str_replace() függ- vénnyel is megtehetünk. „Csupán” annyival fûszerezi a dolgot, hogy egy © Kiskapu Kft. Minden jog fenntartva 4. ábra Így néz ki az elkészült példafeladat szemtelenül egyszerû utasításkészlet- tel burkolja a cserélgetést, illetve a blokkok alkalmazásával eléri, a belsõ blokkal együtt a kitöltött kimenethez. Ha ez hogy kellõen áttekinthetõ sablonokat készíthessünk. a külsõ blokk egyéb behelyettesítendõ címkét is tartalma- Ahhoz, hogy megértsük, mit csinál, elég elolvasni egy zott volna, akkor elõször meg kellett volna csinálni ehhez hasonló cikket. Ahhoz, hogy hatékonyan tudjunk a hozzárendeléseket, majd utána utasítani a sablonkeze- vele dolgozni, nem kell további tetemes gyakorlati ismeretet lõt, hogy az immáron kész blokkot fûzze hozzá a végleges szereznünk, egy saját magunk által kitalált kis példaalkal- állapotúakhoz. Hasonlóan kell eljárni a tetszõleges szá- mazást megvalósítva könnyen ráérezhetünk az ízére. mú egymásba ágyazott blokkok esetén is, folyamatosan Az elkészült kód egyszerû, áttekinthetõ, logikus és mások belülrõl kifelé haladva. által is érthetõ – azt is mondhatnánk: közkincs. Az ilyen egyszerû megoldásokban rejlik a PEAR ereje! Blokkok: akarom, nem akarom? Az IT-n kívül természetesen ott a többi sablonkezelõ rend- Egészítsük ki a példánkat a versenyzõk részletes adata- szer is, ám ennek a cikknek és a cikksorozatnak nem az inak megjelenésével. Ha egy névre kattint a felhaszná- a célja, hogy referenciát adjon a programfejlesztéshez. ló, akkor a paraméterként kapott sorszám alapján a ver- Sokkal inkább cél az, hogy bemutassa a PEAR rendszer ere- senyzõk listája mellet, jobbra jelenjen meg a pilóta jét egy-egy jellegzetes témakörön keresztül. Aki a maradék összes adata. Ha még nincs kiválasztva egyetlen verseny- PEAR sablonkezelõkrõl is szeretne részletesen tájékozódni, zõ sem, akkor a részletes adatok helyett egy figyelmez- az alábbi oldalakon teheti ezt meg. tetés jelenjen meg, amelyben felszólítjuk a látogatót, hogy jelöljön meg egy nevet. Komáromi Zoltán Már említettem, hogy alapértelmezetten azok a blokkok, ([email protected]) amelyekkel nem végzünk mûveleteket, nem is jelennek 25 éves, a BME hallgatója, mellette meg a kimenetben. Jelen esetben ezt a tulajdonságot PHP-programozóként dolgozik. használtuk ki, amikor a paraméter meglététõl függõen Kedvenc területe a multimédia. vagy az egyik, vagy a másik blokkot töltöttük ki. Illetve a dolog nem ilyen egyszerû, ugyanis a figyelmeztetõ blokk nem tartalmazott címkét, csak állandó szöveget, így azzal nem is tudunk mûveleteket végezni. Ennek KAPCSOLÓDÓ CÍMEK kezelésére való a touchBlock() metódus, amelynek hatására a megadott blokk változatlan formában bekerül Flexy: a kész blokkok közé.  http://pear.php.net/package/HTML_Template_Flexy Mivel a fenti példában a sablon kezd elbonyolódni, célszerû lenne az egyes részeket külön fájlba tenni – már csak azért PHPLIB: is, mivel a fejléc és a lábléc több oldalon is szerepelhet.  http://pear.php.net/package/HTML_Template_PHPLIB Az IT az ilyen esetek kezelésében is jártas. Ha például a blokkok mentén vágnánk a fájlt külön darabokra, a fenti Sigma: példában a kódot csak annyiban kellene módosítani, hogy  http://pear.php.net/package/HTML_Template_Sigma a blokkok kijelölése elõtt (setCurrentBlock()) be kellene tölteni még az adott nevû sablont (loadTemplateFile) Xipe: is, majd ha a sablon összes címkéjét kicseréltük, a kime-  http://pear.php.net/package/HTML_Template_Xipe netre írjuk azt, vagy a már emlegetett get() metódus segítségével egy változóban összefûzzük.

26 Linuxvilág Alkalmazások

A System Rescue CD avagy az adat nem vész el, csak átalakul.

Rendszerindítás Hétfõ, reggel fél kilenc. „Ó, hogy az a...” – kiáltott a tehetetlenségtõl dühös orángutánná Miután CD-re véstük a képfájlt, bizto- változott felhasználó. sítanunk kell, hogy a számítógép az „System Rescue CD, máris hozom.” – válaszolt nyugodtan a rendszergazda a szomszéd szobából. optikai meghajtóról végezze el a be- töltést. Ez alaplapunk leírását követve a BIOS-ból könnyedén elvégezhetõ. Ha nem szabad szoftverrõl lenne ízlésünknek megfelelõen. A körülbe- Ha véletlenül elfelejtettük volna az szó, talán valamelyik kereskedelmi lül 110 megabájt méretû képfájl ehhez szükséges jelszót, a megfelelõ csatornán két mosópor reklámja kö- a hivatalos honlapról indulva, alaplapi kapcsoló, vagy jumper segít- zött találkozhatnánk a fenti párbe- a  http://www.sysresccd.org/ ségével alapértelmezett értékekkel széddel... Ez a cikk annak az életérzés- download.en.php oldalról érhetõ el. tölthetjük fel a BIOS-t. Ha ezt nem nek az elsajátításáról fog szólni, ami- Jelenleg a 0.2.15-ös változat a legfris- találjuk, még mindig nem kell kétség- kor csak berakom a lemezt és már sebb stabil kiadás. Amint az a UNIX be esnünk, hiszen a CMOS memória mentek is. világában természetes, nem az 1.0 tápellátását biztosító gombelem A System Rescue CD-vel a Linuxvilág jelenti a használhatóságot, hanem eltávolításával rövid idõ után annak 2004. szeptemberi számához mellékelt a megbízható fejlesztõk. tartalma elvész. lemez képében ismerkedtem meg. El- Érdemes egy kicsit elidõzni a projekt Ha sikerrel vettük az elsõ akadályt, sõ pillantásra egy átlagos „digitális honlapján, ahol a Gyakran Ismételt egyszerûen helyezzük be a lemezt © Kiskapu Kft. Minden jog fenntartva svájci bicskának” tûnt, ám amikor elol- Kérdések mellett letölthetõ egy PDF a meghajtóba és indítsuk újra a szá- vastam a felhasználói kézikönyvet, és formátumú leírás is. Ez a közel 50 mítógépet. Ezt követõen az 1. ábrán megláttam, milyen kiváló segédeszkö- oldalas, angol nyelvû ismertetõ kellõ- látható alábbi kép fogad bennünket. zök kaptak helyet ezen az életmentõ en részletes az elinduláshoz, de nem Mint az szakértõ szemeknek bizonyá- korongon, be kellett látnom, hogy itt helyettesíti az egyes programok saját, ra azonnal feltûnik, egy LILO (Linux többrõl van szó. Remélem, hogy az részletes dokumentációját. Ellenben Loader) indítóképernyõvel van dol- alábbi, képernyõfotókkal tûzdelt írás jól olvasható és keresni is könnyû gunk. Itt az Enter billentyût használva a kedves Olvasót is meggyõzi errõl, és benne. Nekem mindössze az volt azonnal megkezdõdhet a betöltés, ám a szoftver használatával értékes idõt furcsa, hogy a „connection” (kapcso- mielõtt továbbmennénk, nézzük meg, és energiát takaríthat meg. lat) következetesen „connexion” milyen lehetõségeink vannak ezen alakban szerepel. Ezt elõször az kívül. Az F2, F3 és F4 billentyûkkel Beszerzés információs szupersztrádán született súgóoldalakat jeleníthetünk meg Ez a terjesztés is, mint megannyi más szubkultúrák egyikének törzsi szoká- a betölthetõ rendszerekkel kapcsolat- a GPL 2 (GNU General Public Licence) saként tudtam be. Csak késõbb ban. Nem tévedés, a System Rescue licensz hatálya alá tartozik, így ingye- vettem észre, hogy a CD mellett CD nem pusztán egy nesen elérhetõ bárki számára. az útmutatót is francia anyanyelvû alapú LiveCD, emellett még további Mi több, magunk is bõvíthetjük szakemberek állították össze. meglepetéseket is tartalmaz.

www.linuxvilag.hu 2005. október 27 Alkalmazások

angolt használja. A cdcache segítségé- teljesen MS-DOS megfelelõ, és emel- vel a CD teljes tartalma a memóriába lett GPL licenszû. Fejlesztése folyama- töltõdik, így a lemez lecsatolásával be- tos, kezeli a CD-olvasót és az egeret is. tehetünk egy másikat a helyére. Ha DOS programot szeretnénk futtat- A root kapcsolóval megadhatunk egy ni, jobbat keresve sem találhatnánk. meglévõ Linux rendszerpartíciót, így Egy dir /p parancsot kiadva a segéd- például sérült MBR (Master Boot programok között régi ismerõsök kö- Record) esetén használhatóvá tehetjük szönnek vissza, mint a CHKDSK, az rendszerünket. Végül a nonet az ön- FDISK, vagy a FORMAT. Az „újdonsá- mûködõ hálózati csatoló felismerést gok” között pedig ott van az 1998-as 1. ábra Az indítóképernyõ kapcsolja ki. FIPS, amellyel a merevlemez haszná- Még számos kapcsoló van, melyekrõl latban lévõ DOS partíciói méretezhe- tõk át adatvesztés nélkül. Ha a CD betöltõjének a memtest szót adjuk meg, a Memtest86+ 1.20-as vál- tozata indul el. Ez egy valóban meg- bízható eredményt adó memória tesz- © Kiskapu Kft. Minden jog fenntartva telõ program. Ugyanis legyen szó bár- milyen operációs rendszerrõl, az ezek alatt futtatott tesztprogramok a memó- ria egyes részeihez nem férnek hozzá, 2. ábra A FreeDOS betöltése 3. ábra Memtest86+: eddig minden például mert ott található a rendszer- rendben mag. További gond a korszerû rend- szerek nagyfokú hibatûrése, ami elrejti Ha egy CD-rõl futó Linuxra van szük- a hibákat a programok elõl. Ezért ha ségünk, itt kiválaszthatjuk a képernyõ valós képet szeretnénk kapni, használ- felbontását. Az fb640 640x480-as, az juk a következõ képen is látott fb800 800x600-as, az fb1024 rendszer- Memtest86+-t, mivel ez nem igényel mag kép pedig 1024x768-as futtatókörnyezetet. Készüljünk fel FrameBuffer-es képernyõt biztosít. viszont arra is, hogy ha sok a fizikai A FrameBuffer röviden arra szolgál, memória a gépünkben, a tesztsorozat hogy grafikus kijelzõn dolgozhassunk igen-igen sokáig eltarthat. X kiszolgáló használata nélkül. Ezért, A gag szót megadva a LILO parancs- ha szeretnénk futtatni a grafikus alkal- sorában a GAG nevû grafikus rend- mazások egyikét, például a QtParted szerbetöltõ 4.3-as változatát érhetjük nevû partícionáló segédprogramot, fel- 4. ábra A magyarul beszélõ GAG el. Ezt telepíthetjük floppyra, vagy tétlenül ezen három kép valamelyikét a merevlemez MBR területére is. Leg- kell választanunk úgy, hogy a nevét feljebb 9 rendszer betöltését teszi lehe- beírjuk a betöltõ parancssorába. itt nem szóltam, mivel megpróbáltam tõvé, képes logikai partícióról tölteni, Az alapértelmezett az fb640, vagyis az a legfontosabbakat összegyûjteni. To- tud magyarul is és kifejezetten egy- Enter gomb megnyomásával ennek vábbi segítséget az F billentyûkkel elér- szerû a beállítása. A képernyõfotón a betöltése kezdõdik meg. A legtöbb hetõ súgólapokon talál az Olvasó. Eze- látható GAG menüje már tartalmaz mai számítógép videóvezérlõje és mo- ket a kapcsolókat szóközzel elválasztva egy linuxos partíciót. nitora alkalmas az 1024x768-as módra, a rendszermag kép neve után lehet Amennyiben indításkor a ranish szót ezért érdemes némi gépelés árán na- megadni. Fontos, hogy ha az alapértel- adjuk meg, a Ranish Partition Manager gyobb felbontásban dolgozni, különö- mezett magot használjuk, de szeret- 2.40.00-ás változata tárul elénk. Ez egy sen, ha a grafikus böngészõprogramot nénk megadni egy kapcsolót, akkor karakteres menüvezérelt felülettel bíró is szeretnénk használni. Megjegyzem, nem hagyhatjuk el az fb640 beírását. Én teljes értékû partícionáló program, a PC megjelenése körüli idõkbõl az alábbi sorral indítottam a rendszert: melyhez nem kell végigvárnunk egy származó számítógépek használóira boot: fb1024 nonet Linux betöltést. Elsõre talán nehezen át- is gondoltak. A nofb hatására látható, de a beépített súgó és a partício- FrameBuffer nélkül indul a Linux. Mielõtt viszont rátérnénk az ennek nálást segítõ varázsló jelentõsen meg- A számunkra megfelelõ rendszermag hatására elinduló Linux tárgyalására, könnyíti a használatát. A következõ ké- kiválasztásával még közel sem zárul- vessünk egy pillantást azokra a megle- pen mûködés közben látható az RPM. tak be lehetõségeink. Ezt követõen petésekre, amelyeket korábban emlí- Ha az aida szót írjuk be az indítóképer- nyílik mód a rendszermag paraméte- tettem. Ha a freedos szót adjuk meg nyõn, az AIDA16 rendszerelemzõ szoft- reinek meghatározására. A nokeymap a parancssorban, az alábbi képernyõ- ver 2.12-es változatához jutunk. Ez egy hatására a rendszer betöltés közben höz jutunk. DOS alapú, magyar fejlesztésû prog- nem kérdez rá a billentyûzetkiosztás- Itt egy Entert ütve a FreeDOS nevû ram, mellyel átfogó és részletes képet ra, hanem az alapértelmezett amerikai operációs rendszerhez jutunk, ami kaphatunk arról, hogy milyen hardver-

28 Linuxvilág Alkalmazások

amelynek már távolról sincs sok köze és egy rendszergazdai jogokkal futó a rendszer-helyreállításhoz. Ezzel parancshéj fogad bennünket. Alapér- a szoftverrel végérvényesen és vissza- telmezésben a root felhasználó jelsza- állíthatatlanul törölhetõk teljes merev- va üres, de még bejelentkezni sem lemezek, illetve partíciók. Ahhoz, kell, mind a 6 terminálon egy-egy hé- hogy a hatás a névhez méltó legyen jat találunk. Ezek között a megszokott (a nuke angol ige nukleáris csapás mé- Alt+F1, Alt+F2, stb. billentyûkombi- rését fejezi ki), a kiválasztott módszer- nációkkal válthatunk. A Midnight 5. ábra A Ranish Partition Manager tõl függõen adott bitmintával írja felül Commander az mc paranccsal azonnal az eszköz összes bájtját. Ezt tetszõle- indítható. Én elsõként a hálózati kár- gesen állítható számú menetben teszi tyám modulját töltöttem be. Ezután meg, és a végén kérésre ellenõrzi tevé- következhet az IP-cím és az átjáró be- kenységét. Talán elnézi nekem a ked- állítása. Ha nincs a hálózaton DHCP ves Olvasó, hogy nem találok kellõen kiszolgáló, ez az alábbi parancsokkal nyomatékos szavakat annak hangsú- történhet: lyozására, mekkora károkat lehet okozni ezzel. Kérem, hogy nagy kö- % ifconfig eth0 © Kiskapu Kft. Minden jog fenntartva rültekintéssel használja a programot, % route add default gw mert visszavonhatatlan adatvesztést <átjáró_ip> 6. ábra Processzorinformációk AIDA16-ban okozhat, amiért a program készítõje sem vállal felelõsséget. A névkiszolgálókat a /etc/resolv.conf A 0.2.15-ös System Rescue CD egyik fájlban a nameserver kulcsszóval lehet újdonsága a korábbi változatokhoz megadni. Ezekre nekem nem volt képest az ntpass rendszerkép megje- szükségem, ugyanis a háttérben futó lenése. Ezt beírva a parancssorba egy DHCP ügyfél démon önmûködõen szintén Linux alapú Windows NT jel- megtett minden hálózati beállítást. szó és regisztrációs adatbázis szerkesz- A ping parancs segítségével ezt rögtön tõhöz jutunk. Segítségével a régi jel- ellenõriztem is, majd a -g kapcsolóval szó ismerete nélkül változtatható vagy indított links böngészõprogrammal törölhetõ minden felhasználói fiók jel- meglátogattam a magyar Linuxvilág 7. ábra dban: jól jöhet, amikor eladjuk szava, beleértve az adminisztrátorét is. magazin honlapját. Ezt mutatják be a merevlemezünket A zárolt fiókok zárolásának megszün- a következõ képek. tetésére is van lehetõség. A regisztráci- A CD-n található egy teljes SSH cso- ós adatbázis módosítása, új kulcsok és mag, ami távoli bejelentkezést, illetve értékek felvétele úgyszintén támoga- állományok mozgatását teszi lehetõvé tott. Így nem kell megijednünk, ha számítógépek között. Ezen kívül véletlenül elfelejtettük saját gépünk a System Rescue CD-t futtató gépen adminisztrátorának jelszavát. SSH kiszolgálót is indíthatunk, ez eset- ben viszont már erõsen ajánlott beállí- A LiveCD használata tani valamilyen jelszót a root felhasz- Térjünk vissza a System Rescue CD-rõl nálónak a passwd paranccsal. A továb- futtatható Linux rendszerhez. A LILO bi hálózati lehetõségek között szerepel 8. ábra Néhány Enter, és eltûnik az parancssorába, mint azt korábban em- az SMB fájlrendszer rendszermag szin- adminisztrátori jelszó lítettem, az alábbit írtam be: tû támogatása. Így windowsos gépek boot: fb1024 nonet megosztásai csatolhatók fel a mount parancs segítségével. A lufsmount összetevõk találhatóak számítógépünk- Ezzel 1024x768-as FrameBuffer mód- használatával FTP és SSH megosztá- ben. Sajnos az AIDA16 fejlesztése vég- ban indul egy 2.4.27-es rendszermag. sok is befûzhetõk egy könyvtár alá, és leg befejezõdött, ugyanis a fejlesztõ, Egyelõre a 2.6-os sorozatú magok nem úgy kezelhetõk, mintha helyi állomá- Miklós Tamás a Lavalys állásajánlatá- támogatottak egyes, a CD-n található nyokról és könyvtárakról lenne szó. nak elfogadásával egyidejûleg bezárta segédprogramra való tekintettel. A há- a projekt honlapját. Jelenleg az említett lózati kártya felismerését kikapcsol- Fontosabb rendszereszközök cég oldaláról egy Everest nevû diag- tam, mivel tudtam a használandó mo- A Partition Magic szerelmeseinek két nosztikai program otthoni változata dul nevét, és a felismerés eltarthat egy ingyenesen használható grafikus tölthetõ le ingyenesen – viszont kizáró- darabig. Rövid töltögetés után a hasz- partícionáló segédprogramot kínál lag Windows rendszerre. Az alábbi fotó nálandó billentyûzetkiosztásra vonat- a CD. A PartGui 0.2.3 és a QtParted a FreeDOS alatt futó AIDA16-ot mutatja. kozó kérdés jelenik meg, amit a követ- 0.4.4 egyaránt a Qt eszközkészletre A betöltõ parancssorában a dban szó kezõ fotón láthatunk. Sokunk örömére épít. Mindkettõ könnyen kezelhetõ, megadásával a Linux alapú Darik’s magyar kiosztás is választható. Ezt kö- de a PartGui fejlesztése leállt, ezért Boot and Nuke 1.0.3 fogad bennünket, vetõen kisvártatva egy rövid ismertetõ érdemes a QtParted használatában

www.linuxvilag.hu 2005. október 29 Alkalmazások

11. ábra www.linuxvilag.hu a grafikus links-ben

9. ábra Válasszunk billentyûzetkiosztást 10. ábra A hálózat beállítása © Kiskapu Kft. Minden jog fenntartva elmélyedni. Ez a run_qtparted pa- A partíciós tábla védelme mellett ranccsal indítható. Elsõként megkérde- a partíciók tartalmának mentésérõl is zi, hogy milyen kapura csatlakoztattuk gondoskodhatunk a Partimage 0.6.4 az egeret. A felsorolásban a soros, PS/2 segítségével. Ez egy kliens-szerver al- és USB kapu egyaránt szerepel, de az kalmazás, amelyben a kiszolgáló fele- önmûködõ felismertetést is választhat- lõssége a lemezképek tárolása, az ügy- juk. Ezután a QtParted a képen látható felek pedig ide mentenek, és innen ál- felületen nyújt segítséget a partício- lítják vissza a partíciókat. Két változa- 12. ábra A QtParted és egy 500 MB-os nálásban és a formázásban. ta érhetõ el a CD-rõl. A sima szöveges lemez Téved, aki ezek után azt gondolja, átvitellel dolgozó kliens a partimage, hogy a parancssorból használható a szerver a partimaged paranccsal partícionáló programok feleslegesek. indítható. Az SSL támogatással bíró, Az sfdisk nevû segédeszközzel titkosított csatornát használó változat ugyanis biztonsági mentést készíthe- ügyfélprogramja a partimagessl, tünk partíciós táblánkról, amit aztán kiszolgálója pedig a partimagedssl floppy lemezre, vagy egy hálózati nevet viseli. A Partimage felületét megosztásra menthetünk. Azon a me- mutatja be a következõ fotó. revlemezen, amelynek a táblájáról A Partimage leginkább a jól ismert készült a mentés, nyilván nincs sok dd-hez hasonlít, mellyel már régóta értelme azt tárolni, mert ha megtör- készíthetünk nyers másolatot egy-egy tént a baj, akkor épp az ezen levõ ada- partícióról, esetleg egy teljes lemezrõl. 13. ábra tokat nem fogjuk tudni elolvasni. A legfontosabb különbség a hálózati Partimage: mentsük a menthetõt Ez leginkább ahhoz a leleményhez ha- mûködés mellett az, hogy míg a dd sonlít, amikor valaki a széf kulcsának teljes másolatot készít, a Partimage fel- a másolatát a széfbe zárja. A követke- ismeri a fájlrendszer típusát, és ügyel re kijelölt fájlhalmazt, ami már tet- zõ paranccsal készíthetünk mentést: arra, hogy az üres területek ne kerül- szõleges módszerrel tömöríthetõ. jenek bele a lemezképbe. A legtöbb Ellenben a visszaállításnál már sokkal % sfdisk -d > fájlrendszert támogatja, sajnos azon- okosabb, mert képes egyetlen állo-  ban az NTFS partíciók kezelése még mányt is kibontani anélkül, hogy eléggé kiforratlan. További információ- a teljes archívumot kicsomagolná. Az így készített állomány szöveges for- ért és a támogatott fájlrendszerek Hasonlóan jól kezeli a szeletelt mátumú, így egy egyszerû szövegszer- teljes listájáért érdemes ellátogatni mentéseket is. kesztõvel is belenézhetünk. A visszaál- a projekt honlapjára Bármennyire is vigyázunk, akármikor lítás hasonlóan könnyen végezhetõ: ( http://www.partimage.org/). áldozatai lehetünk egy kellemetlen Sokan a mai napig a parancssoros vírusfertõzésnek, ami adott esetben % sfdisk < tar-ral végeznek biztonsági mentést a rendszer elindítását is lehetetlenné  a rendszerrõl. Ennek az archiváló se- teheti. Ez esetben használhatjuk az gédprogramnak a továbbfejlesztett ingyenes Clam AntiVirust, amelynek Ezzel viszont vigyázzunk, mert a pa- változata a DAR (Disk Archiver), vírusleíró adatbázisa az Internetrõl rancs átírja a meglévõ partíciós táblát. amely szintén helyet kapott a CD-n. frissíthetõ. Ez egyszerûen az alábbi Kellõ körültekintés mellett is mindig Az archívum elkészítésekor elõdjéhez paranccsal megtehetõ: érdemes az elsõ paranccsal menteni hasonlóan nem tesz mást, mint a táblát, mielõtt felülírnánk. egyetlen állományba írja ki a mentés- % freshclam

30 Linuxvilág Alkalmazások

Ezután egy könyvtár annak összes nak, ezért ezt a módszert akkor tudjuk A /mnt-t ne használjuk csatolási pont- alkönyvtárával együtt rekurzívan alkalmazni, ha van egy legálisan tele- ként, mindig egy alkönyvtárába fûz- a következõ paranccsal ellenõrizhetõ: pített Windows XP-nk. zük be az eszközöket. Ellenkezõ eset- Elsõ lépésként szerezzük be a meghajtó- ben a rendszert lefagyaszthatjuk. % clamscan -r kat. Két fájlra lesz szükségünk, amelyek Remélem, egy hasznos gyûjteményt is- az XP alapértelmezett telepítése mellett mert meg az Olvasó a System Rescue Az Olvasóban bizonyára felmerül az alábbi elérési úton érhetõek el: CD képében. Helyszûke miatt sok érde- a kérdés, hogy egy Windows partíción kes program nem kapott itt helyet, és mennyire használható ez a program. C:\WINDOWS\System32\drivers arról sem esett szó, hogyan lehet telepí- A Clam AntiVirus felismeri a Windows- \ntfs.sys teni a System Rescue CD-t a merevle- ra írt vírusokat, viszont azok eltávolítá- C:\WINDOWS\System32\ntoskrnl.exe mezre, illetve miként lehet testre szabni sához írási jogra van szükség, ami egy a rajta található Linuxot. Ha a rendszer NTFS partíció esetében Linux alól veszé- Mindkét állományt másoljuk be Linux felkeltette a kedves Olvasó figyelmét, lyes lehet. Sajnos a Linux rendszermag alatt a /var/lib/captive könyvtárba. Ez- látogasson el a projekt honlapjára, nem nyújt kiforrott támogatás az NTFS után a következõ egyszerû paranccsal ahonnan a PDF formátumú dokumen- partíciók írásához. Ne essünk kétségbe, csatolhatjuk fel NTFS partíciónkat: tációt letöltve további hasznos informá- van megoldás. Igaz ugyan, egy kicsit ciókhoz juthat. Kellemes pihenést © Kiskapu Kft. Minden jog fenntartva körül kell táncolni a tüzet az esõhöz. % mount.captive-ntfs a helyreállított rendszerek után! A Captive-NTFS projekt nyújtotta esz-  közökkel teljes körû írás-olvasás való- Fülöp Balázs sítható meg NTFS formátumú fájl- Egy helyi XP esetén megtehetjük, ([email protected]) rendszereken is. Ez a megoldás a Win- hogy elõször a hivatalos rendszermag- 21 éves, imádja a Túró dows saját meghajtóit használja a mû- ban található NTFS modult használva Rudit, a Debian Linuxot veletek végrehajtásához. Bár az összes csak olvasható módban csatoljuk fel és a teheneket. NT alapú operációs rendszer által ke- a partíciót, majd a szükséges Windows Kedvenc írója Slawomir zelt partíció támogatott, a szükséges meghajtók beszerzése után lecsatoljuk Mrozek. Leginkább a számítógépes állományokat csak egy Windows XP- és a Captive-NTFS segítségével már hálózatok biztonsága érdekli. A BME bõl tudjuk megszerezni. A fájlok nin- írható-olvasható módban fûzzük be VIK mûszaki informatikus csenek rajta a System Rescue CD-n, újra. Egy dologra azonban feltétlenül szak hallgatója. mivel nem a GPL licensz alá tartoz- ügyeljünk minden mount parancsnál.

www.linuxvilag.hu 2005. október 31 Alkalmazások

Az Ubuntu Linux telepítése és beállítása (1. rész) Ez a magyar fülnek elég különösen hangzó nevû Linux terjesztés 2004. októ- berében jelentkezett elsõ stabil kiadásával, a nem kevésbé különös elnevezé- sû „Warty Warthoggal”. A projekt mögött az angliai Man szigeten bejegyezett Canonical Ltd. áll, amely egy dél-afrikai milliárdos, Mark Shuttleworth tulajdo- na. A cég azt tûzte ki céljául, hogy a népszerû és a rendszergazdák körében igen elterjedt Debian Linuxra építve egy könnyen telepíthetõ asztali gépekre szánt rendszert hoz létre.

iután ez év júliusában az Ubuntu Alapítvány 10 mil- lió dolláros alaptõkével Mmegalakult, erre a nagyszerû kezde- ményezésre még nyilván sokáig számíthatunk. Az Ubuntu pillanatok alatt a Linux fel- használók kedvence lett, olyannyira, hogy a Distrowatch.org-on jó ideje vezeti a népszerûségi listát. Ez többek között annak köszönhetõ, hogy a Debianra építkezik, amely deklarál- tan szabad rendszer, óriási csomag- készlettel és könnyen használható csomagkezelõvel is rendelkezik. Való- színûleg annak is jelentõs része volt a sikerben, hogy a fejlesztõk a felhasz- © Kiskapu Kft. Minden jog fenntartva nálók számára nagyon hízelgõ ígéretet tettek: félévente új kiadást készítenek. Ezt pedig egyelõre be is tartották: az októberi elsõ kiadást követte ez év áp- 1. ábra Az Ubuntu Linux telepítõjének nyitóképe rilisában a második és ígéretünk van a harmadik kiadás októberi megjele- nésére is. Ennek megfelelõen az egyes kiadások számozása sem a szokásos Nehéz magyarra lefordítani, mert ki- A 4.10-es a „Warty Warthog” nevet módon történik, vagyis itt az 1.0-át fejez érzést, vágyat, cselekedetet, talán kapta, azaz õ a „Bibircsókos varacskos nem a 2.0 követi és így tovább, hanem úgy mondhatnánk, ahogy a honlap disznó”, az 5.04-es lett a „Hoary a verziószám mindig a kiadás dátuma. is fordítja, hogy az ubuntu „emberség Hedgehog”, vagyis „Õszülõ sündisznó”, Az elsõ Ubuntu tehát a 4.10-es számot másokkal szemben”. Nem véletlenül végül az 5.10-es fedõneve „Breezy kapta (lévén a 2004. év 10. havában afrikai szó, hiszen Mark Shuttleworth Badger” ami magyarul körülbelül látta meg a napvilágot), a második is afrikai származású. „Szeles borz” lehetne. az 5.04-et és a következõ, a harmadik Talán még érdekesebbek az egyes ki- Az Ubuntu a Gnome ablakkezelõre az 5.10-es lesz. adások elnevezései (kódnevei). Ezek építkezik. Az elsõ kiadás idején a nem De hagyjuk a számokat és foglalkoz- az afrikai kontinens egy-egy állatáról kevésbé népszerû KDE-t még egyálta- zunk a nevekkel. Honnan az kapják nevüket, megtoldva egy lán nem támogatta, de mára már ez „Ubuntu” elnevezés? A szó afrikai vicces jelzõvel is, ami így angolul a felhasználói felület is teljes támoga- eredetû és ott széles körben ismert is. egyben egy szójáték is. tottságot élvez. néven rész-

32 Linuxvilág Alkalmazások © Kiskapu Kft. Minden jog fenntartva

3. ábra A rendelkezésre álló terület 2. ábra Indulhat a munka felosztása ben külön szálon fut a KDE-s Ubuntu nélkül, „erõltetett menetben” könnyen Miután eldöntöttük, hová telepítjük fejlesztése, amelynek telepítése csalódás érhet minket, sõt ami még a rendszert, tegyük be a telepítõ le- azonban gyakorlatilag megegyezik rosszabb, esetleg már meglévõ adata- mezt CD-olvasónkba és indítsuk újra a Gnome alapú változatéval, így ezt ink is elveszthetnek. a számítógépet (ügyeljünk arra is, külön nem is tárgyaljuk. Ezért figyelmesen olvassuk el és hûen hogy bootoláskor a CD-rõl induljon kövessük a telepítés lépéseit, különö- el gépünk). Az Ubuntu beszerzése sen ha még járatlanok vagyunk Újra felhívom a figyelmet a men- Az Ubuntut legegyszerûbben a hivata- a Unix rendszerek telepítése terén. tés szükségességére: pótolhatatlan los honlapról tölthetjük le, hiszen ez Bár – ahogy látni fogjuk – az Ubuntu anyagainkat tegyük biztonságos egy szabad szoftver, azaz mindenki telepítése nagyon egyszerû, néhány helyre, ha esetleg fatális hibát számára szabadon és ingyenesen kérdésre mégis határozott választ fog ejtenénk a telepítés vagy partí- hozzáférhetõ. Keressük fel várni tõlünk. cionálás során! a  http://www.ubuntulinux.org/ A legjobb, ha egy külön merevlemezt Ha sikeresen bootoltunk a CD-rõl, download/ címet és válasszunk egy tudunk biztosítani az Ubuntu számá- megjelenik az Ubuntu telepítõ kez- szimpatikus letöltõhelyet. Innen ra, de ha ez nem megoldható, akkor dõ képernyõje (1. ábra), ahol meg- a CD-képet (.iso formátumban) tud- legalább 3-4 gigabájt szabad területet adhatjuk a betöltési paramétereket juk letölteni majd kedvenc CD-író szabadítsunk fel. (A Windows-al ellen- is, ha szükségesnek látjuk. Ezeket alkalmazásunkkal elkészíthetjük tétben jó pár hasznos szoftvert ka- közvetlenül beírhatjuk. Ha nem az Ubuntu telepítõlemezeit. punk együtt az alap telepítéssel, így adunk meg semmit, hanem csak Akinek nincs szélessávú internet több helyre lesz szükségünk, mintha ENTER-t nyomunk, a szokásos kapcsolata, az se keseredjen el, hiszen csak egy „csupasz” operációs rend- telepítési beállításokkal indul el az a  http://linuxcdiras.uw.hu címen szert telepítenénk). Ha egy meglévõ Ubuntu telepítõ. Ha minden rész- nagyon kedvezõ áron megrendelheti Windows partíciónk van, ami a teljes let fontos számunkra, az expert a megírt CD-t, de akár az én címemre merevlemezt elfoglalja, akkor segíthet szót írjuk be. Ennek az írásnak is nyugodtan írhatnak azok, akik például a Partition Magic nevû szoft- nem célja az expert telepítés bemu- Ubuntu CD-t szeretnének. ver, ami képes a partíció méretét le- tatása, haladóknak viszont nagyon csökkenteni. hasznos lehet. Telepítés Vigyázat! Fontos adatainkról mindig Egyes laptopoknál nem jól jelennek Egy új operációs rendszer telepítése készítsünk mentést egy ilyen kényes meg a telepítési képernyõk. Ha ilyet mindig izgalmas és legfõképpen ko- mûvelet elõtt és számítsunk rá, tapasztalunk, indítsuk újra a gépet és moly dolog, ezért kellõ elszántsággal hogy esetleg elég sokáig fog tartani. adjuk meg a vga=771 opciót. A telepí- és fokozott várakozással készüljünk az Ha nem csak próbálgatásra, de tési paraméterek részleteirõl az F1 eseményre. Ne csak úgy, „két rohanás komoly munkára is szeretnénk billentyû leütésével tájékozódhatunk. között”, hanem kellõ idõt rászánva, használni az Ubuntut, ajánlatos Ez után elindul a telepítõ rendszer nyugodt körülményeket biztosítva nagyobb helyet biztosítani a számára, betöltése, aminek a végén maga tegyük ezt meg. Kellõ odafigyelés igényeinknek megfelelõen. a telepítést segítõ szoftver képernyõ-

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

Asztal megjelenítése.scf

5. ábra Létrehozunk egy felhasználói 6. ábra Települnek a csomagok... 7. ábra A képernyõ felbontásának fiókot beállítása

A telepítõ elõbb felderíti, milyen me- revlemezek vannak a gépben, betölti az ehhez szükséges modulokat, majd elindítja a partícionáló programot © Kiskapu Kft. Minden jog fenntartva (3. ábra). Ha elrontunk valamit, ne ijedjünk meg: a változások csak akkor lépnek életbe, ha a partícionálás végén ezt engedélyezzük. Tehát ha belegabalyodnánk a partícionálásba, nyugodtan lépjünk ki és indítsuk újra a számítógépet. Ha független merevlemezre telepítjük az Ubuntut, választhatjuk az „Egész lemez törlése” pontot. Itt azt a lemezt válasszuk ki, amelyiken nincs semmi- lyen értékes adat, mert ez nem vissza- 8. ábra Indulás a GRUB-bal vonható mûvelet. Zárójelben láthat- juk, melyik merevlemezrõl van szó. Az elsõ a hda, a második a hdb, je fogad (2. ábra). Csak a billentyûze- a hálózatot megpróbálja automatiku- a harmadik a hdc és így tovább. tet használhatjuk, az egér még nem san konfigurálni DHCP segítségével. Aki Windowshoz szokott, a hda-t mûködik. Az elsõ teendõk a nyelv Ez egy olyan protokoll, amit arra megfeleltetheti a C:-nek, a hdb-t kiválasztása. Ez nemcsak a telepítés használunk, hogy egy hálózatban a D:-nek, a hdc-t az E:-nek és így nyelvét, hanem a telepítendõ Ubuntu gépünk hálózati beállításait a szer- tovább. rendszerünk nyelvét is meg fogja vertõl lekérdezzük. Ha ez sikeres, Amennyiben már van partíciós tábla határozni. Válasszuk ki a magyart a hálózattal nincs több dolgunk, de a lemezen, ahová telepíteni kívánjuk, (hungarian) úgy, hogy lefelé görget- ha nem, kézileg meg kell adnunk IP úgy a „Legnagyobb összefüggõ szabad jük a listát a kurzormozgató billen- címünket, az alhálózati maszkot és hely” lehetõséget is kiválaszthatjuk, tyûkkel vagy háromszor megnyom- az alapértelmezett átjárónk címét. ekkor az Ubuntu a fel nem használt juk a H billentyût. Ha nem tudjuk, mik ezek, forduljunk részére telepedik, nem zavarva A következõben a billentyûzetkiosz- rendszergazdánkhoz vagy egy hozzá- a többi partíciót. tást kell megválasztani. Ha magyar értõ szakemberhez. Ha tudjuk, mit teszünk, választhatjuk nyelvet választottunk, automatiku- A következõ lépésben megadhatjuk a „Partíciós tábla kézi szerkesztését” is, san a magyart fogja felajánlani, gépünk nevét (hostname). Egyes de ezt csak haladóknak ajánlom. egyébként választhatunk egy listából hálózati szoftverek felhasználják Aki még nem gyakorlott a lemezek is, sõt le is tesztelhetjük, helyes-e ezt a nevet, így például ha rendsze- partícionálásában, csak akkor kísérle- a választásunk. rünk egy Windows hálózatnak is tezzen, ha nincsenek pótolhatatlan Ezek után automatikus, a telepítés része, akkor ez a név fogja gépünket bármelyik merevlemezen. folytatásához szükséges mûveleteket azonosítani. Miután ezen a lépésen is túl vagyunk, fogunk látni: elõször a különbözõ CD- Ha ezzel végeztünk, el is érkeztünk megjelenik, mely partíciók lesznek meghajtók eléréséhez szükséges mo- a telepítés legkényesebb pontjához, megváltoztatva és válaszolnunk kell dulokat tölti be, majd a már olvasható a partícionáláshoz. A partíciók segít- arra a kérdésre, hogy „Lemezre írja cd lemezünket átvizsgálja, minden ségével tudjuk felosztani merevleme- a változásokat?” Itt kell eldöntenünk: rajta van-e, majd a telepítés során zünket egymástól független részekre. az elõzõ választásunk helyes volt-e, szükséges további modulokat tölti be Az Ubuntut természetesen legalább mert a lemezre írás után visszavonás- és felderíti, milyen hálózati kártyánk egy, más operációs rendszerektõl füg- ra már nem lesz lehetõségünk. Megfi- van. Ha minden sikeresen lezajlott, getlen partícióra kell telepíteni. gyelhetjük, hogy nemcsak egy, hanem

34 Linuxvilág Alkalmazások

Ezután az apt csomagkezelõt állítja be (ha szerencsénk van, teljesen automa- tikusan), végül a GRUB bootkezelõ (róla a következõ számban lesz szó). Itt – ha már van operációs rendszer a gépünkön és azt fel is tudta deríte- ni – megkérdezi, hogy hová telepítse. Ha már van Windows partíciónk, ne aggódjunk, a GRUB-ot nyugodtan telepíthetjük a fõ rendszerindító re- kordba, mert az Ubuntu beállítja, hogy bootoláskor kiválasztható legyen, melyiket kívánjuk elindítani (8. ábra). Az újraindítás elõtt a telepítõ – na- gyon helyesen – kiadja a CD-t, amit most vegyünk is ki a tálcából és vá- lasszuk a tovább pontot. Ekkor gépünk újraindul, betöltõdik az © Kiskapu Kft. Minden jog fenntartva Ubuntu alaprendszer, majd megkezdõ- dik a felmásolt csomagok kibontása és telepítése (6. ábra). Ez hosszú ideig el- 9. ábra Íme az eredmény tart, ráadásul unalmas is, hiszen a kép- ernyõn megjelenõ információk mene- tébe nem avatkozhatunk be, érdemes legalább két partíciót hoz létre a tele- gyar nyelvi támogatást. Ha van ilyenkor egy idõre magára hagyni gé- pítõ: a swap, azaz cserepartíció hason- szélessávú internetkapcsolatunk, pünket és más tevékenység után nézni. ló a Windows virtuális memóriájához: úgy a kérdésre, hogy letöltse-e ezt Egyszer azért mégis megkérdez a grafi- a fizikai memória kiterjesztése ez az internetrõl, válaszoljunk „igen”-el. kus rendszer beállításakor, hogy milyen a merevlemezre. Természetesen az Ha nincs, akkor a nemet válasszuk, képernyõfelbontásokat engedélyezünk az ideális, ha nem kell majd használat hogy elkerüljük a bosszantó hibaüze- (7. ábra). Itt be kell jelölni, szerintünk közben cserepartíciót használnunk neteket, amikor az internetre szeretne (a telepítõ által már bejelölteken kívül) (és a Linux igyekszik keveset is hasz- majd kapcsolódni a telepítõ. Ne ag- mit tud a monitorunk. Jó esetben, csak nálni), de elõfordulhat, hogy prog- gódjunk: teljes nyelvi támogatás nél- egy ENTER-t kell nyomni és mehet ramjaink számára több memória kell, kül is használható rendszert kapunk, tovább a csomagok telepítése. mint amennyi gépünkben rendelke- sõt a nyelvi fájlokat késõbb is telepít- Türelmünk rózsát, akarom mondani zésre áll. Ilyenkor fog Linux rend- hetjük. Ubuntut terem és ha nem fogyunk szerünk cserepartíciót is használni, A következõ kérdésre, hogy ki a tárhelybõl idõ elõtt, valószínûleg ami persze lényegesen lassabb, a „Hardweróra GMT szerint jár?” álta- sikeresen elindul a Gnome rendszer mint a fizikai memória. lában a nem a jó válasz, hiszen a helyi bejelentkezés menedzsere, a gdm. Amennyiben igennel válaszoltunk az idõ szerint jár gépünk órája (a GMT Választott nevünk és jelszavunk elõzõ kérdésre, elkezdõdik a partíciók a greenwichi középidõt jelenti). megadása után a várva várt Ubuntu lemezre írása, majd a megformázásuk Ekkor nagyon helyesen felajánlja Gnome asztal fogad minket (9. ábra). és automatikusan elindul az Ubuntu nekünk a budapesti idõzónát, amit A következõ számban feltelepített alaprendszer telepítése is. A követke- elfogadhatunk. rendszerünk alapelemeivel és beállítá- zõ részben részletesebben fogok írni Ezek után a telepítõ létrehoz egy saival fogunk foglalkozni. a linuxos fájlrendszerekrõl, de már alapfelhasználót (5. ábra), aki nem- Addig is kellemes Ubuntuzást! most jó tudnunk, hogy ezek nem csak egy szokványos felhasználó kompatibilisek a Windows fájlrendsze- lesz, hanem olyan, aki a root, azaz Molnár Norbert rekkel, így az ubuntus partícióinkat a rendszergazda nevében tud mûve- 34 éves, rendszergaz- Windows alól nem érhetjük majd el. leteket végrehajtani. Az Ubuntu filo- daként dolgozik, 5 éve Fordítva ennek semmi akadálya: mind zófiája szerint ugyanis a root felhasz- foglalkozik Linuxszal. a FAT, mind az NTFS fájlrendszereket náló engedélyezése nem biztonságos. Fõként a szabad szoft- tudja használni az Ubuntu. Alapértel- Így alapállapotban nem is tudunk verek és a számítógé- mezésben az ext3 fájlrendszert fogja majd rootként belépni gépünkre. pes biztonság érdekli. Budapesten él, használni, aki a kézi partícionálást vá- Errõl a beállításoknál még részlete- hobbija – ha éppen nem egy újabb lasztja, az mást is kiválaszthat, például sebben lesz szó. disztribúciót tanulmányoz és nem a népszerû reiserfs-t. Most az új felhasználó valódi nevét utazik – a csillagászat és a filozófia – Az alaprendszer telepítése után újabb kell megadnunk, majd a felhasználói lehetõleg jó vörösbor mellett. kérdésbe botlunk, ugyanis telepítõ fiókhoz rendelt nevét (amivel beje- ([email protected]) CD-nk nem tartalmazza a teljes ma- lentkezünk), végül a jelszót.

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

Pipázó pingvin – a Slackware telepítése Mielõtt nekiállnánk felköltöztetni a Slackware-t a számítógépre, mi külön- bözteti meg ezt a veterán korú disztribúciót a többitõl. Bár nemrég ünnepelte tizenkettedik születésnapját, még a jelenleg aktuális 10.1-es változata is mara- déktalanul megfelel a létrehozásakor legfontosabbnak tartott szempontoknak: legyen egyszerû, átlátható, és legyen UNIX-szerû.

Így a Windowsról frissen áttérõ „Linux-ifjoncoknak” nem biztos, hogy ez lesz a nyerõ választás, de aki sze- retné kívül-belül megismerni az ope- rációs rendszerét és kedvenc idõtölté- se a beállítófájlok szerkesztgetése, az könnyen beleszerethet! A rendszer nagy elõnye, hogy igyek- szik mindenbõl az eredeti, vagyis nem foltokkal telezsúfolt forrásprogramo- kat felhasználni. Ez igaz a kerneltõl egészen az apró segédprogramokig. Így sokkal kisebb az esélye annak, hogy programfordításkor azon kell törni a fejünket, vajon melyik csomag melyik félresikerült módosításának kö- vetkezménye a „make error” üzenet. © Kiskapu Kft. Minden jog fenntartva A Slackware telepítése sok tekintetben elüt a megszokottól (már amennyiben van megszokott módszer). 1. ábra Telepítés Hátul keressük a magyarokat Ennyi bevezetõ után kezdjünk neki a telepítésnek. Ehhez szükségünk lesz két (KDE és Gnome nélküli telepítés A CD-rõl történõ indítás után azonnal be egy 1-est, majd nyomjuk le az esetén csak egy) CD-re. Az iso egy promptot kapunk, ahol kiválaszt- Entert. A felugró listából válasszuk formátumú lenyomatok (image) hatjuk a telepítéshez használandó a majdnem legalul található a  http://www.slackware.org címen kernelt. Az alapbeállítás szerinti qwertz/hu.map-ot. található webhelyrõl, vagy valamelyik bare.i többnyire megfelelõ lesz A következõ ablakban ellenõrizhetjük, tükörszerverrõl tölthetõk le. (vagyis az indításhoz egyszerûen hogy a megfelelõ kiosztást választot- Minden kiadás megjelenésekor felkerül- csapjunk az Enterre). Ha viszont pél- tuk-e. Az ékezetes karakterek itt még nek az oldalra torrent fájlok is, amelyek dául SCSI kártyát vagy ACPI-t szeret- nem fognak mûködni, ezen ne lepõd- a disztribúció megjelenése után egy nénk használni, az F2 majd F3 meg- jünk meg! A választott elrendezést ideig sokkal gyorsabb letöltést tesznek nyomása után kapunk egy listát egy 1-es begépelésével fogadhatjuk el, lehetõvé mint a túlterhelt szerverek. a választható kernelekrõl. A megfelelõ a módosításhoz 2-est írjunk be. A 10.1-es verziószámot viselõ legif- nevet begépelve léphetünk tovább. Ezek után egy bejelentkezési (login) jabb kiadás négy lemezt tartalmaz. A következõ lépés a billentyûzetkiosz- prompt fogad bennünket, ahol a root Ebbõl a telepítéshez csak az elsõ tás kiválasztása. Ha nem amerikai el- felhasználónevet begépelve léphetünk kettõre lesz szükség, a másik kettõ rendezést szeretnénk használni, ha- be. Ez elég szokatlan az egyéb telepí- a forráskódokat tartalmazza. nem – mondjuk – magyart, gépeljünk tõkhöz képest, de próbáljunk hozzá-

36 Linuxvilág Alkalmazások

Az elsõ egy tájékoztató a telepítésrõl, a második a már ismert billentyûzet- kiosztás-választó. A következõ lépés az ADDSWAP, a cserpartíció beállí- tása. Ha az imént létrehoztuk a megfelelõ 82-es típusú partíciót, a telepítõ ezt automatikusan megta- lálja, vagyis csak az Entert kell leüt- nünk a jóváhagyáshoz. A TARGET pontban azt a partíciót kell kiválasztanunk, ahova a rendszert telepíteni szeretnénk. Ha ez megvan, választhatunk gyors illetve lassú (hibás blokkokat is ellenõrzõ) formá- zást (Format/Check), vagy ki is hagy- hatjuk ezt a lépést, ha korábban már megtörtént ez a mûvelet (No). Mi most válasszuk az elsõ lehetõsé- © Kiskapu Kft. Minden jog fenntartva 2. ábra A Slackware telepítõ fõmenüje get (Format), és döntsük el, milyen fájlrendszert szeretnénk használni a felkínáltak közül. Az alapértelmezett szokni, hogy a Slackware nem késõbb kiderül, hogy alulméreteztük a reiserfs, de használhatunk ext3-t is. a hagyományos Next-Next-Finish ezt a lemezrészt, sokkal körülménye- Ext2-t semmiképp ne válasszunk megoldásokat követi, hanem az sebb lesz segíteni a problémán. A New rendszerpartíciónak, mert egy esetle- utasításainkra vár. majd a Primary menüpontot választva ges meghibásodás vagy áramszünet A belépést követõen egy rövid tájé- hozzuk létre tehát a swap partíciót az után a másik kettõnél gyorsabb koztató szöveget olvashatunk a régeb- üres hely elején (Beginning), a mérete a helyreállítás. bi verziók frissítésérõl, de akinek ilyes- pedig legyen mondjuk 512 MB. A célterület kiválasztása és formázása mi jár a fejében az inkább olvassa el Ezek után szükségünk lesz egy partí- után a telepítendõ csomagok forrását a CD gyökerében található cióra a Linux fájlrendszere számára. kell kiválasztanunk. Ez legegyszerûbb UPGRADE.TXT fájlt. Az utolsó né- Hozzuk létre ezt is az elõzõhöz hason- esetben a meghajtóban levõ CD, hány sor viszont a telepítéssel kapcso- lóan (elõtte a kurzormozgató billen- de választható hálózati telepítés vagy latos teendõkrõl szól: ha a telepítéshez tyûk segítségével álljunk rá a Free merevlemezen található könyvtár is. (tehát nem a mûködõ rendszerhez) space jelzésre). Méretnek most vá- CD használata esetén a telepítõ fel- szükségünk van PCMCIA vagy háló- laszthatjuk a program által felajánlott kínálja, hogy megkeresi a lemezt. zati támogatásra (például ha hálóza- maximális méretet, de egy teljes tele- Ezt nyugodtan hagyjuk rá, meg ton keresztül szeretnénk telepíteni pítéshez legalább 4 GB szükséges. fogja találni. a rendszert), gépeljük be a pcmcia Hasznos lehet egy home partíció elké- A következõ lépés a telepítendõ cso- illetve network parancsokat. szítése is, fõleg ha késõbb le szeret- magok kiválasztása. A csomagok cso- A telepítéshez szükségünk lesz leg- nénk cserélni a használt Linuxot egy portokba vannak szervezve. Ha nem alább két partícióra. Ezek létrehozá- másikra, de szeretnénk a beállításain- szeretnénk teljes telepítést, itt gyorsan sához adjuk ki a cfdisk (hardcore kat megõrizni. Ha létrehoztuk a partí- megszabadulhatunk a nem kívánt Unix/Linux guruk akár az fdisk) ciókat, állítsuk be a típusukat. A Type alkalmazásoktól, hiszen elég, ha ki- parancsot. Fontos megjegyezni, hogy menüpontot választva listát kapunk vesszük elõlük az X jelzést. Alapeset- mindkét particionáló eszköz az elsõ a lehetséges kódokról, a cserterülethez ben egy nekünk fontos csomagcsoport merevlemezzel dolgozik, ha nem erre válasszuk a 82-t, a fájlrendszerhez pe- nincs bejelölve, nevezetesen az, ame- szeretnénk telepíteni a Linuxot, ezt dig a 83-t. Ezek után a Write parancsot lyik a KDE kiegészítõ nyelveit – köz- a megfelelõ paraméterrel tudathatjuk. kiválasztva, majd „yes” választ begé- tük a magyart – tartalmazza. Ha például a második merevlemezt pelve írjuk ki a lemezre a partíciós Ha nincs szükségünk több tucat más akarjuk felosztani adjuk ki a cfdisk táblát, és lépjünk ki a Quit menüpont- nyelvre, hagyhatjuk a dobozt jelöletle- /dev/hdb parancsot. ra lépve. Ha nem üres merevlemezre nül, késõbb is feltehetjük a magyar Üres merevlemez esetén egy kérdést tesszük a Slackware-t (hanem például nyelvû támogatást. Továbblépve a cso- kapunk, miszerint szeretnénk-e üres egy már meglévõ Windows mellé), magválasztás részletességét szabhat- partíciós táblával indulni, erre felel- legjobb lesz ha logikai (Logical) partí- juk meg. Legegyszerûbb a teljes (full) jünk igennel (Y). Az elsõ partíció ami- ciókat hozunk létre. telepítés ami minden földi jóval ellátja re szükségünk lesz, némi csereterület Miután elõkészítettük a terepet, a tele- rendszerünket, de akár teljesen testre (swap). Ennek ajánlott méretérõl meg- pítõt a setup paranccsal indíthatjuk. is szabhatjuk a csomagválasztékot. oszlanak a vélemények, de a mai me- Egy kilenc pontból álló menüt ka- Arra viszont ügyeljünk, hogy revlemez árak és méretek mellett nem punk, melyen a telepítés folyamán a Slackware nem kezeli a csomagfüg- érdemes ezen spórolni. Ha ugyanis szépen végig fogunk lépkedni. gõségeket, így könnyen kiránthatjuk

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

a rendszer lába alól a talajt, ha olyas- mit hagyunk ki, ami nélkül Linuxunk el sem indul. A csomagok kiválogatása után elkezdõdik azok merevlemezre telepítése. Ez el fog tartani egy dara- big, a folyamat közben azonban folya- matos tájékoztatást kapunk az éppen telepítés alatt álló csomag nevérõl, méretérõl és elolvashatjuk a hozzá tartozó leírást is – igaz, ehhez néha Supermant megszégyenítõ olvasási sebességre lenne szükség. Egy lemezcserét követõen a haszná- landó kernelt kell megválasztanunk. A cikk elején említett kernellistából válogathatunk a második menüpontot (cdrom) választva. A telepítõ felkínálja © Kiskapu Kft. Minden jog fenntartva a lehetõséget egy rendszerindító le- mez elkészítésére. Mivel a második telepítõlemez LiveCD-ként is mûkö- dik, így egy „halott” rendszer esetle- 3. ábra ges újraélesztése is elvégezhetõ vele, Grafikus felületen is legyünk magyarok vagyis nem feltétlenül szükséges bootfloppyt készíteni. Viszont ha van kéznél egy felesleges üres floppy, kártyánk van, jobb nem kihívni kezelõ program, a gpm indításáról egyszer még jól jöhet. magunk ellen a sorsot, és a standard (válaszoljunk igennel), majd a hálózat A következõ kérdés a modemre vo- opciót választva a hagyományos beállításáról (ez utóbbi elmulasztása natkozik. Ha van már ilyen eszköz szöveges képernyõnél maradni (ezzel esetén, vagy ha késõbb kerül hálózat- a géphez csatlakoztatva, a helyének egyébként is sok bosszúságtól kímél- ba a számítógép, a netconfig parancs megfelelõen válaszoljunk. Ha még hetjük meg magunkat), de ha valaki lesz segítségünkre). nincs, akkor vagy válasszuk az elsõ szeretné a rendszer indulása közben A következõ képernyõn a rendszerbe- lehetõséget (ilyenkor nem keletkezik a pingvines logót látni, vagy fontos töltéskor elinduló szolgáltatásokat kell /dev/modem szimbolikus link), vagy a 80x25-nél nagyobb felbontású kon- kiválasztanunk. Figyelmesen olvassuk ha elképzelhetõ a jövõben egy modem zol, ízlésének megfelelõen válasszon át ezek leírását, és próbáljuk eldönte- érkezése, döntsük el, hogy valószínû- képfelbontást. ni, hogy szükségünk van-e rájuk. leg hogyan csatlakozik majd a géphez A Lilonak különféle paramétereket ad- Ha esetleg késõbb kiderül, hogy és ez alapján válasszuk ki a megfelelõ hatunk meg (amiket aztán induláskor rosszul választottunk, a /etc/rc.d menüpontot. a rendszer értelmez), ezeket a követ- könyvtárban található szkriptek futta- Ezután a hotplug indításkori engedé- kezõ dialógusablakban megjelenõ sor- tási attribútumának beállításával te- lyezésérõl kell döntenünk. ha haszná- ba írhatjuk be. CD-író és 2.4-es soroza- hetjük a megfelelõ szolgáltatást auto- lunk például USB-re csatlakozó tú kernel használata esetén általában matikusan indulóvá. pendrive-ot, még jól jöhet ez a funk- SCSI-emulációt szokás használni, Ha nem szeretnénk különleges szöve- ció, tehát válaszoljunk igennel. Cseré- ezt a telepítõ által mutatott példának ges módú betûkészleteket használni be a rendszer elindulása valamivel megfelelõen adhatjuk meg, például (ugye nem...), a számítógép órájának hosszabb idõt igényel. a secondary masterként beállított, beállítását kell tudatnunk a telepítõ- A rendszerbetöltõ (ami a Slackware tehát Linux alatt hdc eszköz esetében vel. A legtöbb gép esetében (vagy ha esetében tradicionálisan a Lilo) a hdc=ide-scsi paraméterre lesz Windowst is használunk) a helyes vá- a nevének megfelelõen gondoskodik szükségünk. lasz nemleges lesz. Az ezután követ- a rendszer indításáról, illetve lehetõsé- A rendszerbetöltõvel kapcsolatos kér- kezõ, idõzónákat tartalmazó listában get biztosít több operációs rendszer dések közül az utolsó a Lilo helye. remélhetõleg mindenki megtalálja (például Linux és Windows) használa- Mivel remélhetõleg nem szeretnénk a Europe/Budapest sort. tára, vagy akár egy rendszer több kü- minden alkalommal floppyról indítani Ha ez megtörtént, az alapértelmezés lönbözõ verziójú rendszermagja közti a gépet, a Root vagy az MBR lesz szerinti ablakkezelõt kell megválasz- választásra. Aki nem ismeri a Lilo a jó választás. Ha van már feltelepített tanunk. Windows-rõl áttérõk, vagy konfigurációs fájljának felépítését, an- rendszerbetöltõnk, akkor a gyökér mutatós grafikus felületet kedvelõk nak célszerû a simple opció választása, fájlrendszer (Root), ellenkezõ esetben válasszák a telepítõ által is felkínált amivel ezzel a telepítõ megpróbálja az MBR lesz a megfelelõ. KDE-t, de ha a számítógép viszony- automatikusan felépíteni azt. A telepítõ érdeklõdik egerünk típusá- lag kis teljesítményû, akkor inkább A következõ kérdés a framebuffer ról (görgõvel rendelkezõ rágcsálónál az alatta találhatók közül jelöljük használata. Ha nVidia chipes video- válasszuk az imps2-t) és az egeret ki valamelyiket.

38 Linuxvilág Alkalmazások

A következõ kérdésre feltétlenül Ha a telepítéskor nem választottunk elõre fordított csomag található válaszoljunk igennel! Itt beállíthat- ki magyar nyelvet a KDE-hez, most a  http://www.linuxpackages.net juk a Linux alatt mindenható root feltelepíthetjük a megfelelõ csomagot. címen. Ha saját magunk szeretnénk felhasználó jelszavát. Igyekezzünk Tegyük be a második CD-t, csatoljuk forráskódokat fordítani, rendkívül nehezen megfejthetõ jelszót válasz- be a hasznos eszköz a checkinstall, tani (ha túl könnyû, a rendszer fi- mellyel a lefordított programból gyelmeztet, de ha elég erõszakosak mount /mnt/cdrom több más formátum mellett és kitartóak vagyunk, ezt is elfogadja Slackware csomagokat is készíthe- ). Ezen az akadályon túljutva nincs paranccsal, majd telepítsük fel tünk, lényegesen megkönnyítve más hátra mint újraindítani a gé- a csomagot az ezzel az esetleges késõbbi eltávolí- pet a CTRL-ALT-DEL kombináció tást vagy frissítést. A már említett lenyomásával. installpkg /mnt/cdrom/ csomagfüggõségi ellenõrzések Az újraindulást követõen ismét slackware/kdei/kde-i18n-hu- hiányára is létezik több alternatív meglepõdhet a gyanútlan Linux 3.3.2-noarch-1.tgz megoldás, ilyen például a swaret felhasználó: nincs sehol a látványos nevû csomagkezelõ. grafikus felület, csak egy egyhangú parancs kiadásával. Ha magyar nyel- A Slackware meglehetõsen idõigényes login prompt fogad. Nincs ok az ven szeretnénk gépelni is, akkor alap- disztribúció, de ha valaki rászánja aggodalomra, a Slackware hagyomá- értelmezetté tehetjük a magyar billen- az idõt a megismerésére, bizton állít- © Kiskapu Kft. Minden jog fenntartva nyosan szöveges módban indul. tyûzetkiosztást a /etc/X11/xorg.conf hatom hogy nagyon megszereti. Ezen többféle módon is segíthetünk, fájl szerkesztésével: az InputDevice Sok sikert hozzá! talán a legegyszerûbb és legelegán- szekcióba szúrjuk be az sabb megoldás az alapértelmezett Bokor Norbert futási szint átállítása a /etc/inittab Option "XkbLayout" "hu" ([email protected]) fájlban. Nyissuk meg egy szimpati- Egy autóipari cégnél kus szövegszerkesztõvel (például sort. informatikus, emellett az mc paranccsal indítható Midnight Slackware alatt többnyire nem okoz Gyõrbe, a Széchenyi Commanderben keressük meg gondot a forráskódként beszerzett Egyetemre jár. A számí- és nyomjuk le az F4-et), és az programok fordítása, de ha nem tógép mellett imádja a társasjátéko- id:3:initdefault: sorban talál- szeretnénk ezzel tölteni az idõt, kat. Most éppen gitározni tanul. ható hármast írjuk át négyesre. kedvenc Slackware-ünkhöz rengeteg

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

Frugalware – Egy egyszerû de nagyszerû magyar Linux terjesztés Frugalware, vagyis „gazdaságos áru”. Vajon mit jelenthet ez a szó? A www..org szerint ez egy magyar Linux terjesztés, amely ráadásul benne van a TOP40-ben.

alami végre elindult... Úgy tûnik, hogy lassan mi magyarok is kezdünk Vfelébredni, hiszen immár több ma- gyar fejlesztésû Linux terjesztéssel is büszkélkedhetünk. Tulajdonképpen eddig is voltak olyan hazai fejlesztésû szabad szoft- verek, amelyeket nem csak idehaza, hanem külföldön is elismertek, gon- doljunk csak az Mplayerre, hogy csak a legismertebbet említsem. Bár a Frugalware Linux is a „nemzet- közileg ismert” kategóriába tartozik, külföldön valahogy többet foglalkoz- tak vele, mint idehaza. Ezt a hiányt kívánjuk most pótolni, © Kiskapu Kft. Minden jog fenntartva és közel egy évvel az elsõ stabil verzió megjelenése után górcsõ alá vesszük aa Frugalware 0.3pre2 változatot, amely a közeljövõben megjelenõ 0.3 stabil változat második béta verzi- 1. ábra Felhasználói programok tekintetében bõséges választási lehetõségünk van ója. A Frugalware Linux fejlesztése 2003-ban kezdõdött. Fejlesztése teljesen önálló, vagyis egyik nagy Ez az érzés esetleg késõbb is megma- 64 bites adottságait, annak sem kell disztribúció leszármazottjának radhat, mivel a különbözõ beállítások másik terjesztés után néznie, hiszen sem tekinthetõ. Leginkább talán elvégzése is némileg nehezebb két-há- a Frugalware elérhetõ az i686-os archi- a Slackware-hez hasonlít, mivel a fej- rom egérkattintásnál, sõt néha itt is tektúra mellett 64 bites változatban is. lesztõknek ezzel a terjesztéssel volt karakteres felületet kell használnunk. A telepítés lényegében nem tér el az komolyabb tapasztalatuk. Aki vállalja mindezt, az cserébe egy ismertebb disztribúciókétól. Talán kiválóan mûködõ, hajlékony rend- érdemes megemlíteni, hogy bár Telepítés szert kap. a rendszer alapvetõen magyar, támo- A fejlesztõk a Frugalware Linuxszal A Frugalware Linuxot gatja az angol, német, olasz, és szlo- a középhaladókat célozták meg. a  www.frugalware.org oldalról tölt- vák nyelveket is. Ez arra utal, hogy Aki tehát éppen csak ismerkedik hetjük le. Amennyiben nem kiszolgá- a projekt megpróbál szakítani a másik a szabad világgal, annak elveheti lón akarjuk használni, vagyis szükség két magyar terjesztés filozófiájával, a kedvét a karakteres felületû telepítõ, van grafikus felületre is, akkor min- vagyis nem csak a hazai piacra készíti és hogy nem csillogó-villogó grafikus denképpen töltsük le mindkét CD-t, termékét. Nyilván éppen ezzel ma- sávok jelzik, hogy mennyi idõ van vagy eleve a DVD-s verziót szerezzük gyarázható, hogy a másik kettõnél még hátra a mibõl. be. Aki szeretné kihasználni gépe jóval többen ismerik külföldön.

40 Linuxvilág Alkalmazások

Azoknak, akiknek ezt a Linuxot szán- rátenni a Frugalware csapatnak zése. Az elsõ dolog, amit minden ták, a telepítés lépéseit valószínûleg a mindössze két CD-re. Sajnos a menü terjesztés tesztelésekor megpró- teljesen fölösleges lenne felsorolni. angol nyelvû, pedig azt ember azt vár- bálok beállítani, az folyamat, A vállalkozó szellemû kezdõknek ná, hogy egy magyar terjesztés ma- hiszen a futtatni kívánt szolgál- a legjobb tanács talán az, hogy ahol gyarul szól majd hozzá. Természete- tatások körét a felhasználási cél nem értik, hogy mit kérdez a telepítõ, sen nincs veszve semmi! Amennyiben határozza meg. ott egyszerûen üssenek Entert, mivel a DVD-s változatot választottuk, akkor A System/Frugalware Runlevel Editor a rendszer teljesen értelmesen meg- a menük eleve magyarul lesznek, segítségével könnyen, és gyorsan adott alapértelmezésekkel rendelke- a CD-s változatot pedig a kde-i18n-hu elvégezhetjük a szükséges módosítá- zik. Amúgy a Frugalware honlapján csomag telepítésével lehet rávenni sokat. Itt beállíthatunk egyszeri elindí- található egy magyar nyelvû telepítési a szép magyar beszédre. tást, illetve azt is, hogy a kérdéses segédlet, amely lépésrõl lépésre tartal- Kifejezett pozitívum, hogy – több szolgáltatás minden rendszerindítás- mazza a folyamat leírását. amúgy népszerû terjesztéstõl el- kor automatikusan elinduljon. térõen – kifejezetten sok program Ha azonban nem telepítettük az X Az elsõ találkozás található a menüben. Tetszetõs felületet, akkor a konzolon keresztül Miután elindult a rendszer a beje- az a megoldás is, hogy a progra- kell mindezt megtennünk. Itt sem lentkezõ képernyõn kiválaszthatjuk, mok neve mellé zárójelben oda vagyunk azonban egyedül a vi edi- © Kiskapu Kft. Minden jog fenntartva hogy melyik ablakkezelõt szeretnénk van írva, hogy mire valók Ez sok- torral, mert segít a service progra- használni. Választék szerencsére van szor hasznos lehet, különösen mocska, amit persze csak adminiszt- bõven. A KDE és a GNOME szinte a kezdõ felhasználóknak, akik nem rátorként futtathatunk. Ha például alapfelszereltségnek számít, de megta- biztosak benne, hogy mi mire való. azt akarjuk, hogy a webszerver lálunk még olyan közkedvelt ablakke- Persze az ilyen információ sokszor ne induljon el, adjuk ki a zelõket is, mint az Enlightment vagy még a gyakorlott felhasználóknak service httpd del az . Nekem a KDE és az XFCE is segíthet. a kedvencem attól függõen, hogy A legalapvetõbb elemek a következõk: parancsot. Az eredeti állapotot éppen milyen teljesítményû vason 2.6.12-es kernel, KDE 3.4, Gnome 2.10, bármikor visszaállíthatjuk a futtatom a Linuxot. Elõször a KDE-t GCC 4.0.1, X.org 6.8.2. próbáltam ki. Látható, hogy a kínálat elég friss, service httpd add A menübõl kitûnik, hogy impozáns ami nem véletlen, hiszen a fej- mennyiségû alkalmazást sikerült lesztõknek ez az egyik fõ célkitû- paranccsal.

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

2. ábra Szolgáltatások kezelése a grafikus felületen 3. ábra Grafikus felületû csomagkezelés © Kiskapu Kft. Minden jog fenntartva

Csomagkezelés A hivatalos Frugalware Linux doku- A karakteres terminálok is grafi- A KDE menübõl a System/Frugalware mentációból azt is megtudhatjuk, kus felületen érhetõek el, így elég menüponttal tudjuk hogyan érdemes nekiállni kellemes és jóval átláthatóbb a meg- elõcsalni a csomagkezelõt, amely elsõ a Frugalware csomagok készítésé- jelenése. Ráadásul az mc alatt sem ránézésre leginkább az Synaptic-hoz nek. Természetesen a fejlesztõk esik szét a kép, mint ahogy tapasz- hasonlít. Azzal ellentétben azonban örömmel veszik az ilyen segítséget, taltam néhány másik terjesztésnél. a Frugalware csomagkezelése nem apt mivel a fejlesztés teljes mértékben A rendszer gyors, ellenben a gra- hanem pacman alapú. nonprofit módon folyik. fikus felületû csomagkezelõt Mivel valószínûleg nem sokan ismerik elég lassúnak éreztem, például a pacman csomagkezelõt, talán nem A puding próbája a synaptic-kal szemben. árt néhány egyszerû utasítást itt Egy terjesztéssel az ember akkor Az általam talált legnagyobb hiá- is ismertetni, ámbár a hivatalos ismerkedik meg igazán, amikor nyosság a rendszerben az, hogy Frugalware Linux dokumentációban használni kezdi. Internetezésre, sem a CD-ROM, sem a Pendrive nem részletesebb leírás is található. zene lejátszására, videó nézésére, csatolódik fel automatikusan, ami egy A pacman amúgy C-ben íródott, ezért és egyéb mindennapi feladatokra, desktop rendszernél szerintem alap- érezhetõen gyorsabb a szkript alapú vagy éppen kiszolgálóként egy vetõ szolgáltatás. Szerencsére a fej- csomagkezelõknél. A csomagadatbá- kisebb irodában. lesztõk is tisztában vannak ezekkel zist frissíteni a A Frugalware Linux jól tûrte a megpró- a problémákkal, így nyilván orvosolni báltatásokat, és gazdag programválasz- fogják azokat. pacman -Sy téka révén szinte az összes, a napi Teljesen kezdõ felhasználóknak munka során felmerülõ feladatot sike- egyelõre nem tudom jó szívvel aján- paranccsal lehet, magukat a csomago- rült megoldanom vele. Ráadásul szá- lani, ellenben akinek már van némi kat pedig a mos esetben több program közül is tapasztalata a Linux rendszerekkel, válogathattam. Találkoztam természe- és egy jól összeállított, ugyanakkor pacman -Su tesen kisebb hibákkal, hiányosságokkal még sok helyen konfigurálható is a tesztelés folyamán, de mivel ez egy rendszerre vágyik, az nyugodtan utasítással. béta verzió, a fejlesztõknek ezeket még vágjon bele a dologba. van idejük kijavítani. Ha egy adott csomagot szeretnénk Összességében elmondhatom, Horváth Ernõ feltelepíteni, akkor a hogy a Frugalware nagyon jó kis [email protected] disztribúció, és jóval több megbe- pacman -S csomagnév csülést érdemelne idehaza is. 24 éves, mûszaki infor- Azt hiszem eddig inkább csak matikus. Három évvel formát használjuk. Ez a kérdéses külföldön figyeltek fel rá, idehaza ezelõtt ismerkedett alkalmazást annak függõségeivel nem kapott kellõ elismerést, pedig meg komolyabban a Linux rend- együtt telepíti, ütközés esetén „magyar termék”. szerekkel és emellett érdeklõdik pedig rákérdez arra, hogy eltávolít- Telepítése egyszerû, a dokumentáció még a robotika és a biztonság- hatja-e a konfliktust okozó másik pedig bár rövid, teljesen használható technika iránt is. Ha lenne csomagot. az elsõ lépések megtételénél. Megjele- szabadideje sokat kirándulna, A további lehetõségeket a pacman -h nése tetszetõs, sok téma, és ablakkeret biciklizne és filmeket nézne. paranccsal jeleníthetjük meg. közül választhatunk.

42 Linuxvilág Alkalmazások

blackPanther OS – kicsi, fekete, a miénk...

Talán kevesen tudják, hogy mi magyarok immár három Linux terjesztéssel büszkélkedhetünk. Ezek egyike, a blackPanther OS, amely még soha nem szerepelt a Linuxvilág hasábjain. A hiányosságot ezennel pótoljuk.

blackPanther OS, amely „ér- kezési sorrendben” a máso- A dik magyar Linux terjesztés volt, jelenleg a 4.2-es verziójánál tart. Amikor az elsõ magyar Linux változat megjelent, sokan csóválták a fejüket, hogy miért, és ugyan minek kell egy ilyen kis országnak külön utakon jár- nia, és saját Linux disztribúciót fejlesz- tenie, ahelyett, hogy bekapcsolódna valamelyik nagy nemzetközi projektbe. Aztán sokan elkezdték használni a ma- gyar Linuxot és a moraj elült. Amikor azonban a blackPanther OS megjelent, ismét lehetett hallani olyan hangokat, hogy minek még egy magyar Linux. Ha nem lenne magyar Linux, akkor © Kiskapu Kft. Minden jog fenntartva valószínûleg az lenne a baj... Egyetlen összeállítás se lehet jó min- denkinek, de éppen a választás lehe- tõsége adja a Linux szépségét. Aki minden egyes beállítást maga szeretne 1. ábra Megkezdõdött a rendszer telepítése elvégezni az ebben a világban ugyan- úgy megtalálja a neki szánt terjesztést, mint az, aki 10 perc alatt telepíthetõ automatikusan beléptet bennünket rájövök, hogy semmit, a háttérkép pe- rendszerre vágyik. Ami tehát a hitvitá- a rendszer bpuser felhasználói név- riodikusan változik. Sajnos az ablakok kat illeti, éljen a pluralizmus! vel. Kapunk egy részletes magyaráza- mögötti árnyak az ablak mozgatása tot is arról, hogyan telepíthetjük közben nem jelennek meg. Ez egyér- Beszerzés, telepítés a blackPanther-t a számítógépünkre. telmûen az ablakkezelõ hibája. A telepítõ CD-t Mielõtt azonban ezt megtennénk, De lássuk, mit is kapunk a blackPanther a  ftp://ftp.blackpanther.hu/blackPant nézzük meg, mi is található pontosan OS 4.2-vel. Elõször is a Start... menüben her.OS/All/v4.2(route)/ helyrõl tölthet- az elsõ lemezen. találunk egy CrossOver Office rend- jük le. A blackPanther 4.x különleges- szert. Ez kereskedelmi termék, így sége, hogy a telepítõlemez egyben Mit tartogat számunkra a disztribúció csak egy 30 napos próba- Live CD is, tehát úgy is kipróbálhatjuk a fekete párduc? verziót tartalmaz belõle. A CrossOver ezt a terjesztést, hogy nem telepítjük. Az elsõ benyomás igencsak pozitív. Office segítségével Windows alá írt iro- Egyszerûen csak be kell bootolnunk Szép zöld búzatábla a háttér, az abla- dai alkalmazásokat tudunk használni a CD-rõl, és máris kapunk egy teljes, kok árnyaltak, bár az ablakkeretek Linux platform alatt. mûködõ rendszert. Bootolás közben kicsit nagyok, a rajta található gombok Meglepetésként ért, hogy a black- az F2 gombot megnyomva figyelhet- szépek, és animáltak. Aztán hirtelen Panther már a 2.0-ás OpenOffice.org-gal jük, hogy a rendszer éppen milyen bebarnul a búzatábla, és én csak né- készült, pontosabban a 1.9.107-es feladatokat hajt végre. Elindulás után zek, hogy mit rontottam el. Késõbb magyar nyelvû build-et tartalmazza.

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

A felhasználói programok terén amúgy nagy meglepetés nem ért: a legismertebb programokat (Mozilla Firefox, Mozilla Thunderbird, Evolution, Mplayer, XMMS, Gimp 2.0, K3b, Krusader) megtalálhatjuk az elsõ CD-n. Bár sok választási lehetõségünk nincs azzal kapcsolatban, hogy milyen feladatra melyik szoftvert akarjuk használni, mindegyik típusból a talán legismertebb rendelkezésünkre áll. A többi CD-n, illetve a csomagokat netrõl letöltve azonban kedvünkre válogathatunk zenelejátszók, és böngészõk között. Még a telepítés elõtt gyorsan ki is próbáltam az operációs rendszert. © Kiskapu Kft. Minden jog fenntartva Pendrive-ból többfélét is gond nélkül felismert, de az USB-s külsõ merevle- mezemet nem. Az MP3 lejátszás sem sikerült elsõre, mert a hangerõk alap- ból 0-ra voltak állítva, de ez csak apró- 2. ábra A szolgáltatások beállítása sem nehéz feladat ság. Nagyon tetszett az a megoldás, hogy az XMMS bizonyos információ- kat ideiglenesen kitett a képernyõ gyan az enyémen is volt – akkor nem title blackPanther OS aljára zöld színnel. Amikor például az kell feltétlenül egy másik swap partíci- kernel (hd0,XX-1)/boot/vmlinuz egyik szám véget ér, akkor megjeleníti ót létrehoznunk. A két Linux rendszer root=/dev/hdaXX a következõ adatait. nyugodtan használhatja ugyanazt initrd (hd0,XX-1)/boot/ a csereterületet, hiszen úgysem futnak initrd-2.6.7-6BPL.img A Párduc-lak kialakítása egyszerre a gépünkön. Amennyiben nem zártuk be a telepítést A következõ lépésben kijelölhetjük, Természetesen XX helyére a megfelelõ segítõ ablakot, akkor ennek segítségével hogy akkor melyik partíciókat is partíció számát írjuk, XX-1 helyére végezzük el a telepítést. Elõször is kat- szeretnénk felhasználni a merevleme- pedig értelemszerûen XX-1 kivonás tintsunk az asztalon található black- zünkön a blackPanther OS számára. eredményét helyettesítsük be. Ezután Panther CD-Install ikonra, és gépeljük Itt megadhatjuk még a /home, /var adjuk ki a be a root felhasználó jelszavát, ami könyvtáraknak szánt partíciókat is. alapértelmezésben root. Válasszuk ki Még a rendszer egyszer rákérdez, grub-install /dev/hda a kívánt nyelvet, és szükség esetén vé- hogy akkor biztosan ezekkel a beállí- gezzük el a particionálást a DiskDrake tásokkal szeretnénk-e telepíteni az parancsot, és máris bootolhatjuk segítségével. Természetesen a telepítés operációs rendszert, és elindul a tele- a blackPanther OS rendszerünket. elõtt egy másik program segítségével pítés (1. ábra), ami nekem 23 percet A telepítés utolsó szakaszában adjuk is megtehetjük ezt, illetve meg is vett igénybe egy 1,5 GHz-es Centrino meg az új root jelszót, majd kattint- formázhatjuk a partíciókat. Aki nem processzorral szerelt notebookon. sunk a Jelszó írása gombra. Utána nagyon ismeri a DiskDrake-et, annak Utána be kell állítani, hogy a rend- felvehetünk még tetszõleges számú ezt a megoldást javaslom. szert betöltõ LILO a Master Boot felhasználót, és indítsuk újra a fris- Ha már elõre elkészítettük a partíció- Recordba, vagy csak a saját partícióra sen telepített rendszerünket. Az újra- kat a blackPanther számára, akkor települjön, ha már van valamilyen indítás ugyanaz a kép fog fogadni a DiskDrake-en belül a Leválasztás boot-managerünk, akkor célszerû azt minket, mint a Live CD indítása után, gombbal válasszuk le õket, mivel meghagyni, és az új blackPanther OS-t ezen ne lepõdjünk meg, még el kell a rendszer valószínûleg automatiku- felvenni bele, ha még nincs ilyen, végezni egy kis módosítást ahhoz, san felcsatolt mindent, amit felismert. akkor mindenképpen azt válasszuk, hogy a feltelepített rendszerünk tel- A megfelelõ csatolási pontokat a Csa- hogy a LILO a Master Boot Recordba jes értékû legyen. A telepítést segítõ tolási pont menüben állíthatjuk be. telepítse magát. ablakban keressük meg az utolsó Ha már van egy szabad partíciónk Amennyiben már telepítve van elõtti lépését a telepítésnek, innen a rendszer számára, de nincsen meg- a GRUB, akkor a telepítés után megtudhatjuk, hogy ahhoz, hogy formázva, akkor elõször váltsunk át a blackPanther OS nem fog szerepelni egy mûködõ rendszert kapjunk szakértõi módba, itt válasszuk ki a gyö- a menüben. Ilyenkor a /boot/grub/ a Takarítás gombra kell kattinta- kérpartíció típusát (javasolt a ReiserFs), menu.lst fájlban megtalálhatjuk nunk. Ezt a mûveletet a rendszer majd formázzuk meg. Ha már van már a GRUB menüjét, ezt egészítsük gyorsan el is végzi, majd pedig valamilyen Linux a gépünkön – aho- ki a következõ három sorral: ksezdõdhet a beállítás.

44 Linuxvilág Alkalmazások

Szelídítsünk párducot! met, illetve szeret- A takarítás után a rendszer automati- tem volna bekonfi- kusan felajánlja a rendszer beállításait, gurálni a hálózatot, melyeket természetesen késõbb is hogy letölthessem beállíthatunk a Rendszer/Beállítás/ a többi csomagot blackPantherOS Control Center menü- az internetrõl. pontban. Elõször is a futó szolgáltatá- Az elsõ meglepetés sokat van lehetõségünk beállítani akkor ért, amikor (2. ábra). bedugtam a háló- A szolgáltatások beállítását egyszerû- zati kábelt a csatla- en el tudjuk végezni, minden egyes kozóba. Nálam szolgáltatás mellett az Információ a 192.168.1.1-es gombra kattintva megtudhatjuk, hogy címen egy elõre a szolgáltatás mire jó, a Start/Stop beállított ADSL gombbal lehetõségünk van leállítani, Router csücsül, illetve a Rendszerindításkor négyzet ezért gondoltam, 3. ábra mellett lehetõségünk van arra, hogy hogy szépen beállí- A telepítendõ szoftverek letöltése folyamatban van az adott szolgáltatást minden rend- tom majd, és akkor © Kiskapu Kft. Minden jog fenntartva szerindításkor elindítsuk-e vagy sem. menni fog a net. A következõ lépés a hardverfelismerõ, Hát nem így lett, bedugtam a csatlako- Centeren keresztül hívjuk meg a prog- mely a számítógépünk összetevõit zót, bebootoltam a rendszert, és ramokat akkor azok mûködnek. Innen próbálja meg felkutatni. Ha valami a DHCP szerver tette a dolgát. Pillana- már elérhetõ a Szoftvertelepítés me- nem mûködik megfelelõen, akkor tok alatt volt netem. nüpont. Hívjuk meg tehát ezt, és pró- a baloldalon válasszuk ki az eszközt, A hálózat tehát sikerült, bár sokat nem báljuk ki (3. ábra). és a jobb oldalon megjelennek az esz- tettem az érdekében, úgyhogy már Elsõ látásra nekem túl egyszerûnek köz paraméterei. Itt alul található csak az USB-s merevlemezem volt tûnt a felülete. Mint minden esetben a Modul beállítása gomb, melyre hátra. A telepítés során egyszer már célszerû most is elõször a már frissít- kattintva elérhetjük, hogy az adott találkoztam a Hardware felismerõvel hetõ csomagokat feltelepíteni, mielõtt eszközt beállítsuk. Igaz én itt arra úgy gondoltam, hogy segíthet majd bármilyen más új csomagot telepíte- számítottam, hogy ha a merevlemezt most is. Meg is találtam a Start.. me- nénk. A frissíthetõ csomagokat a le- akarom beállítani, akkor nem egy nü, Rendszer/Beállítás/Hardware/ gördülõ menü Összes csomag, frissítés particionáló program ugrik fel, bár HardDrake menüpontban található elérhetõsége alapján a listából ki mégis ez történt. A beállítás sok he- a Hardware felismerõt. A Lemezek tudjuk választani, hogy az összes fris- lyen nem érthetõ, sok helyen pedig között meg is találtam a hiányzó síthetõ csomagot frissítsük. Ha ezzel túl bonyolult dolgokat kérdez sdb eszközömet, az alul található készen vagyunk, akkor kedvünkre a rendszer, ezért szerintem egyelõre Beállítóprogram indítása után pedig telepíthetünk új szoftvereket. ne változtassunk itt semmin, hanem könnyen sikerült felcsatlakoztatni az A telepítõ figyel a függõségekre is, haladjunk tovább. eszközt a számomra tetszõ helyre. vagyis ha a telepíteni kívánt csomag A Rendszerindítás beállításai pontot Ez még mindig nem oldotta meg telje- másik csomagokra épül, akkor azokat én kihagytam, mivel a rendszert egy sen a problémámat, mert most meg is telepíti. Sajnos néhány esetben nem már létezõ GRUB-bal töltöttem be. kézzel kellett csatolgatni az eszközt, tudom, hogy miért, de nem sikerült Amennyiben viszont a blackPanther így ha például az eszköz az sdb1, a programhoz kapcsolódó lib* csoma- OS LILO-ját használjuk, akkor min- akkor a következõ parancs root jogok- gokat megtalálni, így bizonyos prog- denképpen érdemes itt beállítani, kal való kiadása segít a problémán: ramokat nem tudtam feltelepíteni, hogy egyéb operációs rendszereket meg lehetett volna azt is tenni, hogy is el tudjunk indítani. A következõ drakupdate_fstab --auto --add ilyenkor a Mandrake (Mandriva) ablakban lehetõségünk van megvál- /dev/sdb1 adott csomagjait telepítem helyette, toztatni a root felhasználó jelszavát, hiszen a blackPanther OS Mandriva amennyiben ezt még nem tettük meg, Miután a net is megy, gondoltam, kompatibilis. akkor most mindenképpen fordítsunk hogy kipróbálom a csomagkezelõt, A telepítésnél viszont célszerû odafi- erre is figyelmet, a legjobb ha a jelsza- hiszen egy rendszernek ez az egyik gyelni arra, hogy milyen csomagokat vunk minimum 8 karakter, és nem legfontosabb része. Start.. menü telepítünk, bár vannak bPL és mdk csak betûket, és számokat, hanem Rendszer/Beállítás/Csomagoló/Szoftver- végû csomagok is, ez különösebb speciális karaktereket is tartalmaz, telepítés és nem történt semmi, lát- problémát nem jelent mivel a fejlesz- például #bJi8!Hj egy jó jelszó. szott, hogy megpróbál elindulni tõk valószínûleg törekednek a kompa- a program, de nem sikerült neki. tibilitásra. Persze ez nem azt jelenti, Tovább, tovább, tovább... Gyorsan rá is jöttem a hibára, mert hogy a Mandrake FTP-rõl letöltött Most hogy már áll a rendszerem nem furcsálltam, hogy nem kérte a rend- csomagokat össze-vissza telepíthetjük, hagyott nyugodni, hogy hogyan old- szer az ilyenkor kötelezõ root jelszót. mert a végeredmény akár az is lehet, jam meg a külsõ USB-s merevlemeze- Ellenben ha a blackPanther OS Control hogy végül Mandriva rendszerünk

www.linuxvilag.hu 2005. október 45 Alkalmazások

4. ábra Munkában az új csomagkezelõ 4. ábra A Saját könyvtár megjelenése is megkönnyíti az áttérést © Kiskapu Kft. Minden jog fenntartva

lesz. A forrásokban található csomago- ségünk van kipróbálni a rendszert, ha ellenkezõ sorrendben dugtam be kat nyugodtan felhasználhatjuk vagy és csak ha már megszoktuk, tetszik, Pendrive-ot, és az USB-s külsõ merev- ha rendelkezünk némi jártassággal és akkor kell telepítenünk, pontosan eb- lemezemet, akkor a rendszer az utób- csomagismerettel akár külsõ csomago- bõl kifolyólag viszont elég kevés prog- bit nem csatolta fel megfelelõen. kat is használhatunk. ram fért el az elsõ CD-n, sajnos vagy Ez engem egy kicsit zavart. De nem A csomagkezelõ nekem valahogy nem nem sajnos a Cross Over Office szabad elfelejteni, hogy több napot esett kézre, ezért utána érdeklõdtem demója elég sok helyet elfoglal teljes vett igénybe, amíg a jelenlegi Linux annak, hogy mi a helyzet vele, és kide- értékû, ingyenes programok elõl. rendszeremet is úgy összeállítottam, rült, hogy létezik már egy teljesen új, Meglepetésemre az OpenOffice 2.0-ás hogy minden stimmeljen benne, de egyelõre csak tesztverzió belõle, változata van rajta a CD-n, ezzel el- a WLan kártya meg még egy külön a neve RPManager, természetesen ad- lentétben sajnos például az Acrobat kör volt. Természetesen jó Linuxhoz dig nem nyugodtam, amíg meg nem si- Reader-nek csak az 5.0-ás verzióját mérten azóta szinte semmit sem kel- került szereznem, és ki nem próbáltam. tartalmazza a disztribúció, gondolom lett rajta átállítanom, és megbízható- A blackPanther OS 5.x-es verziójában ennek is vannak okai. an mûködik. Pontosan ezért egy kis már ez a csomagkezelõ lesz benne. Új felhasználókat könnyen hozzáve- kutatómunkával blackPanther OS Felülete sokkal szebb, és átláthatóbb hetünk a rendszerhez, de ezeknek alatt is szerintem mindent sikerülne (4. ábra), mint az elõzõnek, de még meg a felhasználóknak az alapértelmezett beállítanom, de ez túlmutatna a cikk kell belõle várni a végleges verziót. munkaasztaluk teljesen másképpen terjedelmén, és mivel gondolom nem fog kinézni mint a bpuser felhasználó- mindenkinek vannak ilyen gondjai, Szubjektív... nak. Az, hogy a rendszer bootolás ezért nem untatnám az olvasókat Úgy álltam neki a szoftver tesztelésé- után rögtön a bpuser felhasználót feleslegesen ezzel. nek, hogy Linux és Linux rendszer jelentkeztette be engem egy kicsit A blackPanther OS számomra összes- között nem lehet olyan nagy különb- zavart, de van benne ráció, hiszen aki ségében kellemes élmény volt. Érzé- ség, úgyhogy minden pikk-pakk most ismerkedik az operációs rend- sem szerint nagyszerûen használható menni fog. Közben rájöttem, hogy szerrel, annak így nem kell a belépés- desktop rendszerként, szinte minden azért ez korántsem így van. Közel két sel bajlódnia. Habár jó lenne meg- általános felmerülõ feladatra alkal- éve egy másik disztribúciót haszná- szokni a felhasználóknak azt, hogy mazható csak az elsõ CD telepítése lok, ezért elsõ látásra kicsit furcsa volt, mindig azonosítaniuk kell magukat után is vagy mint Live CD, de vállalati hozzászokni egy másik rendszerhez. a számítógép számára. Picit zavart en- környezetben való alkalmazásával én Már a Live CD indítása közben fel- gem az is, hogy a Krusader alapértel- inkább megvárnám az 5.0-ás verziót, tûnt, hogy a blackPanther OS csapat mezett képnézegetõje a Gimp2, termé- hiszen a 4.2 csak a 4.0-ás frissített vál- sokat ad a szoftver külsõ megjele- szetesen van ennél kisebb képnézege- tozata, míg a következõ verzióban nésére, hiszen végül is ez az amit tõ is rendszerben, nem értem, hogy már sokkal több minden lesz benne, a felhasználók elõször látnak. A mun- miért nem az az alapbeállítás. Mond- például az új csomagkezelõ amely katerület megszólalásig hasonlít egy juk át lehet állítani könnyen, csak nekem sokkal jobban kézre áll. Windows operációs rendszer mun- nem biztos, hogy egy kezdõ felhasz- Remélem, hogy hamarosan az katerületére (5. ábra), ami nyilván náló tudja, hogy mit kell ilyenkor ten- új rendszert is bemutathatjuk megkönnyítheti az arról áttérni ni, márpedig egy kép megtekintése itt a Linuxvilág hasábjain. szándékozó felhasználók feladatát. miatt a Gimpet elindítani kicsit luxus. Nagyon tetszik, hogy a telepítõ CD Az USB-s eszközök csatlakoztatásával Horváth Ernõ egyben Live CD is, így elõször lehetõ- is volt még egy kis problémán, mert ([email protected])

46 Linuxvilág Alkalmazások

Ide nekem az internetet – wget A szélessávú netkapcsolatok elterjedésének hála, ma már ezerféle anyaghoz – szoftverekhez, dokumentációkhoz, képekhez, videókhoz – hozzájuthatunk, csak le kell tölteni õket. Böngészõnkben általában elég egy kattintás és a kiválasztott anyag máris töltõdik le gépünkre. Ez azonban csak igen korlátozott lehetõségeket nyújt számunkra.

Ha egy valóban kezes segítõtársat • Szinte bármilyen *nix kör- • Megszabhatjuk, hogy a linkek szeretnénk letöltéseinkhez, használ- nyezetben megtalálható, vagy követése során mennyire juk a wget-et. Nagyon hatékony se- lefordítható, sõt szabadon „kalandozhat el” más helyekre, gédeszközünk lehet hálózatról való használhatjuk Windows honlapokra. letöltésre ftp és http (vagy https) vagy MacOS X alatt is. protokollokon keresztül. Régi segítõ- • A letöltés során nyomon kö- társunk õ, bár lehet, hogy a szekrény • Képes a háttérben dolgoz- vethetjük a folyamat menetét, mélyén lapult, így vegyük elõ, töröl- ni, így csak akkor kell odafi- de mindezt át is irányíthatjuk jük le róla a port és ismerkedjünk gyelünk rá oda, amikor egy fájlba, ahol késõbb tanulmá- meg vele! szeretnénk, akár ki is jelent- nyozhatjuk. A wget minden Linux és BSD kezhetünk. terjesztésnek része, de MacOS X-en • Minden beállítást elmenthe- és Windowson is használhatjuk, sõt • Lassú, vagy nem megfelelõ tünk egy konfigurációs fájlba, létezik VMS-re írt változata is. kapcsolat esetén egy bizonyos így nem kell minden egyes A wget karakteres felületen vagy határon belül addig próbálkozik, alkalommal megadnunk õket. terminálban használható, tehát míg a letöltés jó nem lesz. Ezeket egyedileg felül is bírál- ismernünk kell a kapcsolókat, de hatjuk, ha éppen erre van © Kiskapu Kft. Minden jog fenntartva mint látni fogjuk, ez igen hasznos- • Tudja folytatni a megszakadt szükségünk. nak fog bizonyulni mindennapos letöltéseket (ftp kapcsolat esetén munkánk vagy egy-egy komolyabb persze csak akkor, ha ezt a kiszol- • Végül, de nem utolsó sorban letöltés során. gáló is támogatja). teljesen szabad, nyílt forráskó- dú szoftverrõl van szó, ami A wget képességeinek • Proxy kiszolgálóval is hasz- jelentõs érv a wget mellett áttekintése nálhatjuk a letöltés gyorsítá- a rengeteg érdekes, de Az internet alapvetõen nem sára, a hálózati terhelés a legkevésbé sem olcsó megbízható közeg, így ha nagyobb csökkentésére. letöltésvezérlõk korában. anyagot, vagy sok kicsit kell letölte- nünk, gyakran kell bosszankodnunk • Teljes könyvtárrendszereket Azt hiszem, ennyi információ épp a folyamat megszakadása miatt. letölthetünk vele a távoli géprõl. elég annak eldöntéséhez, hogy Ha pedig egy honlapot mentenénk szeretnénk-e közelebbrõl megismer- le minden kellékével együtt, néha • Letöltési célként megadhatunk kedni a wget-tel... a böngészõnk nem elég intelligen- fájltípusokat, vagy meghatároz- Mivel valószínûleg megtaláljuk ked- sen oldja ezt meg ahhoz, hogy hatjuk a kihagyni kívánt venc terjesztésünkben, ezért letölteni a tükrözött helyet lokálisan is jól csoportot is. sem szükséges. Ha mégis szeretnék tudjuk majd használni. A wget a legfrissebb változathoz hozzájutni minderre egyszerû megoldást nyújt. • Konvertáltathatjuk vele (ez jelenleg, 2005. július elején az 1.9.1- Hogy lássuk, mennyire hatékony a linkeket a helyi gépre, azaz es), akkor a  http://www.gnu.org/ eszközrõl van szó, tekintsük át automatikusan kialakíthatjuk order/ftp.html oldalon találha- röviden a program fontosabb tulaj- az „offline böngészésre” alkal- tó ftp szerverek listájáról donságait, képességeit. mas anyagot. válasszunk egyet.

www.linuxvilag.hu 2005. október 47 Alkalmazások

Alapvetõ tudnivalók http esetén, 443 https-nél és 21 ftp Én négy csoportra osztottam fel Ennyi bevezetõ után vágjunk szolgáltatásnál) majd az elérendõ erõ- a funkciók listáját, bár nyilván lehetne a közepébe! A használat nagyon forrás útvonala következik. máshogyan is: egyszerû: Most már tudjuk, hogy az URL-ek meglehetõsen bonyolultak is le- • A ki- és bemenet szabályozása wget [opciók] [URL] hetnek, viszont a jó hír az, hogy (megjelenítési opciók, naplózás, szerencsére ritkán kell a szabvá- URL listafájl megadása) Amennyiben az opciókat kezdésként nyostól eltérõ porton lévõ szerverre elhagyjuk, a kérdés az marad, mi is felcsatlakoznunk, publikus szerve- • A letöltés szabályozása (proxy pontosan az „URL”? Ez egy hálózati reknél pedig a nevet és jelszót szerver magadásától a letöltés erõforrás azonosítója, ami lehet do- sem kell megadnunk. Persze ami- folytatásának lehetõségén át kumentum, kép, hang vagy bármi- kor egy hosszú URL-t kell megad- a letöltés sebességéig sok minden lyen más fájl. Az URL rövidítés az nunk, könnyen eltéveszthetjük. belefér ide) „Uniform Resource Locator”-t takarja, Ezért érdemes a címet a böngészõ- amit talán „Egységes erõforrás-azo- bõl kimásolni, hiszen az esetek • HTTP opciók (a http protokollon nosítónak” magyarosíthatnánk, az többségében valószínûleg az keresztüli letöltés szabályozása) internetes erõforrások szabványosí- interneten bukkanunk rá egy-egy © Kiskapu Kft. Minden jog fenntartva tott címe, tartalmazza a protokollt izgalmas helyre, ahonnan azonnal • FTP opciók (az ftp protokollon (például HTTP), a használt port- le szeretnénk valami tölteni. keresztüli letöltés szabályozása) számot, a gazdagép nevét és az erõ- A wget igazán akkor kezd érdekessé forrás elérési útját a gépen belül, válni, ha megismerkedünk az opciók- A wget opciók általában az url esetleg még az a név és jelszó-párost kal. Ezek segítségével szabályozhat- megadása elõtt következnek, de is, ami az eléréshez szükséges. juk, hogyan töltsön le, mit vegyen semmi sem kötelez erre bennünket Nézzünk egy példát! figyelembe és mit nem és miként – ha úgy jobban tetszik, egyeseket A http://hu.wikipedia.org például jelenítse meg a letöltés folyamatát. átcsoportosíthatunk utána is. A kö- egy nagyon egyszerû URL, tulaj- Ne feledkezzünk meg arról sem, vetkezõkben tehát az opciókkal fog- donképpen csak egy protokollt, hogy a kis- és nagybetûk bizony lalkozom, de nem fogom mindet a HTTP-t tartalmazza és az számítanak az opciók megadásakor, felsorolni, inkább csak bemutatni internetcímet. (A magyar Wikipédiát így például a „V” és „v” egészen mást a wget lehetõségeit. a hu.wikipedia.org címen találjuk, jelentenek. ha az információkra éhes olvasó A ki- és bemenet szabályozása esetleg még nem ismerné, akkor Alapvetõen három lehetõségünk van: sürgõsen keresse fel.) --progress = tipus Az ftp://pisti:[email protected]/ • V: Ez a verziószámot írja ki, ami fajlok/doksi.zip már bonyolultabb. hasznos lehet megállapítani, hogy A „típus” helyére írt szöveggel meg- Itt már megadtuk a nevet és a jelszót vajon a legújabb verziót használ- adhatjuk, milyen legyen a letöltés is, ami az ftp eléréshez szükséges juk-e vagy pedig letöltõnk már folyamatának a kijelzése. Ha nem (név: pisti, jelszó: pst32z) és frissítésre szorul használjuk ezt a beállítást, akkor az a teljes elérési utat a „pistinet.hu” alapértelmezett mintát fogjuk látni, szerveren belül. • h: A wget helpjét (magyarosan ami jelenleg a bar. Ez a következõ- Megadom a wget számára értelmez- a súgóját) kapjuk meg képpen fest: hetõ URL mintát általános módon is. Ez a következõ: • b: Megadásakor a wget a háttérben 32% [=====> ] fog futni, mindenféle visszajelzés 14,968,576 118.56K/s protokoll://név:jelszó@gazdagép nélkül. Ez nagyon hasznos lehet, ETA 04:22 :port/könyvtár/fájl ha a terminálban tovább szeret- nénk dolgozni. Ami normálisan Az elsõ szám a letöltött mennyiséget A protokoll lehet http, https vagy a képernyõre kerülne, az most egy mutatja százalékban, ezután két kap- ftp. Ennek megadása kötelezõ. A név „wget.log” nevû fájlba íródik bele. csos zárójel között (ez a bar, azaz és jelszó kettõsponttal van elválasztva, Így a letöltés után végigkövethet- „téglalap” egysoros ASCII formája) amit akkor kell csak megadnunk, ha jük, mi történt, felderíthetjük az egy folytonosan növekvõ nyilat lát- azonosítanunk kell magunkat. Névte- esetleges hibákat is. hatunk. A zárójel után a letöltött lenül is használható (anonymous) ftp mennyiség bájtokban, majd az aktuá- szerverek esetén ezt a wget elvégzi Ha be akarom mutatni a további lehe- lis sebesség (kilobájt per másodperc- helyettünk. A név és jelszó megadását tõségeket is, akkor az opciókat csopor- ben) és az ETA látható. Az ETA az kukac jellel zárjuk le, ezután megad- tosítanom kell, mert nagyon sok van, „Estimated Time of Arrival”, azaz juk a gazdagép domén nevét vagy IP hiszen ahogy említettem, a wget a “becsült várakozási idõ” rövidítése. címét, ezután kettõsponttal elválaszt- nagyon rugalmas szoftver, szinte Használhatjuk még dot-ot is, ennek va a portszámot, ha az nem a szabvá- minden, a letöltéssel kapcsolatos további altípusai is vannak. Írhatjuk nyos (a szabványos portszámok: 80-as óhajunkat képes teljesíteni. önmagában is, ami az alapértelme-

48 Linuxvilág Alkalmazások

zett „dot” stílust fogja jelenteni, ami- Elõfordul, hogy több fájlt kell letölte- Ha FTP kiszolgálóról töltünk le, kor is egy pont 1 kilobájtot fog jelen- nünk, amik nem nem egy helyen van- használhatjuk a helyettesítõ karakte- teni, minden sorba pedig 50 pontot ír nak (mert akkor a rekurzív letöltést al- reket is: ki. Ez nyilván a régi, lassú hálózatok kalmazhatjuk) hanem az interneten maradványa, amikor még csak kis szétszórva, több gazdagépen. Ilyenkor wget ftp://ftp.szerverem.hu/*.zip dolgokat tölthettünk le belátható alkalmazhatjuk a -i file vagy idõn belül, így ezzel kényelmesen –input-file = file opciót, amely- De több könyvtár tartalmát is letölt- nyomon követhettük a letöltés folya- nél egy megadott fájlból fogja venni hetjük a -r (rekurzív letöltés) opció- matát. Egy szélessávú hálózaton ez a letöltendõ elemeket. val. Ez nemcsak FTP-n, hanem elviselhetetlenül szétaprózza a kijel- weboldalakon is alkalmazható. zést. Az „elavult” jelzõt ráakaszthat- A letöltés szabályozása Ha ugyanis enélkül akarunk egy juk a dot:binary típusra is, ami ér- Ha megszakad a letöltés és a távo- honlapot letölteni: dekes lehet, az a dot:mega, ahol ne- li szerver ezt engedi, a wget tudja vével ellentétben nem egy megabájt folytatni azt, erre szolgál a -c opció. wget http://www.linuxvilag.hu egy pont, hanem 64K. Minden sorba Amennyiben a hálózati kapcsolat 48 pontot ír, így egy sor 3 megabájt- szakad meg és nem a wget mûkö- akkor csupán egy index.html-t fog nak fog megfelelni: dése, ez az alapértelmezése, tehát letölteni, ugyanis ezt kapta vissza automatikusan folytatni fogja a már a wget a Linuxvilág web szerverétõl. © Kiskapu Kft. Minden jog fenntartva wget –progress=dot:mega megkezdett letöltést. Elõfordulhat A honlap további részeinek letöl- ftp://ftp.uhulinux.hu/ISO/ azonban, hogy kézileg állítjuk le téséhez a uhu-linux-1.2-cd1.iso a wget-et vagy valamilyen más hiba történik, ekkor az opció megadása wget -r Ez valahogy így fog kinézni (1. kód) nélkül újból elkezdi letölteni a fájlt, http://www.linuxvilag.hu A dot stílus kiválóan alkalmas arra, meghagyva az eredetileg félbeha- hogy nyomon kövessük, az egyes egy- gyottat is. formát kell használnunk. ségekben (itt ez 3 megabájt) mekkora Nagyon hasznos funkció lehet volt az átlagos letöltési sebesség. a letöltés sebességét szabályozó Ez már egy www.linuxvilag.hu nevû A bar-ral ellentétben sokkal finomabb --limit-rate opció. Ezzel beállít- könyvtárat is létrehoz és ebbe men- egységekben jelzi a letöltés folyamatát hatjuk, mekkora az a legnagyobb ti le a honlap tartalmát. Web oldala- is. Ez fõleg egyenetlen letöltési sebes- sebesség, amivel a wget letölthet. kon ez az egyes linkeket is megvizs- ségnél jöhet jól nekünk. Így ha közben szeretnénk gálja, így a letöltés ezekre is kiterjed. internetezni vagy a belsõ hálózaton Alapértelmezésben 5 szint mélységig -o logfile lévõ más felhasználóktól nem szeret- fog letölteni, de ezt az -l (vagy nénk a teljes sávszélességet elvenni, --level=) opcióval megváltoztathat- A wget alapértelmezésben a képer- ezzel szabályozhatjuk a nekünk tet- juk. Például a -l 2 megadásával két nyõre ír mindent. Ezt átirányíthatjuk szõ sebességet. szint mélységig fog vizsgálódni. egy fájlba ezzel az opcióval. A -b opci- Bájt, kilobájt és megabájt per másod- Végtelen mélységet a -l 0 opcióval ónál említettem hogy itt automatiku- perc mértékegységeket használha- adhatunk meg, de ezzel nagyon san a wget.log fájlba kerül a program tunk. Tehát a vigyázzunk, mert lehet hogy bizo- kimenete. Az -a opció csak annyiban nyos helyekrõl több gigabájt adatot különbözik az -o-tól, hogy amennyi- wget –limit-rate=35k fogunk letölteni. ben létezik a megadott fájl, nem törli ftp://ftp.fsn.hu/pub/linux/ Ha teljes tükrözést szeretnénk, ezt az azt, hanem folytatja. distributions// -m opcióval érhetjük el (ekkor az -r A wget-et teljesen el is „hallgattathat- KNOPPIX_V3.9-2005-05-27-EN.iso és -l nem kellenek). juk” a -q vagy --quiet opcióval. Ez- A weboldalak letöltésének további zel ellentétben a -v vagy --verbose azt jelenti, hogy maximum 35 kilo- lehetõségeirõl a következõ fejezetben opció „szószátyárrá” teszi a wget-et, bájt/másodperc, azaz 280 kbit/s sávszé- lesz szó. ami egyébként az alapbeállítás is. lességgel fog menni a Knoppix disztri- Végül, érdemes megemlíteni a követ- A kettõ között van az -nv vagy búció letöltése. Így ha például egy 512 kezõ három opciót: --non-verbose opció, ami egy általá- kbit/s adsl vonalunk van, akkor a töb- ban hallgatag, de a hibáknál „beszélõ” bi felhasználónak vagy más letöltés- -nc (vagy --no-clobber) szoftvert eredményez. hez még mindig marad 232 kbit/s. -N (vagy --timestamping) -K (vagy --backup-converted)

1. kód Ezek a rendszeres letöltésnél hasz- nálhatók jól. Ha például egy 0K ...... 0% 112.62 KB/s webhelyet rendszeresen frissítünk 3072K ...... 1% 114.58 KB/s a gépünkön, fontos a -N opciót hasz- 6144K ...... nálni, így csak a változásokat fogja letölteni. Ha ezt a -K -val együtt

www.linuxvilag.hu 2005. október 49 Alkalmazások

1. ábra A Gnome Transfer Manager 2. ábra KwebGet 3. ábra wGetGUI

használjuk, akkor a régi fájlokról egy Ha offline böngészésre szeretnénk ilyen jól megszerkesztett oldal, ahol biztonsági mentést (backup) is készít, használni a letöltött website tartalmat, relatív linkek mutatnak a tartomá- © Kiskapu Kft. Minden jog fenntartva azaz átnevezi õket, hogy ne kerülje- mindenképpen konvertálni kell a hi- nyon belüli tartalomra. nek felülírásra. A „no clobber” opció vatkozásokat a -k (vagy --convert- Végül, a webes letöltések bemutatását (-nc) viszont megakadályozza, hogy links) opcióval. Ekkor minden link fejezzük be egy nagyon hasznos lehe- a létezõ fájlokat felülírhassuk, így a helyi gépre fog mutatni. tõséggel, a tükrözéssel (mirroring). ezek le sem töltõdnek. Ez akkor A wget szerencsénkre más tartomá- Ez természetesen a -m opcióval hasznos, ha mindig csak az új fájlo- nyokba (domain) nem „kalandozik adható meg. kat szeretnénk egy helyrõl letölteni el”, azaz ha a letöltendõ weboldalakon Egy webhely (vagy akár FTP (és az új fájlok megnevezése is eltérõ kívülre mutató link van, azt nem dol- hely) tükrözése során a wget a régiekétõl). gozza fel. Tehát a rekurzív módon mindent letölt az adott tartományból (természe- HTTP opciók, weboldalak letöltése wget -r http://www.debian.org tesen HTTP esetén a linkek köve- A weboldalak letöltéséhez számtalan tésével), ami a legutóbbi tükrözés lehetõséget, beállítást kínál nekünk csak a debian.org tartományra muta- óta megváltozott. a wget. Mint említettem, ha nem tó linkeket fogja követni. adunk meg a letöltésre vonatkozó op- Ellenben ha a -H opciót is megadjuk, FTP opciók ciót, akkor csak az index oldalt fogjuk akkor minden linket követni fog, bár- FTP szerverrõl letöltésnél a leggyako- visszakapni. hová is hivatkozzon. A -D opcióval ribb opciónk valószínûleg a megfelelõ Rekurzív letöltés esetén (-r opció) tudjuk korlátozni ezt a funkciót, meg- név és jelszó megadása lesz: viszont a megadott (vagy az alapér- adva, mely tartományokra korlátoz- telmezett 5) szintig letölti zuk a letöltést. Tehát a --ftp-user=user a webtartalmat, követve a hivatkozá- --ftp-password=password sokat is (már amihez jogosultságunk wget -rH -Ddebian.org van, természetesen HTTP protokoll http://www.debian.org Ezek hiányában a wget esetén is megadhatunk bejelentkezési anonymousként próbál belépni. (login) nevet és jelszót akár az URL- letölti a debian.org altartományai lévõ Használhatjuk a speciális behelyettesí- ben, akár a –http-user=user és tartalmat is, így a packages.debian.org- tõ karaktereket is: a * vagy ? szimbó- --http-password=password opciókat ot vagy a lists.debian.org-ot is. lumokat. használva). A letöltött oldalak és Természetesen csak a legritkább eset- webtartalom ezután böngészõben ben szeretnénk akkora tartalmakat le- wget ftp://szerverem.hu/*.jpg megnézhetõ... lenne, ha a hivatkozá- tölteni, mint a packages.debian.org. sok a helyi gépre mutatnának. De Ezért a nem kívánt helyek listáját Így természetesen csak a jpeg képeket alapértelmezésben mindent úgy töl- megadhatjuk a --exclude-domains fogja letölteni számunkra. tünk le, ahogy a webhelyen található. opcióval: Általában passzív módban töltünk Ekkor csak a relatív címzések fognak le FTP szerverekrõl. De elõfordulhat, mûködni, az abszolútak nem. Persze wget -rH -Ddebian.org hogy csak az aktív mód engedélye- lehet, hogy nem szeretnénk az erede- –exclude-domains zett, ekkor kell használnunk ti tartalmat megváltoztatni. Viszont packages.debian.org,lists. a --no-passive-ftp opciót. az is elõfordulhat, hogy a webolda- debian.org http://www.debian.org Gyakran alkalmaznak szimbolikus lon egyes linkek más helyekre is linkeket az FTP szerverek könyvtár- mutatnak, a wget így végül akár Az is egy jó módszer a letöltés kordá- struktúrájában. A wget alapértelmezés a szándékunkkal eltérõ tartalmakat ban tartására, ha csak a relatív linkeket szerint ezeket nem követi, tehát gé- is letölthet vagy a letöltés a végtelen- engedjük követni a wgetnek a -L opci- pünkre is csak a link kerül. Ha szeret- ségig folytatódik. óval. A www.debian.org tipikusan nénk, hogy a szimbolikus linkek által

50 Linuxvilág Alkalmazások

hivatkozott helyekrõl is letöltsön, al- már elõre be van állítva számunkra, A wget windowsos változatát is letölt- kalmaznunk kell a --retr-symlink amik így a wget alapértelmezései. hetjük a http://gnuwin32.sourceforge.net/ opciót. Ha használunk proxy szervert, itt packages/wget.htm oldalról. Ezen alapul egyszer s mindenkorra megadhatjuk a wGetGUI (http://www.jensroesner.de/ A wgetrc azt, elkerülve hogy minden letöltéskor wgetgui/) is (3. ábra), amellyel nagyon A wgetrc egy nagyon hasznos be kelljen írnunk: részletesen szabályozhatjuk a wget beállítófájl, ahol a wget általános számtalan lehetõségét. mûködését tudjuk szabályozni. http_proxy = server1.ceg.hu Egyetlen cikkben természetesen le- Több helyen is megtalálhatjuk. ftp_proxy = server2.ceg.hu hetetlen bemutatni a wget minden A globális beállítások az /etc/wgetrc proxy_user = "janos" tulajdonságát és szolgáltatását, tehát fájlban találhatóak (egyes disztribú- proxy_password = "jelszavam" a sikeres felfedezésekhez bátran hasz- ciókban ez az /usr/local/etc/wgetrc). náljuk a man wget parancsot vagy A felhasználótól függõ beállítások- A http://ftp.gnu.org/pub/gnu/ a www.gnu.org/software/wget/ hoz a saját könyvárunkban kell Manuals/wget-1.8.1/html_node/ manual/ oldalon található részletes létrehoznunk egy .wgetrc fájlt. wget_27.html#SEC27 oldalon egy ismertetõt. Ez felülbírálhatja az általános wgetrc teljes listát kaphatunk a wgetrc beállításait. parancsokról. Molnár Norbert © Kiskapu Kft. Minden jog fenntartva Az egyes opciók megadása természete- 34 éves, rendszergaz- sen bármely wgetrc-t felülbírál. Ezek Grafikus felületek daként dolgozik, 5 éve a beállítások addig érvényesek, míg A wget használatának megkönnyítésé- foglalkozik Linuxszal. a parancssorban felül nem bíráljuk õket. re grafikus felületek is készültek hozzá. Fõként a szabad szoft- A wgetrc szintaxisa nagyon egyszerû: A Gnome Transfer Manager (1. ábra) verek és a számítógé- változó = érték egyszerû, grafikus letöltésmenedzser pes biztonság érdekli. Budapesten él, a Gnome ablakkezelõhöz, és természe- hobbija – ha éppen nem egy újabb Minden egyes változó-érték párt új tesen a wget-en alapul. Ennél rész- disztribúciót tanulmányoz és nem sorba kell írni. letesebb beállítási lehetõségeket utazik – a csillagászat és a filozófia - Rengeteg lehetõségünk van a wget sza- kínál Frank von Daak KwebGet-je lehetõleg jó vörösbor mellett.  bályozására. Ha belenézünk a globális ( http://www.kpage.de/en/index.html) ([email protected]) wgetrc-be, láthatjuk, hogy egypár érték (2. ábra).

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

FreeBSD – a szomszéd vár (12. rész) A szomszéd szomszédai

Néha szükséges, hogy a gépünkre más $ dmesg WARNING: mount of ad0s4 denied due to operációs rendszer is telepítsünk, s itt  elsõsorban Linux rendszerre gondolok. unsupported optional features Valami oknál fogva általában egy gépen Ez például csak annyit jelent, hogy az adott fájlrendszer a Linux mellé kerül egy FreeBSD, eset- nincs rendbe téve, érdemes lenne egy fsck futtatása:

leg a FreeBSD mellé egy Linux. Ennek $ fsck.ext3 /dev/ad0s4 oka vagy az új rendszer megismerése, e2fsck 1.38 (30-Jun-2005) vagy a hiányzó funkciók kihasználása. /: recovering journal /: clean, 120706/555968 files, 765563/1110493 blocks Ha már két operációs rendszer van egy számítógépen, $ mount_ext2fs /dev/ad0s4 /mnt/ akkor ésszerû a lehetõ legkevesebb eltérést beállítani, amely FreeBSD és Linux viszonylatában – bizonyos korlátokat be- Ne bízzuk el magunkat túlságosan, ugyanis hosszabb tartva – megoldható. Érdemes úgy kialakítani a rendszert, FreeBSD alatti munka után – amikor a Linuxot választjuk

© Kiskapu Kft. Minden jog fenntartva hogy legyen egy közös home könyvtár, esetleg a swap partí- a következõ rendszerindításkor – szinte biztos, hogy elindul ció is legyen közös használatban, s egy ablakkezelõ helyes és valami hibát talál az fsck. Persze ez fordított esetben is mûködése sem árt. Ha a legtöbb program képes mind a két így történik, ugyanis a Linux sem kezeli rendesen rendszer alatt megfelelõen mûködni, akkor már semmi a FreeBSD „új” (vagyis lassan három éves) UFS2 fájlrend- egyéb kívánságunk nem lehet. szerét, így hosszas munka után itt is azt veszem észre a FreeBSD indulásakor, hogy a háttérben elindít egy fsck A közös fájlrendszer folyamatot is a hibák javítása ügyében. Ráadásul a SuSE 9.3 Fájlrendszer tekintetében ez a két rendszer néhol oly mér- „gyári” rendszermagja csak olvasni tudja az UFS2 fájl- tékben nem tud együttmûködni egymással, hogy ilyet még rendszert, külön rendszermagot kell fordítani, ha írni is a Linux és Windows viszonylatban is ritkán látni. Ez fõleg szeretnénk azt. Ezen túlmenõen én az UFS2 fájlrendszer a teljesen szabadon hozzáférhetõ fájlrendszer specifikációk javaslom közös nevezõnek, mert a Linux rendszermag esetén tûnik furcsának, ugyanis a FreeBSD egyedül az Ext2 UFS2 kezelõ része jobban van megírva (bár tudtommal fájlrendszert írja-olvassa, az Ext3 esetén sokszor olvasni nem ismeri/kezeli a SoftUpdate lehetõséget), mint a FreeBSD sem képes, s gyakorlatilag csak a naplózás egyszerûsítésé- Ext3 kezelõ modulja. vel képes írni. Ha mégis kezeli, akkor az alábbi beszédes Ezt még tetézi, hogy ha nem kézzel csatoljuk le a FreeBSD üzenettel képes õrületbe kergetni a gyanútlan felhasználót: leállítása elõtt a felcsatolt Ext2 vagy Ext3 fájlrendszereket, akkor ez a leálláskor problémát okoz. A FreeBSD rendszer- $ mount_ext2fs /dev/ad0s4 /mnt/ magja ugyanis hibásan kezeli az említett fájlrendszerek mount_ext2fs: /dev/ad0s4: Invalid argument gyorstárazását, s úgy érzékeli, hogy nem tudja kiírni

52 Linuxvilág Üzemeltetés

a lemezre az összes módosított blokkot. Ennek következmé- a kitöltetlen csoport esetén létrehoz egy felhasználói nye az, hogy egyik fájlrendszert sem zárja le helyesen, és névvel azonos nevû csoportot. Ha a /home közös lecsatolás nélkül eldobja õket, s ez okból a következõ indí- (és miért ne lenne az), akkor az egyik rendszer problé- táskor egy fsck vár minket néhány teljesen hibátlan fájl- mázni fog a már létezõ felhasználói könyvtár miatt. rendszeren. Bosszantó és zavaró hiba, bár problémát vagy Érdemes elõször Linux alatt létrehozni a felhasználókat, adatvesztést nem okoz. Kissé érdekes, hogy a világhálón ta- mivel itt több állomány kerül be a felhasználó könyvtárá- lálható egyetlen Linux+FreeBSD HowTo-ban mindössze ba kezdésképp, amelynek nagy részére szükség is van. a következõ sor található ezzel a – még az 5.4-es FreeBSD- A FreeBSD már képes ezeket megfelelõen használni, ben is megtalálható – hibával kapcsolatban: „The bug has vagy figyelmen kívül hagyni. been fixed in FreeBSD 3.x.” További hiányosság, hogy az újabb Linux kiadások már Grafikus felület, KDE UTF-8 fájlrendszert használnak, míg a FreeBSD ezt nem A két rendszer grafikus felületét külön-külön beállíthatjuk, képes használni, nincs felkészítve erre a feladatra. Érdemes hiszen az alaprendszer külön helyen található. Igyekezzünk a Linux rendszerben beállítani például az ISO8859-2 kódla- azonos felbontást és tulajdonságokat beállítani, különben pot a fájlrendszerre is. Érdemes tehát egy UFS2 fájlrend- azonos programokat használva a két rendszer esetén apró szerre létrehozni a /home könyvtárat, amelyet többnyire kis bosszantó hibák kerülnek napvilágra (kilógó ablakok, mind a két rendszer jól kezel. eltünedezõ ikonok, stb.). A KDE (és GNOME) esetén különösen ügyeljünk © Kiskapu Kft. Minden jog fenntartva Telepítési sorrend arra, hogy a két operációs rendszer alá feltelepített prog- Gyakorlatilag teljesen mindegy, hogy melyik rendszer ramok azonos verziószámmal bírjanak, különben képesek telepítjük fel elõször, majd ezek után melyikkel folytatjuk. apró hibákat okozni a konfigurációs állományokban, Javaslom azonban elõször a FreeBSD-t feltelepíteni, mivel amelyeket kibogozni – ha nem is lehetetlen – de idõrabló ennek az igényei a kevésbé rugalmasak, hiszen csak elsõd- és hosszadalmas feladat (velem többször is elõfordult, leges partícióra tud feltelepülni, illetve indulni. A Linux hogy inkább letöröltem és újra beállítottam az adott rendszer már rugalmasabb lehet, fõleg egy jól bejáratott programot). GRUB használatával még a két rendszer indítása is Sajnos a Linux terjesztõk saját fejlesztései kismértékû sokkal szebb lehet. problémát okozhatnak, ha belefutunk egy-egy ilyen A GRUB beállítása egyszerû, a FreeBSD teljesen azonos programba. Például a modemes tárcsázáshoz a SuSE módon indul, mint egy Windows, vagyis a megfelelõ egy saját Kinternet nevû programot használ, amelyet állományba (SuSE esetén a /boot/grub/menu.lst) kell nehézkes lenne FreeBSD alatt használni, így marad a következõ sorokat beszúrni (megfelelõ adatokkal): a Kppp, amelyet viszont SuSE alatt nehéz jól beállítani (egyszerûbb átmásolni a FreeBSD alatti beállítófájlokat). title FreeBSD Érdemes FreeBSD alatt kezdeni a beállításokat, mert root (hd0,2) nagyobb az esély arra, hogy Linux alatt is lesz ilyen chainloader +1 program, mint fordítva (bár akadnak kivételek). Ezzel véget ért a FreeBSD operációs rendszer néhol A LILO is teljesen hasonlóképpen állítható be: részletesre, néhol szûkre sikerült bemutatása. Sok sikert és örömet kívánok mindenkinek a szomszéd vár további other=/dev/hda3 felfedezéséhez. table=/dev/hda label=FreeBSD Auth Gábor ([email protected]) Egy pécsi középiskolában informatikát és Közös swap partíció programozást oktat. Tíz éve botlott elõször A két rendszer képes – hellyel-közzel közös – swap partíciót a UNIX rendszerekbe, 7 év Linux használat használni, ha Linux alatt minden induláskor lefuttatjuk az után kapta el a FreeBSD lázat, amibõl máig mkswap parancsot a megfelelõ fájlrendszerre. A FreeBSD nem tudott kigyógyulni. ezt megteszi a swap aktiválásakor (nincs is mkswap paran- csa). Ha Linux alatt használjuk a „hibernálást”, akkor a közös swap használatot nyugodtan elfelejthetjük, mivel KAPCSOLÓDÓ CÍMEK a Linux rendszer ide menti le a memória tartalmát, mielõtt lekapcsolná a gépet: a FreeBSD pedig minden indulásakor A FreeBSD projekt honlapja:  http://www.freebsd.org lazán – különösebb üzenet és figyelmeztetés nélkül – felül- írja ezeket az adatokat. A magyar FreeBSD honlap:  http://www.freebsd.hu

Felhasználók A magyar BSD honlap:  http://www.bsd.hu A passwd és shadow (FreeBSD esetén a master.passwd) állo- mányok különbözõsége okán a felhasználókat külön-külön A kézikönyv magyar fordítása fel kell vennünk, lehetõleg azonos jelszóval és azonos  http://www.enaplo.hu/FreeBSD/handbook/ UID/GID számokkal. Érdemes a megnevezéseket is közös nevezõre hozni, mivel a FreeBSD sysinstall mindenese

www.linuxvilag.hu 2005. október 53 Üzemeltetés

A pingvin hidegben érzi jól magát... A szervereknek állandó 20-22 fokos hõmérséklet szükséges a megbízható mû- ködéshez. Ezt a hõmérsékletet komolyabb helyeken klímaberendezések biztosít- ják. Murphy idevágó idézete: „Ami elromolhat, az el is romlik...” És ilyenkor jön jól egy rendszer, amellyel akkor is értesíteni tudjuk a klímát szervizelõ céget, ha történetesen a szerverszobától messze vagyunk.

hõmérséklet folyamatos figyelésére számos lehetõ- A kernel beállítása ségünk nyílik, melyek között olcsó és egészen drá- Ellenõrizzük, hogy a webkamera kezeléséhez használt ga is akad. Mi az alábbi lehetõségeket mérlegeltük: rendszer kernelében engedélyezve vannak-e a következõ A opciók (ha nem, akkor új kernelt kell fordítanunk): Az egyik szerver alaplapi szenzorának figyelése • elõny: nem igényel újabb beruházást Character devices -> I2C Support M I2C Support • hátrány: nem megbízható, ugyanis nem biztos, hogy ott M I2C bit-banging interfaces a baj, ahol mér M I2C device interface M I2C /proc interface Webkamerás megfigyelés Multimedia devices -> Video4Linux • elõny: az esetleges áramszünet is látszik (késõbb lesz szó M V4L information in proc filesystem róla, hogyan) M CPIA Video for linux M CPIA USB Lowlevel Support • hátrány: kell egy webkamera, egy normál hõmérõ és egy USB Support asztali lámpa * Support for USB * Preliminary USB device filesystem © Kiskapu Kft. Minden jog fenntartva Független digitális hõmérõ (beágyazott rendszer, saját * UHCI Alternate Driver webszerverrel) • elõny: egyszerûen felügyelhetõ és akár több ponton is Mivel kameránk egy USB portra csatlakozik, az lsusb parancs figyelhetõ vele a hõmérséklet segítségével célszerû ellenõrizni, hogy a rendszer valóban „lát-e”.. Debian alatt ez az usbutils csomagban található. • hátrány: drága az eszköz Ha mindent jól csináltunk, valami ilyen lesz a végeredmény:

Tanszékcsoportunk a második alternatíva mellett döntött, Bus 002 Device 001: ID 0000:0000 így azt ismertetem részletesebben, de azért kitérek a harma- Bus 001 Device 001: ID 0000:0000 dikra is. Bus 001 Device 002: ID 046d:0870 Logitech, Inc. QuickCam Express Szükséges kellékek Kell egy olyan webkamera, ami mûködik Video4Linux Amint az utolsó sorból látható, az USB alrendszer észrevet- szabvány szerint is, vagy a Gphoto tudja kezelni. te a kamerát. Igaz ugyan, hogy a miénk nem Logitech ka- Szükségünk lesz aztán egy közönséges hõmérõre, mera, amint azt a szöveg állítja, de ez most mellékes. egy asztali lámpára (ami megvilágítja a hõmérõt) és Itt az ideje, hogy megnézzünk egy élõképet. Ehhez be végül, de nem utolsósorban kell egy asztali gép kell tölteni a mod_quickcam és videodev modulokat. Linuxszal, amire a webkamera kerül. Ez utóbbi tulaj- Ha nincs más V4L eszközünk (például TV tuner), akkor donképpen lehet az egyik szerver is. Nekünk egy egy az xawtv-vel megnézhetjük a kamera által szolgáltatott Labtec kameránk volt, ami Logitech Quickcam kompa- képet. Ha van TV tunerünk is (ez egy szerverszobában tibilis, így a 2.4-es kernel is egyszerûen kezeli. Más elhelyezett gépnél talán nem túl gyakori), akkor elképzel- jellegû webkamerával is érdemes kísérletezni, hiszen hetõ, hogy az xawtv ezt fogja látni. Ilyenkor néhány a Gphoto2 rengeteget ismer már most is. – itt nem részletezett – trükköt kell bevetnünk.

54 Linuxvilág Üzemeltetés

ImageMagick csomag része. A kamera „meglétét” megint az lsusb parancs segítségével ellenõrizhetjük:

Bus 001 Device 001: ID 0000:0000 Bus 001 Device 004: ID 2770:9120 NHJ, Ltd Che-ez! Snap / iClick Tiny VGA Digital Camera

A képet most a következõképpen töltjük le:

ketchup $> gphoto2 --auto-detect --capture-preview Modell Port ------Argus DC-1510 usb: Fájl mentése mint sq_cap.ppm ketchup $> Automatizálás Ha idáig eljutottunk, érdemes a cron segítségével auto- Ebbõl a részbõl is tisztán látszik, hogy az eszközt az lsusb © Kiskapu Kft. Minden jog fenntartva matizálni a szükséges mûveleteket. Erre ajánlom teljesen másnak ismerte fel, mint a gphoto2, de ettõl nem a Videodog nevû programot, ugyanis segítségével na- kell különösebben megijedni. A gphoto2-t azért is ajánlom gyon egyszerûen le lehet menteni a pillanatképeket mindenki figyelmébe, mert nagyon sok kamerát támogat, és a feliratozás se bonyolult. Az alábbi szkriptecske sõt napról-napra többet. végezheti ezt a feladatot: Említettem a cikk elején, hogy ezzel a megoldással az áram- szüneteket is figyelhetjük, már persze ha a hõmérõs – par- #!/bin/bash don, webkamerás – szerver szünetmentes táplálást kap. # pillanatkep-mento Annyi csak a dolgunk, hogy a lámpát nem a szünetmentes tápegységre tesszük. Ilyenkor ha van egy kimaradás, az DATUM=`date +”%d%H%M”` a napi mozgóképnél látszani fog – sötétebb lesz a kép, /usr/local/bin/videodog -x 352 -y 288 -w 3 -d vagy a feliraton kívül egyáltalán nem látunk semmit. /dev/video0 -j -f /home/webcam/cam${DATUM}.jpg  -S “%Y.%m.%d %H:%M” -X 300 -Y 270 A profi megoldás Végül, de nem utolsósorban szeretném megemlíteni az iga- Ez a szkript lekérdezi az aktuális dátumot – ez lesz a fájlnév zán profi megoldást, ami egyben a legdrágább is. Az ilyen egy része – valamint a már korábban említett videodog se- minimum négy hõmérõ szondát tudnak fogadni és komplett gítségével kiolvas egy képkockát a webkamerából és felira- webszerver lakik benne. A négy szondának általában 10 mé- tozza év.hónap.nap óra:perc formában. A formázó karak- teres hatósugáron belül kell lennie. A dobozkához soros és tersorozat részletesen a videodog leírásában található meg. Ethernet porton is csatlakozhatunk. Soros portra csatlakoztat- Már csak egy webszerver kell és kész. ható (egy szondát fogadó) dobozka ára körülbelül 20 ezer fo- Hogy kicsit mozgalmasabb legyen a dolog, készült egy má- rint, de az Ethernet portot is tartalmazó (négy szondát foga- sik szkript, ami egy nap képeit összefûzi egy AVI-ba. Így le- dó) már 60 ezerbe kerül, ami nem mindig tûnik soknak, pláne het látni a hõmérséklet növekedését/csökkenését. Íme akkor nem, ha több tízmilliós szerverparkot kell felügyel- a szkript: nünk. Ilyen „szerkentyû” például a linkek között szereplõ WeatherShopban is kapható. #!/bin/bash # a pillanatkepekbol mozgokep Medve Zoltán # TODO: popcorn-t hozni ;-) ([email protected]) 2001-ben kezdett „Linuxolni”, de már koráb- NAP=`date +%d` ban is ismerkedett a szabad szoftverek vilá- /usr/local/bin/mencoder “mf:///home/webcam/ gával. Ha éppen nem a gép elõtt ül, akkor  cam$NAP*.jpg” -mf fps=15:type=jpg:w=352:h=288 fotózgat, olvasgat vagy bicajozik. -o /home/webcam/cam$NAP.avi -ovc lavc -lavcopts vcodec=mjpeg:vbitrate=100 -quiet KAPCSOLÓDÓ CÍMEK Ez a videó 15 képkockát fog tartalmazni másodpercenként, ami egy nap alatt körülbelül 20 MB adatot jelent. VideoDog: http://paginas.terra.com.br/informatica/ gleicon/video4linux/videodog.html Nem Video4Linux-os kamera használata  Lehetõség van olyan kamera használatára is, amely nem Mencoder: http://www.mplayerhq.hu/ kompatibilis a Video4Linux rendszerrel. Ekkor a Gphoto2-t WeatherShop:  http://www.weathershop.com/ kell használnunk. A feliratozásra a kicsit bonyolultabban temptrax.htm használható convert parancsot ajánlom, amely az

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

Csak most, csak neked – Spamszûrõk és a spam lélektana Ma már senkinek nem kell elmagyarázni a kéretlen levél fogalmát. Ha valaki- nek publikus email címe van, az szinte biztosan kapott már szexuális ajánlatot elektronikus levélben, és mivel a spammerek a szükséges mennyiségû empátiaval is rendelkeznek, rögtön ajánlottak némi Viagrát is.

alaki kiszámolta, hogy egy átlag felhasználó csak a spamek törlésével órák- Vban mérhetõ idõt veszít el évente. Ha már te is unod a Del gomb min- dennapi kötelezõ ujjgyakorlatát, akkor a spamszûrõk lehetnek segít- ségedre, amelyek a beérkezõ levél bizonyos jellemzõi alapján, különféle módszerek alkalmazásával döntik el, hogy az spam (szemét; kéretlen levél) vagy ham (hasznos levél). Az alábbiakban különféle módsze- reket ismertetek a spam felismeré- sére. A spamszûrõ alapvetõen két helyen mûködhet: kliens- vagy szerveroldalon. © Kiskapu Kft. Minden jog fenntartva Mi a spam? A spam olyan elektronikus levél, amelynek számunkra semmi értelme, és fölöslegesen foglalja erõforrásainkat azt spamnek tekintjük. A módszert olyan levél is a kukában végzi, amely (a gép és ember idejét), arról már nem gyakorlatilag minden alkalmazás pl. a szextáns szót tartalmazza és is szólva, hogy ezek tartalma sok eset- támogatja mind kliens- (például nem spam, arról nem is beszélve, ben félrevezetõ, pl. a nigériai milliók- Thunderbird), mind pedig szerverol- hogy a szex szó legitim levelekben nak sajnos többen bedõltek. Az elõbb dalon (például procmail, maildrop, is elõfordulhat. említett meghatározásból az is követ- postfix). Azonban az egyszerûsége A kulcsszó alapú módszer változata kezik, hogy ami számomra kéretlen és egyúttal hátrány is. A spammerek a reguláris kifejezésre történõ szûrés, bosszantó reklám (spam), az másnak ugyanis úgy kerülték meg ezeket amivel összetettebb és hatékonyabb esetleg értékes levél (ham). Ez pedig a szûrõket, hogy például a VIAGRA szûrés végezhetõ. Ez a módszert alaposan megnehezíti a spam szerver- szóból lett V1AGRA, V.I.A.G.R.A, – korlátozottan – akár férgek szûrésére oldali szûrését. stb, amit a szûrõ már nem azonosí- is használható, ha szerepel azokban tott spamként – de mi még igen. egy ismétlõdõ minta. Kulcsszó alapú szûrés A variációk száma pedig olyan A spam szûrésének legegyszerûbb nagy, hogy egy kulcsszó listát Feketelista módja az, ha bizonyos szavakat manuálisan karbantartani képtelenség Ez az eljárás a levél fejlécében sze- keresünk a levélben (például szex, a gyakorlatban. További hátrány, replõ IP címeket veti össze különféle VIAGRA), és ha megtaláljuk a levél hogy ha így akarunk pl. a szex hir- RBL listák, például MAPS fejlécében vagy a törzsében, akkor detésektõl megszabadulni, akkor az ( http://www.mail-abuse.com/),

56 Linuxvilág Üzemeltetés

ORDB ( http://www.ordb.org/) adat- bázisával, és megvizsgálja, hogy azok szerint a minket megszólító gép már ismert spammer vagy levéltovábbító (open relay). (Ilyen lehet például egy megfertõzött zombi.) A módszer a gyakorlatban egy egyszerû DNS lekérdezést jelent, és a kapott válasz alapján lehet eldönteni, hogy az RBL lista szerint az adott gép spam forrás vagy sem. A feketelisták úgynevezett fehérlistákkal (whitelist) is kombinál- hatók, amely listán szereplõ IP címe- ket mindig átenged a szûrõ. Ez a tech- nika egyszerû, viszonylag kevés erõ- forrást használ, széles körben imple- mentált, és szinte minden modern levelezõkliens és -szerver támogatja. © Kiskapu Kft. Minden jog fenntartva Természetesen nem csak a levél fejléc- ében szereplõ címeket, neveket lehet feketelistákkal összevetni, de akár a levél törzsében levõket is, sõt az SMTP kapcsolat során megadott neveket, címeket is (pl. a HELO, MAIL FROM, RCPT TO utáni paramétere- ket), illetve a kliens IP címét is, és ha annak nincs korrekt PTR rekordja, az minimum gyanús. Nem mindenki elégedett azonban a feketelisták hatékonyságával. Elõfor- dul, hogy egyes RBL listákon egy tel- jes C-osztályt tiltanak ki akkor is, ha csak egyetlen renitens küld spamet az adott hálózatból. Ez különösen a szerverbérlõk (colocation szolgálta- tás) számára lehet igen kellemetlen, mert így ártatlanul is tiltólistára kerül- hetnek, a helyzet megoldása pedig sokszor nem kevés utánajárást igényel. A spammerek pedig igen ritkán hasz- nálják saját azonosítható gépüket ké- retlen levelek küldésére, inkább feltört zombikat vagy korlátozás nélküli IP címet a loopback interfész felé irá- dõ SMTP szerver azonosítóját, a feladó továbbítószervereket (open relay) nyítjuk. Ebben az esetben azonban és a címzett email címét, továbbá az használnak erre. Ezekbõl meg éppen nekünk kell kézzel – vagy más módon – idõt (egy bizonyos idõ múlva ez a be- elég van ahhoz, hogy ne nagyon visel- karbantartanunk az ehhez szükséges jegyzés lejár), és a küldõ SMTP szerver je meg õket, ha pár darab tiltólistára netfilter illetve route bejegyzéseket. második próbálkozását már elfogadja. kerül. Paul Graham a „Filters vs Így a spammerek többsége nem jut be, Blacklists” címû írásában Szürkelista (greylist) míg a legitim levelezõpartnerek igen. ( http://www.paulgraham.com/falsep A szürkelista a spammereknek azt Ezt a megoldást támogatja példá- ositives.html) rámutat, hogy például a szokását használja ki, hogy azok az ul a Postfix egy egyszerû policy a MAPS feketelista úgy fogta meg elsõ sikertelen próbálkozás után általá- démon segítségével a spamek 24%-t, hogy közben az ban feladják, és továbblépnek a követ- ( http://www.postfix.org/addon.html). ártatlan levelek 34%-t spamnek kezõ címzettre. Amikor az SMTP ki- A Postfix levelezõ listán többen igen tekintette (false positives). szolgálónk levelet kap, azt elõször 450- kedvezõ tapasztalatokról számoltak A feketelista egyik változatában nem es hibaüzenettel (átmeneti hiba) eluta- be, míg néhányan kifogásolták a leve- konzultálunk RBL listákkal, hanem a til- sítja. A szabványoknak megfelelõen lek késleltetését. Itt is lehetõség van tást IP szinten végezzük, mondjuk egy mûködõ SMTP szerverek egy bizonyos fehérlista definiálására, ahol meg lehet csomagszûrõ alkalmazás (például ipf, idõ múlva újra próbálkoznak. A mi adni azokat az IP címeket/feladókat/ iptables) segítségével, esetleg az adott szerverünk azonban feljegyezte a kül- címzetteket, amelyeket azonnal

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

elfogad a szerver. Jelenleg ez a mód- futó DCC kliens is úgy módosult, ( http://spf.pobox.com/) varázsló segí- szer jó hatásfokkal dolgozik, de ez hogy többféle ellenõrzõ összeget ké- ti a megfelelõ DNS rekord elkészítését, könnyen a múlté lehet, ha a spamme- pez, amivel képes kiküszöbölni, hogy amit érdemes publikálni, hogy minél rek alkalmazkodnak hozzá, és újra- a csupán 1-2 apró részletben (pl. idõ, kevesebb esélyt adjunk arra, hogy küldik a spamet. Ehhez azonban na- véletlenszerû azonosító) eltérõ a spammerek a mi tartományunkat gyobb teljesítményû infrastruktúrára spamek különbözõ ellenõrzõösszeget hamisításra használják fel. van szükségük, ami nekik több (checksum) eredményezzenek. pénzbe kerül, és ez nekünk – akik A módszer annál hatékonyabb, minél Kérdés-válasz (challenge-response) már torkig vagyunk a spammel – jó. többen vesznek benne részt. Eredmé- szûrõk nyesen képes felismerni a nagy tö- Amikor a szerver egy ismeretlen Distributed Checksum megben kiküldött spamet. Hátránya, feladótól kap egy levelet, akkor auto- Clearinghouse (DCC) hogy külön alkalmazás szükséges matikusan visszaküld egy kérdést A spameket általában nagy tömegben hozzá, és viszonylag bonyolult együtt- (challenge) tartalmazó üzenetet. Ez küldik ki, nem ritka, hogy némelyik mûködésre bírni a levelezõ alkalmazá- lehet csupán annyi, hogy „válaszoljon több milliós példányszámot is elér. sunkkal. Ilyen alkalmazás pl. a DCC erre a levélre”, de igényelheti egy A DCC lényege az, hogy az ebben ( http://www.rhyolite.com/ komplex web ûrlap kitöltését is. Ha résztvevõ minden SMTP szerver min- anti-spam/dcc/) és a Vipul’s Razor a kért mûveletet végrehajtja a feladó, © Kiskapu Kft. Minden jog fenntartva den egyes beérkezõ levélbõl egy ellen- ( http://razor.sourceforge.net/) akkor a rendszer elfogadja az emailt. õrzõösszeget képez, amit elküld Mivel a spammerek általában hamisí- a DCC szervereknek. A DCC szerverek Sender Policy Framework (SPF) tott feladó email címet használnak, nyilvántartják, hogy az egyes ellenõr- Megnehezíti a spammerek felderíté- ez a megoldás minden ilyen levelet zõ összegekhez hány találat tartozik. sét, hogy meghamisítják a levél fejléc- blokkol. Ha pedig mégis az õ saját, Az SMTP szerverek az elküldött ellen- ében szereplõ email címeket. Semed- élõ címüket használják, akkor sem õrzõ összegre kapnak egy választ dig nem tart egy olyan levelet készíte- igen létezik olyan tömeges levélküldõ (egy számot). Ha ez a szám meghalad ni, amelyik pont úgy néz ki, mintha alkalmazás (bulk mailer), amely nagy egy értéket, akkor nyilvánvalóan az X cég vezérigazgatója küldte volna. mennyiségben lenne képes ezekre tömegesen kiküldött levélrõl, azaz Mennyivel könnyebb lenne az a kérdésekre válaszolni. spamrõl van szó. életünk, ha biztosak lehetnénk abban, Noha ez a módszer hatékony A spammerek azonban ezt az eljárást hogy egy levél feladója garantáltan az a spammerek ellen, van azonban né- is igyekeznek megkerülni (a spam fej- @xyceg.hu. Pont erre találták ki az hány kellemetlen mellékhatása is, lõdik) úgy, hogy az egyes levelekbe SPF-et. Az adott tartományban el kell pl. kérdéses, hogy levelezõ listák ese- véletlenszerû tartalmat tesznek, így helyezni egy rekordot (jelenleg a tar- tében mennyire járható ez az út, és ez kvázi testre szabják a leveleket (ami- tomány TXT rekordja), amely definiál- érvényes minden olyan levélre, amit hez egyetlen szó is elég), ezzel min- ja, hogy az adott tartomány nevében nem ember adott fel (például ûrlap den egyes levél el- mely SMTP szerverek küldhetnek le- kitöltésének e-mailben történõ auto- lenõrzõ összegét velet. Amikor a szerverünk kap egy matikus visszaigazolása). egyedire levelet az @xyceg.hu tartományból, A módszer egyik változata egy olyan változtatják. akkor az alkalmazás lekérdezi az adott speciális „bélyeg” meglétét követeli Azonban az tartomány SPF információt tartalmazó meg a levélben, amelynek elkészítése SMTP szer- DNS rekordját, és ellenõrzi, hogy relatíve számításigényes. A legitim vereken a küldõ SMTP szerver szerepel-e ott. alkalmazások számára ez nem okoz Ha nem, akkor nyilvánvaló- számottevõ terhelést, de tömeges an spamrõl van szó. levélküldésnél már olyan sok gép- Noha a módszer idõre van szükség a bélyegek elõállí- mûködik, még nem tására, hogy a spamware program terjedt el széles kör- teljesítménye (a kiküldött levelek ben, így az SPF-et tá- száma) erõsen lecsökken. mogató SMTP szer- vernek egyelõre el Bayesian szûrõk kell fogadnia azokat Bár az elõbb ismertetett módszerek a leveleket, amelyek- több-kevesebb hatékonysággal mû- ben a feladó tartomá- ködnek, van egy még jobb megoldás, nya nem tartalmaz mégpedig a levelek tartalmának elem- SPF információt. zése. Az eljárás Thomas Bayes mate- Továbbá vannak matikus után kapta a nevét, aki egy még meg nem ol- valószínûségelmélettel kapcsolatos dott kérdések ez képletet dolgozott ki. A módszer lé- ügyben, pl. levelezõ nyege az, hogy amikor egy levelet ka- listák kezelése. punk, a Bayesian program azt szavak- Az SPF honlapján ra (precízebben szólva tokenekre)

58 Linuxvilág Üzemeltetés

tanítani kell, mielõtt használható. figyeli, amely még jobb eredményt Ha valaki többet szeretne megtudni adhat. Ilyen például a CRM114 nevû a Bayesian algoritmus lelkivilágáról, diszkriminátor ajánlom figyelmébe a korábban emlí- ( http://crm114.sourceforge.net/). tett Paul Graham honlapja A feketelista egy további változata ese- ( http://www.paulgraham.com/) tén a gyanús IP címekre sebességkor- mellett Gary Robinson két írását: látozást (traffic shaping) lehet végezni. „Gary Robinson’s Rants” Ebben az esetben a vélt spammerek ( http://radio.weblogs.com/0101454/ eleve csak korlátozott mennyiségû stories/2002/09/16/spamDetection.html) adatot vihetnek át idõegység alatt. En- és „A Statistical Approach to the nek egy másik változatában az SMTP bontja. Két adatbázis (HAM és SPAM) Spam Problem” kiszolgálónk az ismeretlen kliensekkel segítségével minden egyes tokenhez ( http://www.linuxjournal.com/ szándékosan lassan kommunikál, pl. meghatároz egy valószínûséget, mek- article/6467) több másodpercet is vár, amíg egyál- kora az esélye, hogy a levél spam, ha talán 220 SMTP bannert ad. Ez az ötlet az adott token szerepel benne. Ezután Heurisztikus szûrõk arra épít, hogy a spammerek türelmet- a tokeneket sorrendbe állítja aszerint, Ez a módszer azt használja ki, hogy lenek, minél rövidebb idõ alatt minél hogy valószínûségük mennyire tér el a spamek szokatlan jellegzetességekkel több levelet akarnak elküldeni. © Kiskapu Kft. Minden jog fenntartva egy semleges középértéktõl (amirõl rendelkeznek. Ezért egy sor tesztet vé- Ha szerencsénk van, a spammer nem tudjuk eldönteni, hogy ham gez el a leveleken, és minden egyes program leidõzít, és odébb áll. vagy spam). Végül veszi a középérték- szokatlan, spamre jellemzõ dolgot pon- tõl leginkább eltérõ N darabot, és egy toz. Ha a pontok összege elér egy ha- Melyiket használjam? összetett képlet segítségével kiszámít- tárt, akkor a levelet spamnek tekintjük. E sorok írója szerint a legjobb válasz- ja azok összesített spam valószínûsé- Büntetõpont jár azért, ha pl. hiányzik tás, ha kombináljuk a fentebb ismer- gét. Az alkalmazás általában a levél a From: vagy To: mezõ; ha ezek tartal- tetett módszereket, ill. mind szerver-, fejlécébe beszúr egy extra mezõt, ami- ma érvénytelen; ha a címzett nem mind pedig kliensoldalon alkalma- bõl kiderül, hogy az adott levél szerin- szerepel sem a To: sem pedig a Cc: zunk spamszûrést. Szerveroldalon te spam vagy sem, így el tudjuk dön- mezõkben; ha a From: és a To: mezõk a Bayesian szûrést javaslom egyesíte- teni, mit tegyünk ezek után a levéllel. azonosak; ha több, mint 10 cím szere- ni a szürkelistával és a heurisztikus A Bayesian szûrõt azonban használat pel a To: vagy Cc: mezõkben; ha hi- szûréssel, míg kliensoldalon jó döntés elõtt tanítani kell, azaz létre kell hoz- ányzik vagy érvénytelen a Message a Thunderbird adaptív spamszûrõje. nunk a spam illetve a ham adatbázist, ID:; ha a levél csak HTML részt tartal- De a kulcsszó szerinti szûrés is jól amelyhez a leveleknek egy olyan maz, közönséges szöveget nem. használható, ha pl. keleti spammel halmazát kell képezni (például egy Bizonyos levelekben csak egy – azono- kell megbirkóznunk. Azt is figyelem- mailbox spoolfile), amelyben csak sítót is tartalmazó – link szerepel, ami- be kell venni, hogy a spam fejlõdik, spam illetve csak ham van. re kattintva lehet elolvasni a spamet. így az a technika, amely ma hatásos Ez a szûrés is végezhetõ a felhasználó A cikk írása napján lettem figyelmes ellene, az holnap már lehet, hogy oldalán, például a Thunderbird beépí- egy  www.xxxx.spammerdomain.com nem mûködik. Minél többféle szûrõt tett Bayesian szûrõvel rendelkezik, és alakú linkre, ahol az xxxx egy több ka- használunk, annál biztosabban már viszonylag kevés (<100) üzenet- rakterbõl álló egyedi azonosító, azaz tudjuk eldönteni egy levélrõl, hogy nél is jól osztályozza a beérkezõ leve- egy wildcard tartománynévrõl van az spam vagy sem. De annál több leket. Több alkalmazás létezik, ame- szó. Egy másik változatban vala- erõforrást is igényel. lyik szerveroldalon valósítja meg ezt melyik ismert keresõgép felparaméte- Egy jól mûködõ spamszûrõ kombináció a funkciót. A bogofilter parancssorból rezett URL-je szerepel, amelyre kat- esetén felmerülhet az az igény is, hogy futtatható, így egyszerûen használha- tintva jelenik meg a spammer oldala. immár ne egy kijelölt folderbe gyûjtsük tó például maildroppal együtt a leve- Érdemes ezeket is pontokkal a spamet, hanem egyszerûen dobjuk el, lek osztályozására. Szerveroldalon „jutalmazni”. A SpamAssassin a felhasználókhoz már meg se érkez- is számos alkalmazás támogatja ( http://spamassassin.apache.org/) zen. Azonban úgy vélem, hogy ez nem a Bayesian algoritmust, ill. annak kü- ilyen típusú szûrésre (is) képes. jó ötlet, mert idõnként mindegyik szûrõ lönbözõ módosított változatait. Ezen hibázik, és egy elvesztett levél akár sok alkalmazások közül némelyik SMTP Egyéb szûrési lehetõségek elvesztett pénzt is jelenthet. protokollon kommunikál az MTA-val. Elõfordul, hogy csak egyetlen csatolt A Postfix ezekkel is képes együtt- képet kapunk, amely tartalmazza Sütõ János mûködni. a kéretlen üzenetet. Ez ellen például ([email protected]) A módszer elõnye, hogy a téves po- képfelismerõ (OCR) alkalmazásokkal 1997 óta használ Slack- zitív azonosítások száma minimális, lehet védekezni, amelyek képesek ware Linux-ot. Szabad- véleményem szerint a legjobb meg- kinyerni a szöveget a képbõl, aztán idejében a postfix clapf oldás a felsorolt eljárások közül. jöhet az elemzés. nevû vírus- és spam- Hátránya, hogy az összes közül A Bayesian elv egyik továbbfejlesztett szûrõjét polírozza. a legerõforrásigényesebb, továbbá változata a szavak kombinációját is

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

Térhatás

A Blender használata (2. rész)

A felhasználói felület, és az Edit Mode alapjai

Az elmúlt hónapban a 3D View kezelésérõl és az alapvetõ transzfor- mációkról volt szó, most a felhasználói felület ke- rül kicsit részletesebben bemutatásra, de az Edit Mode-ot is górcsõ alá vesszük. 1. ábra Néhány elõre beállított ablak elrendezés

Blender teljes felhasználói A felülete különbözõ ablakokra magunknak. Maga a Blender is rendel- tagolódik. A lenti gombokat kezik néhány különbözõ elrendezés-

© Kiskapu Kft. Minden jog fenntartva tartalmazó panel is ablak, és a fenti sel. Ezek között a fenti menüsorban menüsor is egy ilyen ablak fejléce. válthatunk (SCR:2-Model az alap- Mind rendelkezik egy úgynevezett méretezett), vagy a CTRL+Jobb és fejléccel (Header), ami lehet az ablak CTRL+Bal billentyûkombinációkkal tetején (Top) vagy alján (Bottom), lépkedhetünk. Természetesen létre- de akár el is rejthetjük (No Header). hozhatunk saját felületeket is és el- Az adott ablak fejlécére jobb egér- menthetjük õket. gombbal kattintva kiválaszthatjuk Most lássuk kicsit részletesebben annak új helyét. Egy eltüntetett a legfontosabb ablakokat, és azok fejlécet egyszerûen visszavarázsol- feladatait. 2. ábra Különbözõ ablak típusok hatunk, ha az ablak felsõ vagy jobb A 3D View-ról már a múlt hónapban oldali szegélyére kattintunk jobb is szó volt. Ez az egyik legtöbbet egérgombbal, majd kiválasztjuk használt ablak (és persze a legtöbb is könnyen kitalálható – gombokat az Add Header opciót. helyet foglalja el a képernyõn). A 3D-s tartalmaz. Ráadásul tekintélyes A másik két opció (Split Area és Join objektumaink megjelenítésére, szer- mennyiséget, funkciónként csopor- Area) az ablakok kettéosztására, illetve kesztésére szolgál. Alapméretezésként tokra bontva, amik között a fejlécen két ablak összeillesztésére használha- ezt láthatjuk középen. található gombokkal válthatunk. tó. Így tetszõleges elrendezésû fel- A másik gyakran használt ablak Az objektumok finombeállításától használói felületet hozhatunk létre a Buttons Window, ami – a nevébõl kezdve a speciális funkciókig

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

6. ábra Objektum áthelyezése másik Layer-re

A File Browser és Image Browser ablakok funkciója és használata pedig valószínûleg mindenkinek egyértel- 3. ábra Boolean: Intersect (jobbra, fent), 4. ábra Dobókocka boolean mûveletekkel mû. Az elõbbi mentéskor, illetve Union (ballra, lent) és Difference megnyitáskor, az utóbbi képek kere- (jobbra, lent) sésekor használatos. A továbbiakban szeretnék bemutat- ni néhány módszert, amivel idõt és energiát takaríthatunk meg Object módban való munkánk © Kiskapu Kft. Minden jog fenntartva végzése közben. Lehetõségünk van arra, hogy ob- jektumainkkal Boolean mûveleteket végezzünk, összeadjuk vagy kivon- juk õket egymásból, esetleg vehet- jük a közös részüket... Így új objek- tumokat kaphatunk. Mûködésük hasonló a matematikai értelemben vett halmazmûveletekhez (unió, közös rész, stb). Állítsunk be két kockát a 3. ábrán lát- ható módon. Ezzel a két kockával fog- juk kipróbálni a Boolean transzformá- ciókat. Jelöljük ki mindkét kockát, majd nyomjuk le a W billentyût. Innentõl kezdve három lehetõségünk van. Mindhárom esetben egy új objektum keletkezik, azonban a régi- 5. ábra Téglafal duplicate mûvelettel ek is megmaradnak, azokat nekünk kell törölnünk, ha többé nincs rájuk szükségünk. mindent elérhetünk itt. Ahogy fontos ablak létezik, amelyeket indí- • Ha az Intersect opciót választ- a program újabb verziói kijönnek táskor nem is látunk. Lássunk közülük juk, a kiválasztott két objektum és az elérhetõ funkciók bõvülnek, néhányat a teljesség igénye nélkül. közös részébõl egy új objektum a gombok elhelyezkedése változhat, keletkezik. de a tematikus elrendezésnek kö- Ablakok • Az Union opcióval összeadjuk szönhetõen mindig könnyen megta- Az animációk idõbeli finomhangolását a két objektumunkat, így egy lálhatjuk amit keresünk (feltéve, az IPO Curve Editor nevû ablakban nagyobbat kapunk, ami mindket- hogy tudjuk mit is keresünk ponto- végezhetjük el. Egy grafikonon, gör- tõt tartalmazza. san). A program indításakor ez az bék segítségével követhetjük nyomon • Egy objektumot egy másikból ablak alul van. az objektumok mozgását. kivonhatunk, ha a Difference op- A User Perefrences nevû ablakból A Blender rendelkezik egy egyszerû, ciót választjuk. Ebben az esetben a program indításakor csak egy fejlé- beépített szövegszerkesztõvel (Text Edi- figyeljünk arra, hogy mindig az cet látunk a képernyõ tetején, azon- tor) is. Ezt legtöbbször Python szkriptek utoljára kijelölt modellt (a vilá- ban lefelé húzva elõtûnik az ablak írására használhatjuk, így innen rögtön gosabb rózsaszínût) vonjuk ki tényleges funkciója: a különbözõ futtathatjuk is kis programocskáinkat. a másikból. felhasználói beállítások. Ha van elég Az Outliner (régebben OOPS idõnk és kreativitásunk, akár egy Schematics) ablakban az objektumok Ezzel a módszerrel könnyen és teljesen új színsémát is létrehozha- felépítését és egymáshoz való kapcso- gyorsan tudunk dolgozni. A 4. ábrán tunk a Blenderhez. latát követhetjük nyomon. Összetet- látható dobókocka például kizárólag A fenti három ablakon kívül még tebb jeleneteknél jól jöhet, ha átlátjuk Boolean transzformációkkal készült. számos, számunkra egyelõre kevésbé a teljes hierarchiát. Az elõzõ számban ígéretet tettem,

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

10. ábra Editing Buttons 7. ábra Téglánk eltorzítva

ni. Erre is van megoldás. A Blender Az élek által bezárt területeket – pél- rendelkezésünkre bocsájt úgynevezett dául kockánk egy oldalát – Face-nek rétegeket (Layer), amiken elhelyezhet- (magyarul talán lap-nak lehetne fordí- jük objektumainkat, majd ki-be kap- tani) nevezzük. Nem törvényszerû csolhatjuk õket. Így félretehetünk azonban, hogy minden – élekkel hatá- egy zavaró objektumot anélkül hogy rolt – terület Face. Gondoljunk például © Kiskapu Kft. Minden jog fenntartva törölnénk, vagy megváltoztatnánk egy olyan kockára, aminek egyik olda- a helyét. Egyszerûen jelöljük ki, nyom- la hiányzik, tehát egyetlen lap kivéte- 8. ábra Extrude juk ki meg az M billentyût, és vá- lével az összes Vertex és él megtalálha- lasszuk ki, hogy melyik rétegre szeret- tó benne. Egy Face-t 3 vagy 4 él hatá- nénk áthelyezni. Alapméretezésként rolhat, tehát maximum 3 vagy 4 az elsõ rétegen dolgozunk, és csak azt Vertexet tartalmazhat. látjuk. A 3D View fejlécén tudjuk vál- Téglánk tehát Vertexekbõl (Vertice), toztatni, hogy épp melyik az aktuális. élekbõl (Edge), és lapokból (Face) épül Ha a SHIFT billentyût nyomva tartjuk fel, egy él több lapot is határolhat, egyszerre több Layert is kijelölhetünk. illetve egy Vertex több él végpontja Ezennel elérkeztünk a tényleges 3D-s is lehet. A renderelt képen azonban szerkesztéshez, a Blender Edit Mode- csak a lapok láthatóak. jához. A továbbiakban leírom az Edit Elkezdhetjük tehát téglánkat tényle- Mode alapjait, és további varázslatokat gesen is átalakítani. Dolgozni régeb- viszünk véghez téglánk segítségével. ben csak Vertexekkel tudtunk, de Ehhez jelöljük ki a téglánkat, majd a Blender újabb verzióiban lehetõsé- nyomjuk meg a TAB billentyût. günk van élek, és lapok kijelölésére is. Ezzel Edit Mode-ba léptünk. Az Object A 3D View fejlécén válthatunk a kije- 9. ábra Törlés Edit Mode-ban módba való visszalépés szintén ilyen lölési módok között (Vertex Select, egyszerû. Edge Select vagy Face Select Mode). Ahhoz azonban, hogy elkezdhessük A kijelölt részeket ugyanolyan hogy – az akkor még egyke – tég- téglánkat csonkítani, elõbb tisztáz- könnyen transzformálhatjuk, mint lánkból falat építünk. Az egyetlen nunk kell néhány alapfogalmat ahogy azt a teljes objektumainkkal problémánk, hogy egy ilyen épít- Vertex-nek, (vagy Vertice) nevezzük tettük. Használhatjuk a mozgatást ményhez bizony sok tégla kell, jóval a 3D-s térben X, Y és Z koordináták- (G), a forgatást (R) illetve az átmé- több, mint amennyi nekünk van. kal megadott pontokat. Ezeknek retezést (S). Az A billentyûvel kijelöl- A megoldás: sokszorosítsunk. Jelöljük a pontoknak nincs kiterjedése, hetjük az összes Vertexet vagy leve- ki a téglánk, majd nyomjuk meg így a renderelt képen is láthatatlanok hetjük a kijelölést, használhatjuk a SHIT+D (Duplicate) billentyûkombi- lesznek, kizárólag szerkesztés közben a Border Select funkciót is, sõt nációt. Téglánkból rögtön kettõ lett. látjuk õket. Az éppen kijelölt Vertexek a B billentyû egymás utáni kétszeres Az újat helyezzük el a régi mellé, színe sárga, míg a kijelöletleneké lenyomásával egy újabb kijelölési majd ismételjük meg a mûveletet, rózsaszínû. Ne tévesszük össze õket módot is elérhetünk. de ezúttal jelöljük ki mindkét téglán- azonban objektumunk középpontjá- Csonkoljuk meg téglánkat a 7. ábrán kat. Természetesen addig folytathat- tól, ami szintén rózsaszínû, viszont látható módon: Jelöljük ki (jobb egér- juk, ameddig csak szeretnénk (vagy szemmel láthatóan nagyobb. Téglánk gombbal) az egyik élét, vagy a két vé- amíg számítógépünk memóriája bírja). 8 Vertexet tartalmaz. gén lévõ Vertexet (ügyeljünk rá, hogy Ha már rendelkezünk egy legalább A Vertexeket összekötõ szakaszokat más Vertex ne legyen kijelölve), nyom- 8 téglából álló sorral, elkezdhetünk élnek (Edge) nevezzük. Éleink szintén juk meg a G billentyût (mozgatás), felfelé is építkezni. Az 5. ábrán látható láthatatlanok a renderelt képen, tehát majd mozgassuk el a számunkra meg- fal is ilyen módon készült. egy oldalak nélküli „drót” kocka sem felelõ irányba. Itt is használhatjuk az Elõfordulhat, hogy egyszerre túl sok jelenne meg (van azonban mód mind X, Y és Z billentyûket, ha csak adott objektum van elõttünk, mi azonban az élek, mind pedig a Vertexek megje- irányba szeretnénk elmozdulást. csak néhánnyal szeretnénk foglalkoz- lenítésére). Téglánknak 12 éle van. A billentyûk egyszeri lenyomásával

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

a globális, kétszeri lenyomásával pe- Jelöljünk ki például kockánk egyik Néhány egyszerû beállítással dig a lokális (mindig az adott objek- sarkát, majd nyomjuk meg az X bil- könnyebben átláthatóvá tehetjük tum sajátja) koordináta rendszerhez lentyût. Rögtön láthatjuk, hogy az az Edit módban való szerkesztést. képest transzformálhatunk. Néhány Object módban látott egyszerû meg- A Buttons Window fejlécén váltsunk kivételtõl eltekintve ugyanúgy transz- erõsítés helyett itt ki kell választanunk át az Editing gombokra (balról az ötö- formálhatjuk Vertexeinket, mint Object a megfelelõ törlési módot: dik). (Ha az egeret pár másodpercig módban objektumainkat. • Vertices – Töröljük a kijelölt felette tartjuk, ki is írja, hogy „Editing Fontos azonban, hogy ha Edit mód- Vertex(ek)et, vele együtt természe- (F9)”) Ha még mindig Edit Mode-ban ban új objektumot hozunk létre, akkor tesen a belõle kiinduló éleket és vagyunk, akkor jobb oldalt láthatunk az hozzáadódik az éppen szerkesztett lapokat is. egy Mesh Tools 1 nevû gombokat tar- objektumunkhoz, így tudjuk objektu- • Edges – Minden kijelölt élt törlünk. talmazó panelt. Itt kapcsoljuk be munkat bõvíteni. Ezek után, ha Ez maga után vonja, hogy az élek a Draw Faces és Draw Edges beállítá- visszaváltunk Object módba, a régi által határolt lapok is eltûnnek. sokat. Rögtön láthatjuk a különbséget és az új, hozzáadott test egy objek- Az olyan kijelölt Vertexeket is törli, a 3D View-ban. Az elõbbi a kijelölt la- tumként jelenik meg. Ezért, ha külön amelyekhez nem kapcsolódik pokat, míg az utóbbi az éleket emeli objektumot szeretnénk létrehozni, több él. ki szerkesztés közben. mindig váltsunk vissza Object módba. • Faces – Minden kijelölt lapot tör- A következõ számban még mélyebbre Egy másik mód a bõvítésre az Extrude lünk. A lap nélkül maradt kijelölt merülünk az Edit Mode-ban, bemuta- © Kiskapu Kft. Minden jog fenntartva eljárás (E billentyû), amivel a kijelölt éleket és az árva Vertexeket is eltá- tásra kerül néhány – a munkát segí- részeket „kihúzva” bõvíthetjük ob- volítja. tõ – apróság és végre igazi képeket is jektumunkat. Attól függõen, hogy • All – Kijelöléstõl függetlenül min- renderelünk. mit jelöltünk ki, több választási lehetõ- dent töröl. Maga az objektum ségünk van. Kihúzhatjuk csak az éle- azonban megmarad, csak nem Szalai András ([email protected]) ket, de akár az egész lapot is. Ezzel tartalmaz Vertexeket. Jelenleg középiskolába jár, ahol a módszerrel könnyen bõvíthetjük • Edges And Faces – Az Edges-hez informatikát tanul. Jövõre érettségi- a primitívek tárházát szinte tetszõle- hasonlóan töröl, az egyetlen kü- zik. Hobbija a programozás és a biz- ges módon. lönbség, hogy itt a Vertexek min- tonságtechnika, és a továbbtanulási Edit módban a törlés sem olyan egy- den esetben megmaradnak. szerû, hiszen törölhetünk Vertexeket, • Only Faces – Csak a lapokat törli, szándékai is ilyen irányúak. éleket és lapokat is. Próbáljuk meg: minden más megmarad.

www.linuxvilag.hu 2005. október 63 Grafika, multimédia

Animáció készítése a Blenderrel

Ha beülünk a moziba és megnézünk egy jó filmet, számtalan digitális trükköt lá- tunk, amelyek már annyira valóságosak, hogy szinte el is hisszük. A most követ- kezõ oldalakon egy mozgó pókot fogunk elkészíteni, amelynek mûködési elve azonos a filmekben szereplõ óriáspókokéval, akik házakat döntenek le, vagy hatalmas hálóikba embereket szõnek. De azért a mi pókunk barátságos lesz.

lõször is el kell készítenünk E a pókot. Mint általában a pó- koknak, a mi pókunknak is két „része” lesz: a fejtor és a potroh. E kettõ közül állnak ki a lábai, a fejto- ron pedig lesz két csápja és két szeme. A Blenderben alapértelmezésként sze- repel egy kocka, egy lámpa és egy ka- mera. A kockát töröljük ki így: jobb gombbal rákattintunk az eltávolítani 1. ábra 2. ábra kívánt objektumra, majd az X billen- A kilapításhoz szükséges adatok A fej adatai tyûvel töröljük azt. Ez után adjunk a jelenetünkhöz egy gömböt, így: nyomjuk le a Space billentyût, majd az elõugró menübõl válasszuk az Add menüpontot, itt a Mesh-t, majd az Uvsprehe-t. A továbbiakban, ha egy © Kiskapu Kft. Minden jog fenntartva objektumot hozzáadunk a jelenethez, azt kicsit rövidebben fogom leírni. Az elõbbi gömb hozzáadását például így: Space >> Add >> Mesh >> Uvsprehe. Miután ez kész, megjelenik egy csomó sárga pont, ezek az úgyne- 3. ábra A lábak „finomhangolása” 4. ábra A „térd” elkészítése vezett vertexpontok, amelyeket most nem használunk, ezért lépjünk ki a szerkesztõmódból a TAB-bal. Lapít- amelybõl a láb lesz: Space >> Most csinálunk neki egy térdet: suk ki így: nyomjuk le az N gombot, Add >> Mesh >> Tube. Ezt aztán Kétszer nyomjuk meg az A billen- majd írjuk be azokat az adatokat, ami- forgassuk el az X tengelyen -90 fok- tyût, hogy minden pont ki legyen ket az 1. ábra mutat! kal (Nyomjuk le az N billentyût, jelölve, majd a K gombot, a menübõl Ezzel kész is van a pókunk teste, a fe- majd az elõugró táblázatba a RotX pedig válasszuk a Knife (Midpoints) jét is hasonlóan kell elkészíteni: Space bejegyzést módosítsuk -90.000-re). menüpontot. Húzzunk most egy fe- >> Add >> Mesh >> Uvsprehe, Nyomjuk meg a TAB-ot, és a követ- lezõ vonalat, majd nyomjunk Entert. majd N gomb, és a táblázatba azok az kezõ módon igazítsuk a vertexpon- Ettõl a láb felénél további adatok kerüljenek, amelyeket a 2. ábra tokat: A gomb, ettõl elvesztik a kije- vertexpontok jöttek létre. Nyom- mutat! löltségüket, majd B gomb, ami egy juk meg a 3-mast a numerikus Most a lábakat adjuk hozzá: Kattint- keretek aktivál, és a benne lévõ pon- billentyûzeten (figyeljünk, hogy sunk a View menüpontra, majd itt tok lesznek kijelöltek. Ha sikerült, a NumLock be legyen kapcsolva!), a View Properties-re, és a 3D kurzort húzzuk össze teljesen az S billentyû majd jelöljük ki a csúcspontot és toljuk el X irányba -0.85-tel. Adjunk segítségével õket. Körülbelül úgy a G billentyûvel a 4. ábrán látható hozzá a jelenethez egy objektumot, nézzenek ki, mint a 3. ábrán! módon mozgassuk el!

64 Linuxvilág Grafika, multimédia

5. ábra A lábak elkészítése 6. ábra A referenciapont átállítása 7. ábra A kész pók © Kiskapu Kft. Minden jog fenntartva

8. ábra Az elsõ csont 9. ábra A többi csont

Ezzel egy láb készen is van. A töb- Most pedig az egész pókot egybeol- (Space >> Add >> Bones)! Most tük- bivel már könnyû dolgunk lesz: vasztjuk a Ctrl+J kombinációval, majd rözzük át a csontokat, ehhez elõbb Nyomjuk meg a TAB-ot, majd belépünk a Mesh panelra (F9) és meg- a 3D Cursort helyezzük az Y tenge- a 7-est és a Shift+D billentyûkombi- nyomjuk a Set Smoot gombot, ami lyen 0-ra, majd jselöljük ki a lábcson- nációval másoljuk le a lábat három lágyabb körvonalat ad pókunknak. tokat és a csápcsontot. Ezután nyom- példányban, majd kedvünk és ízlé- Ha mindent jól csináltunk, juk le a Shift + D kombinációt, utána sünk szerint mozgassuk és forgassuk rendereljük a képet az F12 billen- pedig egy ESC-et. Az M-mel tükröz- át. Az 5. ábra azt mutatja, hogy tyûvel. Valami olyasmit kell kapnod, zük át ( a menübõl az Y Global-t én hogy csináltam. mint a 7. ábra! válasszuk)! Ezzel kész az egyik oldalon a láb- Most jön az izgalmasabb része, vagyis Ezzel elkészült pókunk csontozata. sor, ezeket összeolvaszthatjuk az animálás! (A textúrázás és az ehhez Térjünk vissza objektum nézetbe a Ctrl+J billentyûkombináció segít- hasonló dolgok most kimaradnak.) a TAB-bal, és jelöljük ki a pókot, majd ségével. Jelöljük is ki, majd készít- Elõször is hozzá kell adnunk a jelenet- a Shift lenyomva tartásával a csonto- sünk róla egy másolatot, amit aztán hez az úgynevezett Bone-okat, azaz zatot, így mindkettõ kijelölt lesz, és tükrözni fogunk. A TAB-bal lépjünk a csontokat. Elõször is gyõzõdjünk a csontozat lesz a világosabb lila. szerkesztõ módba és a tükrözési meg róla, hogy nem vagyunk szer- Nyomjuk le a Ctrl+P billentyûkombi- viszonyítási pontot állítsuk át kesztõ módban, majd a 3D Cursort nációt, és az elõugró menübõl vá- 3D Cursorra (6. ábra). mozgassuk az X tengelyen 0.65-ig és lasszuk az Armature lehetõséget, Nyomjuk meg az M gombot, majd az Y-on 0-ig (View >> View Properties majd az újabb menübõl a Create from válasszuk az Y Global-t és már át >> X: 0.65 Y: 0.0). Most adjunk hozzá closest bones-t! Jelöljük ki most csak is tükrözte. egy csontot: Space >> Add >> a csontozatot, és nyomjunk F9-et, Ugyanazzal a módszerrel, amivel Armature. Húzzuk ki a csontot körül- majd nyomjuk le a Draw Names gom- a lábakat csináltuk, készítsük el belül úgy, ahogy az 8. ábra mutatja, bot, hogy mindig lássuk, hogy melyik egyedül a csápokat! majd nyomjunk ESC-et! csont melyik. Jelöljük ki csak a pókot Következzenek a szemek: Elõször Ne lépjünk ki a szerkesztõ módból, és váltsunk szerkesztõ módba, ahol is adjunk hozzá egy gömböt és adjunk még még csontokat a jele- a lenti menüsorból (Vertex Groups me- (Space >> Add >> Mesh >> nethez úgy, ahogy a 9. ábra mutatja nü), a bal szélen (amint azt a 10. ábra Uvsprehe), utána az S gombbal (SpaceKEY >> Add >> Bones). is mutatja) lehet látni, hogy melyik zsugorítsuk jó kicsire, helyezzük Most helyezzük a 3D Cursort az X ten- csontot jelöltük ki és, ha rákattintunk el a helyén, majd tükrözd gelyen -1.525-re, az Y-on pedig 0.125- a Select gombra, akkor sárgák lesznek a másik oldalra is! ig, majd adjunk a csápjához is csontot a hozzátartozó vertexpontok.

www.linuxvilag.hu 2005. október 65 Grafika, multimédia

10. ábra A „Vertex Groups” menü 11. ábra A 11. képkocka beállításai © Kiskapu Kft. Minden jog fenntartva

12. ábra A 21. képkocka beállításai 13. ábra A 31. képkocka beállításai 14. ábra A 41. képkocka beállításai

vagy Object módba váltunk.) Itt most nem csináltam, de a pókot szán- a csontok kékek, a kijelöltek pedig dékosan úgy terveztem meg, hogy ez zöldesek lesznek. Jelöljük ki az megvalósítható legyen. összeset az A-val, majd nyomjuk Ezek azonban csak az én beállításaim, le az I billentyût. Itt válasszuk kis próbálkozással szebb és élethûbb 15. ábra Az animálás beállításai a LocRotSize lehetõséget. Ezzel az animáció is készíthetõ. Most, hogy ez 1. képkockára eltároltuk ezt a pozíci- készen van, lépjünk vissza objektum ót. Nyomjuk meg ötször a felfelé mu- módba és nézzük meg, hogy a kamera A 8. ábrán látható nagy csont irányítsa tató nyilacskát, ezzel 50 képkockát teljes egészében látja-e a pókot. Néz- az egész pókot! Ehhez nyomjuk meg ugrik elõre, azaz 2 másodpercet. zük meg az 1-es képkockán, majd a Remove gombot, így most egyik Most (még mindig legyen kijelölve váltsunk át a 51-esre és itt is nézzük vertexet sem tudja mozgatni. Most je- az összes csont) mozgassuk elõre az meg. Ha nem látná, akkor módosítsuk löljük ki az összes vertexet az A-val, és X tengelyen õket (G, majd X gomb), a kamera helyzetét úgy, hogy mindig nyomjuk meg az Assign gombot. Most körülbelül úgy, hogy ahol eddig lássa a pókot. Ha sikerült, nyomjuk a lábai következnek! Jelöljük valame- a pók feje volt, ott most a leghátsó meg az F10 billentyût, és állítsuk be lyik csontot, amelyik valamelyik lábá- pontja legyen. Most nyomjunk I azokat a beállításokat, amiket az hoz tartozik, és ugyanígy távolítsuk gombot és válasszuk a LocRotSize-t. 15. ábra mutat, majd nyomjuk meg el tõle az összes vertexet a Remove Most váltsunk a 11-es képkockára, az Anim gombot. Az elkészült animá- gombbal. Most jobb egérgombbal és a 11. ábrán látható módon mozgas- ció avi formátumban a /tmp/blender/ jelöljük ki valamelyik vertexpontot, suk a lábait, majd nyomjuk meg az könyvtárba kerül. amelyik ahhoz a lábához tartozik, és I-t és válasszuk a LocRotSize-t. nyomjuk meg az L gombot, amely az Most válasszuk ki a 21-es képkockát, Szabó Péter összes vele kapcsolatban álló (linked) és mozgassuk úgy, ahogy a 12. ábra ([email protected]) pontot kijelöli (vagyis azt a lábat, mert mutatja. Aztán mentsük el ezt Jelenleg egy XXII. kerü- az az összeolvasztás elõtt külön objek- a pózt is, a 21-es képkockára leti iskolában tanul. Sze- tum volt). Ezt csináljuk meg az összes (I >> LocRotSize). ret úszni, zenét hallgat- lábával és a csápjaival is. Ezzel már A többi képkockával is ugyanígy ni, és szeret kipróbálni 13. van csontozata a pókunknak! kell eljárni. A 31-es képkockát a , mindenféle alkalmazást Linux alatt. 14. ábra Innentõl kezdve egyszerû dolgunk a 41-est pedig a mutatja. Egyik álma, hogy egyszer majd ír egy van. Jelöljük ki a csontozatot és vált- Ezek után, ha akarjuk ugyanígy moz- saját ablakkezelõt! sunk Pose módba. (Ott kell, ahol Edit, gathatjuk közben a csápjait is, amit én

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

3D ábrázolás – PoVRay (2. rész) 3D világunk fontos része a fény, s ehhez szükség van legalább egy fényforrásra, hogy lássuk is a térben elhelyezett tárgyakat. Fényforrást illetõen több lehetõség között választhatunk, amelyek közül néhányat megtalálunk a valódi világban is. Természetesen léteznek olyan fényforrások is, amelyek csak a számítógép képi világában léteznek: ezekkel speciális effekteket tudunk létrehozni.

valódi világban minden fényforrás létezõ tárgy is egyben, amely olyan jellegû Afényt bocsát ki, ami rá jellemzõ: ilyen az izzólámpák széles spektrumú – pontszerû, a fénycsövek monokro- matikus szórt jellegû, illetve a hideg- tükrös halogén izzók erõs fénykúpja és kismértékû fényudvara. A 3D világ- ban a fényforrásoknak vannak ilyen jellemzõik, azonban nem rendelkez- 1. ábra 2. ábra nek tárgyias tulajdonságokkal: nem Zöld síkon fehér fényforrás Fekete semmi léteznek, csak a fényük árulja el õket. Ennek egyik mellékhatása, hogy nem okoznak megcsillanást, illetve nem leges testet, amelyet a fény megvilá- vakítja el a kamerát a fényük. Ez több- gíthat, s onnan visszaverõdhet, akkor nyire elõnyös, néha azonban a való- már látni is fogunk a képen valamit sághoz hasonlóan elõnyös lenne, (feltéve, ha nem a tárgy belsejébe tet- © Kiskapu Kft. Minden jog fenntartva ha a kamera úgy viselkedne, mint tük a fényforrást (pov08.pov, 1. ábra). egy kamera, vagy a fényforrás lenne Nem meglepõ módon a fehér fény valóságosabb. zöld pacaként látszik, hiszen a létre- A 3D helyszínen fényforrásoknak hozott sík zöld színû, így a fehér két alapvetõ tulajdonságuk van: fényben zöld színûnek kell látszania. a térben elfoglalt pozíciójuk, és Látható a sík megvilágításából, hogy a színük. A legegyszerûbb fény- a fényforrás felette található, viszont 3. ábra forrással már találkoztunk is: a kamerába nem csillan bele a fénye. Színátmenet Ezen a tényen jelenleg még nem light_source{ változtatunk, fogadjuk el ezt a mûkö- <0,0,0> color White} désmódot. azonban nem tartalmaz zöld kompo- Ha a fehér fény helyett vörös színû nenst, így kaptunk tömör sötétséget Ez a fény a koordináta rendszer ori- a fényforrásunk (pov09.pov, 2. ábra), eredményül. gójában található és fehér színû fényt akkor érdekes módon a zöld tárgyak Érdekes játék a színekkel (3 ábra, bocsát ki magából. Ha egy kamerát is fekete színûek lesznek. Ennek oka, pov10.pov), ha egy fehér síkot a három hozzácsapunk az SDL állományhoz, hogy a tükrözõdésmentes tárgyak alapszínnel világítunk meg, ekkor akkor megtapasztalhatjuk a fényfor- (amelyeket alapesetben a PoVRay ké- ugyanis a színek találkozásánál az rás és kamera mellékhatását is szít) a fényt elnyelik, majd a saját szín- összes lehetséges RGB (Red-Green- (pov07.pov). A kapott képen ugyanis komponensüknek megfelelõ részét ki- Blue) színrendszerbeli kombináció elõ- tömör feketeséget látunk csupán, bocsátják: a vörös fényt elnyeli a zöld kerül, ha elegendõen nagy felbontás- holott a fényforrásunk teljes erõvel színû síkunk, majd a kapott fény zöld sal dolgozunk (24 bites színmélység „világít”. Ha elhelyezünk egy tetszõ- összetevõjét bocsátja ki. A vörös fény esetén minimum 16.7 millió pixel).

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

4. ábra Szpot fényforrás 5. ábra Éles szélû szpot fényforrás 6. ábra Szpot fényátmenet

fénykúp nyílásszögét. Ha a falloff szöget nagyobbra vesszük, mint a radius értéke, akkor a kibocsátott © Kiskapu Kft. Minden jog fenntartva fény a két szög által meghatározott tartományban teljesen elenyészik, így egy átmenet látszik. Ha a falloff értéke kisebb vagy egyenlõ a radius értékével, akkor a fénykör éles perem- mel szûnik meg, nem lesz szórt fényû udvara (pov12.pov, 5. ábra).

7. ábra Egy egységnyi magasan 8. ábra Két egységnyi magasan light_source{ <0,1,0> color Red spotlight point_at <0,0,0> falloff 25}

1. lista – pov14.pov 2. lista – pov15.pov Ha szpot fényforrással készítjük el a három színt sugárzó képünket light_source{ light_source{ (pov13.pov, 6. ábra), akkor a képen ta- <1,1,0> color Red <1,2,0> color Red lálunk olyan területeket, ahol a három cylinder point_at <1,0,0>} cylinder point_at <1,0,0>} szín azonos intenzitással fedi a neki szánt területet, és a találkozásoknál light_source{ light_source{ a szín csak a kettõ (vagy három) szín <-1,1,0> color Red <-1,2,0> color Red tiszta találkozásából áll átmenet nélkül spotlight point_at <-1,0,0>} spotlight point_at <-1,0,0>} (zöld-vörös, zöld-kék, kék-vörös szín- folt). A falloff által meghatározott szögön kívül már nem látunk fényt, A pontszerû fényforrás felelõ irányba fog fényt sugározni, a két szög között pedig láthatjuk A PoVRay alapesetben pontszerû így mindenképpen adjunk meg a színek keveredését. Ha nem szeret- fényforrást alkalmaz, ha elhelyezünk egyet a point_at kulcsszóval nénk, hogy a szpot területen a lefe- egyet a térben. Ez a tér minden pontja (pov11.pov, 4. ábra). dettség egyenletes legyen, akkor felé azt a színû fényt sugározza, ame- a tightness értékének (alapértéke 0, lyet meghatároztunk a számára. light_source{ s a maximális értéke 100 lehet) meg- Ennek a típusnak nincs semmi külö- <0,1,0> color Red változtatásával, már a fénykúpon nös beállítási lehetõsége, a közös spotlight point_at <0,0,0>} belül is csökken a fény intenzitása fényforrás módosítások érvényesek a szélek felé haladva. rá, amelyeket késõbb részletezek. Ha nem határozunk meg egyéb érté- A fenti példákban ilyen pontszerû ket, akkor a szpot fényforrás 30 fokos Hengeres fényforrás fényforrást alkalmaztunk. szögben bocsát ki fénysugarakat, A hengeres fényforrás szinte teljesen amelyhez még 15 foknyi fényátmenet azonos a szpot fényforrással, azonban A szpot fényforrás tartozik. A fénykör paramétereit a fénykör átmérõje nem függ a fény- A hidegtükrös halogénizzók mintájára a radius , a falloff és a tightness forrás távolságától. A pov14.pov részle- beállíthatunk olyan fényforrást, amely kulcsszavakkal lehet beállítani. te (7. ábra) szerint a fényforrások mindössze egy meghatározott szög- A radius adja meg közvetve a fénykör 1 egységnyi magasan vannak a síktól, ben sugároz fényt. Nézõpont hiányá- sugarát, mivel a mértékegysége fok, míg a pov15.pov részlete (8. ábra) ban teljesen biztos, hogy nem a meg- s ez a szög határozza meg a kibocsátott szerint már két egységnyire.

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

9. ábra Arnyékvetés 10. ábra Az árnyék kikapcsolva 11. ábra Tárgyon át vetített fény

Látható, hogy a szpotfény átmérõje megnövekedett, míg a hengeres fény- forrás fényköre nem. Ezekkel a fény- forrásokkal a lézerfényhez hasonló © Kiskapu Kft. Minden jog fenntartva fényeket tudunk készíteni, amelyek nagy távolságokon át is megtartják az átmérõjüket. Fontos különbség azon- ban, hogy a fénysugarak nem párhu- zamosak, hanem a megadott pontból indulnak, csak nem tudnak kilépni a paraméterekkel meghatározott hen- gerbõl (ez az átlátszó tárgyak fénytö- résénél okozhat problémát).

Párhuzamos fényforrás Mind a három fényforrás fénye pár- huzamossá tehetõ, amely akkor tesz jó szolgálatot, ha ilyen jellegû fényre van 12. ábra Tárgyba épített fényforrás szükségünk; a napfény például gya- korlatilag párhuzamos fénysugarakból áll. Bármelyik fényforrással készíthe- árnyékot. Egy kicsit természetellene- az esetben a megadott fény szórt tünk szinte párhuzamos fénysugara- sen hat, mivel a valóságban az elhal- háttérfénnyé válik (pov18.pov), kat, ha nagyon messze tesszük a tár- ványuló fénykör a fényforrás nem s ezzel egyfajta kellemes háttérfényt gyainktól (mint amilyen távol a Nap pontszerû jellege miatt keletkezik, tudunk varázsolni különösebb prob- található a Földtõl). Ezen megoldással azonban ez túl sok számítási kapaci- lémák nélkül. mindössze annyi a gond, hogy a távoli tást igényel (lehet javítani ezen, fényforrás fénye gyér, meg kell de errõl pár bekezdéssel késõbb Alakzat vetítése sokszorozni, hogy hatása legyen. foglalkozunk majd). Az alakzat vetítését nevezhetjük akár Egyszerûbb hozzáfûzni a fényforrás Ha egy tárgy leírójában kikapcsoljuk negatív árnyéknak is, ugyanis a fény leírójához a parallel kulcsszót, és az árnyékokat, akkor a fény keresztül csak arra halad tovább, ahol az adott a fényforrás a megadott pont közelsé- tud haladni rajta mindenféle fénytö- testen át tud menni. A megadott gének intenzitásával fog párhuzamos rés nélkül, ugyanakkor a felülete testnek nem kell átlátszónak lennie nyalábokat sugározni (pov16.pov). el is nyeli azt (érdekes probléma ahhoz, hogy a vetítés mûködjön. Egy- az energiamegmaradás terén :) szerûen csak a fényforrás leírójába kell light_source{ (pov19.pov, 10. ábra). helyezni a projected_through kulcs- <-1,0,0> color Green szó után azt a testet, amelyen át sze- parallel point_at <-1,-1,0>} sphere{ retnénk a fényt vetíteni. Ezzel a meg- <0,0,0>,1 oldással olyan összetett fényforrásokat Árnyékok texture{pigment{color White}} tudunk készíteni, amelyre csak szük- A sugárkövetés tálcán kínálja az ár- no_shadow} ségünk lehet (érdekes megoldás pél- nyékok ábrázolását, mivel a tárgyak dául ködbe szöveget vetíteni :). Ha két eltakarják a fény útját, ahol ebbõl Ugyan nem az árnyékok kezelése gömböt összevonunk, majd ezen át következõen árnyék keletkezik módosítható a fényforrás leírójába vetítünk a szpotfényt (pov20.pov), (pov17.pov, 9. ábra). Az árnyék éles írt shadowless kulcsszó használatá- akkor a (11. ábra) szpotfény egy része körvonallal rendelkezik, akkor is, ha val, a program készítõi ezt a nevet élesen ér véget, a többi része pedig a fényforrás elhalványuló része vet adták ennek a kulcsszónak. Ebben a fény elhalványulásával.

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

13. ábra Éles árnyék „szórt” fényben 14. ábra Éles árnyékok több fényforrással © Kiskapu Kft. Minden jog fenntartva

15. ábra Éles árnyékok fényterülettel 16. ábra Fényterület szóródással

light_source{ <0,2,0> color Green spotlight 3. lista – pov24.pov 4. lista – pov25.pov

projected_through{union{sphere{ light_source { light_source { <-0.4,1,0>,0.5} <0, 1, 0> color White <0, 1, 0> color White sphere{<0.4,1,0>,0.5}}}} area_light <1, 0, 0>, <0, 0, area_light <1, 0, 0>, <0, 0, 1>, 3, 3 1>, 3, 3 Fényforrás építése adaptive 5 Készíthetünk olyan fényforrást, amely spotlight point_at <0, 0, 0> jitter látható lesz számunkra, és a fény belõle tightness 0 árad majd. Ehhez egyszerûen egy testet radius 40 spotlight point_at <0, 0, 0> kell készítenünk, amely villanykörte- falloff 70} tightness 0 ként fog funkcionálni, vagyis tartalmaz- radius 40 ni fogja a fényforrást. Ha ezt a testet falloff 70} hozzáadjuk a kiszemelt fényforráshoz light_source{ a looks_like kulcsszó után, akkor <0,1,0> color Green a fény szabadon átjut rajta. Ha a test tö- looks_like{sphere{<0,1,0>,0.5 mör vagy átlátszatlan, csak ekkor más texture{T_Glass1}}}} nem vakítja el a kamerát, és „zavaró” fény hiányában tömör fekete lesz az el- becsillanások sincsenek a képen: mind- készült képen, ezért lehetõleg üvegbõl Ezzel a módszerrel sem tudjuk igazából össze a megadott testbõl árad a fény, készítsük el (pov21.pov, 12. ábra). „láthatóvá” tenni a fény forrását, hiszen ahogy a villanykörtébõl szokott.

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

a csoportban szerepelnek. A többi testen nem lesz hatása ezeknek 5. lista – pov26.pov a fényforrásoknak, ellenben a globális fények hatással vannak a csoportba light_group{ rendelt testekre. Ez utóbbit kikapcsol- light_source { hatjuk a global_lights off parancs <0, 2, 2> color White segítségével (pov26.pov, 17. ábra). spotlight point_at <0,0,0>} Fontosabb paraméterek sphere{ A PoVRay program használatához <0,1,1>,0.5 érdemes a parancssoros program texture{pigment{color Red}}} néhány paraméterét ismerni, mivel így jelentõs sebességnövekedést vagy 17. ábra Globális fények kikapcsolva global_lights off} minõségi ugrást tudunk elérni. Alap- esetben a gyorsaságra van beállítva a program, tehát vannak olyan részek, Fényterületek sok munkát jelent, és mégsem ahol a kapott eredmény eléggé szegé- Ha igazi elmosott árnyékot akarunk ad megfelelõ minõséget: sokkal nyesen néz ki. © Kiskapu Kft. Minden jog fenntartva kapni (tehát nem olyan éleset, mint finomabban kellene a fényeket Érdemes beállítani, hogy egy rettentõ a(pov22.pov, 13. ábrán), akkor pontsze- elhelyezni, amely sokkal több pixeles, de átlátható képet kapjunk rû fényforrások helyett nagyobb kiter- számítási kapacitást igényel a kép a renderelés folyamatáról, így a durva jedésû fényforrást kellene használ- számolása közben. hibákat azonnal ki tudjuk szúrni, és nunk, ugyanis a valódi világban min- A PoVRay képes saját hatáskörén nem kell megvárni, amíg több perc den fényforrásnak van valamekkora belül megoldani, s erre az area_light munka után észrevesszük, hogy hi- kiterjedése. Minél nagyobb egy fény- kulcsszóval tudjuk utasítani. Ezzel lét- ányzik egy test a képrõl. Ehhez a +SPn forrás, annál életlenebbek az árnyé- rehoz egy kétdimenziós tömböt fény- és a +EPn paramétereket kell megadni, kok, ezáltal a szemnek kellemesebb forrásokból, amelyet használva gya- ahol a +SP a elsõ lépés pixelben való képeket tudunk készíteni. A sugárkö- korlatilag azonos képet állítva elõ méretét kéri számszerûen, a +EP pedig vetés mûködésmódja miatt egy fény- (pov24.pov, 15. ábra). az utolsó lépést. Érdemes 32 pixellel forrással többet tartalmazó világ Az elõnye viszont az, hogy ezt egy kezdeni és 4-8 pixel körül végezni ez- egy egységnyi idõvel több ideig tartó sorban el tudjuk intézni, nem kell zel a finomítással, mert 2-4 pixel körül renderelési idõt is jelent. Ebbõl kö- a fényforrások definícióját többször már eléggé részletesen látszik minden vetkezõen a nagyobb kiterjedésû megismételni, amely a módosítást erõ- szükséges test. fényforrásokat pontszerû fényforrások sen megnehezíti. A PoVRay saját fény- A kész kép minõségét a +Qn para- egymás mellé helyezésével tudjuk területének elõnye, hogy képes egy méterrel tudjuk befolyásolni, ahol „modellezni”. kicsit összekavarni a „fénysugarakat”, a szükséges szám 0 és 9 között Ha a fényforrások számát megtöbb- és így tényleg olyan lehet az árnyék, lehet közönséges sugárkövetésnél, szörözzük és elhelyezkedését megfele- mintha nagyobb kiterjedésû fényfor- és 10 vagy 11 lehet a speciális lõen módosítjuk (pov23.pov, 14. ábra), rás világítana (pov25.pov, 16. ábra). sugárkövetést választva. akkor kicsit elõbbre tudtunk jutni, Ehhez mindössze két kulcsszót kell A következõ rész témája a primitív viszont a kapott eredmény szerint úgy beleírnunk a fényforrás leírójába: testek és a testek közötti kölcsönhatás járunk, mint a focisták a stadionban: ez a jitter és az adaptive. A jitter lesz, ahol a kölcsönhatás alatt a külön- négy éles árnyékuk lesz (a képen kell ahhoz, hogy az árnyék tényleg féle „halmazmûveleteket” értjük. látható gömbnek pedig kilenc). szórt legyen, az adaptive pedig a megadott szám hatványa szerint Auth Gábor light_source { további fényforrásokat készít, ([email protected]) <-0.5, 1, -0.5> color ha szükséges. Egy pécsi középiskolá- <0.11,0.11,0.11> ban informatikát és spotlight point_at <0, 0, 0> Megvilágítási csoport programozást oktat. tightness 0 Ritka eset, de néha szükséges olyan Tíz éve botlott elõször radius 40 megvilágítás, ahol egy-egy tárgyat a UNIX rendszerekbe, 7 év Linux hasz- falloff 70} világít meg egy fényforrás. Ebben nálat után kapta el a FreeBSD lázat, az esetben egy csoportba gyûjtjük amibõl máig nem tudott kigyógyulni. [...] a fényforrásokat és azokat a tárgya- kat, amelyeket ezek a fények fognak Mellékhatásként a fényforrások in- megvilágítani. Ezt a gyûjtést KAPCSOLÓDÓ CÍMEK tenzitását annyiadrészére kell csök- a light_group kulcsszó vezeti be. kentenünk, ahány fényforrást alkal- Ennek eredménye, hogy csak A PovRay projekt honlapja mazunk, különben a kép túlvilágított a csoportba foglalt testeket világítják  http://www.povray.org lesz. Tehát ez a megoldás sem igazi, meg azok a fényforrások, amelyek

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

Az SVG világa (2. rész) Alkotni öröm Az elõzõ részben az SVG elméleti alapjait és a gyakorlati hasznosítási lehetõ- ségeit ismertük meg, így hát itt az ideje, hogy a tettek mezejére lépjünk! Az induláshoz nem kell sok, mindössze egy operációs rendszer, lehetõleg valamelyik Linux-variáns. Valóban alkotni fogunk, mégpedig SVG fájlokat. Igazából maga az alkotás mûvészi munka, így precízen fogalmazva azokat a programokat vesszük szemügyre, melyek a mûvész keze ügyében jól jöhet- nek, ha éppen SVG formátumban szeretné kifejezni magát. Tehát akkor néz- zünk bele a szerszámosládába, hogy mik is azok az eszközök, mellyel felsze- relkezve SVG mûvészeti mûhelyt nyithatunk.

A programokról általában Mint azt a szabad szoftverek világában megszokhattuk, az itt bemutatott programok letölthetõek az internetrõl, sõt a forráskódjuk is hozzáférhetõ. Általában több operációs rendszerre is elérhetõek, szóval ez a cikksorozat célközönsége még véletlenül sem korlátozódik a Linux felhasználókra. Ezek a szoftverek teljesen jól megértik egymást az SVG formátumon keresz- tül, a teszt során egyszer sem fordult elõ, hogy az egyik programban elké- szített fájl ne lett volna átvihetõ a má- sik programba, de apróbb szépséghi- bák néha elõfordultak. Ezek leginkább

© Kiskapu Kft. Minden jog fenntartva a programok eltérõ tudásszintjébõl adódtak. Tehát a választás teljesen A GTK grafikus könyvtárat használ- ütemével. Mint bármely más vektor- szubjektív, gyõztes sem lesz, mindenki ja. Nem elhanyagolható szempont, grafikus szerkesztõben, itt is objektu- válasszon saját ízlésének megfelelõen. hogy mindenféle Linuxhoz és mokkal dolgozunk és ezeket az objek- Amint az ablakkezelõk közül bõsége- Windowshoz is van bináris csomag tumokon lehet mûveleteket végezni és sen válogathatunk egy disztribúció- a  www.sodipodi.com címen. Azon- a tulajdonságaikat állítani. Azok ked- ban, úgy itt is ránk van bízva a döntés. ban a legtöbb rendszeren a csomagok véért, akiknek nem ismerõs a Gimpbõl Persze a lényeg, hogy rosszul nem is között megtalálható, el se kell látogat- a program felépítése, errõl is szót ej- lehet dönteni. nunk a szoftver weboldalára. tünk, hiszen alapvetõen eltér az egy Elindítva a programot a már említett ablak – egy program filozófiától. Sodipodi Gimp-szerûségen túl azonnal szembe- Minden mûködési egység külön A linuxos pixelgrafika koronázatlan ötlik, hogy a magyar fordítás nem ablakban van: a fõmenü, a párbeszéd- királya, a Gimp ikertestvére ez a prog- teljes, legalábbis a Debian Sidben lévõ ablakok és az egyes dokumentumok. ram. Ez hallatlan elõny, hiszen aki ki- 0.34-es, legújabb változatban nem. Aki ezzel a felépítéssel most találkozik csit is járatos a Gimpben, a megszokott Remélhetõleg hamarosan lépést tud elõször, úgy érezheti, hogy képernyõ- logikát, felépítést ebben megtalálja. tartani a fordítás a program fejlesztési jét elárasztják az ablakok. Célszerû

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

hasonlít egy átlagos windowsos kép- szerkesztõéhez, mint a Gimp/Sodipodi pároshoz. Ezt is éppúgy telepíthetjük a disztri- búciónk csomagkezelõjébõl, de a honlapról ( www.inkscape.org) a Sodipodinál felsoroltakon túl még MacOs X-re is elérhetõ. Tudásban például az egész programot új virtuá- sincs lemaradva, sõt, professzionáli- lis munkaasztalon indítani így egy sabb benyomást kelt, az elõzõvel el- egész képernyõn kényelmesen el lentétben van hozzá részletes angol, lehet rendezni a kezelõfelületet és francia és spanyol dokumentáció a dokumentumokat. Ez a fajta fel- a  http://www.inkscape.org/doc/index. építés hatalmas rugalmasságot biztosít php címen. A felhasználói leírásban az egy ablakos modellhez képest. azt olvashatjuk, hogy az Illustrator- Kezdjünk el rajzolni! hoz, a Freehandhez és a CorelDrawhoz Fontos tudni, hogy mint a Gimpben, hasonló képességekkel rendelkezik. a mûveletek nem egy klasszikus me- Az itt bemutatott másik két szoftvertõl © Kiskapu Kft. Minden jog fenntartva nübõl érhetõk el, hanem szinte min- eltérõen nagyon sok formátumban ké- dent lenyíló menükben találunk, amit pes menteni, PDF-ben, az Illustrator a jobb egérgombbal csalogathatunk saját formátumában, PostScriptben elõ. Kezdjük egy téglalappal. Ezt fog- és még sok másban. Ha nem csupán juk aztán tovább formázni. Tehát az a webre szánjuk az elkészült alkotá- üres dokumentumon hívjuk elõ sokat, ez egy fontos szempont a helyi menüt. Ott pedig a Drawing a választásnál. Mode/Rectanglet válasszuk ki. Most Miután a Sodipodiban rajzolgattunk, már rajzolhatjuk a téglalapokat. itt vegyük azt szemügyre, hogy mi az, Amikor ezt meguntuk, hívjuk elõ újfent amiben többet nyújt ez a program. a helyi menüt, de most már a téglala- A Sodipodi utolsó munkafázisát el- pon állva. Próbálgassuk a lehetõsége- mentve, itt folytathatjuk a szépítge- ket, mondjuk a Shape/Fill Settings-t. Ezután ha a lap méretére igazítjuk tést. Komoly grafikusnak a rétegek Itt egyetlen színnel és színátmenetekkel a képet, készen is vagyunk. Próbál- kezelése kulcskérdés, az Inkscape-ben tölthetjük ki az alakzatunkat. Egy meg- juk ki, hogy a színátmenetek egyik pedig van rétegkezelés. De mire is adott névvel definiált színátmenetet tet- színének átlátszóságot adunk! Érde- jók a rétegek? szõlegesen sok elemhez hozzárendel- kes hatása lesz, ha van háttérkép. Egy bonyolult, szinte átláthatatlanul hetünk és ha módosítjuk azt, akkor az A Drawing mód alatt számtalan lehe- sok objektumot tartalmazó rajzon összes elemnél módosulni fog. Ha ezzel tõség rejtõzik, természetesen nem nem árt, ha logikailag csoportosított készen vagyunk, válasszuk a Sodipodi téglalapokból kell megalkotni egy rétegeket tudunk zárolni és elrejteni, fõablakában az Object/Stroke settingst. bonyolult rajzot. A rövid útmutató- így egy adott munkafázisban csak azt Itt a legkülönfélébb keretekkel díszít- ban azért csak angol menünevekre látjuk, amivel ténylegesen dolgozunk. hetjük elkészült alakzatainkat. hivatkoztam, mivel sok közülük A szöveg illesztése láncra is nagyon Hiányzik a szöveg a képrõl? még nincs lefordítva. Ha pehelysúlyú látványos lehetõség, érdemes kipró- A Drawing Mode/Text segítségével programra vágyunk, ezzel érdemes bálni. Görbe vonalakra, spirálra és szöveget is tehetünk az oldalra és megbarátkozni, a Sodipodi FAQ szinte bármire lehet folyatni szöveget. a szöveget éppen úgy bármilyen kitöl- (gyakran feltett kérdések) szerint Az inkscape.org-on lévõ példafájl jól téssel és kerettel elláthatjuk. Még min- akár 32 MB RAM-mal ellátott számí- mutatja az ebben rejlõ lehetõséget, dig az az érzésünk, hogy valami na- tógépen is futtatható. amit az elsõ Inkscape-pel készített gyon hiányzik ahhoz, hogy tényleg al- képen láthatunk. Aztán ha még nem kotni lehessen? Így igaz. Pixelgrafikus Inkscape ámulnánk, akkor próbáljuk csak ki képekre az esetek döntõ többségében Akik teljesen idegennek érezték az ab- a Lánc/Bitkép vektorizálását! Egy pa- szükség van. Azokat is beszúrhatjuk lakok forgatagát az elõzõ programban, pírra felvázolt beszkennelt tollrajzot a fõmenüben a Fájl/Import bitmap de a GTK-alapú programok megfelelõ- egészen jó hatásfokkal alakít át. or SVG document alatt. Ha megjelent ek, akkor ez jó választás lehet. A tech- a kép az oldalon, már csak arra van nikai részletekben járatosabb olvasók- Glips Graffiti SVG Editor szükség, hogy az objektumok egymás- nak érdekesség, hogy az Inkscape Ha eddig a hasonlóságokat elemez- hoz viszonyított helyzetét beállítsuk, a Sodipodi „forkja” (értsd: a meglévõ tük, most valami egészen új jön. mert tegyük fel, hogy háttérnek sze- kódbázison új projekt indult). A fej- Az Apache Foundation Java nyelven írt retnénk használni. Ehhez a Selection/ lesztés C-ben zajlott, de az Inkscape egy SVG szerkesztõprogramot. Ennek Lower selected objects to bottom opciót C++-ra váltott. A menürendszere és aztán több vonzata is van. A gépen kell kiválasztani. egész logikai felépítése sokkal inkább mindenképpen kell legyen java

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

és nem gond, ha böngészõspecifi- kus az oldalunk, akkor használjuk kizárólag az SVG-t. Ebben az eset- ben viszont feltétlenül .svgz formá- tumot használjuk, ami annyiból áll csak, hogy zippel betömörítjük a kész .svg fájlt. Töredékére csök- ken a fájl mérete így, mert a tisztán szöveges XML nagyon jó hatásfok- kal tömöríthetõ. Az alkotás általában nem öncélú tevékenység. Szeretnénk, ha má- sok is meg tudnák nézni az elké- futtatókörnyezet, melyet Viszont a java programozók el vannak szült munkákat. Akár önálló a  http://java.sun.com/ címrõl tölthe- kényeztetve: a projekt Sourceforge mûalkotásoknak szánjuk, akár tünk le. Ez a leglomhább alkalmazás oldaláról részletes fejlesztõi JavaDoc a weboldalunk szerves részeivé a mezõnyben. A gép, amin futott, érhetõ el. tesszük az SVG fájlokat, a támoga- © Kiskapu Kft. Minden jog fenntartva Athlon XP +1600 processzorral és tás elengedhetetlen. A következõ 768 MB RAM-mal volt felszerelve Összehasonlítás részben SVG-t tudó böngészõkrõl, és a bonyolultabb grafikáknál szinte Egy objektív szempont szerint ha- böngészõmodulokról, munkaasz- már zavaróan sokat kellett várakozni. sonlítjuk össze a három szoftvert, tali ikonkészletekrõl lesz szó. Cserébe szinte bármin fut a kávéfõzõ a memóriafoglalásuk alapján. Látható, Azért az alkotást sem fogjuk elha- kivételével, amire elérhetõ a java hogy a tudásszintjük igen eltérõ, nyagolni, az SVG-vel felokosított virtuális gép 1.5-ös változata. így sebességi és erõforrásigények MMS kulisszatitkaiba is bepillan- Használatához le kell töltenünk alapján beskatulyázni nem érdemes tást nyerünk. Ez a három program a programot a  http://sourceforge.net/ egyik alkalmazást sem. Viszont a novemberi számig úgy érzem, hogy projects/glipssvgeditor/ címrõl. Miután a webes grafikázáshoz mindhárom grafikai fronton gondoskodik a meg- kicsomagoltuk a letöltött .zip fájlt, használható, így ez akár támpontot lepetésekrõl. A cikkben alapvetõ a létrejött könyvtárban egy héjprogra- is adhat a választáshoz. A teszt során funkciókat érintettünk, az Inkscape-re mot és egy .bat fájlt találunk. Ezzel egy internetrõl származó bonyolult, azonban különösen igaz, hogy bõ- Unixon és Windowson könnyûszerrel de mindhárom szoftverrel tökélete- ven tartogat még meglepetéseket. elindítható, ha a java benne van az sen megnyitható SVG fájlt nyitottunk Tehát kalandra fel, hiszen elérési útban. Ez egy rendesen feltele- meg és a ps u parancs RSS mezõjét alkotni öröm! pített java futtatókörnyezetnél nem vizsgáltuk. lehet probléma. Az indítás után ez A tesztkép letölthetõ Novák Áron a kép fogad bennünket: a  http://openclipart.org/clipart/ ([email protected]) Az Inkscape-hez hasonlóan az egyab- people/fata_fatina_architetto_f_01.svg BME-VIK-es gólya, lakos logikát követi, grafikus felület- címrõl. mûkedvelõ rendszer- nek a Java Swingjét használja, így Program neve Sodipodi Inkscape gazda. Jelenleg leg- a megszokott KDE-s és Gnome-os GLIPS Graffiti Memóriaigény (Kbyte) inkább a NetBeans-szel kinézettõl el fog ütni. Tudása az 10432 30380 53560 és mindenféle hordozható eszközzel Inkscape-pel összemérve csekély, hi- Szerény kiépítettségû gépen minden- foglalkozik, legalábbis mindazokkal ányzik belõle a rétegkezelés és még képpen figyelembe kell venni ezeket amelyeket meg lehet szólaltatni több dolog, azonban a webes grafiká- az adatokat. Nyilván komoly munká- Linux alatt. záshoz bõségesen elegendõ még így nál csak a tudásszint és az elvárások is. Azért akad, amiben felülmúlja dönthetnek. mindkét vetélytársát: lehet vele tet- KAPCSOLÓDÓ CÍMEK szõlegesen sok színbõl színátmenetet Az elkészített mû használata készíteni, nem korlátozódik kezdõ és Annak ellenére, hogy ez a cikk- A forráskódok: zárószínre a beállítás lehetõsége. sorozat az SVG-rõl szól, érdemes  http://ovh.dl.sourceforge.net/ Igaz ugyan, hogy az Inkscapeben is megfontolni, hogyan is használjuk sourceforge/sodipodi/ lehet ilyet csinálni, azonban sokkal fel az elkészült grafikáinkat. sodipodi-0.34.tar.gz inkább kézre áll a létrehozás lehetõsé- Amennyiben webre szánt alko-  http://ovh.dl.sourceforge.net/ ge itt. A Sodipodiban megnyitva tásokról van szó és a célközönség sourceforge/inkscape/ a többszínes színátmenetet, az elemre nem speciális réteg, mindenkép- inkscape-0.42.tar.bz2 azt írja ki, hogy „Ismeretlen elem”. pen PNG-ben vagy JPG-ben is rak-  Meglepõ a dokumentáció teljes hiá- juk fel a webre, hiszen így bárki http://ovh.dl.sourceforge.net/ nya: leírást sem a weboldalon, sem meg tudja nézni. Az összes program sourceforge/glipssvgeditor/ a letöltött .zip fájlban, sem magában tud menteni pixeles formátumban. GLIPSGraffitiSrc1.3.zip a programban nem találunk. Csak ha valami nyomós oka van

74 Linuxvilág Gazdaság és közszféra

A Horde keretrendszer és az IMP Webmail rendszer

Bizonyára sok rendszergazda belefutott már a feladatba, hogy egy levele- zõszerver karbantartását vegye a nyakába. Ilyenkor sokszor elõfordul, hogy bár a levélkiszolgáló kifogástalanul mûködik, sok felhasználó mégsem tudja, hogyan is állítsa be a levelezõprogramját...

áadásul a munkaállomások esetleges rendszer- melyekre a Horde integrált alkalmazásrendszer mûködése- R összeomlásai és újratelepítései miatt pedig kor minden modulnak szüksége lehet. Ilyen feladat például végeláthatatlan munkává válhat a felhasználók a felhasználói azonosítás és hozzáférés vezérlés, hogy levelezésérõl rendszeresen biztonsági mentést készíteni. a különbözõ szolgáltatási modulok használatához a felhasz- A rendszergazda ilyenkor kezd az IMAP protokoll felé ka- nálónak elegendõ legyen egyszer belépnie a rendszerbe, csintgatni, mellyel a teljes hálózat levelezését egy központi majd azt egységes egészként láthassa. helyen tudja tárolni, így nagyságrendekkel könnyebben A Horde fejlesztése 1998-ra nyarán kezdõdött. Az eredetileg kezelhetõvé válik a probléma. Internet Messaging Program (IMP) néven elindult webes A kiérdemelt nyugalom helyett azonban máris újabb fel- levelezõ rendszer akkoriban néhány PHP-ben készült állo- használó jelenik meg, aki szeretné a levelezõt otthonról mányból állt, mely alig kétezer soros volt a dokumentációval is használni és de nem óhajt lemondani arról sem, hogy együtt. Késõbb ebbõl a kezdeményezésbõl nõtt ki a Horde egy nyaralás alkalmával egy külföldi Internet kávézóból keretrendszer, melyben az IMP már egy modulként kapott is elérje nemcsak a levelezését, hanem a levelezési partne- helyet. A jelenlegi rendszer PHP forrása dokumentáció nél- rek címjegyzékét, vagy akár a személyes munkanaptárát kül is közel kilencvenezer soros, a Horde keretrendszer pedig is. Ezen a ponton a rendszergazda összeráncolja szemöl- mára egy az elfogadott szabványokat messzemenõkig támo- dökét és elhatározza, hogy a levelezést egy web alapú gató rendszerré vált. Az általa támogatott szabványoknak és levelezõre állítja át, mely pont ezekre a problémákra interfészeknek, valamint a objektumorientált PHP nyelvnek © Kiskapu Kft. Minden jog fenntartva született megoldásként. köszönhetõen egy jól integrálható és könnyen továbbfejleszt- Napjainkban ha web alapú levelezõt (webmailt) szeretnénk hetõ környezetté vált. Több oktatási intézmény is használja, használni több választási lehetõséggel is találkozhatunk fõként web alapú levelezõ szolgáltatás nyújtására. a szabad szoftverek között. Egyszerûsége miatt az egyik legelterjedtebb levezõ a Squirrel Mail, mely könnyen beál- A Horde rendszer komponensei lítható és eléggé puritán felülettel rendelkezik, így szeré- Az IMP (Internet Messaging Program) volt az elsõ Horde nyebb kapacitású szerverekre is ajánlható. alkalmazás, melybõl végül maga a keretrendszer is kinõtt. Másik alternatíva lehet a manapság igencsak népes csoport- A IMP egy webmail alkalmazás, mely képes POP3(S) és munka szerverek (groupware-ek) családjából választani IMAP(S) postafiókok kezelésére. egyet, melynek a levelezõprogramját fogjuk be a feladatra. A Turba címjegyzék kezelõ modul az IMP webmail egyik Amennyiben viszont egy professzionális lehetõségekkel leghasznosabb kiegészítõje. Többek között képes LDAP rendelkezõ levelezõt szeretnénk használni, mely messze- és SQL alapú címbejegyzéseket is kezelni. menõkig személyre szabható, érdemes közelebbrõl meg- Az Ingo egy levélszûrési szabályokat kezelõ rendszer az ismerkednünk a Horde keretrendszer által nyújtott IMP-hez. A szûrõket a szabványosított levélszûrési szabá- szolgáltatásokkal. lyokat leíró Sieve nyelven tárolja. Ezek tárolását a Horde keretrendszer valósítja meg, de az Ingo képes ezekbõl A Horde keretrendszer a szabályokból a felhasználók könyvtárába procmail A Horde keretrendszer (Horde framework) egy objektum szûrõszabályokat leíró állományt is készíteni. orientált, PHP-ben íródott alkalmazás. Valójában egy függ- A MIMP az IMP alkalmazás egy hordozható és korlátozott vénykönyvtárral van dolgunk, mely a hozzá illeszkedõ HTML megjelenítésre alkalmas mobil eszközökre leegysze- modulokat azok interfészein keresztül egy közös keretbe rûsített változata. Az alapvetõ levelezési funkciók teljes foglalja. Funkciója azokat a feladatokat megvalósítani, mértékig elérhetõek benne.

www.linuxvilag.hu 2005. október 75 Gazdaság és közszféra

A Passwd modul feladata, hogy a beállított interfészen ke- A telepítés menete resztül lehetõséget adjon a felhasználónak a jelszóváltozta- Miután az összes kiszolgáló mûködõképes, belekezdhetünk tásra. Támogatja a jelszavak tárolását és megváltoztatását a Horde telepítésébe. A modulokat és keretrendszert többek között LDAP, SMB, SQL interfészeken, vagy akár a Horde honlapjáról érhetjük el. saját szkripttel is. Így eldönthetjük, hogy a felhasználókat Elsõ lépésként telepítsük fel a PEAR függvénykönyvtárat egyéb rendszereinkkel közösen, vagy azoktól külön szeret- (ez nagy valószínûséggel megtalálható a Linux disztribúci- nénk-e hitelesíteni. ónkban), majd tegyük fel a szükséges moduljait a A Horde rendszer csoportmunkát támogató moduljai akár több felhasználó számára is elérhetõ szolgáltatásokat tud- pear install -o Log Mail Mail_Mime DB Date File nak nyújtani. Ilyen a Kronolith naptárprogram, a Mnemo feljegyzéskészítõ, a Nag feladatkezelõ valamint a webes paranccsal. könyvjelzõket kezelõ Trean modul. Ezután a webkiszolgáló fõkönyvtárában hozzuk létre A Horde rendszer web alapú állománykezelõje, a Gollem a horde könyvtárat, majd ide csomagoljuk ki a Horde keret- képes adatbázisszerver, FTP, vagy valós állományrendsze- rendszert. A létrejövõ könyvtárnevet nevezzük át úgy, ren kezelni az adatállományokat. hogy a verzióinformációt ne tartalmazza. Ez Debian alatt Végül érdemes megemlíteni a fejlesztést támogató Chora így néz ki: web alapú CVS böngészõt, valamint a Whups webes hiba- © Kiskapu Kft. Minden jog fenntartva követõ rendszert. cd /var/www A felsoroltakon kívül még számos másik kiegészítõ modul wget ftp://ftp.horde.org/pub/horde/ is elérhetõ, melyekrõl a Horde weblapján lehet tájékozódni. horde-3.0.5.tar.gz tar zxvf ./horde-3.0.5.tar.gz A Horde keretrendszer beszerzése mv horde-3.0.5 horde A tesztrendszer alapját nálam egy Debian Sarge rendszer alkotta, melynek kiszolgáló csomagjai tökéletesen megfelel- Harmadik lépésként a Horde-hoz mellékelt konfigurációs nek a webes levelezõ beüzemeléséhez. állományokat nevezzük át, hogy az állománynév végén A Horde keretrendszer mûködéséhez egy web kiszolgáló ne szerepeljen a dist kiterjesztés: és a hozzá illesztett PHP értelmezõ 4-es (legalább 4.3.0), vagy 5-ös verziója szükséges. Ehhez a Debianban található cd horde/config/ Apache és PHP csomagokat használtam. for f in *.dist; do cp $f 'basename $f .dist'; Szükségünk lesz továbbá egy adatbázis kiszolgálóra. done A Horde támogatja az elterjedtebb kiszolgálókat, egyszerû- sége miatt én a MySQL-t választottam. Következõként hozzunk létre az adatbázis táblákat Horde Alapvetõ fontosságú egy IMAP képes levelezõ kiszolgáló, fõkönyvtárában levõ SQL szkripttel. Fontos, hogy ez ebbõl a választásom a Courier-IMAP-ra esett, mivel ez tá- a szkript tartalmazza azt a jelszót, mellyel késõbb elérhetõ- mogatja a Maildir++ szabványt, mellyel könnyedén lehet- ek lesznek a Horde táblái az adatbázis kiszolgálón, ezért séges a felhasználók levelezését kvótázni. ezt mindenképpen módosítsuk! A könnyebb követhetõség A rendszerben a felhasználók hitelesítését egy központosí- kedvéért én a titok jelszót használtam a horde táblához, tott LDAP kiszolgáló az OpenLDAP végezte, hogy közös a felhasználónév szintén horde volt: adatbázisból lehessen többek között a helyi felhasználókat, valamint késõbb a Samba ügyfeleket is hitelesíteni. Szintén cd ../scripts/sql LDAP adatbázisban tároltam a felhasználók teljes nevét, vi create.mysql.sql valamint a levelezési címét, melyek mysql -u root -p < create.mysql.sql

Vezetéknév Keresztnév Ötödik lépésként ellenõrizzük a Horde tesztoldalát!  Én a telepítést az aktuális gépen végeztem, így a következõ címet írtam a böngészõbe: formában kerülnek bele a kimenõ levelek feladó mezõjébe. A Linux terjesztések általában tartalmazzák a Horde http://localhost/horde/test.php keretrendszert, de mivel gyorsan fejlõdõ alkalmazás- ról van szó, mindenképpen javaslom a forrásból Ezen az oldalon információkat találunk arról, hogy a mûkö- való telepítést. déshez milyen beállítások és kiterjesztések hiányoznak Letöltéskor több lehetõségünk van kiválasztani a megfele- még. Érdemes átfutni a listán. A hiányzó PHP modulokat lõ forrást. Aktív fejlesztéshez közvetlenül a CVS verziókeze- a php.ini állományban elhelyezett lõ rendszerbõl tölthetjük le a legutolsó változatot. Ha fontos hibát szeretnénk orvosolni jelenlegi rendszerünkben egy extension=modulnév.so újabb verzióval, akkor ajánlanám a fejlesztés HEAD ágát, mely egy konzisztens állapotú napi mentése a CVS-ben sorokkal tudjuk betölteni (feltéve, hogy csomagként tárolt forrásnak. Egyéb esetekben pedig a legutolsó stabil feltelepítettük már). verzió használata a javasolt, ebben a cikkben ennek A Horde teszt oldala javasolja a PHP memória korlát a verziónak a telepítését mutatom be. használatának kikapcsolását. Aki nem szeretne azzal

76 Linuxvilág Gazdaság és közszféra

1. ábra Az elsõ bejelentkezés

1. lista A prefs.php állomány

$_prefs['timezone'] = array( © Kiskapu Kft. Minden jog fenntartva 'value' => '', 'locked' => false, 'shared' => true, 2. ábra A beállítások menü 'type' => 'select', 'desc' => _("Your current time zone:") );

További fontos információ a teszt oldalon a PEAR modulok állapota. Amelyeket még nem telepítettük, de szükségünk lesz rá, azt a

pear install modulnév

paranccsal telepíthetjük. Miután elkészültünk, a webkiszolgáló fõkönyvtárában elhe- lyezett horde könyvtárra nagyon sokszor lesz szükségünk. A cikk további részében erre a könyvtárra horde/ néven 3. ábra Az adatbázis kapcsolat paramétereinek beállítása fogok csak hivatkozni. Aki pedig szeretné esetleg az Apache-ot, vagy a PHP-t saját maga forrásból telepíteni, a horde/docs/INSTALL állomány- ban talál hozzá segítséget. Miután elkészültünk a telepítéssel eljött az ideje, hogy vég- re kipróbáljuk, hogyan is néz ki mindez egy böngészõben. Töltsük be a

http://localhost/horde/

oldalt a böngészõbe. Ha mindent jól csináltunk, akkor az 1. ábrán látható kép fogad minket, amikor elõször bejelent- kezünk adminisztrátorként. Ha idáig eljutottunk, akkor érdemes tudatosítani magunk- ban, hogy a munka java még csak most kezdõdik a Horde beállításaival, ugyanis kismillió beállítási lehetõséggel 4. ábra Az alapbeállításokat tároló rendszer engedélyezése és trükkel tudjuk a saját rendszerünkhöz és elképzelé- seinkhez idomítani a keretrendszert. A beállításokat a bal szélen megjelenõ menü kísérletezni, hogy rendszere milyen korlát mellett mûködik Adminisztráció/Beállítások menüpontjában tehetjük stabilan, nyugodtan kapcsolja ki. Az állomány feltöltési meg (2. ábra). limitet szintén célszerû helyesen megválasztani a php.ini Egyelõre csak a Horde keretrendszerhez kapunk lehetõsé- állományban, mert értelemszerûen az ennél nagyobb csato- get konfigurációt készíteni, de késõbb a további komponen- lásokat a rendszer nem fogja felengedni a kiszolgálóra. seknek is itt tudjuk elkészíteni a konfigurációs állományát.

www.linuxvilag.hu 2005. október 77 Gazdaság és közszféra

opciók menüben nem fog megjelenni a lehetõsége, hogy ezt a beállítást módosítsa. Amennyiben egy értéket frissen zárunk el a felhasználók elõl, gondoljunk a korábbi intelemre! Azaz ha az adatbázisban létezik a beállítást felül- bíráló bejegyzés, akkor az ténylegesen is felül fogja bírálni az itt beállított értéket. Ilyenkor SQL adatbázis esetén például szükséges a bejegyzések kézzel való törlése a horde_prefs táblából! 5. ábra A DataTree rendszer engedélyezése Miután megismertük a Preferences rendszert a teljesség igénye nélkül kiemelnék pár beállítást, amit mindenkép- pen érdemes megtennünk. Legfontosabb az adatbázis kapcsolat paramétereinek beállítása (Database) (3. ábra), az alapbeállításokat tároló rendszer (Preferences System) (4. ábra) engedélyezése, a DataTree rendszer engedélyezé- se (5. ábra) valamint a felhasználói hitelesítés beállítása (Authentication) (6. ábra). Mivel a következõ lépésben az IMP levelezõt fogjuk beállítani, állítsuk be, hogy © Kiskapu Kft. Minden jog fenntartva a hitelesítést az IMP végezze. Ha ezt nem tennénk meg, a Horde és az IMP külön-külön kérne jelszót a felhasználóktól, ami nagyon bosszantó tud lenni, mert a levelezés eléréséhez például kétszer kellene 6. ábra belépni. Az adminisztrátor mezõben pedig állítsuk be a be- A felhasználói hitelesítés (Authentication) beállítása lépési azonosítónkat, ugyanis ezzel tudatjuk a rendszerrel, hogy az adminisztrációs menühöz is szeretnénk hozzáférni. Miután a beállításokkal elkészültünk el kell juttatni azokat A beállítások végignézésére érdemes rászánni némi idõt valahogy a horde/config/conf.php állományba. Beállíthatjuk, ugyanis ez az elsõ alkalom, amikor rádöbbenünk, hogy hogy ilyen esetben automatikusan töltse fel a Horde a konfi- mennyi mindent tud a rendszer. gurációs állományt, de nekem szimpatikusabb volt az alul megjelenõ ablak tartalmát kézzel (Másol – Beilleszt) bemá- A Horde beállítása solni az elõbb említett helyre. A beállítások elvégzése elõtt érdemes egy picit elidõzni A Horde keretrendszer ezen a ponton már mûködõképes, a Horde alapbeállításokat tartalmazó rendszerének, de jelenleg még nem tud senkit sem beléptetni, mivel a hi- a Preferences System mûködésénél. telesítést végzõ IMP modult még nem telepítettük. Ha eset- A Preferences Sytem feladata a felhasználók egyedi beál- leg ezen a ponton kilépve kizárnánk magunkat, akkor az lításait tárolni. Ilyen beállítások lehetnek például, hogy eredeti Horde forráscsomag horde/config/conf.php.dist állo- mikor lépett be utoljára az illetõ, milyen nyelven, milyen mányát másoljuk vissza a conf.php helyére és kezdjük az idõzónában használja a rendszert és még számos másik elejérõl a beállítást! hasonló paraméter. A Preferences System valójában két adattárból dolgozik. Az IMP telepítése Az egyik a horde/config/prefs.php állomány, a másik pedig Miután elkészültünk a keretrendszer beállításával kezdhet- az általunk beállított dinamikus adatbázis, mely lehet pél- jük a bõvítõ modulok feltöltését. dául SQL, vagy LDAP szerver is. A Horde egy beállítás érté- Az IMP modul (és általában egy új Horde modul) telepítése két elõször az adatbázisban keresi, majd ha ezzel nem jár igen egyszerû: elsõ lépésként töltsük le és bontsuk ki sikerrel, akkor a prefs.php állományban definiált értéket a Horde gyökérkönyvtárába a modul forrását: használja. A sorrendre figyeljünk, mert csúnyán meg tud viccelni ilyen módon minket a rendszer. Érdemes arra is cd /var/www figyelnünk, hogy a Preferences rendszer csak belépéskor wget ftp://ftp.horde.org/pub/imp/ kerül meghívásra, tehát ha valamit módosítunk benne, imp-h3-4.0.3.tar.gz akkor újra be kell lépnünk a rendszerbe. tar zxvf imp-h3-4.0.3.tar.gz Ha vetünk egy pillantást a prefs.php állományra láthatjuk, mv imp-h3-4.0.3 horde/imp hogy abban PHP szintaxisnak megfelelõ tömbök található- ak minden beállítási paraméterre. Ezek tanulmányozása Ezután a horde/imp/config könyvtárban a Horde telepítésé- sok idõt vesz igénybe, de a rendszer viselkedésének nek harmadik lépésében ismertetett módszerrel a konfigu- megismeréséhez fontos átnézni õket. Az állományban elég rációs állományok végérõl a dist kiterjesztést eltávolítjuk. jó magyarázatokat találunk az értékekrõl. Majd a Horde rendszer adminisztrációs felületén elkészítjük A bejegyzések legfontosabb attribútumai a value és locked a konfigurációt, melyet a horde/imp/config/conf.php állo- paraméterek. Míg a value az alapértelmezett értéket tartal- mányba másolunk. mazza, a locked változó azt definiálja, hogy a felhasználó Érdemes a modulok, jelen esetben az IMP estén végig- képes-e megváltoztatni a beállítást. Amennyiben a locked nézni a horde/imp/config/prefs.php állományt az IMP változót igaz értékûre (false) állítjuk a felhasználónak az lehetõségeinek megismerésére.

78 Linuxvilág Gazdaság és közszféra

2. lista A servers.php állomány

$servers['imap'] = array( 'name' => 'IMAP Server', 'server' => 'localhost', 'hordeauth' => false, 'protocol' => 'imap/notls', 'port' => 143, 'folders' => 'INBOX.', 'namespace' => '', 'maildomain' => 'maildomain.hu', 7. ábra A belépésre szolgáló oldal 'smtphost' => 'localhost', 'smtpport' => 25, 'realm' => '', 'preferred' => '', © Kiskapu Kft. Minden jog fenntartva 'dotfiles' => false, 'hierarchies' => array(), 'quota' => array( 'driver' => 'courier', 'params' => array( 'protocol' => 'imap/notls', 'hostspec' => 'localhost', 'port' => 143 8. ábra Az üdvözlõ oldal ) ) );

Szemfüles olvasók most joggal kérdezhetik, hogy az IMP rendszeren szükség volt arra, hogy a levélcímek honnan fogja tudni, hogy hogyan is kell a Horde számára vezetéknév.keresztnév alakúak legyenek ezért ezeket a felhasználók hitelesítését elvégezni. A választ a horde/ még az LDAP kiszolgálótól le kell kérdezni. imp/config/servers.php állományban kell keresni (2. lista). Ez adja meg ugyanis, hogy az IMP milyen levelezõ kiszol- LDAP lekérdezések kampók (hooks) használatával gálóhoz kapcsolódjon. A példa azt hiszem eléggé beszédes, A keretrendszer az ehhez hasonló belsõ mûködésbe való egyedül az alsó néhány sorra hívnám fel a figyelmet, beleszóláshoz speciális interfészt biztosít, melyet kampónak mely a Courier-IMAP kiszolgálótól a kvóta értékeket hiva- (hook) neveznek. Ezek olyan függvényhívási pontok, me- tott lekérdezni (a Maildir++ használatához javaslom lyekhez saját rutinokat írhatunk, ha azt szeretnénk, hogy a maildirmake parancs -q kapcsolóját, illetve a súgó tanul- a rendszert azt meghívva a mi igényeink szerint végezzen mányozását). Mivel a többi kiszolgálóra nem lesz szüksé- el bizonyos feladatokat. Esetünkben két kampó használatá- günk, a többi részét törölhetjük az állománynak. ra lesz szükség, egyre amelyik a felhasználónak teljes nevét, Ha kész vagyunk, akkor eljött az ideje, hogy meg- és egy másikra, mely a teljes e-mail címét kérdezi le az próbálkozzunk egy valódi belépéssel. Írjuk tehát LDAP kiszolgálótól. be a böngészõnkbe: A kampók a horde/config/hooks.php állományban kaptak helyet. Itt nagyon sok példa kampót kapunk a fejlesztõktõl, http://localhost/horde/ melyeket kis testre szabás után élesben is bevethetünk is. Az LDAP séma, melyet a lekérdezésekhez használtam az Ha sikerrel vettük az akadályokat akkor a belépési oldalon inetOrgPerson objectClass. Ennek az osztálynak találjuk magunkat (7. ábra), ahol az IMAP kiszolgálón is a displayName és mail attribútumai tartalmazzák a teljes mûködõ azonosítónk és jelszavunk begépelése után az üd- nevet, illetve a teljes email címet (a @ utáni rész nélkül). vözlõ oldal fogad minket (8. ábra). Ekkor már mûködõké- A teljes név lekérdezéséhez a _prefs_hook_fullname() függ- pes a levelezõprogram is. vényre lesz szükségünk (a függvény nevébõl látszik, hogy ez egy Preferences rendszert érintõ kampó). Szedjük ki LDAP beállítások és kampók a függvény sorai elõl a megjegyzésjeleket és az alábbi 3 sort Miután van egy mûködõ alaprendszerünk eljött az ideje, állítsuk be az LDAP kiszolgálónknak megfelelõen: hogy kicsit finomhangoljuk. Az IMP egyelõre kizárólag IMAP kapcsolaton keresztül kommunikál a kiszolgálóval, $ldapServer = 'localhost'; így nem képes lekérdezni, hogy a belépett felhasználónak $searchBase = 'ou=Users,dc=maildomain,dc=hu'; mi a teljes neve és az e-mail címe. Mivel az általam készített $name = $information[0]['displayname'][0];

www.linuxvilag.hu 2005. október 79 Gazdaság és közszféra

tar zxvf turba-h3-2.0.3.tar.gz mv turba-h3-2.0.3 horde/turba 3. lista A backends.php állomány A Turba képes többek között LDAP, SQL adatbázisba dol- horde/passwd/config/backends.php gozni, vagy a Horde Preferences rendszerét is használhatja. $backends['ldap'] = array( Ez utóbbit az adatok fölösleges kavarodása miatt nem ja- 'name' => 'MailDomain', vaslom. Én az SQL adatbázist választottam, amihez szüksé- 'preferred' => '', ges a Turba táblájának létrehozása: 'password policy' => array( 'minLength' => 6, cd horde/turba/scripts/sql 'maxLength' => 12 mysql -u root -p horde < turba_objects.mysql.sql ), 'driver' => 'ldap', Ezután a szokásos webes felületen való beállítás következik, 'params' => array( ahol írjuk be a localsql nevet címjegyzék nevéhez, majd 'host' => 'localhost', mentsük a horde/turba/config/conf.php állományt. 'port' => 389, A horde/turba/config/sources.php állományban localsql 'basedn' => a néven találjuk meg a beállításokat. Ezen nem nagyon © Kiskapu Kft. Minden jog fenntartva 'ou=Users,dc=maildomain,dc=hu', kell módosítanunk semmit, alapértelmezésben a Horde SQL 'uid' => 'uid', kiszolgálójának beállításait (gép, login, jelszó) veszi át. 'realm' => '', A beállítások után már használható is a címjegyzék mely 'encryption' => 'crypt-md5', képes kezelni levelezõpartnerek dinamikus csoportjait is 'tls' => false akár, mely automatikusan frissül akkor is, ha egy csoport- ) tagnak megváltoztatjuk a címét. ); Jelszóváltoztatás Miután a levelezés jól mûködik szükségünk van még egy Ezután pedig már csak engedélyeznünk kell a kampó meg- jelszóbeállító felület telepítésére is. Jelenleg ez a Passwd hívását. Ehhez keressük ki a horde/conf/prefs.php állomány- modul feladata, mely ugyan még béta állapotú, de problé- ban prefs['fullname'] tömböt, ahova vegyük fel a mát nem tapasztaltam vele. Telepítsük a szokásos módon:

'hook' => true cd /var/www wget ftp://ftp.horde.org/pub/passwd/ bejegyzést. passwd-h3-3.0-beta.tar.gz Mint korábban említettem a Preferences rendszer csak belé- tar zxvf passwd-h3-3.0-beta.tar.gz péskor fut le, ezért, hogy kipróbálhassuk a kampó mûködé- mv passwd-h3-3.0-beta horde/passwd sét újra be kell lépnünk. A teljes email cím lekérdezéséhez hasonlóan járjunk el, csak Készítsük el a webes felületen a conf.php állományt! itt a _prefs_hook_from_addr()függvényre lesz szüksé- Érdemes figyelni arra, hogy alapértelmezetten a Passwd günk. Módosítsuk az alábbi 3 sort a következõképpen: engedélyezi bármelyik felhasználó jelszavát módosítani. Ezt érdemes kikapcsolni. $ldapServer = 'localhost'; Ezután vegyük szemügyre a horde/passwd/config/ $searchBase = 'ou=Users,dc=maildomain,dc=hu'; backends.php állományt is (3. lista). Itt tudjuk ugyanis beállí- $searchResult = @ldap_search($ds, $searchBase, tani, hogy a Passwd modul miképp állítsa át a felhasználó 'uid=' . $user); jelszavát. Többek között lehetõségünk van SMB, LDAP vagy SQL alapú jelszóváltoztatásra is. Számunkra az LDAP lesz Ezután a horde/config/prefs.php állományban engedélyez- fontos, hisz felhasználóink innen kerülnek hitelesítésre. A be- zük a kampó meghívását a $_prefs['from_addr'] tömb- állítást a 3. lista mutatja, melyben azt hiszem csak a crypt- nek a 'hook' => true bejegyzést felvéve. Próbáljuk ki md5 kódolás szorul rövid magyarázatra. A crpyt-md5 olyan a kampó mûködését egy ki- és belépéssel! MD5 kódolás, amit a Linux rendszerek a /etc/shadow kódolá- sára alkalmaznak, ha ezt választjuk a crypt kódolás helyett. Címjegyzék használata Azért választottam ezt a kódolást, mert ha késõbb át kell ven- Miután már tudunk levelezni, itt az ideje az egyik ni más rendszerbõl felhasználót, akkor a jelszót a kódolt for- legfontosabb bõvítmény, a címjegyzék feltelepítésének. mában egyszerûen át tudjuk tölteni. Természetesen ez igaz Ezt a Turba nevû modul végzi, melyet ugyanúgy kell a másik irányba is, azaz ha a rendszerünkrõl szeretnénk telepítenünk, mint ahogy bármilyen plusz modult áttenni másik kiszolgálóra a felhasználót. rendszerhez: A Passwd modul alapértelmezetten inaktív állapotban van, a Horde számára engedélyezni kell. Ezt cd /var/www a horde/config/registry.php állományban az wget ftp://ftp.horde.org/pub/turba/ turba-h3-2.0.3.tar.gz applications['passwd']

80 Linuxvilág Gazdaság és közszféra

tömbben a 'status' attribútum 'active' értékre való cse- ./translation.php compendium -l hu_HU rélésével tehetjük meg. Ezután a webes felületen a követke- zõ belépéskor elérhetõnek kell lennie a jelszóváltoztatás Majd ezután ki kell gyûjtenünk a forrásból a szöveges gombnak is. elemeket, melyeket a Passwd modulra például így tehetünk meg: Levélszûrési lehetõségek Haladóbb felhasználók esetén nyújt segítséget az INGO ./translation.php extract -m passwd modul, mely levél szûrési szabályokat képes kezelni. A szabályokat a felhasználók a webes felületen tudják Majd készítsük el a Passwd modul po állományait: összerakni maguknak. A szabályok segítségével tudják a bejövõ leveleket mappákba rendezni azok fejlécének ./translation.php init -l hu_HU -m passwd vizsgálata alapján. Telepítése a szokásos modul telepítési módszerrel megy: Ezután a horde/passwd/po könyvtárban a hu_HU.po állományban tudjuk szerkeszteni a szövegfüzéreket. cd /var/www Ha elkészültünk, a változtatásokat a követezõ paranccsal wget ftp://ftp.horde.org/pub/ingo/ tudjuk érvényre juttatni a horde/po könyvtárból: ingo-h3-1.0.1.tar.gz © Kiskapu Kft. Minden jog fenntartva tar zxvf ingo-h3-1.0.1.tar.gz ./translation.php make -m passwd mv ingo-h3-1.0.1 horde/ingo Mint láthattuk a Horde keretrendszer egy nagyon Ezután a webes felületen készítsük el a conf.php állományt. széleskörû és messzemenõkig testre szabható alkalma- Én a Horde Preferences rendszert állítottam be a szabályok záscsomagot biztosít számunkra. A rendszer mérete tárolására. és objektumközpontú szemlélete miatt a PHP értelmezõ- Érdekes megoldása az Ingonak, hogy képes procmail re az oldallekérések folyamán elég erõs terhelés jut, amit szûrõszabályt is készíteni a webes felületen összehozott érdemes valamilyen PHP gyorstárazó programmal mér- szabályokból. Ehhez egy FTP kiszolgálóra van szükség, sékelnünk. Saját tapasztalatok szerint a PHPAccelerator amin keresztül feltölti a felhasználó saját könyvtárába nevû ingyenes program használatával elfogadható a .procmailrc állományt. Amennyiben nem ezt a módszert sebességet érhetünk el szerényebb teljesítményû kiszol- használjuk, akkor a szûrés kliens oldalon fog történni, gálók esetén is. ami valamivel lassabb, mintha a levél már beérkezésekor Aki úgy érzi, hogy szívesen csatasorba állítaná a rend- megtalálni a helyes irányt a megfelelõ mappába. Sajnos szert, annak ajánlom a levelezõlisták forgalmának figyelem- maildrop formátumú mailfilter állományt jelenleg nem mel kísérését, ahol szívesen fogadják a jól definiált hibaje- képes készíteni az Ingo. lentéseket és készséggel segítenek azokon a problémákon túljutni, melyeket a dokumentációk alapos átolvasásával A MIMP – Webmail WAP-on sem tudunk megoldani. Végezetül a MIMP modult érdemes még megemlíteni egy igényes web alapú levelezõ elkészítéséhez, mely Pallos B. Richárd ([email protected]) mobil eszközök WAP böngészõjére teszi elérhetõvé Informatikus, doktorandusz hallgató az IMP funkcionalitását. Tapasztalataim szerint régeb- a BME-n. Munkájához évek óta fõként bi mobiltelefonnál okozhat gondot, hogy a MIMP túl Linuxot használ. Kedveli a vízi és téli nagy oldalakat generál, amit a mobil nem képes fo- sportokat. gadni. Ettõl függetlenül mindképpen egy sokat ígérõ komponens, melyet a fejlesztés HEAD ágában kell keresni ha telepíteni szeretnénk. A Horde Wiki oldalán MIMPHowTo néven találunk a beállításához részletesebb KAPCSOLÓDÓ CÍMEK információkat. További modulokat a Horde weboldalán találhatunk, A Horde Projekt honlapja: a cikkben leírtak fényében egy új modul telepítése már  http://www.horde.org/ könnyedén menni fog bárkinek. A Horde Wiki oldala: A Horde magyarítása  http://wiki.horde.org/ A teljes Horde alkalmazásrendszer napról-napra fejlõdik, így belefuthatunk abba, hogy a legújabb verziókban A Horde levelezési listái: a magyar nyelv támogatása kivetnivalókat hagy maga után.  http://www.horde.org/mail/ Ilyenkor vesszük hasznát, hogy a PHP gettext függvény- tárral lettek megvalósítva a nyelvi elemek. Amennyiben A PHPAccelerator honlapja: szeretnénk a szövegfüzéreket saját igények szerint átírni,  a horde/po/translation.php állományra van szükségünk. http://www.php-accelerator.co.uk/ Elsõ alkalommal a horde/po könyvtárból futtassuk a következõ parancsot:

www.linuxvilag.hu 2005. október 81