Töprengõ

A szerelemnek múlnia kell… artva

inden terméknek megvan a sõt, két levelezõrendszerrel, a PostFixszel, Talán csak a beágyazott rendszerek szorul- M maga életciklusa. Elõbb-utóbb és a SuSE EMail Server II-vel. A rendszer- tak egy kicsit háttérbe. Sokan írták, hogy minden felett eljár az idõ. Még gazdák nagy hasznát vehetik a Nessusnak, nem tudják, mi az a beágyazott Linux. Nos, a szerelemnek is múlnia kell, ahogy Zorán mindenképpen ajánlom nekik is az 52. olda- egy lelkes fiatal készített egy háziasszonyok

mondta. Hogy mi köze van a szerelemnek t. Minden jog fennt a számítástechnikához? Nagyon is sok! Mi alapján döntünk, amikor két számunkra Bemegy az ürge egy irodába, hát látja, hogy egy nagy ismeretlen termék között kell választanunk? szõke lobonc lóg csak ki a számítógépbõl. Egyéni érzéseink döntik el a kérdést. És – Elnézést, asszonyom, tudna segíteni? amikor az operációs rendszerek között kell – Egy pillanat, csak átültetem a rendszermagot…

választanunk? © Kiskapu Kf Itt már összetettebb a helyzet, hiszen fontos, hogy használni tudjuk, ehhez pedig két 1. számára is érthetõ linuxos eszközt (lásd az fontos feltételnek kell teljesülnie: egyrészt 1. és 2. képet)! A pontos leírás megtalálható meg kell ismernünk, másrészt képesnek kell a  http://www.riverdale.k12.or.us/linux/ lennie azon feladatok ellátására, amelyekre toaster/ címen. szánjuk. Természetesen ha már ismerjük, De a lap életében más változások is történ- akkor sokkal valószínûbb, hogy választá- nek. Például megváltozott az újság papírja. sunk rá esik. Ezért is fontos, hogy odafi- Elõször nagyon féltem, hogy milyen vissz- gyeljünk az oktatásra. Minél több rendszert, hangot kelt majd olvasóinkban, amiért nem irányt mutatunk meg a tanulóknak, annál „csillogunk” annyira, de szinte csak elége- könnyebben találnak a céljainak megfelelõ dett véleményeket kaptunk. eszközt. Akit érdekel, hogyan látja egy Igyekszünk egyre több hazai cikket is tanár a jelenlegi hazai helyzetet a Linux bezsúfolni a címlap alá. Kérek mindenkit, és a közoktatás szemszögébõl, lapozzon 2. ha van olyan téma, amely érdekli, írja meg a 40. oldalra! nekünk! És ami talán a legfontosabb, Rendben, nincs több Kaland-Játék-Kocká- személyi változások is történtek a lapnál! zat. A minap hallottam, hogy még a tavak- Gyula végre elvállalta a lap szakmai szer- nak is megvan a maguk életciklusa. Imádom kesztését, és én tudom a legjobban, hogy a Balatont, még most is, amikor egy-egy komoly feladatot vett a nyakába; valamint hétvége alkalmával tízezrek támadják meg örömmel üdvözölhetjük csapatunkban Dér a siófoki nagystrandot, de azt mondják, Csilla olvasószerkesztõt. (Ha valaki ráér, haldoklik a mi drága tengerünk. Még küz- dobja meg õket egy „Szia” témájú levéllel dünk érte, de már csak ideig-óráig él. a [email protected], valamint Én azért reménykedem, nem szeretném a [email protected] címen.) hiányolni azt a kellemes érzést, amikor az Jut eszembe, most már nõuralom kezd kiala- autópályán elõttem és utánam is több kilo- kulni, úgyhogy ezennel meghirdetem a leg- méteren keresztül csak boldog emberek jobb szõke linuxos viccpályázatot, nevezni szoronganak kis bádogdobozokban. Bár ez bármilyen viccel lehet, amiben a Linux is is nézõpont kérdése: a szembejövõk hülyére szerepel! Külön kategóriát indítunk a szõke röhögik magukat a sokakon. Könnyû nekik, nõket tartalmazó vicceknek! A pályázatokat hûti õket a menetszél. Nem baj, fagy még a [email protected] címre kérjük, ered- meg az õ tevéjük is! ményhirdetés és a legjobb viccek gyûjte- Visszakanyarodva az újsághoz, kezdünk ménye a következõ lapszámban! De ne kialakulni. A csapat nevében is köszönöm olyan vicceket küldjetek, hogy „Mit csinál mindenki véleményét, és igyekszünk is egy szõke nõ két Linux feliratú igazítani a kínálaton. Sokan kérték, hogy vasgolyóval…”! foglalkozzunk egy kicsit többet a webfej- lesztéssel kapcsolatos kérdésekkel, nekik Szy György a Linuxvilág fõszer- szól négy cikkünk is, fõleg a PHP és a Java  http://www.linuxchix.org háza tájáról. A PHP annyira érdekes téma, kesztõje, a Kiskapu hogy még egy könyvet is ajánlunk hozzá! lon található cikk elolvasását! Az otthoni Kiadó vezetõje. Igyekszünk a hálózatfelügyelõk kedvében felhasználókat szintén megörvendeztetjük Mindenki véleményét is járni, tovább foglalkozunk a csomagszû- a multimédiához kapcsolódó cikkeinkkel, és levelét örömmel réssel, az egyszerûen kezelhetõ hálózati egy játékleírással, valamint pár oldal erejéig várja az alábbi levélcímen: munkaállomásokkal (linuxos terminálokkal), a Wine rövid ismertetõjével és így tovább. [email protected]

www.linuxvilag.hu 2001. június–július 5 Vezérfonal

artva Programvadászat A Gnome és a világuralom

Ximian Gnome megegyezik a A mostani szám második korongját teljes Helix Gnome-mal, csak a nevét egészében a Ximian Gnome foglalja el,

t. Minden jog fennt változtatták meg. Ez a Gnome mivel több száz fájlról van szó minden kAezelõfelület kiegészített változata, teljesen egyes Linux-változathoz. A lemezmelléklet egységes felületet ad a különféle Linux- és a Debian Potato i386, a RedHat 7.0 i386, Unix-változatoknak. a Mandrake 7.0 i586 és a SuSE 6.4 i386 Linux-változatok telepítõkészleteit tartal- mazza. (Helyszûke miatt a RedHathoz

© Kiskapu Kf tartozó változat a harmadik korongon kapott helyet.) gével végre is hajthatjuk a frissítést. Az idõ- közben megjelent egyéb programok szintén szerepelnek a letöltött listában, ezeket is innen telepíthetjük. A Red Carpet program minden olyan tulaj- donsággal rendelkezik, amire egy fejlett csomagkezelõnek szüksége lehet, ilyen például a teljes körû függõségkezelés.

Rengeteg programot tartalmaz, amelyek Nautilus alkalmassá teszik mind az irodai, mind A Nautilus a Ximian Gnome fájlkezelõje. a grafikai és egyéb feladatok megoldására. Természetesen az egész felületen másol- A Sun és a Hewlet-Packard is a Gnome Számos hasznos programot kapunk a cso- hatunk, mozgathatunk a húzd és ejtsd (drag kezelõfelületet választotta Unixa „arcául”, maggal, ezek között megtalálható a Gimp and drop) módszerrel. Rendelkezik képné- a fejlesztés egyelõre gõzerõvel folyik, a Sun képszerkesztõ, az AbiWord szövegszer- zegetõvel is, ami a képfájlokat kicsinyítve Solarishoz azonban már letölthetõ egy kesztõ, a Mozilla böngészõ, a Red Carpet próbaváltozat. software manager program (errõl még lesz szó a késõbbiek során), és a Nautilus fájl- kezelõ-tehát minden együtt van ahhoz, hogy egy bárki által Linuxszal megálmodott és létrehozott irodai munkaállomást kényel-

jeleníti meg, így könnyebben választhatjuk ki a szükséges fájlokat. További leírások a  www.ximian.com és Ennek az egységesítésnek óriási elõnye, a  www.ximian.com/apps/redcarpet.php3 hogy a felhasználók szempontjából nézve címen olvashatók. teljesen mindegy, milyen Unix elé ültetik le õket, ha dolgoztak már ilyen mesen használhassanak. A Control-Center környezetben, nem lesz számukra idegen, segítségével felületünk beállítását, testre és mindent a megszokott helyén fognak szabását könnyedén elintézhetjük. találni. Ezzel el is érkeztünk a felhasználó- barát Unix-rendszerekhez, amelyektõl többé Red Carpet már az átlagos felhasználókat sem kell A Ximian Gnome részét képezi a Red félteni, mindössze azt kell elérni, hogy õk Carpet program, melynek segítségével se féljenek a változásoktól és az újdonsá- könnyedén és gyorsan frissíthetjük csomag- goktól – bár az emberek nagy többsége jainkat vagy távolíthatunk el programokat. beidegzõdött szokásainak a rabja és nem A telepített csomagok közül önmûködõen mer változtatni, váltani. megkeresi a legújabb változatot, és segítsé-

6 Linuxvilág Vezérfonal

Progeny 1.0 Newton 2-es CD gyorsabb lett, mint elõdei voltak. Ha elké- A futtatásához szükséges vas- és Számos hasznos programot tartalmaz a szül, igen nagy tudású rendszert üdvözöl- rendszerigények: Progeny második CD-je. Egyszerûen adjuk hetünk majd benne. Ha nem angol nyelven • glibc 2.1 (vagy magasabb) könyvtár, artva hozzá ezt a CD-t is az apt listánkhoz az szeretnénk használni, célszerû lesz az egész • Intel Pentium-megfelelõ 233 MHz-es apt-cdrom add paranccsal! Ezt követõen csomagot lefordítani, ehhez pedig a processzor, a programokat máris telepíthetjük az apt-  http://tools.openoffice.org/openoffice_ • 64 MB RAM és get install programnév utasítással, lang.html címen kaphatunk segítséget. • 26 MB szabad hely a merevlemezen. vagy használhatjuk a dselect programot és Teljesen új ps-nyomtatást használ, így a tá- a grafikus csomagkezelõt is. Aki a Gnome- mogatott rendszereken telepítés után minden mal szemben a KDE felületet részesíti további beállítás nélkül nyomtathatunk. elõnyben, most áttérhet kedvencére, mivel ez a CD azt is tartalmazza. Jó böngészést Magazin t. Minden jog fennt az új programokhoz! Új könyvtárat nyitottunk Magazin néven. Ebben a könyvtárban a különféle cikkekhez szervesen kapcsolódó

forráskódok, programocskák és egyéb © Kiskapu Kf kiegészítõk lelhetõk fel. Most a következõ- ket rejti: Maya-animációkat MPEG formá- tumban a Magazin/Maya könyvtárban, ezenkívül a Postgresql és a PHP, illetve a PoV-Ray ismeretek címû írásunkhoz tartozó SimCity3000 forráskódok is itt találhatók meg. Elõzõ CD-mellékletünk SimCityje sajnálatos módon sérült volt, így most orvosoljuk ezt a hibát.

Heroes of Might and Magic III A mostani játékleíráshoz tartozó Heroes III bemutató változata a CD Jatekok/Heroes3 könyvtárában található meg.

bug1 – készítõje Mike Miller

OpenOffice 632 Rendszermag Ez a változat sem mentes a hibáktól, de ez A jelenlegi korongon a 2.4.5-ös természetesen így van jól, hiszen még csak rendszermag található meg. A változások a fejlesztõi változatot tartjuk a kezünkben. közül néhány: Szerkesztõségünkben az AbiWordben írt .rtf • tms380tr meghajtófrissítés, fájlokat ugyan rosszul jelenítette meg, ennek • USB-javítások és -frissítés, Rendszerigénye: ellenére az elõzõ változathoz képest már • RAID1/5 hibajavítás, • Linux 2.2.x rendszermag, számos hibajavítást tartalmaz, és nagy telje- • ARM- és PPC-javítások. • Pentium osztályú processzor, A teljes listát a • legalább 800x600-as felbontás – 16 bites  http://www.kernel.org/pub/linux/kernel/ színmélységgel és XFree86 3.2 vagy v2.4/ChangeLog-2.4.5 címen olvashatjuk el. újabb grafikus környezet, • négyszeres CD-ROM-meghajtó, Mozilla 0.9.1 • 32 MB RAM, CD-inken nyomon követjük a nyílt for- • hangkártya és ráskódú Mozilla böngészõ fejlõdését. • 150 MB merevlemezterület A CD összeállításának pillanatában a a telepítéshez. 0.9.1-es változat a legfrissebb. Sebessége már kielégítõ és memóriahasználata sem olyan nagyfokú, mint azt eddig megszok- Csontos Gyula hattuk. Többnapos, szinte folyamatos ([email protected]) használat alatt sem fagyott le vagy szállt a Linuxvilág hír- és CD- sítménynövekedést tapasztaltunk. Rendszer- el, így már nyugodtan ajánlom mindazok szerkesztõje, valamint igényei: 64 MB RAM és körülbelül számára, akiket nem riaszt el a változat a www.linuxvilag.hu 200 MB merevlemez-terület. Érezhetõen számában a nullás kezdet. tartalomfelelõse.

www.linuxvilag.hu 2001. június–július 7 Hír-lelõ

Az DVD-mentés nagymesterei BeIA operációs rendszer Monitor-nap A svájci központú BaSys cég bemutatta a A Be inc. beágyazott rendszerekhez ké- Június közepén a Tech Data Intel monitor- legújabb Pioneer DRM-7000-est és kisebb szítette a BeIA operációs rendszerét, mely napot rendezett. A Tech Data a tízéves artva testvérét, a DRM-1004V40-est. A DRM- kiváló felületet nyújt az otthoni és az Computer 2000 utódja. A névvel ellentétben 7000-es típusú raktáregység akár 720 CD internetes eszközökhöz. Ilyenek például a szakemberek személye és a minõség, tárolására és kezelésére is valamint a cég alapelvei nem változtak. alkalmas, egyszerre pedig A bemutatón világviszonylatban is elismert négy lemez anyagát képes cégek képviseltették magukat, mint például feldolgozni. A nála kisebb a Philips, a Samsung, a Sony és az Intel. DRM-1004V40-es már csak Elsõként a Samsung mutatta be legújabb száz lemezt képes tárolni. monitorjait és a legutóbb kifejlesztett

t. Minden jog fennt Mindkét típus megfelelõ a Dynaflat X típusú képcsövet. A Samsung CD-ROM, CD-R és DVD- a sík képcsõben, a minõség csiszolásában ROM adathordozók feldol- és az energiatakarékosságban látja a moni- gozására, illetve a DRM- torgyártás jövõjét. Az Dynaflat X kifejlesz- 7000-sen még a CD-RW is tése új korszakot nyitott a képcsövek vilá- használható. A berendezés gában. Ígéretük szerint az új foszforréteg,

© Kiskapu Kf természetesen NT, Unix az új bevonatok, a szebb kontrasztok és és Linux alatt is mûködik. a képpontméret további csökkenése A cég referenciái közé sorolható, többek között a BBC tévécsatorna, a BMW és az a set-top boxok, a kézi gépek, a mobilte- EBU. Felhasználási területük széles körû: lefonok és a házi szórakoztató központok. CAD, videó-, fotó-, hanganyagok és szöveges A Sony is ezt választotta a Sony e Villa(TM) dokumentumok mentésére egyaránt alkalmas. Network Entertainment Center nevû készü-  http://www.basys.hu lékének operációs rendszeréül. Támogatja a HP DeskJet nyomtatókat, legkisebb vasigénye x86-os Pentium osztályú vagy nagyobb, illetõleg PowerPC processzor, 32 MB memória, 8 MB tárhely, utóbbi flashlemez is lehet.  http://www.beia.com  http://www.be.com

Linuxos nyomtatás Biztosan sokan próbálták már meg nyomta- tójukat szóra bírni kedvenc operációs rend- szerünk, a Linux alatt. Bizony ez nem könnyû feladat, de szerencsére az Easy Software Products cég meghozza a várt minõségjavulást. A Sam- sung kínálatában szereplõ 27-féle típusból Linux összehasonlító a LCD folyadékkristályos TFT-t is kie- Az alábbi címen a fõbb Linux-változatokról melték. Ezek a modellek 15, 17 és 18 tudhatunk meg hasznos adatokat táblázatba hüvelykes méretben jelentek meg a piacon, foglalva. Ennek köszönhetõen könnyebben a 800TFT és a 770TFT típusú LCD-k tudjuk kiválasztani a számunkra megfelelõ 1280x1024 képfelbontásúak. Természetesen Linux-változatot. Ezek mindegyikének van a Sony szintén számos újdonsággal lepett saját oldala is, ahol a programcsomagok meg bennünket, többek között TFT L181-es frissességét, változatszámát ismerhetjük meg. típusú 19 hüvelykes (1280x1024/85-as Összehasonlíthatjuk például a Debian Slink, üzemmód) legújabb csodájával. A bemutató Potato, Woody és Sid csomagjait. végén pedig árverésre bocsátott egy 15  http://home.kimo.com.tw/ladislav/ hüvelykes M51 multimédiás TFT monitort. distro_compare.htm ( http://www.easysw.com) elkészítette az A kikiáltási ára 40 ezer forintról indult és általános, szinte minden Unixon használható 155 ezer forintnál ütött le a kalapács, ez nyomtatókezelést: a CUPS-ot. Ennek segít- pedig majdnem megegyezik éppen akciós ségével webes felületen állíthatjuk be nyom- árával. A Philips is tartotta a szintet, és tatónkat. Szinte minden nyomtatótípust újdonságai közül a Light Frame program ismer, mielõtt azonban nekilátnánk a tele- érdemel nagyobb figyelmet, mely nagyobb pítésnek, érdemes körülnézni a fényerõt és élesebb képet nyújt a felhasz-  http://www.linuxprinting.org oldalon az nálónak. A CD-rõl ugyanúgy, mint bármi- adatbázisban, hogy az általunk kiválasztott lyen más programot, fel lehet telepíteni nyomtatótípus valóban támogatott-e. a számítógépre, segítségével hatékonyabb  http://www.linuxprinting.org lesz a monitor beállítása.  http://www.cups.org  http://www.techdata.hu

8 Linuxvilág Hír-lelõ

IBM – Nyárköszöntõ party kel, szolgáltatásokkal, élõlényekkel, szemé- SuSE 7.2 magyar változat Az IBM júniusi Nyárköszöntõ összejöve- lyekkel vagy fogalmakkal kereskedhetünk. A SuSE Linux hazai képviselete június telén mutatta be az IBM eServer pSeries Érdemes ellátogatni ide, és üzleti érzékünk végén piacra dobta a SuSE Linux 7.2-es artva 620-as és 660-as sorozatát. Az új termékek- vizsgájának helyszínéül nem a BUX-ot vá- magyarított változatát. Ez számos új kiala- kel tulajdonképpen a tavaly megjelent lasztani. Próbára tehetjük tippelõ képességün- kítási, teljesítménybeli, biztonsági és multi- RS/6000 F80/H80 típusokat váltották fel. ket az ÁlomPC játékban, melyben a Terasz médiás újítást tartalmaz. A KDE 2.1.2 A változást a nagyobb teljesítményû RS64-IV irodájában használt monitorok típusát talál- grafikus munkakörnyezetre épül, amelynek processzornak, a kétszeres memóriának és hatjuk ki. Az ingyenes játékokon túl fizetõs központi eleme a Konqueror böngészõ – ez a hetven százalékkal nagyobb OLTP teljesít- változatot is terveznek, ahol már értékes tulajdonképpen böngészõ és fájlkezelõ egy- ménynek köszönhetõen hozta. nyereményekre számíthatunk. Az irodában ben. A program támogatja az összes ismert elsõsorban a fejlesztõk gépein és a kiszol- webformátumot, többek között a Flash,

gálókon használnak Linuxot, ezek közül is a RealAudio és a RealVideo médiaformátu- t. Minden jog fennt a Debian- és a SuSE-változatokat futtatják. mokat is. A biztonságos internetes banki  http://www.terasz.hu ügyintézés (tranzakciók lebonyolítása) érdekében az SSL (Secure Socket Layer) Linuxos irodai gép biztosítja a védelmet. A grafikai felületet Kezdõ vállalkozásoknak éppen annyira nagy kedvelõk számára az Xfree86 4.0.3-as válto-

anyagi áldozatot jelent a számítógép beszer- zat számos kényelmi szolgáltatást nyújt. © Kiskapu Kf zésén túl a jogtiszta programok és az operá- Az újdonságok között még megemlíthetjük ciós rendszer megvásárlása, mint a már az MP3-lejátszókat, a dobgépet, a MIDI bil- meglévõ vállalkozások bõvítése. Erre kínál lentyûzetet-programot és a sokrétû audio- megoldást a TOP Computer Kft. a DTK video szerkesztõstúdiót, melyek szintén Abacus számítógépcsaláddal, melynek helyet kaptak a csomagban. A program A bemutatón szó esett az AIXL-rõl, melynek tagjait elõre telepített Linuxszal és ingyenes ingyenes frissítésével sem lehet sok gon- már a neve mutatja (L), hogy linuxos alkal- dunk, mivel a SuSE YOU állandó elérésû mazások is futtathatók rajta. Az AIX új frissítõ néhány egérkattintás után önmûkö- nemzedéke az 5L-változat, mely a legújabb dõen gondoskodik róla. A 7.2-es telepítése- unixos módszerek ötvözete, s ebbõl követ- kor a SuSE lehetõséget kínál személyes kezik linuxos irányultsága is. A rendszert tûzfal kialakítására, sõt még a vírusoktól a SuSE és a RedHat is támogatja. AIX 5L sem kell tartanunk az AMaViS (A Mail jellemzõi a következõk: Virus Scanner) használata mellett. A fájlként • 64-bit Unix operációs rendszer csatolt titkosított fájlrendszer (loop mounted (POWER és IA-64 processzorokra), crypto file system) módszer segítségével • TCP/IP és webkiszolgálási újdonságok, bizalmas adatokat is tárolhatunk. A követ- • új RAS képesség, kezõ változat elõreláthatólag 2001 õszén • 24/32-processzoros támogatás egészen jelenik meg a boltokban. 96 GB memóriáig, StarOffice irodai csomaggal értékesíti.  www.linuxvilag.hu • Java V1.3.0 JDK és futtató. Az így elõkészített számítógép beállítás után azonnal alkalmas internetezésre, levelezésre, Körösztös Anita Irány a Terasz! szövegszerkesztésre, táblázatkezelésre, tehát (Korosztos.Anita@ Egy fiatal csapat elképzelése alapján készült mindenre, amire egy irodában csak szükség linuxvilag.hu) A Linuxvilág el a Terasz.hu internetes portál. Ez azonban lehet. A Linuxnak köszönhetõen könnyedén marketingfelelõse. Nem olyan csak elsõ pillantásra hasonlít a többire, mert alakítható ki belõlük biztonságos nagytelje- rég csöppent bele a Linux megtalálhatók rajta a szokásos témakörök: sítményû helyi hálózat. Nagyon változato- világába, azóta lelkesen fog- hírvilág, magazin, enciklopédia, linkajánló, sak a számítógép-összeállítások: a Celeron lalkozik vele. A barátaival töltött idõt tartja chat és fórum, sõt még internetes áruházban 700-as processzortól a Pentium III-as pro- a legfontosabbnak és lelkesedik a vízi- és is vásárolgathatunk. A terasz viszont túllépve cesszorokon keresztül akár AMD procesz- téli sportok iránt is. a ma már alapszolgáltatásnak számító tárgy- szorral is kérhetjük a gépeket, memória- körökön, számos fiatalos hangvételû újdon- méretük 64–128 MB-ig, merevlemezük Csontos Gyula sággal lep meg bennünket. A mûvészeti 10–20 GB-ig választható, kérésre természe- (Csontos.Gyula@ oldalra kattintva híres színészek elõadásában tesen egyéni igényeket is kielégítenek. linuxvilag.hu) a Linuxvilág hallgathatunk verseket vagy szemezgethetünk A számítógépek három év teljes körû jótál- hír- és CD-szerkesztõje, az érdekes válogatásból. Játszhatunk az álom- lással rendelkeznek. valamint a www.linuxvilag.hu tõzsdén, ahol a részvények helyett termékek-  http://www.topcomputer.hu tartalomfelelõse.

www.linuxvilag.hu 2001. június–július 9 Láttuk-hallottuk

Gondolj rá úgy, mint az árverésre Õk mondták

Szóval, milyen gyakran is pötyögik be a nevedet a Google A végsõ próbatétel – Szinte minden férfi keresõbe? Hogy ezt megtudjuk, létrehoztunk egy hirdetést a jól viseli a versenyhelyzetet. Ha igazán Google AdWords oldalán, majd megkértük a Google üzemeltetõit, próbára akarod tenni a személyiségét, hogy becsüljék meg, mennyibe kerülne havonta a hirdetés, ha ruházd fel hatalommal. (Abraham Lincoln) akkor jelenne meg, amikor valaki a következõ nevekre keres: Az ár számít – Az egyetlen dolog, amit Larry Augustin: 0 Eric Raymond: 4000 nem tehetsz meg a nyílt forráskódú prog- Chris DiBona: 0 Doc Searls: 0 ramokkal, az az egyeduralomra alapozott Phil Hughes: 0 Richard Stallman: 0 pénzszerzés. (Jeremy Allison) Rob Malda: 0 Linus Torvalds: 1300 Don Marti: 4000 Richard Vernon: 0 Haiku-Foo – Minden apt-get minket erõsít. Rick Moen: 0 Bob Young: 0 Dist-upgrade-elj a nagy dicsõségért! Bruce Perens: 0 (Debian Haiku, írta Marc Merlin) Természetesen kipróbáltuk operációs rendszerekre is. Zárt forrású vita – Hosszú távú célkitû- Linux: 4 284 200 zésünk, hogy a lehetõ legtöbb eszközre Windows: 5 653 800 Windows CE kerüljön, és szabvánnyá Unix: 872 900 váljon. Nem muszáj, hogy nyereséges A becslések nem kerülnek pénzbe. Próbáld ki te is a legyen az elkövetkezendõ néhány évben.  http://adwords.google.com/ weblapon. Az MS-DOS elsõ kiadásán sem kerestünk pénzt. Ha tíz dolláros áron be tudsz törni erre a piacra, akkor rajta! (Bill Gates) A Microsoft és a PHP erõsödik Miután megnyitottuk az InterBase forrás- kódját, az ügyfelek elsõ kérdése az volt, hogy mennyibe kerül. A program leglénye- Éhen halok! A Netcraft cég 1995 szeptembere óta figyeli világszerte a kiszol- gesebb tulajdonsága a nyílt forráskód után A tárolás olyan, gálók piacát. Felmérései tanúsága szerint akkoriban még az NCSA az árcédula volt. (Ted Shelton) mint az evés. kiszolgálója vezetett óriási fölénnyel, 1999-re azonban ez a termék Takarékoskodhatsz végleg eltûnt a felmérésekbõl. Végre a nyílt forráskódnak hála, a cég rajta, de enned Az adatok tanúsága szerint világszerte az Apache a piacvezetõ fejlesztései nem halnak meg a céggel azért muszáj. webkiszolgáló, ugyanis 1996 óta e terméké a legnagyobb a piaci együtt. (Deirdre Saoirse) részesedés (tavaly meghaladta a hatvan százalékot). A Netcraft Colin Ferenbach, az A linuxos webkiszolgálókat mûködtetõknek jelentése szerint idén januárban azonban 1,29 százalékot veszített EMC tárolókkal lehetõségük nyílik-e arra, hogy építhesse- részesedésébõl az Apache. A Microsoft IIS 1,82 százalékkal erõsö- foglalkozó cég nek a .NET-re? Természetesen igen. Ez dött, a harmadik helyezett Sun Iplanet-kiszolgáló pedig 0,29 száza- jövõjérõl azonban nem azt jelenti, hogy a hosszú lékkal visszaesett. Az Apache és a Microsoft egyaránt növekedést távú terveink nem arról szólnak, hogy ezek mutatott (abszolút értékben). A Netcraft 16 207 982 tartomány a kiszolgálók is Windowst futtassanak, esetében talált Apache-t, és 5 903 512 esetben Microsoft-kiszol- de biztosítjuk a .NET használatának lehetõ- gálót. A Netcraft más fejleményekre is felhívja a figyelmünket. ségét. (Steve Ballmer) Elemzése alapján a Microsoft webkiszolgálópiacon mutatott viszonylagosan állandó részesedésével ellentétben az SSL-t alkal- Én nem tartozom azok közé, akik szerint mazó kiszolgálók körében állandó és töretlen növekedés tapasz- Bill Gates maga az ördög. Csupán az a talható, ide számíthatjuk már az Interneten titkosított tranzakciókat gyanúm, hogy ha a Microsoft összeállna bonyolító webhelyek 49 százalékát. Nem tagadható, hogy ebben az ördöggel, nem lenne szüksége artva nagy szerepet játszanak a Microsoft alkalmazásai, mivel nincs tolmácsra. (Nick Petreley) a Microsoft Commerce Servernek egyértelmûen megfeleltethetõ Az igazság és az õszinteség kifizetõdõ? Ha termék a unixos világban. az igazság és az igazság keresése között A Netcraft felmérése egyúttal fényt derít arra is, hogy a PHP-t kell választanom, az utóbbit választom. rendkívül gyors ütemben helyezik üzembe: világszerte több mint (Bernard Berenson) ötmillió Apache kiszolgálón található PHP-modul. Ez az Apache- rendszerek majdnem 40 százalékát jelenti. Igaz, hogy valójában Ha elárulod az igazat, nem kell semmire jóval kevesebb helyen használják a fent említett modult, de az sem emlékezned. (Mark Twain) t. Minden jog fennt általánosan elterjedt nézet szerint a PHP-t könnyebb programozni, Mindig az õszinteség a legjobb megoldás. mint a Perlt vagy a JSP-t, és feltûnõen rövid idõ alatt fejlesztõk Ha színlelni tudod, nyerõ vagy. széles rétegének tetszését nyerte meg. A PHP, a MySQL adatbázis- (George Burns) kiszolgálóval és az Apache webkiszolgálóval magától értetõdõ alkalmazásfejlesztési környezetet alkot, és a Microsoft A csukott száj nem kel szárnyra. IIS/ASP/SQL-kiszolgáló hármas méltó linuxos megfelelõje. (Simon Murcott) © Kiskapu Kf

10 Linuxvilág Láttuk-hallottuk

Szólásszabadság vagy ingyen sör

Mindjárt vágjunk is bele a közepébe. Az elsõ kérdésre a programozók abbéli hajlandósága, hogy a forrás- adott válaszok meglepõ eredményt hoztak. kódba belenyúlva egyéni Linux-változatokat hozzanak Miért akarnak a fejlesztõk nyílt forráskódú programot és létre. A fejlesztõk inkább a forráskód birtoklását Linuxot használni a beágyazott rendszerekben? értékelik, ez ugyanis lehetõvé teszi, hogy a szerzõi jog Azt hihetnénk, a kérdésre adott kézenfekvõ válasz: által védett operációs rendszerek szállítóinak „mert szabadon használható”. Nem így van! rabságából kiszabaduljanak. A forráskód birtoklása Mit értékel a legtöbbre a nyílt forráskódban? sokkal könnyebbé teszi azt is, hogy kitaláljuk, milyen A fejlesztõktõl itt azt kértük, hogy az alábbi lehetõségek folyamatok zajlanak a rendszer belsejében. Az „így közül válasszák ki az elsõ-, a másod- és a harmadrangú módosítani tudom a programot” vagy az „így ki tudom érvet a nyílt forrású programoknak a beágyazott javítani a hibákat” típusú választások tekintélyes alkalmazásokban történõ felhasználása mellett. számú szavazatot kaptak, de a dolgok áttekintõ

1. ábra A nyílt forráskóddal kapcsolatos fejlesztõi lekérdezés eredménye

• Így az operációs rendszeren belül közvetlenül tudom növelni a szol- gáltatásokat. • Ez még akkor is biztonságot jelent, ha soha sincs rá szükség. • Könnyebbé teszi az alkalmazás beállítását és a hibakeresést. • Lehetõvé teszi, hogy megértsem, mi zajlik az OS belsejében. • Megteremti a lehetõséget az OS hibáinak azonnali kijavítására. • Megszünteti az OS-kereskedõktõl

való függõséget. artva • Az együttmûködésen alapuló, nyílt forrású fejlesztési folyamat kiváló programot eredményez. • Nincs szükségem rá, nem akarok 2. ábra Érvek a Linux használata mellett beágyazott alkalmazásokban nyílt forráskódot. • Egyéb. Minden kiválasztott állítást aszerint súlyoztunk, hogy ábrájában ezek a sor végére kerültek. a legfontosabb (5 pont), a második legfontosabb Érdekes, hogy a sorrendben ez az állítás szerepel t. Minden jog fennt (3 pont), vagy a harmadik legfontosabb (1 pont) volt-e. elsõként: „Az együttmûködésen alapuló, nyílt forrású Ezután az eredményeket összeszedtük és úgy egységesí- fejlesztési folyamat kiváló programot eredményez.” tettük, hogy a legtöbb pontot elért állítás egyes értékkel Ebben az különösen jelentõs, hogy a levédett programok szerepeljen. Az eredmények az 1. ábrán láthatók. készítõi ügyviteli modelljeik alapvetõ módosítása nélkül Ezek az eredmények több tekintetben elgondolkod- ezt nem tudják utánozni, nagyon valószínûtlen lépés

tatók. Elõször is a felmérésben nem jut kifejezésre lenne a részükrõl. © Kiskapu Kf

www.linuxvilag.hu 2001. június–július 11 Láttuk-hallottuk

«

Tavaly a A Linux-rendszer szerzõi jogdíjat fizetni (58 százalék nem és csak 21 szá-  LinuxDevices.com választásának egyéb okai zalék igen). felmérést készített A felmérés során arra kérték a fejlesztõket, hogy Gyanítom, hogy ezeket az eredményeket néhány beágya- a fejlesztõkkel, hogy mondják meg, miért akarnak Linuxot használni a beá- zott Linuxot szállító és szolgáltató legalábbis „érdekes- megpróbálja megérteni, gyazott alkalmazásokban. A válaszadókat itt megkérték, nek” fogja találni! mi készteti õket a Linux nevezzék meg az összes indokot, melyeket fontosnak A beágyazott Linux piaci áttekintése a  használatára tartanak az alábbiak közül: www.linuxdevices.com/cgi-bin/survey/survey.cgi • a beágyazott Nem kell fizetni a futtatásért. webhelyen olvasható. • rendszerekben és A forráskód rendelkezésre az értelmes áll (szabad). • készülékekben. Nem a Microsofttól származik. • A Linuxnak kitûnõ a hálózati támogatása. • Több meghajtó és segédeszköz kapható. • Sok programozó ismeri a Linuxot. • A Linux összetett, illetve megbízható. • Egyéb. A 2. ábra mutatja az eredményeket. Szólásszabadság vagy ingyen sör 3. ábra Kedvezõ eredmény született! Az egyik különösen meglepõ tanulság az, hogy a beépített eszközök magától értetõdõ költségérzékenysége ellenére, a Linux szólásszabadsága avagy a „szabad beleszólás” szempontja (vagyis a forrás- kód rendelkezésre állása) lassan háttérbe szorította az ingyen sört (vagyis az ingyenes használatot), mint a Linux beágyazásánál figye- lembe veendõ elsõdleges szempontot. A költségkövetkezményekbe jobban belegondolva feltettünk artva néhány kérdést a kiadásokkal kapcsolatban is. 4. ábra A számok átbillentek az ellentétes oldalra Fizetne-e a linuxos fejlesztõi, Forrás: LinuxDevices.com áttekintés, 2000. december illetve támogatói szolgáltatásokért? Fizetne-e  http://www.linuxdevices.com/polls/ egységenkénti szerzõi jogdíjat? Az eredmények a 3. és 4. ábrán láthatók. Rick Lehrbaum (Megjegyzés: a második kérdést csak utóbb tettük ([email protected]) hozta létre hozzá, így az itt látható eredmények egy viszonylag a LinuxDevices.com „beágyazott t. Minden jog fennt kicsinek tekinthetõ adatmintán alapulnak.) Linuxok portálját”, amely nemrég Az eredményekbõl leszûrhetjük, hogy míg a beágyazott tagja lett a ZDNet Linux Resource programok fejlesztõi valóban készek arra, hogy pénzt Centernek. Rick 1979 óta foglakozik áldozzanak a külsõ szolgáltatásokra és a támogatásra, beágyazott rendszerek fejlesztésével. Társalapítója a Linux beágyazása esetén (68 százalék igent mondott az Ampro Computersnek, alapító tagja a PC/104 és csak 13 százalék nemet) a számok átbillentek az Consortiumnak, és fontos szerepet játszott abban, © Kiskapu Kf ellentétes oldalra, amikor a kérdés az volt, hajlandók-e hogy elindulhatott az Embedded Linux Consortium.

12 Linuxvilág Láttuk-hallottuk

OpenOffice és KDE: a Linux arca

Polló László urat, a Portocom Számítástechnikai Rész- a memória nagyteljesítményû – tehát gyors gépek –, vénytársaság igazgatóját kerestük meg, hogy a Linuxhoz ugyanakkor tároljunk mindent egy központi gépen. fûzõdõ kapcsolatáról faggassuk. Ez arra jó, hogy minden javítás, frissítés azonnal végre- Mészáros Ferenc: Úgy hírlik, hogy Önök gépeiket SuSE hajtódik az összes munkaállomáson, továbbá nagy Linux operációs rendszerrel forgalmazzák. sebességû 100 Mbit/mp-es ethernethálózattal összekö- Polló László: Kétféle számítógépet forgalmazunk, a Porto- töttük ezeket a gépeket, hogy be lehessen tölteni egy com azonban alapvetõen hordozható gépeirõl híres, jelen- boot-EPROM segítségével magát leg is ezek teszik ki forgalmunk 98-99 százalékát. Ha linu- az operációs rendszert is, így arra xos gépet kérnek tõlünk, akkor a SuSE Linuxot ajánljuk tetszõleges programokat lehet a hordozható gépekre, sajnos azonban nem túl sokat letölteni. Nagymértékben kihasz- adtunk el belõle. Készítettem errõl egy gyors kimutatást: náljuk a munkaállomások erõfor- negyven kelt el, ebbõl egy Mandrake-kel és 39 SuSE rásait, miközben a rendszergaz- Linuxszal. Azt azonban tudni kell, hogy a hordozható dák „álmát” valósítjuk meg azzal, gépeinken Linuxot futtatók száma azért lényegesen több, hogy mindent központilag tudunk mint ez a negyven. Az emberek ugyanis szeretik maguk felügyelni. föltelepíteni a saját Linux-rendszerüket. Akik jelenleg M. F.: Ez a megoldás mennyiben Linux-kedvelõk, azok általában nem olyanok, akik egysze- hasonlít a régi nagyszámítógépes rûen csak használják a számítógépet, hanem szakembe- rendszerekhez, ahol a központi rek, akik mélyen érdeklõdnek az operációs rendszerek géphez terminálokkal csatlakoz- iránt, ezért inkább maguk szeretik testre szabni azt. Becs- tak a felhasználók? lésem szerint egyébként az eladott 15 ezer gépbõl több P. L . : A terminálok csak a meg- száz – azaz nagyjából két-három százalék – üzemel Linux jelenítésre szolgáló eszközök alatt. Jelenleg talán az a legjobb hír, hogy mûködnek! voltak, a jelenlegi munkaállomá- M. F.: A Linux egyre inkább kezd elõtérbe kerülni több sok programok futtatására is felületen is. Az Önök által forgalmazott egyedi kártyákhoz alkalmasak, és ezeket a központi tudnak-e linuxos meghajtókat biztosítani? géphez kapcsoljuk. P. L . : Jelenleg a kártyagyártók elég ritkán adnak linuxos A régi hálózatokban elõször volt meghajtókat, leggyakrabban Microsoft-meghajtókat a terminál, amely csak karakterek mellékelnek. Ugyanakkor kártyáink – miután mi Tajvanról és képpontok megjelenítésére volt alkalmas, aztán vásárolunk – olyan lapkakészletekre épülnek, amelyek késõbb jött az X-terminál, ez már grafikus felületek általánosan használatosak a világ összes részén, ebbõl használatára is alkalmas volt. A mostani megoldás jóval kifolyólag minden gond nélkül futtathatók a legváltoza- többet tud elõdeinél, mert processzorral és memóriával tosabb linuxos környezetekben is. Tehát ilyen típusú rendelkezõ gép, így programok futtatását is lehetõvé összeférhetetlenségi hibákkal eddig még nem kellett teszi, ezáltal tehermentesíti a központi kiszolgálót. megküzdenünk. Ebben az elgondolásban már a beruházási költségeket M. F.: Akkor a forgalmazóik, eladóik meg tudják mondani, is mérsékelni lehetett. Bár a munkaállomásból legfeljebb hogy melyik az a kártya, amelyik megbízhatóan mûködik egy merevlemezt tudtunk kihagyni, ami nem olyan nagy Linux alatt is? megtakarítás. Ezzel szemben az operációs rendszeren P. L . : Jelenleg ilyen vizsgálatokat nem végzünk, ugyanis nagyon sokat nyertünk, hiszen szabad Linux-változatokat nincs rá számottevõ igény – a kereslet egyelõre még nem használtunk, illetve nagyon olcsó kiszolgálóhoz való indokolja, hogy fejlesztõmérnökeink ezzel foglalkozzanak. Linux-változattal is el tudtunk indulni. A munkaállomá- Természetesen nagyobb megrendelés esetén megtesszük, sokra gyakorlatilag csak a Linux-rendszermag került föl

ilyen volt például Portonet-rendszerünk kiépítése, mely – ez ugyanis szabad felhasználású –, és erre telepítettük artva asztali PC-kbõl áll; és saját magunk fejlesztettünk hozzá a StarOffice-t, illetve az OpenOffice-t. Az elején még az programokat, sõt meghajtókat is beszereztünk, illetve 5.1B-vel indultunk, majd az 5.2-es StarOffice-szal folytat- megfelelõségi vizsgálatokat is végeztünk. Egyik fejlesztõ- tuk. Az OpenOffice-nak jelenleg is zajlik a magyarítása, mérnökünk kimondottan ilyen típusú kérdésekkel foglal- ezért még nem használjuk. A StarOffice nagyon olcsó kozik. Meglévõ kártyáink – ezek a szokásos faxmodem-, rendszer és az irodai feladatokat önmagában is képes ethernetkártyák – gond nélkül mûködnek linuxos környe- ellátni: a szövegszerkesztést, a táblázatkezelést, a rajzo- zetben, tehát nem kellett ezzel még külön foglalkoznunk. lást, a webböngészést, a különleges matematikai kép- M. F.: Több munkagépet tartalmazó hálózatra egyéni letszerkesztést, az adatbázis-kezelést, és még ki tudja t. Minden jog fennt megoldásuk van. hány szolgáltatással bír – tehát a StarOffice rendkívül P. L . : A Portonet hálózati számítógéprendszer létrehozása széles körben használható irodai csomag. Tudjuk, hogy során az alapgondolatunk az volt, hogy nagyon olcsó a programcsomag úgy keletkezett, hogy a Sun megvá- és mégis jól üzemeltethetõ irodai környezetet készítünk sárolta a német StarDivision céget (a StarOffice fejlesz- Linux alá. Mi a következõ megoldást választottuk: legye- tõjét), és hogy borsot törjön a Microsoft orra alá,

nek olyan munkaállomások, amelyekben a processzor, szabaddá tette a programot. Én úgy gondoltam, hogy © Kiskapu Kf

www.linuxvilag.hu 2001. június–július 13 Láttuk-hallottuk

« artva a Portonet a Linuxszal és a StarOffice-szal hazánkban hiszen egyre többen félnek a Microsoft termékeinek jó megoldás lesz, pontosan azért, mert a tõkeszegény, törvénytelen használatától. Így lehetõségük lesz megke- induló vadkeleti kapitalizmusban dolgozó ország számára rülni a gondot szabadon használható programmal. kitörést jelenthet. Majd egy évig erõltettük ezt a rend- P. L . : Nem egyszerû folyamat! Azért hadd mondjam el, szert, de sajnos nem könyvelhettünk el igazi sikereket. hogy nálunk, ahol negyvenen vagyunk, és mindenkinek M. F.: A StarOffice-ról megjelentettek egy könyvet is, van számítógépe, négy munkaállomáson nem tudtuk egy- amit a cég munkatársai írtak. Kérem, nagy vonalakban szerûen „kiirtani” a Microsoft Office-t, ezeken meg kellett ismertesse olvasóinkkal. hagyni törvényes felhasználási szerzõdésekkel, és mind- t. Minden jog fennt P. L . : Megjelentettük a StarOffice kezelési kézikönyvet össze 36 állomásra tudtuk csak a StarOffice-t telepíteni. is, mely önmagában sikeressé vált. Már a második M. F.: Ez azért nem rossz arány! utánnyomás is fogyóban van, és hamarosan jön a har- P. L . : Azért váltottunk, mert kiszámoltuk, hogyha madik kiadás. A sikerre való tekintettel a StarOffice negyven munkaállomásra telepítjük a Microsoft Office-t alapkézikönyvhöz most a haladók számára is megjelen- – akár még egy korábbi, olcsóbb változatát –, az is több

© Kiskapu Kf tetünk egy kézikönyvet. Mindkettõt Kenczler Mihály írta. mint négymillió forintba kerülne a cég számára; a jelen- Ha a StarOffice-nak – OpenOffice-nak – elkészül a legi, legújabb változatok pedig még ennél is lényegesen magyarítása, a kézikönyv már nem lesz annyira fontos, drágábbak lennének. Úgy döntöttünk, hogy amilyen hiszen az elsõ kötet azt a felhasználói réteget célozta mértékben csak lehet, mérsékeljük az ezzel kapcsolatos meg, akik nem tudnak annyira angolul (gyakorlatilag kiadásainkat. Ugyanakkor a cégnél mûködõ belsõ rend- a feliratok fordítását tartalmazta). szer csak Microsoft-elõtéttel rendelkezik, tehát nálunk Már elkészült a második kézikönyv – egyelõre még csak – a munkaállomásokon nincs Linux. Kényszerbõl Microsoft nyomdai elõkészítés elõtti változata. A fõbb fejezetcímek: operációs rendszereket alkalmazunk, mert a Dataflex Fejlett dokumentumkezelés, Sceduler – feladatütemezé- fejlesztõeszköznek, amit a saját programjaink fejlesztõi sek, Grafikák a StarOffice-ban, Internetkezelés – leve- használnak, jelenleg még nincs Linux alatt futtatható lezés, böngészés, Adatkezelés, Programozás – hiszen ügyfélváltozata. És addig, amíg nincs ilyen, a cégen belül a StarOffice-nak saját, önálló programozási nyelve van. nem tudunk teljes körûen áttérni. M. F.: A StarOffice lefedi a Linux alatt azokat a lehetõsé- M. F.: Ez akár felhívás is lehetne vállalkozó szellemû linu- geket, amelyeket leginkább a Microsoft ural a Windows xos fejlesztõk számára, ha szabad lenne a Dataflex is! alatt, azaz az irodai felhasználás piaci területét? P. L . : A Dataflex nagyon hatékony fejlesztõkörnyezet, P. L . : Még egy dologról szót kell ejteni a Linuxszal magam is éveken keresztül dolgoztam benne, ezért is kapcsolatban. A Windows hazánkban akkor vált igazán választottam ezt. Azt gondolom, hogy az összes igazán sikeressé, amikor a Microsoft – igen korán – magyarí- komoly fejlesztõkörnyezet ugyanazzal a gonddal küsz- totta irodai programcsomagját, az MS Office for ködik. Az elmúlt 15-20 év alatt fejlõdtek ki a Microsoft Windowst. Azt gondolom, hogy ma hazánkban azért van világában, és történik ugyan némi vándorlás a Linux a Microsoftnak ekkora (megközelítõleg 99%-os) piaci irányába, de az elsõ lépések mindig a kiszolgálók felé részesedése ezen a területen, mert ezt elsõként meg- történnek. A Dataflex alkalmazásfejlesztõ környezetnek lépte, jól tette, és így nem véletlenül érte el ezt a része- is létezik Linux alatt futtatható változata, az úgynevezett sedést. Természetes, hogy a Linux a jelenlegi nagyjából runtime-on futtatható változatok. Ezek vagy buta termi- egy-két százalékos piaci részesedésérõl csak úgy léphet nálokhoz, vagy Linuxot futtató gépekhez készültek, de elõre, hogyha ugyanezt a lépést megteszi. Mi tavaly már nincsen olyan szép grafikus felületük, mint ami a Microsoft megtettük az elsõ lépést: a KDE-nek (az egyik legkedvel- Windowshoz tartozik. Ez elsõsorban a Windows rendkí- tebb kezelõi felület) elkészítettük a profi fordítását, és vül jelentõs piaci részesedésére vezethetõ vissza. Addig, ehhez szintén megjelentettünk egy kézikönyvet KDE – amíg a Linux igazán meg nem erõsödik, addig nem is a Linux arca címmel. Így a felület legalább „magyarul fogják elvégezni ezt a munkát, így ez „róka fogta csuka, beszél”. A StarOffice-t sajnos nem tudtuk magyarítani, csuka fogta róka” helyzet. Meg kell erõsödnie a Linuxnak. erre ugyanis nem volt energiánk. Azóta természetesen Még egy saját tapasztalattal egészíteném ki a képet: a KDE is továbblépett, és már nem mi fordítjuk, ezt a cégünknél természetesen van linuxos gép – a webki- szintén állami segítséggel fogja egy másik cég megtenni. szolgálónk  http://www.portocom.hu. Mostantól kezdve a KDE, illetve az OpenOffice magyarul M. F.: Itt bizonyíthatta megbízhatóságát a Linux! fog beszélni, így a Linux-OpenOffice együttesnek meg- P. L . : A NetWare nálunk hálózati kiszolgálóként üzemel, szûnik a nyelvi korlátok miatt kialakult versenyhátránya tehát fájl-, illetve nyomtatókiszolgáló egyben, és amikor a Microsofttal szemben. Itthon – tudomásul kell venni – telepítettük a webkiszolgáló alkalmazást is, bizonyta- a lakosság nagyon kis százaléka beszél idegen nyelvet, lanná vált a mûködése. Ezért két külön gépre osztottuk és abban is bizonytalan, amit ismer, tehát a fordításra szét a feladatokat, és azóta Linux alatt fut a hálózatke- nagy az igény. zelés, illetve meghagytuk a fájl- és nyomtató-kiszolgálást M. F.: Abban, hogy a Linux és párhuzamosan az a NetWare-nek. OpenOffice elõnyre tegyen szert a Windowshoz képest, M. F.: Szeretném, ha bemutatná olvasóinknak a Porto- nagymértékben közremûködik a szoftverrendõrség is, com kiszolgálóját.

14 Linuxvilág Láttuk-hallottuk

« artva P. L . : Beindítottuk a Portonet-rendszert, amihez egy rádiók és a nagy csöves világvevõ rádiók között történt: kiszolgáló, illetve ügyfél-munkaállomások tartoztak. elõbb-utóbb a „tranzisztoros rádiók” kerekednek az A Portocom kiszolgálóra eddig csekély igény mutatko- asztali PC-k fölé. De ahogy ez a folyamat a rádióknál is zott, úgyhogy egyelõre felfüggesztettük a gyártását. igénybe vett néhány évtizedet, úgy a számítógépeknél A Portonet ügyfelet változatlanul áruljuk, ez egy jópofa is hasonlóra számíthatunk. A hordozható gépek már kinézetû gép, mindenféle Linux meghajtó tartozik hozzá, 13 éve piacon vannak… természetesen az összes alkatrész mûködik Linux alatt. Visszatérve a Linuxhoz, azt gondolom, hogy meg kellene

A kiszolgálót változatlanul elõ tudnánk állítani, de nem õrizni a Linux Közösségnek azt a családias, baráti hangu- t. Minden jog fennt vagyunk igazán versenyképesek, tudniillik egyre több latát, amit a fejlesztõk egymás között kialakítottak. cég áll rá a Linuxra profi módon, számukra ez a fõ irány- Jó volna, ha ez a terület nem válna annyira a verseny vonal. Nem úgy, mint nálunk, hiszen ez számunkra területévé, mint a számítástechnika sok más része. csupán kiegészítés a hordozható gépek üzletága mellett. A világnak egy olyan különleges közösségérõl van szó M. F.: Gépeik processzorai Intel Celeron 667 MHz-tõl, – fejlesztõkrõl és használókról egyaránt –, akiknek nagy

illetve Pentium III 733 MHz-tõl kezdve választhatók. része önzetlenül, ingyen végzi a munkáját. Talán ennek © Kiskapu Kf Melyik a legkedveltebb gépük? az egész internetes világnak ez az egyik legfontosabb P. L . : A FreeStar a legolcsóbb. Itthon általában az a jel- üzenete. Valami olyan újfajta emberi közösségszervezést lemzõ, hogy mindig a legolcsóbb a legkelendõbb, ez tesz lehetõvé, ami világméretekben hat, és amire koráb- nyilván összefügg azzal, hogy az embereknek mennyi ban még nem volt példa. Ezt meglepetéssel fogadták pénzük jut erre az eszközre. A FreeStarból most tartot- más nagy programfejlesztõk. Nem gondolták volna, tunk egy akciót, behozattunk kétszázat és már az akció hogy sikerülhet. meghirdetésének második napján elfogyott az összes. M. F.: Mit jósol a Linux világának? Amikor rendes áron kínáljuk, akkor kiegyensúlyozottabb Ha ez a hangulat megmarad, ha a kezdõ, egyszerû fel- a forgalom. A hordozható gépek honi piacára jellemzõ, használói kérdésre továbbra sem gúnyos megjegyzések hogy a gépek nyolcvan százaléka alacsony kategóriás, érkeznek vagy a hivatalos álláspont – hogy menjenek míg tíz-tíz százaléka középkategóriás és csúcsgép. ehhez és ehhez a céghez, ahol ennyi és ennyi forintért A Portocom egyébként inkább a közép- és felsõkategó- meg fogják kapni a megfelelõen vizsgázott szakmérnöktõl riában igazán versenyképes. Típusválasztékunk fele a megfelelõ választ, hanem megmarad egymás önzetlen alacsony-, 25-25 százaléka középkategóriás és csúcs- segítése, akkor a Linuxot semmi sem tudja megállítani. gép, ezenkívül egyedi katonai kiviteleket is forgalmazunk. A világ nyilván abba az irányba halad, hogy 1/3- 1/3- 1/3 Mészáros Ferenc arányban fogy majd e három kategória. A Föld más tájain ([email protected]) a hordozható gépek értékesítésének kilencven százalékát programozómatematikusként több meghatározó három területen – a Távol-Keleten, Észak- cégnél gépközeli programozással Amerikában, illetve Nyugat-Európában ez a jellemzõ. foglalkozott, jelenleg a Linuxvilág A hordozható gépek a technika csúcsteljesítményét kép- munkatársaként dolgozik. Szereti viselik, a pici kubatúrába mindent belezsúfoltak. A folya- a társaságot, a táncot; lányával szívesen vitorlázik, mat hasonlóképpen zajlik, mint régen a kis tranzisztoros lovagol és kirándul.

III. GNU/Linux Szakmai Konferencia

A Linux-felhasználók Magyaror- Az érdeklõdõk a következõ témakörökben szági Egyesülete 2001. szep- hallgathatnak elõadásokat: tember 15-én (szombaton) tartja – GNU/Linux-rendszerfelügyelet, III. szakmai tanácskozását a – biztonság, Közép-Európai Egyetem (CEU) – programozás GNU/Linux-rendszereken, Konferencia Központjában, neves – multimédia és grafika, elõadók részvételével. A rendezvény – magyarítás, díszvendége Richard M. Stallmann – GNU/Linux a cégeknél. (USA), a szabad programok guruja, A tanácskozás napján a helyszínen sajtótájékoz- a GNU atyja és a Free Software tatót is tartunk Richard M. Stallmann részvé- Foundation alapítója. telével, ezért a szakújságírókat is szeretettel várjuk. A tanácskozás területén kiállítás és vásár is Elõzetes bejelentkezést a helyet kap. A központi témák a szabad forráskódú  [email protected] címen fogadunk. programok, valamint a GNU/Linux lesz. Minden érdeklõdõt szeretettel várunk!

www.linuxvilag.hu 2001. június–július 15 Láttuk-hallottuk

Nyomtatáspróba Brother HL-1670N nyomtatóval

A különféle eszközök Linux alatti kipró- szüksége lehet. A nyomtató beállításához a CUPS bálása, életre keltése mindig is kihívást (Common UNIX Printing System  http://www.cups.org) jelentett a velük foglalkozó emberek nyomtató meghajtóit használtuk. Ennek segítségével számára. Mivel az alkatrészekhez, esz- könnyedén szóra bírtuk, párhuzamos és USB kapun közökhöz általában nem mellékelnek keresztül is, sajnos azonban a windowsos ügyfélgépeknek linuxos meghajtóprogramot, életre lehe- nem sikerült Sambán keresztül nyomtatniuk, valószínûleg lésük sokkal összetettebb feladat. a windowsos és a linuxos meghajtók összeférhetetlen- Szerkesztõségünkben most egy Brother sége miatt. Viszont amikor a hálózati illesztõn keresztül HL-1670N-es nyomtatóval próbálkozhat- kötöttük be, minden ügyfél tökéletesen tudott nyomtatni. tunk meg. Már kinézetre is nagyon Teljesítménye és adatai magukért beszélnek: komoly nyomtatónak látszik, kezelõfelü- • 16 lap/perc nyomtatási sebesség, lete egyszerû, emellett minden szolgálta- • 1200 DPI felbontás (a szürkeárnyalatos képek tása gyorsan elérhetõ. Az LCD kijelzõ is élvezhetõ minõségben jelentek meg), három színének köszönhetõen könnye- • párhuzamos, USB-s és ethernetcsatlakozási lehetõség, dén nyomon követhetjük a nyomtató • beépített kétoldalas nyomtatási lehetõség, állapotát is. A beépített biztonsági nyom- • 16–144 MB-ig bõvíthetõ memória, tatásnak köszönhetõen csak akkor nyom- • beépített webkiszolgálón keresztül minden operációs tatja ki az általunk titkosként megjelölt rendszerbõl kezelhetjük a nyomtatót. dokumentumokat, ha megadtuk a meg- Adatok felelõ jelszót. Ha a nyomtató hiba miatt Brother Hungary leáll (papírelakadás, festékkifogyás), telefon: 06-1-382-74-53 levélben értesíti a felhasználók megadott e-mail: [email protected] csoportját. Ez a nyomtató minden olyan tulajdonsággal  www.brother.hu rendelkezik, amire egy kis- és közepes méretû irodának Csontos Gyula

Szemet póbáló próba

A BaSys Magyarország Kft. jóvoltából az egyik hagyo- álló a karcolásokkal és egyéb sérülésekkel szemben. mányos CRT monitor egy hét szabadságot kapott szer- Ha valakinek a pénztárcája megengedi, mindenképpen kesztõségünkben. Helyét a Neovo cég 17 hüvelykes érdemes megismerkednie ezzel a monitorcsaláddal! TFT aktív mátrix monitora foglalta el. (Rendszergazdáknak ajánljuk az alábbi szöveget: „Fõnök, Szokatlanul kis helyigényének és értse meg, szükségünk van lapos monitorra, hiszen a „tûéles” képének köszönhetõen azonnal gépteremben olyan kevés a hely, és nagy monitor kell, belopta magát mindenki szívébe. mivel olyan sok gépet kell egyszerre felügyelni…”) Az ajánlott felbontás az 1280x1024 • Felbontás: 1280x1024, képpont 60 Hz frissítéssel, ez azonban • analóg, digitális és videobemenetek találhatók ne tévesszen meg senkit, mivel az LCD a készülék hátoldalán, monitorok nem a szokásos módon • 16,7 millió szín kezelésére képes, frissítik a képet, ezért nem is villognak, • könnyen falra szerelhetõ, ellentétben a hagyományos CRT moni- • energiagazdálkodása megfelel az EPA, a NUTEK

artva torokkal (ezeknél minél gyorsabb a és a VESA DPMS elõírásoknak, képfrissítés, annál kevésbé károsítják • mérete 436x426x200 mm, villogásukkal az emberi szemet). • tömege: 7,5 kg. A látható felület mérete megfelel egy Adatok 19 hüvelykes monitorénak. Az önmûködõ képernyõbeál- BaSys Magyarország Kft. lítás minden VGA kártyával kiválóan mûködött, pár telefon: 06-23-415-541 másodperces várakozás után a teljes hasznos felületet e-mail: [email protected] betöltõ éles képet kaptunk. Áttekinthetõ és könnyen  www.basys.hu kezelhetõ menürendszerének köszönhetõen a különbözõ t. Minden jog fennt egyéni beállítások – mint például a színhõmérséklet Csontos Gyula kiválasztása – sem jelentettek gondot. A család tagjai ([email protected]), között találhatók 15, 17 és 18 hüvelykes képernyõk, akár a Linuxvilág hír- és CD-szerkesztõje, érintésérzékeny felülettel. A különleges képernyõbevo- valamint a www.linuxvilag.hu natnak köszönhetõen tükrözõdésmentes felületen dolgoz- tartalomfelelõse.

© Kiskapu Kf hatunk. A képernyõ üvegfelülete pedig különösen ellen-

16 Linuxvilág Láttuk-hallottuk

3Com – a hálók tetején

Júniusban sajtótájékoztatót tartott a 3Com Hungary Kft. elindult a 3Com university program is, amely partnereink a dunai Fortuna állóhajón. Négy új termék kapcsán ren- és felhasználóink tudását és 3Com jártasságát hivatott deztek bemutatót: három kapcsolóelosztó és egy hálózat- növelni. Jelenleg hazánkban felügyelõ programmal ismerkedhettünk meg. Lehner 55-en szerezték meg a Certifyed Tamás ügyvezetõ igazgató bevezetõjébõl megtudtuk, Solution Associated vizsgát hogy a 3Com cég a megelõzõ negyedévihez képest világ- (a 3Com kereskedelmi szintû viszonylatban 15 százalékos növekedést könyvelhetett vizsgája) a Weben keresztül. Ezen- el dollárban. Mindezt annak ellenére, hogy beszüntették kívül tervezzük még egy mód- a soros vonali útválasztók gyártását, így mintegy húsz szertani vizsga bevezetését is. százalékkal szûkítették termékkínálatukat, valamint az A teljesség igénye nélkül hadd év folyamán csaknem harminc százalékos árcsökkenést említsek néhány sikeres hazai vezettek be. Így is 110 százalékkal növelték az eladott telepítést. Ilyen volt az Országos kapuk számát! „A 3Com módosította partnerválasztását, Nyugdíjfolyósító Intézetben kiépí- jobban figyel a felhasználói igényekre, és ennek megfe- tett hálózat, amelyet a Conet Kft. lelõen alakítja át termékkínálatát, illetve változtatja a ter- valósított meg 100-150 végpont mékek árát is” – mondta az ügyvezetõ. „Ha egy termék kialakításával. A Synergon Rt. az jó, még nem jelenti azt, hogy csillagászati összegeket Antenna Hungária Rt. új épületé- kell kifizetni érte. Mivel Magyarországon is befejezõdtek ben sikeresen megoldotta a telj- azok a zöldmezõs beruházások, amelyek támogatásával es hálózat telepítését, gigabites Lehrner Tamás a 3Com kialakították a hálózati háttérrendszert, most már min- sebességû gerinccel, valamint 3300-as eszközökkel. ügyvezetõ igazgatója denkinek van valamilyen létezõ hálózata, amire fejlesz- A Data Contact Kft. a Magyar Könyvklub számára teni szeretne. Trade-up nevû programunk partnereink és épített ki hálózatot. A Deffend Kft. pedig egy pályázaton ügyfeleink számára biztosítja annak kiszámolását, hogy nyert, ennek értelmében a nyáron 600 végponttal, hiba- a már meglévõ hálózati eszközeik beszámításával az új tûrõ hálózati szerkezettel, aktív eszközökkel valósítja eszközök árából hány százaléknyi kedvezményt adunk meg a PSZÁF épületében a hálózatot. Tavaly volt egy vásárlóinknak. Ez a kedvezmény nemcsak a 3Com termé- bírósági pályázat, amit az AlbaComp nyert meg, így a kekre, hanem bármely mûködõ eszközre vonatkozik. Part- megyei bíróságok hálózatba kötését is 3Com eszközökkel nereinket ellátjuk mintaprogrammal, hogy ennek alapján valósítják meg. A VPOP (Vám és Pénzügyõrség Országos e szolgáltatásunkat jobban megismerhessék. Emellett Parancsnoksága) új határátkelõhelyeit is mi láttuk el

Készüléktípusok/ SuperStack SuperStack SuperStack SuperStack Tulajdonságok 3 Switch 3 Switch 3 Switch 3 Switch 4005 4900 4400 4300 4005

gazdag szolgáltatások + + + + drótsebesség + + + + toronyba építhetõ (darab) - 8 -- felügyelt + + + + 10/100 Mb/mp sebességû kapu - 24 fix 48 fix max. 96 1000 Mb/mp kapu (darab) 12 fix* + 0-4 0-2 0-4 max. 12 rétegtámogatás L3 L4** L2 L2-4

3Com NBX támogatás + + + + artva átviteli sebesség (Mp/mp) 47 6,6 13 18 sávszélesség (Gb/mp) 32*** 16 34 48 modulok száma 12 / 4 2/16 2 12 TX10/100 kapuk száma max. - 24 fix/192**** 48 fix 96 FX kapuk száma max. - 2 4 96 T kapuk száma max. 4 2 4 12 SX kapuk száma max. 4 2 4 12

LX kapuk száma max. 4 2 2 - t. Minden jog fennt GBIC kapuk száma max. 4 -- 12 listaár 4995 dollár 1750 dollár 2995 dollár 9995 dollár*****

* 100/1000 Mb/mp kapu, ** Toronyba építhetõ, *** 16 Gb/mp teljesen kétirányú, **** Teljesen kétirányú, ***** 40 kapu TX alapkiépítésben © Kiskapu Kf

www.linuxvilag.hu 2001. június–július 17 Láttuk-hallottuk

« artva eszközökkel. Az Országos Állategészségügyi Információs új részleget állított csatasorba a 3Com: a BCC- és Rendszer a keretén belül a Megyei Állategészségügyi a BNC- részlegeket. A BCC a Business Connectivity Központokat kötjük össze a ComNetwork Rt. segítségé- Company rövidítése, ez a részleg készíti a hálózati vel, webalapú telefonrendszerrel, ez országosan csatlakozókat (Network Interface Connector – NIC), a PC-kártyákat és PCMCIA-kártyákat, valamint minden olyan eszközt, amelyek PC-oldalról 3Com Network Supervisor Version 3 biztosítják a hálózathoz való kapcsolódást. Míg

t. Minden jog fennt a BNC-részleg (Business Networks Company) A 3Com Network Supervisor Version 3 nagy hatékonyságú és könnyen használható felel a hálózati eszközökért, a hálózati kapcso- alkalmazás: lehetõvé teszi a hálózat felfedezését, valamint a topológia és a terhelés lókért, a belsõ hálózatok telefonos és vezeték- figyelését. Továbbá megkönnyíti a hálózat rendszerbe állítását és csúcsteljesítményen nélküli eszközeiért. A CommWorks a szolgál- való üzemeltetését is. tató piacot célozza meg, számukra biztosít hálózati megoldásokat. Egyszerû használat és felügyelet © Kiskapu Kf „Cégünk nem adta el gyárait, a létszámleépí- A program önmûködõen felfedezi a hálózati kapcsolatokat és az IP-eszközöket, azaz tés háromezer embert érintett, így a cégen a hálózati eszközöket, a munkaállomásokat és a kiszolgálókat. Felismeri a hibásan belül tudtuk megoldani a piac által kikény- beállított eszközöket és optimalizálási lehetõségeket kínál fel. A hálózat felfedezése után szerített változtatásokat. (A Cisco például két önmûködõen feltérképezi annak szerkezetét, és grafikusan ábrázolja az eszközöket és lépésben 35 százalékos munkaerõ-leépítést kapcsolatokat. A térkép segítségével a hálózatfelügyelõ könnyen figyelheti a hálózaton hajtott végre, míg az IT-piaci visszaesés lévõ terhelést; küszöbértékeket és riasztásokat állíthat be, láthatja a hálózat eseményeit, következtében mostanáig több mint 409 ezer saját maga tervezte formátumban kimutatásokat készíthet, és készülékkonfiguráló az elbocsátottak száma.) A 3Com célul tûzte eszközöket indíthat el. ki a helyi hálózatok piacán az elsõség meg- Könnyebben telepíthetõ az intelligens hálózat szerzését, efelé jó úton halad. Erre utalnak A 3Com Network Supervisor segítségével egyszerûbb beállítani a SuperStack 3 Switch pénzügyi kimutatásaink is: a 3Com piacvezetõ 4400 egész hálózatra érvényes forgalom-rangsorolását. A Felhasználó Varázsló segítsé- a rézalapú gigabites kapcsolók tekintetében, gével azonosíthatja a kulcsfontosságú hálózati alkalmazásokat és kiszolgálókat. A 3Com 35,7 százalékos részesedést tud a magáénak NBX telefóniarendszerek beszédforgalma önmûködõen elsõbbséget kap. az eladott kapuk számának tükrében. Piac- vezetõ a hálózati telefonrendszerek területén Intelligens eseménykezelés 74 százalékkal, és szintén elsõ a hálózati A 3Com Network Supervisor figyeli a hálózaton fellépõ szokatlan eseményeket és naplózza csatlakozók és a PC-kártyák piacán 48 száza- a hálózat fontos tevékenységeit. Az események szûrhetõk, annotálhatók, csoportosítha- lékos részaránnyal. Itt jegyezném meg, hogy tók és rendezhetõk. Az intelligens eseményfigyelõ motor az ismétlõdõ eseményeket több mint kétezer könyvecskét küldtünk szét bezárható csomópontokba gyûjti, összeveti az összefüggõ eseményeket és önmûködõen az országban cégvezetõk, vállalatigazgatók kiszûri a kevésbé fontosakat. Bármely hálózati eseményhez rendelhetõ riasztás is, így a számára a belsõ hálózatokban használható felhasználó elõre figyelmeztethetõ a hálózat lehetséges hibáira. A riasztások eljuttathatók telefonrendszerek ismertetése céljából. Ked- elektronikus üzenetben, érkezhetnek hangjelzésként vagy beugró üzenetablakkal, vagy vezõ volt a válasz, hiszen érdeklõdnek, beru- pedig elindíthatnak egy külsõ alkalmazást, illetve parancsfájlt (script). Az SMS-üzenetet házásokat terveznek, csöng a telefon, és tán és a személyhívó használatát is támogatja. a belsõ hálózatok telefonpiaca is megindulhat Frissítés egyetlen kattintással hazánkban.” A 3Com Network Supervisor egyetlen kattintással csatlakoztatható a 3Com webhelyére, Majd Lehner Tamás szakmai vezetõ vette ahonnan letöltheti a legújabb változatokat és az új berendezéseket támogató programo- vissza a szót, hogy bemutassa a Piranha kat. Így a 3Com Network Supervisor folyamatosan frissíthetõ. A javítócsomagok és más termékcsaládot, mely négy új elembõl áll. frissítések letöltését egyszerû kezelõfelület segíti. Közülük három hálózati kapcsoló, a negyedik pedig hálózatfelügyelõ program, amelyet A 3Com Network Supervisor (korábbi nevén Transcend Network Supervisor) elérhetõ a a kisebb cégek is szabadon használhatnak,  http://www.3com.com/tns címen, és a minden 3Com termékkel együtt szállított CD-k mivel közzétették honlapjukon a is tartalmazzák majd.  http://www.3com.com/tns címen (lásd még keretes írásunkat!). E program érdekessége, hogy a felhasználók igényeire való tekintettel 25 telefonközpontot és 650 telefonállomást jelent. A te- nem csak a 3Com termékek felügyelete kapott helyet a lephelyek között ISDN- és analóg vonalak teremtik meg programban. Ilyenek például a Cisco-útválasztók, ezek a kapcsolatot, míg a telefonálás VoIP-n (Voice over IP igen elterjedtek és a 3Com új Network Supervisor – beszédátvitel IP-protokollon) valósul meg, amire Version 3 programja alatt is felügyelhetõk. a 3Com NBX telefonközpontját választották ki.” A 3300-as sorozat – mely toronyba építhetõ (stackable) Majd Szabó Gábor vette át a szót, aki idén június elseje 10/100-as eszközcsalád volt – kiváltására jelent meg óta a 3Com kelet-európai marketingigazgatója. Tõle a SuperStack 3 Switch 4400-as család, amely szintén tudtuk meg, hogy a már meglévõ CommWorksön túl két toronyba építhetõ. Két fõ különbség van közöttük: az

18 Linuxvilág Láttuk-hallottuk

« artva egyik az, hogy nagyobb lett a gyûjtõsín (back-plane) tartoznak – egy esetleges meghibásodást követõ minél teherbírása; az elõbbi 3,3 millió csomag/másodpercrõl kisebb üzemidõkiesés eléréséhez. Ez hármas réteg 6,6 millióra változott, így teljes mértékben drótsebességû képességû, tehát a hálózatok központjában alkalmazható (wirespeed), gátolatlan (non-blocking), késleltetés nélküli eszköz. Teljes kiépítésében 12 gigabites kaput, vagy csomagtovábbításra alkalmas eszköz. Továbbá nõtt a 80 (96) 10/100-as, illetve százas ethernetkaput tud a tornyozhatósága is, négy helyett nyolc egységet lehet hálózatban kezelni. Mindezt fele annyiért (tízezer dollár összekapcsolni, amivel az egy toronyba helyezhetõ kapu- alatt) kínálja a 3Com, mint a vetélytársai. Teljesítményben

szám százról kétszázra növekedett. Sokat beszélünk 18 millió csomag/másodperc átviteli sebességet tud t. Minden jog fennt mostanában a QoS-rõl (Quality of Service – Biztosított – mindezt hármas réteg képessége mellett, drótsebességen. minõségû szolgáltatás), a 4400-as család négyes rétegû A 3Com élettartam-jótállást vállal mindhárom hálózati (4layer), amely alkalmazásszinten már a csomagok szû- kapcsolóra, ami annyit jelent, hogy a készüléktípus a résére, rangsorolására és forgalomirányítására is képes. forgalomból való kikerülését követõ öt évig teljes körû Például meghatározható, hogy torlódás esetén a beszéd- szavatosságot vállal, és azt követõen még szállít alkat-

alapú VoIP-csomagok elõnyt élvezzenek a nem ilyen részt a készülékhez. A piaci folyamatok alapján úgy © Kiskapu Kf elsõbbségû csomagokkal szemben, vagy egy pénzügyi gondoljuk a 3Comnál, hogy érdemes alacsony áron adni központban az SAP-forgalom elõnyben részesíthetõ az eszközöket, hiszen két éve még a 3300-as került a HTTP-forgalommal szemben. Ebbõl következik, hogy háromezer dollárba, ma 1700 dollár a listaára, ami alig fontossági sorrend alakítható ki a csomagok között. valamivel több, mint a fele az akkorinak. A 3Com a base- Sõt, csomagok háttérbe is szoríthatók, mindössze azt line-osztályt szorítja valamivel lejjebb az által, hogy a kell engedélyezni, amit fontosnak tart a felhasználó, amit 3300-as lesz a legkisebb hálózati kapcsoló a palettán, viszont nem, azt ki is tilthatja a hálózatából, ugyanis a míg a 4400-as a négyes réteg kezelhetõséggel, illetve hálózati kapcsolókban szûrhetõ a forgalom. Így könnyen a 4300-as a kettes réteg kezelhetõséggel, de nagyobb megoldható, hogy NetBIOS üzenetek ne rohangáljanak kapusûrûséggel fog a helyére lépni. A 4005-ös a maga – csak a TCP/IP-alapú hálózatban. hármasréteg-képességével már a nagyobb központok A hálózatfelügyelet kifogástalan megvalósítása az, kapcsolója lesz, nem beszélve arról, hogy több mint amikor bármilyen felületrõl vezérelhetõk az eszközök. 80 optikai fastethernetes vonalat tud egyetlen dobozban Lehetõség nyílik webes felületrõl, parancssoros felület- összefogni, ami világszerte a kormányzati körök igénye. rõl és a 3Com Network Supervisor felügyeleti program- Újságírói kérdésre válaszolva Lehner Tamás elmondta ból – ennek sajnos nincs még linuxos változata – beál- még, hogy a 3Com nem pusztán eszközöket, hanem lítani és felügyelni eszközeinket. Külcsínre ugyanolyan megoldásokat kíván forgalmazni, ezért tette szabaddá a 4400-as, mint a 3300-as: elöl 24, 10/100-as kapu van, 3Com Network Supervisor Version 3-as programját. hátul viszont nem egy, hanem két bõvítõhely található. Az alapkiépítés annak idején legfeljebb ötszáz végpont Ide lehet csatlakoztatni a gigabit-, illetve a tornyozó vezérlésére alkalmas program volt, kimondottan kis- és (stacking) modulokat. közepes méretû vállalkozások számára, ami aztán nõtte Egy másik újdonság a SuperStack 3 Switch 4300-as, ki magát egy 1000-1500 végpont kezelésére képes prog- amit a felhasználók nem kimondottan alkalmazás-irá- rammá. Ha az ügyfél vásárolt egy vagy két 3300-ast, nyultságú csoportjának szántunk. Jelenleg hálózatépítés akkor erre a 24–48 kapura nem fog még kétezer vagy során a leggyakrabban kapcsolókat, valamint 10/100-as tízezer dollárt kiadni, mivel a kapcsolója már így is kapukat használnak, itt a jókora teljesítmény és a nagy kétezer dollárba került. Viszont igénye lenne arra, hogy kapusûrûség mindenképpen érdekes lehet. Ezért a 3Com az eszközeit megfelelõen tudja kezelni. És ha ezt az új 4300-asa egy 48 kapus, 10/100-as kapcsoló, hátul két igényt a 3Com ki tudja elégíteni azzal, hogy szabaddá bõvítõ modullal, azaz legfeljebb 4 gigabit uplink (külvilág teszi a felügyeleti programját, miért ne tenné, ha pénzü- felé irányuló) teljesítménnyel. Gátolatlan, késleltetés nél- gyileg is megéri, és a szolgáltatás bõvítésével értéke- küli, drótsebességû, 13 millió csomag/másodperc átvi- sebb lesz az, amit nyújt. A program Windows 9x-re, telû eszköz. Egy 100-as kapu forgalmának átviteléhez vagy 2000-re telepíthetõ rendszer, unixos változata 144 ezer csomag/másodperc sebesség szükséges, így egyelõre nincs. a 48 kapcsolathoz 6,9 millió, a másik fennmaradó 6 mil- A témával kapcsolatos további adatok a lió csomag/másodperc pedig a négy gigabites kaput  http://www.3com.hu címen olvashatók. tudja ellátni. Tehát teljesítményben ténylegesen nyújtani tudja az azonnaliságot, a késleltetés-mentességet, és Mészáros Ferenc kiszolgálja a megnövekedett hálózati igényt. ([email protected]) A SuperStack 3 Switch 4005-ös egy chassis-alapú programozómatematikusként több hálózati kapcsoló, amelybe gigabit ethernet, 10/100-as cégnél gépközeli programozással kapuk, illetve százas optikai kapu csatlakoztatható két foglalkozott, jelenleg a Linuxvilág tápegységgel. Hibatûrõ ellátást tesz lehetõvé a nagy munkatársaként dolgozik. Szereti üzembiztonság elérésére, amihez használat közben a társaságot, a táncot; lányával szívesen vitorlázik, cserélhetõ (hot swappable) I/O modulok és tápegységek lovagol és kirándul.

www.linuxvilag.hu 2001. június–július 19 Láttuk-hallottuk

Postás a gépben: a SuSE Email Server II

A SuSE Email Server Gombamód szaporodnak az országban a 20-25 fõ körüli osztott postafiókok használatára (ez csoportmunkáknál, II mindent tud, amit „legénységgel” dolgozó vállalkozások. Ezek a cégek azt illetve projektek megvalósításakor lehet a segítségünkre). egy jó postás: külsõ szeretnék, ha meglévõ vagy leendõ állandó internetkap- A SuSE eMail kiszolgáló nyílt forráskódú megoldás, mely és belsõ levelezésre csolatukat nemcsak netezésre, esetleg azon lévõ webki- is kiválóan alkalmas, szolgálójuk elérhetõségére tudnák használni, hanem ráadásul nem ismer levelezésre is. Nézzük, milyen lehetõségeik voltak eddig: határokat. • használhatták a szolgáltató által nyújtott [email protected] postafiókot, esetleg kaphattak még 1-2 kacifántos címet; • pár szolgáltató – borsos összegért – vállalta, hogy a cegnev.hu tartománybejegyzéshez tartozó levelezõ- szolgáltatást is ellátja. Ez a megoldás viszont egy új felhasználó hozzáadása vagy egy elfelejtett jelszó lecserélése esetében igen körülményessé válna; • artva ha jó rendszergazdájuk volt, megszerezte az ehhez szükséges programokat, illetve a szükséges tudást. Írásunk a Linuxszal most ismerkedõ rendszergazdáknak mutat be egy újabb választási lehetõséget. Szerkesztõségünkbe két doboz érkezett: egy nagyobb, amely az IBM Magyarország Kft. ( http://www.ibm.hu) által a rendelkezésünkre bocsátott szép fekete tornyot (a kiszolgálót), a billentyûzetet és az ugyanolyan színû egeret rejtette. A kisebbik doboz a SuSE Magyaroszági t. Minden jog fennt Irodájától ( http://www.suselinux.hu) érkezett zöld „SuSE eMail Server II” felirattal. A tartalma a következõ volt: • SuSE Linux vállalati csomag (angol nyelvû alapbeállítással), • eMail II kiszolgálóprogram (szintén angol nyelvû

© Kiskapu Kf alapbeállítással), • az összes program forráskódja, • rendszerindító lemez, • 60 napos ingyenes telepítési segítség, • kétéves operációs rendszerváltozat-követés, • kézikönyv a vállalati programcsomaghoz, • kézikönyv a levelezõ kiszolgálóhoz. Az elsõ kézikönyvbõl linuxos tudásunkat felfrissítve a SuSE-változattal ismerkedhetünk meg; a másodikból a levelezõkiszolgáló telepítését, beállítását és használatát, valamint az Arkeia Backup alkalmazását sajátíthatjuk el. A Fekete Toronyon azaz az IBM xSeries 220-on múlott, hogy milyen hévvel közelíthetek Geekóhoz. Az erõt sejtetõ torony azonban elsõ ránézésre nem sokat árult el magáról: egy CD-ROM és hat menetközben cserélhetõ lemezkeret virított a nyitható ajtó mögött, ebbõl három volt „élesítve” egy-egy 9 GB-os Quantum SCSI merevlemezzel. Az oldal- lap eltávolítása után egy Intel Pentium III 933 MHz pro- cesszorral találtam szemben magam – ennél a darabnál sajnos csak az egyik foglalatot használták, a négy memó- riafoglalat is csak részben volt foglalt egy 128 MB-os SDRAM ECC RDIMM modullal, pedig legnagyobb befo- gadó képessége 4 GB lenne. Az alaplap Intel lapkái között még az integrált S3 Savage4 áramkörei lapultak meg. A merevlemezek kezelésérõl egy Ultra160 SCSI (64-bit integrated single channel) vezérlõ gondoskodik. bevált és megbízható elemeken alapul. Ilyenek például: Lássuk, mit tud a SuSE Linux üzleti e-mail megoldása! SMTP, IMAP4, POP3, LDAP, TLS, SASL, SMTP-AUTH, A SuSE eMail Server II a cég jól bevált IMAP kiszolgáló- hogy csak néhányat emeljünk ki. Ezeket a SuSE Linux jának legújabb változata, mellyel lehetõség nyílik az Enterprise vállalati csomag alapjaira építették és kifeje-

20 Linuxvilág Láttuk-hallottuk

«

zetten a levélkezelésre hegyeztek ki. Mind a helyi hálóza- számára jelöltem ki, a másik ton, mind az Interneten keresztül támogatja a levélküldést kettõn a /home és a /var és -fogadást, így kínálva megoldást a vállalat teljes külsõ könyvtár osztozott. A következõ és belsõ levelezõrendszerére. A Linux nagy teljesítõké- kérdések a rendszerindításra, a pességének és hatékony erõforrás-kihasználásának kö- rendszergazdai felhasználó jelsza- szönhetõen a SuSE Linux eMail Server kiválóan alkalmaz- vára és a hálózati beállításokra ható a most kipróbált vasnál erõsebb környezetben is. vonatkoznak. A tartománybeállí- A termék nagy elõnye, hogy a hasonló rendszerekkel tások után a tulajdonképpeni ellentétben nem korlátozza a levélfelhasználók számát eMail Server beállítása követ- felhasználási szerzõdéssel, azaz teljesítõképességének kezik. Nagyon gyors lesz: két határai csak az alá pakolt gép kiépítésétõl függnek. képernyõ közül az elsõn az LDAP- Nincs ügyfélmegkötés sem: minden ismert ügyfélprog- beállításokat, a következõn pedig rammal és szabványprotokollal (POP3, IMAP) együttmû- cégünk nevét és nemzeti hova- ködik. Másik kedvezõ szolgáltatása a webmail (tetszõ- tartozásunkat kérdezi meg. leges internetböngészõvel felhasználóink kényelmesen A rendszer feltelepüléséhez kezelhetik leveleiket), így akkor is levelezhetünk, ha viszont mintegy 30-40 percnyi levelezõprogramunk nincs kéznél, vagy más gépét idõ szükséges, amit vasunk kényszerülünk használni. „keménysége” azonban nagy- Leendõ levelezõkiszolgálónk gyorsan és könnyen telepít- mértékben befolyásolhat! hetõ; ezt a YaST2, a SuSE alapértelmezett grafikus A megfelelõ programok kiválasz- felügyeleti felülete biztosítja. Ha még nem telepítettünk tása utánra maradt a legnehe- SuSE Linuxot, észre sem vehetõ, mikor fejezõdik be az zebb feladatunk: az adott körül- operációs rendszer telepítése, és mikor kezdõdik a leve- ményekhez el kell végezni a lezõ beállítása. A biztonságot a kódolt csatornák hasz- finomhangolást. A Horde nyúj- nálata (SSL) és a tanúsítványalapú (CA) levéltovábbítás totta felület nagyon jól átlátható jelenti. A meglévõ rendszerekkel való együttmûködés menürendszert ad, melyet már az elfogadott Unix fetchmail, vacation, illetve procmail ismereteinkhez mérten is tudunk szabvány átjárhatóságán keresztül valósul meg. A webes használni, például ha jártasak felületen keresztül a cég szakemberei nemcsak leveleink vagyunk a Postfixben (lásd még kezelését oldották meg, hanem a felügyeletet is. A Horde 66. oldalon), bátran igénybe könnyû és kényelmes kezelhetõséget biztosít. vehetjük a Postfix (Expert) menü- Felhasználóként LDAP kiszolgáló(k)hoz csatlakozhatunk pontot. Ettõl a lépéstõl kezdve és lekérhetõ(k) a külsõ postafiók(ok); leveleinket könnyen a gépet átadhatjuk a rendszerfel- megírhatjuk, olvashatjuk, módosíthatjuk személyes beál- ügyelõnek, hogy munkatársaink lításainkat. A felügyelõ könnyedén tudja kezelni a fel- között kiossza az emailcímeket. használókat, a démonokat (FetchMail, Postfix, Apache) A webmail rész is jól vizsgázott, és a levélsorokat (mail queue). a próbafelhasználók ugyanolyan Ha már átrágtuk magunkat a kézikönyveken, kezdjük könnyedséggel levelezhettek, el a telepítést! Az elsõ, rendszerindításra is képes CD mint bármely ingyenes szolgál- a legtöbb esetben jól használható, ha valami oknál fogva tató webfelületén – csak a ma- ez nem mûködne, használjuk a mellékelt hajlékonylemezt. gyar szavak hiányozhattak, de az Következõ lépésként a Yast2-vel találjuk szemben ma- a pár szükséges angol kifejezés

gunkat, amely szép sorban kikérdez bennünket a rend- gyorsan megtanulható. A levele- artva szer beállításairól. A billentyûzet kiosztásával és a telepí- zõügyfelet használók pedig csak tés nyelvével kezdi, utóbbit használja utána a rendszer azt veszik észre, hogy leveleikhez nyelveként is. A magyar nyelv beállítása sajnálatos gyorsabban jutnak hozzá. módon nem tartott sokáig; telepítés után a webmail Ha felhasználóink eddig még nem bejelentkezõ oldalán még találni magyar szavakat, de leveleztek, ránk vár egy kis fela- rövidesen visszavált angolra és a nyelvet a kijelentkezés dat: be kell õket vezetni az elekt- után is megtartja. Értesüléseim szerint a SuSE Magyaror- ronikus levelezés rejtelmeibe. szági Iroda tervezi a Horde IMP felületének magyarítását, t. Minden jog fennt remélhetõleg ez a következõ kiadásba már belekerül. Fricska Sándor A nehezebb kérdés annak eldöntése, hogy milyen lemez- ([email protected]) rend- szerkezetet használjunk. Könnyelmû voltam és a SCSI szergazdaként dolgozik. Szabadide- RAID adta lehetõségeket nem használtam ki – ezt egy jének egy részét a természetben tölti éles rendszeren saját adataink védelme érdekében azért (pingvinekkel és hüllõkkel), fennmara- /

érdemes használni! Az egyik merevlemezt a könyvtár dó idejében pedig az LME aktív tagja. © Kiskapu Kf

www.linuxvilag.hu 2001. június–július 21 Láttuk-hallottuk

Linuxos feljlesztések a számítógépes fordításhoz

A Systran Internet Translation Technologies a hideghá- ségei sorolhatók, de olyan cégek is, mint az AltaVista, ború alatt született, amikor az Egyesült Államok kormá- a Microsoft, az Apple, a Lycos vagy az AOL. nya nagy mennyiségû orosz szöveget akart gyorsan A számítógépes fordítás a nyelvészet és a számítástech- lefordíttatni. A hatvanas évek végén magánkézbe került nika határterülete. A termék fejlesztése valójában az em- a cég és Systranra beri nyelv szabályainak gépi nyelvre (kódra) történõ átülte- módosították a nevét, tését jelenti. A nehézségek nagy része nyelvészeti, mivel székhelyéül pedig a elõször pontosan le kell írni a kérdéses nyelveket. A folya- kaliforniai La Jollát mat a következõképpen zajlik: elemezni kell a kiindulási választották. nyelvet, majd leírni, azután létre kell hozni a célnyelvet. A kilencvenes években A kódkészítés négy részre bontható: 1. a kiindulási nyelv a Systrannál úgy elemzése; 2. a célnyelven történõ összeállítás; 3. az átvi- döntöttek, hogy teli szabályok; és 4. a fordítómotorok által közösen hasz- kidobják az MVS-t nált eljárások (például tárkezelés, parancssor-értelmezés, futtató OS/390-et és szótárazó eljárások, szûrõk, elõ- és utófeldolgozók stb.). az egész rendszert A cégnél különleges szótárakat alkalmazunk. Ezekben átültetik Unixra. nemcsak az adott kifejezés fordítása található meg Ekkorra a PC-k már (pl.: manger = to eat), hanem a kapcsolódó mondattani elegendõ teljesítménnyel rendelkeztek ahhoz, hogy és lexikai adatok is (például: „ez az ige tárgyas, ebben Csúcsfejek a tökfejek ellen futtassák a fordítómotorokat. Az Assembly-kód nagy az adott szövegkörnyezetben ezt és ezt jelenti”). Három Ez egy jó év a vállalkozók részét önmûködõ program segítségével fordítottuk le C- különbözõ szótárat használunk. Az elsõ kettõ úgyneve- számára. A kutya ott van re. Elsõként Solarisra ültettük át, de hamarosan olcsóbb zett belsõ, az egyik az egyszerû szótöveket tartalmazza, elásva, hogy a befektetõk gépekre váltottunk, így jött a PC és a Slackware a másik az összetett szavakat és kifejezéseket. A harma- nem a vállalkozásokat kombinációja (azóta már RedHatet használunk). A Linux dik a „külsõ” szótár. Ez utóbbit az adott ügyfél igényeinek támogatják, hanem választásakor a következõ szempontokat vettük megfelelõen állítjuk össze, meghatározott témakörökben. a valódi szakmai tudás figyelembe: többféleféle géptípuson is futtatható legyen; A Systran olyan segédfájlokkal is rendelkezik, amelyek az nélküli bábokat. minden programot elérhessenek a fejlesztõk, amire csak igék, a fõnevek és a melléknevek ragozásával kapcsolatos szükségük lehet; a természetes nyelvek feldolgozása szabályokat írják le (ezek természetesen nyelvfüggõk), Dave Winer nagyméretû szöveges állományok kezelésével jár, ehhez továbbá meghatározzák az elsõbbségi szabályokat az ügy- pedig hatékony programok szükségesek; a fordítómotor fél szótára számára, valamint megadják szövegsablonokat. összetett szabályrendszert használ, ezért a kód átültetése Ezt mind C-ben valósítottuk meg, de az újabb program- nagy C, illetve C++ programokat eredményez, ehhez egységeket általában már C++-ban készítjük. szükség van az olyan hatékony eszközökre, mint a gcc, A szabályok elõállításához a nyelvészek GTK-alapú illetve a g++, valamint a GNU make; a széles grafikus programot használnak. Az adatokat ASCII fájlok- közönséget ellátó, például az AltaVistához hasonló ban tárolják, ezek egy Perl programon folynak át, így méretû ügyfelek számára a legfontosabb az alkalmazás készülnek el az adatokból a kód számára értelmezhetõ biztonsága, illetve a rendszer megbízhatósága; és ne makróutasítások. A szótárak félig önmûködõ módon feledkezzünk el arról sem, hogy minden felhasználó épülnek fel, azon szabályok felhasználásával, amelyeket költségkímélõ megoldást kíván. a nyelv elemzése közben állítottunk fel. Elõször minden Ezekhez még az is hozzáadódik, hogy az új alkatrészekhez nyelvhez egynyelvû mesterszótár készül. A nyelvi rész a meghajtóprogramok leggyorsabban Linuxra jelennek feltöltése után a Systran-rendszer táblázatok alapján meg, továbbá más rendszerekhez képest sokkal kisebb önmûködõen lényeges nyelvi adatokat ad a bejegyzések- az erõforrásigénye. A Linux beállításai egységesek és hez. Például az „automatically” angol szót a program

artva könnyen másolhatók további gépekre, valamint a rend- határozószónak ismeri fel, mert -ally végzõdésû. Ezután szer igen jól méretezhetõ. A Linuxhoz tûzfal, sendmail, hozzák létre a kétnyelvû szótárakat, egyszerû kétbejegy- Apache, mod_perl és PostgreSQL is tartozik, ezeket mind zéses listaként, amely a lekérdezésnek megfelelõ szin- használják a cég webes szolgáltatásaihoz taktikai adatokat az egynyelvû mesterszótárból kéri le. ( http://www.systranlinks.com/, A szótárakat csak a legvégsõ lépésnél fordítjuk le bináris  http://www.systranet.com/). Emellett a KDE és a alakra, ezzel gyorsabbá tehetõ a szótárt használó prog- GNOME lehetõvé teszi, hogy a cég nem programozó ram. Amikor az AltaVista weblapján valaki rákattint a alkalmazottai szintén használhassák a Linuxot. Ez azért Translate gombra, nem is gondol bele, milyen összetett olyan fontos, mert a Systrannál sokan inkább nyelvé- folyamat áll a fordítás mögött. t. Minden jog fennt szek, mint programozók. Végül a POSIX-szabványhoz A Systran tervei között szerepel egy szabad linuxos való igazodás lehetõvé teszi, hogy igény esetén könnyen változat kiadása, amely tudását tekintve megegyezik átültethessük a rendszert más Unixokra is. a Systran Personal windowsos kiadásával. A Systran programjai találhatók meg világszerte a legtöbb önmûködõ fordítórendszer mögött. Ügyfeleink Thunus F.

© Kiskapu Kf közé nem csak az Egyesült Államok kormányügynök- A Systran Luxembourg igazgatója

22 Linuxvilág Láttuk-hallottuk

Linux-index 2001. június–július artva 1. Azon levelezõprogramok száma – a Microsoft 20. A Napster ennyi milliárd dollárt ajánlott – vissza- Outlook Express kivételével –, amelyekre veszélyes utasították – azért, hogy szerzõi jogokkal védett volt az Anna Kournikova vírus: 0 anyagokat is terjeszthessenek: 1 2. Azon – Anna Kournikova vírust tartalmazó – levelek 21. Az Egyesült Államokban 90 perc zene egy száma, amelyeket a Linux Journal egyik szerkesztõje felhasználóhoz való sugárzásának becsült költsége: kapott 2001. február 11-én: 15 81 dollár naponta 3. Az Eazel Inc. (linuxos grafikus felületet készítõ cég) 22. Ugyanennek a költsége feliratkozott felhasználótól

által 2001 márciusában elbocsátott munkatársak felhasználóig történõ terjesztés esetén: t. Minden jog fennt száma (becsült érték): 40 fõ 15 dollár naponta 4. SuSE-alkalmazottak száma (becsült érték): 600 fõ 23. Az ezer legnépszerûbb webhely látogatása a 5. A 2001 májusáig megjelent Linux-változatok weblapletöltések ennyi százalékát tette ki 2000 száma: 188 júniusában: 53 5. Beágyazott Linux operációs rendszerek száma tavaly 24. Az ezer legnépszerûbb webhely látogatása a © Kiskapu Kf augusztusban: 17 weblapletöltések ennyi százalékát tette ki 2001 7. Beágyazott Linux operációs rendszerek száma idén: 25 januárjában: 48 8. A vékony ügyfelek eladásának növekedése 1999 25. PDA-eladások 2000-ben (millió dollár): 9,39 folyamán világszerte: 90 százalék 26. Tervezett PDA-eladások 2004-ben (millió dollár): 33,7 9. A Fortune 100 cégek közül a vékony ügyfeleket 27. A Sharp ekkora piaci részesedés elérésére számít alkalmazó cégek százaléka: 80 új Linux-alapú PDA-i révén: 50 százalék 10. Bejelentett elbocsátások száma az Amazon.com-nál 28. A Sharp terveiben szereplõ értékesítés végösszege 2001. januárban: 1300 fõ 2002 végére (millió dollár): 1 11. Az Amazon elbocsátott alkalmazottai számára 29. A Sharp szerint ennyi Java-alapú alkalmazás létrehozott bizalmi letétként kezelt pénzalap létezik majd Linux-alapú PDA-jukra 2002 mennyisége tavaly januárban: 2,5 millió dollár októberében: 10 000 12. Az internetfelhasználók aránya 2001. februárban az 30. A Sharp ennyi fõre becsüli a linuxos USA-ban: 60 százalék PDA-t tevékenyen programozók számát: 100 000 13. Az Internetre bejelentkezõk száma 2001. 31. A Sharp ennyi fõre becsüli a Microsoft PDA-t februárjában az Egyesült Államokban: 169 millió tevékenyen programozók számát: 50 000 14. Az internetfelhasználók táborából a hálózatot 32. Azon francia iskolák száma, melyek részt vesznek munkára használók 2001 februárjában az Egyesült a nemzeti Linux-programban: 350 Államokban: 14 százalék Forrás: 15. Vezeték nélkül továbbított üzenetek száma 2004 1., 13–16.:  News.com végére: havonta 244 milliárd 2.: Doc Searls Michael Hasenstein 16. Átlagos felhasználó gépén található MP3-ak száma 3–4.: 5–7.: echWeb az Egyesült Államokban: 500 8.: International Data Corp. 17. Az Iridium nevû mûholdalapú telefonrendszer 9.: Giga Information Group fejlesztési költsége milliárdokban: 5 10–11.: Moneybox 16.:  Eric Garland of BigChampagne.com, a The Standardból 18. Az Iridium ennyi millióért kelt el azután, hogy 17–19: Hoovers csõdbe ment: 25 20–22: ZDNet 23–24: Industry Standard from Alexa Internet, 2001. március 19. Azon Iridum-mûholdak száma, amelyeket el kellett 25–26: Gartner Group volna égetni a Föld légkörében, ha nem találnak rájuk 27–31: CNET vevõt: 60 32.: LinuxWorld

Tuti Tipp – Böngéssz gyorsabban!

Ha takarékoskodni szeretnél a sávszélességgel és ezáltal növelni szeretnéd a böngészés sebességét, telepíts a gépedre olyan névkiszolgálót, amely csak gyorstáraz. Nyugi, nem kell BIND-ot telepítened. Töltsd le a pdnsd-t a következõ webhelyrõl:  http://home.t-online.de/home/Moestl/. A pdnsd megjegyzi a névfeloldás eredményeit, tárolja azokat a merevlemezen, így a gyakran látogatott webhelyek címét nem kell újra és újra lekérdezni. A programot kifejezetten telefonon keresztül csatlakozó felhasználók számára írták. Beállítása pofonegyszerû. A pdnsd felhasználói szerzõdése a GPL alá esik. A RedHat- a SuSE- és a Debian- rendszerekre egyaránt léteznek hozzá csomagok.

www.linuxvilag.hu 2001. június–július 23 Láttuk-hallottuk

Választás a vállalati informatikában: a Linux

Különlegesebb Érdekes megfigyelni, milyen sok feladatra alkalmazható a hatósága és kis gépigénye következtében választották. területeken is Linux. Akár minden nap találkozhatunk vele anélkül, hogy A programot C nyelven (vezérlés) és PHP-ban (webfelület) alkalmaznak Linuxot: tudnánk, mit is használunk. Olyan alkalmazási területeket írták. Folyamatban vannak különbözõ mérõ és kapcsoló beléptetõrendszerük igyekszünk most bemutatni, amelyek ugyan ismertek a fejlesztések, melyeket szintén Linux-rendszerre alapoztak. olyan egy vagy több nyilvánosság elõtt, eddig azonban sehol sem hallhattunk Prím Communications & Média Rt. linuxos gépbõl áll, arról, hogy ezek linuxos megoldások. Öt kiszolgálót üzemeltetnek, melyek közül a legkisebb egy amelyek akár több Integrity Kft. Pentium II 300 MHz-es processzorral, 256 MB RAM-mal, ezer kártyás, A 2000. évi középiskolai felvételi rendszer internetes SCSI merevlemezzel; a legnagyobb pedig két Pentium III PIN-kódos, adatgyûjtõ és feldolgozó kiszolgálóoldali moduljait 800 MHz-es processzort, 512 MB RAM-ot és 70 GB SCSI ujjlenyomat-olvasós SuSE Linux kiszolgálókon futtatta az Integrity Kft. merevlemezt tartalmaz. Ez utóbbiak Intel-alapú vezérlõ helyet képesek Három független internetkapcsolattal rendelkezõ kiszol- segítségével gépszinten RAID5-be vannak kötve. vezérelni. gáló fogadta a több mint ezer iskolából érkezõ adato- Minden kiszolgálón Debian GNU/Linux fut és a kat, valamint egy Java-alapú adatbázis-alkalmazást következõket nyújtja: futtató kiszolgáló dolgozta fel a 400 ezer rekordnyi • Internetes szolgáltatások adatot. Mindegyiken Linux futott, a gépek IBM Netfinity – dinamikus, adatbázis-alapú hírrendszer 3000-es és 3500-as kiszolgálók voltak. A rendszer cikkadatbázissal és kapcsolódásokkal, hibátlanul teljesített, ezért – a tervek szerint – a jövõ- – webmail típusú levelezõrendszer (PrímPosta), ben is Linuxon fog futni. – weboldal-készítõ (weboldal.com), Másik feladatuk az INI aldomén-átirányítási és regisztrá- – fórum, ciós kiszolgáló kezelése. A legnépszerûbb ilyen hazai – „internetes” mappa képek és más fájlok tárolására alkalmazás fõ kiszolgálója egy IBM Netfinity 5500-as gép a kiszolgálójukon, 512 MB RAM-mal. Ezen a gépen – Linux alatt – Java- – egyéb adatbázis-alapú szolgáltatások, alkalmazások és SQL adatbázis-kezelõ fut. A Netfinity – Adserver (hirdetések kiszolgálását végzõ program), 5500-as magas rendelkezésre állást biztosító megoldá- – pop3 és levelezõkiszolgáló, sait a Linux a menet közben cserélhetõ (hotswap) PCI – DNS-kiszolgáló, síneket leszámítva támogatja, idén azonban várhatóan – rendszerfelügyelet. ez a támogatás is megjelenik. • A cégirodában Egy mostanában indult projekt keretében közérdekû – IP-álcázás (masquerading), – elsõsorban államigazgatási vonatkozású – adatokat – proxykiszolgáló, tartalmazó honlapok és adatbázis-alkalmazások – levelezõkiszolgáló. indulnak linuxos kiszolgálókon. A sorozat elsõ tagja A fentiek megoldására a következõ fõbb programokat a  www.kozjegyzo.hu, további tagjai a közeljövõben alkalmazzák: exim, BIND, Apache, PostgreSQL és jelennek majd meg. A terv az, hogy az Interneten át el PHP4. A biztonsági mentéseket az Amanda nevû prog- lehessen érni a közjegyzõk, a hivatalok, a bíróságok, rammal végzik. valamint az ügyvédek adatait. A felhasználók számát a webes szolgáltatás miatt nehéz Általában nem túl erõs gépeket alkalmaznak, fõként pontosan megmondani, de a Prim-rendszerben feliratko- IBM Netfinity 3000-es, 3500-as darabokat, a legerõsebb zott felhasználók száma meghaladja a nyolcvanezret, pedig a fent említett Netfinity 5500-as. A feladatokat a PrimPostát pedig több mint tízezer ember használja inkább több kisebb gépre igyekeznek szétosztani, ezzel rendszeresen. is növelve az üzembiztosságot. Adatbázis- és alkalmazás- Az összes PHP parancsfájl saját fejlesztésû, amelyekhez kiszolgálási célokra szinte kizárólag Linuxot használnak. a Linux kiváló fejlesztõkörnyezetet biztosított. Mivel Az Integrity több mint tíz Linux-alapú gépe mint webes internetes kiszolgálókról van szó, már a munka legelején artva alkalmazáskiszolgáló, adatbázis-kezelõ, valamint mint világossá vált, hogy a kívánt célok eléréséhez a Linux internetkiszolgáló mûködik. Tûzfal, proxykiszolgáló, fájlki- megfelelõ eszközöket nyújt. Az elsõdleges cél nem szolgáló és munkaállomás céljára is alkalmaznak Linuxot szabad, hanem használható rendszer fejlesztése volt. a következõ programokkal: adatbázis-kezelés – PostgreSQL, Média 6 Rádió Szeged Interbase, MySQL; fájlkiszolgáló – SaMBa, NFS; proxyki- Két telephelyet (Szeged és Szentes) köt össze két SuSE szolgáló – Squid; tûzfal – TIS; levelezési lista – mailman; Linux, melyek 166 MHz-es Pentium processzorral, 32 MB webkiszolgáló – Apache (Roxen Challenger csak kipró- RAM-mal és 2 GB-os merevlemezzel felszerelt számító- bálásra), Deneb (saját fejlesztésû, Javában készült). gépeken futnak. Mindkét gépen található webkiszolgáló t. Minden jog fennt Vannak saját fejlesztésû alkalmazásaik is, melyeket Javá- – Apache, levelezõkiszolgáló – qmail, FTP-kiszolgáló – ban, Perlben, PHP-ben és C-ben írtak. proftpd, és SSH a távoli eléréshez. A két telephely Különlegesebb területeken is alkalmaznak Linuxot: belép- között a biztonságos adatforgalom megteremtéséhez tetõrendszerük olyan egy vagy több linuxos gépbõl áll, VPN-t alakítottak ki. Szegeden a linuxos kiszolgálónak amelyek akár több ezer kártyás, PIN-kódos, ujjlenyomat- körülbelül negyven felhasználója van, Szentesen pedig olvasós helyet képesek vezérelni. A Linuxot megbíz- tíz. A gépek másfél éve üzemelnek, ez idõ alatt legfel- © Kiskapu Kf

24 Linuxvilág Láttuk-hallottuk

« artva jebb tízórányi kiesés volt tapasztalható, ám ennyi is Grafikus alkalmazások: csak a rendszermag-frissítések, illetve a kapcsolati – qvwm, fvwm és kde ablakkezelõk, hibák miatt keletkezett. – Star Office 5.1, Az üzenetrögzítõ feladatát szintén SuSE Linuxra osztot- – Netscape, ták. Ebben a gépben egy 133 MHz-es Pentium pro- – IRC-ügyfelek, cesszor ketyeg, 32 MB RAM-mal és 2 GB merevle- – teljes jogtár (Kerszöv fejlesztésû). mezzel megtámogatva. Erre a feladatra csak program- 5. Levelezõkiszolgáló és fájlkiszolgáló: ból megvalósítható megoldást nem találtak, ezért – Pentium II 300 MHz, 256 MB RAM, 2x15 GB IDE a következõt választották: a vgetty call programjához merevlemez, 3C905B és SMC-EZ hálózati kártya, t. Minden jog fennt készítettek egy parancsfájlt, ami a hangkártyán (GUS – Renegát II (RedHat 6.1-alapú Linux), MAX-on) lejátssza az üdvözlõ üzenetet, majd felvételre – sendmail, kapcsol és harminc másodpercig rögzít. A modem – Apache + stunnel (külsõ elérésre), kimenete a hangkártya bemenetére van rákötve, a – SSH, hangkártya kimenete pedig egy olyan áramkörhöz csat- – NFS, YP-kiszolgáló; lakozik, amelynek ha a bemenetén jel található, akkor – SaMBa kiszolgáló, © Kiskapu Kf egy relé segítségével párhuzamosan trafón keresztül – APC UPS kezelés (APC hálózati kiszolgáló). kapcsolódik a telefonvonalra. Ezáltal sugárzási minõ- ségû üzenetrögzítõt sikerült készíteniük. A rögzített üze- netek a SaMBa fájlkiszolgálón keresztül érhetõk el a kívánságmûsor szerkesztõje számára. Ezekrõl az üzene- tekrõl biztonsági mentés nem készül, miután adásba mentek, törlik azokat. Pécsi Tudományegyetem, Állam- és Jogtudományi Kar A karon öt linuxos kiszolgálót üzemeltetnek. 1. Nyilvános webkiszolgáló: – Celeron 366 MHz, 256 MB RAM, 2x15 GB merevlemez, 3C905B hálózati kártya, – Renegát I (RedHat 6.1-alapú Linux), – Apache + stunnel, – wu-ftpd. 2. Álcázó és útválasztó-kiszolgáló: – Pentium 75 MHz, 32 MB RAM, 2x210 MB SCSI merevlemez, EEPRO-100, 3c905B és SMC-EZ hálózati kártyák, szekrény-kivitel (3U magas 19"),  www.jpte.hu – RedHat 6.2-alapú Linux, – ipchains + ipportfwd + FWTK csomag, – BIND (DNS-kiszolgáló). A hálózat kiépítése a következõ: a kiszolgálók között 3. CD-torony és nyomtató-kiszolgáló: 100 Mbit/mp UTP-hálózat található (3Com Superstack – Celeron 366 MHz, 128 MB RAM, 2x8 GB jelelosztón keresztül). Az ügyfelek felé többszörös merevlemez, 3C905B hálózati kártya, öt csillagpont elrendezésû hálózat vezet 100 Mbit/mp nyolcszoros Sony SCSI CD-ROM, gerinc és 10 Mbit/mp végponti sebességgel. Az inter- – Renegát II (RedHat 6.1-alapú Linux), netelérés üvegszálon keresztül történik, 10 Mbit/mp – SaMBa kiszolgáló, sebességgel. Az Internet továbbszolgáltatása egy mik- – NFS, YP-ügyfél. rohullámú hídon keresztül 2 Mbit/mp sebességgel, 4. CD-torony, HTTP proxykiszolgáló és valamint négy 56 Kbit/mp sebességû analóg modemen X-alkalmazáskiszolgáló: keresztül valósul meg. – Celeron 366 MHz, 128 MB RAM, 2x15 GB IDE Az ügyfelek: merevlemez, 3C905B hálózati kártya, négy nyolc- – nyolcvan Windows 95 és 98, Windows 3.11 az szoros Sony SCSI CD-ROM, két negyvenszeres irodákban, Plextor SCSI CD-ROM, valamint Sun DAT, – harminc Windows 98 és Linux-ügyfél a gépteremben, – Renegát II (RedHat 6.1 alapú Linux), – 12 X-terminál (NCD, Sun, DEC, vt2000 – xdm X-kiszolgáló, gyártmányok vegyesen) külön gépteremben, – SaMBa kiszolgáló, – tíz vt320 soros terminál, – Squid proxykiszolgáló, – valamint i386 terminálkiszolgáló – ez a folyosói – NFS, YP-ügyfél. levelezõrendszer. A fentieket kiszolgáló személyzetként három fõ üzemelteti:

www.linuxvilag.hu 2001. június–július 25 Láttuk-hallottuk

«

egy rendszergazda és két operátor. A felhasználók száma jából 0,8-1 GB adatmennyiségnek és hárommillió talá- 1470, ebbõl körülbelül kétszázan vannak tevékenyen Linux- latnak (hit) felel meg. szal dolgozók, a többi SaMBa-, illetve levelezõ felhasználó. A merevlemezek RAID-be kötéséhez Mylex RAID vezér- Rövidtávú fejlesztési terveik az alábbiak: lõkártyákat használnak, továbbá minden gépen Debiant • Gépek alkalmaznak. – A belsõ kiszolgálók és a tûzfal cseréje szekrény- Figyelemreméltó, hogy a régi rendszer bizonyos részei kivitelû hibatûrõ gépre, is Linuxokon futottak, így a Squid proxyk és az adat- – a modemes behívókiszolgáló bõvítése 12 darab bázis-kezelõk is, valamint az egyik webkiszolgáló is. 56 Kbit/mp sebességû modemre. Pannonhalmi Fõapátság • Programok Sok különbözõ PC-t használnak a 486-ostól kezdve a Pen- – Kettõs kapu és protokoll tûzfalrendszer, tium III-ig, RedHat és Debian Linux alatt. A hálózat körül- – SQL-alapú naplózási rendszer PostgreSQL és syslog belül száz gépbõl áll, ezeken Novell NetWare, Linux, DOS, segítségével. Windows, Macintosh, valamint SCO Unix is megtalálható. Index.hu Informatikai Rt. A Fõapátsági Könyvtár eddigi DOS-os adatbázisának A http://index.hu/ címen található webkiszolgáló tulaj- átültetése folyik PostgreSQL alapokra, így az Interneten donképpen négy gépbõl áll. Négy Compaq dl360-asból keresztül is kereshetõ lesz. A próbaváltozat elérhetõ a alkottak telepet, ezek mindegyike a következõ alkatré-  http://www.osb.hu/biblio címen. szekbõl épül fel: két Pentium III-as, 800 MHz-es procesz- A megoldandó feladatok: levelezõkiszolgáló (sendmail), szor, 512 MB RAM és webkiszolgáló (Apache), hírezõ-kiszolgáló (dnews), levele- gigabites hálózati kártya. zési listák (mailman), fájlkiszolgáló (SaMBa), ftp-kiszolgáló Merevlemez egyik (wu-ftpd), proxykiszolgáló (Squid), valamint PPP kialakítása. gépben sincs! Operációs Közvetve vagy közvetlenül körülbelül négyszáz felhasználó rendszerüket és a szük- alkalmaz Linuxot. A legkisebb – linuxozásra használt – séges programokat a gép 486 DX2 66 MHz-es processzorral, 16 MB RAM-mal fájlkiszolgáló megosztott van felszerelve, ezt X terminálként használják SCO Unix meghajtóiról töltik be. alatt futó adatbázis-kezelõhöz való kapcsolódásra.  http://www.osb.hu/biblio A fájlkiszolgáló Compaq A legnagyobb – Linux alatt futó – gép kétprocesszoros ml530-as gép, Pentium Pentium III-as, 256 MB RAM-mal és 50 GB háttértárral, III-as 933 MHz-es Xeon processzorral, 1 giga RAM-mal, programból megvalósított RAID-del. Ez a web-, FTP- és nyolc 18 GB-os merevlemezzel és gigabites hálózati listakiszolgáló; továbbá fut rajta egy PostgreSQL adat- kártyával. A merevlemezek megoszlása a következõ: bázis-kezelõ is a vebkiszolgálóhoz. 2x18 GB tükrözve az operációs rendszernek és 6x18 GB Géphiba ritkán szokott elõfordulni, leggyakrabban a RAID5-be kötve az adatoknak. A gép NFS-en keresztül merevlemezek „adják meg magukat”– ezért választották szolgálja ki a webes felületet biztosító többi egységet. a RAID különbözõ formáit. Alkalmaznak gépi és program- Egy adatbáziskezelõ-kiszolgáló is szerepel a „csapatban”: ból megvalósított RAID-megoldásokat is. A biztonsági egy Intel sitka – két 550 MHz-es Xeon processzorral, 1 GB mentések szalagra történnek. A windowsos ügyfeleket RAM-mal, valamint öt 9 gigás merevlemezzel. A használt megtámadó vírusok veszélyére is igyekeztek megoldást adatbázisok mérete is tekintélyes: körülbelül 4 giga egy- találni, ehhez a Sophos cég vírusölõ programját szerezték egy tábla mérete, a rekordszám pedig hárommillió körül be. Elég a SaMBa kiszolgálóra feltenni az új változatot, van. Külön érdekesség, hogy ez rácáfol arra a hiedelemre, és az összes windowsos munkaállomás önmûködõen miszerint Intel-felületen nem lehet 2 gigabájtnál nagyobb frissül. A linuxos kiszolgálón fut a Sophos intercheck fájlokat létrehozni. Létezik megoldás erre a feladatra is! démon, ez tartja a kapcsolatot az ügyfelekkel és vírus artva A telephez visszatérve: tudomásuk szerint Magyaror- esetén jelez. Tény, hogy amióta ezt a vírusirtó megoldást szágon az egyetlen fellelhetõ Cisco localdirectort õk megvásárolták és beüzemelték, azóta a vírusgondok az használják. Ez terheléselosztást végez a telep négy gépe eddigiek töredékére zsugorodtak. között. A beérkezõ kéréseket attól függõen osztja ki, Néhányan irodai munkát is végeznek Linuxon, ehhez hogy megy-e az adott webkiszolgáló, és mekkora a pilla- StarOffice-t, TEX-et és Lyxet használnak. A pannonhalmi natnyi terhelése, illetve a válaszideje. Így a gépenkénti hatosztályos gimnáziumban a diákok iskolai szakkörben terhelés elvileg a legmegfelelõbb, és egy gép kiesése ismerkedhetnek a Linuxszal és a Perl programozással. nem befolyásolja számottevõen a rendszert mûködését.

t. Minden jog fennt Amennyiben egy gép valamilyen okból kifolyólag kiesne Kósa Attila ([email protected]) a telepbõl, pillanatok alatt kicserélhetõ, és egy hajlékony- informatikus mérnök. Egy japán lemez segítségével már el is indulhat a fájlkiszolgálóról. cégnél dolgozik rendszergazdaként. A webes felület elõállítására és kiszolgálására Apache-ot 1995-ben találkozott elõször használnak PHP, Perl, MySQL és Oracle-kiegészítésekkel. a Linuxszal. Amikor csak teheti, két A felhasználók száma körülbelül napi félmillió, ami nagy- kisfiával játszik. © Kiskapu Kf

26 Linuxvilág Láttuk-hallottuk

Új termékek

Kapital a KDE-hez menetközben cserélhetõ kiszolgálót futtatja, amelyet kézi és hordozható A Kompany.com Kapital nevû ter- építettek be. Minden kiszolgálónak eszközökhöz fejlesztettek ki. A VR3 méke amerikai személyi pénzügyi saját processzora, memóriája, lemez- motorja a NEC VR4181 típusjelû, csomag KDE-hez. Segítségével egysége, tápegysége és ethernet- 66 MHz-en mûködõ 32 bites nyomon kapcsolata van. A SuperScaler 1000 processzor, követhetõk két független kétprocesszoros rend- emellé 8 MB a különbözõ szerbõl áll, amelyeket száloptikával memóriát és banki kapcsoltak össze. Ezt a gépet nagy 16 MB flash- mûveletek, sebességet igénylõ számítási fela- memóriát valamint datok – például médiafolyamok fel- építettek be. beállítható „számlakövetõ” figyel- dolgozásának – elvégzésére tervez- A CIR meztetés is a befizetések idõzítésé- ték. Az SuperScaler 500 egy kétpro- áramkör és hez. Szolgáltatásai közé tartozik még cesszoros kiszolgálót tartalmaz, program a csekk- és jelentésnyomtatás, kere- melyhez optikai kábel is csatlakoztat- szabványos, ez lehetõvé teszi, hogy sés, illetve jelentéskészítés ábrákkal ható. Ezt a gépet olyan alkalmazások az eszközt háztartási berendezések és grafikonokkal. Új számlaszámva- futtatására élezték ki, amelyek nagy távirányítására is használjuk. A VR3 rázslót kapott és import/export számítási és hálózati teljesítményt ezenkívül vezeték nélküli infravörös lehetõséget a Quickenhez. igényelnek. átvitellel feljegyzéseket és üzene- Adatok: theKompany.com, Inc., Adatok: e-Appliance Corporation, teket tud küldeni a nyomtatónak PO Box 80265, Rancho Margarita, 3052 Bunker Hill Lane, Suite 101, vagy más eszköznek. California 92688 Santa Clara, California 95054 Adatok: Agenda Computing, telefon: 949-713-3276 telefon: 408-980-1990 #368, 4521 Campus Drive, Irvine, e-mail: [email protected] e-mail: [email protected] California 92612  http://www.thekompany.com/  http://www.eappliancecorp.com/ telefon: 888-741-8181 e-mail: [email protected] Smoothwall v. 0.9.8 StoreSense a VA Linuxhoz http://www.agendacomputing.com/ A Smoothwall biztonsági program Az e-kereskedelem zászlóshajója, a legújabb változata szabadon letölt- Kurant Corporation cég StoreSense Game Channel Solution hetõ a GNU GPL szabályai szerint. nevû terméke most már a VA Linux A Not a Number cég, a A Smoothwall segítségével az 1U és 2U kiszol- nevû háromdimenziós program otthoni felhasználók, a kisebb irodák gálóira is telepít- készítõje bejelentette Game és a vállalatok PC-i Weben keresztül hetõ. A StoreSense Channel Solution (GCS) nevû el- kezelhetõk, biztonságos internetes számos e-kereske- osztott, többszemélyes hálózati útválasztót építhetnek, amely védett delmi eszközt és szolgáltatást foglal játékszolgáltatását. A GCS leendõ internetkapcsolatot tesz lehetõvé. magába, ezek segítségével a vállal- felhasználói a játékosok társadalmá- A mostani változat újdonságai között kozások internetes áruházat épít- nak tagjai: a fejlesztõk, az internet- szerepel az ISDN-eszközök önmû- hetnek, kezelhetnek és tarthatnak szolgáltatók, a viszonteladók és a ködõ megkeresésének és beállításá- fenn. A StoreSense használatával fogyasztók egyaránt. A szolgáltatást nak szolgáltatása, több internetes a cégek testre szabott szolgáltatá- mindenki az igényeinek megfelelõ eszköz támogatása (így az útválasztó sokat nyújthatnak ügyfeleiknek az tulajdonságokkal választhatja, webkiszolgálásra is alkalmas), IPSEC egyszerû katalógus-áruháztól kezdve ugyanis a GCS elõfizetési díj ellené- VPN képesség, valamint az ADSL és a beszállítási lánc kezelésén át a ben rendelkezésre bocsátja a számí- a kábelmodemet használók támoga- vezeték nélküli vásárlás lehetõsé- tógépet és a programot, a hálózati tása. A program a géig. A StoreSense elõfizetéses kapcsolatot és a sávszélességet. artva http://www.smoothwall.org/dyn/ rendszerû és az alábbi felületeken Naplózza a használatot, majd szám- get/download/html/ címrõl tölthetõ le. fut: Linux, Windows NT, Windows láz, tartalomkezelést nyújt és vállalja  Thames Court, Richfield Avenue, 2000, Solaris és a Cobalt RaQ-ja. a terjesztést, továbbá lehetõséget Reading, RG1 8EQ, United Kingdom Adatok: Kurant Corporation, ad többszemélyes valós idejû telefon: +44-0-118-956-6116 32 Cleveland Street, San Francisco, játékokra. A GCS széles játékválasz-  http://www.smoothwall.org/ California 94103-4014 tékot kínál a hagyományos PC-fej- telefon: 916-984-5400 lesztésektõl kezdve az egyedi SuperScaler e-mail: [email protected] Blender termékekig, melyek számos t. Minden jog fennt alkalmazáskiszolgálók  A nagysebességû alkalmazáskiszol- http://www.kurant.com/ támogatott felületen elérhetõk. Adatok: Not a Number, gálók gyártója, az e-Appliance bemu- Agenda VR3 PDA van Eeghenstraat 84, 1071 GK tatta új termékét, a SuperScaler Az Agenda Computing bemutatta Amsterdam, The Netherlands alkalmazáskiszolgáló-családot. az Agenda VR3 PDA-t a tavaszi telefon: +31-(0)20-3058250 A SuperScaler 600 19 hüvelykes 1U Comdexen. A VR3 az Agenda Linux  http://www.blender.nl/ © Kiskapu Kf szekrény, amelybe négy független, nevû beágyazott operációs rendszert www.linuxvilag.hu 2001. június–július 27 Láttuk-hallottuk

A hónap szakmai tanácsai

Egyetlen modul lefordítása? Nem kell napokat töltsened DNS kiszolgáló telepítésével, Nemrég vettem egy USB lapolvasót (Epson de a hosts fájl sem használható névfeloldásra. A hosts fájlt Perfection 1640SU), és sikeresen beüzemel- csak a linuxos gépen futó szolgáltatások használhatják. tem Linux alatt (2.2.16-22 rendszermag). Az egyik lehetõség, hogy belsõ rendszeredet az internet- Módosítanom kell viszont az egyik idõér- szolgáltatód által nyújtott DNS kiszolgálók használatára téket a rendszermag forrásában lévõ állítod be. Ha az elrejtés helyesen van beállítva, munka- scanner.h-ban. Miként fordíthatom újra állomásaid el tudják érni és minden további nélkül fel a scanner.o modult anélkül, hogy az tudják oldani a webcímeket. A másik lehetõség, hogy egész rendszermagot újra kellene fordí- telepítesz egy DNS kiszolgálót a linuxos gépre, ez gyors- tanom? Mentsem el a /lib/modules/2.2.16 tárazza a munkaállomások kéréseit. Ha egyszerûsíteni tartalmát a fordítás elõtt? Visszaállítható szeretnéd ezt a beállítást, használd a BIND „csak továb- ez biztonságosan hiba esetén? bítás” (forward-only) mintabeállítását. Ennek hatására Jin, [email protected] a kiszolgáló csak gyorstáraz, nem épít fel saját helyi táblázatot. A fájl módosítása után add ki a make (cél) parancsot Chad Robinson, [email protected] a /usr/src/linux vagy hasonló nevû könyvtáradból: például make bzImage. Ez csak a szükséges fájlokat Nézz körül Linux-változatod honlapján, tartalmaz-e BIND fordítja újra. A Linuxhoz tartozó Makefile-készlet úgy van biztonsági frissítést. Ugyanis a BIND régi változatai beállítva, hogy bizonyos fájlokat mindenképpen lefordít- – például amit a változatod CD-je tartalmaz – gépesített son, ilyen például a main.c (ebbe a csoportba azonban támadások célpontjává válhatnak. Másik megoldásként csak néhány fájl tartozik). A módosítottak kivételével futtathatod a pdnsd-t. azonban átugorja az összes meghajtóprogramot. Don Marti, [email protected] Ha csak a .h fájlt módosítottad, a make program esetleg fsck újraindítás nélkül nem fordítja le a meghajtóprogramot. Ekkor használhatod Kiszolgálókat építek, amelyeknek folyamatosan kell a touch parancsot a scanner.c-re, hogy a rendszer úgy üzemelniük egy évben 52 héten keresztül (természete- érzékelje, a scanner.c is megváltozott. Ezenkívül meg- sen, amíg szét nem égnek). könnyítheted az életedet, ha csak a modult használod, Lehetséges-e önmûködõen idõrõl-idõre ellenõrizni ebben az esetben nem kell a rendszermagot újrafordítani, a felcsatolt fájlrendszereket? csak a make modules parancsot kell újra kiadni. Franco Favento dei Favento da Trieste, [email protected] Chad Robinson, [email protected] Térj át a ReiserFsre (ez jegyzõkönyvezõ fájlrendszer Make zdisk SuSE-n Box zdead Linuxra)! Enélkül is voltak ugyan olyan linuxos kiszol- A make zdisk segítségével 2.2.16-os rendszermagot gálóim, amelyek éveket át futottak fájlrendszerhiba fordítottam SuSE alatt. Amikor elindítom a rendszert, nélkül, de a ReiserFs a legmegbízhatóbb. Nagyon kismé- a betöltés elõrehaladtát jelzõ pontsorozat kifutott a retû fõfájlrendszert indíts (vagy még jobb, ha memória- képernyõ széléig, és megjelent az out of memory lemezt használsz), és csak azokat a végrehajtható fájlo- hibaüzenet. kat tedd rá, amelyekre feltétlenül szükséged van az Eskinder Mesfin, [email protected] alaprendszer futtatásához. Így lecsatolhatod azokat a A fordítást make bzdisk segítségével kell elvégezned, fájlrendszereket, amelyeket ténylegesen ellenõrizned kell. ez megoldja a gondodat. A make bzdisk Chad Robinson, [email protected] másféleképpen rendezi a memóriát, így nagyobb Egy felcsatolt fájlrendszer kizárólag csak olvasható rendszermagok mûködését is lehetõvé teszi. módban ellenõrizhetõ. Nem lehet a hibákat javítani. Marc Merlin, [email protected] fsck.ext2 -fn eszköz.neve artva Sokféle segédanyag található a Linux Journal webhelyén. Ez felfedezi a hibákat, és ezután megtervezheted A Sunsite-tükrözés, a GYK-k és a HOGYAN-ok mind a leállást a javításhoz. megtalálhatók a  http://www.linuxjournal.com/ címen. Keith Trollope, [email protected] Nincs névkiszolgálóm, X és hang hálózaton keresztül de használnom kell az nslookupot Megjelenhet-e egy X ablak egynél több X megjelenítõn? Linuxot szeretnék telepíteni egy olyan gépre, amely Megvalósítható-e, hogy DVD-kimenetet jelenítsek meg elrejti a munkaállomásaimat, valamint kaputovábbítást lakásszerte (csak olvasható módban)?

t. Minden jog fennt biztosít a web- és levélkiszolgálóimhoz. Kell-e belsõ DNS Amikor távoli gépen X-alkalmazást futtatok, hogyan kiszolgálót telepítenem a linuxos gépre, hogy a belsõ varázsolhatom rá a hangot a helyi gép hangszórójára is? munkaállomásokról érkezõ DNS kérésekre – amelyek Eddig csak azt sikerült elérnem, hogy az alkalmazást webböngészés közben keletkeznek – válaszoljon? futtató gépen szólalt meg a hang. A fentihez hasonlóan Szívesebben használnám a hosts fájlt a név-IP-cím átirányítható-e a hang egynél több címre? (Még mindig fordításra a belsõ hálózatomon. a „DVD-lejátszás lakásszerte” az álmom.)

© Kiskapu Kf Brandon Zumwalt, [email protected] Matthew Holmy, [email protected]

28 Linuxvilág Láttuk-hallottuk

«

Az xmx lehetõvé teszi a szokásos X-alkalmazások El kellene olvasnod a A Linux Journal honlapján megjelenítését több X képernyõn  http://www.suse.de/~aj/linux_lfs.html weboldalt. további segítséget talál-  http://www.cs.brown.edu/software/xmx/, viszont Nem elég, ha a rendszermag és a glibc támogatja a nagy hattok számtalan gond a megjelenítési sebességre érzékeny alkalmazások fájlokat, neked is meg kell tenned a következõket a megoldásához. A Sunsite (például a DVD-lejátszók) megkerülik az X-kiszolgálót, programjaidban: tüköroldalait, a gyakran amikor a videokártyára írnak. Hacsak nincs egy lassú, 1. Fordítsd a programjaidat a gcc feltett kérdéseket és egyéb hagyományos megjelenítési módjuk, ezeket nem lehet -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE útmutatásokat a távoli képernyõre átvinni. Nem tudsz teljes képsebes- paranccsal. Ezzel minden fájlelérési hívást arra kénysze-  www.linuxjournal.com/ ségû tömörítetlen videoanyagot ethernethálózaton rítesz, hogy a 64 bites változatot használják. Megváltozik honlapon olvashatjátok el. átküldeni, mert ehhez túl sok az adat. Azt viszont meg- számos típus is, például az off_t off64_t lesz. Ezért A rovatban közzétett teheted, hogy a DVD-t az egyik gépen beolvasod, átkül- nagyon fontos, hogy mindig a megfelelõ típust használd, válaszokat Linux-szakértõk död a hálózaton, és a másik géppel lejátszod. és ne írj például int-et az off_t helyett. kis csapata készítette el. Hálózati hangrendszer segítségével megoldható a hang- 2. Add meg a Szívesen fogadják lejátszás a hálózaton keresztül is: _LARGEFILE_SOURCE további kérdéseiteket  http://radscan.com/nas.html. _LARGEFILE64_SOURCE (angol nyelven) a Egy másik kipróbálásra érdemes lehetõség a beállításokat. Ezekkel közvetlenül használhatod az LFS  www.linuxjournal.com/  http://rplay.doit.org/ címen található program. függvényeket, például az open64-et. lj-issues/techsup.html Marc Merlin, [email protected] 3. Használd az O_LARGEFILE jelzõt, amikor nagy fájlokat címen, ahol csak egy kérdõívet kell kitöltenetek Memóriazabálók felkutatása nyitsz meg. Marc Merlin, [email protected] angol nyelven, de levelet Nemrég telepítettem Linuxot 256 MB memóriával ren- is írhattok a [email protected] delkezõ számítógépre, melyet kísérleti kiszolgálóként PPP PCMCIA modemen címre. A levél tárgyában szerettem volna alkalmazni Oracle kiszolgálóval, továbbá Dell gépemet gyárilag telepített RedHat 6.2-vel, 2.2.16- szerepeljen a „BTS” Java-fejlesztésre is használnám. 6.1.1 változatszámú rendszermaggal és gyárilag tele- kulcsszó. Meglepetésemre a rendszerben memóriahiány lépett fel. pített PCMCIA modemmel vásároltam. Egy napon, Újraindítottam X nélkül, és megvizsgáltam a memória- a számítógép bekapcsolása után a rendszerbetöltési használatot a free segítségével. Kiderült, hogy körül- folyamat során az alábbiakat írta ki: belül 110 MB foglalt. Hogyan állapíthatom meg, hogy Bringing up interface ppp0 FAILED melyik folyamat mennyi memóriát használ? A rendszerindítás késõbbi szakaszában ezt az üzenetet Dhimant Patel, [email protected] kaptam: Couldn´t configure serial #1 (port=760, -/+ buffers Ne feledkezz meg a sorról, amikor irq=3): free a parancsot futtatod. A Linux önmûködõen felhasz- device already open nálja a szabad memóriát az I/O kérések idõszakos tárolá- serial_cs: register_serial() at 0x2f8 sára, és ezt a memóriát szükség szerint felszabadítja IRQ 3 failed a programok számára. Leginkább a cseretár used A modemkártyát kipróbáltam Windowst futtató gépem- állapotjelzõje miatt kell aggódnod. Ennek kicsinek kell ben és ott mûködik. lennie – néhány megabájtnál kevesebbnek. Steve Lohr, [email protected] Használhatod a ps aux | less parancsot, ez megadja minden futó folyamat memóriafelhasználását. Csak a Lehetséges, hogy egy olyan program fut, amely leköti tárban maradó méret (RSS) értéke fontos, de ne feledd, a soros kapudat. A két leggyakoribb „tettes”: a GPM hogy a memóriafelhasználás jelzett mennyisége nem (szöveges módú egérvezérlõ démon) és a sokfajta UPS- feltétlen tükrözi a valóságot. A különbség abból adódik, felügyelõ démon egyike. A tettesek felkutatásához add ps ax | less

hogy a ps az összes memóriát mutatja, a megosztott ki a parancsot. artva könyvtárak által elfoglaltat is, azok viszont csak egyszer Ha még ezután is gondjaid vannak az azonosítással, töltõdnek be, és minden folyamat használhatja õket, indítsd el a rendszert egyfelhasználós üzemmódban, amelyiknek szüksége van rá. és egyenként zárd be a felesleges programokat. Ezután Chad Robinson, [email protected] használd a minicom nevû programot, amellyel közvet- Két gigabájtnál nagyobb fájlok lenül elérheted a soros kaput, és ellenõrizd, hogy látod-e a modemet. Örömmel jelentem, a munkaadóm tett egy nagy lépést Chad Robinson, [email protected] a Linux használata felé, és vett nekem egy többprocesz-

szoros „pingvint” földrengésadatok feldolgozásához. Lehet, hogy egy rendellenesen véget ért kapcsolat záro- t. Minden jog fennt Viszont én gyakran dolgozom 2 GB-nál nagyobb fájlokkal. lófájlt hagyott a rendszerben. Keress régi zárolófájlokat RedHat 7.0-t használok 2.4.2 rendszermaggal és a /var/lock könyvtárban! Ilyenek például a LCK..modem ReiserFssel, de továbbra sem tudok 232 bájtnál nagyobb vagy LCK..ttyS1. Ha van ilyen, töröld le, és indítsd újra fájlokat kezelni. a gépet. Adam Cherrett, [email protected] Keith Trollope, [email protected] © Kiskapu Kf

www.linuxvilag.hu 2001. június–július 29 Töprengõ

Néha a túl sok sem elég. Kinek a keze van a zsebünkben? Dean Landsman

bban az idõben, amikor Steve Jobs Álljunk most meg egy pillanatra és vizsgál- A .NET ámításként, A még a NeXT-nél dolgozott, Robert junk meg két jól álcázott tényt, melyek X. Cringely beszélgetett vele egy a Microsoftot segítették abban, hogy termé- a HailStorm ezzel PBS-különkiadásban, amit azután a Számító- keiket a világ minden pontján megtalálhassuk. gépzsenik gyõzelme címmel adtak le. A mû- Elõször is nézzük meg, honnan indult az szemben már csatába sor Cringely könyvének (Hogyan szereznek egész. A Microsoft a kezdetektõl (1975-tõl) milliókat a Szilikon-völgyben dolgozó srá- fogva a személyi számítógépek piacán hívó szóként hatott cok, és miért nem tudnak csajozni?) televí- terjeszkedik. A felhasználó az elsõ, minden ziós változata lett. Az adás legjobb pillanata más csak ezután következhet. A nevükben a szakmai közvélemény az volt, amikor Cringely a Microsoftról lévõ „Micro” szó sem véletlenül van ott. kérdezte Jobsot. Másodsorban nagyon figyelnek arra, amit soraiban. Jobs hátradõlt, arcára öltötte leggúnyosabb a felhasználók akarnak. Fogadni mernék, mosolyát, és azt mondta: „Nincs ízlésük”. hogy amit egyetlen felhasználó javasol a ter- Ennyi: ezzel a két szóval Jobs nemcsak méktámogatáson ücsörgõ ügyfélszolgálato- a Microsoftról mondott lesújtó ítéletet, soknak, annak a Microsoft esetében jóval hanem némi öndicséretig is elmerészkedett. nagyobb esélye van a megvalósulásra, mint Valóban, a Microsoftnak nincsen ízlése, bármely más programfejlesztõ cégnél. Egy- Jobsnak viszont csak az van. szer a Microsoftnál dolgozó „fejesek” egyike Az ízléstelenség „bûne” ugyanúgy terheli elárulta nekem, hogy programjaik telis-tele a Microsoftot, mint ahogyan például a vannak olyan szolgáltatásokkal, melyeket McDonald’sot – ez egyértelmû. Az már „pontosan egy, azaz egyetlen vásárló javasolt”. viszont kevésbé az, hogy milyen termékeket A legtöbb olyan céghez hasonlóan, amely rejtenek el ízléstelen nevek és az „új lehetõ- milliók számára fejleszt programokat, ségeket feltáró szolgáltatások” semmitmondó a Microsoft is komoly bajban találhatja leírásai mögé. Vegyük például a .NET-et. magát, ha vásárlóit egyszer csak nem ügy- Egy évvel ezelõtt jelentették be, és még ma félként kezdi kezeli, hanem valami másként. sem tudja senki biztosan, hogy mit takar. Nézzük csak meg a Passport címét Megjelenésekor Joel Spolsky és a hozzá  http://www.passport.com/Consumer/ hasonló nagyágyúk átverésnek minõsítették: default.asp. „Consumer”, azaz fogyasztó. „Olvassuk csak el a szakmai leírásokat és Igen, fogyasztó vagy. Sõt, Jerry Michalski máris láthatjuk, hogy az egész egy nagy hum- szavával élve, egy „garat”, melynek az bug; a .NET valójában egy vékonyka ködré- a feladata, hogy a futószalag végén álljon, teg a FUD felszínén. Az égvilágon semmi a Nagy Gyárból érkezõ termékeket gondol- újat nem hoz. Minél jobban próbálnánk kodás nélkül benyelje és pénzt ürítsen. kihámozni a leírásokból a lényeget, annál Szánalmas lények ezek a fogyasztók. Nézzük jobban kicsúszik a kezünkbõl az egész.” csak a HailStorm ismertetõjének „A felhasz- A HailStormmal más volt a helyzet. A .NET náló-központú élmény születése” címû ámításként, a HailStorm ezzel szemben már részét, amely arról a szörnyûségrõl szól, csatába hívó szóként hatott a szakmai köz- amit a Palm-OS-sel dolgozó szegény kicsi vélemény soraiban. Amitõl igazán felboly- fogyasztóknak kell átélniük:

artva dult a méhkas, az a Passport (útlevél) nevû, „Ha barátaink új telefonszámát szeretnénk ártatlannak tûnõ szolgáltatás volt. Hallgas- bevinni otthoni számítógépünkbe, akkor csak suk ismét Joelt: a billentyûzetre és egy programra, például a „Csak én lennék az egyetlen, akit elborzaszt Microsoft Outlookra van szükségünk, és né- a Microsoft Passport ötlete? Az egész úgy hány jól ismert, megszokott kézmozdulattal tûnik számomra, mintha a Microsoft a világ elvégezhetjük a feladatot. De ha ugyanezen legnagyobb, legsokoldalúbb vásárló-adatbá- adatokat egy Palm Pilotra szeretnénk bevinni, zisát akarná felépíteni, majd hatalmas bevé- akkor teljesen új kezelõfelületet kell megis- teleket szerezni annak kibányászásával. mernünk – olyan ez, mintha újra kellene t. Minden jog fennt Óriási veszélyt jelent a magánjellegû inter- tanulnunk a kézírást! Egy ilyen környezet, nethasználatra. A Passport fényében a mai melyben a felhasználóknak kell megszokniuk sütik (cookies) az üzleti szellem kimondot- a megoldásokat, és nem a megoldás alkalmaz- tan szelíd megnyilvánulásának tûnnek. kodik hozzájuk, jelentõs mértékben rontja az A legrémisztõbb az, hogy a Microsoft az alkalmazások, honlapok hatékonyságát…” egészet úgy hirdeti, mintha ezzel a vásárlók Na, vajon mi ez a szörnyûséges környezet? © Kiskapu Kf járnának jól, és az emberek beveszik ezt!” Úgy hívják: piac. Aggódó, szeretõ édes-

30 Linuxvilág Töprengõ

anyánk, a Microsoft viszont megkérdi akarta vásárolni az Intuitot? A banki és hitel- vágja el a mûködését biztosító forrásoktól. tõlünk: de hát ki akar valódi piaci körülmé- kártyás ügyletekkel foglalkozó vállalatok Megkerüli a bazárt. Azt dicsõíti és viszi nyek között élni? Hiszen az olyan zavaros. azonnal fellázadtak és eredményesen lobbiz- tovább, amit John Wanamaker által az artva Olyan zajos. Túl sok benne a kereskedõ, túl tak a szerzõdés megkötése ellen. A HailStorm 1800-as évek végén feltalált árcédula óta sok benne az okoskodó vásárló. Túlságosan éppen õket iktatja ki a játékból, szinte mind a termelõi szemlélet elért. valóságszagú. A fogyasztóknak rovarbábhoz egy szálig, de gyanítom, hogy elképzelésük Nekünk, a többieknek egyetlen nagy kihívá- hasonló körülményekre van szükségük, sincsen arról, mi történik a hátuk mögött. sunk maradt: ugyanazt kell tennünk a olyanokra, mint amilyeneket például a tévé Az átverés mûködõképesnek látszik. piaccal, mint amit a Nettel tettünk. Olyan, is biztosít a számukra: egyirányú adatköz- A fejlesztõket azonban nem lehet átverni. mindenki számára elérhetõ feltételeket kell lésre szolgáló csatornát, mint amilyenek A Microsoft erre nem képes egyedül. Nézzük teremtenünk, melyek a Mátrixok építgetését a Mátrix hatalmas elemfeltöltõ hálózatai is. meg, hogy milyen csalit vetnek oda a kis lehetetlenné teszik. Ehhez természetesen

A Mátrix oldaláról nézve a HailStorm halaknak: szükségessé válik egy dolog, amihez eddig t. Minden jog fennt jelenti a „szolgáltatásokat”, az elem olda- nem mindenkinek volt alkalma hozzászokni: láról pedig a Passport: az, hogy a kereskedelemrõl gondolkodjunk. „A HailStorm használatára képes eszközök Pontosabban: a piacokra találkozóhelyek- és alkalmazások önmûködõen a megfelelõ ként kell tekintenünk, nem pedig egyirányú, HailStorm-szolgáltatásokhoz csatlakoznak. a termékek „benyeletésére” szolgáló

Mivel az életünk részét képezõ rengeteg alkal- terjesztõhálózatként. © Kiskapu Kf mazás és eszköz egy általunk irányított, közös Ez már csak a kulturális okok miatt sem lesz adattárral kapcsolódik majd össze, ezért a könnyû. Eric S. Raymond Homesteading különbözõ szakmai megoldások, emberek, the Noosphere címû könyvében írja: „a be- szolgáltatások közötti adatmegosztás bizton- tyáreszmények különbözõ változatainak” ságossá és egyszerûvé válik (…) A HailStorm  www.passport.com/Consumer/default.asp egyik fontos közös vonása „a kereskedelmi úgy épül fel, hogy a szolgáltatások között programokkal és az ezeken nyerészkedõ következetes átjárhatóságot és bõvíthetõséget „A Microsoft a fejlesztõktõl is beszed némi vállalatokkal szembeni ellenállás”. De a alakítson ki. Lehetõvé teszi az általános azo- pénzt, amely az általuk igényelt szolgálta- betyárok a Net építésében is tevékenyen nosítást, üzenetküldést, elnevezéseket, közle- tások és termékek költségeit fedezi. (...) részt vettek és vesznek, és az Internet olyan kedést, biztonságot, szereptérképezést, adat- A szolgáltatások mûködtetõi szerzõdéses ígéretes terepet biztosított a vállalkozások modellezést, méréseket és a hibakezelést viszonyban fognak állni a Microsofttal (...). számára, hogy milliószor millió dollárokat valamennyi HailStorm-szolgáltatás között. Ez a szerzõdés lehetõvé teszi, hogy a szol- fektettek bele, és ezzel az üzletágat olyan A HailStorm dinamikus, megosztott, egysze- gáltatást ártalmas célokra használókat „kokainkúrának” tették ki, amelybõl az csak rûsített XML tárolóhoz hasonlít. XML üzenõ- kiiktassuk a rendszerbõl. A szerzõdés meg- hosszú évek alatt lesz képes felépülni. felületeken (XMI-ken) keresztül érhetjük el, kötéséhez és ezzel egyidejûleg a HailStorm Nyilvánvaló, hogy a legtöbb befektetõnek ahol a szolgáltatásfelületek hagyományos szolgáltatások használati jogához szintén elképzelése sem volt arról, hogy a betyárok SOAP üzenetekként valósulnak meg, melyek költségek kapcsolódnak.” valójában mire készültek. Eric S. Raymond bemenõ és visszatérési értékei XML formá- Na, szépen vagyunk: körvonalazódni kezd 1999 elején, jóval a nagy összeomlás elõtt tumúak, és minden szolgáltatás a HTTP a Microsoftnak behódoló programipar által a következõket mondta: „Mi, betyárok azt Postot támogatja üzenetátviteli protokollként.” felépített internetalapú kereskedelem, amely a célt tûztük ki magunk elé, hogy a hagyo- Természetesen ennek ára is van: a Microsoft és a vele szövetséges fejlesztõk mányos kereteken kívül mûködõ új csator- „A Microsoft a HailStorm-szolgáltatásokat által épített háttérrendszert fogja használni. nákat hozzunk létre. Ezt nem a számítógép- üzleti alapon fogja mûködtetni. A HailStorm- Álljunk meg egy percre! Szeretném megje- guruk tevékenységének melléktermékeként szolgáltatásoknál valós mûködési költségek gyezni, hogy én itt és most nem egyszerûen kell elképzelni, ez az 1970-es évek óta jelentkeznek majd. A felhasználóközpontú a Microsoft ellen buzdítok. A mindenki által célunk volt. Ez tudatos forradalom.” modellt veszélyeztetné, ha e kiadásokat pél- „fogyasztói szemlélet” névvel illetett elvet A Linuxszal a fejlesztõk számára építettünk dául hirdetõk bevonásával fedeznénk, így a támadom, bár ha ezt pontosan akarnánk bazárt. Most itt az idõ, hogy mindenki számá- szolgáltatásokat igénybe vevõk – a végfel- megfogalmazni, akkor inkább „termelõi ra építsünk egyet. Hozzunk létre a kereskede- használók – válnak a Microsoft elsõ számú szemléletnek” kellene neveznünk. Ez nem lem számára olyan rendszert, amelyet, akár- bevételi forrásává. A HailStorm segít majd más, mint az a hit, hogy a Termelõ meg- csak az Internetet, senki sem birtokolhat, vi- abban, hogy az Internet végfelhasználói elõ- mondhatja a Fogyasztónak, hogy az mit akar. szont mindenki használhat és bárki fejleszthet. fizetéses rendszerré alakuljon át, ahol a fel- Néhány hónappal korábban ezeken az oldala- Az igazi piacok nyilvános helyek. Nem használók fizetnek a megkapott tartalomért.” kon a Dellt és a Gatewayt szapultam azért, kaparinthatjuk meg azt, ami mûködik, csak Más szavakkal: a Microsoft az Internet mert honlapjaik látogatóira a választás lehe- azért, mert mindenki számára elérhetõ. De üzleti oldalát egyetlen nagy online-szolgál- tõsége nélkül erõltetnek rá bizonyos termé- ha nem lépünk színre egy olyan rendszerrel, tatássá szándékozik egybeolvasztani. keket. A HailStorm segítségével a Microsoft amely mindenkinél mûködik, akkor valakik De nem a kábeltelevíziós rendszer mintá- ezt a rendszert olyanná bõvíti ki, ahol hamarosan építeni fognak maguknak egyet. jára, ahol a csõ végén található dugóért minden „garat” odaállhat bármelyik futó- És abban nem lesz köszönet. fizetünk. Ó nem, hiszen te a la carte szalag végére. A Windows rendkívül széles modellt szeretnél, ahol Te, az Elem fizetsz körû elterjedtségét figyelembe véve elmond- Doc Searls mindenért. Ez ugyebár jóval becsületesebb hatjuk, hogy valószínûleg ez fog történni. ([email protected]) és hatékonyabb, mint a jelenlegi hitelkártyás Vagy legalábbis ezt szeretnék. a Linux Journal szer- rendszer, amely a végsõ tranzakció eladási Nem azzal van a gond, hogy a HailStorm kesztõje és a Cluetrain oldaláról szép nagy szeletet vág le. elvágja a piactól a versenytársakat, a közve- Manifesto társszerzõje. Emlékszünk még arra, amikor a Microsoft fel títõ feleket vagy bárki mást. Magát a piacot

www.linuxvilag.hu 2001. június–július 31 Töprengõ

Bukás lett a Linux?

élre a szalagcímmel: termé- foglalkozó cég részvénye mélyrepülésbe Elmagyaráztam neki, hogy az SSC munká- F szetesen nem. kezdett, az IBM tartotta magát. Hogy miért? jának középpontjában a Unixszal kapcsolatos Miután ezt tisztáztuk, lássuk mibõl Mert a Nagy Kék biztos alapokon álló cég. oktatás áll, és nem az általános számítógépes élünk. A közelmúltban láttuk, ahogyan a Nézzük most a másik végletet, a Linuxot, ismereteké. Azt gondolta, hogy megõrültem. linuxos cégek részvényei soha nem látott az új jövevényt. A Microsoft azt mondja, Hát, lehet hogy õrült voltam. Lehet, hogy mélységekbe zuhantak. Linuxos újságok az voltam akkor is, amikor úgy döntöttem, szûntek meg. Linuxos cégek húzták le a hogy szükség van a Linux Journalra, de rolót vagy kényszerültek megválni alkal- legalább jól érzem magam tébolyomban. mazottjaik nagy részétõl. A több lábon álló Megéltük, hogy akik a haszon reményében cégek kivonultak a linuxos piacról. szálltak be a Linuxba, most visszaléptek. Mit jelent mindez? Ez sajnos azt jelenti, hogy néhány jó ember, A kristálygömböm helyett a nyolc évre aki hitt a Linuxban és spekulációba kezdett, visszatekintõ linuxos tapasztalataimhoz rosszul járt. Ez azonban semmiképp sem folyamodom, és ezt egészítem ki csöppnyi csökkenti a Linux értékét. logikával. Remélem, az eredmények nem Ha már itt tartunk, beszéljünk a Linux igazi maradnak el a régi, jól bevált kristálygömb- értékérõl. Ha igazi gazdasági visszaesés höz képest. tanúi vagyunk és nem csak a pénzek mozog- Amikor Linus Torvalds a Linux mellett nak egyik területrõl a másikra, a Linux ér- döntött, elhatározása azon alapult, hogy téke növekszik. Például az Embedded Linux hite szerint valami olyat képes alkotni, Journal testvérlapunk május-júniusi számá- amelyre a világnak igazán szüksége van, ban olvashattunk az amerikai postáról, ahol ami valami újat nyújt az emberiségnek. 7200 Linux-alapú számítógépet használnak Az idõ bebizonyította, hogy igaza volt. – az irányítószámok beolvasására és vonal- 1993-ban, amikor úgy döntöttem, hogy kód-nyomtatásra. Ez 7200 olyan számítógép, a világnak szüksége van a Linux Journalra, amelyen szabadon felhasználható, ingyenes azért gondoltam így, mert hittem abban, Ez sajnos azt jelenti, hogy néhány program fut. amit Linus elkezdett, és úgy éreztem, igény jó ember, aki hitt a Linuxban és Ez csak egy példa a sok közül. Nézzük meg, van egy magas színvonalú szaklapra, amely spekulációba kezdett, rosszul járt. hány webkiszolgáló fut a világon. Minden segíti megismertetni ezt a rendszert a világ- Ez azonban semmiképp sem Linuxot futtató webkiszolgáló egy szerzõi gal. Az idõ és az olvasók visszajelzései csökkenti a Linux értékét. joggal levédett kereskedelmi programmal alapján elmondhatjuk, hogy igazam lett. kevesebbnek enged teret. A Linux haszná- Most mi is a helyzet? Vonatkoztassunk el hogy a Linux rossz ómen. Azok a spekulán- latával felszabaduló pénzt át lehet áramol- egy kicsit a linuxos közösségtõl. A Sun sok, akik nemrég még versengtek a Linuxért, tatni más területekre. Lehet belõle további Microsystems részvényeivel tavaly 120 dol- most visszavonulót fújtak. Azok a cégek, gépeket venni, ki lehet fizetni az alkalma- láros áron kereskedtek, ma ezek a papírok amelyek a Linux irányába kezdtek terjesz- zottaknak, vagy egyszerûen félre lehet tenni. 40 dollárt érnek (ami valójában húsz dollár kedni (legyen szó programfejlesztõkrõl vagy Egyre több helyen használnak Linuxot. alatti árat jelent, mert a papírokat idõközben gépgyártókról) ráeszméltek, hogy ingová- Ha nem hiszed el, kezdd el számolni a web- felezték). Az Apple részvényei egy nap alatt nyos talajon járnak és visszaléptek. A Linux kiszolgálókat és a beágyazott rendszereket. 50 dollárról 25-re estek vissza, és most, hat áldozatul esett a rövidtávon nagy haszonra Igaz, az asztali gépeken csak ritkán látni hónappal késõbb is csupán húsz dollár körül számítóknak. Linuxot, de a hatás ezen a területen érezhetõ

artva mozognak. A Cisco rövidebb mint két hó- Eszembe jut egy telefonbeszélgetés, amit az a legkevésbé. A Linux köszöni, jól van. napos mélyrepüléssel, több mint negyven 1980-as évek közepén folytattam. Az SSC Tovább fog növekedni mind a felhasználói dolláros vesztés után kevesebb mint húsznál tartott néhány Unixszal kapcsolatos tanfolya- számát, mind az értékét tekintve. Nagyon tart. Folytathatnám… mot: volt gyorstalpalónk vezetõk számára, sajnáljuk, hogy vannak olyan Linux-hívõk, Igaz, hogy az utóbbi idõkben nem találkoz- volt képzésünk nem mûszaki beállítottságú akik úgy gondolták, hogy a végcél a pénz, hattunk a tõzsdén kiemelkedõen nyereséges emberek számára, természetesen programo- és nem a világuralom. Ez a kis megrázkód- cégekkel, mégsem zuhant minden részvény zókat is okítottunk, továbbá C-t is tanítot- tatás remélhetõleg segít, hogy visszatérjünk több mint ötven százalékot. Mindössze tunk. A C-tanfolyamról volt szó. A beszél- a helyes útra. annyi történt, hogy a befektetõk megijedtek, getõpartnerem úgy gondolta, hogy sokat t. Minden jog fennt kivették a pénzüket a spekulációs befekteté- foglakozunk a unixos C-fordítóval, a unixos Phil Hughes sekbõl és biztonságosabbakat kerestek. programkönyvtárakkal, a make paranccsal ([email protected]) Minden, aminek köze lehetett a dot-com és sok más Unixra jellemzõ programmal. a Linux Journal cégekhez, bizalmatlanságot keltett, ezért Azt állította, hogy tanfolyamunk sokkal több kiadója, elkötelezett ezek a cégek jártak a legrosszabbul. tanuló érdeklõdését keltené fel, ha elhagy- Linux-õrült. 1993 óta Nem hiszel nekem? Vess egy pillantást az nánk ezeket a részeket. Például számíthat- rengeteg embert © Kiskapu Kf IBM-re. Amikor minden informatikával nánk az MS-DOS-felhasználókra is. nyert meg a Linux számára.

32 Linuxvilág Linux és üzlet

A hanyatlás napos oldala artva A zuhanó alkatrészárak és a csökkenõ kereslet elõnyös a vásárlók számára.

gazdaságban érzékelhetõ vissza- a megfelelõ elismerést, mégis csupán körül fog mozogni, míg a 128 MB vagy esés megtépázta a számítógépek körülbelül kétszázezret adtak el belõle. nagyobb memóriával felszerelt készülékek

és más csúcseszközök iránti Az alacsony értékesítési arány részben ára 300 dollárnál kevesebb lesz. t. Minden jog fennt kAeresletet. Ez a megtört ütemû fejlõdés a készülékek magas árával magyarázható: A Napster átengedése ellenére e rendszerek súlyosan érintette a legtöbb félvezetõgyártó ötszáz dollárt kérnek érte. A TiVo tavalyi népszerûsége tovább fog növekedni, mert cég árbevételét és nyereségét. A cégek indulásakor a 30 GB-os merevlemez ára lehetõvé teszik, hogy a számítógép-hasz- veszteségeibõl azonban végül is a vásárlók nálók zenei gyûjteményüket digitalizálják húznak hasznot. A hanyatló alkatrészárak és mindenhová magukkal vigyék. A Linux

felszítják a keresletet a webpadok, a merev- kulcsszerepet játszhat a géphasználók © Kiskapu Kf lemez-alapú képmagnók, a digitális filmfel- MP3-rendszereinek hálózattá alakításában, vevõk és az MP3-lejátszók iránt, amelyek így lehetõség nyílik a zene zavartalan közül számos Linux-rendszerrel mûködik. hordozhatóságára. A számítógépes lapkagyártás már számos Sajnálatos módon a lapkák mérséklõdõ árai fellendülési és hanyatlási idõszakot megélt, nem mozdítják elõ a számítógépek eladá- és jelenlegi állapotát tekintve éppen leszálló sát. 399 dolláros árszintnél a gépek már ciklusban van. A baj az, hogy egy új lap- olyan olcsók, amennyire csak lehetnek, kagyártó üzem vagy gyár építése egymil- ráadásul a kulcsfontosságú alkatrészek liárd dollárnál is több befektetést igényel, eltávolítása nélkül. Emiatt a számítógép- és a helykiválasztástól a tömegtermelés gyártók a kisebb lapkaköltségeket használ- beindításáig mintegy két év telik el. ják fel arra, hogy gyorsabb processzort, A kereslet fellendülésének szakaszaiban nagyobb memóriaméretet és merevlemez- – ilyen volt a tavalyi év is –, a félvezetõ- tárhelyet nyújtsanak ugyanazért az árért. gyártók képtelenek megfelelõ ütemben A TiVo honlapja Néhányan talán elcsábíthatók azzal, hogy növelni a termelést, ez viszont hiányt és http://www.tivo.com ugyanazért az összegért jobb gépet magas alkatrészárakat okoz. Jelenleg azon- kapnak, ámde a nehezebb feladat mégis- ban épp azt tapasztaljuk, hogy a növekvõ háromszáz dollár körül mozgott. Mostanra csak a felhasználók többségének meggyõ- kapacitás csappanó kereslettel találkozik. ugyanez a merevlemez már száznál is zése lesz, hogy márpedig nekik nagyobb A közgazdaságtani alapismeretek szerint kevesebbe kerül. Alacsonyabb árak mellett teljesítményû számítógépre van szükségük. az árak zuhanni fognak. Valóban: az elmúlt több ember fogja megvásárolni a TiVo A mostani gépek többsége kitûnõen félév során a memóriamodulok ára több rendszerét, hogy ezen keresztül élvezze megfelel levelezésre, szövegszerkesztésre mint ötven százalékkal zuhant, akárcsak kedvenc televíziós mûsorát. vagy éppen a Világhálón való böngészésre. a lapos képernyõk (LCD-kijelzõk) árai. A TiVo-rendszerhez hasonlóan az MP3 – Mindemellett a digitális képrögzítés, A flashmemóriák és egyéb alkatrészek értéke CD-lemeztár is olyan egyszerû számítógép, fényképezés és zenefeldolgozás növekvõ szintén lefelé ereszkedik. Ezek az alacsony amelyet nagy tárhelyû merevlemez köré épí- népszerûsége siettetni fogja a következõ árak sok felfutó terméknek hajtanak hasz- tettek. Ezek a lemeztárak közvetlenül kapcso- gépfejlesztési idõszakot. not. Például itt vannak a webpadok: ezeket lódnak a házi sztereorendszerekhez. Éppen Az iparban tapasztalható borúlátás ellenére a készülékeket még csak néhány cég árulja, mostanában kerülnek a boltokba, csakhogy a módszer még mindig nem vált rossz általában ezer dollárnál drágábban. A magas az olyan árak, mint az AudioReQuestért kért ötletté. Az Internet továbbra is alapjaiban árért a lapos képernyõ ára a felelõs, amely 799 dollár, kizárják a nagy kereslet lehetõ- változtat meg mindent, amivel dolgozunk több száz dollárra rúgott. ségét. Ezeket a rendszereket szintén a meg- vagy amit elõállítunk. Sõt, a digitális adat- A képernyõárak zuhanásával a kereskedõk szelídülõ alkatrészárak tehetnék népszerûbbé. hordozókhoz való viszony még a személyi végre jóval ezer dollár alatt is összeállíthat- A SonicBlue – amely az MP3-as rendszerek szórakoztatást is forradalmasítja. Az 50–75 nak webpadokat, sõt akár ötszáz dollár Rio névvel fémjelzett termékét állítja elõ –, százalékkal mérsékelt lapkaárak követ- körülire is mérséklõdhet az áruk. Nincs a Kerbango és más gyártók egyöntetûen keztében ezen irányzatok fejlõdése folya- kétségem afelõl, hogy a gyorsan alkalmaz- Linuxot használnak MP3-as lemeztáraik matosan gyorsulni fog a jövõben is. kodó piac értékelni fogja a kedvezõ árakat, mûködtetésére. és csökkenésével párhuzamosan folyama- Az MP3-lejátszók költségének legnagyobb tosan bõvülni fog. A mai napig bejelentett részét a flashmemória teszi ki. A 250 Linley Gwenapp webpadok a Transmeta cég Crusoe lapkáját dollár árú lejátszóban található 64 MB ([email protected]) Linux-rendszerrel mûködtetik, ezzel terem- flashmemória tavalyi áron 120 dollárba a The Linley Group tik meg a megfelelõséget a Világháló felé. kerül. Még ez a memóriaméret is csupán szakmai elemzõ cég A TiVo cég csúcsképmagnója – amely a kb. néhány órányi zene tárolására képes. alapítója és vezetõje. televíziós programokat videoszalag helyett Alacsonyabb flashmemória-árakkal a sze- A cég honlapja elérhetõ a merevlemezen tárolja – megkapta ugyan rényebb minõségû lejátszók ára 100 dollár  http://www.linleygroup.com címen.

www.linuxvilag.hu 2001. június–július 33 Vezérfonal

artva Nemzetköziség és a fejlõdõ piacok

mikor visszatértem az idei hanno- már észrevették, hogy a cikkek szerzõi A nemzetközi helyzet nálunk is érezteti veri CeBIT kiállításról – ahol a világ különbözõ pontjain élnek, és kü- a hatását. De mint minden országban, Jon „maddog” Hall (Linux lönféle számítástechnikai kihívásokkal hazánkban is egyedi kép alakult ki. Szaló International)A kihasználta a kiváló alkalmat szembesülnek. Megoldásaik azonban mind István arra vállalkozott, hogy egy elmélkedõ

t. Minden jog fennt arra, hogy a németországi kormány számára a Linux által nyújtott méretezhetõséget és cikksorozat keretében áttekintse, milyen a a Linux által nyújtott elõnyöket elemezze rugalmasságot igazolják. Linux és a nyílt forrás helyzete ma Magyar- – azt hiszem, rájöttem, miért is lelkesedik John Biggs nemrég két évet töltött Lengyel- országon a legfontosabb területen: az okta- ennyire Nyugat-Európa a Linuxért. A Linux országban; a 38. oldalon található a Lengyel tás berkein belül. Journal standjánál megálló lelkes érdeklõ- Linux címû cikkében arról számol be, hogy A szerzõ tanárként saját bõrén érzi a válto- dõk között egyaránt találtam holland, angol, a lengyelek milyen területeken karolták fel zásokat, és mint minden jó pedagógus,

© Kiskapu Kf francia, spanyol, portugál és belga szakem- a Linuxot, és milyen akadályok tornyosul- hosszú távra tervez. Milyen oktatási környe- bereket. Ez természetesen várható is volt. nak még elõttük. zetben nõnek fel gyermekeink? Melyek Melyik Linux-rajongó ne ismerné a SuSE Jorge Eduardo Nieto Lema emlékeztet a választási lehetõségek és vajon a legjobb vagy a Mandrake nevet? A Linux – tulaj- bennünket arra, hogy a nyílt forrású prog- lehetõség mellett döntünk-e? donképpen – az európai szellem szülötte. ramok alkalmazásának lehetséges elõnyei Nagyon fontosnak tartom, hogy ezen a terü- Az a hatás azonban meglepett, amelyet a nemzetek számára immár a programok leten is értsék és megértsék a Linux, a nyílt a Linux gyakorol a világra, s erre azóta jogdíjának megfizetésénél sokkal fontosabb forrás és a szabad programok elõnyeit, erõs- kezdtem felfigyelni, amióta elkezdtem kérdések megoldására teremtenek lehetõsé- ségeit. Világszerte villámgyorsan befogadták a Linux Journalnál dolgozni. Például az get. A 35. oldalon ismerteti velünk a termi- ezeket az újdonságokat, nemigen akad már egyik legérdekesebb Linux-alapú termék, nálkiszolgáló-építés módszereit, melynek olyan fejlett ország, ahol a fõiskolákon, egye- melyet a CeBIT-en láttam, nem egy segítségével lemeznélküli munkaállomá- temeken ne oktatnának Linuxot. Vajon lesz-e európai, nem is egy amerikai cég terméke sokat telepíthetünk, amelyek egy hálózati kis hazánkban oktató, tanár, aki hajlandó az új volt, hanem a Galleo izraeli vállalat linuxos kiszolgálóról indítják az operációs rendszerrel foglalkozni? Vajon lesz-e válla- Mobile Multimedia Communicator nevû rendszert; így olyan környezetet alkotnak, latvezetõ, beszerzõ, ügyintézõ, aki átlát az készüléke. Nem lep meg, hogy a Linux mely fõképp a szûkös költségvetésû cégek erõszakos reklámhadjáratot folytató nyereség- nemzetközi hódító körútra indult, hiszen számára lehet elõnyös. Jorge elmagyarázza központú cégek plakátjain, saját jelenén és az Internet gyermeke nincs tekintettel a telepítés folyamatát, majd beszámol nem fél az újba vágni? Lesz? Szerencsére a földrajzi határokra, és terjedése elé a tapasztalatairól, melyeket az LTSP üzembe van! Még messze nem elegendõ számú ember magas költségek sem gördítenek akadályt helyezésekor szerzett egy kolumbiai ismeri ezt az új világot, de már most többen – hacsak nem az internet-elérés létesíté- vállalatnál. vagyunk, mint azt az ellentábor kívánná. sével kapcsolatosak. Gondolom, olvasóink Richard Vernon Szy György

34 Linuxvilág Vezérfonal

Építsünk linuxos terminálkiszolgálót artva Csökkentsük a költségeket és növeljük a termelékenységet könnyen telepíthetõ lemeznélküli munkaállomásokkal.

nyílt forráskód elterjedésével sok latin-amerikai ember Mi is az a Linux Terminal Server Project (LTSP)? és intézmény juthat olyan módszerek és tudás birtokába, Az LSTP célja egy olyan egyszerû módszer kidolgozása, amellyel t. Minden jog fennt amely egyébként csak a fejlettebb országokra jellemzõ. lemeznélküli munkaállomásokat lehet felállítani Linux alatt. A meg- A megfelelõ háttérrendszer, a gazdasági források hiányosságai és a határozás szerint a lemeznélküli munkaállomás olyan számítógép, lakosság túlnyomó többségének hiányos mûszaki képzettsége az oka amely azután indul el, hogy a helyi hálózaton található kiszolgálóról annak, hogy Latin-Amerika a számítástechnika területén messze a letöltötte az operációs rendszert. Az LTSP-eszközök ezt a feladatot világelsõk mögött kullog, és az Internet által létrehozott információs úgy oldják meg, hogy a kiszolgáló tartalmaz egy kis rendszermag- forradalomból nem képes hasznot húzni. Például Kolumbia népessé- lenyomatot, XFree86 kiszolgálót, és néhány más hálózati eszközt, © Kiskapu Kf gének (megközelítõleg 40 millió fõ) kevesebb mint tíz százaléka amelyeket kérelem esetén a munkaállomásoknak továbbít. A lemez- jelentkezett be valaha is az Internetre. Ez azonban nem tekinthetõ nélküli munkaállomásnak mindössze egy indító ROM-ra van szüksége kivételnek, hiszen az egész térségben hasonló gondokkal küszköd- a megfelelõ hálózati kártyához, hogy a megfelelõ programokat nek. A költségtakarékos, hatékony és könnyen kivitelezhetõ nyílt a kiszolgálóról letölthesse. Jó hasznát véve az Etherboot project nyílt forráskód szabad felhasználhatósága és ingyenessége azonban forráskódú programjának  http://etherboot.sourceforge.net/, az LTSP segíthet abban, hogy ezek az országok beérjék az iparosodott világot. elkészítette és programjával feltöltötte saját indító-ROM-ját. Látván, hogy egy hálózati kártyához való indító-ROM készítése (égetése) elég bonyolult feladat, egy, a fejlesztéshez közel álló cég, a Diskless Workstations  http://www.DisklessWorkstations.com/ honlapján alacsony vételárral kínálta saját, elõre beállított változatát. Érdemes megemlíteni, hogy az LTSP indító-ROM-okat hajlékonylemezre is ki lehet írni, amelyrõl aztán a lemeznélküli munkaállomás elindulhat.

Tapasztalataink az LTSP-vel Az elmúlt évben kezdtem LTSP-n alapuló lemeznélküli munkaállo- másokkal foglalkozni, amikor a cukornád-feldolgozóipari munkások egyik kis szervezetének olcsó, könnyen használható számítógépes és adatkezelõ rendszerre volt szüksége. A cég, a Productivos Ltda. csak igen szûkös anyagi keretekkel gazdálkodhatott, és munkásai sem voltak különösebben jártasak a számítástechnika és a programok területén. Mindössze egyetlen gépük volt, melyen Windows 95 és egy kalóz MS Office futott – ezzel kezelték a levelezést, a könyvelést és a bérlistákat. Az iroda egyéb teendõit továbbra is kézzel végezték.  http://www.ltsp.org/index.php A szervezet új vezetõje öt új gépet kívánt vásárolni, hogy emberei a munkával könnyebben megbirkózhassanak. Szeretett volna kialakí- Létezik egy nyílt forráskódú fejlesztés, amely nagy változásokat tani egy helyi hálózatot is, hogy az alkalmazottak megoszthassák az idézhet elõ Latin-Amerikában: a Linux Terminal Server Project vagy állományokat, a nyomtatókat és elérhessék az Internetet. LTSP  http://www.ltsp.org/. Ennek a fejlesztésnek az igazi vonz- Miközben alacsony költségû megoldás után kutattam a Hálózaton, ereje az, hogy egyszerû módszert kínál igen kedvezõ árú, lemez- beleütköztem az LTSP-be. Kéznél volt a megoldás. A Productivos nélküli munkaállomások felállítására, melyek egy Linuxot futtató Ltda.-nak nem kellett költséges, mindentudó számítógépeket vásá- hálózati kiszolgálóról indíthatók el. Jelenleg kevés latin-amerikai rolnia és drága jogdíjakat fizetnie. Mindössze egy LTSP-hálózatot intézmény engedheti meg magának, hogy új számítógépeket vásárol- volt szükséges beszerezniük és termelõeszközül a StarOffice-t jon vagy drága szerzõi jogdíjakat fizessen ki a programokért. használniuk. A Linux és a lemeznélküli munkaállomások segítségével viszont A tulajdonképpeni telepítést próba elõzte meg, amelynek során egy jókora összegeket takaríthatnak meg, valamint termelékenyebbé öreg lemeznélküli Pentium-gépet indítottunk hajlékonylemezrõl. válhatnak. A módszer felhasználható arra is, hogy gyermekeket Néhány kisebb fennakadás után, amit az X alatti nemzetközi és munkásokat tanítsanak meg arra a mûszaki tudásra, amelyre billentyûzetkiosztás helytelen beállítása okozott, úgy találtam, hogy a jövõben mindenképpen szükségük lesz. ez a rendszer a legmegfelelõbb a Productivos Ltda. számára. Ebben az írásban az LTSP-rõl fogok beszámolni, azokat a tapasztala- A szervezet vásárolt négy új AMD K6-osztályú lemeznélküli gépet taimat összegzem, melyeket egy kis kolumbiai intézetben szereztem, 32 MB memóriával (ez volt az elérhetõ legkisebb kiépítése), hogy és bemutatom, mire is volt szükségem a telepítéskor és a beállításkor. lemeznélküli munkaállomásokként mûködjenek, és egy Pentium II Ezek a sorok azonban pusztán figyelemfelkeltésül íródtak, nem egy 350 MHz 128 MB memóriájú gépet kiszolgálónak, illetve munkaál- LTSP HOGYAN-nak szántam õket. A pontos telepítési és beállítási lomásnak. Bár ez a kialakítás a legtöbb kisméretû irodába megfelelõ utasítások azonban a projekt honlapján megtalálhatók: megoldásnak tûnhet, a Productivos költségvetése más körülmények  http://www.ltsp.org/documentation/. között (pl.: windowos hálózatban) csak kevesebb gépet tett volna

www.linuxvilag.hu 2001. június–július 35 Vezérfonal

helyett egy kis ablakkezelõt választottunk. A nyomtató telepítése egyszerû volt, a RedHat nyomtatóeszköz kiváltására szánt LTSP- nyomtató része a projekt programjainak. Az új LTSP-hálózat, a teljes artva telepítés és beállítás egyetlen nap alatt elkészült. Az éles kipróbálás ideje akkor jött el, amikor a felhasználók elõször jelentkeztek be a hálózatba. Teljesen lenyûgözte õket az a tény, hogy munkájukban immár számítógépek segítik õket. Természetesen némi elõképzésre is szükség volt ahhoz, hogy valóban használni tudják a gépeket. Minden felhasználó kéthetes, házon belüli oktatáson vett részt, hogy megismerkedjen az új eszközökkel. A képzésben a számí- tástechnikai alapok és a StarOffice használatának elsajátítása szere-

t. Minden jog fennt pelt. A képzés végére mindenki gond nélkül használta a lemez- nélküli munkaállomásokat a korábban kézzel végzett feladataihoz. A szervezet LTSP-hálózata immár több mint egy éve kitûnõen mûkö- dik, olyannyira, hogy újabb lemeznélküli munkaállomások beszerzé-  http://www.redhat.com sét tervezik. A Productivos Ltda. ezáltal sokkal hatékonyabbá vált, és emellett megadta munkásainak a lehetõséget, hogy megismerhessék

© Kiskapu Kf és megtanulhassák az új módszert. Mindez meglehetõsen nehéz lett volna az LTSP és a nyílt forráskódú fejlesztések segítsége nélkül.

Mire van szükség az összeállításhoz? A LTSP-hálózat rendszerkövetelményei attól függõen változhatnak, hogy hány lemez nélküli munkaállomás éri el egyidejûleg a kiszol- gálót, illetve milyen alkalmazások futnak majd rajtuk. A két legfon- tosabb dolog, amit figyelembe kell venni: a kiszolgáló memóriája és a hálózat sebessége. Bár egy 10 Mb-es hálózat is számos lemez- nélküli munkaállomást képes ellátni konzolalapú alkalmazások futtatásakor, ha a munkaállomásokon távoli X-folyamatok és a StarOffice-hoz hasonló programok fognak futni, gyorsabb (100 Mb) hálózat szükséges. Az LTSP-hálózaton a legkisebb kiszolgáló kiépí- tése egy Pentium-osztályú gép legalább 64 MB memóriával és 2 GB merevlemezzel. Munkaállomásként pedig egy 486 vagy K5 procesz- szorral felszerelt számítógép 16 MB memóriával és 1 megás video- kártyával (az X-hez) már képes ellátni a feladatot. A teljes LTSP-hálózat hatékony és gördülékeny mûködése a hálózati  http://www.icewm.org/index.php?page=shots kártyák, elosztók és a vezetékek jó állapotától függ. Mindenképpen gyõzõdjünk meg errõl a telepítés elõtt. lehetõvé. A Productivos Ltda. csak a programok szerzõi jogdíján körülbelül 3000 dollárt takarított meg. A munkaállomásokba A program rendszerindító hálókártyákra volt szükség, hogy ne Az LTSP-eszközkészlet jelenleg a következõ Linux-változatokon hajlékonylemezrõl kelljen indítani a rendszert. Négy Linksys 10/100 mûködik: Mb típusú rendszerindító hálózati kártyát vásároltunk közvetlenül a DisklessWorkstations cégtõl, egyenként 34 dollárért. A hálózathoz • RedHat 6.0, 6.1, 6.2 és 7.0, használt 8-kapus Linksys 10/100 Mb elosztót az Outpost.com-tól • Mandrake 7.2, szereztük be  http://outpost.com/. A szükséges UTP Level 5 kábe- • SuSE 6.2, 6.3, 6.4, 7.1 és 7.2-beta, lezés egy héten belül elkészült. Az elosztó és a teljes kábelezés ára • Debian 2.0, 2.1 és 2.2, megközelítõleg 350 dollárnyi összeget tett ki. • Caldera eDesktop 2.3, 2.4 és eServer 2.3, A kiszolgálóhoz RedHat 6.2  http://www.redhat.com/ terjesztést választottunk, ugyanis ez egy teljes körûen kipróbált, könnyen beál- Az LTSP-hálózat futtatásához szükséges összes program és leírás lítható és karbantartható Linux-változat. Mivel az X és a StarOffice honlapjuk letölthetõ részérõl  http://www.ltsp.org/ beszerezhetõ. 5.2  http://www.sun.com/staroffice/ az összes lemeznélküli munka- A szükséges elõre lefordított csomagok RPM és TGZ formátumban állomáson távolról futott, úgy döntöttünk, nem használunk olyan is megtalálhatók. Ne feledjük elolvasni a leírást, mielõtt a program memóriafogyasztó grafikus felületeket, mint a Gnome vagy a KDE, telepítéséhez vagy a parancsfájlok futtatásához kezdenénk! hiszen ez csökkentette volna a rendszer teljesítményét. Olyan ablak- kezelõt kerestünk, amely csak az alapszolgáltatásokat tartalmazza Gyors telepítési útmutató (indítóasztal és menük), ezért választottuk a legegyszerûbb fellelhetõ (kivonat az LTSP telepítési útmutatójából) kezelõt, az IceWM-et http://sourceforge.net/projects/icewm/. A gyors telepítéshez a következõ feltételeknek kell megvalósulniuk: Mindössze néhány bejegyzést kellett megváltoztatnunk az IceWM fõ beállításfájljaiban, hogy azt összeállításunkhoz igazíthassuk. Tíz • RedHat 6.0, 6.1, 6.2 vagy 7.0-alapú rendszeren vagy Mandrake különféle felhasználóazonosítót készítettünk a kiszolgálón, mind- 7.2-alapú rendszeren készül. egyiket saját StarOffice-munkaállomás telepítéssel. Nem sokat számí- • A kiszolgáló IP-címe: 192.168.0.254. tott, hogy a StarOffice meglehetõsen nagy memóriafogyasztó alkal- • A munkaállomások címtartománya 192.168.0.1-tõl mazás, hiszen ez volt a másik ok, ami miatt a Gnome vagy a KDE 192.168.0.253-ig terjedhet.

36 Linuxvilág Vezérfonal

Másoljuk a /etc/dhcpd.conf.example állományt a /etc/dhcpd.conf-ba. Majd módosítsuk a dhcpd.conf fájlt úgy, hogy a munkaállomásban található hálózati kártya MAC-címét is tartalmazza. Végül adjuk a artva következõ sort az /etc/hosts fájlhoz:

192.168.0.1 ws001

Következõ lépésként átszerkeszthetjük a /tftpboot/lts/ltsroot/etc/lts.conf fájlt, hogy az ott található beállítások megfeleljenek a munkaállomásokhoz. Ezután indítsuk újra a kiszol- gálót és kapcsoljuk be a munkaállomásokat. A munkaállomásokon

most egy grafikus bejelentkezõ felületet (login prompt) kell látnunk. t. Minden jog fennt A kiszolgáló bármely felhasználó-azonosítójával bejelentkezhetünk. Látható, hogy az LTSP-hálózat telepítése elég egyszerû, akár öt perc alatt is futásképes állapotba hozható. Az utasításokat mindig ponto- san kövessük, és ha valamilyen gondba ütközünk, nézzük át a leírás hibamegoldó (troubleshooting) fejezetét. A fejlesztés levelezõlistája  http://www.riverdale.k12.or.us.linux/k12ltsp.html

szintén jó lehetõséget kínál, ha valamilyen kérdésre keresünk megol- © Kiskapu Kf dást, netán új fejlesztéseket akarunk kigondolni vagy egyszerûen • Az alkalmazások a kiszolgálón fognak futni, a munkaállomá- mások tapasztalataiból szeretnénk okulni. sokon csak a megjelenítés történik. • DHCP-t használunk. Összefoglalás Érdemes ennek a nyílt forráskódú fejlesztésnek néhány fõbb ismér- Töltsük le az LTSP RPM csomagokat az LTSP letöltési oldaláról vét kiemelni: a leírás mindig naprakész és a telepítés összes lépésén  http://www.ltsp.org/. végigvezeti a felhasználót; kitûnõ beállítás- és hibakeresõ rendszere van; a fejlesztés hozzájárulásgyûjtõ oldalakkal (contributions area) • lts_core-2.xx-xx.i386.rpm-the alap LTSP-csomag, amely a rendelkezik, ahol az emberek saját fejlesztéseiket tehetik közzé, fõfájlrendszert, a beállítási eszközöket és a munkaállomásokhoz ideértve az olyan rendszerek támogatását is, mint az LDAP és a tartozó leírást tartalmazza. dinamikus DNS. Végül, de nem utolsó sorban igen aktív levelezõ- • lts_kernel_xxxx-2.xx-xx.i386.rpm-precompiled rendszermagok listája van, ahol a legtöbb kérdésre maguk a fejlesztõk válaszolnak a lemeznélküli rendszerindításhoz. A lemeznélküli munkaállomás – igen gyorsan. hálózati kártyájához megfelelõ rendszermagot kell választani. Az LTSP immár a SourceForge része, ez jó hír a felhasználók és • lts_xxxx-2.xx-xx.i386.rpm-precompiled X-kiszolgálók. A lemez- a fejlesztõk számára egyaránt. Számos új fejlesztés várható a közel- nélküli munkaállomás hálózati videokártyájához megfelelõ jövõben, így az LTSP lemeznélküli munkaállomáshoz az egyik X-kiszolgálót kell választani. legjobb választás lehet mind Latin-Amerikában, mind a világ többi részén. A nemrégiben megjelent RedHat-alapú K12 terjesztés Telepítsük az rpm -i lts_core-2.xx-xx.i386.rpm, rpm -i  http://www.riverdale.k12.or.us/linux/k12ltsp.html már tartalmaz lts_kernel_xxxx-2.xx-xx.i386.rpm és az rpm -i lts_xxxx-2.xx- programokat az LTSP-tõl. Az, hogy a K12 fejlesztést fõként isko- xx.i386.rpm csomagokat. lákba és gyerekeknek szánták, talán a legjobb bizonyíték az LTSP Ellenõrizzük, hogy lett-e dhcpd telepítve a kiszolgálóra! Futtassuk jelentõségére, és arra, hogy jelentõs fejlõdés elõtt áll. a következõ parancsot: A projekt leírását spanyol nyelven kívül más nyelvre még nem fordították le. Reméljük, hogy az LTSP-nek a SourceForge-ba történõ rpm -qa | grep dhcp felvétele rengeteg tettre kész fordítót vonz majd a világ minden országából, hogy hamarosan elkezdjék munkájukat. Ennek ilyesféle sort kell visszaadnia: Az LTSP-vel való elsõ találkozásom óta több lemeznélküli munka- állomáson alapuló rendszer kialakításában is volt szerencsém részt dhcp-2.0-5 venni általános iskolákban, Internet-kávézókban és kisvállalatoknál. Legnagyobb megelégedésünkre mindezen hálózatok mind a mai Ha nem így történik, le kell töltenünk a DHCP RPM-et a RedHat napig kitûnõen mûködnek és a legtöbb felhasználónak javára vált telepítõlemezrõl. az új módszer. Talán az egész Nyílt Forráskód-elképzelés is pontosan Ha a fenti csomagok telepítése elkészült, be kell lépnünk a errõl szól: segítsünk egymáson. /tftpboot/lts/templates könyvtárba. Néhány itt található fájl beállítja Szeretném megköszönni Jim McQuillan-nek ([email protected]) a rendszerfájlokat a kiszolgálónkon – minden fájl egy rendszerfájlért és barátainak a Linux Terminal Server Project fejlesztésével és felelõs. Mindenképpen nézzünk bele ezekbe a fájlokba és bizonyo- karbantartásával kapcsolatos kiemelkedõ munkájukat, amivel hozzá- sodjunk meg arról, hogy mindennel egyetértünk-e, hiszen egy ilyen járultak a Nyílt Forráskód fejlõdéséhez. parancsfájl kiválóan alkalmas lehet arra, hogy rendszerünket külsõ behatolással szemben sebezhetõvé tegye. Elképzelhetõ az is, hogy a rendszerfájlokon való változtatásokat kézzel szeretnénk elvégezni. Jorge Eduardo Nieto Lema Ha az önmûködõ megoldást választjuk, futtassuk le az ([email protected]) Kolumbiában él és ltsp_initialize parancsot: független Linux-szaktanácsadóként dolgozik. Jelenleg azon fáradozik, hogy az LTSP-prog- $ cd /tftpboot/lts/templates ramot kedvenc Linux-terjesztése alá, $ ./ltsp_initialize a Slackware-re vigye át.

www.linuxvilag.hu 2001. június–július 37 Vezérfonal

artva Lengyel Linux A Linux kedvezõ fogadtatásra és értelmes fejlesztõi közönségre talált Lengyelországban.

arsó központjától öt percre már elõtûnik a város. A szovjet

t. Minden jog fennt idõkben épült Kultúra Palotájában Va programok csaknem ingyenesek. Akárcsak a többi közép- és kelet-európai országban, itt is féktelen programkalózkodás zajlik: a Stadionnál mindössze körülbelül öt dollárba kerül a Microsoft Windows Millennium

© Kiskapu Kf Edition vagy egy Ricky Martin CD. A Stadion mostanában már omladozik és azoknak a hetivásároknak ad otthont, melye- ken jellemzõen kalóz popzenét és játékokat, olcsó ruhákat, orosz emléktárgyakat, rozsdás bajonettet, repülõs szemüveget lehet vásá- rolni. A lengyel országgyûlés által elfoga- dott törvények az elmúlt három évben csökkentették ugyan a kalózkodás mértékét, az International Intellectual Property Alliance 2001-es becslése szerint a szóra- koztató programok 85 százaléka, valamint a Windows-termékek 55 százaléka mégis kalózmásolat Lengyelországban. Az egyetlen piaci terület, amivel a kalózok nem képesek megbirkózni: a Linux. Varsó jelentõs szakmai folyóirata, a Linux Plus teljes RedHat-változatokat ad ki körülbelül  www.linuxclub.pl négy dollárért, és a Lengyel Linux Terjesztés (Polish Linux Distribution, azaz PLD a Sun Microsystems StarOffice programját  http://www.pld.org.pl/) gõzerõvel halad, lefordította lengyelre. A fent említett projekt mivel diákok és szakemberek sokasága vá- megvalósításával nem csak dollárezreket lasztja a szabad rendszert. Bár a Stadionnál takarítottak meg a szálloda üzemeltetõjének, idõrõl idõre feltûnik a RedHat is, rövid idõn de közremûködésükkel egy új, helyi belül eltûnik, ugyanis egyszerûen nem kel el; StarOffice-kiadást is létrehoztak a Nyílt így aztán a kalózok CD-iket inkább a drá- Forrás Közössége számára. gább programok másolására használják fel. „Van egy szabály, amelyet immár elég sok „Sok fiatal ébred rá arra, hogy nem csak ember megértett: ha megoldást keresel vala- Windows létezik a világon” – véli Tomasz mire, az már valószínûleg elkészült Linux Kloczko, a PLD szóvivõje és a Gdanski alá. Ez hihetetlen dolog ezen a felületen” Mûszaki Egyetem programozója. „Újabb és – mondta Jaroslaw Szumski, a Linux Plus újabb felhasználók lépnek ki az egyetemek szerkesztõje. „Az üzleti világ is a Linux felé és a középiskolák kapuin, és az utóbbi pár mozdul, mivel az emberek nagy feladatok- évben jól látható folyamat, hogy a Linuxot hoz célszerû megoldásokat keresnek.” már az üzleti életben is elfogadják.” Szumski elmondta, a kalózkodás elleni Varsó városközpontjában, a III. Jan Sobieski lépések következményeként az emberek más Hotelben egy másik programforradalom zaj- alapprogramokat keresnek az irodáikba.  lik. A szálloda teljes gépparkja, valamint a Az üzleti világban általában ez a Windows www.linux.pl fizetõs televíziórendszer – néhány jól ismert NT-t és az Office 98-at jelenti, a dolgok grafikus program kivételével – SuSE és azonban egyértelmûen afelé haladnak, hogy nyelvre lefordított terjesztése – megszületése Mandrake Linux-változatok alatt mûködik. egyre több ember ismerkedik a StarOffice- szükségszerû következmény volt. Az olyan, A szobazáraktól kezdve egészen az egész- szal vagy más irodai csomaggal. mûszaki iskoláikról híres városok, mint Varsó, ségügyi rendszerig minden nyílt forráskódú Lengyelországban a Linux igazi bástyái Wroclaw és Krakkó diákjai és szakemberei programon fut. A Pro-Test cég, amely a azonban az egyetemek és az internetszolgál- úgy gondolták, hogy a legtöbb terjesztésbõl programot telepítette, a varsói székhelyû tatók. A PLD – ez a RedHat Linuxon ala- hiányzik az egyszerû lengyel kezelõfelület. Softomat cég tanácsadóinak segítségével puló, Kelet-Európára kihegyezett és az adott „Egy lengyel nyelvû telepítõprogrammal

38 Linuxvilág Vezérfonal

a legfontosabb, és nem az üzembiztonság.” Mégsem adóztatják meg a Linuxot Barbaszewski azonban úgy gondolja, ûr található a Nyílt Forráskódú Közösségben, artva Lengyelországban adót vetettek ki a Linuxra ha a jó minõségû végfelhasználói alkalma- Egy cégre, mely linuxos kiszolgálókat telepített, új adótételt róttak ki, mert a GNU- zások kerülnek szóba. programokat adománynak minõsítették. Az összeg meghatározásakor a Nagy Cég „A Linux a hátsó ajtón, a kiszolgálók vilá- programjait vették alapul. (2000. 11. 19.) gán keresztül lépett be a számítástechnika Linux-adó! színpadára, azonban még mindig nincsenek igazán jó alkalmazásaik. Láthatunk ugyan Lengyelországban adót szabtak ki egy vállalatra, amely Linux-kiszolgálókat üzemeltet, és egy vagy két megoldást bizonyos ügyfelekre StartOffice programokat használ. A lengyel adóhatóság azért szab ki adót a GNU-programokra, vonatkozóan, de ezek zárt fejlesztések, így mert azok adománynak minõsülnek, és így a felhasználók az azonos csoportba esõ Microsoft-

kódjuk elérhetetlen” – vélte. „Tegyük fel, t. Minden jog fennt termékek árának harminc százalékát kötelesek az államkasszába befizetni. (2000. 11. 24.) hogy üzlettel foglalkozol és Linuxot szeret- A Lengyel Országgyûlésben száz Linux X terminált állítottak munkába. (2000. 11. 30.) nél használni. Van Linuxod, StarOffice-od Immár adómentesek a szabad programok Lengyelországban is és sok más egyebed. Szükséged van azon- ban számlázóprogramra, pénzkezelõre Lengyelországban nagy felháborodást váltott ki a hír, miszerint az egyik helyi adózási iroda – valódi alkalmazásokra.” adót akart kivetni a szabad programokat üzleti célra felhasználó vállalatokra. A lengyel

A teljes Lengyel Nyílt Forráskód © Kiskapu Kf pénzügyminiszter azonban a következõképpen válaszolt: „A GNU GPL felhasználási szerzõ- Barbaszewski panaszaitól visszhangzott. dés keretében terjesztett programok… a jövedelemadózásról szóló törvények értelmében „Minden készen áll – jelentette ki Kloczko –, nem eredményeznek megadóztatható bevételt az ilyen jellegû programok használói számára. de senki sem szeretne olyan unalmas dol- Ennek fõ oka az, hogy a mindenki számára ellenszolgáltatás nélkül nyújtott szolgáltatások gokkal foglalkozni, ami a Linuxot egysze- anyagi értékének megbecslése teljességgel lehetetlen.” (2001. 05. 09.) rûbbé tenné a végfelhasználók számára.” Az összeállítás a  www.linux.hu hírei alapján történt. Évekkel ezelõtt, miközben Lengyelország éppen az évekig tartó szovjet uralom alól lépdelt kifelé, a számítógépek – például az PLD beindult. Egyre-másra bukkannak fel or- Atari 800XL és a TRS-80 – annyiba kerül- szágszerte az alkalmazások lengyel változatai. tek, mint egy kisebb autó, mainframe azono- „A PLD serkenti a számítástechnikai válto- sítóra pedig csak az egyetemi professzorok zásokat. Nyilvánvaló, hogy rengeteg ember vágyakozhattak. Most az ország négy nagy dolgozik rajta, így önfenntartó projektté (Linuxot futtató) mobiltelefon-szolgáltató- válik az idõk folyamán. Minél többet teszel val, számtalan (Linuxot futtató) ISP-vel és meg, annál több teendõd marad” – vélete két nagyobb, Gdanskban és Czestochowá- Kloczko. ban székelõ (és természetesen Linuxot A Linux önmagában is belép a piacra. futtató) párhuzamos feldolgozást végzõ Az egyik olyan cég, amely nagy hullámokat gépteleppel (parallel computing test bed) kavart a Nyílt Forráskód világában, a dicsekedhet. Ez az egyik leggyorsabban Krakkó királyi városában székelõ ABA volt növekvõ gazdaság a térségben és virágzik  www.pld.org.pl ( http://www.aba.krakow.pl/). Vezetõ az üzlet a linuxos tanácsadói piacon is. fejlesztésük, az ABA-X általános célú, háló- A középkorban a „sasfészek” kastélyok meg- zati vékony ügyfélprogram, tulajdonképpen építésével Lengyelország elsõ nemzeti háló- egy beágyazott RedHat-alapú Linux-rend- zatát alkotta meg északkeleti irányban szer, amely a könnyû fejlesztés céljából a célból, hogy az országot megóvja a betöré- Flash-ROM rendszeren fut. sektõl. Az egyes kastélyokban állomásozó Az ABA tulajdonosa, Tomasz Barbaszewski katonák füstjelekkel tarthatták a kapcsolatot büszke a Lengyel Országgyûlésben nem- egymással. Ez a védelmi vonal évekig távol régiben elkészített munkájukra: csapata húsz tartotta innen az ellenséget. Jelenleg a világ munkaállomást telepített, és szerzõdésük sokkal kisebbé vált, Lengyelország pedig van a Polish Customs céggel további két- gyorsan gyarapodik, így nagyobb szüksége száz, jelszóolvasóval kiegészített ABA-X van a hálózatfejlesztésre, mint valaha. Ahogy munkaállomás rendszerbe állítására. a Linux lassan gyökeret ver, a cél már nem az „A Nyílt Forráskód az egyetlen útja annak, lesz, hogy az országot elvágják a külvilágtól  www.linux.sky.pl/ hogy ilyen rövid idõ alatt ehhez hasonló és visszaverjék a támadókat, hanem éppen- dolgot alkossunk. Egy ilyen munkaállo- séggel az, hogy ezt a közösséget befogadják, kezdtük. A találmányok szülõanyja a hiány: máshoz szükséges kód megalkotása éveket a növekedést ösztönözzék, és életben tartsák ha a terjesztésben szükségünk volt valamire, vett volna igénybe” – mondta. „Operációs a Nyílt Forráskódot ezen a hihetetlen vidéken. beépítettük.”– mondta Kloczko. rendszernek nem a Windows CE-t válasz- A PLD-csoport munkája eljutott a Linux tottuk, mivel nem lehet tudni, mi megy John Biggs Documentation Projecthez is. Jelenleg végbe az operációs rendszer belsejében, író és tanácsadó a mûszaki leírást fordítják lengyelre és ráadásul még csak ki sem lehet deríteni. Brooklynban, New a HOGYAN-okat frissítik. Inkább létrehozom a saját rendszeremet, York városában. A Lengyel Oktatási Minisztérium Internetet az mintsem egy olyan tömeggyártott telepí- iskolákba programjának bemutatkozásával a téstõl kelljen függnöm, ahol a kinézet

www.linuxvilag.hu 2001. június–július 39 Vezérfonal

artva Linux a közoktatásban

A választható Linux

okak számára a Linux választási szakértõ úgy véli, hogy a Microsoft lassítani lehetõségként jelent meg a PC-ken akarja a Linux terjedését, ezért nem írja át

t. Minden jog fennt S jelenleg egyeduralkodónak számító a Microsoft Office-t vagy akár az Internet Windows operációs rendszer mellett. Még Explorert Linuxra; mások szerint viszont sokan emlékezhetnek arra, hogy néhány nem tekinti elég nagy piacnak, hiszen úgy évvel ezelõtt a Sulinet-gépeket kiszállító becsülik, hogy tavaly világszerte az otthoni nagy cégek képviselõi látványos grafikonok- számítógépeknek csak 4 százalékán futott kal sulykolták a tájékozatlan tanáremberek Linux. Ma még nehéz megjósolni, hogy

© Kiskapu Kf fejébe, hogy a Windows NT kiszolgálóé a jövõ, s az elõadóteremben mindenki jól láthatta, milyen meredeken emelkedik az égbe a Windows NT kiszolgálók terjedését jelképezõ vonal. Heves igyekezetük ellenére a Windows NT-láz mára csillapodott, a grafikon vége lekonyult, és manapság már visszavonulóban van a linuxos kiszol- gálókkal szemben. Egyes becslések szerint tavaly több kiszolgálón futott Linux, mint Windows NT. A személyi számítógépeken és a munkaállo- másokon azonban más a helyzet. A linuxos fejlesztések máig sem érték be teljesen a windowsos munkaasztalt. A különbözõ Windows-változatokra írt programok ma még barátságosabbak, ritkán még üzembiz- tosabbak is, mint linuxos párjaik. Bár több- fajta irodai alkalmazás közül választhatunk Linuxon is, azok egyike sem annyira kiér- lelt, mint a Microsoft Office. Kis nemzet ide vagy oda, feszültséget okoz számunkra, ha elektronikus levelünk írásakor képtelenek vagyunk a Netscape levelezõ programjában a hosszú õ és û begépelésére, és csalódást jelenthet az is, ha a program nem magyar a jövõben milyen szerepet fog játszani a a számítástechnika felkent papjainak tûn- nyelven beszél velünk, hanem angolul Linux a munkaasztalokon, azt azonban már hettek, akiknek a puszta megpillantása is vagy németül, esetenként akár csehül vagy ma is kijelenthetjük, hogy a Macintosh borzongást keltett a mindennapi halandók- szlovákul, mert történetesen még senki sem mellett a Linux vált a másik választási ban. Manapság azért hallunk egyre többet fordította le magyarra. Jelenleg nincs haté- lehetõséggé. a Unix térhódításáról, mert a személyi kony magyar helyesírás-ellenõrzõ egyik A Linux nem egyetlen cég terméke, mégis számítógép az utóbbi néhány évben képessé linuxos irodai csomagban sem, bár a napok- rendkívül üzembiztos és jól használható vált arra, hogy ilyen üzembiztos rendszere- ban megjelent SuSE Linux 7.2-ben forgal- operációs rendszer. Ennek egyik legfonto- ket is futtathassunk rajta. Így válhatott mazóik szerint a StarOffice 5.2 már tartal- sabb oka a nyílt forráskód, hiszen az eset- a Unix és a Linux komoly választási lehe- maz magyar helyesírás-ellenõrzõ modult. leges programozási hibákat a Linux-közös- tõséggé, legalábbis a kiszolgálókat illetõen. Még nem volt alkalmam kipróbálni, hogy ség az Internet segítségével azonnal vagy ez mennyire jó. Kevés az ingyenesen hasz- rövid idõ alatt felderíti és kijavítja. A kiér- Drága az ingyenes Linux nálható, elfogadható minõségû magyar leltség másik oka a unixos örökség. A Unix Szabad választáson alapul a Linux terjesz- betûkészlet a Linuxhoz, ami pedig elérhetõ, az elmúlt évtizedekben a csúcsgépek méreg- tési modellje is, hiszen bárki szabadon és annak kinézete hagy némi kívánnivalót drága operációs rendszere volt, amit nagy ingyenesen letöltheti a programcsomagokat maga után. A linuxos munkaasztal azonban teljesítményû szuperszámítógépekre és a számtalan kiszolgálóról – bár egy átlagos gyorsan fejlõdik, és a saját fejlesztések mel- kiszolgálókra telepítettek. Ezek a drága számítógép-felhasználó gyakorta képtelen lett egyre több windowsos program jelenik gépek gyakran légkondicionált helyiségek- telepíteni azokat, és végül elveszik a kiírt meg Linuxon is. Pillanatnyilag úgy tûnik, ben, az épület többi részétõl elszigetelten hibaüzenetek tengerében. Ezért kezdetben hogy a nagy világcégek közül egyedül a mûködtek, kezelõik különleges munkaruhá- jobb valamilyen Linux-változatot megvá- Microsoft nem fejleszt Linux alá. Néhány kat hordtak, és a hívatlan látogatók számára sárolni, hogy az ember hamar rájöjjön:

40 Linuxvilág Vezérfonal

és kávészünetre adott alkalmat, a hazai ügyfél pedig hosszasan várt. Senkinek sem okozott gondot, ha hosszú sorok alakultak ki

a bankokban vagy a hivatalokban. A magyar artva türelemre szoktatott nép. A PC és a Windows hazai elterjedésének és egyeduralkodóvá válásának legfõbb okát én a magyar programvásárlási vagy inkább -szerzési szokásokban látom. Magyar ember nem vásárol(t) programot, hiszen az elmúlt több mint egy évtizedben hozzászokott ahhoz, hogy a programért nem kell fizetni, azt szabadon lehet másolni és bárki bárhová t. Minden jog fennt ingyen telepítheti. A felhasználási szerzõ- déseket nem olvassuk el, hiszen azok veretes angol nyelven íródnak, és mint tudjuk, ide- gennyelv-ismeretünkkel sincs minden rendben. Aki nem akart, nem akar a boltba menni a programokért, annak PC-t kellett © Kiskapu Kf és kell vásárolnia „szerzett” Windows-rend- szerrel, hiszen csak ehhez tudott viszonylag könnyen programokat felhajtani. Levon- hatjuk tehát a következtetést, hogy sok magyar felhasználó immár régóta a „szabad” programok híve, hiszen számára az mindig is ingyenes termék volt, és az is marad. amivel használni lehetne. A Corel Linuxból Manapság azonban a törvénytelen program- egy maréknyi pingvin maradt az asztalomon használatot üldözõ Business Software emlékeztetõül; a linuxos Corel Office pedig Alliance (BSA), a szoftverrendõrség és még azt sem teszi lehetõvé a számomra, az útszéli óriásplakátokra felragasztott bilin- hogy ékezetes magyar betûket gépeljek a csek keltenek rossz érzéseket a többnyire WordPerfecttel. Az Applixware Office 5.0 becsületesnek született, feszengõ felhaszná- kissé engedékenyebb, de még mindig nem lókban, akik haladó világunkban egyre több tökéletes. Valami van, de még nem az igazi. helyen juthatnak hozzá ingyenesen a kereske- S hogy mindez majdnem annyiba kerüljön, delmi programokhoz. Az Internetrõl kalóz- mint a Microsoft Office! másolatok mindig letölthetõk, és hirdeté- sekben felkínált törvénytelen másolatokat ez sem jelent tökéletes megoldást, mivel Ez a világ már nem az a világ rendelhetünk meg áron alul, postai kézbesí- néhány hónap elteltével ismét meg kell A Sulinet-program kezdetére a PC hazánk- téssel. Egy tizenöt éves diákom is rendelt tapasztalnia, hogy képtelen frissíteni prog- ban egyeduralkodóvá vált. Szinte hihetetlen, ilyen tiltott gyümölcsöt, és hamar fennakadt ramjait. Azt pedig mégsem várhatja el hogy milyen lendülettel szorította ki az iro- a szoftverrendõrség hálóján. Házkutatást tar- tõlünk senki, hogy négyhavonta húszezer dákból és az iskolákból az addig szintén tottak nála és nyilvántartásba vették. A fiú forintot adjunk ki az amúgy felhasználó- vezetõ szerepet játszó Commodore 64-ese- érettebbé vált, és most már óvatosabban barát és könnyen kezelhetõ SuSE-változa- ket és 128-asokat. A világ fejlettebb részein „szerzi be” az ismert világcég programjait. tért. Érthetetlen vagy talán nagyon is már akkor sem volt ennyire egyértelmû a Változnak az idõk és változunk benne mi is, érthetõ, hogy miért nincs egy- vagy két- helyzet, az IBM PC-k mellett többek közt de ez a fiú – aki gyakran látja magát Bill lemezes SuSE-frissítés, hogy miért várják ott voltak (és vannak) az Amigák és az Gates lehetséges utódaként – máig azt vallja, el tõlünk ugyanannak a négy kézikönyvnek Apple-gépek is. Aki grafikus programokat hogy inkább a börtönt választja, mint a GNU az évente háromszori megvásárlását, hogy akart írni, Amigát vett, az Apple-gépek és hatálya alá tartozó szabad programokat. Egy miért sóznak a nyakunkba számunkra az Adobe-programok pedig uralták a szer- másik tanítványom ismerõse két hónappal a teljesen használhatatlan DVD-t, amikor kesztõségeket és a nyomdákat. A Windows Windows 98 piacra dobása elõtt már feltele- csak CD-olvasónk van… A RedHat esetén olcsó tömegcikk volt, ami elárasztotta a píthette a hivatalosan még nem is létezõ leg- ugyanez a helyzet, csak négyszer ennyiért. piacot, és a használhatóság érzését keltette újabb változatot a gépére, és erre még büszke A RedHat 7.0-s változat kétségtelenül a vásárlókban. A kis vásárlóerejû magyar is volt. Rangot és szakértelmet kölcsönzött tiszteletet parancsolóbb volt, mint a SuSE polgár számára az ár-teljesítmény mutatói- neki ez a rendkívüli tett. S valóban, ki ne 7.0, hiszen 15 lemezen adta szinte teljesen ban kedvezõ PC jelentette akkor és talán érezné sértõnek, ha az egyszerû és pillanatok ugyanazt, mint versenytársa. A növekedett még ma is az egyetlen választási lehetõsé- alatt lezajló programmásolást lopásnak minõ- terjedelem annak köszönhetõ, hogy a biz- get. Az a kellemetlen tapasztalat, hogy a síteném? Ezért inkább ezentúl törvénytelen tonság kedvéért mindent kétszer másoltak Windows van hogy óránként lefagy, keveset programhasználatnak fogom nevezni – sokkal fel a CD-kre, és tizenötödikként kaptam nyomott a latban, hiszen minden számító- kíméletesebb megfogalmazás. egy picurka CD-csodát, amivel máig nem gépházon ott volt a Reset feliratú gomb, Aztán itt vannak a kapuk elõtt a (fel)jelentõ tudok semmit sem kezdeni, hiszen Magyar- amit bármikor meg lehetett nyomni. programok, amelyek idõrõl idõre jelentkez- országon még nem láttam olyan gépet, A Windows újraindítása rövid csevegésre nek alkotóiknál, és különbözõ adatokat

www.linuxvilag.hu 2001. június–július 41 Vezérfonal

futtathatók legyenek. Példa lehet erre az ismert Opera böngészõ, amit több változat- ban letölthetünk az Internetrõl (Windows, artva Linux, EPOC, BeOS, Mac, OS/2), vagy a Blender nevû háromdimenziós tervezõ- program (SGI, Sun, FreeBSD x86, Linux x86, Linux Alpha, PPC Linux, BeOS x86, Windows 95/98/2K/NT). A Windows jelen- legi súlyát mutatja, hogy elsõként rendsze- rint a windowsos változat készül el, a többit csak némi késéssel kaphatjuk kézhez, és

t. Minden jog fennt gyakran hiányoznak belõlük olyan kényelmi szolgáltatások, amelyek a nagy testvér programjaiban fellelhetõk. Az ilyen felület- független programfejlesztés elsõ pillantásra nehéznek tûnhet, és valóban nem is könnyû, de nem annyira bonyolult, mint ahogy azt

© Kiskapu Kf szolgáltatnak. A korszerû programok telepí- getõ jelenléte változtatta meg, hanem az gondolnánk. A kisebb cégek rákényszerülnek tésük során bevallottan megkeresik a már Internet is. Jó egy évtizeddel ezelõtt a gépek erre a többletmunkára, hiszen csak így tud- telepített alkotóelemeket, s vajon mi akadá- elsöprõ hányada nem kiszolgáló vagy mun- ják növelni piaci jelenlétüket. A Microsoft lyozná meg õket abban, hogy a merevlemez kaállomás volt, hanem önálló munkaasztal, óriási piaci részesedésével nem törekszik a áttekintése után ne továbbítsák az össze- és csak néhányuk volt hálózatba kötve. Ma felületfüggetlen fejlesztésre, és ahogy egyes gyûjtött adatokat a központban lévõ adatbá- viszont egyre ritkább az olyan gép, amelyik szakértõk megjegyzik, a redmondi óriás az zishoz – a sorozatszámokkal és az adott gép legalább az Internetre ne lenne rákötve. egyetlen olyan cég, amelyik legszívesebben címével együtt? A Windowst használók Ez új helyzetet teremtett, hiszen a klasszikus csak egy operációs rendszer számára ír gyakorta tapasztalhatják, hogy az ismert Windows teljességgel védtelenül hagyja programokat: a Microsoft Windowsra. világcégek termékei idõnként megkérdezés a számítógépeket. A vírusok szabadon pusz- A felületfüggetlenség iránti igény növeke- nélkül telepítgetni kezdenek gépeinkre títhatnak a Microsoft-logikával felépített dését mutatja, hogy olyan dokumentumfor- a távolban lévõ ismeretlen kiszolgálókról. programokban, és nagyméretû helyi hálóza- mátumok terjedtek el, amelyeket minden Ilyet amúgy csak a vírusok tesznek. Mivel tokat tehetnek tönkre néhány óra alatt. felületen meg tudunk jeleníteni, ha a megfe- ezeknek a programoknak a forráskódja A Unix-típusú rendszerek a kezdet kezdeté- lelõ programok a birtokunkban vannak. ismeretlen, bármi megtörténhet! A frissítõ tõl fogva hálózati környezetben fejlõdtek, Ilyen például a Rich Text, az Internet (s talán egyúttal jelentgetõ) programok ellen így teljesen alkalmazkodtak a hálózatok HTML nyelve vagy az Adobe cég PDF csak úgy lehet védekezni, hogy nem kap- által támasztott követelményekhez. Senki fájlformátuma. Az Internetrõl letölthetõ GIF csoljuk rá gépeinket a Világhálóra, de ez sem tagadja, hogy az átlagfelhasználó szá- vagy JPEG képformátumokat is minden a számítástechnika fejlõdésének tükrében mára bajos jelszavakat beírogatni, biztonsági operációs rendszerben meg tudjuk tekinteni. egyre inkább képtelen és kivitelezhetetlen kérdéseket latolgatni és alkalmazkodni A hálózatba kötött, sokféle operációs rend- ötletnek tûnik. Miután egy nagy cég felépí- a Unix szigorú elõírásaihoz. Kétségtelen, szert tartalmazó gépek világában természe- tette a törvénytelen példányok adatbázisát, hogy a védelem nélkül hagyott gépeket tes igénynek tekinthetõ, hogy a felhasználó csak át kell adnia a listát a kiszemelt ország könnyebben kezelheti az átlagember, de bármilyen formátumú hajlékony- vagy hatóságainak, akiknek hivatalból el kell jár- idõnként ezért a kényelemért nagy árat kell merevlemezt el tudjon olvasni. A Linux niuk. Ki fog ilyenkor fizetni az iskolákban fizetni. Nem véletlen az sem, hogy az újabb sokfajta lemezformátumot ismer, a Windows és a hivatalokban lévõ kalózpéldányokért, Windows-változatok egyre inkább a Unix csak a saját formátumait ismeri fel. már ha vannak ilyenek? A miniszter? A mi- szellemiségét tükrözik. nisztérium? A fenntartó önkormányzat A Sulinet által biztosított iskolai hálózatok Valóban csak vezetõje? Az iskola igazgatója, tanára vagy költségességük ellenére nem töltik be hiva- egy operációs rendszer van? éppenséggel a diák? És ki fog ülni? Ezeket tásukat. A Windows NT kiszolgáló és A magyar iskolákban igen. Az Európai a kérdéseket legtöbbször mégsem a rendõr- Windows 98 munkaállomás összeállítások Közösség országaiban és Svájcban tett ség teszi fel az intézmények vezetõinek, tapasztalatom szerint képtelenek a diákok útjaim során azonban meggyõzõdhettem hanem a windowsos programokat értékesítõ munkájának védelmét biztosítani, hiszen az arról, hogy arrafelé vannak olyan iskolák, ügynökök, akik sejtelmes mosollyal kínálják általuk létrehozott munkakönyvtárakat bárki amelyek csak Macintoshokat használnak ügyfeleiknek a portékájukat, és nyíltan vagy megnézheti, sõt onnan bármit le is törölhet. oktatási célokra, valamint az élet sok más burkoltan börtönnel fenyegetik õket, hogy Ilyen öszvér megoldásokkal még a rendszer területén is lehet ezzel a típussal találkozni. eladási mutatóik jobbak legyenek. Ezt a egységességét sem lehet biztosítani, hiszen Egy nemrég elküldött MS Winword 6.0 fenyegetésre alapozott üzletmenetet testesíti a gyerek véletlenül vagy akár szándékosan formátumú tömörített dokumentumra két- meg a Business Software Alliance, amely még a rendszerfájlokat is letörölheti. A világ ségbeesett választ kaptam Rómából, mivel a törvénytelen programhasználatot hivatott megváltozott, de a Windows logikája és ottani ismerõsöm nem tudta a levelemhez felderíteni, illetve jelenteni a bûnüldözõ minõsége a régi maradt. csatolt .DOC kiterjesztésû függeléket szervek felé. A feltárt bûnt azonban nem A világ más lett a tekintetben is, hogy meg- otthoni Macintosh gépén elolvasni. Idehaza feltétlenül követi bûnhõdés, hiszen utólagos változtak a programozási szokások. Manap- Macintoshokat csak az Apple szakboltok elismertetéssel meg lehet bocsátani azoknak, ság nagyon sok fejlesztõkörnyezetet a kezde- kirakataiban vagy a számítástechnikai kiál- akik hajlandók visszamenõlegesen is fizetni. tektõl fogva felületfüggetlenre, azaz olyanra lítások bemutatóin látok hébe-hóba. Ennek A világot azonban nemcsak a BSA fenye- terveznek, hogy több operációs rendszeren is anyagi okai vannak, hiszen ezek a minõségi

42 Linuxvilág Vezérfonal

iskolájuk számítógépein, mert mire megje- lennek a munkaerõpiacon, ennek nem lesz akkora jelentõsége, mint ma. Másrészt, ha artva valaki figyelemmel kíséri azt a folyamatos fejlõdést, amit például a szövegszerkesztõk esetében is tapasztaltunk, levonhatja azt a következtetést, hogy végsõ soron az sem számít, hogy diákjaink milyen szövegszer- kesztõt használnak. A különbözõ szerkesz- tési mûveleteket jelképezõ ikonok szinte teljesen ugyanazok, hasonlók az elnevezések,

és a menük elrendezésében is felfedezhetünk t. Minden jog fennt némi szabványosságot. Tapasztalataim sze- rint nemcsak egy középiskolás, de még egy egyetemista sem használ olyan egyedi formázásokat, amelyeket Rich Text formá- tumban ne lehetne elmenteni, ezt a formátu-

mot viszont minden fejlettebb szövegszer- © Kiskapu Kf kesztõ ismeri, fusson az akár Windowson, akár Linuxon. A szövegszerkesztõk egyéb szolgáltatásai olyan többletet nyújtanak, amelyeket csak néhány ínyenc ismer és hasz- nál. Való igaz, hogy ma hazánkban (majd- gépek a törvényesen megvásárolt progra- rõl minden számítógép egyforma, a fel- nem) mindenki törvényesen vagy törvényte- mokkal együtt jóval többe kerülnek, mint használók többségét pedig valójában nem lenül Microsoft Office-t telepít a windowsos a PC-k. Az a magyar iskola, amelyik ilyen érdekli, hogy mi rejtõzik mögötte. gépekre, és a tanárok, sõt maguk a tanulók is gépeket venne, többé nem háríthatná át a Ha a fenti piaci irányzatok továbbra is érvé- azt várják el, hogy ez legyen az iskolákban. programbeszerzés terhét a tanulókra, hiszen nyesülnek, akkor két következtetést vonha- De mi a biztosíték arra, hogy a Microsoft azok nem tudnának Macintoshokra írt prog- tunk le: az operációs rendszerek és a kiszol- Office örök és kiválthatatlan? Az 1990-es ramokat hozni közvetlen környezetükbõl. gálók piacát a mainál jóval erõteljesebben évek elején a Wordstar gyakoribb volt Ma- Egy önmagát megnevezni nem akaró iskola- fogják meghatározni a szakemberek dön- gyarországon, és egy évtized múlva lehetsé- igazgató felhívta a figyelmemet arra, hogy tései, míg az átlagfelhasználót a formater- ges, hogy a szövegfeldolgozás legelterjedtebb pályázataikban programvásárlásra irányuló vezett számítógépek és a felhasználóbarát, módja nem a gépelés, hanem a tollbamondás kéréseiket a döntéshozók rendre elutasítják, több operációs rendszeren is futtatható prog- lesz. A szöveget a gép helyesírás tekintetében ugyanakkor gépbeszerzési igényüket eddig ramok fogják megérinteni. Hamarosan is ellenõrzi, formázza, majd – ha erre felszó- minden alkalommal teljesítették. magukat az operációs rendszereket is egy- lítjuk – kinyomtatja. Horribile dictu még az A számítógépek világa a felületfüggetlenség szerre indíthatjuk el gépeinken, és tetszésünk is elõfordulhat, hogyha gépelésre kényszerü- felé halad. Belátható idõn belül megszûnnek szerint váltogathatunk közöttük. Ez nem lünk, akkor sem a Microsoft Worddel fogunk a Microsoft-monokultúrák, a következõ holmi vágyálom, hiszen a VMware virtuális szöveget szerkeszteni! nemzedékbeli programok esetében kiválaszt- felület használatával erre már ma is lehetõ- A következõ részben többek között a Linux hatjuk majd, hogy azoknak Windowsra, ség nyílik. Ez a program külön ablakokba iskolai alkalmazhatóságáról, illetve oktatá- Macintoshra vagy Linuxra írt változatát hívja be a különbözõ operációs rendszereket, sáról, a szabad programok ellenzõirõl és a kívánjuk-e telepíteni. Mint tudjuk, az átlag- és még némi adatcserét is engedélyez különbözõ országok Linuxhoz fûzõdõ kap- felhasználó nem operációs rendszereket közöttük. Már ma is számtalan emulátor csolatáról fogunk szót ejteni. használ, hanem programcsomagokat, ame- létezik, ami virtuálisan megteremti azokat lyek szöveg- és képszerkesztõket vagy irodai a feltételeket, amelyekre egy-egy program Szaló István alkalmazásokat tartalmaznak. A titkárnõ futásához szükség van. Például a Macintosh ([email protected]) számára édes mindegy, hogy az általa hasz- gépeken létezik olyan emulátor, amely PC-t tanár, immár több mint nált és megszeretett szövegszerkesztõ milyen utánoz, így lehetõvé teszi a windowsos másfél évtizede foglalko- operációs rendszeren fut. Az operációs programok futtatását. Mint legtöbbször, itt zik programozással, de rendszerek kiválasztása az iskolai és a hiva- is az anyagi lehetõségek szabnak határt az tali rendszergazdák feladata lesz, õk pedig általunk egy idõben használható operációs csak a Java és a Linux vagy szakmai alapon fognak dönteni, vagy rendszerek számának, hiszen ez ma már nem megismerése után tudta meg, hogy egyéb szempontokat vesznek figyelembe. annyira szakmai, inkább jogi és követ- mi is az igazi programozás. Azóta hátat Engedhetnek a gazdasági erõfölénynek és kezésképpen pénzügyi kérdés, hiszen fordított a fekete doboz módszereknek, az erõszakos megdolgozásnak, esetleg beszál- a szerzõi jogi elõírások miatt minden egyes és most szabadidejében a nyílt forrás- lítókként maguk is abban lesznek érdekeltek, feltelepített operációs rendszer után fizetni kódú Java és a GNU C vagy C++ prog- hogy az állami intézmények minél többet kell, ami igencsak nagy összegre rúghat, ramokat tanulmányozza. Több írása költsenek programokra. Az otthoni felhasz- különösen, ha a futtatandó programokért megjelent már a hazai számítástechni- nálók vásárlási szokásait az olcsóság mellett is fizetnünk kell! kai lapokban. Ha néha feláll számító- a programok harsány látványossága és a Jelenleg az általános iskolások és a középis- gépe mellõl, akkor rendszerint mûvé- számítógépházak mûvészi kidolgozása fogja kolát kezdõk számára lényegtelen, hogy szettörténész feleségével és kisiskolás meghatározni. S ez valahol érhetõ is. Kívül- milyen operációs rendszert használhatnak lányával „találja szemben” magát.

www.linuxvilag.hu 2001. június–július 43 Dobbantó

artva AVI filmlejátszók és a felvétel Robin folytatja a linuxos video- és hanglejátszók kipróbálását.

múlt hónapban kipróbáltunk a PCM, az ADPCM és a GSM típusok for- „tudja”,

t. Minden jog fennt néhány MPEG-lejátszót, köztük dulnak elõ a leggyakrabban. Ha tökéletesnek melyik az aKtion, a gmpeg, a gxanim, az látszó filmfájlunkból lejátszónk csak a képet kódolót kell betöltenie egy MPlayerA, a plaympeg, az XAnim, a xine és vagy csak a hangot képes lejátszani, való- adatfolyam lejátszásához. Az egyediség az Xtheater nevûeket. Megnéztük a Be ope- színûleg egy hiányzó kódoló lesz a hiba oka. szavatolásához a FOURCC-t be kell jegyez- rációs rendszert is, hogy videós képességeit A lejátszókat ugyanis úgy tervezték, hogy tetni a Microsoftnál. A nem hivatalos, de összehasonlítsuk a Linuxéval. átugorják az olyan szállítórészeket, amelye- csaknem hivatalos érvényû FOURCC lista  © Kiskapu Kf E hónapban az aKtion, az Aviplay, az ket nem értenek. a http://www.webartz.com/fourcc/ címen MPlayer és az XAnim AVI-lejátszókat található meg; itt még számos hasznos adat vesszük szemügyre, és megkísérlünk fel- áll a rendelkezésünkre. venni néhány AVI fájlt is a Video4Linux Elterjedt nézet, hogy az AVI fájlok 2 GB-nál és az XawTV, valamint a QtVidcap nem lehetnek nagyobbak, illetve nem alkal- segítségével. masak profi felhasználásra – ez azonban Az AVI (Audio Video Interleave) az egyik egyáltalán nincs így. A fájlméret korlátozá- legelterjedtebb PC-s videofájl-formátum, sának fõ oka az, hogy a RIFF blokk a méret ezt és a RIFF formátumot (Resource megadásához 32-bites egészeket használ. Interchange File Format) a Microsoft Gyakran 1 gigás korlátot is emlegetnek, és az IBM még együttesen dolgozta ki. ugyanis a régebbi Microsoft Video for A Microsoft-féle WAV hangformátum Windows-kód ezt veszi felsõ határnak a RIFF fájl egy másik változata; utóbbi az (abban az idõben már ez is hatalmasnak Amiga szabványos formátumán, az IFF-en tûnt). Mivel egy elõjel nélküli 32-bites egész alapul. Ha az AVI-ról szeretnénk adatokat 4 gigabájtos fájlméretet tárolhat, így ezt szerezni, jó kiindulópont lehet a John választották felsõ értékül – 4 GB egyébként McGowan-féle AVI Overview, mely a a FAT 16 fájlrendszerben tárolható  http://www.jmcgowan.com/avi.html vagy legnagyobb fájlméret is.  a http://www.faqs.org/ címen érhetõ el. A Windows Médialejátszó Mivel az eredeti AVI fájlszabvány fájlonként A videofájlok képkockák sorozatából és csak egy RIFF darabot enged meg, a méret- kísérõhangból állnak. Videofelvétel lejátszá- A WMP-t (Windows Media Player) korlát legyõzésére kézenfekvõ lenne a fáj- sakor e képkockákat a lejátszó egymás után a Windowszal szállított filmlejátszóként lonkénti több RIFF engedélyezése. Az Open beolvassa, és oly módon keveri egymással, ismerjük – ez telepíthetõ kódolókat Digital Media (OpenDML) Consortium hogy végeredményként folyamatosan jelen- használ, amelyek bõvítményekként, éppen a Matrox ilyen irányú sürgetésére jenek meg. Általában a hanglejátszást veszik DLL-ek (Dynamic Link Libraries) formá- válaszolva megalkotta az OpenDML AVI alapul, ugyanis ehhez igazítják a mozgó- jában mûködnek. Ha új windowsos kódolót fájlformátum-kiterjesztéseit. A szabvány az képet. Ha a hang lejátszási sebessége inga- fejlesztünk ki, a mozgókép vagy hang AVI Overview nevû honlapon dozik, fülünk a jelenséget egyfajta „nyávo- WMP-ben is lejátszhatóvá válik. Linuxos  http://www.jmcgowan.com/aviauthor.html gásként” érzékeli, más a helyzet ugyanakkor kódolófejlesztõk számára ez azt jelenti, #VidTrace-ben kereshetõ. Az OpenDML a mozgókép sebességével: ennek csekély hogy programjukat bõvítményként átvihe- AVI támogatást a Matrox-féle DigiSuite változásait a lejátszásnál nem szükségsze- tik Windowsba, így a nyílt formátumot program, valamint a Microsoft Windows rûen vesszük észre. használó, Linuxban elkészített fájljaik Media Player is tartalmazza, utóbbi az A mozgóképes fájlformátumokkal kapcsolat- megtekinthetõk a Windows saját lejátszóján 5.1-es változattól kezdõdõen. ban két, egymással könnyen összetéveszthetõ is. És ez igaz fordítva is: egyes linuxos Az AVI mostanában idõben veszített népsze- fogalommal célszerû megismerkednünk: videolejátszók windowsos bõvítményeket rûségébõl, és ez az új Microsoft-formátu- a szállítókkal (transzport) és a kódolókkal használhatnak, valamint a Windows-formá- mok, többek között az Advanced Streaming (kodekekkel). A szállítóban találhatók egy- tumú fájlokat a nyílt forrású linuxos leját- Format (ASF) és az újabb Windows Media más után a soron következõ hang- és film- szókon szintén lejátszhatjuk. Így lehetséges Format (WMF) megjelenésének köszönhetõ. darabok. Az ismertebb szállítóformátumok az, hogy egyetlen bõvítmény mind Linux, Ezeket a Windows Media Player 7-es között említhetjük meg az AVI-t, az MPEG- mind pedig Windows alatt mûködik – lega- változatába már beépítették, de a korábbi et, valamint a QuickTime-ot. A kódoló lábbis akkor, ha Intel-processzor dolgozik változatokkal is gond nélkül használhatók. szolgál a szállítón belül tömörített mozgó- mindkét operációs rendszer alatt. A Microsoft 30 gigás WMF fájlokat próbált kép- vagy hangrészek beolvasára, ez képes Az AVI fájlok beágyazott kodekjeik azono- ki, de a formátum elméletileg 17 millió értelmezni egy-egy darab jelentését. A legis- sítására egy bûvös számot, úgynevezett terrabájt adat tárolására is elegendõ. A hang- mertebb mozgóképkódolók a Cinepak és FOURCC kódot használnak. Ez a négybájtos fájlok kiterjesztése .WMA, a mozgóképeké az Indeo, az AVI hangkódolók között pedig kód teszi lehetõvé, hogy az AVI szállító pedig .WMV.

44 Linuxvilág Dobbantó

Néhány linuxos videolejátszó Az XawTV népszerû alkalmazás Video4Linux eszközökön történõ filmné- artva zésre. A Video4Linux (V4L) számos moz- góképrögzítõ kártya használatát teszi lehe- tõvé, melyeket az alkalmazásokban tetszés szerinti összeállításban használhatunk. Az egyik legkedveltebb tévékártya a Hauppauge WinTV, a többi ehhez hasonló felépítésû kártya is ugyanarra a Conexant (korábban Rockwell Brooktree) lapkakész-

letre épül. t. Minden jog fennt Az elsõ Brooktree BT848-alapú tévékár- tyákhoz tartozó bttv linuxos meghajtókódot Ralph és Marcus Metzler készítette. Késõbb Gerd Knorr vette át a fejlesztést, megal- kotva a bttv-0.7.x sorozatú meghajtókat,

továbbá ugyancsak az õ munkáját dicséri © Kiskapu Kf a XawTV, illetve ennek karbantartása is. Alan Coxnak köszönhetjük a Video4Linux névre hallgató egységesített videoszabványt is, melynek kifejlesztésére az OSS hang- meghajtókban található ötletek is hatással voltak: a V4L-et a bttv-meghajtó köré építette ki, majd beillesztette a Linux rend- szermagba. Az eredeti bttv-meghajtó támo- A XtawTV lejátszó gatása megszûnt és helyébe a Justin Schoe- man által karbantarott V4L-változat került. szakaszban van, Bill A V4L2 lényegében a Linux bttv-meghajtó Dirks mégis ennek újraírása. Justin Schoeman honlapja használatát ajánlja,  http://sourceforge.net/projects/bttv-v4l2/ amennyiben nem szerint a bttv-v4l2 célja a Bt848/878-alapú okoz gondot. A V4L videofelvevõ kártyák támogatása nagytel- sokkal inkább a bttv- jesítményû képfelvételek készítésében. re épül, de az A V4L version 2 (V4L2) jelenlegi fejleszté- alkalmazások bár- séért Bill Dirks felelõs. Õ alkotta meg a melyik Video4Linux- felvevõ API-t, valamint néhány változtatást változatot gond is végrehajtott a különféle eszközökhöz nélkül használhatják. történõ jobb illesztés érdekében. Honlapja A megfelelõ  http://www.thedirks.org/v4l2/ további eszközmeghajtót a adatokkal szolgálhat. videodev-meghajtó Elõzõ cikkünkben (a Linuxvilág 2001. má- tölti be a V4L-be. jusi számában) rendszermagot foltoztunk V4L2-ben a meghajtó és ebbõl telepítettük az új i2c illesztõprog- betöltõje a videodev ramot, ugyanis Gerd Knorr honlapjának vagy a videodevx is tüzetes átvizsgálása után észrevettük, hogy lehet, a V4L2 video- 2.3-as vagy újabb mag szükséges a mûködé- dev-csomag pedig séhez. A foltozás után zökkenõmentesen csak 2.2.x magokkal mûködött, csak azt nem értettük, miért. mûködik és kizárólag Végül a Bill Dirksszel folytatott beszélgeté- V4L2- meghajtókat sünk oszlatta el a ködöt; kiderült, hogy mi támogat. Az új V4L2 is a dolga az i2c meghajtónak. A tévékár- videodevx-meghajtó tyák vevõt (tunert) tartalmaznak, ezek pedig viszont egyaránt saját i2c (vagy iic) nevû adatsínnel rendel- mûködik 2.2.x és keznek, melyet a gyártó Phillips cég fejlesz- 2.4.x magokkal, tett ki. Ez olyan háromhuzalos (órajel, adat, és mind a V4L2, föld), szinkron soros adatsín, amely a vevõ mind pedig a V4L A QtVidcap és a kártya többi alkotórésze közti kapcso- eszközmeghajtókat lattartást végzi. Az i2c-vel a PCI adatsín támogatja. tottuk, mert tartottunk attól, hogy a V4L2 beszélget. A PC alaplapján található egy A V4L a magban található, a V4L2-höz jelenlegi állapotában még nem megbízható. másik i2c sín is, ez azonban a processzor telepítésre is szükség van. Ezt meg is tettük, Tehát nem fogadtuk meg Bill tanácsát hõérzékelõjével tartja a kapcsolatot. miután a V4L Potatóval szállított változata – valószínû, hogy a videofelvétel kipróbálá- Bár a V4L2 fejlesztése még kísérleti elég régi. Végül mégis a V4L-et válasz- sakor tapasztalt egyes nehézségeknek is ez

www.linuxvilag.hu 2001. június–július 45 Dobbantó artva t. Minden jog fennt Az Aviplay © Kiskapu Kf

Az XawTV beállítóképernyõje

Az XawTV beállításai

cc1plus-t, a g++ felületprogramját. A g++ telepítése látszólag rendben volt. A gcc újabb változatát (2.95.3-5) telepítve a hiba megszûnt. Az XAnim programot sokan használják A videokódolók beállításai MPEG és AVI fájlok megtekintésére. AVI fájlokat nem játszotta le. Az új változat Bõvítményeket is használ, de nem a Win32 viszont ezekkel is elboldogul. Kiválóan DLL fájljait, hanem saját, felületfüggetlen mûködik, de az AVI-támogatás még nem bõvítményeket kínál a H.261, H.263, Indeo Az XAnim lejátszó elég fejlett. Bizonyos fájlokat nem sikerült és Cinepak formátumú AVI fájlokhoz. Bár lejátszanunk, néhány esetében pedig nem ez a lista nem túl hosszú, a leírás szerint a lehetett az volt kép. Sõt, volt egy, amit fejjel lefelé bõvítmények Intel, Alpha, PowerPC, Sun és oka… játszott le! SGI gépeken is futnak. Az XAnim honlapja Az AVI- Elméletileg az MPlayer kezeli az összes, szerint a bõvítmények saját, NDA alatti lejátszókat a Microsoft Windows Media Player által fejlesztések. forráskódból lejátszható fájlt, hiszen a Linux /usr/lib/win32 Az XAnim nálunk rendben mûködött, de építettük fel, könyvtárába bemásolt Windows Media nem volt képes annyi AVI fájl lejátszására, két okból is: Player kódolóbõvítményeket is képes hasz- mint az MPlayer. Felhasználói felülete a legújabb nálni. A WMP bõvítmények linuxos haszná- viszont jobb. A XAnim legutolsó változatát változatot latához szükséges kódrészletek viszont még nem tudtuk kipróbálni, mert a felépítés akartuk, és nem készülõben vannak, az MPlayer kezelése során nehézségekbe ütköztünk: elõbb ugya- állt a rendel- pedig továbbra is kissé körüményes, a nis telepíteni kell az xmkmf nevû Imake- Az XAnim vezérlõje kezésünkre spártai környezetet biztosító parancssoros készítõt. Feltételeztük, hogy az X Window .deb csomag. felület miatt. fejlesztõ könyvtáraiban ez megtalálható, de Az eljárás ez esetben a következõ: keressük A lejátszó ablakméretét nem tudjuk változ- nem akadtunk a nyomára. Késõbb azonban meg a fejlesztést a  freshmeat.net-en, a tani, s ez a legtöbb olyan embert idegesíti, észrevettük, hogy az MPlayer honlapja kicsomagolásra használjunk tar xvfz-t aki ahhoz szokott, hogy a kisméretû filme- szerint ezek a könyvtárak lib6g-dev névvel vagy xvfI-t (attól függõen, hogy a fájl ket kétszeres nagyításban nézheti. Ezen- szerepelnek a Debianban. gzip vagy bzip formátumban van-e), majd kívül nem képes ismételt lejátszásra, Két lejátszó maradt még hátra: az aKtion építsük fel. Utóbbi a GNU-ban megszokott a kilépés parancsra pedig meglehetõsen és a Kmpg. Az aKtion egy régebbi változatát módon történt: lassan válaszol. sikerült elindítanunk, de ez hibázik az AVI Az MPlayerre nem létezik többé változat- fájlok lejátszása során. Nem tudtuk felépíteni ./configure szám; letölteni csak egy naponta frissülõ a Kmpg 0.5.4 -et, ugyanis „nem szerette” make CVS pillanatfelvételt lehet. A birtokunkban a rendszerünk túlságosan új változatú libqt make install lévõ gcc fordítóval kapcsolatos gondok könyvtárát (nekünk 2.2.4 volt, a programnak miatt a program felépítése komoly nehézsé- pedig 1.x kellett volna). Az aKtion 0.4.1 Múlt havi értékelésünkben a MPlayer bizo- get okozott számunkra. A gcc egy rejtélyes esetében a „nem találom a KDE fejlécállo- nyult a legmegbízhatóbb MPEG-lejátszónak, üzenetben valamilyen telepítési hibáról adott mányokat” hibaüzenet jelent meg. bár a birtokunkban lévõ 0.11-es változat az számot, és nem volt képes végrehajtani Az Xtheater 0.9.1-t sikerült felépítenünk,

46 Linuxvilág Dobbantó

ez viszont az AVI-kat nem játszotta le. mindhárom XawTV formátumot le tudta jük, amely már a jobb multimédiás képes- Az Avifile 0.53.5 olyan könyvtár, amelyet játszani. A többi lejátszó a MJPEG-et ségekkel bíró 2.4 magot és XFree86 4.0 AVI fájlok lejátszásához használhatunk. Két leszámítva hajlamos az akadozásra, az GUI-t is tartalmazza. Eszközmeghajtóként artva példaprogram is található a csomagban: Aviplaynek viszont egyik sem tetszett. pedig ismét V4L2-t fogunk használni. az Aviplay és a QtVidcap. Az Aviplay más Gondjaink támadtak a fájlok Windows felhasználói felületet nyújt, mint a XAnim, alatti lejátszásánál – a hiba talán a nem Robin Rowe de a programmal lényegében hasonló megfelelõ felvétel miatt következett be. a MovieEditor.com tapasztalatokat szereztünk. A XAnim lát- A linuxos lejátszók jobban mûködtek internetes és televíziós hatóan nem használ Avifile-t, ahogyan Windows alatt rögzített mozgóképpel, de videoalkalmazásokat az MPlayer sem, de mindkettõ rendelkezik csak akkor, ha a digitalizáláshoz használt készítõ cég egyik part- Win32 DLL-betöltõvel, és megbízhatóbbnak kódoló nem volt túlságosan új. nere. Írásai a Dr. Dobb’s tûnnek az Aviplaynél. A XawTV használata során két megol- t. Minden jog fennt A QtVidcap felvevõ programot ígéretes dandó feladatunk akadt: a képméret és Journalban, a C++ Reportban, a volta ellenére sem tudtuk mûködésre bírni, a hang beállítása. Az ablakot a rögzítéshez C/C++ Users Journalban, a Data a fájlfelvétel kezdetekor felmondta a szolgá- használni kívánt felbontásnak megfelelõ Based Advisorban jelentek meg és latot. Reméljük, hogy az XFree86 4.x és méretûre kell beállítanunk. Ha 15 képkoc- számos tanácskozás anyagában meg- a V4L2 telepítése után ez is mûködni fog. ka/másodperces sebesség mellett 320x240 találhatók. A Robin által készített prog- ramok sorában található többek az a Az XawTV-vel sikerült AVI fájlokat rögzí- képpontnál nagyobb mérettel próbálkoz- © Kiskapu Kf teni, de az eredmény gyengébbnek tûnt tunk, akkor gondjaink támadtak: nem volt közt kiszolgálóalapú videoszerkesztõ annál, mintha ugyanezt a feladatot a hang addig, amíg rá nem jöttünk, hogy rendszer, amit a Manhattan 24 órás Windows alatt mûködõ Windows Media a gmixerben a line input for record-ot televíziós hírcsatorna, a Time Warner Encoderre bíztuk volna. Az XawTV csak (vonalbemenet használata a felvételhez) New York One, illetve a kapcsolódó 15- és 24-bites RGB- vagy MJPEG- kó- kell választani. honlap  http://www.ny1.com/ is doló használatával képes digitalizálni. Következõ írásunkban Debian Linux használ. Elérhetõ a Az XAnim volt az egyetlen lejátszó, amely telepítésünket Potatóból Woodyra fejleszt- robin.rowe@ movieeditor.com címen.

Szerkesztõk háborúja III.

Ki ne ismerné a jó öreg Norton Commander linuxos megfele- nál hiba történik, akkor megkapjuk a rakoncátlan sor lõjét, a Midnight Commandert? Az MC népszerûségét többek számát: az ugrás sorra parancsot pont erre találták ki. között beépített szerkesztõjének, az MCEditnek köszönheti. Többek között ez a kis segédlet is nagymértékben hozzá- Az MCEdit a CoolEdit egyik terminálos változata, de azzal ellen- járul ahhoz, hogy az MCEditet sokan használjuk mindennapi tétben sajnos nincsen grafikus testvére. A névjegy is mutatja, munkánk során. A különleges karakterek beszúrásán és az hogy a CoolEdit „emberbarát” megfelelõjével van dolgunk. ispell helyesírás-ellenõrzésen már meg sem lepõdünk. Számos különleges szolgáltatása mellett nagyszerûsége épp Ha az írógép híve vagy, a szerkesztõ képes a sortöréseket egyszerûségében rejlik. Bár szöveges alapú és eredetileg hasonló módon megoldani. fekete-fehér, a -c kapcsolóval ismerõs színeket varázsolha- Valamit véletlenül kitöröltünk vagy elgépeltünk? Aggodalomra tunk a képernyõre. Külön jópont, hogy semmi ok, erre is akad gyógyír: az a funkcióbillentyûk (F1–F10) mind Undo parancs (CTRL+U billentyû), szövegszerkesztés, mind formázás amellyel elõzõ lépéseinket visszavon- közben segítik munkánkat. hatjuk, ez pedig különösen hasznos Az F9 gombbal elérhetõ menük alatt lehet a szövegrészek kivágása és máso- egy sereg hasznos dolog rejtõzik: fáj- lása során, ha néhány részlet nem oda lokat szúrhatunk be tetszõleges helyre, került, mint ahova tenni szerettük volna. szövegegységeket vághatunk ki, illetve Az MCEdit hiányosságaként az róható mozgathatunk és másolhatunk egysze- fel, hogy legfeljebb 16 MB méretû do- rûen. A sokféle választható sablon kumentum megnyitására alkalmas, és alapján dokumentumunkat megszépít- ez néha kevésnek bizonyulhat a szá- hetjük, esetleg hasábokra tördelhetjük. munkra, de erre is létezik egyszerû Kiváló ötlet, hogy pillanatok alatt levél- megoldás: csak daraboljuk fel az egé- ben is elküldhetjük az egészet. A szerkesztõ széleskörûen szet körülbelül 2-3 részre, mondjuk a dd parancs segítsé- támogatja a makrókat. Ha olyan, gyakran használt mûvelete- gével – és máris otthonos környezetben folytathatjuk a gé- ket szeretnénk elérni, amelyek az alapban nem szerepelnek, pelést! Munkánk végén a cat-tel a darabokat egységessé megírhatjuk ezeket parancsfájlként, és mint menüpontok fûzhetjük össze. beilleszthetõvé válnak. Összegzésül: legyél akár profi, akár kezdõ, az MCEditet Az MCEdit kiválóan alkalmas C nyelvû programok írására, neked találták ki, mivel rendkívül alkalmas sokrétû feladatok mivel a jól ismert élénk színekkel emeli ki annak parancsait megoldására. és sorait. Ez alapján könnyen meg tudjuk különböztetni a Reszkess vi, itt a vetélytárs! nagyobb programrészeket, ciklusokat. Ha programfordítás- Kintera Vilmos ([email protected])

www.linuxvilag.hu 2001. június–július 47 Dobbantó

artva Irány a mozi! Linux a NAB-on

következõkben a Las Vegasban igényeinek megfelelõ programokat fejleszt- használható. Az eredetileg filmen rögzített megtartott National Association hetnek rá, és mivel mindenütt jelen van, felvételeket elõbb filmletapogató, például

t. Minden jog fennt of Broadcasters (Mûsorsugárzók sokkal könnyebb olyan felhasználókat ta- Kodak Cinenon segítségével digitalizálják. NemzetiA Szövetsége) összejövetelén bemu- lálni, akik jobban ismerik, mint az IRIX-et. Bár minden egyes kép külön képfájlban tatott linuxos videoalkalmazásokról számo- „Itt és most senki sem vásárol” – mondta kerül tárolásra (például: Targa formátum- lunk be. Minden évben a tévétársaságok Feeney a NAB-on – „de ha egyszer véget ban), a RAYZ felhasználója számára ezek vezetõi, az adásvezetõk, a mérnökök és ér a forgatókönyvírók sztrájkja, komoly végeredményükben mozgóképpé állnak mindenki más, akit érdekel a profi videózás, átrendezõdésre számíthatunk. Az emberek össze. A hatásszûrõk a könnyû kezelhetõség

© Kiskapu Kf Las Vegasba utazik a NAB-ra. A NAB a jelenleg Linuxot használnak a leképezéshez, céljából balról jobbra sorakoznak a grafi- világ egyik legnagyobb árubemutatója, ahol így a dolgoknak ezt a részét megoldottuk konablakban, míg az eredmények a video- több mint 115 ezer látogató és 1700 kiállító és kézben tartjuk” – hangsúlyozta Feeney. lejátszó ablakban láthatók. A kész filmek vesz részt. A számítógép-rajongók ennek Összehasonlította a linuxos grafikus munka- visszaírhatók film- vagy videoszalagra. ellenére elképzelhetõ, hogy jobban ismerik a CES-t (122 ezer látogató és ezer kiállító), illetve a COMDEX-et (225 000 látogató és 2300 kiállító). Területre mindhárom kiállítás közel azonos méretû: 108900 négyzetméter – aki nekivág, annak túrabakancs kötelezõ! A NAB-on a Linux a tavalyihoz képest sok- kal nagyobb mértékben képviseltette magát. Számos új képhatásrendszert mutattak be, többek között láthattuk a RAYZ-t a Silicon Grailtõl, a -et a Nothing Realtõl és a Mayát az Alias/Wavefronttól. A Linux Media Arts a Quicktime video- szerkesztõt és a Kino DV-szerkesztõt állí- totta ki. Az AMD rövid bemutatót tartott videofejlesztõk számára arról, miként lehet az Athlonból a legtöbbet kihozni. A BOXX Technologies a 3DBOXX grafikus munkaál- lomást állította ki. A videokártya-gyártók a Hauppauge-et és a DVS-t ismertették meg velünk. A linuxos asztali készülékek frontján pedig az ATI, az OpenTV és a Phillips TiVo volt jelen. A Khronos és a ProMpeg Forum is jelentõs Linux média-API-kkal jelentke- zett, ezenkívül a Radio Free Asia Linux és MP3-bemutatót is tartott a NAB-gyûlésen. A Maya linuxos változata „A legtöbb profi filmgyártóstúdió a követ- kezõ 18 hónap során átáll Linuxra” – vélte állomások jelenlegi szintjét a két évvel A RAYZ a Silicon Grail legújabb interaktív Ray Feeney, a Visual Effects Society mû- korábbival, amikor elõször használták fel szerkesztõje, mely a cég Chalice nevû szaki bizottságának  http://www.visual- õket nagyobb mennyiségben a Titanic címû programján alapul. A Chalice használatával effects-society.org/ négyszeres Academy film leképezési munkálataihoz. Szerinte két készült a Háborgó mélység, az Egyiptom Award-nyertese. A VES tagjai között talál- éven belül a Linux nemcsak a kiszolgálók, hercege, a Star Trek: Ûrlázadás, a Titanic, hatók az ILM, a DreamWorks, a Pixar, hanem a grafikus munkaállomások területén a Fantasia 2000, a Sötét zsaruk (Men in a PDI, a Disney’s, a Secret Lab és a Sony is egyeduralkodóvá válik. Az ILM-nél már black) – és a lista folytatható. Rendelkezik cégek különleges kép- és hanghatásokkal Linuxot használnak a munkaállomásokon különleges hatásokkal és színjavító eszközök- foglalkozó mûvészei. A VES-tagok most azt és a leképezéshez egyaránt. kel is. Egy jellegzetes összeállításban a RAYZ vitatták meg, hogyan állhatnának át Linuxra. Feeney egyébként a Silicon Grail alapítója ára 9900 dollár és a program májusban került Éveken keresztül ugyanis az SGI IRIX volt is. Ez a társaság mutatta be legújabb piacra  http://www.silicongrail.com/. a stúdiófilmek elsõ számú operációs rend- nemzedékbeli RAYZ szerkesztõjét a NAB Az SGI-csoporthoz tartozó Alias/Wavefront szere, és amióta áttértek Windowsra, sokan Compaq-pavilonjában. A RAYZ, melyet által kiadott Maya széles körben használt elégedetlenek a támogatottsággal. Minthogy különleges hatások készítésére terveztek, profi térbeli animációs és képhatások a Linux nyílt forrású rendszer, a filmipar Linuxon, IRIX-en és Windowson egyaránt létrehozására alkalmas programcsomag

48 Linuxvilág Dobbantó

gyártófelületévé tegyük, fõként nyílt forrású programok felhasználásával”. Collins szerint célkitûzéseik között elsõként az szerepel, artva hogy kiszolgálókat és szerkesztõket készít- senek egy új, csúcsminõségû SDDI kártya számára, melyet a NAB-on jelentettek be. Eddig M-JPEG és DV-rendszereket kínáltak. Az LMA DV- és Quicktime-alapú szerkesz- tõrendszereit mutatta be. A csomagban a Cinelerra és Kino videoszerkesztõket, a Blender 3D-t, a Gimpet, a CorelDraw-t

és a RedHat Linuxot találjuk. A rendszerek t. Minden jog fennt AMD, Intel és Compaq Alpha processzo- rokra épülnek. Az árak 1395 dollártól indulnak, 1 GHz-es AMD processzorral  http://www.linuxmediaarts.com/. A Kino egyszerû, csak vágásra szolgáló DV © Kiskapu Kf

A Shake 2.4 linuxos változata

(lásd bõvebben a 108. oldalon). A NAB-on az Alias/Wavefront bejelentette a Maya 4-et, melyben a leképezéssel, a szereplõanimáció- val, az ecset- és festõeszközökkel, valamint a játékkészítéshez használható eszközökkel kapcsolatos számos újítás található. A Maya nemlineáris szerkesztõeljárását is bõvítették: most már idõtorzítást (time warping), karak-  http://www.linuxmediaarts.com/ terösszefûzést, húzd-és-dobd-rendszert, vala- mint karakterkészlet-szerkesztést is találha- tunk benne. Az új szereplõanimációs lehetõ- ségek között megemlíthetjük az elõre, illetve hátra mozgás közötti átkapcsolást, a mozgás-  nyomjelzést, a szellemhatást és a szereplõk http://www.nothingreal.com/ izmainak remegtetésére szolgáló „reszketõ- mas. A Shake 2.4 új lehetõségei között torzítót” (jiggle-deformer). szerepel a vektoralapú festés, a fejlett szín- „A fejlesztés menetét a felhasználói igé- javító eszköztár, egy új rotoszkóp, valamint nyek, kérések befolyásolták” – fogalmazott a használatot egyszerûsítõ fejlesztések is. Bob Bennett, az Alias/Wavefront szórakozta- A program felbontásfüggetlen és önmûkö- tóipari üzletágának igazgatója. A döntéseket dõen kezeli a különbözõ bitmélységeket emellett a Visual Effects Society mûszaki (8, 16, 32) és felbontásokat (Web, 601, bizottságától érkezõ javaslatok is befolyá- HDTV, film, IMAX). solták. Linus Torvalds a linuxos változat A Shake-et több mint hatvan filmben 2000 nyarán történõ bejelentésekor a Maya használták, bemutatkozása óta pedig minden  3-at „a Linuxon valaha is futott legösszetet- olyan film elkészítésében fontos szerepet http://www.aliaswavefront.com/ tebb és legnagyobb teljesítményû térbeli játszott, amely a különleges hatásokért járó grafikus alkalmazásnak” nevezte. Oscar-díjat elnyerte (Titanic, Csodás álmok videoszerkesztõ. A DV formátumot hasz- A Mayát használta az ILM a Viharzónához, jönnek, Mátrix, Gladiátor). A Shake fut nálja a legtöbb amatõr digitális kamera. a Secret Lab a Mars mentõakcióhoz, a Sony Linuxon, IRIX-on és Windowson is. Szerzõje, a német Arne Schirmacher szerint Pictures Imageworks az Árnyék nélkülhöz A 2.4-es változatot februárban próbálták ki „a Kinóval DV-kamerával rögzített filmeket és sok más alkotáshoz. Az Alias/Wavefront és röviddel a NAB elõtt került piacra. Az ára lehet felvenni, létrehozni, elmenteni, szer- bemutatta a NAB-on a Maya 4 IRIX-os és 9900 dollárnál kezdõdik (lásd keszteni és lejátszani. Bár vannak ablakai windowsos változatát, a linuxos változat  http://www.nothingreal.com/). és menüi, valójában billentyûzetrõl vezérelt azonban késõbb készült el. Az árak 7500 Az ugyancsak kaliforniai Linux Media Arts program. Számos billentyûzetes parancsot dollárnál indulnak (lásd kulcsrakész videoszerkesztõ- és média- használ, melyek a vi szövegszerkesztõ  http://www.aliaswavefront.com/). folyam-rendszereket készít filmes és inter- parancsaihoz hasonlóak.” A kaliforniai Nothing Real vállalat Shake-je netes felhasználásra. Mike Collins, az LMA  http://www.schirmacher.de/arne/kino/0.) gyors szerkesztõprogram, amely leginkább elnöke szerint: „Célunk, hogy a Linuxot a Jason Howard, az LMA munkatársa a Kino különleges képhatások létrehozására alkal- világ elsõ számú multimédiás szerkesztõ- és 0.4 bemutatásakor arról számolt be, hogy ez

www.linuxvilag.hu 2001. június–július 49 Dobbantó artva t. Minden jog fennt

A Radio Free Asia honlapja © Kiskapu Kf

 http://www.tivo.com/

a videoszerkesztõ a DV-rõl DVD-re történõ csatornás hangot, és kihasználja a többpro- átírásra szolgáló eszközök egy részét képezi. cesszoros gépek lehetõségeit is. A Heroine Howard a dvcont nevû, DV-kamerát vezérlõ Virtual a programot a Linux Media Arts eszköz fejlesztõjeként ismert. A szintén  http://heroines.sourceforge.net/ által Schirmacher által írt dvgrab az 1394 proto- gyártott rendszerekhez adja. kollt használva a filmet a kameráról a szá- Az AMD processzorgyár a NAB-on a video- mítógépre viszi át, a dvsend pedig a szer- fejlesztõket tájékoztatta arról, hogyan hasz- kesztett anyagot írja vissza a kamera nálhatják ki az általuk gyártott Athlon és szalagjára. Howard egyúttal a Spectsoft Duron processzorok elõnyeit. Jim Bovenzi  http://www.heroines.sourceforge.net/ munkatársa is. A jelenleg vegyes Windows/ filmes fejlesztõmérnök szerint „a többpro- Linux-rendszerekkel rendelkezõ filmes cég cesszoros rendszer a nagy teljesítményû munkatársa, Ramona Howard (Jason videoalkalmazások kulcsa. A két Atthlon Howard édesanyja) lelkesen szervezi a teljes processzorral rendelkezõ gépek hihetetlen átállást Linuxra, hogy így jobban ellenõriz- teljesítményt nyújtanak.” Az AMD továbbá hesse az alkotófolyamatot. Filmproducer- a Sasem-féle OnAir DTV 1080i HDTV ként Jasont bíztatja arra, hogy még több kártyát is bemutatta, mely Windows XP-vel nyílt forrású programot fejlesszen. Jason futott (lásd  http://www.amd.com/ és  Howard szerint „ehhez mindössze egy olyan http://www.sasem.com/).  http://www.khronos.org/ ember kell, akinek Linux a szenvedélye, A WinTV-HD Hauppauge gyártmányú továbbá nem árt néhány láda üdítõ sem!” HDTV kártya. A Hauppauge WinTV-kártya dolláros árcímke miatt kifejezetten a profi Howard jelenleg egy olyan programon dol- nagyon népszerû a Linux-felhasználók köré- piacra valók. A kártya az 1080, sõt, a 2000 gozik, amellyel a mozgókép átalakíthatóvá ben, de egy Hauppage-nél dolgozó mérnök képpontos felbontást is támogatja válik az AVI és a Quicktime formátumok szerint sajnos a WinTV-HD felépítése telje-  http://www.digitalvideosystems.com/. között, így téve lehetõvé az anyagoknak a sen más. A linuxos közösség így ismét egy A Phillips kínálta linuxos TiVo, valamint Kino és a Cinelerra közti egyszerû cseréjét. fordított tervezési feladat elõtt áll: a NAB-on egy új, az ATI Technologies cégtõl származó Egy olyan eszközön is dolgozik, amely az bemutatott WinTV-HD kártya meghajtóit asztali eszköz is kiállításra került, utóbbi anyagokat egy szerkesztési lista alapján ugyanis szükséges lesz elkészíteni, mivel magvát az All-In-Wonder képezi. Bemutat- válogatja ki a szalagról és csak a szükséges a Hauppage nem tervez a termékhez linuxos tak egy Linux PC-n futó tervezõrendszert részleteket viszi át a merevlemezre támogatást. A WinTV-HD kártya 399 dol- is. Az ATI linuxos meghajtóprogramokat is  http://www.spectsoft.com/. lárba kerül  http://www.hauppauge.com/. kínál új, nagy teljesítményû, 1995 dollárba A Cinelerra a Heroine Virtual Quicktime- Egy a NAB-on bemutatott hasonló kártya kerülõ Fire GL4 grafikus kártyájához. alapú videoszerkesztõje. A cég jól ismert a volt az accessDTV, 479 dollárért Az asztali eszközök fejlesztésével foglalkozó linuxos közösségen belül a Broadcast 2000  http://www.accessdtv.com/. OpenTV bejelentette azon szándékát, hogy szerkesztõ és az Xmovie lejátszó révén. A HDStationOEM tömörítés nélkül mû- a jövõben támogatni kívánja a Linuxot (lásd A Cinelerrát a NAB-on jelentették be és be- ködõ, HDTV valós idejû kimeneti, illetve  http://www.tivo.com/, mutatására is itt került sor. Ez a felbontás- bemeneti kártya, profi célokra. A gyártó  http://www.ati.com/ és független szerkesztõ több mint száz valós DVS Digital Video linuxos meghajtóprog-  http://www.opentv.com/). idejû kép- és hangszûrõvel támogatja az öt- ramokat is kínál, ezek azonban a 4000 A 3DBOXX nagy teljesítményû windowsos

50 Linuxvilág Dobbantó

és linuxos abból a célból, hogy a szabad sajtót nélkü- A jövõ hónapban visszatérünk a hagyomá- munkaállomás- lözõ országok lakosságát hírekkel és adatok- nyos kerékvágásba: Debian Linuxunkat fris- család, melyet kal lássa el. Elsõ adásuk 1996 szeptembe- sítjük majd a 2.4-es rendszermagra és artva a gyártó BOXX rében közvetítették Kína felé. Az RFA napi XFree86 4.x-re, emellett pedig telepítünk Technologies 24 órán át sugároz, kilenc nyelven. egy ATI All-In-Wonder Radeon grafikus olyan digitális A. J. Janitschek, az RFA gyártástámogatási kártyát is. alkalmazásokhoz igazgatója és Tom Hallewell vezetõ mérnök ajánl, mint a ismertette az RFA adattárolási eljárásainak Robin Rowe film-, HDTV-, történetét. „A Radio Free Asiánál minden videoszerkesztés adásunk tárolására WAV fájlokat használ- a MovieEditor.com és a játékfejlesz- tunk, 4 GB DAT szalagra rögzítve” – mondta internetes és televíziós

tés. A 3DBOXX Janitschek. Ez azonban drága volt, munka- videoalkalmazásokat t. Minden jog fennt linuxos gépeinek igényes és a visszakeresés is kényelmet- készítõ cég egyik part- egyik felhaszná- lenségekkel járt. „Jelenlegi rendszerünkkel nere. Írásai a Dr. Dobb’s lója a Blur – egy 100 órás mûsort tudunk tárolni egyetlen Journalban, a C++ Reportban, a A 3DBOXX különleges kép- CD-ROM-on, és bárki számára elérhetõvé C/C++ Users Journalban, a Data hatásokkal, tehetjük, akinek a PC-jén MP3-lejátszója Based Advisorban jelentek meg és

animációval és tervezéssel foglalkozó van” – tette hozzá Hallewell. számos tanácskozás anyagában meg- © Kiskapu Kf stúdió. A cég a Paramount Parks részére Az RFA kb. 15 CD-ROM-ot használ fel találhatók. A Robin által készített prog- készíttetett egy négyperces, térbeli, sztereó egyhavi hanganyag (1020 óra) rögzítéséhez. ramok sorában található többek az a 70 mm-es rövidfilmet, a „7th Portal”-t. Három különbözõ kódolási beállítást közt kiszolgálóalapú videoszerkesztõ A 3DBOXX rendszerek 2309 dollártól használnak: rendszer, amit a Manhattan 24 órás indulnak, a RenderBOXX kiszolgálórend- 1.: 32 kHz, 48 kb/mp (20 MB/óra) televíziós hírcsatorna, a Time Warner szerek pedig 2692 dollártól a rövidhullámú rádiózásra; New York One, illetve a kapcsolódó  ( http://www.boxxtech.com/). 2.: 16 kHz, 16 kb/mp (7 MB/óra) honlap  http://www.ny1.com/ is Az OpenML egy új API, melytõl azt remé- a hosszúidejû tárolásra; használ. Elérhetõ a lik, hogy ugyanazt nyújtja a videofejlesztõk- 3.: 12 kHz, 14 kb/mp (6 MB/óra) robin.rowe@ movieeditor.com címen. nek, mint az OpenGL a grafikus fejlesztõk- az internetes adásokra. nek. A Khronos csoport élenjáró, grafikával Az RFA nem PC-n kódolja az MP3-as és digitális médiával foglalkozó társaságok- adatfolyamokat, hanem a Telos Audioactive ból áll, így például a 3Dlabs, az ATI, a Realtime MPEG Internet Audio Encoder Discreet, az Evans & Sutherland, az Intel, nevû kódolóját használja. Ez a szekrénybe az nVidia, az SGI és a Sun Microsystems is építhetõ egység MP3-fájlokat sugároz, a tagjai sorába tartozik. A csoport a NAB-on melyeket linuxos tárolórendszerük rögzít és beharangozta, hogy befejezték az OpenML CD-re ír. Janitschek szerint a gépi kódoló 1.0 szabvány kialakítását. Az OpenML a elõnye a valósidejû mûködés és az a tény, dmSDK-n alapul, melyet az SGI nemrég tett hogy rendelkezik az MP3 szabadalmi nyílt forrásúvá, továbbá az MLdc-n – egy engedélyekkel (a Fraunhofer és Thomson megjelenítõ eszközökhöz készült közvetítõ- részérõl). Az egység ára 2800 dollár (lásd rétegen. A képhatások létrehozására szolgáló  http://www.audioactive.com/). programokat gyártó Discreet segít a követel- Az RFA nemcsak mentésre használja mények megállapításában. Az újdonságot a Linuxot, hanem nyílt forrású programmal bejelentõ Neil Trevett (3Dlabs) sokat vár hozzá is járul fejlõdéséhez. Az R-BOSS a rendszer nyílt forrású, linuxos megvaló- (Radio-Broadcast Open Source System) sításától (lásd  http://www.khronos.org/ és rendszer digitális adásanyag-kezelõ alkalma-  http://oss.sgi.com/.) zások gyûjteménye, melyet Pythonban írtak. A NAB Pro-MPEG fórumán jelentették Beszerezhetõ a 3D-Project nevû ingyenes be az AAF (Advanced Authoring Format) csomagjuk is, melyben a mûsorsugárzáshoz programfejlesztõ-készlet 1.0-s változatának kapcsolódó térbeli rajzok, anyagok és kibocsátását. A programot mozgókép-, mintázatok találhatók. További információ, hang- és metaadatok cseréjére szánják, letöltés a  http://www.techweb.rfa.org-ról utómunkálati célokra. (lásd lehetséges.  http://www.aafassociation.org/ és A fentieken kívül a NAB-on még számos  http://sourceforge.net/projects/aaf/). linuxos kiállítóval találkozhattunk. A Real A kiállítókon kívül a NAB másik érdekes- Networks például a RealMedia formátum sége a „Linux és az MP3 az adattárolásban” linuxos sugárzó- és lejátszórendszerét mu- címet viselõ ülés volt. A Radio Free Asia tatta be. A Kasenna a Linuxot támogató ( www.rfa.org) rövidhullámon és a Weben vagyonkezelõ rendszerével érkezett. sugároz adásokat tibeti, kantoni, ujgur, bur- A Thomcast Communications a DCX mai, vietnami, laoszi, khmer (Kambodzsa Millennium Digital Transmitterrel jelent- számára) és koreai nyelven (Észak-Korea kezett, mely Linuxszal vezérelhetõ. Ezek számára). Az RFA magántársaság, melyet az mellett még felsorolni is nehéz, hány egyéb Egyesült Államok kongresszusa alapított Linux-alkalmazást láthattunk a kiállításon.

www.linuxvilag.hu 2001. június–július 51 Szaktekintély

artva Ellenõrzés pásztázókkal: Nessus (2. rész) Nessus: a magasabb szintre emelt biztonsági elemzés.

múlt hónapban megkezdtük érdekes és veszélyes utunkat tartalmazza, és ezt az újabb a pásztázás világába. Akkor az Nmap nevû sokoldalú hibák felbukkanásával egy

t. Minden jog fennt kapupásztázó program állt írásunk középpontjában. idõben frissítik. Eszményi AzANmap segítségével a rendszergazdák, a biztonsági szakemberek esetben az adatbázis kézzel (és bizony-bizony a leendõ betörõk is) megállapíthatják, hogy egy is szerkeszthetõ, azaz a adott gépen milyen szolgáltatásokhoz lehet kapcsolódni. felhasználó saját sebez- A gép biztonsági elemzéséhez jó kiindulópontot nyújt, ha megvizs- hetõségi próbákat építhet gáljuk, hogy milyen belépési pontokat kínál fel a rendszer. Vajon be – az adott igényeknek és

© Kiskapu Kf miként értelmezzük az Nmap által átadott ismereteket? A múlt hónap- környezetnek megfelelõen. ban például az egyik kipróbált pásztázás a listán látható kódot adta. Ezzel a szolgáltatással Mit jelent ez? Rendben, azt már tudjuk, hogy a gép futtat webkiszol- megvalósulhat az az igény, gálót (TCP 80), bizonyos RPC-szolgáltatásokat (UDP 111, UDP hogy a felhasználó maga is 1026), és valószínûleg Windows-megosztásokat is (UDP 137, TCP frissíthesse adatbázisát, 138-139). Ezek közül a szolgáltatások közül melyik támadható? ha a pásztázó fejlesztõje ráérõsen adja ki a frissítést. A Nessus Ezen a ponton lépnek be a biztonsági pásztázók. Vállalva azt is, magas szinten testre szabható, ellentétben számos más biztonsági hogy a témában elõreszaladunk, nézzük meg célpontunk Nessus- pásztázóval. pásztázásának kimenetét (lásd 1. kép). A biztonsági másoló a megadott gépeken megtalálja, azonosítja és Helyhiány miatt nem mutatjuk be az egész jelentést, de még ebbõl elemzi a figyelõ szolgáltatásokat, ezután jelentést készít. A jobb a rövidített változatból is jól látható, hogy a Nessus hét biztonsági pásztázók nemcsak a sebezhetõség tényét rögzítik, hanem részletesen lyukat, illetve kihasználható támadási pontot észlelt a célrendszerben. elmagyarázzák az esetet és a javításra is javaslatot tesznek. Ezenkívül négy további figyelmeztetést és két biztonsággal kapcso- A jó biztonsági pásztázó olyan terjedelmes jelentést hoz létre, hogy latos megjegyzést is megjelenített. esetenként a súlyos pénzeket keresõ tanácsadók is ezt nyújtják be A Nessus egyebek között megállapította, hogy ez a gép a Sambar teljes körû biztonsági ellenõrzésük fõ végeredményeként. Ez a gya- webkiszolgálót futtatta, amelyen nem volt beállítva a rendszergazda korlat megkérdõjelezhetõ ugyan, de hangsúlyozza a tényt, hogy a jó jelszava, és a veszélyes mailit.pl CGI programot is el lehetett érni pásztázás sok adatot szolgáltat. (az 1. kép nem mutat minden részletet, a hiányzó részeket el kell A Nessuson kívül akad még néhány ingyenes biztonsági pásztázó, hinnünk). Az egész C:\ meghajtó a jelszó beállítása nélkül volt meg- például a VLAD és a SAINT. A Nessus azonban kiemelkedik osztva. Továbbá a Nessus még azt is felfedte, hogy a rendszer sebez- a sorból, mert kiváltható vele néhány nagy tudású kereskedelmi hetõ, ugyanis jelszavas védelem esetén is védtelen maradt volna termék: az ISS Internet Scanner és a NAI CyberCop Scanner. a Null session kapcsolattal és a first-letter jelszótámadásokkal szem- Az elsõdlegesen Renaud Deraison és Jordan Hrycaj által fejlesz- ben. Futott még egy FTP-kiszolgáló a TCP 1432-es kapun (ezt tett Nessus a Gimp és az Apache programokkal áll egy szinten, azonban az Nmap tévesen blueberry-lm szolgáltatásként értelmezte), olyan értelemben, hogy ezek az eszközök ugyanannyira vagy még és a TCP/IP-verem kiszámítható TCP-sorozatszámokat használt. jobban használhatók és rugalmasabbak, mint kereskedelmi Ezt sokféle módon ki lehet használni: például TCP-eltérítésre és megfelelõjük. IP-hamisításra. Mielõtt továbblépnénk, megismételjük elõzõ havi figyelmezteté- Ez a rendszer megérett a feltörésre! Mi lehet ez a Nessus nevû sünket: a tudás hatalom – mindent felelõsségünk teljes tudatában halálos varázslat? És miért táncolja körbe az Nmapot a rendszer használjunk! Az Nmap, a Nessus és a hozzájuk hasonló eszközök elemzése közben? csak olyan rendszeren és hálózaton futtathatók, amelyek pásztázását engedélyezték számunkra. A kapupásztázás általában nem törvény- Biztonsági pásztázók telen tevékenység, az engedély nélküli biztonsági pásztázás azonban Amíg az Nmaphoz hasonló kapupásztázók feltárják, hogy mi figyel, komoly bajba sodorhat minket. a Nessus-szerû biztonsági pásztázók elárulják, hogy mi sebezhetõ. Mivel elõbb érdemes megtudni, hogy mi figyel, és csak ezt követõen A Nessus felépítése lehet a gyenge pontokat kipuhatolni, a biztonsági pásztázók általában A Nessus két fõ részbõl áll: a kiszolgáló végzi az összes pásztázást, tartalmaznak kapupásztázót vagy kapcsolódnak egyhez. az ügyféllel pedig vezérelhetõ a pásztázás és megnézhetõ a jelentés. A Nessus minden egyes pásztázás elsõ lépéseként az Nmapot hívja Ez az osztott felépítés rugalmassá teszi a Nessust, így nem szükséges meg, ezért volt félrevezetõ az elõbb azt sugallni, hogy a Nessus munkaállomásunk teljes processzoridejét a pásztázásra fordítani. sokkal jobb elemzést adott, mint az Nmap – valójában a Nessus az Szintén lehetõség nyílik a felületek keverésére, például használhatjuk Nmaptól függ. a kiszolgáló unixos változatát, és ehhez választhatjuk az X-, a Java- Miután a biztonsági pásztázó megállapította, hogy milyen szolgálta- vagy az MS-Windows-ügyfelet. (A hirek szerint a Java-ügyfelet nem tások mûködnek, különféle ellenõrzéseket végez: meghatározza, hogy fejlesztik már tovább.) melyik programcsomag melyik változata fut, és ez sebezhetõ-e ismert A nessusd a TCP 3001-es és a TCP 1241-es kapukon várja a módszerrel. Természetesen a nyomozásnak ebben a szakaszában kapcsolódó ügyfeleket (az 1241-es kaput az Internet Assigned szükséges egy jó adatbázis, amely a biztonsági lyukak leírását Numbers Authority nemrég rendelte a Nessushoz, ugyanis a 3001-es

52 Linuxvilág Szaktekintély

A Nessus beszerzése és telepítése A legtöbb nyílt forráskódú csomaghoz hasonlóan a Nessus is elérhetõ forráskódban és bináris formában egyaránt. A RedHat 7.0-hoz készí- artva tett Nessus-csomag, melynek változatszáma 1.0.7a (a legfrissebb a cikk írásának idején), csak a  http://redhat.aldil.org/rpm.html?id=73 címrõl tölthetõ le, Matthias Saou-nak köszönhetõen (ezekbe a biná- risokba nem fordították bele a kísérleti forráskódrészleteket). Ha nem RedHat 7.0-n dolgozunk és az általunk használt terjesztésben nincs Nessus-csomag (a Debian 2.2-ben van), vagy a kísérleti lehetõségek érdekelnek, akkor a forrásból kell a Nessust lefordítani. Aggodalomra semmi ok: ha elõbb telepítünk néhány szükséges

dolgot és elolvassuk a Nessus telepítési leírását, a fordítás simán t. Minden jog fennt fog menni. A Nessus FAQ ( http://www.nessus.org/doc/faq.html) és a Nessus levelezõlista (http://list.nessus.org) bõséges ismeret- anyagot szolgáltat a Nessus fordításáról és telepítésérõl. A Nessus a következõ csomagok meglétét követeli: Nmap, a múlt hónapban ismertetett kapupásztázó, gtk, a Gimp eszközkészlet

– beleértve a gtk+, gtk+-devel, glib+devel és XFree86-devel csoma- © Kiskapu Kf gokat, és az m4 parancsfájl-értelmezõ környezet, vagy a libgmp (ennek csomagját egyszerûen gmp-nek hívják). Miután telepítettük ezeket, terjesztésünknek további szükségletei is lehetnek. Két ilyen esetrõl tudunk. Elõször, a gmp-2.0 szükséges a RedHat 7.0-hoz (amelyben általában a gmp-3.0 található meg és nem a 2.0; az RPM --force kapcsolóját kell használni, amennyiben 1. kép Egy Windows 98 Nessus-pásztázása a 3.0 már telepítve van a 2.0 telepítésekor). Ez a csomag letölthetõ a  http://www.redhat.com/swr/i686/gmp-2.0.2-5.i686.html címrõl. elõbb-utóbb „kimegy a divatból”.) Az ügyfélkapcsolatokat El Gamal- Másodszor, a Nessus telepítéséhez vagy lefordításához SuSE Linux alapú nyilvános kulcsú eljárás alapján hitelesítik, és a titkosítást alatt szükség van a bison, flex, gtkdev és glibdev csomagokra. További olyan titkosító kulccsal végzik, amelyet minden kapcsolatnál külön- részletekért olvassuk el a  http://www.nessus.org/doc/faq.html oldalt. külön újra kicserél a két fél. E tekintetben a Nessus titkosító rétege Ha már minden szükséges összetevõ a helyére került, fordíthatjuk (Jordan Hrycaj valósította meg a libpeks könyvtára segítségével) és telepíthetjük a Nessus-csomagokat. A fordítás egyszerû, mind hasonlóan viselkedik az SSL-hez. a négy csomagnál a következõ lépéseket kell végrehajtani: 1. kicso- A Nessus ügyfélrésze, a nessus beállítható úgy is, hogy titkos magolás, 2. a csomag könyvtárában a ./configure parancs kulcsunk jelszóval védett legyen, de akár azt is megadhatjuk, hogy kiadása, 3. make, majd 4. make install. A csomagokat a követ- ne kapcsolódjon hozzá jelszó. Elõbbi esetben a nem engedélyezett kezõ sorrendben fordítsuk le és telepítsük: nessus-libraries, libnasl, felhasználók nem tudnak munkaállomásunkról csatlakozni a Nessus- nessus-core és nessus-plugins. kiszolgálóhoz. Mielõtt lefuttatnánk a configure parancsfájlt a nessus-core-hoz, Miután csatlakoztunk a kiszolgálóhoz, az felkínálja az általa támo- fontoljuk meg, hogy akarjuk-e használni munkafolyamat mentése gatott bõvítmények listáját (sebezhetõségi próbákat) és néhány illetve a tudásbázis lehetõségeket. A munkafolyamat mentése egyéb beállítási lehetõséget. Ha belefordítottuk a Nessusba, az a lehetõség is megjelenik, hogy a pásztázás azután is folytatódjon, miután a kapcsolat megszakadt az ügyféllel (ez az úgynevezett Nmap pásztázás TCP-kapcsolat, UDP- és RPC-modulokkal leválasztott pásztázás – Detached Scan). Egy teljes oldalnyi lehetõ- ségünk nyílik tudásbázis létrehozására és fenntartására, amely Starting nmap V. 2.53 by [email protected] szintén belefordítható a programba, így ennek segítségével a pász- (www.insecure.org/nmap/) tázások eredményei elrakhatók, valamint a gépek biztonsági állapota Interesting ports on (10.193.133.93): pásztázásról pásztázásra nyomon követhetõ (például lehet különb- (The 3075 ports scanned but not shown below ségi pásztázást futtatni). are in Fontosnak tartjuk megjegyezni, hogy az utóbbi két lehetõség csak state: closed) kísérleti állapotban van, ezért kisebb üzemelési gondok miatt nem Port State Service (RPC) fordítódnak bele a programba, csak ha kifejezetten akarjuk. A Nessus 80/tcp open http 1.2 megjelenéséig ezeket a hibákat ki fogják javítani, és ez a két 111/udp open sunrpc (rpcbind módozat is teljesértékû válik a programnak. Azért említjük meg V2) ezeket itt, mert a leválasztott pásztázás (Detached Scan) lehetõsége 137/udp open netbios-ns különösen jó példát szolgáltat a Nessus kiszolgálóalapú felépítésének 138/udp open netbios-dgm értékes mivoltára. 139/tcp open netbios-ssn Miután mindent beállítottunk és elkezdtük a pásztázást, a Nessus 1026/udp open (rpcbind V2) meghívja a megadott és/vagy szükséges modult vagy bõvítményt, 1432/tcp open blueberry-lm egy Nmap pásztázással bevezetve. Az egyes bõvítmények futásának eredményétõl függ, hogy kell-e további próbákat futtatni – a Nessus Nmap run completed-1 IP address (1 host up) ebben meglehetõsen okos. A pásztázás végeztével az eredményeket scanned elküldi az ügyfélnek. Ha a munkafolyamat mentése (session-saving) in 14 seconds be van állítva, az eredmények a kiszolgálón is tárolhatók.

www.linuxvilag.hu 2001. június–július 53 Szaktekintély artva t. Minden jog fennt © Kiskapu Kf

2. kép A „bobo” felhasználó elsõ bejelentkezése a Nessus-kiszolgálóra 3. kép Bõvítmények képernyõje (A Windows-család látható)

lehetõvé teszi a megszakított mûveletek folytatását (például: a pásztázás folytatható az operációs rendszer vagy egy alkalmazás lefagyása után) és a leválasztott pásztázást (lásd fent). Ezt a lehe- tõséget a configure parancsfájl --enable-save-session kapcsolójával engedélyezhetjük. A tudásbázis lehetõvé teszi, hogy a pásztázások eredményeit a kiszolgálón tároljuk egy adatbázisban, amelynek felhasználásával késõbb különbségi pásztázásra nyílik lehetõség. A tudásbázist engedélyezõ configure-kapcsoló a --enable-save-kb. Ezek szerint ha a Nessus mindkét kísérleti lehetõségét ki akarjuk használni, a nessus-core fordítása elõtt a következõképpen hívjuk meg a configure-t:

./configure --enable-save-sessions --enable-save-kb

A  http://www.nessus.org/documentation.html címen részletesen olvashatunk ezeknek a lehetõségeknek a lefordításáról és használa- táról. Mivel kísérleti kódról van szó, ebben a cikkben már nem ejtünk több szót róluk. Miután mind a négy csomagot lefordítottuk és telepítettük, gyõzõd- jünk meg róla, hogy a /etc/ld.so.conf fájl tartalmazza a /usr/local/lib bejegyzést. (Ha nem így lenne, adjuk hozzá kedvenc szövegszerkesz- tõnkkel.) Ezután futtassuk az ldconfig parancsot, hogy az ld (dina- mikus csatoló) gyorstára frissüljön. Végül, mivel a Nessus egyik erõssége, hogy fejlesztõi rendszeresen új sebezhetõségi parancsfájlokat adnak ki, jó ötlet a munkát egy teljes sebezhetõségi adatbázissal kezdeni. A nessus-update- plugins parancsfájl segítségével az összes olyan bõvítmény 4. kép Beállítások képernyõ letöltõdik a lynx program segítségével, amelyek a Nessus kiadása óta jelentek meg. Javasoljuk a nessus-update-plugins -v (feltéve, hogy a nessus démon fut). Jelenleg ez a parancsfájl nem használatát, mert a -v kapcsoló nélkül a parancsfájl nem írja ki, hogy készít MD5 vagy másféle ellenõrzõösszeget, ezért a folyamat sokfé- milyen bõvítményeket telepít. Az új parancsfájlok letöltése, kicso- leképpen befolyásolható. Ha ez zavar minket, a bõvítményeket kézzel magolása és mentése után a nessus-update-plugins újraindítja egyenként is letölthetjük a  http://www.nessus.org/scripts.html a nessusd-t, hogy a rendszer az új bõvítményeket használni tudja weboldalról, de még ekkor sem lehetünk teljesen biztosak abban,

54 Linuxvilág Szaktekintély

démon mûködését, és nem is indít egy újat; valójában a Nessus felhasználói adatbázisát frissíti, és észrevétlenül újraindítja a démont. Például a „bobo” felhasználót „scuz00DL” jelszóval így adjuk hozzá: artva

nessusd -P bobo,scuz00DL

A jelszót egyszer használatosnak neveztük, mert alapesetben miután bobo elõször bejelentkezett és megadta a jelszavát, nyilvános kulcsa feljegyzésre kerül a Nessus-kiszolgálón, így a további bejelentke- zések alkalmával nem kell újra beírnia a jelszót (a hitelesítés észre- vétlenül történik egy SSL-szerû felszólítás illetve válasz mûvelettel).

A második és sokkal hatékonyabb módszer, hogy új felhasználói t. Minden jog fennt fiókokat hozzunk létre a kiszolgálón: a nessus-adduser parancs. Ez a parancsfájl gyakorlatilag minden varázslatát a nessusd hívogatá- sával végzi el, de kényelmes felületet ad a felhasználók kezelésére, ha a nessusd -D parancsnál nagyobb részletességgel szeretnénk õket szabályozni. Nemcsak a felhasználónevet és a jelszót kéri el,

hanem azt az IP-címet is, ahonnan a felhasználó kapcsolatot kezde- © Kiskapu Kf ményezhet, illetve azokat a szabályokat is, amelyek meghatározzák, hogy a felhasználó mely gépeket pásztázhatja a Nessusszal. Ha ilyen mélységben érdeklõdünk a felhasználói fiókok kezelése iránt, érdemes végigolvasnunk a nessus-adduser leírását. A cikk hátralevõ részét most inkább arra szánjuk, hogy megbeszéljük a Nessus-pásztázás felépítését, futtatását és értelmezését. Mielõtt azonban elhagynánk a hitelesítés témakörét, meg kell emlí- teni egy másik hitelesítési fajtát is, amelyet a Nessus használ: az ügyfél helyben is végez hitelesítést minden egyes 5. kép A Pásztázás beállításai képernyõ ügyfélkapcsolathoz. A Nessus-ügyfél elsõ elindításakor egy jelszót kérdez. Ez a jelszó védi a titkos kulcsot a Unix-fiók home könyvtá- hogy minden rendben van – hacsak nem olvassuk el az összes rában, amelyre a Nessus indításakor bejelentkezünk. Ezt mindig meg parancsfájlt (a /usr/local/lib/nessus/plugins könyvtárban vannak), fogja kérdezni. Ezután ha a Nessus-kiszolgálóhoz csatlakozunk, mielõtt a pásztázást megkezdenénk. a titkos kulcs segítségével jön létre az elõbb említett észrevétlen felszólítás/válasz tranzakció, amely tulajdonképpen a távoli nessusd Nessus-ügyfelek folyamat számára hitelesít minket. Ha ez most homályosnak tûnik is, Hacsak nem egy gépen futtatjuk a Nessus-kiszolgálót és az ügyfelet, semmi baj, a lényeg, hogy ne feledjük: ennek a jelszónak, amelyet további telepítéseket kell elvégeznünk azon a gépen, amelyet ügyfél- mindig elkér az ügyfélprogram, semmi köze ahhoz a jelszóhoz, gépként kívánunk használni. A Nessus-kiszolgálóval (amelyen a amelyet a Nessus-kiszolgálóhoz való elsõ csatlakozásunk alkalmával nessusd fut) ellentétben, amely csak Unix-alapú gépen mûködhet, használtunk. az ügyfelek Unixon és MS Windowson egyaránt futhatnak. A Nessus lefordítása és telepítése Unix-ügyfélgépen nem különbözik a kiszol- Biztonsági pásztázások a Nessusszal gálótól (lásd fent). Most kezdõdik az igazi móka! Miután a Nessust telepítettük és A windowsos ügyfelek telepítése (WinNessus, NessusW és legalább egy felhasználót is beállítottunk, kezdhetünk pásztázni. NessusWX) még ennél is egyszerûbb, mindhárom megtalálható Elõször indítsuk el az ügyfelet és írjuk be az ügyfél titkos kulcsának bináris formában. A WinNessus hasonlít legjobban a Unix-ügyfél jelszavát (mellesleg ezt bármikor megváltoztathatjuk a nessus -C felhasználói felületére, aki ehhez van hozzászokva, annak ez paranccsal, amely bekéri a jelenlegi jelszót és az újat, amire módo- a legjobb választás. Mindhárom Windows-ügyfél letölthetõ sítani szeretnénk). a  http://www.nessus.org/win32.html címrõl. Ezután írjuk be annak a nessusd kiszolgálót futtató gép nevét vagy Mielõtt a Nessus-ügyfelek használatáról beszélnénk, indítsuk el IP-címét, amelyhez csatlakozni szeretnénk; a kaput, amelyen a démont. a kiszolgáló figyel; a használni kívánt titkosítási módszert és a Nessus felhasználónév-jelszó párost (2. kép). A kapu és titkosítás A nessusd futtatása és karbantartása (Port és Encryption) alapértelmezett értékei általában megfelelõk. Rendben, térjünk vissza a Nessus-kiszolgáló konzoljához és készül- Ha elkészültünk, kattintsunk a Log in (Bejelentkezés) gombra. jünk fel az elsõ indításra. (Remélem, mindenki izgatottan várja ezt Ha ez az elsõ alkalom, hogy a kiszolgálóhoz kapcsolódunk, akkor a percet és csakis jóban sántikál!) A nessusd sok más démontól meg kell még adnunk az egyszer használatos jelszót is (legközelebb különbözik abban, hogy elindítható démonként (azaz a háttérben) fut, már nem kéri a program). Ezután létrejön a kapcsolat és elkezdhet- valamint kapcsolóiban is, amelyek befolyásolják a viselkedését. jük a pásztázást. A démonmódban való indításhoz adjuk ki a nessusd -D parancsot. Ha a Plugins (Bõvítmények) fülre kattintunk, megjelenik az összes Ahogy az egy kiszolgálóalapú alkalmazástól elvárható, szükségünk a Nessus-kiszolgálón elérhetõ sebezhetõségi teszt listája, családok lesz néhány Nessus-felhasználói fiókra a kiszolgálón. Ezek függet- szerint csoportosítva (3. kép). Kattintsunk a család nevére (ezek lenek a kiszolgáló helyi Unix-felhasználói fiókjaitól. A Nessus-fiókok az ablak felsõ felében jelennek meg), hogy megnézhessük, milyen két különbözõ módon hozhatók létre. Az elsõ módszer a nessusd bõvítmények érhetõk el az adott családhoz. A család melletti jelölõ- meghívása a -P kapcsolóval, amelyet közvetlenül a felhasználónév négyzet használatával választhatjuk ki az összes bõvítményt. és az egyszer használatos jelszó követ. Ez nem zavarja a nessus Ha nem tudjuk, hogy egy adott bõvítmény mit csinál, kattintsunk

www.linuxvilag.hu 2001. június–július 55 Szaktekintély artva t. Minden jog fennt © Kiskapu Kf

7. kép Felhasználó képernyõ 6. kép Célpont kiválasztása képernyõ

a nevére, ilyenkor egy tájékoztató ablak bukkan fel. Ha az egérmu- felesleges próbákat, de ez hamis negatív eredmény keletkezéséhez tatót a bõvítmény neve fölé húzzuk, egy buborék jelenik meg a vezethet, legalábbis elméletileg. Gondoljuk meg, mennyire aggaszt ez bõvítmény rövid ismertetésével. Az olyan bõvítmények, amelyek minket ahhoz viszonyítva, amilyen gyorsan megkapjuk az eredményt. jelölõnégyzete mellett sárga háromszög található, különösen veszé- Ha már a sebességrõl beszéltünk: amennyiben gyorsan szeretnénk lyesek: az általuk végrehajtott tesztek megszakíthatják vagy akár le eredményt kapni, kerüljük a Do a reverse (DNS) lookup… haszná- is fagyaszthatják a célponton (áldozaton) futó szolgáltatásokat. latát, ez ugyanis minden pásztázott IP-címhez megpróbálja megta- Csakis nagy körültekintéssel használjuk ezeket! lálni a gépnevet. Gond nélkül kiválaszthatunk nagyszámú bõvítményt, akár az össze- Itt az ideje megnevezni „áldozatainkat”, vagyis a célpontokat. Ezeket set is. A Nessus elég okos ahhoz, hogy például a Windows-próbákat a Target(s): mezõben adhatjuk meg a Target Selection (célpont kivá- átugorja a nem Windowst futtató gépeken. Általában a Nessus haté- lasztása) képernyõn (6. kép). Ide írhatjuk be vesszõvel elválasztva konyan eldönti, hogy milyen próbát kell futtatnia az adott körülmé- a gépneveket, IP-címeket és hálózati címeket x.x.x.x/y alakban (ahol nyek között. az x.x.x.x a hálózat száma és y az alhálózati maszk bitjeinek a száma, A következõ képernyõ a Prefs (Beállítások – 4. kép). Ellentétben pl. 192.168.1.0/24). azzal, amit ennek láttán elsõre gondolnánk, ez a képernyõ mégsem A Perform a DNS zone transfer bejelölésével a Nessust arra utasít- az általános, hanem a bõvítményekkel kapcsolatos beállításokat juk, hogy minden elérhetõ DNS-információt megpróbáljon megsze- tartalmazza, némelyik kötelezõ az adott bõvítmény helyes mûkö- rezni a Target(s): mezõben megadott valamennyi tartománynévrõl déséhez. Menjünk végig a listán, és adjunk meg annyi adatot, és altartománynévrõl. Megjegyzendõ, hogy a legtöbb internetes amennyit csak tudunk. DNS-kiszolgáló úgy van beállítva, hogy megtagadja az ismeretlen Figyeljünk a Ping részre (a legtetején), elég sokszor elõfordul, hogy gépektõl érkezõ zónaátviteli kéréseket. A többi beállítás ezen ha bármelyik pingmódszert (TCP vagy ICMP) választjuk, a Nessus a képernyõn a fentebb említett kísérleti munkafolyamat mentésének arra a hibás következtetésre jut, hogy a célpont nincs bekapcsolva. lehetõségével van összefüggésben. További tájékoztatásért olvassuk A Nessus nem hajt végre semmilyen próbát olyan gépen, amely el a  http://www.nessus.org/documentation.html weboldalt a nem válaszol a pingre, ezért ha nem vagyunk biztosak benne, ne kísérleti lehetõségek használatáról. pingeljünk! Figyelem: az Nmap részben a Linux-felhasználók csak Végezetül még egy képernyõn kell túljutnunk a pásztázás megkez- a tcp connect() lehetõséget válasszák, az összes többit a libpcap dése elõtt, ez a User (Felhasználó) képernyõ (7. kép). (Átugrottuk hibája miatt ne, ugyanis az befolyásolja a Nessus kapupásztázási a KB képernyõt, amely csak akkor van jelen, ha a tudásbázis-lehetõ- tevékenységét. séget is használni akarjuk, és ezért azt is lefordítottuk.) Ezen a képer- A Prefs után jön a Scan Options (Pásztázás beállításai – 5. kép). nyõn adhatjuk meg az ügyfél jelszavát (ugyanaz a hatása, mint Vegyük észre, hogy az 5. képen szereplõ Nessus-program a munka- a nessus -C parancsnak), és a Target Selection képernyõn beírt cél- folyamat mentése lehetõséggel lett fordítva, ennek bizonyítéka pontok közül jelölhetünk meg kivételeket (valójában a célpontlista a Detached Scan és a Continuous Scan, amelyek egyébként nem finomhangolása ez). jelentek volna meg. Akárcsak a Prefs képernyõn, itt is csak az Nmap Ezeket a kivételeket szabályoknak hívják és egyszerû alakban tcp connect() lehetõséget válasszuk ki a Port scanner beállítás- felírhatók: cím elfogadása, cím elvetése, alapértelmezett elfogadás nál, a fent említett hiba miatt. vagy visszautasítás. A 7. képen a felsorolt szabályok azt jelentik, Az Optimize the test lehetõség választásával elkerülhetjük a látszólag hogy ne pásztázza a 10.192.133.60-at, de pásztázzon minden mást

56 Linuxvilág Szaktekintély

Olvassuk el alaposan a jelentést, minden + jelre kattintsunk rá, és javítsuk a Nessus által jelzett hibákat. A Nessus megtalálja a hibát, sokszor megoldást is javasol, de nem javítja ki helyettünk. Az is igaz, artva hogy a Nessus nem feltétlenül talál meg minden biztonsági rést a rendszerünkön. Ez a helyzet a biztonsági pásztázókkal: ennyit képesek megtenni, ráa- dásul nem minden bõvítmény hatékony egyforma mértékben a hibák megtalálásában. Még ha hatékonyak is lennének, a Nessus érthetõ okokból nem találhatja meg azokat a biztonsági réseket, amelyekre nincs bõvítménye, ezért bõvítményeinket rendszeresen frissítsük.

Néhány záró gondolat t. Minden jog fennt A Nessus sokoldalú, rugalmas, kereskedelmi szintû, de teljesen ingyenes és szabad biztonsági pásztázó. A helyesen létrehozott és értelmezett Nessus-jelentések segíthetnek minket abban, hogy a jól ismert hibákat elkerüljük. Nem beszéltünk a saját bõvítmények írásáról, amelyek lehetõvé teszik, hogy ne csak a közismert bizton-  http://www.nessus.org/doc/faq.html

sági réseket ellenõrizhessük, hanem új, ez idáig ismeretlen hibákat © Kiskapu Kf az elõzõ képernyõn megadottak közül. fedezzünk fel. Még egyszer kérjük, hogy mindenki felelõsen Lássuk az eredményt! Kattintsunk a Start the Scan (Pásztázás meg- használja ezt az eszközt! kezdése) gombra a képernyõ alján. A pásztázás idõtartama eltérõ Remélve, hogy így lesz, jó szórakozást kívánunk! hosszúságú lehet, fõként a kiválasztott gépek és a végrehajtandó próbák számától függ. A végeredmény hasonló az 1. képen láthatóhoz. A Report (Jelentés) ablakból menthetjük is a jelentést egy fájlba azon Mick Bauer ([email protected]) kívül, hogy nézegethetjük és különbözõ részleteit megjeleníthetjük. hálózati biztonsággal foglalkozó szaktanács- A támogatott formátumok között szerepel a HTML, az ASCII, adó. 1995 óta a Linux elkötelezett híve, a LaTeX és természetesen a Nessus saját jelentésfájl-formátuma, 1997 óta pedig OpenBSD prófétaként az NSR. Ha valaha is jelentést szeretnénk visszatölteni a Nessusba, tevékenykedik. Mick szívesen fogad minden az NSR formátumot kell használnunk. kérdést, és megjegyzést.

www.linuxvilag.hu 2001. június–július 57 Szaktekintély

artva Csomagszûrõ: bájtok leszippantása a hálózatról A 2.2-es rendszermagban megjelent LSF segítségével a rendszermag beprogramoz- ható, hogy melyik csomagot engedje be. Most megtudhatjuk, hogyan.

bban az esetben, ha hálózati rendszergazda vagy, esetleg ket nem a mi gépünknek címeztek. A másik a protokollverem feldol-

t. Minden jog fennt biztonsági kérdésekkel foglalkozol, illetve ha egyszerûen gozásával függ össze: ha nem akarjuk elveszíteni a csomagot, minden csak érdekel, hogy a helyi hálózatodon mi megy keresztül, egyes kaput nyitva kell tartani és figyelni kell. Ráadásul a csomag Anéhány csomag leszippantása a hálózati kártyáról hasznos gyakorlat adatainak egy része a protokollverem feldolgozása során el is vész. lehet a számodra is. Egy kis C programozással és alapvetõ hálózatos Az elsõ gond nem alapvetõ, ugyanis nem biztos, hogy érdekelnek ismeretekkel felvértezve könnyen elfoghatod azokat az adatokat is, minket a többi gépre küldött csomagok, lehet hogy csak a saját amelyek nem a te gépedre érkeznek. Ebben a cikkben ethernethálóza- gépünkre küldötteket akarjuk leszippantani. A másodikat ellenben

© Kiskapu Kf tokról lesz szó, mert messze ez a legelterjedtebb a helyi hálózatok meg kell oldani. Megnézzük, hogyan célszerû kezelni ezt a két között. Késõbb megvilágított okból azt is feltesszük, hogy a forrás- feladatot külön-külön, most kezdjük az utóbbival. és a célgép ugyanahhoz a helyi hálózathoz tartozik. Elõször is elevenítsük fel, hogyan mûködik egy átlagos ethernethálózati kártya. Akik már jártasak Ethernet (MAC) cím ezen a területen, azok nyugodtan ugorjanak a követ- kezõ bekezdéshez. A felhasználói programokból Célcím Forráscím Típus IP-csomag származó IP-csomagok ethernetkeretekbe ágyazód- 0 6 12 14 nak be (így hívják az ethernetszakaszon átküldött IP-fejléc csomagokat). Ezek egyszerûen nagyobb méretû, Egyéb IP-forráscím Célcím TCP/UDP adatok alacsonyabb szintû csomagok, amelyek tartalmaz- IP-adat zák az eredeti IP-csomagot, valamint további adato- 0 12 12 20 kat is a célba juttatáshoz (lásd 1. ábra). Ebben az esetben a cél IP-címe a cél 6 bájtos ethernetcímére 1. ábra IP-csomagok mint ethernetkeretek képezõdik le (ezt gyakran MAC-címnek hívják) az ARP-nak hívott átalakítás segítségével. Így a csomagot tartalmazó keret áthalad a forrást és a célt összekötõ vezetéken. A keret valószí- nûleg hálózati eszközökön, például elosztókon vagy kapcsolókon Forrásgép is keresztülmegy, de mivel feltettük, hogy nem lépi át a helyi háló- zatot, útválasztó vagy átjáró nincs benne. Az ethernet szintjén nincs útválasztás. Más szavakkal: a forrásgép által küldött keret nem fog közvetlenül a célgépre jutni, ehelyett az Eredeti keret a helyi hálózatot alkotó összes vezetéken megjelenik, és minden há- lózati kártya látni fogja, amint elhalad (lásd 2. ábra). Minden háló- Elosztó Újraküldött keret zati kártya elolvassa a keret elsõ hat bájtját (amely az imént említett MAC-címet tartalmazza), de csak az a kártya olvassa be az egész keretet, amelyik a célcímben felismeri a saját címét. Ezen a ponton Újraküldött keret a keretet átveszi a hálózati meghajtó, visszaállítja az eredeti IP-cso- magot, és továbbítja a fogadó alkalmazásnak a hálózati protokoll- Célgép vermen keresztül. Pontosabban a hálózati meghajtó ellenõrzi a protokolltípus-mezõt az ethernetkeret belsejében (lásd 1. ábra), és ettõl az értéktõl teszi függõvé, hogy melyik protokollfogadó függvénynek továbbítsa a csomagot. Az esetek többségében ez az IP protokoll lesz, a fogadó függvény kiveszi az IP-fejlécet, és a maradékot az UDP-t vagy 2. ábra TCP-t fogadó függvényeknek továbbítja. Ezek a protokollok azután Ethernetkeretek küldése helyi hálózaton keresztül továbbadják a csomagot a foglalatkezelõ függvényeknek, amelyek végezetül a csomag adatait a felhasználói térben futó alkalmazásnak A PF_PACKET protokoll továbbítják. Az utazás során a csomag minden hálózattal kapcsolatos Amikor egy foglalatot a szabványos sock = socket (domain, ismeretet elveszt, például a forrás címeit (IP és MAC), TCP-jellem- type, protocol) hívással megnyitsz, meg kell adnod, hogy zõket stb. Továbbá, ha a célgépen nincs nyitva a megfelelõ kapu, melyik tartományt (vagy protokollcsaládot) fogod azzal a foglalattal a rendszermag eldobja a csomagot, amely így nem ér el az alkalma- használni. Gyakran használt család a PF_UNIX, amely a helyi zások szintjére. gépen belüli párbeszédre használatos, és a PF_INET, amely az IPv4 Ennek következtében a hálózaton utazó csomagok leszippantásához protokollokon alapuló párbeszédekre jó. Meg kell továbbá adnod két különálló feladatot kell megoldanunk. Az elsõ az ethernetcímzés- a foglalat típusát, melynek lehetséges értékei a megadott családtól sel kapcsolatos: nem tudjuk azokat a csomagokat elolvasni, amelye- függenek. A PF_INET család leggyakrabban használt típusai:

58 Linuxvilág Szaktekintély

1. lista A leszippantott csomagok protokollveremszerû feldolgozása

#include close(sock); artva #include exit(0); #include } #include #include ethhead = buffer; #include printf("A forrás MAC-címe: " #include "%02x:%02x:%02x:%02x:%02x:%02x\n", ethhead[0],ethhead[1],ethhead[2], int main(int argc, char **argv) { ethhead[3],ethhead[4],ethhead[5]);

int sock, n; printf("A cél MAC-címe: " t. Minden jog fennt char buffer[2048]; "%02x:%02x:%02x:%02x:%02x:%02x\n", unsigned char *iphead, *ethhead; ethhead[6],ethhead[7],ethhead[8], ethhead[9],ethhead[10],ethhead[11]); if ( (sock=socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP)))<0) { iphead = buffer+14; /* Az ethernetfejléc

perror("socket"); átugrása */ © Kiskapu Kf exit(1); if (*iphead==0x45) { /* Ellenõrzi az IPv4 } meglétét */ printf("Forrásgép %d.%d.%d.%d\n", while (1) { iphead[12],iphead[13], printf("------\n"); iphead[14],iphead[15]); n = recvfrom(sock,buffer,2048,0,NULL,NULL); printf("Célgép %d.%d.%d.%d\n", printf("%d bájt beolvasva\n",n); iphead[16],iphead[17], iphead[18],iphead[19]); /* Ellenõrzi, hogy a csomag tartalmazza-e printf("Forrás- és célkapuk %d,%d\n", legalább (iphead[20]<<8)+iphead[21], * a teljes ethernet (14), IP (20) és (iphead[22]<<8)+iphead[23]); * TCP/UDP (8) fejléceket. printf("Layer-4 protokoll */ %d\n",iphead[9]); if (n<42) { } perror("recvfrom():"); } printf("Nem teljes csomag (errno is %d)\n", errno); } a SOCK_STREAM (ez a TCP-nek feleltethetõ meg) és a a PF_PACKET családot csak a rendszergazda használhatja. SOCK_DGRAM (az UDP megfelelõje). A foglalat típusa befolyá- A PF_PACKET család könnyedén megoldja a leszippantott cso- solja a rendszermagot a csomagok kezelésében, mielõtt még azok magokkal kapcsolatos feladatainkat. Nézzük meg az 1. listán, az alkalmazáshoz kerülnének. Végül meg kell adnod a foglalaton hogyan mûködik mindez. Megnyitunk egy PF_PACKET családhoz átáramló csomagot kezelõ protokollt (további részletek a socket(3) tartozó foglalatot, megadjuk a SOCK_RAW típust és az IP-vel kézikönyvoldalon olvashatók). kapcsolatos protokolltípust. Ezután elkezdünk olvasni a foglalatról, A Linux-rendszermag újabb változataiban (a 2.0 utáni kiadásokban) és néhány ellenõrzés után kinyomtatjuk az ethernetszintû adatokat, új protokollcsaládot vezettek be, a PF_PACKET-et. Ez a család lehe- valamint az IP-fejlécet. A kinyomtatott címek és az 1. ábra össze- tõvé teszi az alkalmazásoknak, hogy közvetlenül a hálózati kártya vetésébõl jól látható, milyen könnyû volt az alkalmazásból elérni meghajtójával tárgyalva küldjenek és fogadjanak csomagokat, így a hálózati szintû adatokat. elkerülik a szokásos protokollkezelést (például: TCP- és IP-, UDP- Feltéve, hogy a géped ethernetes helyi hálózatba csatlakozik, kísér- feldolgozást). Ez azt jelenti, hogy minden a foglalatra küldött csomag letezhetsz ezzel a kis példaprogrammal. Küldj csomagokat a gépedre közvetlenül az ethernetcsatolóra kerül, és minden a csatolóra érkezõ egy másik géprõl (pingelheted a gépedet vagy jelentkezz be Telnettel)! csomag közvetlenül az alkalmazáshoz továbbítódik. Látni fogod a neked szánt csomagokat, de nem fogod látni a többi A PF_PACKET család két eléggé eltérõ foglalattípust támogat, gépre küldötteket. a SOCK_DGRAM és a SOCK_RAW típusokat. Elõbbi a rendszer- magra hagyja az ethernetszintû fejlécek hozzáadását és eltávolítását, Lehallgató és nem lehallgató mód utóbbi pedig teljesen az alkalmazásra. A protokollmezõ a socket() A PF_PACKET család lehetõvé teszi, hogy az alkalmazások olyan hívásban meg kell egyezzen a /usr/include/linux/if_ether.h-ban formában szerezzék meg az adatcsomagokat, ahogy azok a hálózati megadott ethernetazonosítók egyikével, amely az ethernetkeretben kártyára érkeznek, de még ez sem engedi olyan csomagok elolvasá- szállítható bejegyzett protokollokat adja meg. Hacsak nem nagyon sát, amelyeket nem a gépnek címeztek. Ahogy az elõbb láthattuk, sajátos protokollokról van szó, általában az ETH_P_IP-t kell hasz- ez amiatt történik, mert a hálózati kártya eldobja azokat a csoma- nálnod, amely magába foglalja az összes IP-protokollt (például: gokat, amelyek nem a saját MAC-címére érkeznek. Ezt a mûködési TCP, UDP, ICMP, nyers IP stb.). módot nem lehallgató módnak (nonpromiscuous) nevezik, ami Mivel ezeknek igen súlyos biztonsági következményeik lehetnek egyszerûen azt jelenti, hogy az összes hálózati kártya csak a saját (például szerkeszthetsz egy hamis MAC-címmel rendelkezõ keretet), dolgával törõdik és csakis a neki szóló kereteket olvassa el. Három

www.linuxvilag.hu 2001. június–július 59 Szaktekintély

3. lista tcpdump -d eredménye 4. lista tcpdump a -dd kapcsolóval artva echer:~# tcpdump -d host 192.168.9.10 escher:~# tcpdump -dd host 192.168.9.01 (000) ldh [12] { 0x28, 0, 0, 0x0000000c }, (001) jeq #0x800 jt 2 jf 6 { 0x15, 0, 4, 0x00000800 }, (002) ld [26] { 0x20, 0, 0, 0x0000001a }, (003) jeq #0xc0a8090a jt 12 jf 4 { 0x15, 8, 0, 0xc0a80901 }, (004) ld [30] { 0x20, 0, 0, 0x0000001e }, (005) jeq #0xc0a8090a jt 12 jf 13 { 0x15, 6, 7, 0xc0a80901 }, (006) jeq #0x806 jt 8 jf 7 { 0x15, 1, 0, 0x00000806 },

t. Minden jog fennt (007) jeq #0x8035jt 8 jf 13 { 0x15, 0, 5, 0x00008035 }, (008) ld [28] { 0x20, 0, 0, 0x0000001c }, (009) jeq #0xc0a8090a jt 12 jf 10 { 0x15, 2, 0, 0xc0a80901 }, (010) ld [38] { 0x20, 0, 0, 0x00000026 }, (011) jeq #0xc0a8090a jt 12 jf 13 { 0x15, 0, 1, 0xc0a80901 }, (012) ret #68 { 0x6, 0, 0, 0x00000044 },

© Kiskapu Kf (013) ret #0 { 0x6, 0, 0, 0x00000000 },

kivétel van ez alól a szabály alól: ha a keret célcíme a különleges azokról íratsz ki adatokat, amelyek érdekelnek. Az elsõ ötlet ehhez FF:FF:FF:FF:FF:FF MAC-cím – ezt minden kártya felveszi; ha az lehet, hogy if utasításokat szúrunk be a szippantó forrásába. a keret célcíme többszörös cím – ezt azok a kártyák veszik fel, Ez azonban noha szebbé teszi a szippantó kimenetét, a teljesítmény amelyeken a többszörös cím fogadása engedélyezett; végül ame- szempontjából nem lesz túl hatékony. A rendszermag ekkor is beol- lyik kártya lehallgató módban van – az összes csomagot felveszi, vassa a hálózaton áramló csomagokat, ami idõpocsékolás, továbbá amit csak hall. a szippantó ekkor is megvizsgálná az összes csomag fejlécét és Természetesen céljaink elérése szempontjából az utóbbi a legér- döntene a csomaggal kapcsolatos adatok kinyomtatásáról. dekesebb. A hálózati kártyát egy nyitott foglalatára irányított Az eszményi megoldás az lenne, ha a szûrõt a lehetõ leghamarabb megfelelõ ioctl() hívással állíthatjuk lehallgató módba. Mivel ez iktatnánk be a csomagfeldolgozó láncba (ez a hálózati meghajtó a mûvelet biztonsági kockázatot hordoz magában, a hívást csak szintjén kezdõdik és az alkalmazás szintjén ér véget, lásd a 3. ábrát). rendszergazdai jogosultságú felhasználó adhatja ki. Feltéve, hogy A Linux-rendszermag lehetõvé teszi, hogy berakjunk egy szûrõt a „sock” egy már nyitott foglalat, a következõ utasítás végzi el (LPF a neve) közvetlenül a PF_PACKET protokollfeldolgozó mûve- a feladatot: letek belsejébe, amelyek röviddel azután futnak, hogy a hálókártya megszakítása kiszolgálásra került. A szûrõ dönti el, hogy melyik strncpy(ethreq.ifr_name,"eth0",IFNAMSIZ); csomag mehet tovább az alkalmazás felé, és melyik nem. ioctl(sock, SIOCGIFFLAGS, ðreq); A lehetõ legnagyobb rugalmasság érdekében, és hogy a programozó ethreq.ifr_flags |= IFF_PROMISC; keze ne legyen elõre megadott feltételekkel megkötve, a csomagszû- ioctl(sock, SIOCSIFFLAGS, ðreq); rõmotor számítógépszerûen megvalósított, amelyet a felhasználó programozhat. A programot egy különleges, gépi kódra emlékeztetõ (Az ethreq egy ifreq-szerkezet, amely a /usr/include/net/if.h-ban nyelven kell megírni, amelyet BPF-nek hívnak (a Berkeley Packet van megadva.) Az elsõ ioctl kiolvassa az ethernetkártya pillanatnyi Filter rövidítése), és amelyhez Steve McCanne és Van Jacobson állapotjelzõit; ezt az értéket az IFF_PROMISC állandóval VAGY- egyik régi cikke adta az ötletet (lásd a Kapcsolódó címeket). A BPF oljuk, majd a második ioctl kiírja az új állapotjelzõt a kártyára. tényleg Assembly nyelvnek látszik, egy pár regiszterrel és néhány Nézzük meg ezt egy teljesebb példán (lásd a 2. listát a utasítással, amelyek betöltik és tárolják az értékeket, számtani  ftp://ftp.ssc.com/pub/lj/listings/issue86/ címen)! Lefordítás után mûveleteket és feltételes elágazást hajtanak végre. rendszergazdaként futtatva egy helyi hálózathoz kapcsolt gépen A szûrõkód minden vizsgálandó csomagra lefut, és a BPF-feldolgozó az összes csomagot megláthatod, amely a vezetéken áramlik, akkor a csomag adatait tartalmazó bájtokból álló tárterületen fejti ki mûkö- is, ha nem a te gépednek szánták õket. Ez azért lehetséges, mert dését. A szûrõ eredménye egy egész szám, amely azt adja meg, hogy hálózati kártyád lehallgató módban dolgozik. Könnyen meggyõzõd- hány bájtot kell a csomagból a foglalatról az alkalmazás felé továb- hetsz errõl, ha kiadod az ifconfig parancsot és megfigyeled bítani. Ez további elõnyökkel jár, mivel sokszor csak a csomag elsõ a kimenet harmadik sorát. néhány bájtja érdekes, így feldolgozási idõt takaríthatunk meg, ha a többi másolását elkerüljük. A Linux csomagszûrõ Mindkét leszippantással kapcsolatos gondunk mostanra megol- A szûrõ programozása dódott, van azonban még egy lényeges dolog, amelyet meg kell Bár a BPF nyelv elég egyszerû és könnyû megtanulni, a legtöbben fontolnunk. Ha a valóságban is kipróbáltad a 2. listán bemutatott közülünk valószínûleg jobban szeretik az ember számára olvasható példát, mégha helyi hálózatodon nincs is túl nagy forgalom alakban megadott szûrõkifejezéseket. Ezért a BPF nyelv részleteinek (néhány windowsos gép már elég ahhoz, hogy a sok NETBIOS és utasításkészletének bemutatása helyett (amelyet a fent említett csomagtól zsúfolt legyen a vezeték), észreveheted, hogy a szip- cikkben megtalálhatsz) inkább azt fogjuk megtárgyalni, hogyan lehet pantó túl sok adatot ír ki. Ahogy a hálózati forgalom nõ, a szip- egy mûködõ szûrõ kódját egy logikai kifejezésbõl elõállítani. pantó kezdi elveszíteni a csomagokat, mert a számítógép nem Elõször is telepítened kell a tcpdump programot az LBL-tõl (lásd tudja elég gyorsan feldolgozni õket. a Kapcsolódó címeket) – bár ha ezt a cikket olvasod, valószínûleg A megoldás az lehetne, hogy szûröd az érkezõ csomagokat és csak már ismered és használod a tcpdumpot. Az elsõ változatokat ugyan-

60 Linuxvilág Szaktekintély

meghatározva. Például egy ETH_P_IP foglalat esetén így írhatjuk át a szûrõt, hogy gyorsabb és rövidebb legyen: Felhasználói alkalmazás artva (000) ld [26] (001) jeq #0xc0a8090a jt 4 jf 2 (002) ld [30] Foglalatillesztõ felület (003) jeq #0xc0a8090a jt 4 jf 5 (004) ret #68 (005) ret #0

TCP/UDP feldolgozás A szûrõ telepítése

Egy LPF telepítése egyszerû mûvelet: csak annyit kell tenned, hogy t. Minden jog fennt létrehozol egy sock_filter szerkezetet, amely a szûrõt tartalmazza és csatolod egy nyitott foglalathoz. A szûrõ szerkezete könnyen megkap- IP feldolgozás ható, ha a tcpdump -d kapcsolóját -dd-re cseréled. A szûrõ C tömbként nyomtatódik ki, amelyet beilleszthetsz a saját kódodba, ahogy a 4. lista mutatja. Utána a setsockopt() hívással csatolod a szûrõt a foglalathoz. © Kiskapu Kf

LPF Egy teljes példa Protokollcsalád-kezelõ eljárások Cikkünket egy teljes példával zárjuk (lásd az 5. listát a  ftp://ftp.ssc.com/pub/lj/listings/issue86/ címen). Ez teljesen ha- sonló az elsõ két példához, csak hozzá van adva az LSF-kód és a setsockopt() hívás. A szûrõ csak azokat az UDP-csomagokat engedi át, amelyek forrás- vagy célcíme a 192.168.9.10 és az UDP-forrás- Hálózatikártya-vezérlõ kapu 5000. Ha ki akarod próbálni ezt a példát, szükséged lesz egy egyszerû módszerre, amellyel tetszõleges UDP-csomagot tudsz elõállítani 3. ábra A csomagfeldolgozó lánc (ilyen a sendip vagy az apsend, megtalálhatók a  http://freshmeat.net/ címen). Valószínûleg az IP-címet is át szeretnéd állítani egy olyanra, azok írták, akik a BPF-cikket is, valamint a nyelv elsõ megvalósí- amely a helyi hálózatodon elõfordul. Ehhez a szûrõ kódjában a tását. Valójában a tcpdump a BPF-et használja – a libpcap program- 0xc0a8090a számot le kell cserélned az IP-cím tizenhatos számrend- könyvtáron keresztül – a csomagok elkapására és szûrésére. A prog- szerbeli alakjára. ramkönyvtár operációs rendszertõl független csomagoló a BPF- Az utolsó megjegyzés az ethernetkártya akkori állapotára vonatko- motor körül. Linuxon használva a BPF utasításait a Linux csomag- zik, amikor kilépsz a programból. Mivel az ethernet-állapotjelzõket szûrõ hajtja végre. nem állítottuk alaphelyzetbe, a kártya lehallgató módban marad. A libpcap egyik leghasznosabb függvénye a pcap_compile(), amely A megoldás az, hogy meg kell valósítanod a Control-C (SIGINT) logikai kifejezést tartalmazó karakterláncot alakít BPF szûrõkóddá. jel kezelõjét, amely az ethernet-állapotjelzõket megelõzõ értékükre A tcpdump ezt a függvényt használja a felhasználó által a parancs- állítja vissza (ezeket közvetlenül azelõtt kell elmentened, hogy a sorban megadott kifejezés mûködõ BPF-szûrõvé alakításához. A mi VAGY-ot végrehajtanád az IFF_PROMISC-kal), mielõtt a program szempontunkból most a tcpdump egyik ritkán használt kapcsolója, befejezi mûködését. a -d lesz érdekes, amely a szûrõ kódját nyomtatja ki. Például a tcpdump host 192.168.9.10 csak azokat a csomagokat szip- Összegzés pantja le, amelyek forrás- vagy célcíme 192.168.9.10. A tcpdump A csomagok helyi hálózatról történõ leszippantása hálózati gondok -d host 192.168.9.10 kiírja a szûrõ BPF-kódját, ahogy az a vagy mérések esetén felbecsülhetetlen értékû ismereteket adhat. Néha 3. listán látszik. a közismert eszközök – például a tcpdump vagy az ethereal – nem Fûzzünk rövid megjegyzéseket a kódhoz: a 0–1. és 6–7. sorok elle- illeszkednek pontosan az igényeinkhez. Ilyenkor nagy segítség, ha nõrzik a protokollazonosító alapján, hogy az elfogott keret IP, ARP képesek vagyunk saját szippantót írni. Az LPF-nek köszönhetõen ez vagy RARP protokollt hordoz-e (lásd /usr/include/linux/if_ether.h). egyszerûen és hatékonyan megtehetõ. A protokollazonosító a keret 12. bájtjánál van (lásd 1. ábra). Ha a próba sikertelen, a csomagot eldobjuk (13. sor). Gianluca Insolvibile A 2–5. és a 8–11. sorok összehasonlítják a forrás és a cél IP-címét ([email protected].) a 0.99p14-es rend- 192.168.9.10-zel. A protokolltól függõen a címek elhelyezkedése szermag-változat óta lelkes Linux-rajongó. más, ha a protokoll az IP – ekkor 26 és 30, egyébként 28 és 38. Jelenleg hálózatokkal és digitális videó- Ha az egyik cím egyezik, akkor a szûrõ elfogadja a csomagot, és kutatással, valamint -fejlesztéssel foglalkozik. az elsõ 68 bájtot elküldi az alkalmazásnak (12. sor). A szûrõkód nem mindig a legelõnyösebb, mivel egy általános BPF-gépre hozták létre, és nem igazították rá arra a rendszerre, amely a szûrõmotort futtatja. Az LPF esetében a szûrõt a Kapcsolódó címek PF_PACKET feldolgozófüggvények futtatják, amelyek esetleg már  elõbb ellenõrizték az ethernetprotokollt. Ez a kezdeti socket() http://www.linuxpapers.org/ hívásban megadott protokollmezõtõl függ: ha az nem ETH_P_ALL  http://www-nrg.ee.lbl.gov/nrg.html címen. (ami azt jelenti, hogy az összes ethernetkeretet el kell kapni), akkor  http://www-nrg.ee.lbl.gov/nrg.html csak azok a keretek érkeznek meg a szûrõhöz, amelyek itt vannak

www.linuxvilag.hu 2001. június–július 61 Szaktekintély

artva Könnyû álom (7. rész) A 2.4-es rendszermag védelmi lehetõségei (2. rész)

ikkünk a Linuxvilág múlt havi számában megjelent írásunk elõször naplózni, hogy mit szándékozik tenni az adott csomaggal, folytatása. Elolvasása elõtt javasoljuk az elõzõ rész újraolva- és csak azután térhet rá a tényleges mûveletre. Ez több szempontból t. Minden jog fennt sását. A korábbi cikk sokadszori (sajnos már elkésett) átolva- is kellemetlen. Mi történik akkor, ha a naplózás és a végrehajtott sásaC után ismertük fel (köszönet Kadlecsik Józsefnek és Kis Szabó mûvelet feltételrendszere egymástól elcsúszik (élõ rendszereknél Andrásnak), hogy a magyarítás kissé zavaróra sikeredett. A magyar ez könnyen elõfordulhat)? Így naplózzuk, hogy egy adott csomagot szûrõ kifejezés olyan sok értelemben tûnt föl a cikkben, hogy avatatlan kitiltunk, de valójában nem tesszük meg… További felmerülõ gond olvasó elbizonytalanodhatott. E hibát igyekszünk most kijavítani. a beállítás átláthatóságának csökkenése. Amíg az ipchains-rend- Idézzük fel röviden az elõzõ cikk tartalmát (most már a helyes szeren a naplózás csak egy beállítás volt egy szabály bevitelénél, © Kiskapu Kf szóhasználattal)! addig itt egy további szabály. Ez magától értetõdõen csökkenti az A Netfilter a Linux-rendszermag része. Keretrendszer, amelyet a átláthatóságot. A kellemetlenségek mellett van azonban egy vitat- hálózaton közlekedõ csomagok kezelésére hoztak létre. Olyan egysé- hatatlan jó tulajdonsága az új rendszernek: a finomhangolás lehetõ- gekbõl áll, ezek a hálózaton közlekedõ csomagok jellemzõi alapján sége. Így a szokványos események más naplószinten (log-level) szükség esetén annak továbbítását megtagadják, vagy fejlécében naplózhatók, mint az azonnali beavatkozást igénylõk. Az esetleges módosításokat végeznek. hibák felderítésére a naplók kiegészíthetõk a felhasználó által Az IP Tables a Netfilter-rendszer része, segítségével az IP és az arra megadott szöveggel – így annak keletkezési helyére akár a naplóban épülõ protokollok csomagjainak módosítására nyílik lehetõség. Több is utalhatunk. Szükség szerint a csomagok alacsony szintû jellemzõit részbõl áll, melyek feladatai bizonyos jellemzõkkel rendelkezõ cso- is naplóztathatjuk. magok eltávolítása, így ezzel egyfajta tûzfalszolgáltatást adva szük- A lehetséges értékek az alábbiak: ség esetén a csomagok forrás- vagy célcímét módosítják. --log-level szint Az egyes modulok (table) végzik a csomagok tulajdonságainak tulaj- Ezzel a naplózási szint állítható be vele. A naplózás szintjeirõl donképpeni figyelését és módosítását. Minden alapmodul tartalmaz bõvebb tájékoztatás kapható a naplózó alrendszer leírásánál (például beépített szûrõláncokat, de szükség esetén a felhasználó is létrehoz- man 5 syslog.conf). hat ilyet. A szûrõláncok szabályokat tartalmaznak. Egy szabály két --log-prefix elõtag részbõl áll: feltételbõl (ezeket az elõzõ alkalommal áttekintettük) A naplózott sorok elõtagja határozható meg. Az elõtag legfeljebb és mûveletbõl. A feltételek több elemi feltételbõl is állhatnak, melyek 29 betûs lehet. Nagyszerûen használható a fontosabb sorok kiemelé- logikai ÉS kapcsolatban állnak egymással. Ha minden elemi feltétel sére és a nyomkövetésnél is jó hasznát vehetjük. teljesül, akkor a rendszer végrehajtja azokat a megadott mûveletet, --log-tcp-sequence amelyekrõl a továbbiakban szó lesz. Naplózza a TCP-sorozatszámot. Ha a felhasználók olvashatják a naplóállományt, akkor ez komoly biztonsági kockázattal jár. A rendszernek szóló utasítások A naplóállományok felhasználók általi olvashatóságát nem javasol- Amennyiben az adott csomag minden feltételnek megfelel, akkor juk, íly módon ez a gond elkerülhetõ. a szabályban megadott mûvelet hajtódik végre. A rendszerben négy --log-tcp-options egyszerû beépített mûvelet van: a DROP, az ACCEPT, a RETURN Naplózza a TCP-csomag Options (Tulajdonságok) mezõjét. és a QUEUE. --log-ip-options ACCEPT esetén az adott csomag további vizsgálatok nélkül továb- Naplózza az IP-csomag Options (Tulajdonságok) mezõjét. bításra kerül, DROP esetén a rendszer az adott csomagot visszajelzés és újabb vizsgálatok nélkül eldobja. A RETURN mûvelet a csomag REJECT-mûvelet vizsgálatát visszaadja a hívó szûrõláncnak, a QUEUE pedig a csoma- Mivel a beépített DROP minden visszajelzés nélkül dobja a padlóra got egy felhasználói programnak küldi további feldolgozásra. a csomagokat, annak küldõje nem tudja, hogy valami gond van az A fenti beépített mûveleteken kívül két dolgot tehetünk: használha- adatátvitellel. E nehézség megoldására született a REJECT-mûvelet, tunk kiterjesztett mûveleteket, amelyek külön egységként tölthetõk amely hasonló az ipchains-rendszerben megismertéhez, de annál be, vagy az ellenõrzést egy, a felhasználó által létrehozott szûrõláncra jóval okosabb. Itt meghatározható ugyanis, hogyan jelezzen hibát léptethetjük. A kiterjesztett mûveletek nagy részének hatását további a csomag küldõjének. Ha az ipchains-rendszer REJECT-mûveletét értékekkel lehet finomítani. A további alcímek alatt a használható használtuk, akkor az port unreachable ICMP-csomaggal mûveleteket mutatjuk be. utasította el a kérést. Ebbõl TCP-kapcsolat esetén nyilvánvalóan látszott, hogy valójában a csomagszûrõ utasította el a kapcsolatot, LOG-mûvelet és nem arról van szó, hogy az adott kapun nem figyel semmi. Az IP A feltételeknek megfelelõ csomag megadott jellemzõit a rendszer- Tables REJECT-moduljával ez a gond megoldható, mindössze annyit mag naplózó alrendszerén keresztül naplózza. Nekem az a vélemé- kell tennünk, hogy a TCP-kapcsolatot RESET TCP-csomaggal nyem, hogy az ipchains-rendszerben szintén megoldás nagyon jól utasítjuk el. használható volt, így célszerû lenne azt is támogatni. Az ipchains- Alkalmazására csak az INPUT, FORWARD és az OUTPUT szûrõ- rendszerben a naplózás független volt az adott szabály mûveletétõl, láncban vagy kizárólag az elõbb említettekbõl hívott felhasználói így bármely végrehajtott mûvelet naplózható volt. Mivel az IP szûrõláncban van lehetõség. Tables-rendszerben ilyen jelenleg nem létezik, az ember kénytelen A válasz típusát az alábbi kapcsolóval tudjuk befolyásolni:

62 Linuxvilág Szaktekintély

--reject-with típus DNAT-mûvelet A lehetséges választípusok: A csomagok célcímének átírását teszi lehetõvé. Csak a nat-modulban icmp-net-unreachable használható, a PREROUTING és az OUTPUT szûrõláncokban vagy artva icmp-host-unreachable csak a belõlük hívott felhasználói szûrõláncokban. Egyetlen kapcso- icmp-port-unreachable (ez az alapértelmezett) lója hasonló a SNAT-hoz: icmp-proto-unreachable --to-destination IP-cím[-IP-cím][:kapu-kapu] icmp-net-prohibited Megadható vele egy új cél-IP-cím, egy zárt címtartomány (itt is icmp-host-prohibited követi a rendszer a már felépült kapcsolatokat, és a továbbiakban ICMP echo request csomag esetén válaszul adható: a kezdeti jellemzõkkel tart kapcsolatot), és lehetõség van a célkapu echo-reply megváltoztatására is. Csak TCP-kapcsolat esetén lehetséges válasz: Amennyiben a célkapu nincs megadva, akkor nem változik meg.

tcp-reset t. Minden jog fennt MASQUERADE-mûvelet MARK-mûvelet Hasonló feladatot lát el, mint a SNAT, csak itt nem kell a kimenõ Segítségével beállítható a csomaghoz kapcsolódó jelzés. Ezt a jelzést IP-címnek állandónak lennie. Ez a mûvelet használandó tehát dina- a késõbbiekben további szûrésre használhatjuk (lásd mark feltétel) mikus IP-címkiosztású rendszereknél (például modemes behívás, vagy policy routing használata esetén a csomagok elõjelölésére. ISDN, ADSL) a rendszer mögött lévõ hálózat forgalmának továbbí-

Ez utóbbi lehetõségrõl olvashatunk bõvebben itt [1]. A MARK- tására. A lehetõség sokak elõtt ismert az ipchains-rendszerbõl. © Kiskapu Kf mûvelet csak a mangle-modulban alkalmazható. A hálózati szolgáltatók õszinte bánatára itt már gyerekjáték átál- --set-mark jelzés lítani a forráskapu-tartományt, így az ilyen címfordítást használó rendszert nem olyan egyszerû felismerni. (A szolgáltatók gyakran adnak el egygépes széles sávú szolgáltatást olcsóbban. A felhasz- tûzfal nálók szeretik olcsón megvenni az egygépes szolgáltatást, majd több gép hálózati forgalmát azon keresztül bonyolítani. Mivel az webkiszolgáló (1) ipchains alapértelmezés szerint a 61000-es és a 65096-os kapu Internet közül indította az ilyen kapcsolatokat, ami általában nem szokása semmilyen operációs rendszernek, viszonylag könnyû volt a turpis- webkiszolgáló (2) intreanet ságot érzékelni. Természetesen a rendszermag kis módosításával a dolog áthidalható volt, de ezt nem mindenki ismerte, illetve hibát is okozhatott. ügyfélgépek Egyébként más, kifinomultabb módszerek is léteznek az ilyen rend- szer felfedezésére – ez esetleg egy késõbbi cikk tárgya is lehet. belsõ levélkiszolgáló A MASQUERADE annyival több az adott kimenõ IP-címen történõ SNAT-nál, hogy a hálózati csatoló lekapcsolásakor önmûködõen elfelejti addig rögzített kapcsolatait. Így egy következõ behívás nem okozhat gondot. Kapcsolója: TOS-mûvelet --to-ports kapu[-kapu] Az IP-fejléc 8-bites Type of Service (ToS) mezõjét állíthatjuk be Ez határozza meg a fent említett kaputartományt, felülbírálva a a segítségével. SNAT-nál már ismertetett eljárást. Csak TCP- és UDP-protokolloknál Használata lehetõvé teszi a policy routing használatát összetett, alkalmazható. több Linux-alapú útválasztóból vagy tûzfalból álló rendszereken. Csak a mangle-modulban használható. REDIRECT-mûvelet --set-tos tos A bejövõ vagy kimenõ kapcsolatok helyi kapuba való irányítását Használhatók számok vagy a következõ nevek: teszi lehetõvé. Mi ennek az értelme? Ez teszi lehetõvé átlátszó • Minimize-Delay 16 (0x10), tûzfalak és proxyk létrehozását. Megadhatjuk, hogy az áthaladó • Maximize-Throughput 8 (0x08), webkérések legyenek egy squidba irányítva. Kapcsolója: • Maximize-Reliability 4 (0x04), --to-ports kapu[-kapu] • Minimize-Cost 2 (0x02), A célkaput vagy kaputartományt határozza meg. Alapértelmezésben • Normal-Service 0 (0x00). a célkapu nem változik.

SNAT-mûvelet Csomagszûrés a gyakorlatban A forráscím átírására használható. Kizárólag a nat-modulban alkal- Az eddig említett lehetõségek szemléltetésére létrehoztunk egy mazható, a POSTROUTING szûrõláncban. Egyetlen kapcsolója van: példahálózatot. Az ábrán látható az elképzelt rendszer felépítése. --to-source IP-cím[-IP-cím][:kapu-kapu] A közepes cég logikai hálózata három alapvetõ részbõl áll: az Meghatározható vele egy IP-cím, IP-címek egy zárt tartománya, illetve Internetbõl, a cég belsõ hálózatából (intranet) és egy kevésbé lehetõség van egy kaputartomány megadására (ezt csak TCP- vagy védett, úgynevezett szabad területbõl (DMZ), amelyben két web- UDP-protokoll esetén lehet használni). Ha a kaputartomány nincs kiszolgáló található. A webkiszolgálókat azért célszerû leválasztott megadva, akkor a rendszer az 512-es alatti kapukat lehetõség szerint hálózatrészbe tenni, mert ezek a legerõsebben támadott rendszerek, a továbbítás alatt is 512 alatt tartja, az 513 és 1023 közötti kapukat gyakran változó tartalommal. A változó tartalmat kiszolgáló prog- 1024 alatt, az efölöttieket pedig 1023 fölött továbbítja. Amennyi- ramok tervezésénél általában nem a biztonság a legfõbb szempont, ben lehetséges, a kapuk a továbbítás alatt nem változnak meg. így ezek sajnos gyakran válnak a betörõk áldozataivá. Ha egy Ha IP-címtartományt adunk meg, akkor minden kapcsolat azzal az IP- webkiszolgáló külön hálózatban van, akkor esetleges feltörése címmel tart kapcsolatot a továbbiakban, amivel a kapcsolat felépült. esetén sem különösebben veszélyezteti a belsõ hálózat biztonságát.

www.linuxvilag.hu 2001. június–július 63 Szaktekintély

iptables.conf

# a nat-modul beállításai artva *nat ################# SPOOF szûrõlánc a címhamisítás :PREROUTING ACCEPT [0:0] ##megakadályozására ############################# :POSTROUTING ACCEPT [0:0] ################## Embereknek, akik nem bíznak a :OUTPUT ACCEPT [0:0] ##magfejlesztõkben :) ###########################

# 1. példa -A spoof -i eth0 -s 10.0.0.0/24 -j RETURN -A PREROUTING -p tcp -i eth0 -A spoof -i eth0 -j LOG --log-prefix -m tcp --destination-port www "spoof cache all eth0 "

t. Minden jog fennt -j REDIRECT --to-ports 3128 -A spoof -i eth0 -j DROP -A PREROUTING -p tcp -i eth0 -m tcp --destination-port https -j -A spoof -i eth1 -s 10.0.1.0/24 -j RETURN REDIRECT --to-ports 3128 -A spoof -i eth1 -j LOG --log-prefix # 2. példa "spoof cache all eth1 " #-A PREROUTING -p tcp -d -m -A spoof -i eth1 -j DROP

© Kiskapu Kf tcp --destination-port www -j DNAT --to-destination # Internetrõl jönne nem szabályos forráscímmel 10.0.1.11-10.0.1.12 -A spoof -i comx0 -s 10.0.0.0/8 -j DROP # 3. példa -A spoof -i comx0 -s 172.16.0.0/12 -j DROP -A POSTROUTING -p tcp -o comx0 -m -A spoof -i comx0 -s 192.168.0.0/16 -j DROP tcp --destination-port telnet -A spoof -i comx0 -s 224.0.0.0/4 -j DROP -j MASQUERADE -A spoof -i comx0 -s 240.0.0.0/5 -j DROP -A spoof -i comx0 -j RETURN COMMIT -A spoof -j LOG --log-prefix "spoof catch all " -A spoof -j DROP # a mangle-modul beállításai COMMIT *mangle :PREROUTING ACCEPT [0:0] ############### A lábakra bejövõ és az áthaladó :OUTPUT ACCEPT [0:0] ##forgalom irányítása ########################## COMMIT # if_intranet helyi lábra érkezõ forgalma # a filter-modul beállításai # 4. példa *filter -A intraLO -p tcp -s -m :INPUT DROP [0:0] tcp --source-port 1023:65535 :FORWARD DROP [0:0] --destination-port smtp -m mac :OUTPUT ACCEPT [0:0] --mac-source :spoof - [0:0] -j ACCEPT :interIN - [0:0] -A intraLO -p tcp -m tcp --source-port :interLO - [0:0] 1023:65535 --destination-port :intraIN - [0:0] 3128 -j ACCEPT :intraLO - [0:0] -A intraLO -p udp -m udp --source-port :dmzIN - [0:0] 1023:65535 --destination-port :dmzLO - [0:0] domain -j ACCEPT -A intraLO -p udp -m udp --source-port ntp -A INPUT -i lo -j ACCEPT --destination-port ntp -j ACCEPT -A INPUT -j spoof -A intraLO -j LOG --log-prefix # a saját lábunkra érkezõ forgalom "intraLO catch all " -A INPUT -i eth0 -d 10.0.0.1 -j intraLO -A intraLO -j DROP -A INPUT -i eth1 -d 10.0.1.1 -j dmzLO -A INPUT -i comx0 -d -j interLO # if_intranet átmenõ forgalma -A INPUT -j LOG --log-prefix "input catch all " -A intraIN -p tcp -m tcp --destination-port ftp -A INPUT -j DROP -j ACCEPT -A intraIN -j LOG --log-prefix -A FORWARD -j spoof "intraIN catch all " # az átmenõ forgalom -A intraIN -j DROP -A FORWARD -i eth0 -j intraIN -A FORWARD -i eth1 -j dmzIN # if_internet helyi lábra érkezõ forgalma -A FORWARD -i comx0 -j interIN -A interLO -p tcp -m tcp --source-port -A FORWARD -j LOG --log-prefix "forward catch all " 1023:65535 --destination-port -A FORWARD -j DROP smtp -j ACCEPT

64 Linuxvilág Szaktekintély

A rendszer határvédelmi tervét a Linuxvilág február-márciusi A címátírás használata számának 58. oldalán találjuk. A táblázat a korábban tárgyalt [4.] Elsõ három példánk olyan címfordítási helyzeteket mutat be, amelyek módszerrel írja le, hogy a rendszer egyes részei milyen erõforrá- gyakran elõfordulnak a gyakorlatban. Az 1. példa egy átlátszó web- artva sokhoz férhetnek hozzá. Ne felejtsük el: ennek a példarendszernek gyorstár csomagszûrõ részét mutatja be. A csomag a belsõ hálózat egyetlen feladata a csomagszûrés lehetõségeinek bemutatása felõl érkezik és egy Interneten lévõ webkiszolgálóhoz megy. Mivel a – a gyakorlatban kissé finomabban hangolt védelmi rendszerekre hálózat terheltségét erõsen csökkentheti egy webgyorstár, de minden van szükség. gépen beállítani sok munkát jelentene, célszerû valamilyen átlátszó megoldást létrehozni. Az IP Tables nat-modulja a PREROUTING A csomagszûrõ betöltése szûrõláncban átírja a csomagok célcímét a helyi gép címére, a célka- A csomagszûrõ beállításait kétféle módszerrel érdemes az operációs put pedig 3128-ra. Így a kapcsolatot a helyi webgyorstár szolgálja ki. rendszer elindulása után visszatölteni. Az egyik módszer szerint írunk A 2. példa terheléselosztást mutat be a DMZ-területen lévõ két webki- egy parancsfájlt, amely iptables parancsok kiadásával egyenként szolgáló között. Az Internetrõl bejövõ kapcsolatot a rendszer az egyik t. Minden jog fennt beviszi az elõre elkészített csomagszûrõ-beállításokat. Egy ilyen webkiszolgálónak adja és követi a kapcsolatot annak bontásáig. Így parancsállomány tartalmazhat további beállításokat (a szükséges az egyszer felépült TCP-kapcsolathoz tartozó csomagokat minden rendszermagmodulok betöltése, sysctl-beállítások stb.). Több ilyen esetben a megfelelõ kiszolgáló kapja meg. A harmadik példaként ki- letölthetõ az Internetrõl, ahol csak a csomagszûrõ hangolását kell emelt sor pedig az IP-álcázás (masquerading) használatát mutatja be. elvégeznünk. Miközben ismerkedtünk a csomagszûrõ rendszer sajátosságaival,

Elegánsabb módszer az iptables-save és az iptables-resore néhány alul- vagy nem dokumentált dolog is kiderült. A nat-modul © Kiskapu Kf programok használata. Ezek segítségével egy memóriában beállított használata során a csomagszûrésnél az alábbiak igazak: DNAT és csomagszûrõ egy állományba menthetõ, illetve onnan visszatölthetõ. REDIRECT használata esetén a filter-modul szûrõláncai a módosított Mivel formátuma meglehetõsen egyszerû, akár eleve ebben a formá- célcímet kapják meg, az SNAT és MASQUERADE mûveleteknél tumban megírhatjuk a csomagszûrõ beállítóállományát, így pedig azonban a filter-modul szûrõláncaiban az eredeti forrás látszik. az iptables-restore programmal könnyen betölthetõ. Mi az utóbbi A címátírás használata esetén a tcpdump (bõvebben lásd a következõ lehetõség mellett döntöttünk. Beállítóállományunk a listán látható. számban) használatával érdekes dolgokat tapasztalhatunk… Az átírt Egy dolgot érdemes megemlíteni ezekkel a parancsokkal kapcso- csomagok kimenõ és bejövõ jellemzõi nem minden esetben egyeznek latban. Képesek mind a szûrõláncokhoz, mind az egyes szabályokhoz meg, így elõfordulhat, hogy a célcím-átírás után a tcpdump nem tudja tartozó csomag- és bájtszámlálók mentésére és visszaállítására. a kapcsolatot egységként látni.

A rendszer szûrési lehetõségei Összegzés A 4. példa összetettebb szûrést mutat be. A cél az, hogy az intranetrõl Mindent egybevetve az IP Tables rendkívül hatékony csomagszûrõ közvetlenül kizárólag a belsõ levelezõlkiszolgáló tudjon levelet rendszer. Hely hiányában csak egy kis ízelítõt tudtunk nyújtani továbbítani a rendszeren keresztül. Ennek érdekében a rendszer lehetõségeibõl, de nem is a kimerítõ tárgyalás volt a cél, hanem MAC-címét is felvettük a feltételek közé. A megoldással kapcsolat- ezeknek a puszta bemutatása. Az IP Tables és a 2.4-es rendszermag ban két gond merülhet fel. Egyrészt a hálózati kártyák MAC-címeit más hálózati szolgáltatásainak segítségével szinte kimeríthetetlen programból át lehet állítani, így a levelezõkiszolgáló leállása esetén lehetõségek állnak a rendelkezésünkre. a helyére állhat valaki. A másik gond az, hogy ez a megoldás csak a helyi ethernethálózaton mûködik. Tetszõlegesen bonyolult szûrések Hivatkozásjegyzék állíthatók össze a beépített és a kiterjesztett feltételek alkalmazásával. [1.] Bert Hubert, Gregory Maxwell, Remco van Mook, Martin van Oosterhout, Paul B. Schroeder és mások: Linux 2.4 Advanced Példamûveletek Routing HOWTO A levéltovábbító protokoll (SMTP) egy sajátosságán keresztül [2.] Paul 'Rusty' Russel: Linux 2.4 Packet Filtering HOWTO mutatjuk be az egyik legjobban használható mûveletet, a REJECT-  http://netfilter.samba.org/ et. Levél továbbításakor a levelezõkiszolgálók egy része a feladó [3.] Paul 'Rusty' Russel: Linux 2.4 NAT HOWTO gép auth-kapujához fordul. Errõl korábban már volt szó [4.],  http://netfilter.samba.org/ ott azonban a rendszer a port-unreachable ICMP-üzenettel tért [4.] Linuxvilág (II évf. 2-3. szám, 54. oldal): Könnyû álmok (4. rész) vissza, mivel az ipchains REJECT mûvelete nem volt hangolható. A hálózati határvédelem alapjai Az üzenet miatt a figyelmes szemlélõ azonnal rájöhetett, hogy csomagszûrõ utasította el, és az adott szolgáltatás bizonyos feltételek mellett akár el is érhetõ. Mivel az IP Tables által adott Mátó Péter ([email protected]), REJECT-mûveletnek meg lehet mondani, hogy mit adjon vissza, informatikus mérnök és tanár. a rendszer tökéletesen tud szimulálni egy olyan gépet, amelyen Biztonsági rendszerek ellenõrzésével az adott kiszolgálóprogram valóban nem figyel. Ezt láthatjuk az és telepítésével, valamint oktatással 5. példában. ( http://www.linuxvilag.hu/konnyualom) foglalkozik. 1995-ben találkozott Mint azt már korábban is említettük, a naplózás továbbfejlõdött az elõször linuxos rendszerrel. Ha teheti, ipchainsben megszokotthoz képest, ez azonban néhány kellemetlen- kirándul vagy olvas. séget is magával hozott. Minthogy a LOG mûvelet nem köthetõ más valóban érdemi Borbély Zoltán ([email protected]), mûveletekhez, a naplózni kívánt csomagok két szabály beveze- okleveles mérnök-informatikus. tését kívánják meg az IP Tables-rendszerben (6. példa Fõként Linuxon futó számítógépes  http://www.linuxvilag.hu/konnyualom). Ha az ilyen érdemi biztonsági rendszerek tervezésével és változást nem okozó mûveletek összevonhatók lennének a valóban fejlesztésével foglalkozik. tiltó vagy engedélyezõ mûveletekkel, akkor a beállítások kissé A 1.0.9-es rendszermag ideje óta átláthatóbbak lennének. linuxozik. Szabadidejét barátaival tölti.

www.linuxvilag.hu 2001. június–július 65 Szaktekintély

artva Utazás a Postfix körül (1. rész)

Kezdetben vala a Sendmail. Majd érkezett a Qmail. És lám, itt van a Postfix…

két korábbi rendszer már régen ismert, kiforrott, a Postfixre (snapshot) és a teljes kiadást (release). A pillanatfelvételek olyan azonban most kezdenek felfigyelni. A cikksorozat elsõ programrészleteket és programokat tartalmaznak, melyeket a szerzõ

t. Minden jog fennt A részében bemutatjuk az írót és a program felépítését. még nem tart véglegesnek, míg a kiadás már a hivatalos változatot, ebbõl hiányoznak a kísérleti jellegû vagy a nem százszázalékosan Wietse Venema: a Programozó kidolgozott programok. A pillanatfelvétel-változatokról egy rövid Mikor Isten a programozót teremtette, valószínûleg Venemára gondolt. megjegyzés: Venema a saját levelezõkiszolgálójára is ezeket tele- A kódok tiszták, a programok felépítése átgondolt és logikus. Tekint- píti. A programok ezen állapotbeli üzembiztonságát sok másik sük át, milyen programok fûzõdnek a nevéhez. A TCT, azaz a The program megirigyelhetné.

© Kiskapu Kf Coroner's Toolkit. E programon Dan Farmer-rel együtt dolgoztak. A rendszert úgy tervezték, hogy a távoli hálózatokkal a lehetõ leg- A programmal betörés után kísérelhetjük meg felderíteni annak mene- kevesebb modul érintkezzen, azok pedig a legkisebb jogosultsági tét. Használata nem egyszerû, de megéri megtanulni. A következõ szinttel rendelkezzenek. Aki megpróbál egy Postfix-alapú levelezõ- a Satan rendszerátvizsgáló eszköz, mely nemcsak a hibát mutatja meg rendszert feltörni, annak több szinten kell keresztülverekednie magát, nekünk, hanem elhárítására megoldást is javasol. Ma már kicsit idejét- mire egy olyan programhoz jut, ami rendszergazdai jogosultságokkal múlt, a Nessus nagyobb támogatottságot élvez  http://www.nessus.org. fut. A programokat és a rendszer felépítését részletesen az 1. ábra Azután a TCP Wrapper, mely minden Linux-változatban megtalálható mutatja be, ennek segítségével kövessük egy levél fogadását. program, segítségével szabályozhatjuk a hálózati szolgáltatások elé- rését csomagszûrõ vagy alkalmazásszintû tûzfal nélkül. És a rengeteg • sendmail kis – fõleg Solaris-rendszerre írt – programon kívül a postfix. Ez a kis program gyakorlatilag egy burkoló (wrapper), a send- A felsorolt programok természetébõl látható, hogy az író nem sorol- mailt helyettesíti, hogy az ahhoz megírt programok helyi kéréseit ható a kezdõk közé, és rendkívül foglalkoztatja a biztonság témaköre. átfordítsa a postfix által is értelmezhetõ hívásokká, és letegye azt az elõírt könyvtárba. Ha a könyvtár mindenki által írható A Postfix gondolatvilága (world writeable), akkor egyedül is meg tudja ezt tenni, ha azon- Amikor Venema elhatározta, hogy létrehozza a szerinte lehetõ ban csak egy adott csoport számára elérhetõ – az alapértelmezett legbiztonságosabb és leggyorsabb levelezõkiszolgálót, végignézte csoport a maildrop – akkor a postdrop programot használja az addig megírt kiszolgálóprogramokat, majd összesítette azok erre a célra, ami szintén a postfix rendszer része. elõnyeit és hátrányait. A következõ célt tûzte ki: az új kiszolgá- • pickup lónak legyen olyan sok szolgáltatása, mint a Sendmailnek, de Begyûjti a leveleket a maildrop könyvtárból és átadja õket túlbonyolított beállítások nélkül. Továbbá bizonyuljon legalább a cleanup programnak (magyarázatát lásd késõbb). olyan biztonságosnak, mint a Qmail. És végül legyen a leggyor- • smtpd sabb. Elmondhatjuk, hogy egyedülálló mû született. Felépítését Fogadja a belsõ hálózaton vagy az Interneten keresztül érkezõ tekintve a Postfix moduláris, minden szolgáltatást külön program- leveleket és különbözõ ellenõrzések után átadja azt a cleanup rész hajt végre, a jogosultságok pedig a lehetõ legalacsonyabb programnak. Itt tudjuk elõírni, hogy vizsgálja meg: a küldõ fél szintre kerültek. A rendszert két fõ beállítófájlon keresztül tudjuk nyitott továbbító-e (open-relay – mindenki tud rajta keresztül módosítani, felépítésüket nagyon könnyû megérteni. A program- levelet küldeni akárhova, a levélszemetelõk kedvenc célpontja), változat a következõ állapotokat ismeri: a pillanatfelvételt vagy sem.

transport aliases .forward

rewrite resolve local mailbox

local sendmail maildrop pickup

cleanup incoming active qmgr smtp Internet

Internet smtpd canonical virtual deferred relocated pipe UUCP ect. program adattábla RBL access könyvtár

Bejövõ levelek ellenõrzése

66 Linuxvilág Szaktekintély

Ellenõrzi, hogy nem tiltottuk-e ki a küldõt más módon, például • smtp olyan táblázatokat használva, amelyek a küldõre vonatkoznak, A nem helyi felhasználók számára továbbítja az üzeneteket. akár hálózati cím, egész tartománynév vagy küldõ személy Tehát ha én az [email protected] címrõl akarok levelet küldeni az artva szerint. De itt akár engedélyezhetjük azt is, hogy elfogadjuk [email protected] címre, akkor az én kiszolgálóm ezzel kapcso- a levelet egy olyan levelezõkiszolgálótól, amelyik benne van lódik a Linuxvilág kiszolgálójához. A távoli rendszerekkel csak a nyitott továbbítókat nyilvántartó adatbázisban. smtp protokollon keresztül tartja a kapcsolatot (figyelem: nem az egész rendszer, csak ez a részprogram!). • cleanup • pipe Ellenõrzi a levél fejlécét, hogy megfelel-e Más vagy eltérõ típusú rendszernek továbbítja az üzene- az elõírásoknak: a címzett megtalálható-e teket, de még a helyi rendszeren. Tehát én például a rendszeren, kell-e valamilyen mûveletet egy adatbázisba továbbítom a leveleket, melynek

végrehajtani a levél fejlécén – például szerver része fogadja a leveleket, letárolja azt, t. Minden jog fennt a címzett nevének átírását –, esetleg majd késõbb elküldi azokat. Leggyakoribb meg kell-e hívnia a trivial- alkalmazása, ha UUCP-n keresztül továb- rewrite programot. Ha végzett, bítjuk a leveleket, használhatjuk azonban akkor „lerakja” – fájlba menti – ezen keresztül az lmtp protokollt ismerõ az üzenetet az incoming sorba programokat is. Az lmtp protokollt hasz-

(queue). Ebbe a sorba kerülnek tehát nálja például a Cyrus-IMAP rendszere is. © Kiskapu Kf azok a levelek, melyeket a kiszol- gáló elfogadott. Ezek után a levél remélhetõleg kézbesí- • trivial-rewrite tésre került. Ha ez mégsem történt volna Szükség esetén átírja a levél fejlécét, meg, akkor visszapattan. Ennek kétféle és visszaadja azt a cleanup prog- oka lehet: elsõként a levél nem felelt meg ramnak. A programot a qmgr, valamilyen feltételnek és Postfixünk soha azaz a „sorkezelõ” is meg tudja hívni. többé nem fog próbálkozni az elküldésével. • qmgr Ezt okozhatja a levél tartalma, a küldõ személye Az incoming sorból áthelyezi az vagy más is, például a címzett már nem talál- üzeneteket az activ sorba, valamint ható meg a fogadó kiszolgálón. A második felügyeli a levél sorsát. Az activ sorból szintén nem túl szerencsés eset, ha a levelet kerülnek elküldésre a levelek helyileg csak átmenetileg nem tudjuk elküldeni, vagy távolra. A sor mérete korlátozott, például a fogadó levelezõkiszolgáló nehogy túlterheljék a kiszolgálót, idõleges hibája miatt. Ekkor a levél olyan módon például, hogy túl sok deferred jelzõt kap, és a rendszer levelet próbálnak vele elküldetni, adott idõközönként, illetve idõtartamig és így nem marad elég memória az megpróbálja elküldeni. Azokról a leve- egyéb tevékenységekre, vagy lekrõl, amelyeket visszautasítottak, éppen csak a levelek fogadására. egy bejegyzést készít a bounce Wietse Venema, a Programozó A qmgr arra is felügyel, hogy azok program a bounce nevû sorba, majd a a levelek, melyeket elõször próbál levél eredetijét vagy annak egy részét elküldeni – akár helyileg, akár távolra –, elsõbbséget élvezzenek visszaküldi a feladónak, kiegészítve azt a hiba okával. A bounce sor azokkal szemben, melyeket nem sikerült elõször elküldeni, és nem tárolja el a leveleket! Ha a levelet csak idõlegesen utasította ezért késõbbi továbbításra várnak. A levelek innen ahhoz a prog- vissza a fogadó fél, akkor egy bejegyzés kerül a defer sorba, a levelet ramhoz kerülnek, amit a továbbítás megkövetel. Ezek a local, magát pedig a deferred sorban helyezi el. Ezt a helyzetet szintén smtp és a pipe programok. A Postfix pillanatfelvételeiben a bounce program kezeli le. elérhetõ még a virtual is, erre azonban a cikksorozat késõbbi Van egy program, amihez hasonlót eddig egyetlen más levelezõrend- részében térek ki. szernél sem láttam, a master démon, amely mindig ott fut a háttér- • local ben. Ez felügyeli az összes többi démont, a rendszer állapotát, és A helyi felhasználók számára fogadja a leveleket, ellenõrzi nem engedi, hogy a rendszert alkotó programok „elvaduljanak” és a .forward fájlok meglétét, valamint az alias adatbázist. megállásra vagy szolgáltatásmegtagadásra kényszerítsék a rendszert. A .forward fájlokat használjuk arra, ha egy programnak akar- Ha túl messzire merészkednének, akkor visszafogja õket. Mivel ez juk elküldeni a levelet, vagy másik címre próbáljuk azt továbbí- vezérli az összes többit, és a Postfix modularitása megengedi, könnyû tani. A rendszer az alábbi üzenettároló formátumokat ismeri: olyan kiszolgálót készíteni, amelyik csak küldeni tud. mbox és Maildir. A kettõ közötti különbségrõl egy következõ A következõ részben olyan rendszert állítunk be, melynek teljes a alkalommal írok. szolgáltatáskínálata, visszautasítja a levélszemetelõk küldeményeit, és nem engedi, hogy kiszolgálónkat nyitott továbbítóként használják. A .forward fájlon keresztül a vezérlést más programoknak tudjuk adni, például a procmail-nek, bár a local önmagában is képes erre. Az alias adatbázist arra használjuk, amire a neve Deim Ágoston ([email protected]) is utal: neveket leképezünk más nevekre. Jó példa erre a Kis.Ferenc Kedveli a sört, szereti a futást és imádja kisf névre alakítása, amit már akármelyik unixos rendszer elfogad Szabó Lõrinc verseit. Nem hisz vakon egyik – gyanúm szerint a windowsos rendszerek is hasonló névleképe- rendszerben sem. Vonzódik a BSD-hez is. zéssel oldják meg ezt a helyzetet. A cikksorozat következõ részé- Tagja az LME-nek és a MBE-nek. Mottója: ben ezt is részletesebben ismertetem majd. a gép nem lehet fontosabb az embernél.

www.linuxvilag.hu 2001. június–július 67 Szaktekintély

artva Webfejlesztés PHP 4.0 és FastTemplate 1.1.0 segítségével Ismerkedjünk meg egy idõt megtakarító megoldással: a FastTemplate 1.1.0-val!

t. Minden jog fennt webfejlesztésrõl közismert, hogy nagyon nehéz lépést tartani az általunk használt programeszközök hihetetlen gyors fejlõdésével. Egy évvel ezelõtt még csak nem is hallottamA a PHP nevû parancsnyelvrõl, ma pedig teljes munkaidõm- ben PHP-programozással foglalkozom. Két csapatunk van: az egyik kizárólag PHP-programokat ír RedHat

© Kiskapu Kf Linuxos munkaállomásokon, a másik csak DreamWeaverrel dolgozik NT-alapú PC-ken. A marketingrészleg meghatározza az oldalak célcsoportját; a grafikuscsapat pedig az adatok alapján kialakítja a HTML-lap látványvilágát. Ezután a programozóké a fõszerep, hogy a PHP képességeit kihasználva egységessé kovácsolják a HTML- lapokat, és az aktív adatokat beillesszék a lapvázlatokba. Mindez ragyogóan mûködik – egészen addig, amíg valaki mondjuk, meg nem akarja változtatni egy bizonyos gomb feliratát 46 külön- bözõ oldalon. Ez ugyanis azt jelenti, hogy 46 fájlban 46 változtatás szükséges csak azért, hogy egyetlen kis gomb másképpen nézzen ki! De hála az égnek, létezik a grep! Az elõbbi gondot azonban el is kerülhetjük, ebben kívánunk segítsé- get nyújtani ezzel az írással. A HTML-sablonok révén a fent említett gomb egyetlen fájl megváltoztatásával átalakítható lenne, ugyanis a sablonok használata lehetõvé teszi, hogy a PHP-kódot elválasszuk 1. kép Próbaoldal SQL lekérdezéshez a HTML-tõl. A PHP-kód módosítása nem lesz hatással a HTML-re, és fordítva. Lássuk, milyen elõnyök származnak az eddig elmondottakból! Mivel A minták a következõképpen mûködnek: a PHP-program külsõ fájlo- a lapon található összes elemhez (widgethez) mintafájlokat szeret- kat nyit meg, és értelmez, amelyek a HTML-laphoz tartozó kódot nénk készíteni, a minták használatával minden egyes lap tartalmának tartalmazzák. A HTML fájlok az adatok helyén helyõrzõ jeleket az utolsó bitig a helyén kell lennie. Ez jó, hiszen rákényszerít arra, (placeholders) tartalmaznak, amelyek futásidõben helyettesítõdnek hogy mérnökként tervezzünk, a meggondolatlan programozók életét be. Ezek a tagok többnyire valahogy így néznek ki: {ITEM}.Haa viszont megkeseríti. Egy újabb lehetõség hozzáadása ezután nemcsak PHP-program felfedez egy tagot, behelyettesíti a megfelelõ adatot, egyetlenegy, hanem legalább három fájl megváltoztatását igényli. ezáltal a PHP kódfájlok és HTML fájlok teljesen elválasztva tárolha- Honlapunk ezáltal jobbá válik, hiszen tervezése átgondoltabb, tók, így a programozók és a tervezõk nem zavarják egymás munkáját. részletesebb és finomabb lesz. Több nyílt forráskódú mintacsomag is elérhetõ, ezek között akadnak Elsõre talán úgy tûnhet, hogy rengeteg apró mintafájlt fogunk felhal- kicsit bonyolultabbak és hatékonyabbak is. Létezik azonban egy cso- mozni. Ez igaz is, de a mintafájlok széles körben újrafelhasználhatók. mag, amelyben a végrehajtási sebesség és a használhatóság szerintem Ahogy az alkalmazás mérete növekszik, úgy egyre kevesebbet kell megfelelõ egyensúlyban van, nevezetesen a CDI FastTemplate 1.1.0 felhasználni. Akár több adattag is elhelyezhetõ egyetlen mintafájlban, programja. Szerzõje, Joe Harris a General Artistic License felhaszná- ez csökkenti ugyan ezek számát, de egyszersmind kisebb mértékben lási szerzõdés alapján adta ki mûvét. Joe a leírásban azt is közzéteszi, lesznek újra felhasználhatóak. hogy a FastTemplate 1.1.0 tulajdonképpen egy azonos nevû Perl- A FastTemplate értékeléséhez látnunk kell mûködés közben, modul PHP-változata. Az eredeti Perl-modul Jason Moore munkája. valamint azt is, hogy mire képes a weblap karbantartása során. A FastTemplate alapötlete: a honlapot szétbontjuk alapelemekre Tételezzük fel, hogy van elérésünk egy olyan linuxos számító- – egyedi gombokra, jelölõnégyzetekre vagy akár szövegsorokra. géphez, amelyen már fut az Apache, a PHP és valamilyen relációs A táblákat fejlécre és sorokra kell törni, a sorokat pedig cellákra bont- adatbázis-kezelõ (én MySQL-t használtam), és rendszergazdai juk. Minden elemhez saját HTML fájlt rendelünk, amelyben statikus jogosultsággal rendelkezünk. (állandó) kód és egy, a változó adatot jelképezõ különleges tag talál- A FastTemplate telepítése pontosan olyan könnyû, mint amilyennek ható. A honlap ezekbõl az egyszerû elemekbõl épül fel. Végül egy látszik. A honlap a  http://www.thewebmasters.net/php/ olyan fájlt kapunk, mint amilyen a példában szereplõ main.tpl, amely FastTemplate.phtml címen érhetõ el. Töltsük le a FastTemplate- egyetlen {BODY} tagot tartalmaz. Néhányan ugyan jobban kedvelik 1_1_0.tar.gz fájlt amennyiben PHP 4.0-t használunk, egyúttal a {CONTENT} elnevezést; de tulajdonképpen nem a név számít. Ezt a diff fájlt is (php4.diff). Mozgassuk a letöltéseket a dokumentum- a legfelsõ szintû tagot a teljes lap adataival fogjuk helyettesíteni. Ha gyökérbe és az untar parancs segítségével csomagoljuk ki. szükséges, a honlap minden egyes lapjához létrehozhatunk egy-egy Ez létrehoz egy FastTemplate/ nevû könyvtárat. Ha PHP 4.0-t legfelsõbb szintû fájlt, melynek módosításával a teljes honlap kiné- használunk, helyezzük a php4.diff fájlt a FastTemplate/-be és zetét meg lehet változtatni. A példaprogramban is így fogunk eljárni. futtassuk le a következõ parancsokat:

68 Linuxvilág Szaktekintély

1. lista mysql.php artva <%//////////// index.php ////////////////////// TEXTAREA_ROWS => "3" ));

// ha valaki a EXIT PROGRAM-ra kattint, //Feltételezzük a MySQL // megmutatjuk a kilépõ képernyõt, és kilépünk //használatát. $host="localhost"; //Módosítsuk megfelelõen if (isset($goodbye)) { $user="bill"; // e három sor include ("./goodbye.php"); $password="megan"; // beállításait. }

mysql_connect($host, $user, $password); t. Minden jog fennt include ("class.FastTemplate.php"); $db_table = mysql_list_dbs(); $tpl = new FastTemplate("."); //szerezzük meg a helyi adatbázisok nevét, és $tpl->define (array(main => "main.tpl", // csatoljuk a selector lehetõséghez. form => "form.tpl",

select => "select.tpl", for ($i = 0; $i < mysql_num_rows($db_table); © Kiskapu Kf option => "option.tpl", $i++) { submit => "submit.tpl", $optionval = mysql_tablename($db_table, $i); textarea => "textarea.tpl")); $tpl->assign(array(OPTION_TAG =>"$optionval")); $tpl->assign (array(TITLE => $tpl->parse(OPTIONS, ".option"); "PHP SQL CODE TESTER", } FORM_ACTION => "mysql.php", FORM_METHOD => "post", $tpl->parse(SELECT, "select"); STRING1 => $tpl->parse(TEXTAREA, "textarea"); "DATABASE SELECTOR: ", $tpl->parse(SUBMIT, "submit"); STRING2 => $tpl->parse(BODY, "form"); "INPUT SQL QUERY BELOW: ", $tpl->parse(MAIN, "main"); SELECT_NAME => "database", SELECT_SIZE => "1", $tpl->FastPrint(); SUBMIT_VAL => "EXECUTE QUERY", exit; TEXTAREA_NAME => "query", %> TEXTAREA_COLS => "40", patch class.FastTemplate.php3 php4.diff címkékhez csatolja. Megjegyzendõ, a mintafájloknak nem kötelezõ mv class.FastTemplate.php3 class.FastTemplate.php tpl-re végzõdniük, és az is elképzelhetõ, hogy egy programban mindössze egyetlen define( ) hívásra van szükség. Ezután mozgassuk át a class.FastTemplate.php fájlt a PHP include Az assign( ) eljárás a {} jel nélküli adattagokat rendeli ahhoz könyvtárunkba. Ha nem vagyunk biztosak benne, hogy hol található, az adathoz, amivel helyettesíteni akarjuk. Egy programban több ellenõrizzük a php.ini fájlt (alapértelmezett esetben a /usr/local/lib/-ben assign( ) hívás is lehet. Kezdjük mindig a legkisebb, legalapve- helyezkedik el). Keressük az include path beállítást! tõbb összetevõvel, és építsünk belõle egyre nagyobbat, bonyolultabbat. A class.FastTemplate.php fájlt közvetlen módon, az include( ) Én a parse( ) eljárást értettem meg a legnehezebben. Ugyanis ez paranccsal is csatolhatjuk a PHP-programokhoz, ez azonban az eljárás értelmezi a mintát, végrehajtja az adattag-behelyettesítést, többletmunkával jár, én is többnyire megfeledkezem róla. és az eredményt egy helyi változóban tárolja. Ez a helyi változó a Készítsünk valahol a dokumentumgyökérben egy másik könyvtárat parse( ) elsõ értéke. A második érték az a fájlkezelõ (file handle), a példafájloknak! Ehhez szükségünk lesz az 1. a 2. és a 3. listában amit a define( ) eljárással megadtunk. Ha a parse( ) második található programokra. A 4. listát egyedi mintafájlokká kell széttör- értéke "." jellel kezdõdik, akkor az új érték az elõzõ végéhez kap- delni (lásd  ftp://ssc.com/pub/lj/listings/issue86/). csolódik (amennyiben létezik elõzõ érték). Ebben a példában ezt a A példa rövidsége és egyszerûsége ellenére jól mutatja, hogy a módszert használjuk arra, hogy létrehozzuk az adatbázis-tartalom- FastTemplate könnyedén képes olyan táblákat is kezelni, amelyeknek jegyzéket. A PHP-program igazi erõsségét használjuk fel arra, hogy sorai és oszlopai egyaránt dinamikusan változhatnak. Az oldal iga- a megjelenítendõ adatot betöltsük vagy kiszámítsuk. zából csak annyira lesz bonyolult, amennyire az oldalon lévõ elemek Végül a print( ) alapértelmezés szerint kiírja a legutolsó parse- bonyolultak. eljárás eredményét. Természetesen egy korábban értelmezett ered- Vessünk egy pillantást az elsõ listára! Ahhoz, hogy használhassuk a ményt is átadhatunk értékként. A lapon egynél több print( ) FastTemplate-et, egyszerûen csak csatoltuk a class.FastTemplate.php is lehet, sõt néha ez az egyszerûbb módja a HTML-oldal megjelení- fájlt, és létrehoztunk egy példányt. A példányosítóban látható (".") tésének. Általában az oldal létrehozására több lehetõségünk is van. azt jelöli, hogy mintafájljaink a jelenlegi könyvtárban találhatók, ezek Amelyik mûködik és hatékony, az jó. azonban akárhol lehetnének. A FastTemplate osztály négy fõ eljárással Akkor lássuk a példát! Ha a böngészõvel betöltjük az elsõ lista bír: define( ), assign( ), parse( ) és print( ). példáit, az 1. képhez hasonló képernyõképet kell látnunk. Válasz- A define( ) eljárás a programunk által használt külsõ fájlneveket szunk egy adatbázist a Selectorban, gépeljünk be egy lekérdezést,

www.linuxvilag.hu 2001. június–július 69 Szaktekintély

2. lista mysql.php artva <%//////////// mysql.php /////////////////////// //adjuk a fejléccellákat a fejlécsorokhoz. include ("class.FastTemplate.php"); for ($i = 0; $i < mysql_num_fields($result); $tpl = new FastTemplate("."); $i++) { $tpl->define(array( main => "main.tpl", $thval = mysql_field_name($result,$i); body => "body.tpl", $tpl->assign(array(HEADERDATA => "$thval")); table => "table.tpl", $tpl->parse(HEADER, ".headerdata"); headerdata => "headerdata.tpl", } row => "row.tpl", // adjuk a sorcellákat a sorokhoz, majd

t. Minden jog fennt rowdata => "rowdata.tpl", // adjuk a sorokat a testhez. submit => "submit.tpl", for ($i = 0; $i < mysql_num_rows($result); $i++) { form2 => "form2.tpl")); $row_array = mysql_fetch_row($result); $tpl->assign(array( TITLE => for ($j = 0; $j < mysql_num_fields($result); "PHP SQL Code Test Results", $j++) { SUBMIT_NAME => "SUBMIT", $trval = $row_array[$j];

© Kiskapu Kf SUBMIT_VAL => "NEW QUERY", $tpl->assign(array(ROWDATA => "$trval")); FORM_ACTION => "index.php", $tpl->parse(ROW, ".rowdata"); STRING1 => } "RESULTS OF QUERY: ", $tpl->parse(ROWS, ".row"); QUERY => "$query", $tpl->clear("ROW"); //<- tegyük el FORM_METHOD => "POST")); //megjegyzésbe ezt a //MySQL-t használunk. //sort és figyeljük meg $user="bill"; //Ebbe a három sorba } //az eredményt. $host="localhost"; //saját beállításainkat $tpl->parse (TABLE, "table"); $password="megan"; //írjuk be. $tpl->parse (SUBMIT, "submit"); mysql_connect($host,$user,$password); $tpl->assign(array(SUBMIT_NAME => "goodbye", mysql_select_db($database); SUBMIT_VAL => "EXIT PROGRAM")); if(!strcmp($query, "")){ $tpl->parse (GOODBYE, "submit"); //ha nincs lekérdezés, állítsunk be egy $tpl->parse (FORM2, "form2"); //alapértelmezettet $tpl->parse (BODY, "body"); $query = "SHOW TABLES"; $tpl->parse (MAIN, "main"); } $tpl->FastPrint(); $query = stripSlashes($query); %> $result = mysql_query($query);

üssük le az EXECUTE gombot, és a lekérdezés eredménye máris megjelenik (lásd a 2. képet). Most lássuk a grafikai tervezõ szerepét! Az a feladatunk, hogy a teljes alkalmazás látványát megváltoztassuk. Képzeletbeli fõnökünk éppen most mondta, hogy a szürke hátteret le kell cserélni sárgára. Továbbá azt szeretné, ha minden középre lenne rendezve, nem pedig bal oldalra. Ja igen, és az összes szöveg zöld színû legyen! Egy FastTemplate-alapú honlapon mindezeket a változtatásokat kevesebb, mint egy perc alatt elvégezhetjük a legfelsõbb szintû mintafájl, a main.tpl átszerkesztésével. Bár jobb webszerkesztõk is léteznek, a Netscape Composer is meg- teszi. A következõ lépésekre lesz szükség: a Netscape Navigatorban válasszuk ki a File/Open Page menüpontot; gépeljük be az elérési utat vagy keressük ki a példakönyvtárunkban található main.tpl fájlt, majd a megjelenõ párbeszédablakban bökjünk az Open in Composer gombra. A Netscape Composer egyetlen nagy ablakot fog megnyitni, ahol a szerkesztõ részben mindössze a {BODY} szó olvasható (3. kép). Ez a main.tpl HTML-változata. A fõnök által kért változtatások elvégzéséhez elõször válasszuk az Edit/Select All 2. kép A próbalekérdezés eredménye menüpontot. A {BODY}, beleértve a zárójelet is, most már sárgán virít. Ezután válasszuk a Format/Align/Center pontot, ezáltal Fõnökünk két kívánságát máris teljesítettük, csak egy maradt hátra. elvégeztük a középre rendezést. Újfent jelöljünk ki mindent az Válasszuk a Format/Page Colors and Properties menüpontot, ahol Edit/Select All segítségével, majd válasszuk a Format/Text Color kattintsunk a Use Custom Colors gombra a Colors and Background menüpontot, és a mintaválasztékból keressünk egy szép sötétzöldet. fül tetején. A Background-ot választva a megjelenõ választéktáb- Bökjünk az OK-ra, és a {BODY} immár sötétzöldben pompázik. lából keressünk egy vonzó sárgát. Kattintsunk az OK-ra, az

70 Linuxvilág Szaktekintély

3. lista goodbye.php artva <%////////////// goodbye.php //////////////////

include ("class.FastTemplate.php"); $tpl = new FastTemplate(".");

$tpl->define(array(bye_message => "bye_message.tpl", main => "main.tpl")); t. Minden jog fennt $tpl->assign(array(BYE_MESSAGE => "Thank you and please come again!"));

$tpl->parse (BODY, "bye_message"); $tpl->parse (MAIN, "main");

$tpl->FastPrint(); © Kiskapu Kf 4. kép Az új sablon önmûködõen hat minden oldalra exit; %>

Templates enable the physical separation of PHP code and HTML. Changes to the PHP code in no way affect the HTML, and vice versa.

5. kép A sablon hatása a lekérdezés kinézetére

Benjamin Kahn olyan weblapot tart fenn, amely a FastTemplate-hez való Cached FastTemplate nevû kiegészítéssel foglalkozik  http://zoned.net:81/~xkahn/php/fasttemplate/. A Cached FastTemplate néhány további teljesítménynövelõ lehetõséggel egészíti ki az eredeti csomagot. Ezzel a csomaggal a lapok egyes 3. kép A fõ sablonmodul szerkesztés közben részeit a memóriában lehet tárolni, sõt ezek a gyorstárazó szabályok be is állíthatók. Ez mindenképpen megér egy pillantást, fõleg ha már Apply-ra és újfent az OK-ra. A Composerben most már sárga megkedveltük a FastTemplate hatékonyságát. a háttér. Ezután válasszuk a File/Save, és végül a File/Close Ma már nem elegendõ önmagában jó honlapot készíteni, nélkülöz- menüpontokat. hetetlen, hogy méretezhetõ és karbantartható legyen. A DreamWeaver- Ha most újratöltjük a példa lekérdezõlapját, láthatjuk, hogy immár szerû HTML-készítõk használata ugyan igen könnyû, de az általuk mindhárom változtatás érvényes: a háttér sárga, a szöveg zöld és készített HTML meglehetõsen szegényes és csúnyácska. Ezekben minden középre rendezetten jelenik meg, ugyanakkor az alkalmazás a kesze-kusza HTML fájlokban senki sem szeret PHP-kódok után programszerûen mûködik, mint eddig (lásd a 4. és 5. képen). Bár bogarászni egy egyszerû módosítás végrehajtásához. A HTML-minták a példa igen egyszerû, azt hiszem, hatékonysága mindenki számára használata tehát nagymértékben megkönnyítheti a webfejlesztõk életét. nyilvánvalóvá vált. A FastTemplate-tel kapcsolatban néhány dolgot érdemes még meg- említeni. Elõször is, rengeteg apró fájllal dolgozunk, ezeket tudni kell Bill Cunningham kezelni, és a lap minden egyes elérésénél be kell olvasni a lemezrõl. nemrégiben vonult vissza az US Marine Corps- Ez megterhelt webhelyen jelentõs teljesítménycsökkenést okozhat, tól, ahol Solaris rendszergazdaként dolgozott. viszont nem túl gyakori elérésû helyeken lényegtelen szempont. Jelenleg Észak-Karolinában Linux/MySQL-alapú Az is elképzelhetõ, hogy minden egyes laphoz saját egyedi mintafájlt honlapok webfejlesztõjeként a charlotte-i készít valaki, ezáltal is csökkentve a mintafájlok számát. Heafner Tire Group alkalmazásában áll.

www.linuxvilag.hu 2001. június–július 71 Szaktekintély

artva Teljesítménynövelés párhuzamosítással Pörgessük fel és alakítsuk át unalmas soros eljárásainkat úgy, hogy többprocesszoros és megosztott memóriakörnyezetben is futhassanak.

bben az írásban azt szemléltetjük, miként lehet átalakítani végrehajtásához felhasználható szálak számát határozza meg. Mivel

t. Minden jog fennt egy soros eljárást úgy, hogy nagyobb hatékonysággal futhas- elõre nem tudhatjuk, hány objektumra (szálra) lesz szükségünk, son szimmetrikus feldolgozást végzõ (symmetric multipro- dinamikusan foglalunk le számukra memóriát (lásd a 3. listát). Ecessing), illetve megosztott memóriát használó (distributed-memory) E változatban található még néhány ravasz trükk, ezért a kódon környezetekben. Ahhoz, hogy ezt a feladatot teljesíthessük, egyszerû egy kicsit részletesebben is végigmegyünk. Elõször kettõre állítjuk a alkalmazást fejlesztünk három lépésben; soros, többszálú és megosz- szálak számának alapértelmezett értékét, majd megvizsgáljuk, hogy tott többszálú változatban. a felhasználó nem állított-e be valamilyen más értéket. Készítünk egy

© Kiskapu Kf A párhuzamos programozás elméleti szempontjain túl néhány pthread_t nevû dinamikus tömböt, amely a szálak azonosítóit fogja gyakorlati kérdést is megvizsgálunk, amelyek programozás közben tárolni, majd egy másik dinamikus tömböt a CountPrimes objektum- merülhetnek fel. A példákat a C++ és a POSIX-szálak (pthreads) mutatók számára is. Ez nagyon fontos, mivel valamennyit különbözõ segítségével készítettük el, a szimmetrikus és a megosztott tartományban kell majd életre hívnunk („példányosítanunk”). feldolgozáshoz pedig az MPI programkönyvtárat használtuk. Igazából a CountPrimes objektumokból nem is hozhatnánk létre sta- tikus tömböt, hiszen nem határoztunk meg alapértelmezett létrehozó A feladat megfogalmazása függvényt (konstruktort). Ez a felépítés rákényszerít bennünket, hogy A megoldandó feladat: prímszámok keresése adott határok között. helyesen használjuk az objektumot. A feladat elõnye, hogy egyszerû, ugyanakkor ezen keresztül bemutat- hatók a párhuzamos programozás fogalmai.

Soros megvalósítás Az elsõ változatnál úgy döntöttünk, hogy a számok tartományát egy olyan objektummal ábrázoljuk, amely képes az adott tartományban megszámolni a prímszámokat. (lásd az 1. listát). A program fordítása és futtatása a következõképpen történhet:

bash$ g++ -o primes primes.cpp bash$ ./primes 0 10000 There were 1229 primes.

Többszálú megvalósítás Ahhoz, hogy a többprocesszoros gépeken növelhessük a végrehajtási sebességet, szálakat kell használnunk. Szeretnénk ragaszkodni az elõzõ változat szerkezetéhez, így meg kell találnunk a módját, hogy minden objektumnak saját végrehajtási szála legyen. A C++ és a pthreads keverése sajnos nem túl könnyû, mivel a  http://www.mpi-forum.org/ pthread_create( ) C és nem C++ szerkesztésû függvényt vár. Ezt úgy oldottuk meg, hogy készítettünk egy kiegészítõ osztályt, Ezután egy ciklus következik, amely az egyes szálakat indítja, hogy illetve egy statikus tagfüggvényt (lásd a 2. listát). ellenõrizzék a megfelelõ számtartományokat. Figyeljük meg, hogy A CountPrimes objektum egyéb részei nem változtak. Három eddig még egyáltalán nem foglalkoztunk a terheléselosztással (load dolgot szükséges itt megjegyezni: 1. A Threaded osztály elvont balancing). Erre a kérdésre még késõbb visszatérünk. A legfontosabb osztály (abstract class). 2. Az entry( ) statikus tagfüggvény, ami mozdulat itt az, hogy minden CountPrimes objektum dinamikusan azt jelenti, hogy ismeri a Threaded osztályt, de nem kötõdik annak jön létre, mutatóik pedig a fent létrehozott tömbben tárolódnak. egy adott példányához. Ezért aztán nem is megy keresztül a névki- A szálakat tulajdonképpen a thread_create( ) függvény indítja értékelésen, így felhasználható C stílusú függvényként. Ez lesz az el, melynek értékként a belépõ tagfüggvény mutatóját, illetve az a függvénymutató, amit átadunk a pthread_create( )-nek a objektumra hivatkozó mutatót adjuk át. A létrehozott szál azonosítója „szálasítandó” objektum mutatójával egyetemben. 3. A run( ) a szálazonosító tömbben tárolódik. tagfüggvény tisztán virtuális függvény, ezért minden, a Threaded Ezután a pthread_join( ) és a szálazonosítók segítségével osztályból származtatott osztályban készíteni kell belõle egy válto- megvárjuk, amíg a szálak végeznek számítási feladatukkal. Mivel zatot. Ez a függvény lesz a származtatott osztály fõ végrehajtási run( ) függvény visszatérési értékének dinamikusan foglaltuk le pontja, és visszatérési értéke fogja a számítás eredményét megadni. a helyet, most fel kell szabadítanunk azt. Minden szál visszaadott A CountPrimes osztály esetében a függvény egyszerûen kiszámolja értékét hozzáadjuk a számlálóhoz. és visszaadja a teljes tartományt. Végül megsemmisítjük a CountPrimes objektumokat, majd a szál- A soros megoldásból szeretnénk minél többet megtartani, ezért csak azonosító tömböt és az objektummutató tömböt is. A programot egyetlen további paramétert (értéket) adunk meg, amely a feladat a következõképpen lehet lefordítani és használni:

72 Linuxvilág Szaktekintély

1. lista Prímek számítása artva class CountPrimes { return true; public: } CountPrimes(long start_, long stop_); long total(); long CountPrimes::total(){ private: if (counted) // csak egyszer kell számolnunk long start; return count; long stop; for (long i=start; i<=stop; i++) long count; if (is_prime(i))

bool counted; count++; t. Minden jog fennt bool is_prime (long candidate); // most, hogy kiszámoltuk, állítsuk a jelzõt }; // igazra counted=true; CountPrimes::CountPrimes(long start_, long stop_) return count; :start(start_),stop(stop_),count(0), }

counted(false){ © Kiskapu Kf if (start>=stop) // Ezután az objektumot magától értetõdõ módon throw range_error("Start >= Stop"); // használhatjuk a parancssorból megkapott } // értékekkel:

bool CountPrimes::is_prime (long candidate){ int main (int argc, char *argv[]){ // különleges esetben if (argc<3) if (candidate<0) // negatív usage(argv[0]); return false; if (!candidate) // == 0? try { return false; CountPrimes if (candidate==1) // az 1 nem számít prímnek counter(atol(argv[1]),atol(argv[2])); return false; if (counter.total()>1){ if (candidate==2) cout << "There were " << counter.total(); return true; cout << " primes." << endl; // általános esetben } for (long i=2; i

www.linuxvilag.hu 2001. június–július 73 Szaktekintély

2. lista Kiegészítõ osztály és statikus tagfüggvény készítése 3. lista Szálak létrehozása artva class Threaded { int main (int argc, char *argv[]){ public: int num_threads(2); Threaded() {}; // helyesen hívtak meg? virtual ~Threaded() {}; if (argc<3) static void *entry (void *ptr); usage(argv[0]); virtual void *run ()=0; if (argc==4) }; num_threads=atol(argv[3]);

t. Minden jog fennt void *Threaded::entry(void *ptr){ try { return reinterpret_cast pthread_t *t_id=new pthread_t[num_threads]; (ptr)->run(); CountPrimes **counter= } new CountPrimes*[num_threads]; // indítsuk a szálakat class CountPrimes : public Threaded { long start(atol(argv[1]));

© Kiskapu Kf public: long stop(atol(argv[2])); CountPrimes(long start_, long stop_); long incr((stop-start)/num_threads); long total(); for (int i=0; istop?stop:start+incr); long start; start+=incr+1; long stop; pthread_create(&t_id[i],NULL, long count; counter[i]->entry,counter[i]); bool counted; } bool is_prime (long candidate); // most várjuk meg az eredményt }; long count=0; for (int i=0; i(return_val); } count+=*(reinterpret_cast(return_val)); delete reinterpret_cast(return_val); } „szálasított” változat main( ) függvényéhez. Az egyetlen különb- for (int i=0; i1){ adják meg. Miután a mestertõl átvette az adatot, a szolga ellenõrzi cout << "There were " << count; az üzenet állapotát, hogy lássa, a munka véget ért-e már (KILL cout << " primes." << endl; üzenet), amennyiben igen, befejezi a mûködését. Ha még van } munka, a változókat átnevezzük, hogy pontosan az elõzõ változat- else{ ban lévõ kódot használhassuk. Az egyetlen hátralévõ lépés, hogy cout << "There was " << count; az eredményt visszaküldjük az MPI_Send( )-en keresztül. Itt cout << " prime." << endl; egyetlen long értéket küldünk vissza, amelyben a szolga által talált } számok darabszámát tároljuk. } A mester feladata valamivel összetettebb, mivel el kell döntenie, catch (range_error e){ hogyan ossza fel a szolgáknak kiküldendõ munkát és hogyan gyûjtse cout << "Exception: " << e.what() << endl; be az eredményt. Elõször kiküldi a munka egy részét a szolgáknak, exit(EXIT_FAILURE); majd megvárja, amíg az eredmény visszaér hozzá. Amikor a mester } megkapja az eredményt, egy másik munkaegységet küld ugyanannak return EXIT_SUCCESS; a folyamatnak, feltéve, hogy van még hátralévõ munka. Ha nincs } több, minden folyamatot még egyszer végigkérdez, nem maradt-e esetleg valamilyen eredmény, majd minden szolgának kiadja a kilé- pési utasítást (lásd a 6. listát). Az egyes gépek közötti terheléskiegyenlítés kulcsa a STEP_SIZE A make_work( ) függvény dönti el, hogyan kell felosztani változó. Ha az értéke túl nagy, egyes gépek üresjáratba kerülhetnek, a munkát és mikor van annak vége. Egyszerû soros modellt míg mások túlságosan nagy tartományokkal bajlódnak. Ha viszont választottunk, ahol a darabok méretét a STEP_SIZE határozza túl kicsi, akkor túl nagy lesz a kapcsolati terhelés. Az értéket álta- meg. (lásd a 7. listát). lában a legegyszerûbb tapasztalati úton meghatározni. A részletekkel

74 Linuxvilág Szaktekintély

5. lista Szolgák 4. lista A main() változásai artva void slave(int num_threads){ int main (int argc, char *argv[]){ long result; int num_threads(2); long bounds[2]; int my_rank; MPI_Status status; int nprocs;

while(true){ // MPI elõkészítése MPI_Recv(bounds, 2, MPI_LONG, 0, MPI_Init(&argc,&argv); MPI_ANY_TAG, MPI_COMM_WORLD, &status); MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

if (status.MPI_TAG == KILL) MPI_Comm_size(MPI_COMM_WORLD, &nprocs); t. Minden jog fennt return; // helyesen hívtak meg? try { if (argc<3) long start(bounds[0]); usage(argv[0]); long stop(bounds[1]); if (argc==4)

num_threads=atol(argv[3]); © Kiskapu Kf /*... ide jön a szálasított változat main() long start(atol(argv[1])); függvényének kódja ...*/ long stop(atol(argv[2]));

MPI_Send(&count,1,MPI_LONG, 0, if (my_rank == 0) 0, MPI_COMM_WORLD); master(start,stop,nprocs); } else catch (range_error e){ slave(num_threads); cout << "Exception: " << e.what() << endl; } MPI_Finalize(); } } return EXIT_SUCCESS; } a Teljesítmény részben bõvebben is foglalkozunk. Az MPI programok fordításához az mpicc vagy az mpiCC használ- A mpirun -np kapcsolója az elindítandó feladatok számát határozza ható, attól függõen, hogy C vagy C++ kódot fordítunk-e. A megosz- meg (azaz általában a rendszer csomópontjainak számát). A két mínusz- tott program futtatásához elõször be kell indítani a többgépes jel (--) utáni minden további érték átadódik a futó fõprogramnak. rendszert a lamboot-on keresztül, majd a programot elindítani az mpirun paranccsal. Az MPI-munkamenet végén a rendszert a wipe Teljesítmény paranccsal állíthatjuk le: A párhuzamos programozás hatékonyságának bemutatásához meg kell mutatnunk, hogy az eltelt idõ a párhuzamos változatban bash$ mpiCC -O -o primes_mpi rövidebb. A csomópontonkénti százszázalékos teljesítménynövekedés primes_mpi.cpp -lpthread általában nem érhetõ el, kivéve ha a feladatot a rendszer nagy dara- bash$ lamboot bokra bontja fel és komolyabb összehangolásra sincs szükség. Próbáinkat 16 két 700 MHz-es Pentium III-as processzort és 384 MB LAM 6.3.2/MPI 2 C++/ROMIO memóriát tartalmazó gépbõl álló telepen futtattuk. A programmal 0 -University of Notre Dame és 10 000 000 között számítottuk ki a prímeket. Íme az egyes progra- mok futási eredményei: bash$ mpirun -O -np 16 primes_mpi -- 0 10000000 • Soros megvalósítás egyetlen csomóponton: 6:29,28 mp. There were 664579 primes. • Többszálú megvalósítás egyetlen csomóponton: 3:24,24 mp. bash$ wipe • Megosztott (és többszálú) megvalósítás 16 csomóponton: 11,05 másodperc. Ha a lamboot futtatásával gondok akadnak, használjuk a recon parancsot annak kiderítésére, mi is okozza a hibát. Ha a recon Ezek az eredmények azt mutatják, hogy a processzorok száma sikertelen, valószínûleg nem futtathatunk programokat a távoli gépe- egyenesen arányos a sebességgel (32x-es sebességgyorsulás a soros ken jelszó begépelése nélkül. Ha ssh-t használunk, bizonyosodjunk megvalósításhoz képest). meg róla, hogy ennek jelzésére beállítottuk a LAMRSH-t: Terheléselosztás bash$ export LAMRSH='which ssh' A többgépes rendszerek programozásakor az egyik legnagyobb gond, hogy miként használhatjuk ki a lehetõ legjobban az összes számító- Az mpicc kapcsolói lényegében ugyanazok, mint amelyeket egyébként gépet, illetve a többprocesszoros gépek összes processzorát. Nyilván a fordítónak szoktunk átadni. Az egyetlen kivétel mind a mpicc, mind el szeretnénk kerülni, hogy néhány gép üresjáratban várjon más számí- az mpirun esetében a -O, amely azt mutatja, hogy a rendszer azonos tások eredményére, melyeket egy másik gép vagy processzor végez. típusú számítógépekbõl áll, így endian átalakításra nincs szükség. Ezt a finom mûvészetet nevezik terheléselosztásnak (load balancing).

www.linuxvilag.hu 2001. június–július 75 Szaktekintély

6 lista Szolgák kiléptetése 7. lista. Soros megoldás artva void master(long start, long stop, long nprocs){ bool make_work(long *work, long *current, long work[2]; long stop){ long result; if (*current>=stop) long total(0); return false; // nincs több munka long current(0); MPI_Status status; work[0]=*current; work[1]=*current+STEP_SIZE; // osszunk ki némi munkát *current=*current+STEP_SIZE+1;

t. Minden jog fennt for (int rank=1; rankstop) if (make_work(work,¤t,stop)) // ügyeljünk rá, nehogy átlépjük a határt MPI_Send(work,2,MPI_LONG, work[1]=stop; rank,WORK,MPI_COMM_WORLD); return true; } }

© Kiskapu Kf // küldjünk még munkát, ha van while(make_work(work,¤t,stop)){ MPI_Recv(&result,1,MPI_LONG,MPI_ANY_SOURCE, határozott) darabok méretére azért oda kell figyelni, mivel jelentõsen MPI_ANY_TAG,MPI_COMM_WORLD,&status); megnövelhetjük a hálózati forgalmat – tényleges sebességnövekedés total+=result; nélkül. Hasonló megoldást alkalmazhattunk volna a szálak kiegyen- MPI_Send(work,2,MPI_LONG,status.MPI_SOURCE, súlyozására is, az átláthatóság kedvéért azonban nem ezt tettük. WORK,MPI_COMM_WORLD); } Eric Bourque // fogadjuk a különleges kérelmeket ([email protected]) PhD hallgató for (int rank=1; rank

MPI_Send(0,0,MPI_INT,rank,KILL,MPI_COMM_WORLD); Kapcsolódó címek } Jó angol nyelvû C++ könyvek gyûjteménye cout << "There were " << total;  cout << " primes." << endl; http://www.telegraph-road.org/books.html } Bjarne Stroustrup, a C++ megalkotójának könyve, a C++ programozási nyelv magyar változatának honlapja  http://www.zolix.hu/konyv_hu.html A terheléselosztás részletes ismertetése természetesen meghaladja Linux Paralell Processing HOWTO cikkünk kereteit, de a megoldandó feladat néhány részletét azért  megvizsgálhatjuk, hogy megtanuljuk, miképpen növelhetjük a telje- http://www.beta.ttt.bme.hu/HOWTO/Paralell-Processing- is_prime( ) HOWTO.html sítményt. Példánkban a számítások nagy részét az  függvény végzi. Természeténél fogva végrehajtási ideje nagyban függ http://www.linuxdoc.org/HOWTO/Paralell-Processing- a bemenõ értékek számától. Figyeljük meg, hogyan osztottuk fel a HOWTO.html munkát a második megoldásban, amikor csak két szálat használtunk: C++ FAQ a számok felét az egyik, másik felét a másik szálnak adtuk át. Ez ere-  http://www.parashift.com/c++-faq-lite/ dendõen kiegyensúlyozatlan, hiszen a számokat sorban osztottuk el. comp.programming.threads FAQ A kisebb számokat kapó szál sokkal hamarabb fog végezni, mint  a nagyobbakon dolgozó, így a processzor üresjáratba kerül. A gond http://www.LambdaCS.com/newsgroup/FAQ.html legalább két módon megoldható: amikor felosztjuk a számtartományt, MPI Forum az egyes szálaknak felváltva küldjük a számokat; vagy egyszerûen  http://www.mpi-forum.org/ még több szálat használunk, ami kisebb darabokra osztja fel a fela- LAM datot, és nagyobb mértékben bízza a terheléselosztást a rendszermag  ütemezõjére. Természetesen ez csak addig mûködõképes, amíg az http://www.mpi.nd.edu/lam ütemezéssel töltött idõ meg nem haladja a feladat felosztásával meg- LAM FAQ takarított idõt.  http://www.mpi.nd.edu/lam/faq/ A terhelés elosztása lényegesen hatékonyabb volt a megosztott A cikk teljes forráskódja megtalálható a következõ címen: megoldásban: minden gépnek csak kisebb munkaszakaszokat küld-  ftp://ftp.cim.mcgill.ca/pub/people/ericb/primes.tar.gz tünk, és csak akkor kaptak újabbat, ha az elõzõvel már végeztek. A kiküldött (a mi megoldásunkban a STEP_SIZE változó által meg-

76 Linuxvilág Szaktekintély

A PostgreSQL és a PHP (2. rész) artva Varázsoljuk PostgreSQL-lel tárolt adatbázisainkat a Webre, és egyúttal kóstoljunk bele napjaink egyik leggyorsabban fejlõdõ programozási nyelvébe, a PHP-ba.

orozatunk elõzõ részében ezt kell kibõvíteni a -u postgres -p

telepítettük a PHP-t jelszó szöveggel. t. Minden jog fennt és beállítottuk a A másik említésre méltó dolog, PostgreSQL-t,S hogy PHP-ból hogy azok a felhasználóink, elérhessük az adatbázisokat. akik maguk is létrehozhatnak Most megismerkedünk felhasználókat, teljes jogú a PostgreSQL biztonsági urai a PostgreSQL-nek, azaz

beállításaival, a PHP post- minden felhasználó jelszavát © Kiskapu Kf greses adatbázisokat támo- (így a Postgresét is) megvál- gató függvényeivel, írunk toztathatják, sõt, megnézhetik egy rövid webes alkalmazást, a pg_pwd fájlban (10. lista). és a cikk végén megnézzük, hogy miként kell eljárni, ha a PostgreSQL Adatelérés PHP3-mal egy újabb változatára szeretnénk átállni. Most már minden készen áll ahhoz, hogy Az elõzõ cikk végén lévõ példában (test.php3) elérjük a PostgreSQL adattáblákat, és megjelenítsük kapcsolódni próbáltunk a php_db adatbázishoz a php_user felhasználó a tárolt adatokat a weboldalunkon. Ahhoz, hogy ezt kipróbáljuk, nevében, a heureka jelszóval: hozzunk létre táblákat és engedélyezzük egy felhasználónak az elérést! Hozzuk létre az allatok táblát – amelyben az állatok és insert into allatok values ('Méhecske','Szilvia'); paranccsal. Ezután adjunk jogot a php_user felhasználónak a táblához: A PostgreSQL biztonsági beállításai grant select on allatok to php_user; Mielõtt tovább ismerkednénk a PHP-val, egy kis kitérõt kell tennünk (A lemezmellékletben szereplõ php_proba.sql fájlban megtalál- a PostgreSQL felhasználóinak jelszavai kapcsán. Próbáljunk rossz hatók ezek az utasítások, elég a psql-ben kiadni a \i php_proba.sql jelszót megadni a test.php3 fájlban vagy változtassuk meg a php_user utasítást.) A grant utasítás általános alakja GRANT engedélyek ON jelszavát psql-ben az ALTER USER php_user WITH PASSWORD táblák TO felhasználó; ahol az engedélyek ALL, SELECT, kukucs; paranccsal. Elképzelhetõ, hogy a PostgreSQL így is engedi INSERT, UPDATE, DELETE, illetve RULE. Ezek a szavak meg- a hozzáférést az adatbázishoz. Ha ezt nem akarjuk, módosítsuk felelnek az azonos nevû SQL utasítás végrehajtásához való joggal, a /etc/postgresql/pg_hba.conf fájlt. Itt eltérõ biztonsági kivéve az ALL-t – ami minden jogot megad, és a RULE-t – amely szinteket (felhasználó-ellenõrzési módszereket) állíthatunk be a kü- a szabályok létrehozását engedi, és nem szabványos SQL utasítások. lönbözõ helyekrõl érkezõ kérésekhez. Ha egy helyben megbízunk A felhasználó lehet PUBLIC, ez az összes felhasználót takarja, vagy (trust értéket állítunk be) – ez az alapértelmezett biztonsági szint egy csoportnév, amely a felhasználók egy csoportjára utal. Errõl helyi hálózatunkra, – nem történik semmilyen jelszóellenõrzés. bõvebb tájékoztatást a PostgreSQL leírásban találhatunk. Ha password a beállított érték, a PostgreSQL ellenõrzi a jelszót, Egy adatbázis tábláira adott jogosultságokat a \z psql parancs de a jelszavak sima szövegként haladnak a hálózaton. Ha crypt-et kiadásával nézhetünk meg (11. lista). A jobb oldali oszlop egy sorá- adunk meg, a jelszavak titkosítva utaznak a hálózaton, de vigyáz- ban levõ értéksorozat jelzi, kinek milyen jogokat adtunk felhasználó/ zunk, a /var/lib/postgres/data/pg_pwd fájlban (10. lista) csoport=jogok formában. A jogokat karaktersorozat jelképezi, ahol a jelszavak kódolatlanul tárolódnak. Ilyenkor a pg_pwd-ben levõ r:SELECT, w:UPDATE/DELETE, a:INSERT, r:RULE lehet. Ha az jelszót kódolja a rendszer, majd ezt a kódolt jelszót hasonlítja össze egyenlõségjel bal oldalán nincs semmi, akkor a sor mindenkire a belépni kívánó felhasználó által megadott jelszó kódolt változa- érvényes jogokat mutat. tával. A rendszer további hiányosságairól bõvebben a postgresql- Miután elkészült a tábla, tovább próbálgathatjuk a PHP3-at. doc/README.passwords fájlban olvashatunk. A test2.php3 (12. lista) program kapcsolódik az adatbázishoz. Ehhez kapcsolódik még néhány fontos dolog: ha nem trust-ot A pg_Connect() függvény eredménye egy szám, amely azonosítja állítottunk be a helyi hálózatunkra, a psql-t psql -u paranccsal kell a kapcsolatot. Több adatbázishoz is kapcsolódhatunk, ekkor mind- indítanunk, különben nem kér jelszót, így azután nem férhetünk hozzá egyik kapcsolatnak más-más száma lesz. A további PHP-PostgreSQL az adatbázisokhoz. Ekkor azok a felhasználók, akiknek nem állítottunk függvényekben ezt a kapcsolatazonosítót kell használnunk. be jelszót, többé nem tudnak bejelentkezni. Ilyen a Postgres is, tehát A pg_Exec (kapcsolat_azonosító, SQL-szöveg); függ- mindig állítsunk be jelszót a felhasználónak. Van egy do.maintenance vény az SQL-szövegben levõ SQL utasítást hajtatja végre. A vissza- karbantartó parancsfájl, amit a cron démon futtat a Postgres-felhasz- adott szám azonosítja a lekérdezést. Hiba esetén 0, eredményt nem náló nevében (Debianon a /etc/cron.d/postgres fájl segítségével), szolgáltató SQL utasítások (INSERT, DELETE, UPDATE stb.) esetén

www.linuxvilag.hu 2001. június–július 77 Szaktekintély

10. lista A /var/lib/postgres/data/pg_pwd fájlban normál 13. lista A test3.php3 program.

artva szövegként tárolódnak a jelszavak Egy teljes eredménytábla kiírása

billgates 1002 t t t t \N \N 1 A tábla sorai:

proba 1003 t t t t \N \N 2

phpuser 1004 f f f f heureka \N 3

t. Minden jog fennt "SELECT * FROM allatok;"); 11. lista A \z psql utasítással a táblákhoz 7 rendelt jogosultságokat nézhetjük meg 8 print '

'; 9 for($i=0; $i \ z 10 print '";

© Kiskapu Kf +—————————— +————————————————————————————+ 12 }; | Relation | Grant/Revoke Permissions | 13 print '

'; +—————————— +————————————————————————————+ 14 | allatok | !"=","php_user=r"} | 15 for($i=0; $i\n"; 18 }; 19 12. lista A test2.php3 program. Kiírja egy SQL tábla elsõ 20 pg_Close($connection); sorának elsõ mezõjét 21 ?> 22
'. Database = php_db 11 pg_fieldname($result,$i)."

$result = pg_Exec($connection, 14. lista A test4.php3 program. "SELECT * FROM allatok;"); Az include() parancs bemutatása $row = pg_fetch_row ($result, 0); print "A tábla elso sorának elso eleme: " . $row[0] . "\n"; pg_Close($connection); test4 ?>

Helló
\n"; kell használnunk. include("test4.inc"); A pg_fetch_row (lekérdezés_azonosító, sorszám); ?> függvény az eredmény sorszám-adik sorát adja vissza tömbként. A tömb elemei a sor mezõi. Az elsõ eredménysor a 0-ik sorszámú. A print paranccsal vastagon szedve kiírjuk a $row tömb nulladik elemét. Végül bezárjuk a kapcsolatot a pg_Close (kapcsolat_ azonosító); függvénnyel. A test3.php3 program (13. lista, a sorszámok csak a magyarázat 15. lista A test4.inc fájl. Példa include-fájlra kedvéért szerepelnek) végigolvassa a táblát és HTML táblázatként kiírja. A PHP-program a 3. sornál kezdõdik. A kapcsolat létesítése és az SQL utasítás kiadása után (4–6. sorok) kiírjuk a táblázat fejlécét, piros hátterû cellákban. A pg_NumFields
Szia
(lekérdezés_azonosító) függvény megadja, hány oszlopa van az eredménytáblázatnak. A 9. sorban indított számlálásos ciklussal végigmegyünk az oszlopokon és a pg_fieldname visszaadja az eredménytáblázat sorainak a számát. Ennek segítsé- (lekérdezés_azonosító, oszlop_sorszám) függvénnyel gével (15. sor) egy számlálásos ciklussal olvassuk be a sorokat a – ez az oszlopok nevét adja vissza – a 10–11. sorokban kiírjuk a $row tömbbe (16. sor), ezt az implode() függvénnyel alakítjuk fejlécet. A pg_numrows (lekérdezés_azonosító); függvény át karakterlánccá és írjuk ki (17. sor).

78 Linuxvilág Szaktekintély

16. lista A fuggv.php3 program 17. lista A fuggv.inc fájl. Példa függvényekre artva srand((double)microtime()*1000000); function random_color() {

$colors=array('white','red','green', 'yellow','blue'); for($i=0; $i<10; $i++) { print '';
return $colors[rand(0,count($colors)-1)];

}; t. Minden jog fennt
function MyTable() {
for($j=0; $j<5; $j++) {

print '
method="post">'."\n"; 8 9 print ' name="allatok">'."\n"; 10 for($row=0; $row < pg_NumRows($result);

© Kiskapu Kf $row++){ 11 print '' . "\n"; 19. lista A mutat.php3 program. 14 } Ûrlapmezõk neveinek és értékeinek kiírása 15 print ''."\n"; 16 17 print '

value="Ezt választom">'. 18 ' value="Választás törlése">'; 19 reset ($HTTP_POST_VARS); while (list($key, $val)= each($HTTP_POST_VARS)) { 8. print "$key = $val
\n"; }; ?>

Errõl bõvebben a PHP-leírás functions.arguments.html oldalán olvashatunk. Szükségünk lesz ûrlapok kezelésére is. Legyen az ûrlapunk a form.html fájl (18. lista). Ebben két beviteli mezõ van, szoveg1 és szoveg2 néven, valamint elküldõ- és törlõgomb. Elküldéskor a mutat.php3 program kapja meg a beviteli mezõk neveit és értékeit. PHP3-ban a POST eljárással kapott név–érték párokat a $HTTP- POST-VARS tömbön keresztül érhetjük el; ha GET-et használtunk, A PHP beállításától függõen az ûrlap beviteli mezõi elérhetõk lehet- akkor a $HTTP-GET-VARS tömb áll a rendelkezésünkre. Ezek úgy- nek egyszerû változóként is, azaz a szoveg1 beviteli mezõ értéke nevezett társított vagy nevesített (asszociatív) tömbök, ezek lényege, lekérdezhetõ a $szoveg1 globális változón keresztül. Sokan nem hogy a tömb elsõ oszlopa változók neveit, a második pedig az adott szeretik ezt a szolgáltatást, ugyanis könnyû összekeverni a program változóhoz tartozó értékeket tartalmazza. A tömb egy értékét a hozzá által egyébként is használt globális változókat az ûrlapokon keresztül tartozó névvel is indexelhetjük. A tömb adatait emellett elérhetjük kapottakkal. Errõl bõvebben a leírás configuration.html oldalán a 0, 1, … indexek használatával is, ilyenkor a páros indexekre a olvashatunk a track_vars és a register_globals részeknél. neveket kapjuk, a páratlanokra az értéket. Ha például a szoveg1 Nézzük meg a mutat.php3 programot (19. lista). A reset beviteli mezõbe a Hello szót írtuk, elküldés után a mutat.php3 ($HTTP_POST_VARS); sorral a tömb belsõ mutatóját a tömb programban a $HTTP_POST_VARS ["szoveg1"] kifejezéssel elejére állítjuk. A while (list($key, $val) = each kaphatjuk meg a Hello értéket. A tömböknek van belsõ mutatójuk ($HTTP_POST_VARS)) kezdetû blokk egy elöl tesztelõs ciklus, is, ennek segítségével az elemeket indexelés nélkül, sorban egymás amelynek magjában kiírjuk a $key és a $val változók értékeit. után is elérhetjük. A $key tartalmazza az ûrlapmezõ nevét, a $val pedig az értékét.

80 Linuxvilág Szaktekintély

ramnak küldi el. A lényeges rész a 9–15. sorokban van. Itt állítja 21. lista Az egy.php3 program egyetlen értéket dolgoz fel elõ a program a választólistát. A 10. sorban végigmegyünk az eredménytábla összes során és mindegyik sorból készítünk egy artva állat gazdája gazda $connection = pg_Connect("dbname=php_db neve port=5432 user=php_user password=heureka"); $result = pg_Exec($connection, Így az egy.php3 programnak valamelyik állattartó nevét fogjuk elkül- "SELECT * FROM szemely deni. A 17. és 18. sorok egy submit és egy reset gombot állítanak elõ. WHERE nev='$val';"); Az egy.php3 program (21. lista) a $val változóba teszi az allatok

pg_Close($connection); névhez tartozó értéket a $HTTP_POST_VARS tömbbõl. Ezután kivá- t. Minden jog fennt lasztja azokat a sorokat a szemely táblából, ahol a nev értéke meg- print pg_Result ($result, 0, 0).','. egyezik a $val változó értékével. Azért kell $val-t aposztrófok pg_Result ($result, 0, 1).','. közé tenni, mert a tömb nev oszlopa szöveges típusú adatokat tartal- ((pg_Result ($result, 0, 2)=='f') ? maz. A program utolsó része kiírja az eredménytábla nulladik sorát. 'nõ' : 'férfi') ."\n"; A (pg_Result ($result, 0, 2) == 'f') ? 'nõ' : 'férfi')

?> eredménye 'nõ' vagy 'férfi' – attól függõen, hogy a harmadik mezõ © Kiskapu Kf értéke 'f' lesz-e. A program kimenete egyetlen sor a böngészõben, például: Szilvia ,1978-03-14, nõ.

9. Áttérés új PostgreSQL-változatra Nagyobb váltásoknál módosul az adatbázisok tárolási formátuma. Mivel az újabb változatok nem mindig mûködnek a régi adatbázi- sokkal, ki kell menteni az adatbázisokat, letörölni az adatbázis- könyvtárat (általában a /var/postgres/data könyvtár), és meg kell szabadulni a régi Postgrestõl, telepíteni kell az újat, majd be- üzemelni és visszaállítani az adatbázisokat. Ezalatt természetesen meg kell akadályoznunk, hogy az adatbázisok változzanak. Legegy- szerûbb, ha leállítjuk a PostgreSQL-t. (A folyamatról olvashatunk a /usr/doc/postgresql-doc/README.Debian.migration.gz fájlban.) Frissítsünk mi is a 6.3.2-rõl (ami a Debian Slink-ben található) a 6.5.3-ra (ez a Potato-változat része).

Az adatbázisok mentése és visszatöltése Állítsuk le a Postgrest a /etc/init.d/postgres stop parancs- csal. Rendszergazdaként át tudunk váltani a postgres felhasználóra a su - postgres utasítással. Ezután adjuk ki a postgresql-dump Az az izgalmas rész, ahol a $key és $val megkapja értékét, ez -t db.out parancsot. A db.out fájl a /var/postgres könyvtárban jön pedig a ciklusfeltételben történik meg. A list (változólista) létre. Belenézhetünk: átlagos szöveges fájl, amely a psql számára kulcsszó hatására egyben kezelhetünk változókat, úgy, mintha egy készült. Másoljuk biztonságos helyre, például a saját könyvtárunkba. tömb lennének. Az each (tömb) kiválasztja a tömbbõl a belsõ Éles rendszereken természetesen mentsünk le mindent a következõ mutatója által mutatott név–érték párt és hátrébb állítja a mutatót. lépések végrehajtása elõtt! Így a list ($key, $val) = each ($HTTP_POST_VARS) Töröljük a /var/postgres/data könyvtárat. értékadásra a $key és $val változók megkapják az általunk kívánt Töröljük a postgresql csomagot: dpkg --remove postgresql értékeket. Az elöl tesztelõs ciklus miatt az ûrlap mezõjét kiírjuk, nem Telepítsük az új PostgreSQL-t. Telepítés alatt beállíthatjuk a használt kell tudnunk, hogy pontosan mi volt a mezõk neve és hány volt az dátumformátumot és karakterkódolást. Ha nem történt hiba, létrejön ûrlapon. Futtatásának eredményét láthatjuk a 8. képen. a /var/postgres/data könyvtár, benne a rendszeradatbázisok és a template1 adatbázis. Egy alkalmazás Hozzuk létre régi adatbázisainkat. Lépjünk be postgres néven: Most már visszatérhetünk az adatbázis-kezeléshez. Legyen a fela- su - postgres, és adjuk ki a psql -e elérési_út/db.out datunk az, hogy a példaadatbázis allatok táblájában levõ álla- parancsot. Ha valami hibát veszünk észre, elképzelhetõ, hogy javítani tok gazdáiról tudjunk meg adatokat. A programunk felkínálja az kell a db.out fájlon. Ekkor kezdjük újra a folyamatot: állítsuk le a összes bejegyzést a táblából. A felhasználó válasszon innen egy Postgrest, töröljük a data könyvtárat, lépjünk be postgresként, majd sort, és az ott levõ gazdához tartozó adatok jelenjenek meg egy adjuk ki az initdb parancsot, ez létrehozza a data könyvtárat a újabb weboldalon. szükséges adatbázisokkal. Elsõként nézzük meg a valaszt.php3 program eredményét (9. kép). A listák megtalálhatók a 14. CD-melléklet Magazin/Cikkekhez A böngészõben egy lista jelenik meg az állatokról és gazdáikról. A kép- könyvtárában. ernyõ alján két gomb található az elküldésre és a választás törlésére. A program (20. lista) sorait megszámoztam. Tekintsük át a paran- csokat! A lista elsõ része (1–5. sorok) csatlakozik az adatbázishoz Borkuti Péter ([email protected]), és lekéri az összes sorát. A 7. sor eredménye lesz a weboldal elsõ matematika-informatika szakos tanár, rendszergazda, sora, megnyit egy ûrlapot, amely az adatokat az egy.php3 prog- informatikus, rendszerépítõ és programozó. www.linuxvilag.hu 2001. június–július 81 Szaktekintély

artva JavaServer Pages Kiszolgálóoldali fejlesztõi és futtató környezet kialakítása Linux-rendszeren.

ma készülõ alkalmazások jelentõs része a többrétegû • Az elsõ nemzedékbeli webkiszolgálók korszaka. Ezen megoldá- modell elve alapján készül. Ez a tervezési mód annyira sokra a statikus HTML-oldalak és az azokba beágyazott grafikák

t. Minden jog fennt elõretört, hogy mostanában még a régi alkalmazások (*.jpg, *.gif), hangok, késõbb a mozgófilmek voltak a jellemzõk. Ais e modell kapcsán kapják meg az „egyrétegû”, illetve a „vastag Ezt a világot egészítette ki a böngészõkben bõvítményként ügyfél” nevet. Természetesen ebben a felfogásban nincs semmi megjelenõ VRML-világ, valamint a böngészõoldali parancsfájlok új, hiszen a nagyobb programokat mindig is úgy tervezték, hogy és a Java-appletek lehetõsége. Késõbb az MS kidolgozta az azok függõleges és vízszintes tagolású programegységekbõl áll- appletek vetélytársaként is feltüntetett ActiveX-módszert. janak. Erre klasszikus példa a TCP/IP protokoll, ahol a legismer- • A második nemzedékbeli webes alkalmazások újdonsága a

© Kiskapu Kf tebb megvalósításnál függõlegesen négy réteg van, ugyanakkor HTML-oldalak tartalmának dinamikus kialakítása volt. A Hálón például az IP-réteg is több együttmûködõ részbõl áll (ICMP, IP szörfözõ emberek egyre unalmasabbnak és haszontalanabbnak stb.). Itt a réteg szó arra is utal, hogy az egymással kapcsolatban tartották azokat a honlapokat, amelyek könyv módjára, teljes álló programelemek hány különálló futáskörnyezetre bonthatók. mértékben elõre rögzített módon (statikusan) készültek. E mód- Amennyiben alaposan megvizsgáljuk a Unix-, vagy a Windows- szerek legfõbb képviselõi a CGI-programok, az SSI-k (Server rendszereket, akkor belátható, hogy ez az elgondolás már nagyon Side Include). Érdekes kezdeményezés volt, hogy a webkiszol- régi (lásd a .so és .dll fájlokat mint kiszolgálókat). Egy három- gálókat – hasonlóan más kiszolgálókhoz – API-val lássák el. rétegû alkalmazás jellemzõ kialakítása a következõ: adatbázis- Ennek legfõbb hátrányát az képezte, hogy minden webkiszolgáló kezelõ (AB) réteg – üzleti logika (ÜL avagy lényegi rész) réteg más-más API-val rendelkezhetett. A CGI-programokat mai szem- – felhasználói felület (FF avagy megjelenítési) réteg. Itt az adatbá- mel vizsgálva néhány hátrányuk azonnal szembetûnik: nehezen zisréteg és az üzleti logika, valamint az üzleti logika és a felhasz- lehet bennük a HTTP-protokoll állapotfüggetlen jellegébõl eredõ nálói felület kapcsolata elképzelhetõ egy-egy kiszolgáló-ügyfél korlátokat kiküszöbölni (például folyamat- vagy viszonykezelés), kapcsolatként is. a CGI-parancsállományok esetenként lassúak és sok erõforrást Az üzleti logika nagyjából állandó részét megvalósító alapprog- igényelnek, mert minden CGI-kérésnél egy teljes értékû folyamat ramot alkalmazáskiszolgálónak nevezzük, ennek számos esetben indul el. A pontosság kedvéért azonban azt is fontos megemlíteni, a legfontosabb része egy webkiszolgáló (HTTP-kiszolgáló), bár hogy például a Perl vagy a PHP-eszközök és az õket futtató lényeges kiemelni, hogy a CORBA, DCOM, RMI és más módsze- környezet igyekszik mindent megtenni azért, hogy a fenti hátrá- rek önmagukban is hatékony üzleti logika kialakítását teszik nyokat a lehetõ legjobban mérsékeljék. lehetõvé. Alkalmazásunk szolgáltatásait mégis érdemes lehet egy • A harmadik nemzedékbeli kiszolgálóalkalmazások akkor születtek webkiszolgáló köré építeni, hiszen a HTTP protokoll további meg, amikor a fejlesztõeszközöket készítõ cégek rájöttek arra, lehetõséget is biztosít számunkra. Miért? A válasz a programozás- hogy az internetes (és belsõ hálózati) helyeket is érdemes lenne elmélet típusfogalmával való összehasonlítással érthetõ meg. a hagyományos alkalmazáskészítõ szemlélet jegyében fejleszteni. A TCP szállítási réteg, illetve annak Socket vagy TLI (Transport A végcél természetesen itt is az, hogy dinamikus HTML-, újab- Layer Interface) API-ja csak egy típusnélküli, nyers bájtfolyamot ban XML-oldalakat hozzunk létre a böngészõ ügyfél számára. bocsát a rendelkezésünkre, ami még általában alacsony szintû Ennek a felfogásnak nyilvánvaló elõnyei vannak. Használhatjuk eszköz azok számára, akik például internetes áruházat szeretnének a már ismert programozási nyelveinket és a vizuális fejlesztõesz- kialakítani. Ezzel szemben a HTTP és a hozzá kapcsolódó társ- közöket. Ennek az irányzatnak az egyik elsõ megvalósítása protokollok és eszközök (például: a MIME) típusos fogalmak, a Microsoft Active Server Pages (ASP) szabványon alapuló hiszen a rétegek között teljes objektumok (applet, kép, XML stb.) megoldása volt, melynél az alkalmazásokat a Visual InterDev is közlekedhetnek, amik ismerik saját belsõ ábrázolásaikat, állapo- nevû eszközzel lehetett elkészíteni. Az ASP megoldás arra épül, taikat, típusmûveleteiket (metódusok). A HTTP kiszolgáló önma- hogy az ActiveX elemeket és az azokat mûködtetõ Visual Basic gában nem jelent teljes megoldást, viszont jól együttmûködhet parancsfájlokat a kiszolgálóoldalon használja. Mi ennek a hát- más programokkal (CORBA, RMI, Servlet, biztonság stb.). Ezt ránya? Az MS-re oly jellemzõ megoldás: nagyszerû az ötlet, a felépítést nevezzük alkalmazáskiszolgálónak. de a megoldás több részletében sem szabványos. Például a Visual A vékony felhasználói réteg gyakran egy HTML-, XML-, illetve Basic nyelv használata a szabványos C++ vagy Java helyett, a Java-alapú (esetleg ActiveX-alapú) vékony ügyfélalkalmazás lehet. módszer – szerintem – csak windowsos környezetben mûködik Az adatbázisréteg pedig már mindenki számára ismert, hiszen az rendesen, amit az OLE, az ActiveX és a Windows lehetõségeinek Oracle, DB/2 stb. programok jól érzékeltetik, hogy miket is kell teljes kihasználásával lehet magyarázni. A hírek szerint az MS e rétegben megvalósítani, illetve milyenek azok a hálózati protokol- újabb stratégiája a „.NET”-elgondolás, amely mindjárt egy új lok (pl.: Net *8), amelyek az adatbázis-szolgáltatások hálózaton nyelv bevezetésével indul (neve: C#). Vajon miért? keresztüli elérését teszik lehetõvé. Ezután felmerül a kérdés, hogy létezik-e olyan webes fejlesztõ és A webes alkalmazások fejlõdéstörténete futtató környezet, amely tudja mindazt, amit az ASP, de felület- és A Microsoft Visual InterDev vagy a SUN JSP-vel foglalkozó írásai gyártófüggetlen? A válasz igen. A megoldás elnevezése hasonlít az szerint – a webes alkalmazások fejlõdését nyomon követve – három ASP nevére: JavaServer Pages (JSP). Itt szeretnék két dolgot nagy korszakot különíthetünk el: megjegyezni:

82 Linuxvilág Szaktekintély

servletek továbbgondolása kapcsán született meg. Régebben az SHTML (kiszolgáló-oldali HTLM) fájlok voltak azok, amelyekbe az applethez hasonlóan a értékek… artva tagok segítségével ágyazhattunk be egy servletet. • Az ügyféloldali ActiveX-objektumoknak a Java appletek felelnek meg. Amiként az ügyfél- és a kiszolgálóoldali ActiveX objek- tumok is megvalósíthatnak ügyfél-, illetve kiszolgálókapcsolati lehetõséget, úgy lehetséges az applet és a servlet párbeszéde is. • Az ASP COM/DCOM-nak a szabványos CORBA felel meg (a CORBA egy környezet- és nyelvfüggetlen protokoll megvalósítása).

• Az ASP OLE DB, ADO vagy ODBC adatbázis-elérési modellje t. Minden jog fennt helyett az objektumközpontú JDBC-t használhatjuk.

Ezen a ponton hagyjuk most abba az ASP és a JSP összehasonlítását. A JSP minden operációs rendszeren rendelkezésünkre áll, sõt legjobb megvalósításai a GNU felhasználási szerzõdése alá tartoznak, azaz

beszerzésük ingyenes. (Vigyázat, ez nem a teljes tulajdonlási © Kiskapu Kf  http://java.sun.com költséget jelenti!). 1. A jelenlegi legelterjedtebb kiszolgálóoldali módszer még most A JSP servlet mûködése is a Perl parancsállomány, ennek hátránya a CGI jellegû mûködés- A JSP-oldalak elsõ használata során azokból egy-egy servlet, azaz ben rejlik. egy .class fájl keletkezik. A JSP célja tehát az, hogy ne kelljen 2. Jelentõsen terjed egy másik parancsnyelvi megoldás is, a PHP a viszonylag részletgazdag servletek fejlesztésével foglalkoznunk, (PHP Hypertext Processor). A PHP egyszerûsége és nagyszerû figyelmünket a dokumentumok kialakítására irányíthassuk (a beágya- alapötlete pont az, ami a JSP és ASP módszereket is jellemzi: zott PHP parancsfájlhoz hasonlóan). Régebben a servletek meghívása készítsünk olyan HTML-oldalt, amelybe azok a kiszolgálóoldali hasonló volt a külsõ CGI parancsfájlok hívásához, azaz a cím így programok vannak beágyazva (itt PHP-parancsfájlok), amelyek egy nézett ki: „http://gép/egy_servlet”. Késõbb kialakult az SHTML- HTTP-kérés során lefutnak és az így dinamikusan kialakult HTML- módszer, ennek használata a beágyazott PHP-hoz hasonló. Itt már (XML-) tartalom kerül át a böngészõbe. A PHP hátránya, hogy a dokumentum szerkezete áll a figyelem középpontjában, mert a igazából ez is egy CGI módszer, néha szükségtelenül bonyolult servletek ebbe vannak beágyazva. Jelenleg a JSP tekinthetõ ezen (például ahány adatbázistípus, annyiféle API van az elérésükhöz). irányvonal csúcsának. A gondolat azért nagyszerû, mert a JSP-olda- lakat egy webgrafikus is el tudja készíteni (õ úgy érzékeli a JSP- A JSP és ASP rövid összehasonlítása tagokat, mintha azok különleges HTML-tagok lennének), ugyanakkor Térjünk vissza a JSP-re. Miért is jó ez? Vegyük sorra a párhuza- a háttérben továbbra is a jól bevált servletek állhatnak. Itt jegyzem mokat az ASP-vel: meg, hogy ez a felfogás tökéletes összhangban áll a mostanában viharos sebességgel terjedõ XML-módszerrel. • Az ASP kiszolgálóoldali ActiveX-objektumokat a Java osztályszer- A következõkben olyan JSP servletfejlesztõ és -futtató programkör- kezete fedi le. Ezeket az osztályokat éppen ezért servleteknek is nyezet-kialakítást ismertetek, amely bármelyik operációs rendszeren nevezzük. Érdemes az üzleti logikát JavaBeanekben vagy – az IBM megvalósítható és ebben a pillanatban a legkorszerûbb. A kialakítás és a Sun kezdeményezése kapcsán – Enterprise JavaBeanekben ismertetését Linux operációs rendszerre írom le, de az alapelvek más (EJB) megfogalmazni. A JavaBean ugyanolyan elemalapú módszert operációs rendszereknél is teljesen hasonló. A harmadik részben jelent, mint ami a Delphi vagy Visual Basic (régebben VBX, pedig példán keresztül mutatom be e környezet használatát. manapság ActiveX) fejlesztõi környezeteket is hatékonnyá teszi. A JSP abban ad nagy segítséget az alkalmazásfejlesztõnek, hogy A fejlesztõi és a futáskörnyezet kialakítása ezeket a JavaBeaneket egyszerûen el tudja érni, azaz az alkalmazás- Nézzük elõször is az általam használt hozzávalókat: réteg „tetején” a JSP végzi el a megjelenítõ és adatbeviteli (HTML form feldolgozó) szolgáltatásokat, a JSP biztosítja a kapcsolattartást • Apache 1.3.14 kiszolgáló, az ügyfélréteg és az alkalmazáslogika között. • Apache Jakarta-Tomcat 3.2.1, • A Visual Basic parancsfájloknak szintén a Java program felel • Sun Java 2 SDK Standard Edition for Linux, meg, amit ebben a környezetben néha scriptletnek is neveznek. • Borland Interbase v6.0 adatbázis-kiszolgáló, Ki más is mozgósíthatná a .class fájlokban lévõ servleteket, mint • Borland InterClient JDBC meghajtó az Interbase eléréséhez. maga a Java nyelv? Ezen a téren az ASP és a JSP közötti hason- latosság tökéletes. A JSP-oldalak az ASP-hez teljesen hasonló A fenti programok közös jellemzõje megbízható mûködésük, nagy módon használják a <% ... %>, <%= ... %>, <%@ ... %> tagokat cégek gyártják õket és a beszerzésük ingyenes. Kezdjünk neki a kiszolgálóoldalon. Ezzel a JSP is tökéletesen megvalósítja az kiszolgálónk kialakításának! Active Documentnek nevezett megoldást. A különbség csak az, hogy a parancsfájl nyelve maga a Java. Itt felhívjuk a figyelmet Az Apache telepítése egy nagyon fontos tényre: a .class fájlok dinamikus betöltése Az Apache kiszolgáló forráskódja a www.apache.org helyrõl következtében a teljes Java-eszközkészletet használhatjuk a letölthetõ. A letöltendõ fájl neve: apache_1.3.14.tar.gz. JSP-oldalakon. Ez azt jelenti, hogy az alkalmazást teljes egészé- A forráskódból telepített rendszereket a /opt könyvtár alá másoljuk: ben megírhatjuk Javában, és a HTML/XML-alapú felhasználói felületet kell csak JSP-ben megoldani. A JSP egyébként a $ cp apache_1.3.14.tar.gz /opt

www.linuxvilag.hu 2001. június–július 83 Szaktekintély

Csomagoljuk ki: $TCJ/parser.jar:$TCJ/webserver.jar: $JAVA_HOME/lib/tools.jar $ cd /opt export CLASSPATH, JAVA_HOME, TOMCAT_HOME, artva $ tar -xvzf apache_1.3.14.tar.gz APACHE_HOME # A /etc/profile változtatás vége. Ennek hatására a forráskód a /opt/apache_1.3.14 könyvtárba kerül, erre – csupán a kényelem kedvéért – készítsünk közvetett hivatkozást: Ezekkel a változtatásokkal a Java fordító és futtató is meg fogja találni a .class fájlokat. Ezeket a .class fájlokat régebben a fájlrend- $ ln -s apache_1.3.14 apache szerben helyezték el, majd .zip fájlban tárolták (itt is benne volt a könyvtárszerkezet). Mostanában .jar fájlokat használnak, ennek zip Linux-rendszeren több módszer létezik arra, hogy a forráskódból a formátuma, de a jar Javában íródott. A Java fordító és futtató a

t. Minden jog fennt hogyan készítsünk futtatható rendszert. A legelterjedtebb a configure .class fájlokat igény szerint, dinamikusan használja, ehhez azonban nevû parancsállomány, ez feltérképezi Linux-rendszerünket és ahhoz meg kell találni õket. A keresés a következõképpen zajlik: a program illeszkedõ Makefile állományt állít elõ. Ezt használja az Apache is. indító könyvtára, ha itt nincs, akkor a JAVA_HOME által kijelölt Adjuk ki ennek megfelelõen a configure parancsot: helyen lesz. Amennyiben ott sincs, akkor a CLASSPATH által megjelölt helyeken folytatódik a keresés. ./configure

© Kiskapu Kf --sysconfigdir=/etc/httpd \ Az Apache Jakarta-Tomcat telepítése --datadir=/home/httpd \ Az Apache-projekt webkiszolgálóját már régen kiegészítette --logfiledir=/var/log/httpd \ servlethívási modullal, amit a mod_jserv.so (Apache_JSERV -- disable-rule \ csomag) modul valósít meg. A JSP használatát elõször az erre --enable-shared=max \ épülõ GNU JSP tette lehetõvé. Ezt a párost váltotta fel az egysé- --enable-module=most ges Jakarta-Tomcat csomag, ami a servlet és JSP-lehetõségeket is magában foglalja. A csomagot szintén az Apache projekt Ez a parancs olyan Makefile-t készít, amely elõírja azt is, hogy hol  www.apache.org helyérõl lehet letölteni. A letöltendõ fájl lesz az Apache beállítási fájljának a helye (/etc/httpd), a webtartalom neve: jakarta-tomcat-3.2.1.tar.gz (bináris), illetve gyökere (/home/httpd) és a naplófájl. Továbbá engedélyezzük a futás jakarta-tomcat-src-3.2.1.tar.gz (forráskód). Másoljuk be mindkét közben betöltõdõ modulok használatát is. fájlt a megszokott /opt helyre, majd csomagoljuk ki a bináris A következõ lépés a forráskód lefordítása a make parancs kiadá- csomagot a tar -xvzf jakarta-tomcat-3.2.1.tar.gz sával. A fordítás után a bináris kód telepítése a make install paranccsal, ennek hatására létrejön a /opt/jakarta-tomcat-3.2.1 paranccsal lehetséges. A futtatható Apache-rendszer a telepítés után könyvtár. Készítsünk rá hivatkozást: a /usr/local/apache könyvtárban helyezkedik el. ln -s /opt/jakarta-tomcat-3.2.1 tomcat A SUN JAVA 2 telepítése A jdk-1.2.2-se.tar.gz fájlt (Java 2 Standard Edition) is másoljuk a /opt Emlékezzünk vissza, hogy a /etc/profile fájl TOMCAT_HOME könyvtárba, majd a tar -xvzf jdk-1.2.2-se.tar.gz segítsé- változója erre a hivatkozásra mutat. A Tomcat telepítése ezzel a gével az ismertetett módon csomagoljuk ki. Ekkor létrejön egy kicsomagolással lényegében befejezõdött. Még annyit kell tenni, /opt/jdk1.2.2 könyvtár, ahol a Java 2 rendszer található. Készítsünk hogy a Tomcat-rendszer mod_jk.so nevû fájlját bemásoljuk a erre is hivatkozást: /usr/local/apache/libexec helyre. Itt tárolja az Apache a dinamikusan töltõdõ modulokat. A mod_jk.so csatolófelülete valósít meg az ln -s jdk1.2.2 jdk Apache számára. Ez azt jelenti, hogyha .JSP vagy servlet kérés megy az Apache felé, akkor az ezt kiutalja a mod_jk.so modul hasz- Egy kicsit elõretekintve módosítsuk a /etc/profájl fájlt, mert itt állítja nálatával a Tomcat felé. A Tomcat elõállítja a dinamikus HTML- be az általunk használt bash-héj környezeti változóit (Windowsban tartalmat, ezt az Apache szolgáltatja az ügyfél felé. Ahhoz, hogy az erre az autoexec.bat-ot használnánk). Apache tényleg így mûködjön, ezt meg kell mondani neki. Létezik a /opt/tomcat/conf könyvtárban egy „mod_jk.conf-auto” fájl, amit # A /etc/profile végére ezt írjuk: nem szabad szerkeszteni, mert úgy jó, ahogy van. A teendõnk csak # A java home könyvtár annyi, hogy az Apache beállítófájljába a /etc/httpd/httpd.conf-ba JAVA_HOME="/opt/jdk" utolsó sorként írjuk be a következõt: # A programok keresési útvonalának kiegészítése: PATH=$JAVA_HOME/bin:$PATH include /opt/tomcat/conf/mod_jk.conf-auto # A TOMCAT JSP és servlet szolgáltató helye TOMCAT_HOME="/opt/tomcat" Ezzel az Apache jól fogja használni a kapcsolatot a Tomcathez. # Az apache helye A Tomcatet viszont még be kell állítani. Ezt a server.xml és a APACHE_HOME="/usr/local/apache" workers.properties fájlok módosításával tehetjük meg. Mindkettõ TCJ=/opt/tomcat/lib a /opt/tomcat/conf könyvtárban helyezkedik el. JDKJ=/opt/jdk/jre/lib 1. A workers.properties módosítása a következõ sorok beírását, CLASSPATH=.:$JDKJ/rt.jar kijavítását jelenti: CLASSPATH=$CLASSPATH:$TCJ/servlet.jar: $TCJ/jasper.jar:$TCJ/ant.jar: # adjuk meg, hogy hol van a Tomcat $TCJ/servlet.jar:$TCJ/jasper.jar: workers.tomcat_home=/opt/tomcat $TCJ/ant.jar:$TCJ/servlet.jar: # adjuk meg, hogy hol van a Java $TCJ/jasper.jar:$TCJ/ant.jar:$TCJ/jaxp.jar: workers.java_home=/opt/jdk

84 Linuxvilág Szaktekintély

# adjuk meg, hogy a Linuxban ez a path határolójel A következõ dbgen.sql parancsfájl egy táblát hoz létre ebben az ps=/ adatbázisban: # A Java virtuális gép helye artva worker.inprocess.jvm_lib=/opt/jdk/jre/lib/i386/ # dbgen.sql classic/libjvm.so create table TELEFONOK ( 2. A server.xml szerkesztése azon NUMERIC(10) NOT NULL, Ha jó nekünk, hogy a JSP fájlok és a servletek a nev VARCHAR(50), /opt/tomcat/webapps/root helyen vannak, akkor ezt a fájlt nem telefon VARCHAR(20), szükséges átírni. primary key( azon ) Ezzel a Tomcat is mûködõképes lett. Hogyan indítsuk ezek után ); a webkiszolgálónkat? t. Minden jog fennt Az elsõ lépés a Tomcat indítása: Ezt a parancsfájlt az isql input parancsával futtathatjuk: input /opt/interbase/adatok/dbgen.sql; /opt/tomcat/bin/startup.sh. Próbaként szúrjunk be egy sort ebbe a táblába: Insert into TELEFONOK values(1, 'Nyiri Imre', Ez a parancsfájl is a kicsomagolt Tomcat része. '123456789');

A második lépés az Apache indítása: commit; © Kiskapu Kf

/usr/local/apache/bin/apachectl start Lépjünk ki az isql-bõl az exit; paranccsal.

A webkiszolgáló leállítása a Az Interbase Java JDBC meghajtó telepítése /usr/local/apache/bin/apachectl stop, majd a A meghajtó az Interclient...tar.gz fájlban található, amit az eddigiek /opt/tomcat/bin/shutdown.sh parancspárral lehetséges. szerint másoljunk a /opt könyvtárba és csomagoljuk ki. Ekkor létrejön a /opt/interclient_install_temp_dir könyvtár, lépjünk A Borland Interbase adatbázis-kiszolgáló telepítése be, majd futtassuk le az ott lévõ „install.sh” parancsfájlt. A pa- A Borland szabaddá tette Interbase néven futó adatbázis-kiszolgá- rancsfájl azon kérdésére, hogy hova telepítse a JDBC meghajtót, lóját, ami tudását tekintve megközelítõleg az MS SQL kiszolgá- adjuk meg a /opt/interclient könyvtárat. A telepítés után már lóval egykategóriás, és webes célokra kiválóan alkalmazható. csak annyi a teendõ, hogy az interclient.jar nevû fájlt hozzáfûzzük A csomag telepítése rendkívül egyszerû. Az ...Interbase...6.0.tar.gz a CLASSPATH-hoz a /etc/profile-ban. Ezzel kész az Interbase csomagot másoljuk a /opt helyre és a tar -xvzf ... paranccsal JDBC meghajtó telepítése. Próbáljuk ki, hogy mûködik-e! Írjunk csomagoljuk ki. Ezután csak annyi a teendõ, hogy a /etc/services ehhez Java programot. fájlba beírjuk az új TCP/IP-szolgáltatást, azaz a fájlt a következõ sorral kell kiegészíteni: // // A program az elõzõ pontban létrehozott gds_db 3050/tcp // adatbázist használja # hálózatos interbase // asz1.java, ahol asz=adatszolgáltató // Ebbõl azt is látjuk, hogy az Interbase-t használó ügyfelek másik import java.sql.*; számítógépen is futhatnak, és amikor az adatbázis-kiszolgálót akarják public class asz1 használni, akkor ezt a 3050-es TCP-kapun tehetik meg. Ez hasonló { az Oracle Net * protokolljához. public String ir() Az Interbase kiszolgálót a következõ paranccsal lehet elindítani: { String databaseURL = # az & hatására a folyamat háttérben fut. "jdbc:interbase://localhost/opt/ /opt/interbase/bin/ibserver & interbase/adatok/webimi.gdb"; String user = "sysdba"; Az Interbase telepítésekor felkerült egy isql nevû program is, ami String password = "masterkey"; az adatbázis felé egy SQL parancsfelületet nyújt (hasonlóan, mint String driverName = az Oracle *Plus). Indítsuk el „sysdba” felhasználóként, „masterkey” "interbase.interclient.Driver"; jelszóval: Driver d = null; isql -u sysdba -p masterkey Connection c = null; Statement s = null; Ekkor egy „SQL>” készenléti jelet kapunk meg, ahonnan SQL- ResultSet rs = null; parancsokat adhatunk ki. Hozzunk létre egy új adatbázist az /opt/interbase/adatok könyvtárba: // Driver load try SQL> create database { "/opt/interbase/adatok/webimi.gdb"; Class.forName ("interbase.interclient.Driver"); Az Interbase-adatbázisok egy-egy gdb kiterjesztésû fájlban találhatók } (itt van minden: táblák, nézetek, tárolt eljárások, triggerek, indexek stb.). catch ( Exception e)

www.linuxvilag.hu 2001. június–július 85 Szaktekintély

{ Ezzel a fejlesztõ, futtató környezet minden eleme a helyére került, return "???"; és befejeztük a programok telepítését. } artva Az Apache – JSP környezet kipróbálása // Kapcsolatlétrehozás A környezet kipróbálásához felhasználjuk az eddig létrehozott try eredményeinket: { • A webimi.gdb adatbázist (benne a Telefonok táblát) c = DriverManager.getConnection • A már elkészített asz1.java és asz1.class fájlokat (databaseURL, user, password); A jobb érthetõség kedvéért, valamint a servletek és a JSP-oldalak } összehasonlíthatóságához elkészítünk egy olyan dinamikus HTML- catch ( SQLException e) oldalt létrehozó modult, amely olyan HTML-oldalt küld az ügyfelek-

t. Minden jog fennt { nek, ami a napszaknak megfelelõen köszön, majd kiírja a Telefonok return "???"; tábla elsõ sorának telefontulajdonosát. } A feladat JSP-alapú megoldása // auto commit hamisra állítása Nos tehát, az általunk kialakított környezet mûködõképességének try vizsgálatához készítsünk egy nagyon egyszerû JSP-oldalt, melynek

© Kiskapu Kf { a neve legyen elso.jsp. Ezt a böngészõbõl a „http://localhost/elso.jsp” c.setAutoCommit (false); sorral vagy egy erre mutató hivatkozással hívhatjuk meg. } Nézzük meg a JSP fájl tartalmát (a JSP fájlok text fájlok): catch (java.sql.SQLException e) { <%@ page import="java.util.Calendar" %> return "???"; <% if (Calendar.getInstance.get(Calendar.AM_PM) } == Calendar.AM ) { %> Kellemes délelõttöt kívánok!
// Egy lekérdezése <% } else { %> try Kellemes délutánt kívánok!
{ <% } %> s = c.createStatement(); A telefontulajdonos neve: <%= new asz1().ir() %> rs = s.executeQuery
("select NEV, TELEFON from TELEFONOK"); ResultSetMetaData rsmd = rs.getMetaData(); Az elso.jsp-re való hivatkozás után az Apache felméri, hogy ez JSP- int cols = rsmd.getColumnCount(); oldal-e. A mod_jk csatoló segítségével megkéri a Tomcatet, hogy rs.next(); dolgozza fel ezt a fájlt. A Tomcat az elso.jsp fájlból a háttérben egy return rs.getString("NEV"); Java classt (servletet) készít, majd ezt lefuttatja a Java VM-mel. Itt } van egy fordítási szakasz, ami csak az elsõ alkalommal történik meg, catch ( SQLException e ) utána már mindig a lefordított class fog futni. Ennek eredménye a { következõ dinamikus HTML lesz (csak amit a böngészõbõl látunk): return "???"; } Kellemes délutánt kívánok! } A telefontulajdonos neve: Nyiri Imre } // end class Ugye, milyen nagyszerû? Volt egy teljes Java alkalmazásunk az Most fordítsuk le a programot a javac asz1.java paranccsal, asz1.class fájlban (ezt egy kis túlzással egy JavaBeannek is nevez- ennek eredményeként keletkezik az asz1.class fájl. hetnénk), amit meghívtunk a JSP oldalról. Ugyanakkor az is látszik, Próbaképpen írjunk egy konzolalapú Java fõprogramot, amely ezt hogy tetszõleges Java program írható be a JSP-oldalakra. az osztályt használja: A feladat servletalapú megoldása // imre.java Természetesen most csak nagyon egyszerû megoldást fogunk látni, public class imre így aki a servleteket akarja tanulmányozni, annak ajánljuk a Sun { servlet megvalósításait. Nézzük a programot: public static void main(String[] args) { // Importok System.out.print( new asz1().ir() ); import javax.servlet.http.*; } import javax.servlet.*; } import java.io.*; import java.net.*; A program létrehoz egy új „asz1” típusú objektumot és meghívja annak import java.util.Calendar; az ir() tagfüggvényét, ami a telefonok tábla elsõ sorának NEV mezõjét, tehát a „Nyiri Imre” karakterláncot adja vissza. A System.out.print() // pedig kiírja ezt a konzolra. Mûködik tehát az adatbázis-kapcsolat. // Ennek hívása a böngészõbõl: A programot a java imre paranccsal indíthatjuk el. Ennek hatására // http://localhost/elso.class a „Nyiri Imre” szöveg kiíródik a konzolra. //

86 Linuxvilág Szaktekintély

public class elso extends HttpServlet • HTML parancsfájlírást támogató eszköz (JavaScript, VB script), { • Grafikák, hangok stb. kezelése. // a servlet elõkészítése Ezenkívül ezeket az alapanyagokat egységes webalkalmazásként kell artva public void init( ServletConfig conf ) throws vezérelni. Ezt a feladatot az MS Visual InterDev remekül ellátja, de ServletException létezik az IBM gondozásában (az e-Business jegyében) egy másik { eszköz is, ami ugyanilyen magas szinten tud webes alkalmazást super.init( conf ); kialakítani és vezérelni, sõt a JSP-beli támogatottsága egyértelmûen } jobb az InterDevnél: az IBM WebSphere Stúdió. Az IBM VisualAge-ben úgy lehet kipróbálni a webes alkalmazást, // Szolgáltatása: html oldal elõállítás hogy egy idõben egyik ablakban látjuk a JSP-kódot, a mellette lévõ- // ben a JSP-bõl elõállított servlet kódját, a harmadik ablakban pedig

public void service( HttpServletRequest req, magát a megvalósított HTML, WAP vagy VoiceXML stb. kódját. t. Minden jog fennt // inputkérés Az így kialakított és kipróbált alkalmazás ezután bármilyen környezet- HttpServletResponse res ) ben futtatható (Oracle Appserver, Apache + Tomcat, Websphere stb.). // html outputhoz Tanulási célra alkalmas fejlesztõi környezet a Sun JSWDK 1.0 { eszköz, mely ingyenesen letölthetõ. String sz = (new asz1()).ir();

// a TELEFONOK táblából A HTML-oldalak ûrlapjainak feldolgozása © Kiskapu Kf String udv; // üdvözlés A HTML-ûrlap-feldolgozás kihasználja a Bean/JSP elõnyeit. Az min- denkinek kedvére való, ahogy a PHP egy „nev” nevû beviteli elemet if (Calendar.getInstance.get(Calendar.AM_PM) $nev néven ér el. A JSP-ben sem bonyolultabb a helyzet. Egy html == Calendar.AM ) ûrlap „nev” és „lakcim” nevû mezõjét a bean egy-egy tagfüggvényé- { vel tudjuk kezelni, ezeket célszerû getNev(), getLakcim(), setNev(), udv = "Kellemes délelõttöt kívánok!
"; setLakcim() névre keresztelni, ezután a JSP-motor képes ezeket a } mezõket önmûködõen kezelni. Ezt a folyamatot introspection-nek else hívják és hihetetlen módon leegyszerûsíti az ûrlapfeldolgozást. { udv = "Kellemes délutánt kívánok!
"; A webhely grafikájának megvalósítása } A JSP-oldal lényegében egy HTML-oldal, szerkesztése, formázása gya- korlatilag bármilyen HTML-szerkesztõben történhet. A servletek baja res.SetContentType("text/html"); az volt (hasonlóan a CGI parancsfájlokhoz), hogy a HTML-oldal kül- ServletOutputStream out = alakját – kód formájában – magukban hordozzák. Ha az alkalmazás res.getOutpitStream(); kinézetén valami nem tetszik, akkor a servlet kódjába kell belenyúlni, out.println("Az azt újra kell fordítani és be kell vezetni. A valóságban azonban vannak elso.class"); olyan emberek, akik jól tudnak programozni és vannak olyanok, akik out.println( udv ); szép formát képesek alkotni. Ennek megfelelõen biztosítani kell a külön out.println("A telefontulajdonos neve: "); munkavégzés lehetõségét. Természetesen úgy is fogalmazhatunk, hogy out.println( sz ); out.println(""); a JSP megkíméli a programozót a látvány programozásától, mert azt } // end service ezek után vizuálisan is elkészítheti. A programozók elkészítik a bean- eket, a látványtervezõk (grafikusok) pedig a JSP-oldalakat, amit ugyan- } // end elso class úgy tudnak formázni, mintha HTML-oldalak lennének. A JSP/Bean szemléletû alkalmazás módosítása egyszerû: ha valami rossz a logi- Tekintettel arra, hogy a Tomcat is servletté fordítja a JSP-oldalt (a Tom- kában, akkor annak kijavításához nem kell a látványtervezõ és fordítva. cat work könyvtárában azt is mindig megnézhetjük, hogyan is néz ki ennek a JSP-bõl elõállított servletnek .java forrása), így a servletek ke- Nyíri Imre zelését is ismeri. Az azonban talán már mindenki elõtt nyilvánvaló, hogy érdemes kihasználni azt, ahogy a JSP a servletet önmûködõen elõállítja. ([email protected]) jelenleg a MOL Rt.-nél dolgozik. Informatikai vállalkozásában Záró gondolatok az Internet, a Linux és a Java progra- Ez az írás csupán rövid ismertetõ volt arról, hogy miért is és hogyan mozás gyakorlati hasznosításával fog- használható a Java nyelv a kiszolgálóoldali programozáshoz. Van lalkozik, ennek ellenére örök szerelme még néhány olyan kérdés, amit tisztázni kell, mielõtt valaki belevág még mindig a C++. Kedveli a tudományos és a fantasz- módszer mélyebb használatába. Nézzük õket! tikus irodalmat, illetve filmeket (kedvencei: Solaris és 2001 – Ûrodüsszeia). Szívesen sportol. Milyen fejlesztõeszköz használható? Az nyilvánvaló, hogy egyszerû Java fejlesztõi környezet (Borland Kapcsolódó címek Jbuilder, Oracle Jdeveloper, IBM VisualAge for Java) nem elégséges, hiszen a .java, és .class fájlokon kívül még a következõ  http://java.sun.com nyersanyagokra is szükség van:  http://javasite.bme.hu • HTML-szerkesztõ,  http://www.servlets.com • JSP-szerkesztõ,  http://www.javasoft.com/products/jsp • CGI parancsfájlok írása-kezelése,  http://www.jspin.com • Appletkészítõ eszköz,

www.linuxvilag.hu 2001. június–július 87 Szaktekintély

artva Wine

Hogyan futtassunk Windows-alkalmazásokat Linux alól?

Linux-felhasználók egyik igen nagy gondja, fõleg ha korábban sok windowsos 1. táblázat

t. Minden jog fennt A programot használtak, az, hogyan talál- janak olyan linuxos programokat, amelyekkel A rész neve Szükséges Feladata Windows nélküli környezetben is képesek ellátni [Drive X] igen A Wine által használt feladataikat. lemezegységeket adja meg A Linux-változatok általában tartalmaznak olyan eszközöket, amelyekkel a különbözõ operációs [wine] igen A Wine könyvtárait állítja be

© Kiskapu Kf rendszereken futtatott programok valamilyen [DllDefaults] programfüggõ Az alapból beolvasandó DLL-ek szinten használhatóvá válnak. A linuxos alapcso- [DllPairs] programfüggõ Javítandó DLL-párok magok általában három emulátorcsomagot tartal- maznak: ezek a közismert dosemu és xdosemu [DllOverrides] programfüggõ Lecserélendõ DLL-ek a DOS-os programokhoz, a BasiliskII a MacOsen [options] nem Esetenként azonos a következõvel futó programokhoz, illetve a számunkra fontos [x11drv] programfüggõ Az X11 használata windowsos alkalmazások használatához: a Wine. Mindannyian ismerjük, vagy legalábbis hallottunk [fonts] igen Betûkészlet-beállítások a VMware-rõl, ami ugyan tökéletesen alkalmas a [serialports] nem A soros kapuk beállításai különbözõ operációs rendszerek és alkalmazásaik [parallelports] nem A párhuzamos kapuk beállításai futtatására, viszont a programokhoz használni kívánt operácis rendszert mindenképp telepíteni kell [spooler] nem A nyomtatási sor beállításait tartal- mazza. Pontosabban azt, hogy az a virtuális vagy valós lemezrészre. egyes kapura küldött adatokkal A Wine nem az egyetlen Windows-emulátor Linux- a program mit kezdjen, például milyen hoz, hiszen létezik még például a Wabi is, de ez mára nyomtatási parancsot hajtson végre. már szinte teljesen háttérbe szorult. Jelenleg a Wine számos windowsos program futtatá- [ports] nem Közvetlen kapuhozzáférés sára alkalmas, erre az egyik legjobb példát a Corel [spy] nem Mit tegyen bizonyos hibaüzeneteknél cég szolgáltatja a Corel Photo-Paint 9 for Linux, [Registry] nem A Windows rendszerleíró beállításai illetve a Corel Office 2000 for Linux programcsoma- gok kiadásával. E két programcsomagban az eredeti [tweak.layout] programfüggõ A Wine külsõ megjelenése windowsos alkalmazást tették futtathatóvá a Wine [programs] nem A Wine indításakor önmûködõen egyedi beállításai segítségével. Az elõbbihez volt lefuttatandó program szerencsém, és véleményem szerint az elsõ indítástól [Console] nem Konzolbeállítások eltekintve – amikor a betûkészletek Wine alóli hasz- nálatához azok adatait adatbázisba gyûjti – a program igen megbízható, a windowsos változathoz képest (általában csupán) A továbbiakban az 1. táblázatban látott részekben megadható kis sebességcsökkenéssel tökéletesen mûködött. beállításokat részletezzük. Igen kényelmes helyzetben vannak azok, akiknek valaki vagy vala- mely cég beállítja a Wine-t, hogy más programok tökéletesen fussa- 1. [Drive X] nak, de sajnos nem ez az általános. Néha nekünk kell módosítgat- Ez a beállítás található a Wine beállításfájl elején. Ez adja meg nunk kézzel a Wine beállításait a beállításfájlban, vagy a CD-mellék- a Wine által használt adattároló-egység nevét, elérési útját és fájl- leten található WineSetupTK nevû grafikus varázsló segítségével. rendszerét. Lássunk erre egy példát: Elõször is lássuk, honnan lehet a Wine-t beszerezni. Szerencsére [Drive C] viszonylag sok helyrõl letölthetjük, hiszen számos tüköroldal létezik, Megadom az eszköz nevét, itt C: lesz. de az alábbi webhelyekrõl szinte biztosan sikerülni fog: "Type" = "hd" http://www.winehq.com Megadom az eszköz típusát, ez a következõ lehet: /floppy (hajlé- http://www.codeweavers.com/wine konylemezhez) /hd (merevlemezhez) /cdrom (CD-ROM-hoz, csak http://www.codeweavers.com/winesetuptk.shtml. olvasható eszközhöz) /network (hálózati vagy különbözõ jogosult- A beállításokat két fájl tartalmazza, ezek a /etc/wine.conf (minden ságú beállításokat tartalmazó könyvtárakhoz). felhasználó ezt alkalmazza, ha nincsenek saját egyedi beállításai), "Path" = "/mnt/win" illetve a ~/.wine/config (a felhasználó egyedi beállításait tartalmazza). Az eszköz elérési útvonala, mely tartalmazza a csatolási könyvtárat. Fontos, hogy az elõbbit csak a rendszergazda szerkesztheti, de min- Lehetséges változó értékének beillesztése is: denki olvashatja, az utóbbit viszont csak a felhasználó szerkesztheti, "Path" = "${HOME}" illetve olvashatja! "Label" = "win" E két fájl felépítése közel azonos (a wine-user.pdf alapján). Ez tetszõleges eszköznév megadását teszi lehetõvé. Használata

88 Linuxvilág Szaktekintély

például CD-ROM esetén célszerû, amikor A „native” a Microsoft Windows DLL-jeit, a 1. az indított program számára fontos a CD 1. „builtin” a Wine-ba beépített DLL-eket, az so elnevezése. a Unix .so fájljainak valós idejû átalakítását, az artva "Device" = "/dev/hda10" elfdll pedig a Wine .so fájljában található Az eszköz /dev könyvtárbeli, neve Windows-barát DLL összeállítását jelenti. a csatolási pont. "Filesystem" = "win95" 4. [DllPairs] A "Filesystem" változóhoz háromféle A DLL-párokat megadó rész használata ugyan fájlrendszer állítható be: nem kötelezõ, de idõnként szükség lehet rá. • Msdos: a csatolt FAT 16-os fájlrendszerek Például akkor, amikor SHELL32-t szeretnénk esetén használható használni egyszerû SHELL-re építve. Az

• Win95: Unix, FAT 32, CD-ROM-okhoz, alábbi beállítás használata minden esetben t. Minden jog fennt egyéb eszközökhöz használható 2. megfelelõ: • Unix: ezt manapság a „Win95” helyettesíti. kernel=kernel32 Fontos megemlítenem, hogy nem feltétlenül gdi=gdi32 szükséges az összes beállítást használni, mivel user=user32 alapértelmezésben a „Win95”-ös beállítást commdlg=comdlg32

tartalmazza, több beállítás pedig bizonyos commctrl=comctl32 © Kiskapu Kf esetekben csupán tájékoztató jellegû (például ver=version a /tmp könyvtár megadása Windows Temp shell=shell32 könyvtárként). lzexpand=lz32 winsock=wsock32 2. [wine] 3. A Wine-modul tulajdonképpen a Windows 5. [DllOverrides] alapkönyvtárának elérési útját, illetve a A beolvasott DLL-csoportok esetenként olyan windowsos környezet egyéb szükséges DLL-eket tartalmazhatnak, amelyek ugyan- beállításait tartalmazza. azokat a DLL-eket olvassák be különbözõ Ebben a részben a [Drive X] megadott esz- helyekrõl. Emiatt meg kell adni azt, hogy közök neveivel is megadhatunk könyvtárakat: melyiket használja a Wine-nal indított prog- "Windows" = "C:\\Windows" ram. Például: A Windows könyvtár helye. "kernel32" = "builtin" "System" = "C:\\Windows\\system" A Windows System könyvtár helye. 6. [x11drv] "Path" = "C:\\Windows; 4. Az utóbbi hónapokban az X11 eszközeinek C:\\Windows\\system; használatában igen gyors fejlõdés tapasz- X:\\;Y:\\" talható. Az alábbi felsorolás a beállításoknak A DOS path parancsához hasonló feladatai csak egy részét tartalmazza. vannak, futás közben a rendszer e könyvtárak- Mennyi a rendszerpalettából használható ban keresi a programokat. színek száma? "Temp" = "X:\\" "AllocSystemColors" = "100" Fontos a Temp könyvtár megadása, hiszen Saját színtérképet használjak? a Windows ide helyezi a létrehozandó ideig- "PrivateColorMap" = "N" lenes fájlokat. Mekkora a használt színmélység a több "GraphicsDriver" = "x11drv" színmélység-beállítású képernyõkön? Az alapértelmezett X11 eszközmeghajtót fogja használni. ScreenDepth = 16 ;ShowDirSymlinks=1 A használt X11 felület neve: A Wine alapértelmezésben nem engedélyezi a Windows-programok Display = :0.0 számára a közvetett könyvtárhivatkozások használatát. A sor kieme- Az ablakkezelõ kezelje a Wine által megjelenített ablakot? lése a beállításfájl szerint, a közvetett hivatkozásokat tartalmazó "Managed" = "Y" könyvtárat használó program összeomlása a fájlrendszer-fa sérü- Az Asztalon futtassa a Wine-ablakot? lését okozhatja, ilyenkor a sérült könyvtár önmagára fog mutatni. Értéke lehet "N", vagy egy felbontás-értékpár ("800x600"). (Tapasztaltam sajnos ezt a hibát, ilyenkor például az MC-ben a "Desktop" = "N" legfelsõ sor a sérült könyvtárat fogja megjeleníteni, és ha belelé- Ha elérhetõ, használja az XFree86 DGA kiterjesztését? pünk, ugyanazt a tartalmat fogjuk látni, mint elõtte. Szerencsére, "UseDGA" = "Y" ahogy beléptem a sérült könyvtárszerkezetbe, ugyanúgy ki is Használja az XShm kiterjesztést, ha az elérhetõ? tudtam lépni belõle.) "UseXShm" = "Y" Engedélyezze a DirectX egérrögzítést? (Az egér mozgása csak 3. [DllDefaults] az ablakra korlátozódik.) Ez a rész a DLL-csoportok alapértelmezett beolvasási sorrendjét "DXGrab" = "N" tartalmazza. Ha az elsõ beállítás nem érhetõ el, akkor a Wine a Kétszeres átmeneti tárral jelenítse meg az ablakot? (Ezt az OpenGL- másodikkal próbálkozik. játékok használják.) "DefaultLoadOrder" = "builtin, so, native, "DesktopDoubleBuffered" = "N" elfdll" ;; XVideoPort = 43

www.linuxvilag.hu 2001. június–július 89 Szaktekintély

felhasználói beállítások. A Wine munka- 6. 7. könyvtárában általában létrehoz egy vagy több .reg fájlt a módosuló rendszerleíró beál- artva lítások tárolására. Az összes ebben a részben szereplõ változó logikai típusú, ezért értékük „igen” esetén Y/y/T/t/1 lehet, „nem” esetén pedig N/n/F/f/0. Alapértelme- zésben az összes beolvasott érték a saját .reg fájlba kerül eltárolásra. A rendszerszintû rendszerleíró fájl a /etc könyvtárban található. A következõ sorok a Registry tartalmát

t. Minden jog fennt Ezt a beállítást akkor használjuk, ha a videoeszköz-beállítás több próbálják meg érthetõbbé tenni: kapucímet is tartalmaz. Beolvassa-e rendszerszintû Registry fájlt? Ha nem adunk meg semmit, akkor a Wine az elsõként megtaláltat "LoadGlobalRegistryFiles" = "N" fogja használni. Beolvassa-e saját Registry fájlomat, ami a ~/.wine/ könyvtárban kerül elhelyezésre? 7. [fonts] "LoadHomeRegistryFiles" = "Y"

© Kiskapu Kf Ezen rész bemutatása összetett feladat, mivel a betûtípusok telepítése Ha a gépünkön van telepített eredeti Windows, akkor lehetõség nyílik nemcsak a Wine-on múlik, hanem a rendelkezésre álló betûkészlet- a rendszerleíró adatainak beolvastatására is. kiszolgálón is. A config fájlban általában két alapbeállítás található: "LoadWindowsRegistryFiles" = "N" "Resolution" = "96" A változásokat a felhasználó saját rendszerleíró fájljába írja vissza? A megjelenített szöveg felbontásáért felel. Értéke 60–120 közötti lehet, 96 az általánosan használt. 7. "Default" = "-adobe-times-" 7. Az alapértelmezett betûtípus megadására szolgál.

8. [serialports] A használt soros kapuk beállítására szolgáló rész, ebben a DOS kapunevet hozzá tudjuk rendelni a linuxos eszköznévhez: "Com1" = "/dev/ttyS0" Érdekesség, hogy például a modemet használó alkalmazások számára megadhatjuk a modem sebességét. "Com3" = "/dev/modem,38400"

9. [parallelports] A használt párhuzamos kapuk beállítására szolgáló rész, itt szintén a DOS alatti neveket tudjuk összekapcsolni a linuxos eszköznevekkel: "Lpt1" = "/dev/lp0"

10. [spooler] A spoolerbeállítás a párhuzamos kapukra érkezõ adatkezelést (Ez a szolgáltatás akkor hasznos, ha a központi rendszerleíró fájlt irányítja. Így például az LPT1-re érkezõ adatokat a Wine az lpr nem akarjuk változtatni. Ilyenkor ugyanis a változások elvesznének, paranccsal fogja kinyomtattatni. de így a felhasználó saját rendszerleírójában tárolódik.) "LPT1:" = "|lpr" "WritetoHomeRegistryFiles" = "Y" "LPT2:" = "|gs -sDEVICE=bj200 A rendszerleírót idõszakosan lementheti a rendszer (a megadott érték -sOutputFile=/tmp/fred -q -" másodpercekben értendõ). "LPT3:" = "/dev/lp3" ; PeriodicSave=600 Csak a módosított kulcsok kerülnek mentésre. Ez azt jelenti, hogy 11. [ports] nem készül „másolat” a Windows vagy rendszerszintû rendszerle- Közvetlen kapuhozzáférés esetén meg kell adni a kapuk címeit íróról, hanem a felhasználó saját Wine-könyvtárában készül egy – külön az írásra és az olvasásra használtakat: kisméretû fájl, amelyben csak a módosított rendszerleírókulcsok ;read=0x779,0x379,0x280-0x2a0 kerülnek tárolásra. ;write=0x779,0x379,0x280-0x2a0 "SaveOnlyUpdatedKeys" = "Y"

12. [spy] 14. [Tweak.Layout] Ez a rész a hivatalos leírás szerint a hibaüzenetek kiíratásához A kiválasztott ablak külsõ megjelenésének beállítására szolgál. szükséges. Három beállítás használható: a Windows 3.1 (ez az alapértelmezett), a Windows 95 és a Windows 98. 13. [registry] "WineLook" = "Win95" A Windows 95-tõl a Registry (Rendszerleíró adatbázis) a Windowsok fontos részévé vált, hiszen felváltva a különbözõ *.ini 15. [Console] fájlokat, a rendszer ebben tárolja a fontosabb beállításokat. Továbbá A konzolt alkalmazó programok számára fontosak az alábbi a hozzá kapcsolódó fájlokban tárolódnak a különbözõ rendszer- és beállítások:

90 Linuxvilág Szaktekintély

Drivers=tty Használandó meghajtóeszköz. A DLL-ek párbeszédablak tartalmaz egy alapbeállítást, ez az esetek XtermProg=nxterm Használandó terminálprogram. igen nagy százalékában mûködõképesnek bizonyult. A betöltött InitialRows=25 A terminál sorainak száma. DLL-ek megváltoztatását azonban csak gyakorlott Windows-felhasz- artva InitialColumns=80 A terminál oszlopainak száma. nálóknak ajánlom. TerminalType=nxterm Termináltípus megadása. A sorrendben következõ Portok párbeszédablakban az eleve kitöltött Fentiek alapján elvégezhetjük a saját ízlésünknek és a futtatandó beállításokat módosíthatjuk. programnak megfelelõ Wine-beállításokat. Ha jobban megnézzük, A Registry párbeszédablakban (6. ábra) a saját rendszerleíró fájl akkor láthatjuk, hogy vannak olyan beállítások, amelyeken kezdõként használatát (beolvasás, írás), illetve a frissített kulcsok beállítását csak igen sok próbálkozás után tudunk átvergõdni és eredményt választottam ki, mivel egyedüli felhasználó vagyok a gépemen, elérni. Szerencsére a WineSetupTk nevû varázsló segítségével és nincs telepített Windows a gépen. mindezt viszonylag gyorsan elvégezhetjük. A beállítások végrehajtása és az Office 97 korong beszerzése után

A következõkben próbáljunk meg az említett programocska által a parancssorban adjuk ki a következõ parancsot: t. Minden jog fennt létrehozott Wine-beállítás segítségével Microsoft Office 97-et wine ./SETUP.EXE telepíteni. Fontos, hogy ne legyen a gépünkön sem FAT-típusú (természetesen számít a kis-, illetve nagybetû). fájlrendszer, sem pedig telepített Windows operációs rendszer. Ha minden jól megy, Office-unk telepítése (7. ábra) hibajelzés Az elsõ lépés a WineSetupTk beszerzése: nélkül zajlik egészen az utolsó pontig, ahol – mivel nincs igazi http://www.codeweavers.com/winesetuptk.shtml. A program user.dat, illetve system.dat fájlunk – a bejelentkezésnél hibát fog

magyarított változata megtalálható a CD-mellékleten. Telepítéséhez, jelezni. Ha van ilyenünk, akkor a hibaüzenet elmarad, de ha ez már © Kiskapu Kf mint ahogy a neve is sugallja, a tcl és a tk programcsomagok mûködõ Windows része volt, akkor annak minden jellemzõjét tartal- telepítése szükséges. A /usr/bin/ws parancs kiadásával indítható. mazza, és ez nekünk sajnos nem felel meg, ugyanis nem rendelke- zünk az összes Windows-eszközzel. 8. Telepítés során válasszuk az egyéni telepítést, és figyeljünk arra, hogy az Access- és a Windows-rendszerhez kapcsolódó elemek az alaprendszer hiánya miatt a késõbbiekben gondot okozhatnak (például Indítópult), ezért ezeket ne telepítsük. A „sikeres” telepítés után már csak el kell indítanunk – például az Excelt – az alábbi paranccsal: cd /home/tothb1/.wine/fake_windows/Program Files/Microsoft Office/Office wine -language hu ./EXCEL.EXE Az elindított Excel (8. ábra) négy hiba kivételével megfelelõen mûködött. Többszöri próbálkozás után az alábbi hibák maradtak meg: • Magyar Office-ról lévén szó, hiányolja a Tahoma betûkészletet, ez azonban a betûkészletek helyes beállításával orvosolható. • A MSCREATE.DIR könyvtárat az Office szerette volna kezelni, de mivel nem engedélyeztem a közvetett könyvtárhivatkozások használatát, ez a hiba minden indításkor felbukkan. • A Fájl/Új dokumentum létrehozása menüpont használatakor az Excel fagyott, viszont ha elindítottam az Excelt, és az önmû- ködõen létrejövõ üres dokumentumot szerkesztettem és mentet- Az elsõ párbeszédablakban be lehet állítani, hova mentse a program tem el, nem volt semmilyen nehézségem. a Wine-beállításokat tartalmazó config fájlt (1. ábra). • A betûkészletek nem igazán mûködõképesek. A következõ ablakban (2. ábra), ha minden rendben zajlott, a prog- ram önmûködõen megtalálja a telepített Windows alapkönyvtárát. Néhány jó tanács Ha ilyen nincs, mint ahogy nálunk sincs, úgy felajánl egyet. Fogad- • A wine-os programokat elsõ indításkor mindig valamilyen juk el és lépjünk tovább! grafikus terminálról indítsuk, így figyelemmel tudjuk kísérni A következõ párbeszédablakban (3. ábra) grafikus környezetben a hibaüzeneteket. találkozhatunk a config fájl tartalmának magyarázata során már • Mindig legyen kéznél valamilyen feladatkezelõ: ha valami esetleg ismertetett beállításokkal. megsérülne, ne okozzon gondot a törlése. Mindenki a telepítendõ programjaitól függõen állíthatja be a megje- Összességében a Wine jó választási lehetõséget kínál azok számára, lenítést. A Megjelenés részben a Windows 95-ös felület használatát akik szeretnének úgy áttérni Linux-rendszerre, hogy mellette régi-régi (a Windows 98-as mód nemigen tér el a Windows 95-tõl) ajánlom, Windows-programjaikat is használni kívánják. Természetesen ez a illetve az Ablak mód beállításnál az Irányított mód-ot (így ugyan- felület nem biztosít százszázalékos biztonságot, ezért kérek mindenkit, úgy tudjuk kezelni az Excel ablakot, mint a szokványos X-es aki telepíti a WineSetupTk programot, figyelmesen olvassa el a leírást. alkalmazásoknál). Az Eszközök-nél (4. ábra) elvileg a program önmûködõen megtalálja Tóth Béla a Windows-könyvtárat és annak beállításait, ha mégsem, akkor ([email protected]) módosítsuk azt. Nõs, két gyermek büszke atyja. Dolgozott föld- Az Útvonalak párbeszédablakban (5. ábra) a Windows operációs mérõként, majd térinformatikus szakmérnöki rendszernek megfelelõ beállításokat találjuk. Ezeket nyugodtan képesítést szerzett. Egyaránt otthonosan mo- elfogadhatjuk és továbbléphetünk. zog a CAD és a térinformatikai programokban, A Megjelenés párbeszédablakban az X11-gyel kapcsolatos beállítások valamint a DOS- és Windows-alkalmazásokban. szerepelnek, ezeket szintén nem kell módosítanunk. Legkedveltebb elfoglaltsága már két és fél éve a Linux.

www.linuxvilag.hu 2001. június–július 91 Szaktekintély

artva PoV-Ray ismeretek (1. rész) Cikksorozatunkban a PoV-Ray sugárkövetõ programot mutatjuk be.

bben a részben áttekintjük a PoV-Ray valamint Machintosh fõbb szolgáltatásait, megismerkedünk felületen .PIC formá- t. Minden jog fennt a legkisebb gépkövetelményekkel, tumban is tárolhatjuk Eelkészítjük az elsõ egyszerû jelenetünket, a képeket. IBM-PC majd összefoglaljuk a kamera és a fényfor- felületen a kiszámolt rások meghatározásának lehetõségeit. képeket 15- és 24- Talán azzal illene kezdenem, hogy mi is bites színmélységben a PoV-Ray. Szabadon használható program, jeleníthetjük meg. © Kiskapu Kf mely igen sok szolgáltatással rendelkezik. Az elkészült képeket Fotószerû képeket készíthetünk a sugárköve- legfeljebb 48-bites tés eljárásának felhasználásával. A PoV-Ray színmélységben a David K. Buck és Aaron A. Collins által tárolhatjuk. készített DKBTrace 2.12-es változatán Mindezek mellett alapul, melyet a szerzõk szabadidejükben a program számos alkottak meg. felületen elérhetõ, A programmal létrehozott jeleneteket szö- köztük Linuxon, vegszerkesztõvel fogjuk elkészíteni, a jele- Amigán, MS-DOS- netleíró nyelv írásmódja hasonló a C nyelv- on, Sun operációs ben megszokottéhoz. Természetesen nem rendszeren, kell mindent kézzel beírnunk, mert számos Windowson és Apple elõre meghatározott alakzattal dolgozha- Machintoshon. tunk, és amit egyszer már megalkottunk, Erõforrásigénye – a  azt a késõbbiekben felhasználási helyén leírás szerint – a mai www.provray.org egyszerûen beilleszthetjük. Alakzatok mel- normákhoz képest lett színállandókat és elõre meghatározott igen szerény, a legnagyobb igényeket Win- mintázatokat is tartalmaz a PoV-Ray-cso- dows alatt futtatva tapasztalhatjuk, de itt is mag, továbbá a program képes kétdimenziós megelégedhetünk 16 MB memóriával és egy képek alapján domborzat megjelenítésére is, 486 DX-es processzorral. Linuxon megelég- ehhez látványos köd-, szivárvány- és atmo- szik 386-os processzorral, 4 MB memóriá-  www.xlcus.co.uk/povray/island/pan.html szférahatásokat alkalmazhatunk. A modellek val és 10 megányi szabad tárhellyel. A gyor- szerkezetét CSG (Constructive Solid sabb futtatáshoz ajánlott Pentium processzor Geometry)-módszerrel is meghatározhatjuk, és 32 MB memória, de természetesen minél ami nagymértékben megkönnyíti a bonyo- nagyobb teljesítményû a gépünk, annál lultabb modellek elkészítését. Ebben az hamarabb várhatunk eredményt. esetben az egyszerû alakzatokból (gömb, Linux alatt a PoV-Ray minden hivatalos kocka, tórusz stb.) logikai mûveletekkel változatnak részét képezi, ha azonban állítjuk elõ a számunkra megfelelõ formát. valakinek mégsem lenne meg, akkor a Ha például egy domború lencsét szeretnénk  http://www.povray.org címen elérheti, meghatározni, akkor ezt úgy is megtehetjük, a Download csoportban letöltheti. Ennyi hogy gömböt metszünk el egy kockával, bevezetõ után lássunk egy a programmal majd az eredményül kapott testet lemásoljuk, készített képet, utána még közelebbrõl és a másolatot szembefordítjuk az eredeti- megismerkedünk a lehetõségekkel.  www.xlcus.co.uk/povray/ vel. Megfelelõ elhelyezés után már készen Elsõ képünk elkészítéséhez tekintsünk át is van a domború lencse. A program lehetõ- néhány alapfogalmat, amelyek megértése ponttól távolodó irányba mutat. séget ad számos egyedi, különleges hatás a további munkához és a példákhoz is elen- A jelenetek elkészítéséhez a Nedit szöveg- létrehozására is, például: tûz, felhõzet, füst, gedhetetlen. Legfontosabb, hogy a PoV-Ray szerkesztõt használtam kitûnõ makrózási valamint poros levegõben láthatóvá váló koordinátarendszerét értsük meg. Ez „bal- lehetõségei következtébne, felhasználva a fénysugár megjelenítése. Mintázatként kezes” koordinátarendszer, az Y tengely lemezmellékleten található elõre elkészített, a sokfajta beépített mintázat (például: már- mutat felfelé. Leginkább úgy szemléltet- dot.nedit fájlban található makrókat is. Ezt vány, leopárd mintázat, bump mapping, hetnénk, ha bal kezünk mutatóujjával az állományt felhasználói könyvtárunkba színátmenet, pepita mintázat) mellett hasz- mutatnánk felfelé és a középsõ-, hüvelykuj- kell bemásolnunk .nedit néven. nálhatunk képeket is. junk segítségével derékszögû koordináta- A következõ lista alapján megérthetjük a A kimeneti fájlformátumok között a követ- rendszert képeznénk. Ilyen helyzetben PoV-Ray jelenetleíró nyelvének alapvetõ kezõk találhatók meg: PNG, TGA és BMP, a Z tengelyt jelképezõ gyûrûsujjunk a nézõ- írásmódját és a jelenet felépítését.

92 Linuxvilág Szaktekintély

1. lista A PoV-Ray alapvetõ írásmódja és a jelenet felépítése artva #include "colors.inc" -z, -20

global_settings pigment { { image_map { gif "gekko.gif" } ambient_light 0.7 scale 15.9 } translate y*-1.5 } // ------Kamera

camera } t. Minden jog fennt { location <0.0, 0.5, -4.0> look_at <0.0, 0.7, 0.0> // ------Egy gomb } sphere {

// ------Fenyforras 0.0, 1 © Kiskapu Kf texture { light_source { pigment { <4,4,-4> radial 1.2*White color_map { } [0.0 rgbt <0, 0.3, 0, 0.2>] [0.5 rgbt <0.2, 0.2, 0.3, 0.2>] // ------Alaplap [1.0 rgbt <0.3,0,0,0.2>] plane { } y, -1 frequency 8 pigment { turbulence 0.9 checker pigment {Black}, } pigment {White} finish { scale <2,2,2> specular 0.6 } ambient 0.6 } } } // ------Hatso fal rotate x*90 plane { }

Amint azt a lista alapján is láthatjuk, használhatjuk a megfelelõ szorzótényezõvel. meg. 180 fokos látószöggel a szokásos hal- a jelenet tartalmaz egy kamerát, ami meg- Például: a <5.2,0,0> vektor egyenértékû szemoptikának megfelelõ hatást érhetünk el, határozza a megjelenítendõ kép értékeit a következõvel: x*5.2. míg 360 foknál minden körülöttünk lévõ (oldalarányait), a nézõpontunkat és a kame- Elsõként vegyük sorra a használható tárgyat láthatunk. Ezen optikával kör vagy rával használt objektív értékeit. Minden objektívtípusokat: ellipszis alakú képet kapunk eredményül. jelenet magába foglal legalább egy fényfor- Perspective Ultra_wide_angle rást, bizonyos esetekben ez megegyezik Ez a klasszikus objektív, amit a fényképezõ- Hasonlít a halszemoptikához azzal a különb- a környezeti szórt fénnyel – ez nem kézzel- gépekben is alkalmazunk. A vízszintes séggel, hogy mindenképpen téglalap (vagy fogható fényforrás, de megvilágítja a jelene- látószöget egyrészt a „direction” vektor és négyzet) alakú képhez jutunk. A látószöget tet. Amennyiben egy jelenetben semmilyen a „right” vektor hosszúságának aránya hatá- szintén az „angle” kulcsszó segítségével fényforrást nem határozunk meg, akkor rozza meg, másrészt az „angle” érték segít- határozhatjuk meg. a PoV-Ray alapértelmezett környezeti meg- ségével is meghatározható. Ez utóbbi hasz- Omnimax világítással számítja ki a képet. nálata egyszerûbb. A látószög értéke 0 és Ez a vetítési mód egy 180 fokos halszem- Most pedig lássuk a kamera meghatározását 180 fok között lehet. optikánál használtnak felel meg, de a víz- és fontosabb értékeinek értelmezését! Orthographic szintes látószög kisebb és nem változtatható Az írásmódot a PoV-Ray leírásában talál- Ebben az esetben párhuzamos vetítést az „angle” kulcsszóval sem. Ilyen képeket ható formában adom meg. Vektort a prog- használunk, a kép oldalarányait pedig az (filmeket) használnak a kupola alakú vetítõ- ramban alakban kell megadni, „right” és az „up” vektorok hosszúságának vászonnal rendelkezõ úgynevezett Omnimax a lebegõpontos és egész értékek megadása aránya szabja meg. Például a klasszikus filmszínházakban. pedig azonos a más programnyelvekben 4:3 arányú megjelenítéshez „up y” és „right Panoramic megszokottal. A programba beépítve talál- 1.33*x” vektorok megadásával juthatunk. Panorámaképek elõállításához használható, hatjuk meg az egységvektorokat mindhárom Fisheye mert kiküszöböli azt a perspektív vetítésnél irányban, tehát ha valamilyen helyet vagy Halszemoptika, gömbszerû vetítéssel. Ez tapasztalható hibát, amit a 180 fokot meg- irányt nem akarunk teljes koordinátákkal a típus is ismerõs a fényképészet területérõl, közelítõ látószögeknél tapasztalunk. Itt szin- megadni, akkor ezeket az egységvektorokat a látószöget az „angle” kulcsszóval adjuk tén alkalmazható az „angle” érték.

www.linuxvilag.hu 2001. június–július 93 Szaktekintély

jük a „direction” és a „look_at” értékek véért adom meg az összefüggést a „right”, használatával. Ennek ellenére ez a két vek- a „direction” vektorok hosszúsága és a tor mégis fontos, mert ezekkel adjuk meg látószög között: artva a kép oldalarányait. Az egyes vetítési típu- soknál más-más értelmezéssel kell számol- látószög= 2 * arctan(0.5 * nunk. Perspektív, panoráma és nagy látó- right_hosszúsága / szögû (ultra_wide_angle) objektív használa- direction_hosszúsága) takor a vektorok meghatározzák a kép arányait és a „direction” vektorral együtt A PoV-Ray képes mélységélesség szimulá- a látószöget is. A „direction” helyett ajánlott lására is, ami azt jelenti, hogy a kamera az „angle” használata. Párhuzamos vetítés fókuszában lévõ terület élesebb lesz, mint

t. Minden jog fennt esetén szintén e két vektor arányának meg- a fókuszon kívül esõ részek. Ennek ponto- felelõ képet kapunk, de itt a „direction” sabb meghatározására alkalmas az „aperture” értékét a program nem veszi figyelembe, (rekesz) kulcsszó: nagyobb értékek esetén mint ahogyan a halszemoptikánál sem. az élesebb terület kisebb lesz, míg kisebb Hengerfelületre való vetítést alkalmazva, rekeszt használva az élesebb terület mérete annak 1-es és 3-as típusánál a henger tenge- megnõ. Az éles terület középpontját

© Kiskapu Kf lyének iránya megegyezik az „up” vektor a „focal_point” (fókuszpont) vektor segítsé- által kijelölt iránnyal, és a 3-as típusnál gével adjuk meg. Ezt célszerû a jelenet fõ ennek a vektornak a hosszúsága meghatá- témájára állítani. Alapértelmezésben a rozza azt is, hogy a tér mely koordinátái PoV-Ray nem számol mélységélességgel, között kell a képet kialakítani. Például „up tehát ezt nekünk kell bekapcsolni az „aperture” 4*y” azt jelenti, hogy csak az y=-2 és y=2 és a „blur_samples” értékek megfelelõ megválasztásával. A „blur_samples” értéke határozza meg azt, hogy az életlen területek elmosásához a program hány környezõ fénysugár átlagát vegye figyelembe. Miután megismerkedtünk a kamera megha- tározásával és használatával, tekintsük át a négy legfontosabb fényforrás általános formáját és a különbözõ értékek használatát. A fényforrás helyét egy vektorral adjuk meg, a színét pedig egy „rgb” kulcsszó után szereplõ három 0-1-ig terjedõ valós értékkel (piros, zöld és kék összetevõk mértéke).

Cylinder Ebben az esetben a jelenetet egy henger felületére képezzük le, a megadott valós érték 1, 2, 3 vagy 4 lehet. 1-es értéknél a hengerfelület függõleges állású, 2-es érték- nél vízszintes, 3-as értékkel szintén függõ- leges irányú felületet adunk meg, de itt a nézõpont helyzete a henger tengelyén mozog, míg a 4-es érték mozgó nézõpontot és vízszintes tengelyû hengert határoz meg. A kamera látószögére vonatkozóan csak a perspektív vetítésnél van megkötés (0–180 fok közé kell esnie). Különleges ha- közötti pontok lesznek láthatók. Ezeknél Például: color tásokat érhetünk el, ha 360 foknál nagyobb a típusoknál minden vetítõsugár merõleges A „shadowless” kulcsszó alkalmazásával látószöget adunk meg, ennek hatására a lesz az y tengelyre. A 2-es és 4-es hengeres az adott fényforrás nem képez árnyékokat. képen a jelenet többször fog megjelenni. vetítési típusnál a hengerfelület tengelye Az „adaptive” kulcsszó után szereplõ egész Hogy pontosan hányszor láthatunk ismétlõ- párhuzamos a „right” vektorral és minden érték a mintatúlvételezést befolyásolja, dést, az a kamera egyéb értékeitõl is függ, vetítõsugár merõleges az x tengelyre. ennek eredményeképpen az éles árnyékok így érdekes lehetõség nyílik az ismerke- Nem szabad elfelejtenünk, hogy a „right”, az elmosódnak. Az 1-es értéknél 4, a 2-es désre, próbálgatásra. „up” és a „direction” vektoroknak egymásra értéknél 9, a 3-as értéknél 25, míg 4-es A kamera helyzetét a „location” kulcsszóval merõlegesnek kell lenniük, hogy elkerüljük értékû mintatúlvételezéssel a program 81 adhatjuk meg, míg a célpont helyét, ahová a torzulásokat. Ha ez a helyzet nem áll fenn, környezõ pont átlagaként fogja meghatá- majd kameránk néz, a „look_at” kulcsszóval. a számítás elindításakor egy figyelmeztetõ rozni egy-egy pont színezetét. Mindkettõ egy-egy vektort vár értékként. üzenetet kapunk. Mivel a fényforrásoknak alapértelmezésben Az „up” és „right” vektorok szerepe több- Az „angle” értéket, mint az a korábbiakból nincsen megjelenési formájuk, szükség lehet nyire az, hogy meghatározzák a kamera is kitûnik, a látószög meghatározásához arra, hogy a fényforrást megfeleltessük irányát, de ezt sokkal könnyebben megtehet- használjuk, így most csak a pontosítás ked- valamilyen tárgynak, vagyis „formába

94 Linuxvilág Szaktekintély

öntsük”. Ilyen eset lehet például térrészt világít meg, a hengeres fényforrás 2. lista A kamera általános egy gyertya lángjának a megjele- fénye henger alakú térrészben érzékelhetõ. nítése. A „looks_like” kulcsszó Az elsõ rész utolsó témájaként egy olyan alakja a fontosabb értékekkel artva pontosan ezt a célt szolgálja, a fényforrást ismertetek, amely egyaránt hasz- camera { megadott objektum a fényforrás nálható nagyobb területek, valamint a kör- [ perspective | orthographic | alakjaként fog megjelenni. nyezeti megvilágítás megvalósítására. fisheye | ultra_wide_angle | Az objektumot elõre kell meg- A környezeti szórt fény kiindulási pontja omnimax | panoramic | határozni és a „no_shadow” nem mindig határozható meg pontosan, cylinder FLOAT ] kulcsszó használatával ki kell elõfordulhat, hogy pontosan ilyen fényfor- location zárni az árnyékot vetõ tárgyak rásra van szükségünk. Itt tehát az look_at közül azért, hogy az objektum „area_light”-ról lesz szó, ennek alapvetõ

right árnyéka ne takarja el a jelenet értékei megegyeznek a spotlámpánál t. Minden jog fennt up többi részét. Erre láthatunk leírtakkal, kivéve a „radius” és a „falloff” direction példát a lemezmellékleten talál- kulcsszavakat, melyek itt nem értelmezhe- right ható tutor1_5.pov fájlban. tõk. Mivel ez a típus téglalap alakú területet angle VALÓS A PoV-Ray alapértelmezésben világít meg, kiegészítésképpen megadható blur_samples VALÓS nem számol azzal a ténnyel, a téglalap oldalainak aránya és a fényforrás

aperture VALÓS hogy a fény szétszóródik két tengelye. © Kiskapu Kf focal_point a ködben és az atmoszférán Ha jobban megfigyeljük az egyes fényfor- } áthaladva veszít erõsségébõl. rások hatására kialakuló árnyékokat, akkor Az „atmospheric_attenuation” észrevesszük, hogy ezzel a típussal érhetünk bekapcsolt állapotában el igazán valósághû árnyékokat, itt ugyanis (atmospheric_attenuation on) már nem jelentkezik a pontszerû fénynél 3. lista A pontszerû fényforrás általános formája azonban ezt a szolgáltatását is tapasztalható éles szélû árnyék. használhatjuk, látványos hatá- Ezzel elérkeztünk sorozatunk elsõ részének light_source { sokat érve el vele. végéhez, remélem, hogy ezzel a rövid íze- A következõ fontos fényforrás lítõvel sikerült felkelteni az érdeklõdést color a spotlámpa. Ez a valóságban e nagyszerû program iránt. A további feje- [ shadowless ] a fényszórónak felel meg. A fen- zetekben tárgyaljuk az alapvetõ testeket, [ adaptive EGESZ ] tieken felül további öt értéke az anyagok és mintázatok alkalmazását, [ looks_like { OBJEKTUM } ] lehet. Meghatározásához a szín az összetettebb alakzatok modellezését, [ atmospheric_attenuation BOOL ] beállítása után meg kell adnunk az animáció lehetõségeit, végül néhány } a „spotlight” kulcsszót, majd hasznos segédeszközt is bemutatok, ame- a fényszóró által állandó erõsség- lyekkel megkönnyíthetjük munkánkat. gel megvilágított szögtartományt A lemezmellékleten található példák segítik a „radius” kulcsszó után. Lehetõ- a fentiek megértését, kiszámoltatásukhoz a ségként használható az is, hogy következõ parancssori értékekkel indítottam 4. lista A fényszóró fényét egy pontra irányítjuk az egyenletes megvilágításon túl a PoV-Ray-t: még hány fokos tartományban #povray -ipéldafájl_neve.pov +wSzélesség light_source { világítson a lámpa. Ezt a „falloff” +hMagasság +L/usr/lib/povray3/include <0,0,0> kulcsszóval és a hozzá tartozó Az utolsó érték (+Lkönyvtárnev) azt az color < rgb 1, 0.5, 0.5 > valós értékkel határozhatjuk meg. elérési utat adja a program tudtára, ahol spotlight A „fade_distance” az egyenletes a beillesztendõ fájlok találhatók. Erre az radius 10 megvilágítás fényforrástól való útvonalra a colors.inc miatt van szükség. falloff 20 távolságára van hatással, vagyis Várom az érdeklõdõk kérdéseit a következõ fade_distance 8 minél nagyobb ez az érték, annál levélcímre  [email protected]. fade_power 1 messzebbre világíthatunk az A listák megtalálhatók a 14. CD-melléklet point_at <1,2,1> erõsség csökkenése nélkül. Magazin/Cikkekhez könyvtárában. } Az erõsség csökkenésének módját adja meg a „fade_power” érték. Ha ez 1, akkor a fény Fábián Zoltán erõssége lineárisan csökken, ([email protected], 5. lista Jól látható a téglalap alakú 2-es értéknél pedig négyzetesen. [email protected]) területet megvilágító fényforrás használata A fényszóró fényét pontosan egy 23 éves, jelenleg pontra irányíthatjuk a „point_at” programozóként light_source { kulcsszó után megadott vektor dolgozik. Szabadidejé- <0,4,-4> segítségével. ben szívesen kirándul, túrázik. 1.2*White Ugyanilyen értékkel használ- Emellett szeret rajzolni, érdekli a 3D area_light x,y,4,4 hatunk henger alakú fénycsóvát grafika és a Linuxszal kapcsolatban fade_distance 5 is a megvilágításra, ekkor a fade_power 1 „spotlight” kulcsszó helyett a minden olyan program és program- } „cylinder”-t kell alkalmaznunk. nyelv, amit még nem ismer vagy Míg a fényszóró kúp alakú nem próbált ki.

www.linuxvilag.hu 2001. június–július 95 .org-figyelõ

artva Figyelem! Lépnünk kell!

os Angelesben élek, ahol még él a Hollywood 10 és a Az LPI jelenleg a második szint tesztjét fejleszti, és máris 200 szak- Blacklist emléke. Még Sundance-napjaimból ismerek számos értõt kérdezett meg. A feladat hosszadalmas és rengeteg idõt vesz olyan írót, akik feketelistára kerültek, és tudom, a HUAC-vel igénybe, de egy megbízható tesztelési alap elkészítése megéri az idõt (L http://www.english.upenn.edu/~afilreis/50s/blacklist.html) kapcso- és az energiát – vélekedik York.

t. Minden jog fennt latos élményeik megkeserítették vagy sokszor megtörték õket. Rend- Az LPI fel tudná használni a Linux-szakértõk segítségét a vizsgázási kívül tehetséges emberek voltak, akiknek életét a „Nagy Hazugság” folyamatban. Olyan emberekre van szükségük, akik el tudnák készí- tette tönkre. teni, le tudnák ellenõrizni, és le tudnák fordítani a második szint kérdé- A Microsoft emberének, Jim Allchin-nak a szavaival ugyan nagyon seit; illetve el tudnák látni az elsõ szint kérdéseinek folyamatos karban- könnyû tréfát ûzni – van is miért viccelõdni ezekkel –, ugyanakkor tartását, hogy azok a mindenkori fejlesztések eredményeit tükrözzék. egyfajta jelzésértékkel is bírnak. Ugyancsak könnyû elutasítani azt Mindemellett segítségre lenne szükségük az anyagiak és a marketing

© Kiskapu Kf a látszólag alaptalan és nevetséges vádat, hogy az ingyenes progra- területén is. Mivel költségvetésük nem tartalmaz marketingkiadásokat, mok nem felelnek meg az amerikai szellemnek, de azt hiszem, nem a minõsítési folyamat résztvevõi csak szóbeszéd útján szereznek tudo- elég kikacagnunk ezt a véleményt. Az a lehetõség is mindig fennáll- mást az LPI-rõl. A cégek oldaláról is meggondolandó kezdeményezés hat, hogy néhány alulmûvelt és meggondolatlan ember szó szerint lenne, ha alkalmazottaik néhány órát az LPI-kezdeményezésnek szen- értelmezi Allchin kijelentéseit, különösen akkor, ha ezek az emberek telnének. További felvilágosítást a  http://www.lpi.org/ oldalra ellá- köztisztviselõi állást töltenek be valahol. togatva, majd a Getting Involved hivatkozásra kattintva találhatunk. A GNU/Linux cégeknek, illetve azoknak a magánszemélyeknek, akiknek szenvedélyük a Linux, hallatniuk kell a hangjukat a Capitol A SIIA Open Source Division találkozót tart San Diegóban Hillen, valamint a helyi és az állami törvényhozásban. A Linux Inter- A Software Information Industry Association (SIIA) San Diegó-i national ( http://www.li.org/) nemrég változtatta meg a saját szabály- éves tanácskozásán megtartotta az Open Source Division szakmai zatát oly módon, hogy így már lehetõséget teremt szakmai csoportok csoport alakuló ülését. A napirenden olyan kérdések szerepeltek, létrehozására és a lobbizásra is. A SIIA ( http://www.siia.net/), mint a nyílt számítástechnikai modell jövõje vagy a szabad progra- a programozói ipar legrégebbi és legnagyobb kereskedelmi társasága mok piaci elfogadottságának növelésére alkalmas eszközök megtár- évi rendes gyûlésén egy Open Source Division találkozót tartott gyalása. Szintén szóba kerültek azok a közérdekû fejlesztések, (errõl bõvebben lásd lentebb) azzal az ötlettel, hogy egy tervezetet amelyek a nyílt forrású programokat fejlesztõ cégeket érintik, vala- hozzanak létre a törvényhozókkal való kapcsolatfelvétel céljából. mint elkészült a jövõbeli lépéseket felvázoló ütemterv is. A RedHat Az olyan könnyû célpontokra tüzelni, mint Allchin, hatalmas sikerél- volt az elsõ olyan szabad forrású programokkal foglalkozó cég, ménnyel járhat, mégis elõvigyázatosan kell viselkednünk, hiszen amely csatlakozott a SIIA-hoz. az olyan szervezetek kereteinek kihasználása, mint például a Linux A SIIA a programozó cégek nemzetközi kereskedelmi szervezete. International vagy a SIIA, közelebbi betekintést enged a dolgokba. A közelmúlt trösztellenes eljárása során a SIIA olyan beadványt nyújtott be, amely a kormány oldalán sorakoztatott fel érveket. Tette A Linux Professional Institute mindezt annak ellenére, hogy a SIIA igazgatóságában a Microsoft A Linux Professional Institute ( http://www.lpi.org/) egy olyan egyik vezetõje is helyet foglalt. A beadvány benyújtását követõen szabványosított, nemzetközi programot tervez, amely alkalmas az a Microsoft néhány napon belül lemondott tagságáról. Ken Walsh, egyéni Linux-tudás mérésére és igazolására. A programok szigorú a SIIA elnöke szerint fontosabb volt a helyes út követése az igazga- teljesítménymérési folyamaton mennek keresztül, így biztosítható, tósági tagok túlnyomó többségének egyetértésével, mint a meghajlás hogy megfeleljenek a Linux-szakértõk, illetve az õket alkalmazó, egyetlen tag akarata elõtt. vagy velük kapcsolatba kerülõ szervezetek elvárásainak. Pillanat- nyilag az elsõ szint érhetõ el, mely az alapvetõ rendszerfelügyeleti Gnome Alapítvány tudást ellenõrzi; jelenleg pedig a második és harmadik szinten dol- A Gnome alapítvány ( http://www.gnome.org/) kiadta a Gnome goznak. Az LPI megõrzi a gyártóktól való függetlenséget, a tesztelés 1.4-es változatát, egy kiforrott, megbízható asztali környezetet. pedig világszerte azonos módon, angol nyelven folyik a Virtual A kiadás nemcsak számos apró díszítõelemet tartalmaz, hanem University Enterprise ( http://www.vue.com/) segítségével. több kiegészítõ csomagot is, köztük az Eazel fájlkezelõ rendszerét, „A Linux Professional Institute fenntartja a vizsgákra való felkészü- a Nautilust. A kiadás nagy elõrelépést jelent a Gnome számára, lési mód szabad megválasztását” – állítja Dan York, az LPI elnöke. amely mind megbízhatóbb, és mind nagyobb teljesítményt nyújt. Honlapjukon megtalálható azoknak az ajánlott könyveknek, képzési A Gnome 1.4-es változatáról a Help fülrõl kiindulva bõséges leírást központoknak és tanfolyamoknak a listája, amelyek segítséget nyújt- található. Nagyszámú tüköroldalról tölthetõ le, melyek listája a Ximian hatnak a felkészülésben. Az LPI a fontosabb gyakorlati ipari szabvá- oldalán ( http://www.ximian.com/desktop/download/.php3) található nyok és pszichometriai alapok segítségével dolgozta ki vizsgáit. Más meg, valamint számos Linux-csomag részeként is elérhetõ. szavakkal élve, egy több mint 1400 embert felölelõ munkahelyi fel- mérésben kérdezte meg a résztvevõk véleményét az elsõ szint tesztjé- Leslie Proctor rõl. A felmérés megpróbálja számba venni azt a tudásanyagot, amelyre ([email protected]) az egyes szakmai szinteken a szakértõknek szükségük van, illetve a .org közösség tevékeny résztvevõje, azokat feladatokat, amelyeket el kell tudniuk végezni. A cél York világszerte több .org-szervezet tanács- szerint az, hogy a valós élet által is igazolható célkitûzéseket hozza- adójaként dolgozott. nak létre. A tesztek jogi védhetõsége úgyszintén fontos kérdést jelent.

96 Linuxvilág Kovácsmûhely

JavaBeans artva

A babok használata a programozók minden rétege számára leegyszerûsíti a JSP-oldalakkal való munkát.

Kovácsmûhely legutóbbi két írásában a Jakarta-Tomcat Nem szokatlan A nyílt forráskódú servlettel és az Apache Software Foun- jelenség, hogy egy t. Minden jog fennt dation által támogatott JavaServer Pages (JSP) motorral JSP-ben egyszerre több babot is felhasználnak, szükség szerint foglalkoztunk. Mint láthattuk, JSP-hez servletet írni nem is olyan tárolva és visszaszedve a különféle tulajdonságokat. Például egy nehéz és nem is annyira idõigényes feladat. Az egyetlen nehézséget hálózati áruház bevásárlókosara használhat egy babot a leltár talán a kiszolgálóoldali Java használatának elsajátítása okozhatja. tárolásához, egy másikat a felhasználó kosarához, és még továbbiakat A servletek ugyan a Java-programokból elérhetõ kifejezõerõ a felhasználó nyelvének követéséhez vagy a fizetés és kiszállítás

és hatékonyság teljes kínálatát nyújtják, de arra kényszerítenek, beállításaihoz. Ezek a babok mind külön Java-osztályok, kezelésüket © Kiskapu Kf hogy viszonylag alacsony szinten gondolkozzunk. Valahányszor azonban különleges JSP-tagok végzik, amelyek a JSP-t író elõl csak egy HTML formátumú szöveget szeretnénk a felhasználó elrejtik sokrétûségüket. böngészõjére küldeni – ami, ugye, meglehetõsen gyakran megesik –, Természetesen a babokat több honlapon (vagy egy honlap több a PrintWriter objektumot kell használnunk, ami a HTTP válasz- részében) is fel lehet használni. Ha egyszer már létrehoztunk egy objektumhoz van rendelve: hasznos JavaBeant, amely érdekes képességekkel bír, mások is könnyedén behelyezhetik azt saját Java-osztály keresési utunkba PrintWriter out = response.getWriter(); (classpath), és máris JSP-bõl élvezhetik ezek elõnyeit. out.println("This is illegal HTML "); Babok készítése A bab létrehozásához elõször írnunk kell egy java.io.Serializable Ebben az esetben a JSP-k siettek a segítségünkre – ezek feltételezik, csatolófelületet megvalósító Java-osztályt, azaz olyan babot készítünk, hogy amit nem végrehajtható kódként jelöltünk, azt egy az egyben amely képes lemezre írni és visszaállítani önmagát. Ha osztályunk kell elküldeni a felhasználó böngészõjére. Ezáltal azonban rögvest mezõi egyszerû Java-típusok, például egészek és karakterláncok, új gond keletkezett: ha például a JSP egy relációs adatbázis-kezelõ- akkor a Serializable megvalósítás nem igazán fontos. höz szeretne csatlakozni, akkor Java-kódsorok tucatjait, esetleg Az 1. lista egy egyszerû babmegvalósítást mutat be. Ez a bab százait szükséges beilleszteni. egyetlen példányváltozót (userID) és két tagfüggvényt tartalmaz. A megoldás az, hogy a JSP-n kívüli kódcsomagokat készítünk, mely- A getUserID tagfüggvény a userID pillanatnyi értékét adja vissza, nek tagfüggvényeit olyan formai követelményekkel hívhatjuk meg, míg a setUserID tagfüggvény e mezõ értékét állítja be. Mivel ezek amelyek inkább hasonlítanak a HTML-re, mint a Javára. Ezek a a tagfüggvények a SSP-kben használatos formátumoknak megfelel- JavaBeansnek nevezett kódcsomagok megkönnyíthetik a JSP-kel való nek, JSP-inkbõl felhasználhatjuk õket. munkát – akár egy magasabb szinten dolgozó, tapasztalt programozó A saját Apache projekt Jakarta-Tomcat servlet, illetve JSP-rendszer számára, akár egy tapasztalatlan programozónak, aki inkább az 3.2-es változatát futtató rendszeremen Java-osztályaimat a alkalmazhatóság elõnyeit szeretné kihasználni. $TOMCAT_HOME/classes könyvtárba kellett elhelyeznem. Ebben a hónapban a JavaBeans birodalmában teszünk egy rövid (A $TOMCAT_HOME egy környezeti változó, amely a Tomcat- körutat. Írunk néhány saját babot, beépítjük õket a JSP-be, és meg- telepítés helyére mutat; saját rendszeremen értéke /usr/java/jakarta- vizsgálunk egy-két ehhez kapcsolódó hibát és csapdát. tomcat-3.2.1/). Ha ez a „classes” könyvtár létezik, akkor hozzáadódik a Tomcat CLASSPATH környezeti változójához, így az új osztályok Mi is az a bab? számára kényelmesen használható helyet hoz létre. A babok létrehozójának szemszögébõl a JavaBeanek bizonyos Az osztály maga igen egyszerû, a különbözõ típusú tagfüggvények feltételeknek megfelelõ Java-osztályok. (Hamarosan megvizsgáljuk, bemutatásához a következõket kell elkészítenünk: mik is pontosan ezek a feltételek.) A JSP-t írók számára viszont a babok olyan különleges tárolóosztályt 1. A bab létrehozóját (constructor), amely nem kap egyetlen értéket jelentenek, amelyekben bizonyos adatokat tárolhatunk, illetve kap- sem, és egy vagy több mezõt állít be. A mi példánkban a SimpleBean hatunk vissza. Az adatok egyes darabjait tulajdonságoknak nevezzük, létrehozó a userID változót állítja az alapértelmezés szerinti nullára. amelyeket külön-külön beállíthatunk, illetve lekérdezhetünk. Ugyan 2. Tulajdonságlekérdezõ tagfüggvényt, amely értéket ad vissza nem minden tulajdonságot lehet lekérdezni vagy beállítani, a babok a hívónak. Akárcsak a bab létrehozója, a tulajdonságlekérdezõ felhasználói felülete JSP-oldalról egységes és könnyen érthetõ. tagfüggvény sem vár értéket. Mivel a babok csak kötött mûveletkészletet fogadnak el, létezik 3. A tulajdonságbeállító tagfüggvényt, amely egyetlen értéket vár néhány különleges JSP-tag, amelyek segítségével használhatjuk (az új értéket), a hívónak azonban nem ad vissza semmit. õket. Ezeknek a tagoknak az alkalmazásával mérsékelhetjük a közvetlenül JSP-be helyezett Java-kód mennyiségét. Ez nem csupán Ne feledjük, a babok ugyanolyan osztályok, mint a legtöbb Java- azt jelenti, hogy csökken a zavar és átláthatóbbá válik a kód, hanem osztály, azaz mielõtt használnánk, újra kell fordítani õket. Továbbá egyúttal a nem programozók számára is lehetõvé teszi, hogy a a Tomcat servlettároló az újrafordított osztályokat nem tölti be babok erejét kihasználják anélkül, hogy meg kellene tanulniuk önmûködõen. A legbiztosabb, ha minden babosztály újrafordítása Javában programozni. után újraindítjuk a Tomcatet is.

www.linuxvilag.hu 2001. június–július 97 Kovácsmûhely

1. lista SimpleBean.java 2. lista use-simple.jsp artva package il.co.lerner; SimpleBean használata import java.util.*; import java.sql.*;

SimpleBean használata

Eredeti érték:

implements java.io.Serializable {

t. Minden jog fennt value="300"/> private int userID;

Új érték:

// ------ // Constructor

© Kiskapu Kf public SimpleBean () { belõle egy példányt. A tag arra is lehetõséget // Beállítjuk a mezõnket nyújt, hogy a példánynak nevet adjunk, amit a késõbbiek során userID = 0; felhasználhatunk. Lássuk például, miképpen tölthetnénk be imént } készített SimpleBean-osztályunkat a JSP-bõl:

// ------

public int getUserID() Amint látható, a tag perjellel (/) végzõdik – követve az XML { írásmódját. Elõfordulhat olyan eset is, amikor jobb szétválasztani return userID; a tagot nyitó és záró } részre; ugyanis ami ilyenkor található a két tag között, csakis akkor hajtódik végre, amikor a bab elõször töltõdik a // ------memóriába. Természetesen az egyszerûsített forma is igen gyakori. // userID tulajdonság megváltoztatása A tag két kötelezõ értékkel bír. A class érték azt a csomagot és osztályt nevezi meg, ahol a babunk található. public void setUserID (int newID) Az id érték a JSP-n belül egyedi nevet rendel a babhoz. Akárcsak { a változónevek esetében, nem árt, ha a babokkal való munkához userID = newID; egyértelmû azonosítókat választunk. Minél inkább magától értetõdõ return; a név, annál könnyebb lesz késõbb nyomon követni a JSP-t. } A babpéldányunkból adatokat elõvarázsolni és beállítani a } és tagokkal tudunk. Mindkét tag egy name értéket vár, amelynek azonosnak kell lennie a korábban beállított id-vel (biztos vagyok benne, hogy meg- A bab használata van az oka, amiért a -ben id tulajdonságot Most, hogy egyszerû babosztályunkat már elkészítettük, lássuk, használunk, míg a tagban name miképpen használhatnánk a JSP-bõl! A JSP három különleges, tulajdonságot, de azért mindenképpen zavarónak tartom). A követ- egyedi tagot ismer fel, amelyek mindig „jsp:” kezdetûek. kezõ taggal tehát visszakaphatjuk az userID tulajdonság értékét: Mielõtt folytatnánk, egy figyelmeztetés: ezek az egyedi tagok, melyek lehetõvé teszik, hogy a JSP-bõl JavaBeanekkel dolgozzunk, meghatározott szabvány, ahol nem mindig kötelezõ lezárni a tagokat, az XML sokkal szigorúbb. Minden nyitó -ot le kell zárni egy Az elõbbi sor egyszerû babunkból letölti a userID tulajdonságot, megfelelõ -gal. Lezáró nélkül az XML értelmezõ- és a JSP-be helyezi. Érdemes megjegyezni, hogy nemcsak egy- hibával kilép. A tag azonban saját magát is lezárhatja, ha a végére szerûen letölti az értéket, hanem egyszersmind láthatóvá is teszi perjelet helyezünk a következõk szerint: . a felhasználó számára. Azt is érdemes megfigyelni, hogy tulajdon- Ez azt jelenti, hogy a JavaBeanst használó a JSP-ben – amely HTML- ságnevünk kis- és nagybetûi kicsit megváltoztak. A babunkban kimenetet készít – két kissé eltérõ írásmódra kell figyelni. Egy idõ után található getUserID tagfüggvény eléréséhez, azaz a userID a két formai követelmény közti váltás teljesen természetessé válik. tulajdonsághoz a tagot kell használnunk. Ráadásul a JSP értelmezõ hibaüzeneteibõl viszonylag könnyû megha- Ez senkit ne tévesszen meg, a tulajdonságnevek nem kis- és tározni, hol felejtettük el kitenni a bezáró perjelet valamelyik JavaBean- nagybetûfüggetlenek; az átalakítás egyszerûen az olvashatóság tagra. Ennek ellenére az írásmódok ilyen keverése a kezdõk számára kedvéért történik. elég õrjítõ lehet, és elsajátításuk során jópár nehézségre van kilátásuk. A tulajdonság értékének megváltoztatásához a A JavaBean-osztályokhoz különleges, formá- tagot használjuk. Ez a tag semmit sem ad tumú tagokat használunk. Ez a tag arról tájékoztatja a JSP-t, hogy ke- vissza, elfogad viszont egy value tulajdonságot, amelynek értéke ressen meg és töltsön be egy adott babot, majd a JSP-nkben készítsen aztán a babosztály megfelelõ tagfüggvényéhez kerül:

98 Linuxvilág Kovácsmûhely

a korábban megadott paraméterekbõl számított értékeket adnák 4. lista calculator.jsp vissza. A 3. lista (mely az ftp://ftp.ssc.com/pub/lj/listings/issue86 címen is elérhetõ) egy ilyen, a fentieket bemutató egyszerû babot artva tartalmaz Calculate.java néven. Calculator Mivel setSum tulajdonság nem létezik, a JSP-motor a sum tulajdon- ságra nem fogja engedélyezni a meghí- azt is, hogy bármelyik tulajdonságot lekérdezzük. Most hogy van egy mûködõ babunk, akár fel is használhatjuk a JSP alól. A calculator.jsp forrását a 4. lista tartalmazza, ahol néhány

Egyszerû számológép

alapmûveletet végzünk az imént készített JavaBeannel.

A calculator.jsp elsõ és legérdekesebb része az a mód, ahogy t. Minden jog fennt

arg1 legyen .

Megszokott helyzetben fognánk az egyik GET vagy POST tagfügg-

arg2 legyen .

tulajdonsághoz rendelnénk:

Összeg:

parameter="foo" property="arg1"/>

Hányados: Más szóval: a fenti tag fogadja a foo értéket és ezzel meghívja <% try { %> a calculator-bab setArg1 eljárását. Amikor viszont csillagot hasz- hogy az összes megkapott értékre szükségünk van, és mindegyiket <% } catch (Exception e) { %> ugyanolyan nevû tulajdonsághoz szeretnénk rendelni. Így az arg1 Hiba! Osztás nullával érték az arg1 tulajdonságba kerül és így tovább. <% } %> Az én rendszeremen, ahol a calculator.jsp-t az examples/jsp címre

helyeztem, a következõ URL segítségével rendelhetem az arg1-hez az ötös értéket és az arg2-höz a húszas értéket:

Különbség:

futásidejû hibát idézhetek elõ, például a következõ URL átadásával: „http://localhost/examples/jsp/calculator.jsp?arg1=5&arg2=20.0”. A JSP-motor megpróbálja hozzárendelni a 20,0 (ez egy lebegõ- pontos szám) értéket az arg2 paraméterhez (amely egész szám), és kudarcot vall. Ha el szeretnénk kerülni a futásidejû hibákat, például közrezárhatjuk a és tagjainkat rást. A következõ kód például szavatolja, hogy soha nem kell foglalkoz- nunk a nullával osztás kivétellel, amikor a getQuotient-et használjuk: A 2. lista egy teljes a JSP-t tartalmaz, amely bemutatja, miként használhatjuk JSP-bõl a SimpleBean-osztályt. Elõször megjeleníti

Négyzetgyök: a userID tulajdonság alapértelmezett értékét, majd új értéket rendel <% try { %> a tulajdonsághoz, végül ezt az újat szintén megjeleníti. Értékek és tulajdonságok <% } catch (Exception e) { %> Nyilvánvaló, hogy általános gyakorlat a tulajdonságokat a bab példány- Hiba! osztás nullával változóiban tárolni, ahogyan azt mi is tettük a SimpleBean-osztály <% } %> esetében. Ilyenkor a meghívása tulajdonkép-

pen a mezõ értékét állítja be, míg a a pilla- natnyi értékét adja vissza. Természetesen a tulajdonságoknak nem köte- Ugyanakkor ez a kódolási mód Javát visz a JSP-be, és pontosan ezt lezõ mezõkhöz kötõdniük, ugyanígy tárolhatók és lekérdezhetõk egy szerettük volna elkerülni, ezért is kezdtünk a babokkal foglalkozni. relációs adatbázis-kezelõbõl. Amikor egy tulajdonságot lekérdezünk, Az, hogy nem programozó társaink képesek-e kezelni az effajta az is megoldható, hogy a visszatérési értéket valós idõben számítsuk ki, kódot, nagymértékben függ a környezetünktõl, illetve attól hogy ahelyett hogy egyszerûen csak kiolvasnánk egy példányváltozóból. milyen típusú babokat készítettünk. Képzeljük el, például milyen könnyedén készíthetnénk egyszerû matematikai mûveleteket végzõ babot! Beállíthatnánk két írható, A babok hatóköre (scope) illetve olvasható tulajdonságot (nevezzük õket arg1-nek és arg2-nek), Amint az a múlt hónapban kiderült, a servlettároló egy idõben min- majd létrehozhatnánk számos csak olvasható tulajdonságot, amelyek den servletrõl csak egyetlen másolatot tölt a memóriába. Ez azonban

www.linuxvilag.hu 2001. június–július 99 Kovácsmûhely

JSP természetesen jó, de meglehetõsen nehézkes, bonyolult a 6. lista viewblog.jsp nyomon követése, és a kódtól a logikát nem választja szét olyan választékosan, mint ahogyan azt elvárhatnánk. artva Ha az adatbázis-logikát JavaBeanbe helyezzük, célkitûzéseink Web-napló közül elérhetünk néhányat: a kód újrafelhasználható, akár a nem programozók számára is elérhetõ lesz, és lehetõvé teszi, hogy hogy ehhez újra kelljen írnunk a JSP-t. Az 5. lista (elérhetõ a  ftp://ftp.ssc.com/pub/lj/listings/issue86 címen) tartalmazza babunk forráskódját, amelyet szálbiztossá is tettem

Aktuális Web-napló tartalom

(a synchronized kulcsszó felhasználásával a getBlog tagfügg-

t. Minden jog fennt vényben), így alkalmazásszinten elegendõ egyetlen példányt

készítenünk. Ez a JavaBean hozzákapcsolódik a webnapló-adat- bázishoz és lekérdezi a legfrissebb adatokat. A 6. lista egy kis JSP-
t tartalmaz, amely JavaBean segítségével jeleníti meg a webnaplót. Tulajdonképpen semmi különleges nincs az 5. listában, viszont számos olyan dolgot egyesít magában, amelyeket az elmúlt pár

© Kiskapu Kf hónapban megvitattunk. Immár rendelkezünk egy olyan módszerrel, amellyel mindenki képes webnaplónk adataihoz hozzáférni anélkül, hogy egyetlen sor kódot is kellene írnia! Néhány egyszerû JSP-taggal nem okoz gondot, mivel a Java többszálú, és egy adott servletnek a jelenlegi blog-tartalmat könnyen és egyszerûen behelyezhetjük a lehetõsége van egyszerre több HTTP-kérelemmel is foglalkozni. HTML-lapba. Mivel a JSP-k tulajdonképpen álruhás servletek, ugyanígy rájuk is vonatkozik a többszálas futtathatóság. Összegzés Felmerül a kérdés, mi történik JavaBeanjeinkkel: hányszor töltõdnek A JavaBean-babok nagyszerûek: a JSP-be kerülõ kódmennyiség be, mekkora a hatókörük (scope). Ha a JSP egy olyan tulajdonságot csökkentése végett helyezzük a lapba, mellyel egyúttal a használatát állít be, amely az osztály mezõit módosítaná, hatással van-e ez is egyszerûsítjük. Ugyanakkor egy összetett JSP még mindig ugyanennek a babnak a többi példányára is? tartalmaz valamennyi kódot: ha például a ciklusokban kell ismételni A válasz: attól függ. A babok elérési területeinek négy fajtáját valamit, vagy összetett adatokkal kell dolgozni. különböztethetjük meg, és a választott elérés típusa alapjaiban A következõ hónapban megtudjuk, miként írhatunk saját – az e havi- meghatározza a felhasznált bab viselkedését. Az alkalmazásszintû hoz hasonló – jsp: tagokat a JSP testreszabott eljáráskezelõ képes- hatókör (Application scope) egyetlen másolatot jelent a babból ségének kihasználásával. Így elkészíthetjük a saját tagjainkat, minden, a servlettárolóban futó JSP-hez. A folyamatszintû (Session melyekhez olyan kódot rendelhetünk, amilyet csak akarunk. A JSP scope) a felhasználóhoz rendelt – attól a pillanattól kezdve, hogy lehetõvé teszi, hogy felépítsük saját formátumnyelvünket és emellett belépett a honlapra, addig a percig, amíg ki nem lép onnan. Ha az eddig elérhetõ tagokat is felhasználhassuk. a felhasználó két böngészõablakot nyit a rendszerre, azok azonos folyamatnak minõsülnek. A kérelemelérési szint (Request scope) Reuven M. Lerner a HTTP-kérelem végéig tart. Ez olyankor hasznos, ha az egyik ([email protected]) kisebb, webes és JSP-ben szeretnénk beállítani a bab tulajdonságát, majd a internetes módszerekkel foglalkozó tanács- taggal belsõ átirányítást hajtunk végre egy adó cég tulajdonosa és vezetõje. A cikk másik JSP-re, s ebben a második JSP-ben szeretnénk a babot megjelenésének idõpontjában valószínûleg felhasználni. Végül a lapelérési szint (Page scope) egyetlen JSP- már végleg elkészült Core Perl címû lapra vonatkozik. Amikor a lap feldolgozásra kerül, az elérhetõség könyvével, melyet idén jelentet meg a Prentice-Hall. Az ATF is megszûnik. honlapon érhetõ el ( http://www.lerner.co.il/atf/). Alapértelmezés szerint a babok a folyamatszintû hatókörrel futnak. Ennek megváltoztatásához a scope-értéket kell a -be helyezni: Kapcsolódó címek Az Apache Software Foundation Jakarta-Tomcat Java servletekkel és JSP-kel foglalkozó projektje a  Ha egyszer végrehajtottuk a fentieket, az egyik JSP beállította érté- http://jakarta.apache.org/ címen érhetõ el. Errõl a címrõl kek az összes többiben is elérhetõk lesznek. Természetesen – mivel letölthetjük a forráskódot, a binárisokat, a leírást, valamint az alkalmazás- és kiszolgálószintet egy idõben több JSP is elérheti – a telepítéshez szükséges utasításokat, illetve a teljesít- szálbiztosnak kell lennie. mény növelését segítõ ötleteket. Gondoljunk rá, milyen elérhetõségû lesz a babunk és ha szükséges,  http://jakarta.apache.org/tomcat/jakarta-tomcat/src/doc/ tegyük szálbiztossá. Ha a bab nem szálbiztos, mindenképpen jelezzük mod_jk-howto.html ezt a leírásban, nehogy mások véletlenül hibásan használják fel. Hans Bergsten, az O'Reilly and Associates által közelmúlt- Webnapló ban kiadott JavaServer Pages igen kitûnõ forrásmunka azok számára, akik JSP-oldalakat szeretnének készíteni. Az elmúlt hónapban folytattuk egyszerû vizsgálódásunkat a JSP-  vezérelt webnaplók terén, melyek közvetlenül értek el relációs adat- http://www.oreilly.com bázisokat a legutóbbi webnaplóbejegyzés lekéréséhez. Bár az ilyen

100 Linuxvilág Pihentetõ

Heroes of Might and Magic III Linuxra artva

égebben mindenki a körökre osztott stratégiai játékokért meghódítanak; a nyersanyagforrásokkal, melyeket elfoglalnak; bolondult, de manapság úgy tûnik, hogy ebben a lövöldözõs a földekkel, melyeket felderítenek; a hadseregekkel és a kincsekkel, és valós idejû stratégiai játékokkal zsúfolt világban vesztet- melyeket találnak. A hõseid által teljesítendõ küldetések általános Rtek a népszerûségükbõl. A 3DO cég Heroes of Might and Magic III: D&D stílusú célok (például Öld meg az arany sárkánykirálynõt!

Restoration of Erathia címû játékának Loki által Linuxon megjelen- Leld meg a Grált, mielõtt az ellenségeid találnák meg!), és ahogy t. Minden jog fennt tetett változata nagy hévvel fogott hozzá e hiba kiküszöböléséhez egy szereplõid fejlõdnek és egyre érettebbé válnak, úgy gyarapítják olyan játékban, amelynek függõséget okozó jellemzõi – a szó szoros tapasztalataikat, új erõiket, ügyességüket, tudásukat és harcosaik értelmében – annyira rabul ejthet- számát, akiket csatába visznek. nek, míg a csuklód görcsös A játék mérete homéroszi, bár remegésben nem tör ki, vagy míg választhatsz rövidebb egyjátékos

a szemed üvegessé nem válik. módot, ha azonban nem vigyázol, © Kiskapu Kf Azt gondolom, ha káros szenvedé- gyakran még a középméretû lyekre hajló személyiséged van, kalandok is eltartanak egy órács- ha egy háztartásban élsz valakivel, káig. A karaktereid fejlõdnek aki szeretne szót váltani veled és érettebbé válnak a hosszú a következõ pár nap folyamán, célközpontú játékok sorozatában, ha nem hiszed, hogy a fõnököd hogy elérjék a végsõ gyõzelmet, elfogadná a „most nem tudok ami számos nappalt és éjszakát beszélni, játszom…”-ot érvényes is igénybe vehet. igazolásként a kivett betegszabad- ságra – kétszer is gondold meg, A játék menete mielõtt leülsz játszani a Heroes Ahogy már az elõbb említettem, III-mal. A helyzet az, hogy a játék a Heroes III körökre osztott játék, körökre osztottsága – ami a felszí- minden forduló egy erathiai nen olyan jóindulatúnak látszik napig tart. Ez olyan nap, amely- gyorsléptû rokonaival összehason- ben irányíthatod a hõseidet lítva – kimossa az ép elmédet, és Adatok (küzdelem, mozgás, tanulás, langymeleg mocsárba húz. Azon tanítás, felfedezés, nyersanyag- kezdesz gondolkodni, hogy már Gyártó: Loki Entertainment Software források megszerzése stb.) csak pár körre van szükséged E-mail: [email protected] és az uralmad alatt álló városok ahhoz, hogy felkészítsd magad egy Cím:  http://www.lokigames.com/ tevékenységét (új épületek másik kisebbfajta gyõzelemre építése, új harcosok vagy hõsök a harcmezõn, vagy fontos elõnyhöz toborzása, áruk, varázstárgyak juss, ami új távlatokat nyit elõtted. Új stratégiát, és ez természetesen adásvétele stb.). Ha elvégezted napi teendõidet, befejezed a kört, megint csak arra serkent, hogy elhidd, már csupán néhány kör szüksé- és addig vársz, amíg az ellenfél is befejezi (a számítógép által geltetik ahhoz, hogy felkészülj valami másra; beszippant ez az ördögi irányított ellenfeleknek ehhez mindössze néhány másodpercre kör, ahogy erõnek erejével hajszolod magad a gyõzelem felé (vagy van szükségük), majd kezdõdnek a következõ napi események. amíg teljes végkimerülésedben elalszol). A Heroes III a stratégia, Mindegyik városban a harcosok csak hetente egyszer toboroz- a kockázat, a taktika és a szerencse játéka; a Dungeons and Dragons, hatók, így ha hétfõn elmész kalandozni és elveszted katonáid a Chess, a SimCity és a Warcraft legjobb elemeinek elegye, mesteri nagy részét, csak remélheted, hogy a maradékkal fel tudod tartani módon vegyítve egy olyan RPG-be, amelyben rettenetes hadseregek a támadókat a hét végéig. vezetõje lehetsz, és amelyben természetfölötti lények küzdenek Ha azt mondod, hogy a játékmenet bonyolultnak látszik, igazad varázslók, harcosok és boszorkányok (vagy még rosszabbak) ellen. van, tényleg az. A tanulókör meglehetõsen túlzó és mélyreható pillantást enged a játék minden részletébe, a mellékelt 133 oldalas A történet felhasználói kézikönyv pedig komoly tanulmányozást igényel. A Heroes of Might and Magic III a legutóbbi folytatás a Might A CD-n található 12 oldalas PDF formátumú oktatókönyv és and Magic játékok világának hõskölteményében, és ott veszi fel a játékba épített oktatóküldetés végigjátszása csupán 45 percet a fonalat, ahol a Heroes II – a kilencedik cím a mondában – befeje- igényel. Miután elsajátítottuk a játék alapvetõ szolgáltatásainak zõdött. Most Erathia világrészén (ahol a mészárlás és hódítás módfelett tömör parancsait, valamint elég megbízhatóan tudjuk bonyolult története tárul fel elõtted) szerepelsz Catherine Ironfist már kezelni a játék szerkezetét, belevethetjük magunkat az igazi szerepében, aki arra törekszik, hogy kinyomozza apja halálát, és játékba és megtanulhatjuk a sajátos jellemzõket. Tény, a játék visszaállítsa Erathia hajdani dicsõségét. A történet természetesen összetettsége ellenére kezelõfelülete elég érthetõ ahhoz, hogy sok elbeszélõ filmjeleneteken és képbevágásokon keresztül tárul fel, játékos barátságosnak találja és kipróbálja az oktatójátékot, majd pár hogy könnyen követhetõ formában elmagyarázza az új helyzetet. perc alatt a válogatott vezérlõelemek között kotorászva eleget Az alapvetõ elgondolás szerint te rendelkezel a Hõsök csapatával, tanuljon ahhoz, hogy a jó úton járónak érezze magát és lejátsszon a játék fõ karaktereivel, valamint a településekkel, melyeket egy rövid, aránylag könnyû küldetést. Mi több, a fejlesztõk,

www.linuxvilag.hu 2001. június–július 101 Pihentetõ

tekintetbe véve a játék bonyolultságát, bõséges szöveges segítséget 128 különbözõ hõssel harcolhatsz, ezek mindegyike egyedi jellem- állítottak össze. Tulajdonképpen a játékban bármely helyen egy jobb vonásokkal bír, erõsséggekkel és gyengékkel egyaránt. Ezek a hõsök egérgombkattintás beugró ablakot eredményez, ami szabatosan, vezetik a haderõdet, seregeikkel felkutatják a területeket, megszerzik artva bõ részletességgel írja le az egérmutató alatt lévõ területet, ikont. a birodalom számára szükséges nyersanyagforrásokat, és megvédik A játékmenet az irányításod alatt álló hõsöket és a városokat a független területeket a betolakodóktól. A hõsök közvetlenül nem helyezi a középpontba. A hõsök felelõsek azért, hogy felderítsék vesznek részt a csatákban, de különbözõ varázslataikkal, tudásukkal a területeket a városok körül, és néhány varázstárgyat megtaláljanak és tapasztalataikkal hathatós segítséget nyújtanak az irányításuk alatt a csaknem 130-félébõl; olyan nyersanyaglelõhelyeket kutassanak álló katonáknak. A csata körökre osztott küzdelem során zajlik, fel, mint például a bányák és egyéb, a városok számára bevételfor- rást jelentõ telepek. Ezenkívül meg kell védeniük a városokat a támadásoktól, továbbá hogy növelni tudják a birtokukat, új váro-

t. Minden jog fennt sokat kell meghódítaniuk és meg kell küzdeniük más hõsökkel. Az általad felkutatott nyersanyagforrások kiaknázásából aranypénz- hez juthatsz, segítségével épületeket építhetsz, hõsöket és harco- © Kiskapu Kf

2. kép Egy Erõd kezdeti állapotban

1. kép A Birodalom felderítése

sokat toborozhatsz. A harcosok értékes szolgálatot nyújtanak hõseid számára: azon serénykednek, hogy a katonák és a lények összes módszerével megtisztított terepen hõseid minél jobban fel tudják javítani a seregüket. Nyolc különféle típusú, több mint egy tucat különbözõ épületbõl álló város van. Az épületek tulajdonságai annak a városnak a típusára jellemzõk, amelyben megtalálhatók: például a Kastély típusú város- ban olyan épületek találhatók, mint az õrház (ahol dárdás katonákat lehet toborozni), a kolostor, a kiképzõtér (a lovasok kedvenc búvó- helye), és a természetfeletti építmény, mint a szent Dicsõség Bejá- rata, ahol a roppant erõs Arkangyalok toborozhatók – meglehetõsen borsos áron. Az ellentétes oldalt a Pokol típusú város képviseli, ahol 3. kép Csata olyan baljóslatú építmények építhetõk, mint a tûztó, a természetfeletti Efreetek lakhelye, illetõleg kennel a Pokol Kutyáinak. Itt nyílik hatszögletû rácsokra tagolt harcmezõn, ahogy a 3. képen is látható. lehetõség a halálos Cerberus toborzására, sõt itt található az Elhagya- A harcok során mindkét fél felváltva léphet az egyik fél gyõzelméig. tott Kastély, ahonnan az Ördögök hívhatók hadsereged szolgálatába. Háromféle diadalt arathatunk: az egyik fél teljes gyõzelme során Más városok adnak otthont a varázslóknak és dzsinneknek, a Pega- megsemmisíti az ellen egész seregét, vagy az egyik fél megadja zusnak és a törpéknek, sõt a sárkányoknak és az emberevõ óriások- magát, vagy pedig visszavonul. Visszavonulás esetén a hõs ugyan nak. Összesen 118 különbözõ fajtájú lény áll rendelkezésedre, megszégyenülten elfut, de késõbb újra toborozható lesz, és tovább mindegyikük saját különleges támadási jellemzõkkel és vonásokkal szolgálhatja a seregedet. Megadás esetén azonban túl nagy a szégyen, bír. E jellegzetességek segítségével játszhatnak különbözõ taktikai és a hõs soha többé nem tér vissza. A csata megnyerésekor a hõs szerepeket a csatatéren, a távolról végzett támadásoktól a közel- úgynevezett tapasztalatpontokat kap, melyek segítségével az érettség harcig. Minden épületnek; szerkezetétõl függõen, meghatározott új szintjére léphet – több tudást és tapasztalatot szerezhet. Ezek költsége van, és néhány szereplõ, illetve épület nyersanyagokkal segítségére lehetnek a csatában vagy a felfedezésben: taktikai szakér- és különbözõ eszközökkel szolgálhat. Például a kovács fegyvereket telemmel a csata megkezdése elõtt gyõzelemesélyesen helyezheti el állít elõ; a könyvtárak a belátogató hõsök tudását gyarapíthatják, a katonákat a harcmezõn; navigációs tudás birtokában egy nap alatt a mágustornyokban a betérõ hõsök varázslatokat és varázsigéket messzebbre tud hajózni; diplomáciai készséggel elcsábíthat másokat, sajátíthatnak el; az új hõsök mindig a helyi kocsmákban lebzselnek, hogy csatlakozzanak a seregéhez és így tovább. Erõddel körülvett arra várva, hogy felbéreld õket a királyság seregeinek vezetésére. város ostromlásakor különleges ostromképernyõ tárul elénk, ahol

102 Linuxvilág Pihentetõ

a támadó hadsereg katapultokkal is bombázhatja a város falait. nagyon hosszú partikat. Ez a bíráló vélemény az egyetlen rossz pont A Heroes III-ban a grafika csodálatosan részletes, színes és összetett. a Heroes III-ban, az a terület, amit a 3DO komolyan elhanyagolt. A különbözõ kezelõfelületek érthetõk és kézre állók, nagy részüket artva szerencsére az elbûvölten ülõ játékos ki is tudja használni. A hangha- Linuxos megjegyzések tások és a háttérzene terén a Heroes III valóban kiváló; a zene úgy Egy Matrox G400-as alapú, 500 MHz-es PIII-as processzorral szerelt változik, hogy mindig illeszkedjék a játék hangulatához. Fedezd fel rendszeren kipróbálva hibátlanul teljesített. Sejtésem szerint jól mû- a királyságot – klasszikus szimfóniát és erõteljes, szárnyaló zenét ködne egy sokkal gyengébb gépen is, mivel nem igényel 3D-támo- fogsz hallani. Menj csatába – és a muzsika sejtelmessé, várakozással gatást, és a csaták, illetve a mozgások nem számításigényesek. A Loki telivé válik. Vágtass be egy kastélyba, s Arthur korabeli csemballó legkisebb gépkövetelményként 32 MB-os, 133 MHz-es vasat jelölt hangja csendül fel. Menj le a földalatti várbörtönbe és hátborzongató, meg. Szükséged lesz még egy OSS-meg- mély oboával és templomi haranggal fûszerezett dallam hallatszik. felelõ hangkártyára, valamint egy X-kiszol- Elõnyök A zene sokat emel a játék hangulatán, soha nem tûnik unalmasnak gálóra, ami meg tud jeleníteni 800x600 t. Minden jog fennt vagy ismétlõdõnek. felbontást 16 bit színmélységben. A játék • A legjobb körökre telepítése nagymértékben testre szabható, osztott stratégiai mivel a telepítõprogram megengedi, hogy játék közel s távol • elkülönítsd a fõ összetevõket, és a forgató- Változatos hadjáratok könyvek, hangok, zenék, grafikák és videók és játéktípusok • Kiváló grafika és zene egy része a CD-n maradjon, ha akarod. © Kiskapu Kf Ezáltal 5 MB-tól 350 MB-ig terjedhet az igényelt merevlemez-terület. Attól függõen, mennyi adatot hagytál a CD-n, szükséged lesz egy legalább 4x-es sebességû CD-ROM- meghajtóra is; a videókat lassú meghajtóról futtatva csúnya szaggatottság jelentkezhet. Természetesen a Loki legalább 2.2-es vagy újabb rendszert javasol. Kisebb gondok vannak az alapértelmezett Hátrányok telepítéssel. Például a Loki által kiadott vál- • Többjátékos tozat nem tudja alapértelmezetten a teljes üzemmód korlátozott képernyõs módot. Bár a Loki frissítésfoltja • Bonyolult játékmenet körülbelül csak egy megabájt, számos apró • A hosszú játékidõ 4. kép A fantasyjátékok õse ismét a kezünkben Linux alatt hibát kijavít, beleértve a teljes képernyõs egyeseknek nem hibát is; ajánlatos az alapértelmezett telepí- tetszik tés után lefuttatni, még a játék megkezdése elõtt. Érdekességképpen: ez a folt tartalmazza az Aalibet (ASCII Art Library) – amely feltételezhetõen a hûséges, de kétségbeesett Heroes III játékosoknak nyújt segítséget abban, hogy X nélkül futtassák a játékot konzolról, nagyszerû ASCII megjelení- téssel. Ráadásul a Loki a Heroes III térképszerkesztõjének béta- változatát is kínálja, mellyel saját Heroes III kalandokat szerkeszt- hetsz. A 17 MB-os ingyenes demováltozat letölthetõ a Loki weblap- járól  http://www.lokigames.com/.

Összegzés Szerintem ez a játék tökéletes: körökre osztott stratégia annak minden finomságával. A kezelõfelület letisztult, sõt, ha ezelõtt még soha nem játszottál RPG-típusú játékkal, a kiváló szakmai munka, a figyelem és a részletesség magas színvonala miatt – ami az egész játékon érezhetõ 5. kép A játék kiválasztása – elsõ látásra minden magától értetõdõnek tûnik. Bár a játék meglehe- tõsen összetett, rendkívül gyorsan elsajátítható. A Heroes III olyan A többjátékos mód a körökre osztott stratégiai játékok egyik legjobb darab, amivel leülsz játszogatni és csak nyolc órával késõbb fogod része, de a Heroes III-nak ez az üzemmódja sajnos a múltat idézi. abbahagyni, mert aludnod is muszáj valamennyit. Az összes korosz- Mialatt TCP/IP-alapú játékra lehetõség van a játékban, nincs tályú pingvinnek ajánlom. megfelelõ módszer arra, hogy csatlakozz valamely típusú közpon- tosított, állandóan elérhetõ közösséghez. Meg kell keresned vala- milyen módszerrel a Heores III játékkiszolgáló IP-címét és közvet- J. Neil Doane lenül kell kapcsolódni hozzá. Választásként játszhattok „forró szék” ([email protected]) a VA Linux Systems játékot: aki a székben ül, lép, majd átadja a helyét és a következõ mérnöke. Ha gép- és videojáték-hóbortja játékost engedi játszani. Nem nyílik lehetõség levelezõjátékra, mint engedi, szívesen vezet repülõt, emellett oly sok más körökre osztott játékban. E szokás szerint az elmentett gitározik és újabban hódeszkázik is „forró ülés” fájlokat kicserélik egymás között, és így játszanak (ez utóbbiban még igencsak gyengécske).

www.linuxvilag.hu 2001. június–július 103 Mustra

artva Kylix Hatékony alkalmazásfejlesztés Linuxon

Borland cég Kylix rendszere-a nagy sikerû Delphi Linuxra PDF formátumban is megtalálhatók. Véleményem szerint ezeknek, átírt változata. Anyanyelve az object pascal, amely valamint a Súgórendszernek (2. kép) és az elemek forráskódjának

t. Minden jog fennt a Pascal objektumközpontú továbbfejlesztett változata. birtokában bármely fejlesztés közben felmerülõ gond orvosolható. A nyelv formai követelményeinek köszönhetõen nagyon jól használ- Nálam a rendszer elsõ indításakor egy Generating font matrix. Please ható összetett objektumszerkezetek kezelésére (például objektumok wait… feliratú párbeszédablak jelent meg és valami megette a teljes többszintû egymásba ágyazására), és ugyanezen okból könnyû ezen processzoridõt. Egy darabig bírtam cérnával, aztán mivel úgyis fontos jól áttekinthetõ programkódot írni. A rendszer a QT grafikus könyv- söröznivalóm volt, otthagytam. Mivel visszatértemkor még mindig tár alapjaira épült. Mind a fejlesztõeszköz, mind az általa fejlesztett dolgozott, kezdtem gyanút fogni… Az strace segítségével hamar

© Kiskapu Kf programok szervesen illeszkednek a KDE ablakkezelõ-rendszer kiderült, hogy végtelen ciklusban kering, így lezártam az ablakot. felületébe, de természetesen nem csak KDE alatt futtathatók. A rend- A hiba okát feltehetõleg a saját beszerzésû betûkészletek jelentették. szernek három változata kapható. Az ügyféloldali alkalmazásfejlesz- Az ablak lezárása után a Kylix hibátlanul elindult. Azóta telepítettem tõknek szánt Desktop Developer, a kiszolgálófejlesztõk számára kibocsátott Server Developer, és a nyílt forráskódra fejlesztõk szá- 1. mára kiadott ingyenesen elérhetõ Open Edition. Ez utóbbi megjele- nése e cikk írásának pillanatától számítva heteken belül várható.

Telepítés A Kylix viszonylag szerény erõforrásigényû. Futtatásához elegendõ egy Pentium II 400 MHz-es processzorral rendelkezõ számítógép, 128 MB memóriával. Elvileg ennél gyengébb rendszeren is fut, de tapasztalatom szerint a hatékony fejlesztéshez a megadott kiépítés szükséges. A fejlesztõk által ajánlott operációs rendszerek:

• SuSE 7.0 vagy késõbbi kiadás, • RedHat 6.2 vagy frissebb változat, • Mandrake 7.2 vagy nagyobb változatszámú terjesztés.

Ez a gyakorlatban azt jelenti, hogy minden terjesztés használható, amely 2.2-es vagy újabb libc-t tartalmaz és rendelkezik grafikus felü- lettel. Én Debian Woodyra telepítettem, de kisebb hibákat tapasztal- tam. Gyakorlatlan Linux-felhasználóknak az ajánlott terjesztések egyikét javaslom. A Kylix Server Developer dobozos termék tartal- mazza a SuSE Linux 7.0-s változatát, így szükség esetén az operá- ciós rendszer is telepíthetõ. A telepítõrendszer nagyon kényelmes grafikus felületet ad (1. kép), ahol ki lehet választani, hogy a rendszer mely részeit szeretnénk telepíteni. Egyetlen dolgot nem értek. Miért nem használja a Linux által adott csomagkezelõt, holott annak éppen már SuSE 7.1-re és Debian Potato alaprendszerre is. Egyik alatt sem ez lenne a feladata? A telepítésnél meg kell adnunk egy könyvtárat, jelentkezett az elõbbi hiba, futásuk között pedig látszólag semmi amelybe a Kylix kerül (teljes telepítés esetén nagyjából kétszáz különbség sincs. Egy dologra viszont a fenti gond felhívta a figyel- megabájtnyi hely szükséges). Ebben a könyvtárban a Kylix futási met. A Kylix ugyan valódi Linux alatt futó program, de bizonyos környezetet alakít ki magának saját függvénykönyvtárakkal. Win32-höz kapcsolódó szolgáltatások Windowsról való átemelésére Ez a módszer linuxos szemmel furcsának tûnhet, de megvan a maga a Borland a Wine-t használta. AKylix általános sebessége megfelelõ haszna. A Kylix túléli a nagyobb programkönyvtárcseréket is, mivel (egyedül a Súgórendszer lassú kissé), az általa fordított programok- a saját könyvtárait használja, viszont a vele fordított programoknak nak pedig egyáltalán nincs szükségük a Wine-ra. a valós rendszeren kisebb-nagyobb gondjai lesznek. Kellemetlen, hogy az üzembiztos Debian-rendszerben jelenleg nincs olyan csomag, A Kylix felülete amely tartalmazza a libqtinf.so-t. Mivel a fejlesztett program futtat- A rendszert futtatva a 3. képen látható kép tárul a szemünk elé. Öt hatóságához erre a függvénykönyvtárra szükség van, kénytelen alapvetõ rész különíthetõ el, melyeket az ábrán számokkal jelöltem. voltam a Kylix könyvtárából kimásolni a /usr/local/lib könyvtárba. Az öt rész a következõ:

A fejlesztõrendszer 1. a menüt, az eszköztárat és az elempalettát tartalmazó ablak; A Borland szokásához híven most is elegendõ leírással látta el fej- 2. a forráskód módosítására használható szerkesztõablak; lesztõit. A doboz az alábbi három angol nyelvû könyvet tartalmazza: 3. a Code Explorer, amely gyors tájékozódást tesz lehetõvé a szer- Developers Guide, Quick Start és Language Guide, amelyek a CD-n kesztett alkalmazás forráskódjában;

104 Linuxvilág Mustra

2. 3. artva t. Minden jog fennt © Kiskapu Kf

4.

4. az alkalmazás felületének megtervezésére használható Form Designer; 5. az alkalmazás elemeinek finomhangolását lehetõvé tevõ Object Inspector.

A Kylix a Linuxon jelenleg rendelkezésre álló eszközökkel ellen- tétben nemcsak a rendszer felületének megtervezését teszi lehetõvé, hanem az eseményekhez tartozó forráskód is azonnal szerkeszthetõ. A fejlesztés folyamatát mutatja be a 4. kép, mely a különbözõ részek összefonódását szemlélteti. A fejlesztõ az elempalettáról összeválo- gatja a szükséges elemeket, és a Form Designer segítségével kiala- kítja a leendõ ablakok tervét. Az ablakra kerülõ felületelemek jellem- zõit az Object Inspector segítségével lehet beállítani. A szükséges A helyzetérzékeny súgó segítségével a rendszerbe épített elemek eljárások és függvények megírására a szerkesztõablakban van használatát villámgyorsan el lehet sajátítani. Az alábbi forráskód lehetõség, majd a felület objektumaihoz köthetõ eseménykezelõket szerkesztését segítõ eszközök összefoglaló neve CodeInsight. kell megírni. Az eseménykezelõk szerkesztését szintén az Object Inspectorból a legegyszerûbb kezdeményezni, mert itt az adott Code Completion felületelemhez tartozó összes fontosabb eseménykezelõ megadható. Ha beírunk egy osztálynevet ponttal kiegészítve, a rendszer felajánlja Az általánosan használt ablaktervek és egyéb, többször használt az adott osztály tulajdonságait (properties), tagfüggvényeit (methods) elemek elmenthetõk egy mintakatalógusba (Object repository), ahon- és eseményeit (events) (lásd 5. kép). Egy eljárás, függvény vagy tag- nan újból felhasználhatók. A Form Designer szokatlan jellemzõje, függvény nevét beírva a rendszer megadja annak értéklistáját. hogy az X Window System alatt eddig megszokott felülettervezõkkel ellentétben kizárólag állandó méretû objektumokkal dolgozik (mint Code Parameters tudjuk, X alatt a grafikus objektumok általában az ablakkal együtt Egy tagfüggvény nevét és egy nyitó zárójelet beírva megkapjuk a tag- önmûködõen méretezõdnek), így az ablak átméretezése esetén függvény értékeinek formai követelményeit. a felület részeinek átméretezésérõl szükség esetén magunknak kell gondoskodnunk. Code Templates A CTRL+J lenyomására a rendszer felajánlja a mintatárában található Fõ cél: a hatékonyság gyakran használt programrészleteket. A mintatárat természetesen mi A Borland sokéves tapasztalata jól tükrözõdik a Kylix felépítésében magunk is bõvíthetjük. és mûködésében. Számos olyan, Linuxon eddig elérhetetlen eszköz- zel segíti a fejlesztõt, amelyek a hatékonyságot akár a többszörösére Tooltip Expession Evaluation is növelhetik. Nézzünk meg – a teljesség igénye nélkül – néhány A program nyomkövetése közben, amikor az éppen áll, bármely olyan eszközt, amelyek megkönnyítik a fejlesztést! A programozónak változóra mutatva megjelenik annak pillanatnyi értéke. nagyobb projektek esetén nem szükséges fejben tartania akár több ezer objektum- és eljárásmeghatározást, az összevont fejlesztõrend- Tooltip Symbol Insight szer ugyanis kérésre kiegészíti azokat. A nagy tudású beépített nyom- A kód szerkesztése közben bármely azonosítójára mutatva megjelenik követõ meggyorsítja és megkönnyíti a hibakeresést, illetve -elhárítást. annak ismertetése.

www.linuxvilag.hu 2001. június–július 105 Mustra

A fejlesztõt segítik a fordítási hibáknál elõbukkanó tippek, amelyek • Nyomkövetés közben a töréspontok csoportokba foghatók össze, – láss csodát! – tapasztalataim szerint a leggyakrabban rá is mutat- majd szükség esetén együtt élesíthetõk vagy hatástalaníthatók.

artva nak a valós hibára. A fordító nagyon gyors, hibaüzenetei jól érthe- • Mintaalkalmazásokat tartalmaz a programozási módszerek gyors tõk. A forráskódban való gyors mozgás elõsegítésére a rendszer elsajátításának elõsegítésére. kereszthivatkozásként tudja kezelni az azonosítókat, és böngészõ- • A Server Developer-változat olyan elemeket is magában foglal, höz hasonló módon az adott hivatkozás meghatározásához ugrik. amelyek segítségével az Apache webkiszolgálóhoz illeszthetõ A visszajutás meggyorsítására mind a Forward, mind a Back gomb internetes alkalmazások könnyen fejleszthetõk. igénybe vehetõ. • Az SQL Monitor az SQL-t használó alkalmazások kipróbálását, Néhány további tulajdonság címszavakban: nyomkövetését és finomhangolását teszi lehetõvé. • A gyors hálózatos fejlesztéshez sok hálózati protokollra létezik • A fejlesztõket beépített teendõlista (To-Do list) segíti. elõre elkészített elem. t. Minden jog fennt • A szerkesztõablakban a különbözõ nyelvi elemek könnyebb megkülönböztetésük végett eltérõ színekkel jelöltek. A fenti felsorolás csak ízelítõ abból a rengeteg lehetõségbõl, amit a • Az eszközpaletták a kényelem érdekében teljesen átszerkeszt- Kylix kínál. Minden leendõ fejlesztõnek javaslom a fejlesztõrendszer hetõk, illetve bármely ablakba beilleszthetõk (docking system). leírásának figyelmes tanulmányozását. • A billentyûk kiosztása átszerkeszthetõ. A számos beépített kiosztás között az Emacsra jellemzõ is megtalálható. Adatkezelõ alkalmazások fejlesztése © Kiskapu Kf • Függvénykönytárak és többszálú programok nyomkövetési A jelenleg fejlesztett alkalmazások jelentõs részének valamilyen lehetõsége. adatbázist is kezelnie kell. A nyilvántartó rendszerek után egyre • Nyomkövetés közben képes naplót készíteni a fontosabb gyakrabban bízzák mérõrendszerek adatait, internetes médiák közlé- eseményekrõl, így lehetõvé teszi a késõbbi elemzést. seit adatbázis-keresõkre, jó tulajdonságaiknak köszönhetõen (megbíz- hatóság, kereshetõség, összetett lekérdezések és sorolhatnám). Mivel 5. egy rendszernek akár többféle adatforrást is tudnia kell kezelni, szükséges egy olyan eszköz, amely a különbözõ típusú adatforrások elérését valamilyen szinten szabványosítja. Erre a feladatra a Borland korábban a BDE-t alkalmazta, de a rendszer kellemetlen tulajdonsá- gokkal is rendelkezett. A Borland a rendszer tulajdonságainak javítá- sára a dbExpresst fejlesztette ki. A Kylix adatkezelése már a dbExpressre épül, ez a korábbi, Windowson fejlesztett alkalmazások átírása során gondot is okoz (lásd még késõbb). A dbExpress kifejlesztése során a következõ szempontok voltak a legfontosabbak:

106 Linuxvilág Mustra

• a rendszer méretét és erõforrásigényét tekintve kicsiny legyen, vezett VCL (Visual Component Library) elemekre épült. Ezek között • legyen a lehetõ leggyorsabb, sok olyan is akad, amelyek a Windows valamely egyedi lehetõségére

• tegye lehetõvé a könnyû fejlesztést, épülnek (OLE, MTS stb.). Mivel ezek Linux alatt nem állnak rendel- artva • legyen operációsrendszer-független, kezésre, így a velük készült alkalmazások átültetése nehézségekbe • könnyen lehessen új meghajtókat írni hozzá. ütközhet, rossz esetben a program bizonyos részeit akár teljesen át kell írni. Míg Windows alatt a programok az alacsony szintû mûve- A rendszer meghajtóprogramjai kicsik és gyorsak, mert szolgáltatásaik letek elvégzéséhez gyakran hívják segítségül a Win32 rendszerhí- szándékosan behatároltak. A dbExpress-szel a fejlesztõ az SQL adat- vásokat, ezek Linuxon nem léteznek. Az ilyen hívásokat használó bázis-kezelõk összes lehetõségét közvetlenül kihasználhatja. Az adat- program Linux-rendszeren módosítás nélkül nem futtatható. A prog- bázis-kezelõ alrendszer néhány tulajdonságának megértéséhez szüksé- ramok Windows alatt beállítási adataikat gyakran a Rendszerleíró ges betekintést nyernünk a rendszer elvi mûködésébe is. Az adatok adatbázisban (Registry) tartják, míg Linuxon nincs a Registryhez a következõ úton jutnak el az alkalmazás felületére (lásd az ábrán): hasonló központi beállítási adattár. Az itt említett példák mutatják, t. Minden jog fennt hogy milyen nehézségek merülhetnek fel a több felületre történõ • Az SQLConnection-elem összekapcsolja az alkalmazást az fejlesztéskor. Sokfajta kisebb-nagyobb különbség miatt az eddig fej- adatbázishoz megfelelõ dbExpress meghajtóval. lesztett programok átvitele Linuxra gyakran igen költséges lehet. • A dbExpress valamely adatkezelõ eleme szükség esetén az További gondok forrása lehet a Delphi 5-ig elterjedt adatelérési eljá- adatbázis-kiszolgálón lekérdezést vagy tárolt eljárást hajt végre. rás, a BDE (Borland Database Engine). Mivel ez a rendszer nem

• A DataSetProvider-elem a ClientDataSet kérésére a szükséges létezik Linuxra, így a vele fejlesztett programokat át kell írni. © Kiskapu Kf parancsokat az elõzõ elemek valamelyikével végrehajtatja, AKylixban a Delphi 5-ig használt elemek jó részét újraírták. Az új és a kapott adatokat továbbítja a ClientDataSet-elemnek. rendszer neve CLX (Component Library for X-Platform). A CLX • A ClientDataSet a kapott rekordokat a memóriában tartja, objektumait úgy tervezték, hogy azok módosítás nélkül vagy a lehetõ melyek rajta keresztül megjeleníthetõk vagy módosíthatók. legkisebb módosítással a különbözõ operációs rendszerek között A módosítások a memóriában tárolódnak és az ApplyUpdates átvihetõk legyenek. A Delphi 6-os változatában is megtalálhatjuk tagfüggvény hívásával elküldhetõk a DataSetProvidernek. ezeket a CLX-elemeket, így már lehetõség nyílik rá, hogy több Ez az elem ilyenkor indítja el a tranzakciót a kért módosítások operációs rendszeren futó programokat fejlesszünk, de csak akkor, véglegesítésére. Hiba esetén a tranzakció törlõdik és a ha az átvihetõséghez szükséges szabályokat betartjuk. ClientDataSet értesítést kap a hibáról. Összegzés A fenti módszer elõnyei: Amennyiben a fejlesztendõ program grafikus vagy adatfelülettel • Lehetõvé válik, hogy a tranzakciók idejét a lehetõ legkisebbre érintkezik, mindenképpen javaslom a Kylix használatának meg- szorítsunki, így csökkenthetjük az adatkiszolgáló terhelését. fontolását. Minden cégnek alapvetõ érdeke, hogy fejlesztései • Szükség esetén a rendszer eszközöket ad összetett lekérdezések hatékonyak legyenek. A rendszer összevont fejlesztõfelülete gyors (többtáblás) szerkesztésére is. és kényelmes munkát tesz lehetõvé, használatának elsajátítása akár • Mivel a ClientDataSet a memóriában tárolja a lekérdezett adato- önállóan is viszonylag egyszerû. A fejlesztõk és a felhasználók kat, azok gyorsan újrarendezhetõk és szûrhetõk az SQL kiszolgáló közös érdeke, hogy a programba a lehetõ legkevesebb hiba kerül- felesleges terhelése nélkül. jön, és egy esetleges hiba felfedezése esetén gyorsan ki lehessen • A ClientDataSet önmagában szolgál néhány SQL-hez hasonló deríteni az okát, és el lehessen hárítani a bajt. Ez egy szerényebb szolgáltatással, ez szintén csökkenti a feldolgozási idõt és az SQL tudású rendszerrel nehézkesen kivitelezhetõ. A Kylixnak meg- kiszolgáló terhelését. A memóriában lévõ sorokon összegzéseket vannak ugyan a maga kisebb gyermekbetegségei, de hiszem, hogy lehet végezni, erre a következõ függvények használhatók: Sum, ezeket ki fogja nõni. Végre a grafikus fejlesztõeszközök új nemze- Min, Max, Count, Avg. Az SQL WHERE feltételéhez hasonlóan déke indult útjára Linuxon is. lehet elvégezni a sorok szûrését. Mátó Péter ([email protected]) Természetesen a memória használatának megvannak a határai. korábban több évig lelkes Delphi- Ha a lekérdezés eredménye túl nagy mennyiségû adat, az SQL fejlesztõ volt. Miután fõállású Linux- kiszolgáló és az ügyfél közötti hálózat erõsen túlterhelõdhet. tanácsadó lett, kisebb grafikus Ha azonban egy lekérdezés ésszerûen felépített és adatait többször fejlesztésekhez hosszasan keresett is fel lehet használni, a fenti lehetõségek nagyon hasznosak. hatékony grafikus fejlesztõeszközt. Jelenleg a rendszer Desktop Developer változata a MySQL és Eddig sikertelenül. az InterBase, a Server Developer-változat az Oracle és DB2 SQL adatbázis-kezelõket támogatja, mivel azonban a MySQL és InterBase-meghajtók forráskódja mintaként adott, könnyen fejleszthetõ a rendszerhez saját megbízható, hatékony meghajtó- Kapcsolódó címek modul. Tudomásom szerint a PostgreSQL-hez ezt a meghajtót A Kylix-rendszer kifejlesztõje a Borland Software Corporation jelenleg is fejlesztik. Helyi gyorsítótáblák létrehozására a Borland  http://www.borland.com a MyBase adatbázisrendszert alakította ki. Ez a memóriatáblák A Kylix-rendszer használata során nagy sebességet tesz lehetõvé, és a könnyebb  http://www.borland.com/kylix felhasználhatósághoz a bináris mellett képes XML formátumban is állományba menteni az adatokat. Kiegészítõ eszközök és elemek  http://borland.com/kylix/resources/kylixtools.html Nyitott forráskódú fejlesztõeszközök (Zeos library) Fejlesztés több operációs rendszerre  A korábban Delphiben fejlesztett programok átvitele Linux alá nem http://www.zeoslib.org zökkenõmentes. Aki ismeri a Delphi-rendszert, az tudja, hogy úgyne-

www.linuxvilag.hu 2001. június–július 107 Mustra

artva Maya 3 már Linuxon is! A világ legkomolyabb háromdimenziós játékfejlesztõ, filmes és hatáskészítõ programja, a Maya 3 végre Linuxon is elérhetõ.

Az Alias/Wavefront 2001. március 22-én hatják fel a fejlesztõk, amilyenekkel csak

t. Minden jog fennt bejelentette: a Maya 3 programcsomag akarják. Az átgondolt felület segítsé- fejlesztése RedHat Linux operációs gével akár a kezdõk is gyorsan elsa- rendszerre sikeresen befejezõdött. játíthatják a program kezelését. A felhasználók különbözõ csoport- A készítõk a Maya tökéletesítése jait megcélozva három programcso- során azt a több mint tíz évnyi magot dobtak a piacra – a Maya tapasztalatot is felhasználták,

© Kiskapu Kf Buildert, a Maya Complete-et amit a három cég – az Alias, és természetesen a Maya Unlimi- a TDI és a Wavefront – az tedet. Ezek jelenleg a RedHat animációs programok fejlesz- 6.2-es és ennél késõbbi válto- tése során szerzett. zatokon futnak. A programcsomag elsõ válto- Azért esett a választás a zatát csupán a legnagyobb RedHatre, mert ez a változat filmes cégek IRIX-es az egyik legelterjedtebb és munkaállomásainak fel- -támogatottabb Linux-válto- használói élvezhették. Pár zat, számos cég és stúdió ezt hónappal késõbb azonban használja. A Maya linuxos már megjelent az NT-vál- változatának megjelen- tozat, PC-s guruk számára. tetésével az Alias/Wavefront Megjegyzem, akkoriban tulajdonképpen a játékfej- (1988) egy erõgépnek szá- lesztõ és filmes, illetve utó- mító masinán lehetett csak munkálatokat végzõ stúdiók futtatni: Pentium 166 MHz, hatalmas igényét elégítette ki. OpenGL és 96 MB RAM kellett hozzá. Azóta az Alias/Wavefront már Maya a négyes változatnál tart, maga mö- Az Alias/Wavefront gött hagyva hat kiadott sorozatot,  www.aliaswavefront.com, a képi amelyekben mindig egy-egy új lehetõ- hatások és animációs programok fej- ség jelent meg, vagy egyes régi eszkö- lesztése terén piacvezetõ cég 1995-ben zöket finomítgattak, csiszolgattak. hozzálátott egy új programnemzedék A cégcsoport háromféle Maya-csomagot megalkotásához, amellyel az ötletes szállít Linuxra, a felhasználási céltól füg- felhasználás és az eredményesség közötti gõen. Természetesen ezek árban rendkívül korlátot szándékozott áttörni. eltérnek egymástól (csomagonként, illetve A program fejlesztése során a következõ országonként az ár 2995 dollártól csaknem kulcsfontosságú célokat tûzték ki. húszezer dollárig változhat). Egyszerûen kezelhetõ felületet kívántak alkotni, hogy a hagyományos animációval Maya Builder foglalkozók szintén könnyen kezelhessék A „legegyszerûbb” program a Maya Builder, a programot, ne kelljen még a számítógép amelyet játékfejlesztõknek szántak. Hatékony használatának rejtelmeiben is elmélyülniük. poligonmodellezési és mintázatkezelõ rend- Az Alias/Wavefront a Mayához rengeteg jelenti, hogy szinte az összes eszköz a saját, szert építettek bele. Ezenkívül teljes elérést olyan szakmai trükköt használt fel, amelyek MEL nevû nyelvén íródott. Ez megkönnyíti biztosít a Maya API-hoz, valamint a MEL- a rendszer gyorsaságát a végletekig kihasz- a fejlesztést, másrészt (a programozási isme- hez (Maya Embedded Language) – C++ nálják. Az objektumközpontú C++ progra- retekkel magas szinten nem rendelkezõ) fel- alapú programozható felületet nyújtva. mozás, valamint az OpenGL-es megvaló- használók számára is páratlan rugalmasságot A Maya Builder rendkívül gazdaságos eszköz sítás adja a legnagyobb teljesítményt mind nyújt. További rugalmasságát a Dependency a sok munkaállomást igénylõ játékfejlesztõ a számolási, mind a leképezési (rendering) Graph, a Maya csomópontalapú szerkezete cégek számára. folyamatokhoz (1. kép). adja, amely rendkívül megkönnyíti Az elõbbi tulajdonságok elérésére a követ- a tájékozódást és a vezérlést. Maya Complete kezõ felépítést választották. A Maya gyakor- A komolyabb fejlesztõk rendelkezésére áll A következõ csomag a Maya Complete. latilag egy C++ban fejlesztett valós idejû még a Maya C++ API-ja, ennek segítségével Ezzel a programmal már világszínvonalú parancsfeldolgozóként fogható fel. Ez azt a programot olyan képességekkel ruház- animációkat és képi hatásokat készíthetünk,

108 Linuxvilág Mustra

és komoly grafikai rendszerrel látták el (Quadro2 Pro, esetleg Fire GL2 grafikus processzorok). artva

Visszhang „Megörültünk, amikor megtudtuk, hogy ezután a Mayát Linuxon is használhatjuk” – mondta Michael Babcock, a Henson stúdió játékfejlesztõje. „Teljes hálózatunk linuxos, és elégedettek vagyunk a megbízhatósá- gával, a rugalmasságával és a biztonsági

szolgáltatásaival. Most, hogy a Maya rend- t. Minden jog fennt kívül erõs karakteranimációs eszközei közvetlenül elérhetõk Linuxon is, a Henson Digital Performance Studio lehetõségei teljesebbé váltak.” © Kiskapu Kf

1. kép A Maya felülete sok-sok gyakorlás után. Csodálatos részecs- 3. kép Részlet az ILM által készített Csillagok kerendszerével például rövid idõ alatt vihart, háborújában látható versenybõl esetleg robbanást állíthatunk elõ. A Rigid- soft body segítségével szilárd, illetve lágy „A játékfejlesztõk örömmel fogadták a testek ütközéseit, kölcsönhatásait utánoz- hírt, hogy ezután Linuxon is hozzáférnek hatjuk a fizika törvényeinek megfelelõen, a Mayához” – nyilatkozta Makato Osaki, vagy éppen azokat teljesen megcáfolva. a CSK Fejlesztési Központ AM2 részlegé- Ha például filmünkön egy falevél lehullását nek (a SEGA vezetõ részlege) igazgatója. szeretnénk végigkísérni, csak kapcsolatba „A bétateszt során rendkívül elégedettek hozzuk a levelet a tömegvonzással, a széllel, voltunk a linuxos Maya teljesítményével és attól kezdve programunk szinte mindent 2. kép Paint Effectsszel festett és animált kép és biztonságával, amit a Unix-alapú rend- elvégez helyettünk. szermag szavatol.” programrész a Maya Live sem, ez a filmes A Maya rendkívüliségére a legjobb Maya Unlimited utómunkában elterjedten használt (3D ca- bizonyíték az, hogy a legnagyobb filmes A Maya csúcsának is lehetne nevezni a mera tracking matchmove) megoldás (2. kép). és utómunkálatokat végzõ stúdiók saját Maya Unlimitedet. Mint nevébõl is kiderül, fejlesztésû programjaik mellett egyre a fejlesztõk arra törekedtek, hogy ne legyen A Maya üzembe helyezése gyakrabban választják a Maya nyújtotta olyan nehézség, amit e csomaggal ne lehetne A program telepítése rendkívül egyszerû lehetõségeket. megoldani. Mindazt tartalmazza, amit az feladatnak bizonyult. A korongon három A leghíresebb mozifilmes és videós cégek, elõzõ két program, ráadásul olyan modulo- RPM fájlt találunk, amelyekbõl körülbelül amelyek az Alias/Wavefront termékeit hasz- kat építettek bele, mint például a Cloth, tíz perc alatt futtatható állapotúvá tudjuk nálják: az ABC, a Blue Sky/VIFX, a CBS, amellyel ruhák, anyagok, vásznak mozgását varázsolni a Mayát. a Cinesite, a CNN, a Digital Anvil és a Digital tudjuk valósághûen bemutatni és akár ani- Más a helyzet a Linuxszal. E kiváló prog- Domain (filmjeik: Apollo 13, Armageddon, málni is; vagy a Fur: ez haj, szõrzet, esetleg ramcsomaggal végezhetõ eredményes mun- Titanic, X-Men) és nem utolsósorban a Dream fû készítésére szolgál. kához szükségünk lesz az árnyalt és a mintá- Quest Images, a Dream Pictures Studios, Az utóbbi csomagokban még seregnyi nagy- zatot mutató nézet használatára, a fények a Dreamworks (Z, a hangya), valamint az szerû dolgot találunk, például az Artisant, profi alkalmazására. Ehhez egy viszonylag Industrial Light & Magic (Star Wars Episode I amellyel egyszerûen modellezhetünk, illetve izmos grafikus kártya kell, amely Linux alatt – 3. kép; A múmia visszatér – 4. kép). festegethetjük tárgyainkat; valamint a Paint megfelelõen mûködik. A „házilag” össze- A referenciák között említhetjük még Effects-et, ami egyben két-, illetve három- kovácsolt gépeknél még a RedHat használa- a Matteworld Digital, a Metrolight Studios, a dimenziós festõprogram. Itt több száz ecset takor is szinte csak az nVidia kártyák (TNT, Manex Visual Effects (Mátrix, Mission közül választhatunk (a tengeri növényektõl, TNT2, GeForce 1, 2, 3) jöhetnek szóba. Impossible 2, Truman Show), illetve az NBC, az emberi ujjakon át a villámokig), és Aki viszont komolyabban foglalkozik 3D-s a Pacific Data Images és a Pixar cégeket (Toy ezeknek körülbelül háromszáz különbözõ grafikával, beszerezhet egy nagyobb munka- Story – Játékháború – 5. kép, Egy bogár beállítását változtathatjuk meg, illetve állomást, például HP FX10-es vagy sgi élete). Nem feledkezhetünk meg az olyan animálhatjuk idõben. Nem elhanyagolható Visual Workstationt, ezeket már RedHattel klasszikusokról sem, mint The Walt Disney

www.linuxvilag.hu 2001. június–július 109 Mustra artva t. Minden jog fennt

5. kép Buzz Lightyear és Woody © Kiskapu Kf

6. kép Bigyó felügyelõ

7. kép A Sacra Coronában a mayás angyalok hozzák az égbõl a koronát

4. kép Industrial Light & Magic – A múmia visszatér

Company, a Sony Pictures Imageworks, a szolgáltatásaival ismerkedhettek meg az Santa Barbara Studios, valamint a Stardust érdeklõdõk. Bemutatkoztak még a hazai (Stuart Little, Harry Potter, Godzilla, animációs stúdiók és játékfejlesztõ cégek is. Anaconda, Speed, Bigyó felügyelõ – 6. kép). Többek között a Front Film nevû cég, amely 8. kép Kép az Alcatrazból A játék- és multimédiás fejlesztõ cégek vezetõ szerepet tölt be a magyar filmes és között megtalálható a CAPCOM, az utómunka területén. Õk gyártották például Electronic Arts, az Interplay, a NAMCO, a Sacra Coronában látható a látomás-jele- a Nintendo, a SEGA, valamint a Virtual netet (7. kép), illetve a lovasok digitális Worlds Entertainment. sokszorosítását  http://frontfilm.hu. A játékfejlesztõ cégek közül a Philos Mayás rendezvények Laboratories (a Theokracy linuxos változa- Tavaly decemberben a Planetáriumban tának készítõje) mutatta be legújabb fejlesz- rendezték meg a 3December nevû eseményt, tését, az Alcatrazt, amely teljes egészében a Leonardo SNS szervezésében. 3D-s motorra épülõ stratégiai akciójáték lesz. Az Alias/Wavefront a budapestihez hason- Fontos szerep jutott a Mayának a karakterek lóan még húsz másik nagyvárosban szerve- mozgásának, mintázásának kialakításában, zett 3D-s találkozót, ahol a Maya legújabb továbbá a helyszínek is ezzel készültek Soa Lee – Monna

110 Linuxvilág Mustra artva

Szamár és Shrek

Tsohan Wu – Elhagyatott kunyhó t. Minden jog fennt © Kiskapu Kf

Bingo

Fû szuperplánban

A Pixar legújabb animációs kisfilmjének, a For the Birdsnek a fõszereplõje

szó, amely mindenki elképzelését képes valóra váltani. Vitathatatlanul a legkomo- lyabb és a leginkább felhasználóbarát a maga osztályában. A CD-mellékleten mayával készült filmek és animációk találhatók a magazin/maya Iránytû könyvtárban.

Csernák Ákos a Linuxvilág számítógépes Shrek, az ogre grafikusa. A DTP mellett (8. kép)  http://www.philoslabs.com. rajong a 3D-s grafikáért is. A cég ígérete szerint az idén is megismétlik Fennmaradó szabadidejé- ezt a találkozót, amit egyetlen „3D-s kopo- ben természetjáró, utazó, nya” sem hagyhat ki. és hébe-hóba gitározgat. Elérhetõ a A program rendszerkövetelményei: RedHat [email protected] címen Linux 6.2 vagy késõbbi változat, Pentium Fenra csodálatos kastélya 200 MHz, 128 MB RAM, 3D-s videokártya, 1024x768-as, minimum 32 bites felbontás, Kapcsolódó címek és a legfontosabb a háromgombos egér (egy  http://www.aliaswavefront.com ilyen vason a Maya éppen csak elindul).  http://www.ilm.com Az otthoni linuxos gépek többségének 3D-s  http://www.d2.com teljesítménye sajnos még mindig nem éri el  http://www.mvfx.com az IRIX-os és a Windows NT-s számítógé-  http://www.pixar.com pekét, de biztosak lehetünk benne, hogy ez  http://imageworks.com a gond a közeljövõben megoldódik. Aki fog-  lalkozott valaha háromdimenziós grafikával http://www.philoslabs.com  vagy egyéb animációk készítésével, annak http://www.frontfilm.hu  feltétlenül meg kell ismernie a Mayát. Olyan http://leonardo.sns.hu Pinhead csúcsteljesítményt nyújtó programról van

www.linuxvilag.hu 2001. június–július 111 Mustra

artva Tanuljuk meg a PHP 4 használatát 24 óra alatt Matt Zandstra, a Corrosive Web Design cég egyik vezetõ programozója újabb világhálós programozási könyvvel jelentkezett.

szerzõ rajong a parancsnyelvekért: PHP, Java, JavaScript, tárgyalja, a hetedik a lista jellegû adatok tárolására használható tömb

t. Minden jog fennt Perl, Lingo és AppleScript nyelven fejlesztett már adattípussal foglalkozik, valamint a tömbök használatát segítõ PHP 4 programokat, a HTML-t, a JavaScriptet, a Perlt és a PHP-t függvények közül ismertet néhányat. A nyolcadik óra a PHP 4 pedigA tanfolyamokon oktatta is. osztály- és objektumtámogatását mutatja be. A Tanuljuk meg a PHP4 használatát 24 óra alatt A kilencedik óra a HTML-ûrlapok használatát, – mint címe is mutatja – a Perl, az ASP és a vagyis a felhasználótól érkezõ adatok feldolgo- Java mellett legnépszerûbb webes parancsnyelv- zását vezeti be. Ezt követik a fájlok és könyv-

© Kiskapu Kf rõl, a PHP-rõl szól. A kezdõknek szánt sorozat tárak kezelésének lehetõségei, majd a PHP célkitûzéseinek megfelelõen nem teljes progra- DBM-támogatása. (Ez azért lényeges, mert a mozási útmutató, nem térképezi fel a PHP DBM-támogatás a legtöbb operációs rendszeren összes lehetõségét, nem ismerteti annak vala- elérhetõ.) A tizenkettedik óra az SQL alapjait mennyi eljárását, csupán elindít az úton, mind- tárgyalja, valamint bemutatja a PHP 4 MySQL azonáltal elegendõ anyagot tartalmaz ahhoz, adatbázisok kezelésére szolgáló függvényeit. hogy a PHP-t webes alkalmazásainkban fel- A tizenharmadik óra a külvilággal való kapcso- használhassuk, akár tapasztalt programozók lattartásé: a HTTP-kéréseket veszi szemügyre, vagyunk, akár nem. illetve a PHP hálózati függvényeit taglalja. A szerzõ célja, hogy megmutassa, mire is hasz- A tizennegyedik óra a GIF, PNG és JPG képek nálható a PHP, hogyan juthatunk el a segítségével készítését lehetõvé tevõ függvényeket, a dina- a személyes honlapok szintjérõl a profi portálok mikus képkezelést mutatja be. A tizenötödik óra megtervezéséig. Bár belépõ szintû könyv, ne a dátummûveletekhez használatos függvényeket feledjük, szakembereknek, tevékeny és leendõ és eljárásokat ismerteti, míg a tizenhatodik webprogramozóknak szól, így a leckék megérté- visszatér az adattípusokhoz és az addig nem séhez legalább ilyen irányú érdeklõdés szüksé- említett, de a hatékony használathoz elengedhe- Szerzõ: Matt Zandstra ges, de az sem árt, ha a programozási alapfogal- tetlen további függvényeket mutatja be. A tizen- Terjedelem: kb. 540 oldal makkal tisztában vagyunk. A kötet ugyan össze- hetedik óra a karakterláncok kezeléséhez jól foglalja a leggyakoribb programozási szerkeze- Kiadó: SAMS használható PHP-függvényekkel foglalkozik, teket: a függvények, tömbök, objektumok Magyar kiadás: Kiskapu Kft., 2001. a tizennyolcadik pedig a bonyolultabb minták használatát, de a bemutatott példák mélyebb E-mail: [email protected] keresésére és cseréjére szolgáló szabályos  megértéséhez programozói gondolkodásmód Honlap: www.kiskapu.hu helyettesítõ kifejezéseket ismerteti. A tizenki- szükséges. A könyv nem az önmagukat az ISBN: 963 9301 30 2 lencedik óra a különbözõ programok és HTTP- Interneten bemutatni kívánó laikusoknak íródott. kérések közötti adatáramlás néhány módját A PHP a kiszolgálói alkalmazások, a webes adatbázis-kezelõ progra- mutatja be. A huszadik óra az elõzõ órában tanultakat a PHP 4-es mok nyelve, így értelemszerûen ezek elkészítése áll a középpontban. beépített munkamenet-kezelõ függvényeivel bõvíti ki. A huszon- A kötet végén két teljes fejezetet szántak egy mûködõ példaprogram egyedik óra a külsõ programok futtatását és kimenetük felhasználá- részletes bemutatására. A huszonharmadik óra a helyi klubok adattárá- sának lehetõségeit tárgyalja. nak és „programfüzetének” feladatát ellátó alkalmazás megtervezésé- A kész alkalmazások ellenõrzésével, a hibakereséssel külön fejezet vel foglalkozik, a felhasználók bejegyzéséhez és a klubok program- foglalkozik – nem véletlenül, hiszen az ilyen bonyolult, a felhasz- jának beviteléhez szükséges elemeket tárgyalja. A huszonnegyedik óra nálókkal interaktív kapcsolatot tartó programoknak bármilyen a látogatók számára készült felület megvalósításához szükséges kódot eshetõségre fel kell készülniük… tartalmazza, amely lehetõvé teszi a klubok programjainak böngészését. A gyors megoldásokat a sorozatban megszokott, külön ikonnal jelzett Amíg azonban eddig eljutunk, meg kell ismerkednünk a PHP történe- „Tippek” mutatják be, a részletes magyarázatokat a „Megjegyzések- tével, a 4-es változat újdonságaival és telepítésével (elsõ fejezet), a ben” találjuk, a „Figyelmeztetés” ikonnal ellátott részek pedig a leg- környezet beállításával (második fejezet), a rendszer alkotóelemeivel, gyakrabban elkövetett hibákra hívják fel a figyelmet. illetve az adatbázis-kezeléshez nélkülözhetetlen eljárásokkal, az ûrlapok használatával, a fájlok és adatok kezelésével. Rézmûves László A harmadik óra bemutatja, miként építhetünk PHP-kódot a HTML- 1971-ben született Budapesten, eredeti oldalakba, illetve hogyan készíthetünk a böngészõk számára kime- szakmája szerint angoltanár, de az netet adó programot. A negyedik óra a PHP alapjaival ismertet meg. ELTE-n történelem és elméleti nyelvé- Az óra anyagát a változók, az adattípusok, a mûveletjelek (operátorok) szet szakra, valamint afrikanisztika és a kifejezések képezik. Az ötödik óra a programok futását vezérlõ programra is járt. Rengeteg hobbija elemek utasításformájával (nyelvtanával) foglalkozik. Az if és switch van: zenélés, filmezés, foci, illetve gomfoci, programozás. szerkezetek mellett megtanuljuk a for és while ciklusvezérlõ elemek Jelenleg egyszerre dolgozik lektorként, nyelvi tanácsadóként, használatát is. A hatodik óra a függvények készítését és használatát szerkesztõként, személyzetisként és fordítóként.

112 Linuxvilág Falatka

Programcsemegézõ artva

SteelBlue hez természetesen írási engedéllyel kell rendelkeznünk a kiválasztott Ha valaha is használtad az Allaire ColdFusion nevû programját, talán állományhoz. Utólag bármilyen módszerrel is próbálják visszanyerni érdemes vetned egy pillantást a SteelBlue-ra is. Ez az érdekes webes a fájlrendszerbõl, az eredmény csupa egyes lesz. A program olcsón alkalmazás lehetõvé teszi, hogy SQL lekérdezéseket programozz elérhetõ biztonságot nyújt és használata is egyszerû. Futtatásához

SQL kiszolgálóra, ûrlapokkal dolgozz, vagy számos egyéb feladatot glibc szükséges. t. Minden jog fennt végezz el. A ColdFusionhöz hasonlóan a SteelBlue is számos kiegé-  http://www.pobox.com/~lbudney/linux/software/fwipe.html szítéssel látja el a HTML-nyelvet. Van azért egy nagy különbség köztük, mégpedig hogy a SteelBlue parancssorból is futtatható, így arb-scan.pl használatához nincs szükség webböngészõre. A komolyabb webes Távoli reklámcsíkpásztázó, mely végigpróbálgatja a reklámcsíkokat programozók számára nélkülözhetetlen eszköz. A futtatásához: web- a célállomáson, majd tetszõleges kiszolgálóról le is menti õket

kiszolgáló, libpq, libstdc++, libm, libcrypt, glibc, SQL kiszolgáló a késõbbi felhasználáshoz. Segítségével ellenõrizhetõ, hogy a reklám- © Kiskapu Kf (PostgreSQL, MySQL, msql vagy egyéb) szükséges. csíkok megfelelnek-e a cég szabályzatának. A levelezõkiszolgálókat  http://www.steelblue.com/ is megvizsgálja, hogy támogatják-e az ellenõrzési és terjesztési mûveleteket (ami kifejezetten rossz ötlet). A futtatáshoz szükséges: IP Flow Meter Perl, IO::Socket Perl-modul, Nmap, dig, finger. Nemrég úgy éreztem, mintha valami felzabálná az internetkapcso-  http://arbon.elxsi.de/ latomat, viszont nem tudtam rájönni, hogy ki vagy mi. A tcpdump David A. Bandel futtatása kézenfekvõ megoldás lett volna, de éppen nem volt kéznél egy nagyméretû merevlemez, és idõm sem volt arra, hogy átrágjam ([email protected]) jelenleg Panamában magam a kiíratás eredményén. Egyszerûen tudni szerettem volna, él, Linux- és Unix-tanácsadással foglalkozik. hogy hol kezdjem a keresgélést, ugyanis ha megvan a kiindulópont, Társszerzõje a Que Special Edition: Using azt követõen már át tudom nézni a protokollokat. Rátaláltam az IP Caldera OpenLinux címû könyvnek. Flow Meter programra, ami pontosan azt teszi, amire nekem szüksé- gem volt. Az elsõ kiíratást követõ egy órán belül könnyedén szemmel tarthattam a rendszer ki- és bemenõ forgalmát. A futtatáshoz szüksé- ges: libpcap, glibc.  http://www.via.ecp.fr/~tibob/ipfm/ w3perl Olyan naplómegjelenítõ programra van szükséged, amit még a korlá- tozott értelmi képességûek is azonnal megértenek? Megtaláltad, amit kerestél. A rengetegféle módon megjeleníthetõ ábrák jelentését még a hatéves gyermekek is felfogják. A telepítése is rendkívül egyszerû. Azt hiszem, ez az egyik legjobb webkimutatást készítõ alkalmazás, amit valaha láttam. A futtatáshoz szükséges: Perl, webböngészõ, webkiszolgáló, cron (igény szerint), Telnet vagy SSH (igény szerint).  http://www.w3perl.com/ dhcpstatus A dhcpstatus segédprogram egyedüli apró hátránya, hogy haszná- latához a DHCP-rendszeren webkiszolgálóra is szükség van. Érde- mes esetleg keresni egy kisebb Perl-webkiszolgálót, amely képes a Perl parancsfájlok futtatására – legalábbis jómagam ilyet fogok keresni. A dhcpstatus által megjelenített adatokat akár percekig is böngészhetnénk, keresgélhetnénk a leases.dhcp állományban. Termé- szetesen mindezt a Webmin segítségével is megtehetjük, ha feltele- pítettük, ám ez kicsit olyannak tûnik, mint szuperszámítógépet hasz- nálni olyan feladathoz, amit az xcalc segítségével hamarabb meg tudnánk oldani. Futtatásához Perl, webkiszolgáló a DHCP kiszolgá- lórendszeren, és webböngészõ szükséges.  http://dhcpstatus.sourceforge.net/ fwipe Az fwipe apró segédprogram, mely a kiszemelt állományokat bizto- san törli. Elsõ lépésként ötször teleírja az állományt nullákkal, máso- dikként ezt megismétli egyesekkel, majd törli az áldozatot. Mindeh-

www.linuxvilag.hu 2001. június–július 113