<<

Töprengõ

Közösség kovácsolódik végre idehaza is? Gondolatok a hazai közösség kialakulásáról.

évvel ezelõtt lelkesen figyeltük a szabadidejét vagy éppen egyéb lehe- a külföldi eseményeket, és tõségeit. De igenis szükség van az össze- közben szomorúan sopánkod- hasonlításra, az elemzésre. Ráadásul az Ntunk: „Haj, mikor lesznek ilyen meg- elemzés most idõszerû, hiszen a linuxos mozdulások Magyarországon is…!”. világ legismertebb egyesülete, az LME Valahogy az volt az érzésem, hogy a éppen a lap megjelenésekor tartja ren- linuxos szakembereknek mindig csillog des éves közgyûlését, ahol évet zárnak, a szemük, ha a Nyugat nagy történé- illetve új évet alapoznak meg tisztségvi-

© Kiskapu Kft. Minden jog fenntartva seirõl beszélnek, de mihelyt szóba jött selõk választásával, a fõ irányvonalak kis hazánk, ezt a csillogást felváltotta elfogadásával. És mint a legismertebb valami tompa beletörõdés. Sokszor szervezet nagyon sokat tehet a közös- rákérdeztem, és mindig ehhez hasonló ségért. Egy lépéssel továbbmegyek: túloldalára, és az elveket kövessük, ne a válaszokat kaptam: „Á, a magyar helyzet nagyon sokat is kell tennie. pénztárcánkat. Ez a legfontosabb elvárás miatt nem lehet ilyen nagy lépéseket Nem tudom, nem tudhatom, hogy az az új vezetõséggel szemben. tenni”, vagy „Láttál te már olyat, hogy új vezetõség milyen irányvonalat követ, Szintén sokszor hallottam, hogy az LME magyarok valamit ingyen csináljanak?”. néhány kérdés viszont annyira fontos, nincs olyan helyzetben, hogy valamirõl Azóta szerencsére sokat változtunk. hogy nem csak a vezetõségen múlik. szakmai véleményt adjon. Nem rendel- Megértettük, hogy nagyon kicsi pontok Milyen kérdésekre gondolok? A követ- kezik megfelelõ szakemberháttérrel, vagyunk ugyan az óriáscégekhez ké- kezõkre: folytasson-e az LME pénzügyi nem birtokol szükséges gépeket és jogo- pest, de együtt és hosszú távon bizony tevékenységet? Vállalhat-e véleményt kat, azok nélkül pedig „minek pattogjon igen komoly eredményekre vagyunk szakmai felelõsséggel nem közvetlenül a bolha”. Bizonyára emlékeztek, több képesek. A nemzetközi fejlesztésekbe egyesületen belüli ügyekben? Kell-e olyan eset volt az elmúlt egy évben is, rendkívül gyorsan bekapcsolódtunk, Budapesten kívül is tevékenykednie? amikor egy erõs lobbi, egy erõs érdek- számos olyan szabadon használható Lehet-e, szabad-e változtatni a szervezet képviselet igenis ki kellett volna álljon programcsomag van, amelyben több felépítésén? megvédendõ a közösség érdekeit és magyar szakember is ellenszolgáltatás Sok vita folyt az elmúlt évben, hogy érdemeit. Úgy gondolom, egészen nélkül segített, sõt, hazai fejlesztések is folytathat-e az LME pénzügyi tevékeny- addig, amíg az Egyesület „saját magát” kibújtak a földbõl. Hogy tökéletes volna séget. Gondolok itt reklámtevékeny- (tagjait, szervezeti egységeit, feladatait) minden, azt nem állítom, mivel ez még ségre, szakmai szolgáltatásokra, akár nem tekinti komolynak, addig hiába a legnagyobb jóindulattal is pimasz hun- a bevétel érdekében szervezett rendez- várjuk el ezt a világtól is. cutságnak nevezhetõ. De nagyon jó vényekre, oktatásra vagy éppen kereske- Még egy záró gondolat. Sokan mondják, irányba tartunk! Hiszen teljes és mûkö- delemre. Gyakran hallottam, hogy az hogy „odakint könnyû”. Állítom, hogy dõképes munkafelületek állnak rendel- Egyesület nem azért van, hogy pénzt idehaza sem megoldhatatlan a dolog, kezésre, vagy ott van például a legu- gyártson, hogy ahol pénz van, ott elõbb- csak nem pont ugyanúgy. De a legfon- tóbbi vízválasztó megmozdulás, az utóbb korrupció is van, hogy kereske- tosabb, hogy lássuk és érezzük, hogy OpenOffice.org programcsomag magya- delmi tevékenység nem fér össze a sza- egy olyan közösségrõl van szó, amelyik rítása (errõl részletesen lapunk 80. olda- bad programok elvével. tényleg összetart – nem azért, mert fize- lán olvashattok). Amit viszont figyelembe kell venni, az, tik, nem azért, mert rövid távon szemé- Mégis nézzük a dolog árnyékos oldalát! hogy az Egyesület céljainak megvaló- lyes haszna van belõle, hanem mert Aki ismer, tudja, hogy mindig a gyenge sításához anyagi alap kell. Vitathatat- érti, hogy hosszú távon mindenkinek pontokat keresem elõször. A hazai hely- lanul nagyobb hatékonysággal mûköd- (és természetesen nekünk is) haszna zettel kapcsolatban például a követke- ne az Egyesület, ha komoly háttérrel származik belõle. Ha értjük, hogy a zõkhöz hasonló kérdések motoszkálnak (mind embererõvel, mind anyagi és munkánk nem értelmetlen, akkor he- a fejemben: Hol voltak eddig a mostaná- tárgyi javakkal) rendelkezne. Pénzügyi gyeket tudunk megmozgatni. Szerintem ban oly sokat tevõ emberek? Ezelõtt is keret nélkül egy „kisebb” rendezvény Shakespeare egy magyarra gondolt, voltak jó kezdeményezések, azok miért megszervezése is (mint amilyen például amikor ezt mondatta a lelkes Zubollyal: nem élték túl, miért haltak hamvukba? a CEU-ban tartott tanácskozás volt) „Ide nekem az oroszlánt is!” Hol van az egykor lelkes csapat hiányzó döbbenetes munka, nem is beszélve fele? A külföldi eredményességhez ké- arról, hogy az Egyesület, ha nem rendel- Utóirat: A cikk írása közben a téma kap- pest idehaza miért tudunk ilyen döbbe- kezik biztos háttérrel, bizony pillanatok csán még számos gondolat felvetõdött ben- netesen keveset felmutatni? alatt eljuthat oda, hogy az elveit néhány nem. A cikk folytatását a Linuxvilág hon- Ne értsetek félre, nem az a célom, hogy százezer forintért „eladja”. Ez pedig lapján a  http://www.linuxvilag.hu/szy most mindenkirõl elmondhassam, semmiféleképpen nem engedhetõ meg. címen olvashatjátok. mennyire rosszul dolgozott, áldozta fel Fontos azonban, hogy ne essünk át a ló Szy György

4 Linuxvilág Vezérfonal

Programvadászat

AbiWord-0.99.2 Mozilla 0.9.9 A SkipStone 0.79 Mellékelt korongunk megszokott ven- CD-mellékletünkre felkerült a Mozilla SkipStone 0.79 egy újabb Mozilla-alapú dége az AbiWord, mely ezúttal már a 0.9.9 Milestone. Az új kiadásban csiszol- böngészõ, mely próbaállapota ellenére 0.99.2-es változat. A fejlesztõk tervei sze- tak az Address Book használhatóságán, meglepõen üzembiztos. Mind a felülete, rint ez az utolsó, fõként hibajavításokat és a nyomtatási kép beállítási lehetõsé- mind a kezelése egyszerû. Mûködésé- tartalmazó változat az üzembiztos 1.0-s gét is módosították. A fájlletöltés hibáját nek alapfeltétele a Mozilla jelenléte. megjelenése elõtt. Az elõre elkészített szintén kijavították, az elõzõkben ugya- rpm-csomagokból telepíthetõ, korongunk nis a mentendõ fájl nevének az eredeti továbbá a forráscsomagot is tartalmazza, név helyett a gyorstárban tárolt szöveg- amelynek segítségével bárki testresza- részt ajánlotta fel. A 0.9.7 változattal bottan lefordíthatja a saját rendszerére. ellentétben ismét adott a lehetõség a dinamikus témaváltásra. Emacs A program eredetileg szerkesztõprog- Gaelon 1.0.3 ram, de ha szeretnénk, a megfelelõ A böngészõk sorából fejlesztése jelenlegi bõvítményekkel akár hírcsoportolvasó, szakaszában a Gaelon 1.0.3 a legígére- levelezõprogram, FTP-ügyfél és web- tesebb, amelyet rengeteg kényelmi böngészõ is lehet belõle. A 2.1-es válto- szolgáltatással láttak el. A Bookmarkletek zat újdonságai közé tartozik a beépített segítségével beállíthatjuk az oldalak MIME-támogatás, a képmegjelenítési lehetõség és a wav-fájlok lejátszása. A kezelõfelület is megváltozott, ezentúl

Megjelent az Opera 6.0 elsõ próbaváltozata Linuxra Ennek a rendkívül népszerû böngészõ- nek az 5-ös, linuxos változatát eddig egy- önmûködõ görgetését és ennek sebessé- millió alkalommal töltötték le. Az Opera gét, a HTML-oldalak színén is változtat- tovább gyorsult, a sebesség növelése hatuk, a lapot kétszerezhetjük, valamint érdekében a tudását több, a Linux köve- a weboldalon belül könyvjelzõket he- telményeinek megfelelõ tulajdonsággal lyezhetünk el. A könyvjelzõkezelés új- bõvítették. A program bétaállapota elle- donsága a parancsra történõ, tetszõleges nére meglepõen megbízható. A bõvítmé- eszköztárakkal és gyorstippekkel is számú oldalakhoz tartozó favicon.ico nyek támogatása sokat javult, így a leg- találkozhatunk benne. A betûkezelése letöltése. Kedvencünket a CD-mellékle- több -bõvítmény is mûködik, szintén javult, már nem csak az állandó tünkön szereplõ rpm- és tar.gz-csoma- például a Macromedia Flash, a Plugger, szélességû betûket támogatja. Forrás- gok segítségével telepíthetjük, és a a Real Player, az Acrobat Reader, a TCL kódból telepíthetõ, amely a CD-mellék- Themes könyvtárban található eszköz- 2.0, a Codeweaver Crossover (Apple leten is megtalálható. tártémákkal új felülettel láthatjuk el. Quicktime) és a Java. Ez a változat már támogatja a unicode-os ázsiai és kelet- Böngészõk Beonex 0.7 európai karaktereket is. Több közel azonos erõforrásigényû, de A Beonex 0.7 is Mozilla-alapú böngészõ. Megújult a Personal Bar, melyben könyv- különbözõ tudású böngészõ is felkerült Tartalmaz egy webböngészõt, egy levél- jelzõinket ezentúl nemcsak szerkeszthet- a korongunkra, így mindenki találhat és hírcsoportolvasót és egy weboldal- jük, hanem kereshetünk is közöttük. kedvére való. Fontos megemlítenem, szerkesztõt. Kezeli a HTML 4-, a DOM Másik újdonsága a Hotclick szolgáltatás, hogy ezek a programok még nem üzem- level1-, a CSS1-, az XML- és a JavaScript amelynek segítségével – ha egy szöveg- biztosak. Kipróbálásukat mindenképpen 1.5-ös szabványokat. Ezenkívül a levele- részre duplán kattintunk – bármely szó csak a kísérletezõ kedvû felhasználók- zõprogram a POP3- és az IMAP-típusú rögtön kijelölhetõ, három kattintás esetén nak ajánlom! Mindegyik a Netscape kiszolgálókat is képes elérni. Elõre cso- a mondat, négynél pedig az egész bekez- forráskódja alapján készült, és a Mozilla magolt tar.bz2 csomagok segítségével dés. A kijelölt szövegrészlettel egy idõben Gekko-motorját használja. telepíthetõ. felbukkanó úszómenübõl a Szöveg máso- © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. április 5 Vezérfonal

lása, a Szöveg keresése keresõ (például • --with-ldap az LDAP-támogatás Google, AltaVista), illetve a Fordítás közül • --with-msql a MySQL-támogatás választhatunk. • --with-oracle az Oracle- A programot a CD-mellékleten szereplõ támogatás elõre csomagolt rpm, deb és tar.bz2 • --with-pgsql a PostgreSQL- csomagok segítségével telepíthetjük. támogatás beépítésére szolgál. Ha az adatbázisrendszer nem az alap- PHP4.1.2 beállítású könyvtárban található, a pon- A PHP önállóan is használható prog- tos elérési út megadható: ramozási nyelv, amely nagyméretû adat- -- with -adabas=/elØrØsi/œt/ bázisok mûködtetésére is képes. A hiva- Amennyiben a configure rendben talosan Hypertext Preprocessor névre lefutott, a make programot azonnal keresztelt nyelv a kiszolgálóoldali prog- indíthatjuk. Ehhez azonban rendsze- nünk. Korongunkra a magyar nyelvû ramozás nyelve lett. A kiszolgáló és az rünknek tartalmaznia kell egy C fordí- ispell helyesírás-ellenõrzõ rendszerrel ügyfél közti parancsok többnyire tót. Legvégül a make install paran- együtt került fel rpm és tar.gz formában. a HTML-kódba illesztve helyben hasz- csot kell kiadnunk, ennek végeztével nálják, a kiszolgálón pedig a PHP-értel- a telepítést befejeztük. SuSE 7.3 frissítés

© Kiskapu Kft. Minden jog fenntartva mezõ segítségével kerülnek feldolgo- A 31. CD Frissítések könyvtárában talál- zásra – eközben a HTML-elemek vál- Gnumeric 1.0.4 ható a SuSE 7.3 kiadásához eddig megje- tozatlanok maradnak. A Gnumeric könnyen használható, nem lent összes frissítés elsõ része. A bizton- A PHP teljesen felületfüggetlen, azaz túl nagy méretû táblázatkezelõ program. sági hibajavításokat és a programok új Linuxon, Unix-rendszereken, Windows Nem igényel erõmûvet, a korosabb változatra történõ frissítését is tartalmazza. operációs rendszeren és Macintosh-gé- gépeken is jó sebességgel futtatható. peken egyaránt fut. Kiemelkedõ tulaj- Rendszermag donsága, hogy a legtöbb adatbázis a Korongunkon ezúttal a rendszermagok PHP-hez közvetlenül csatlakoztatható. több sorozatának tagjait adjuk közre. Számos Linux-változatban megtalálható A 2.0 sorozat legújabb tagja a 2.0.39-es például rpm formátumban. Ilyenkor változata. A 2.2.-es üzembiztos sorozat nincs más teendõnk, mint a megfelelõ fejlesztésének és karbantartásának ered- csomagok telepítése akár terjesztésünk ményeként jelent meg a 2.2.20-as rend- saját csomagkezelõjével. szermag. Kis hibával megjelent a 2.4 Ha más feladatok ellátására is szükségünk sorozat legújabb tagja, a 2.4.18-as. A hiba van, például kiszolgálóként szeretnénk az x86-os kiépítést használókat nem mûködtetni vagy más adatbázist kívá- érinti, a más rendszeren dolgozóknak nunk támogatni, akkor a PHP-t, illetve ajánlott az utólagos hibajavító csomag a kiszolgálót magunknak kell fordítani. Az alkalmazás a Gnome Projekt része. telepítése. A 2.5-ös fejlesztõi sorozat A CD-mellékleten található php- Az Excel, Applix, Sylk, XBase és az Oleo immár a 2.5.5-ös változatnál tart. Hasz- 4.1.1.tar.gz csomagot a állományokat tudja beolvasni. Érdekes- nálatát csak a hozzáértõknek ajánlom. tar -xvzf php-4.1.1.tar.gz sége, hogy az Excelben megismert függ- paranccsal csomagoljuk ki a megfelelõ vények mellé külsõ függvényeket mi MPlayer 0.6.0 könyvtárba. magunk is megadhatunk a Gimpben A program Linuxon mûködõ magyar Ezután a következõ utasítás segítségével megismert bõvítményes rendszer segít- fejlesztésû videolejátszó, amely sok más lépjünk be a php könyvtárba: ségével, három különbözõ nyelven: Unixon és akár nem x86-os processzoro- cd ./php-4.1.1 Pythonban, Guile-ben és Perlben. Az kon is fut. Használható parancssorból és Ebben a könyvtárban található a confi- Excel, az XML, a HTML, a LaTeX, a Troff, grafikus felülettel is. A legtöbb ismert gure program, melynek a megfelelõ a PDF, az EPS, a DVI és a CSV fájlformá- fájltípus lejátszására képes. Az MPEG, kapcsolókkal megadhatjuk, hogy a PHP- tumaiban képes menteni. Mellékletün- a VOB, az AVI, a VIVO, az ASF/WMV, ba milyen szolgáltatások épüljenek be. kön elõre csomagolt rpm és tar.gz for- a QT/MOV, a FLI, a NuppelVideo, a A ./configure --help paranccsal a mában található meg. yuv4mpeg, a FILM, a RoQ, és némely megfelelõ kapcsolókat magunk is RealMedia-fájlt egyaránt ismeri. Futtatá- lekérhetjük, vagy a jobb áttekinthetõség KOffice 1.1.1 sához nem árt, ha rendelkezünk 2.4-es kedvéért a ./configure --help > A KOffice összetett, minden igényt kie- rendszermaggal és a legfrissebb X-felü- opciok.txt segítségével fájlba irányít- légítõ irodai csomag szövegszerkesztõvel, lettel. CD-mellékletünkön a program hatjuk át. egyenletszerkesztõvel, bemutatókészítõ- forrás formájában található meg, így vel, táblázatkezelõvel, folyamatábra-raj- mindenkinek magának kell fordítania. Configure kapcsolók zolóval, valamint vektoros rajzolóprog- Még a telepítés elõtt ajánlatos elolvasni A legfontosabbak a következõk: rammal. A Linux-rendszereken futó iro- a leírást, amely a sikeres fordításhoz adatbázisokhoz dai csomag minden összetevõje nyílt for- szükséges tudnivalókat tartalmazza. • --with-adabas az Adabas-támo- rású és már 29 nyelvre lefordították. gatás beépítésére szolgál A menük teljes mértékben magyarítot- Dankaházi István • --enable-filepro a FilePro-tá- tak, tartalmazza az ispell helyesírás-el- ([email protected]) A Linuxvilág mogatás beépítésére szolgál, ez lenõrzõ rendszert, de a magyar nyelvû munkatársa. Szabadidejében szívesen azonban csak olvasásra képes ispell-csomagokat nekünk kell telepíte- úszik és kerékpározik.

6 Linuxvilág Hír-lelõ

Ultraszélessávú hálózatok tenni, hiszen a pénztárak forgalma a A Matrox új VGA kártyákat jelentett be Hamarosan elérkezhet az az idõ, amikor vonalkódos számlázás segítségével nap- Újabb tagokkal bõvül a Matrox népszerû a jelenlegieknél sokkal nagyobb átviteli jainkban is valós idõben figyelhetõ. MMS, Multi-Monitor Series sorozata. sebességet biztosító vezeték nélküli Sokat elmond a nagyra törõ tervrõl, A Matrox G450 X2 MMS és a G450 X4 hálózatokat hogy támogatója többek közt a Procter MMS kártyák érdekessége, hogy nem használhatunk. & Gamble, a Gillette, a Wal-Mart, az egy, hanem kettõ és négy grafikus lapka Az eredetileg Unilever és a Tesco – csupa olyan nagy található rajtuk, így katonai célokra cég, amelyek vásárlók millióit szolgálják egy-egy kimenethez a fejlesztett UWB (Ultra Wide Band) ultra- ki nap mint nap. Ezek a cégek a vásár- lapkák teljes számítási szélessávú megoldás már csak arra vár, lási szokásokból felépített adatbázisok- teljesítménye rendel- hogy az amerikai Szövetségi Távközlési ból rengeteg értékes adatot nyerhetné- kezésre áll. Mint nevük Bizottság áldását adja a polgári alkal- is utal rá, az X2-es típuson kettõ, az mazásokra. X4-es típuson pedig négy lapkának Az UWB érdekessége, hogy – mint neve szorítottak helyet, így két és négy mo- is mutatja – rendkívül széles, a néhány nitor csatlakoztatható hozzájuk. Hz-tõl a GHz-ig terjedõ frekvenciatar- Analóg képernyõ használata esetén a leg- tományban üzemel. Radaroknál és más nagyobb elérhetõ felbontás 2048×1536,

katonai alkalmazásoknál már elterjedt, míg digitális panelnél 1280×1024 kép- © Kiskapu Kft. Minden jog fenntartva azonban két rendkívül elõnyös jellemzõ- pont. A kártyákon 64 MB memória talál- jének köszönhetõen a polgári életben ható, a megfelelõ frissítésrõl 360 MHz-es is ígéretes jövõ elõtt áll. RAMDAC gondoskodik. Természetesen Az UWB egyrészt rendkívül kicsi, az nek ki, amelyek segítségével például a monitorok helyére tévékészülékek is elektronikus készülékek által kibocsátott hatékonyabbá tehetnék hirdetéseiket, kerülhetnek. A kártyák PCI-foglalatba zajhoz hasonlóan kis energiájú jelekkel vagy nyomon követhetnék a vásárlók helyezhetõk, így operációs rendszertõl dolgozik. Ennek köszönhetõen mûköd- szokásait. Nem véletlen, hogy az adat- függõen akár 16 képernyõ is köthetõ tetéséhez is csekély energiára van szük- védelemmel foglalkozó szervezetek egyetlen számítógépre. ség, sokkal takarékosabb, mint a Blue- máris felemelték a hangjukat. Érdekes szolgáltatás a Matrox-telepítõ- tooth vagy az IEEE 802.11b hálózatok. Sokan megfogalmazták már azt a rémítõ készlet oldaláról, hogy windowsos vég- Másrészt a széles frekvenciatartomány- jövõképet, hogy hamarosan minden rehajtható fájlok formájában telepítési nak hála az UWB a több száz Mb/s se- eszköz – a mikrohullámú sütõkig bezá- készletek hozhatók létre, amelyek már bességet is elérheti. rólag – internetkapcsolattal fog rendel- a Matrox PowerDesk beállításait is Amennyiben a bizottság kedvezõen kezni. Az eszközök által elõállított hatal- tartalmazzák, így a telepítés felügyelet dönt, valószínûleg több gyártó – például mas mennyiségû adatot valahogyan nélkül is könnyedén elvégezhetõ. az Intel – azonnal megkezdi a fejleszté- kezelni, tárolni kell – ebben lát üzleti Az új kártyák a második negyedévben seket, hogy minél hamarabb piacra lehetõséget a Sun is. Szerencsére a digi- lesznek elérhetõk. dobhassa új áramköreit és megoldásait. tális azonosítók elterjedésére még várni  http://www.matrox.com  http://www.uwb.org kell, hiszen az elõállítási költségek egye- lõre túl magasak, de a Wal-Mart már SuSE Linux tanároknak Digitális azonosítót mindenbe! elindította az elsõ próbarendszert egy A Széchenyi-terv pályázatainak kere- A Sun Microsystems is csatlakozott amerikai városban. tében támogatással több mint tízezer ahhoz a kezdeményezéshez, amelynek  http://www.autoidcenter.org pedagógus jut számítógéphez. A gép- nyomán minden termékbe apró digitális hez operációs rendszer is jár, a SuSE azonosítót (Auto-ID) építenének. Az Bemutatták az elképzelések szerint minden egyes áru- AMD Hammer processzort cikkre egyedi azonosító kerülne, ame- Az AMD egy teljes számítógépet – tehát lyet rádiófrekvenciás jellel lehetne nem egy elvont próbarendszert – mu- leolvasni. A vásárlás ezzel lényegesen tatott be, amely új Hammer processzo- egyszerûbb lenne, hiszen elég volna rával futott. Az AMD új lapkája x86-64 telepakolni a kocsit, majd eltolni a megoldást használ, így egyaránt képes kimenõ kapuk mellett – a számítógépek az újabb 64-bites, és a megszokott 32- érzékelnék a kocsi tartalmát, és azonnal bites operációs rendszerek és programok ráterhelnék a vételárat a vevõ bank- futtatására. A bemutatón a 32-bites számlájára. oldalt a Windows képviselte, a 64-bitest Természetesen sokkal könnyebb volna viszont Linux. Linux AG magyarországi irodája a raktárkészlet fenntartása is, hiszen Az új processzorok 0,13 mikronos SOI minden érintettnek ingyenesen ajánlja a termékek fogyatkozását figyelemmel módszerrel készülnek. A memóriavezér- fel Linux-terjesztését. Az oktatónak követve az utórendeléseket is azonnal lõt beépítve tartalmazzák, a rájuk épülõ szánt programcsomagban KDE ablak- intézni lehetne. A kimutatások szerint rendszerek pedig támogatják majd kezelõ és OpenOffice irodai csomag a vásárlók által keresett árucikkeknek a HyperTransport-megoldást, amely található – természetesen mindkettõ hétköznapokon 8, hétvégéken 11 száza- a számítógép egyes összetevõi között magyar nyelven. Az ingyenes rendszer léka nincs ott a polcokon. A dolog csak folyó adatáramlás gyorsítását célozza. segítségével az ECDL vizsgára is gond abban sántít, hogy ezt a jelenlegi számí-  http://www.amd.com nélkül fel lehet készülni. tógépes rendszerekkel is meg lehetne  http://www.x86-64.org/  http://www.suselinux.hu

www.linuxvilag.hu 2002. április 7 Hír-lelõ

Megjelent a termelt hõt kell majd vízzel elvezetni. Linuxos forgalomirányítók Gnome 2.0 próbaváltozata A korábbi vízhûtéses rendszerek súlyos A forgalomirányítóban is van pro- A legfrissebb ütemterv szerint május gondja volt a hûtõközeg párolgása, cesszor, memória, így miért ne futhatna 1-jén meg kell jelennie a Gnome ablak- valamint a hûtõrendszer korrodálódása. rajta Linux? Az Ayr Networks emberei- kezelõ 2.0-s változatának. Már sorban A Hitachi mérnökei állítólag megoldot- ben a kérdésfeltevést tett követte, és követik egymást a próbaváltozatok, ták ezeket a gondokat. Az új gépben a honosításra váró szövegek, a felhasz- vékony rozsdamentes csõben kering a víz, mozgatásáról a gép testében el- helyezett pumpa gondoskodik. A fel- melegedett víz a képernyõ oldalára kerül, és ott hûl le. A nem teljesen új- kedvenc rendszerüket elsõként a fajta hûtés a hagyományosnál csende- Cisco 7600-as sorozatú forgalomirá- sebb, másfélszer hosszabb élettartamú, nyítóira ültették át. A munka keretében ugyanakkor a végtermék árát nem át kellett szabni a rendszermagot, növeli lényegesen. a merevlemez nélkül mûködõ készü-  http://www.pcworld.com lékekhez megfelelõ környezetet kellett  http://www.hitachi.com fejleszteni, a különféle nyílt forrású

© Kiskapu Kft. Minden jog fenntartva forgalomirányító protokollokat a háló- Elkészült a honosított OpenOffice zati szolgáltatók igényeihez kellett Mindössze egy hosszú hétvégére volt igazítani, valamint teljesen új modu- szüksége egy csapatnyi lelkes fiatalnak, lokat és démonokat kellett fejleszteni, hogy teljesen honosított irodai program- amelyek képesek a különleges csomag- csomagot vará- kezelõ áramkörök vezérlésére. zsoljon a régeb- A rendszer részét képezi a meglévõ ben StarOffice, Cisco operációs rendszerrel egyenértékû nálói felület véglegesítése pedig már újabban a Sun felhasználói héj, valamint a rendszer megtörtént. A próbaváltozatok egyelõre neve alatt kereskedelmi változatban részeinek vagy egészének frissítésére hangsúlyozottan nem valók terjeszté- StarOffice, valamint forráskódja kiadása megfelelõ alkalmazás. sekbe vagy üzemi használatra, ám óta OpenOffice név alatt – ennek meg- Az AYR Linux egyelõre próbaváltozat- a kísérletezõ kedvû rajongók máris el- felelõen több változatban – is terjedõ ban érhetõ el. Akik megfelelõ Cisco kezdhetnek ismerkedni vele. együttesbõl. forgalomirányítóval rendelkeznek, és  http://www.gnome.org A magyar változathoz helyesírás-elle- szeretnék kipróbálni a rendszert, a cég nõrzõ is társul, amelynek további javítá- honlapján jelentkezhetnek tesztelõnek. India szuperhálózatot épít sához bárki hozzájárulhat. A windowsos  http://www.ayrnetworks.com Az indiai kormány 10 éves fejlesztési változat fordítását sajnos egyelõre nem tervének részeként olyan nemzeti tudják megoldani, a mûveletet elvégzõ Újabb területre merészkedik az AMD hálózat kiépítésérõl határozott, amely hozzáértõ személynek a tervezet támo- Az AMD bejelentette, hogy felvásárolja lehetõvé tenné az országban található gatói 40 000 forint jutalmat ajánlottak fel. az Alchemy Semiconductort. Az Alche- nagyteljesítményû számítógépek nagy-  http://www.openoffice.hu my eddig magánkézben volt, és nagy sebességû összekötését, így egyesítve  http://www.szofi.hu/gnu/magyarispell feldolgozási teljesítményüket. A „grid” /index.html ötlete nem új, más nemzetek is élnek vele, ám India sem szeretne kiesni azok- Bejelentették a CrossOver nak az országoknak a körébõl, amelyek Plugin 1.1-es változatát a legnagyobb számítási teljesítmények A CrossOver Plugin segítségével széles felett rendelkeznek a világon. Az így körben használt windowsos állományok létrejövõ hálózat képességeit rengeteg – Microsoft Office-dokumentumok és kutatási és szimulációs célra lehet majd eFAx-fájlok – és beépülõ modulok érhe- teljesítményû, MIPS-felépítésû mikro- felhasználni, a turbinák tervezésétõl tõk el linuxos alkalmazások alól. A prog- processzorok tervezésével, fejlesztésé- kezdve egészen az olajkutatásokig. ram 1.0-s változata 2001 augusztusában vel és forgalmazásával foglalkozik.  http://news.com.com jelent meg, az újabb változat fontos Termékei elsõsorban mobileszközök- újdonságokkal dicsekedhet: támogatja höz, webtáblákhoz, zsebtitkárokhoz Vízhûtéses hordozható a sokfelhasználós környezeteket, ismeri készültek. számítógép a Hitachitól az Apple QuickTime, a Macromedia Az AMD a személyi számítógépek piaca A Hitachi olyan hordozható számítógé- Shockwave Director formátumokat és mellett az internetes és mobileszközök pet készített, amely vízhûtéssel mûkö- a Windows Media adatfolyamokat, piacán lát lényeges fejlõdési lehetõséget. dik. A korábban csak a tuningõrültek képes a TrueType betûkészletek meg- Az Alchemy alapítóinak munkáját dicsé- által és különféle nagyteljesítményû jelenítésére, és újabb beépülõ modulok rik többek között az Alpha- és a Strong- rendszerekben alkalmazott hûtési mód- támogatására. ARM-processzorok. A két cég erõit – és szer ezáltal teljes polgárjogot nyerhet Az új program ára internetrõl letöltve termékeit – egyesítve minden bizonnyal a tömegtermékek piacán is. A cég hama- 25 dollár, CD-n megrendelve pedig sikeres portékák dobhatók piacra. rosan piacra szeretné dobni új típusát, 35 dollár.  http://www.amd.com amelyben egy Pentium 4 processzor által  http://www.codeweavers.com  http://www.alchemysemi.com

8 Linuxvilág Hír-lelõ

Megjelent a Elõször kerül a bíróságokra a GNU GPL PostgreSQL 7.2 végleges változata A MySQL AB, a MySQL adatbázis-ke- Közel egy év munka gyümölcseként elér- zelõ fejlesztõje bíróság elé citálta a Prog- hetõ a PostgreSQL 7.2-es végleges válto- ress Software Corporationt, mivel ez zata. Több területen is fejlesztettek az utóbbi megsértette a MySQL-re is vonat- adatbázis-kezelõn, így javultak a hono- kozó GNU GPL szerzõdést. A cég saját sítási lehetõségek, és a rendszernek négy- fejlesztésû programösszetevõjét milliárdnál nagyobb számú tranzakció statikusan összekapcsolta a MySQL- kezelése sem okoz gondot, a program a rendszerrel, és egyetlen futtatható prog- jelszavak biztonságos kezelését és táro- ramot készített az ily módon saját és lását pedig MD5-algoritmussal szavatolja. GPL alá esõ részeket egyaránt tartalmazó  http://www.hu.postgresql.org bizonyítani. Ezért a bíróság arra akarja NuSphere termékbõl. A cégnek a forrás-  http://apachetoday.com/ kötelezni a céget, hogy független szakér- kódot is mellékelnie kellett volna prog- tõknek tegye lehetõvé a Windows forrás- ramjához, ám ezt nem tette meg. A Sigma bejelentette az elsõ PC-s kódjának tanulmányozását. Mivel a fel- Természetesen az ügy nem ennyire egy- MPEG-4 dekóderkártyát peres amerikai államok mögött a Micro- szerû, és nem is most kezdõdött, a két A Sigma REALmagic Xcard kártyája soft riválisai állnak, a cég egyrészt megfe- társaság közötti vita hasonló okok miatt

az elsõ olyan PC-s bõvítõkártya, amely lelõ garanciákat kér a forráskód biztonsá- már több mint egy éve húzódik. © Kiskapu Kft. Minden jog fenntartva – számos további formátum mellett – az gára, illetéktelenektõl való megóvására, MPEG-4, MPEG-2 és MPEG-1 filmek másrészt amennyiben operációs rendsze- Medgyesi Zoltán ([email protected]) dekódolására egyaránt képes. A kártya reinek átszabására kényszerítik, a Win- A BMGE 24 éves informatika szakos támogatja a legújabb megoldásokat, így dows a rendszerek piacáról való kivoná- hallgatója. Szabadidejét legszíveseb- többek közt a HDTV-ket, ismeri az sával fenyeget. Az „ötlet” több mint meg- ben a barátnõjével tölti. Szeret autózni döbbentõ, hiszen nemcsak a Microsoftra, és bográcsban fõzni. A Linuxot hat éve de a teljes PC-iparra beláthatatlan követ- ismeri, de még nem volt lelkiereje, kezményeket gyakorolna. hogy áttérjen rá. A Linuxvilág magazin  http://www.globeandmail.com hírszerkesztõje. Felgyorsulhat a beszédfelismerésre épülõ alkalmazások fejlesztése A beszédfelismerésre épülõ alkalmazá- sok fejlesztését egyelõre gátolja az a sajnálatos tény, hogy a legtöbb megol- dás egy-egy cég nevéhez fûzõdik, így NTSC- és PAL-szabványokat, valamint a felhasználók választhatnak: vagy – valószínûleg kevesek örömére – a legyökereznek egyetlen gyártó mellett, Macrovision másolásvédelmi megoldást vagy többféle alapra is elkészíttetik a és a DVD-régiókat. szükséges alkalmazásokat. A kártya március 28-tól lesz elérhetõ, Jelenleg a World Wide Web Consortium de az amerikai vásárlók már most is VoiceXML-szabványa az irányadó, amely- feladhatják elõrendeléseiket a 99 dollá- nek segítségével telefonon keresztül lehet ros kiegészítõre. különféle alkalmazásokat elérni – a sze-  http://www.sigmadesigns.com/ rencsések lekérdezhetik például a bank- számlájuk egyenlegét, vagy az éppen Mi lesz veled, Windows? érvényes részvényárfolyamokat. Régóta, különféle szereplõkkel és epizó- Ezen a helyzeten változtathat a SALT dokkal húzódik az a per, amely a Micro- (Speech Application Language Tags) soft egyeduralmát vizsgálja a személyi szabvány erre a negyedévre tervezett számítógépek piacán, illetve a Microsoft megjelenése. A támogatók között olyan Explorer beépítését, pontosab- nagy cégeket találunk, mint a Cisco, az ban a Windows operációs rendszerekbe Intel, a Microsoft vagy a Philips. A fej- való beépítés tisztességes voltát firtatja. lesztés célja olyan szabványos felület A Windowsok forráskódjának felfedése létrehozása, amely szóban feltett kérdé- már korábban is szóba került, de nyilván sekre szöveges válaszok adását teszi a Microsoft sem fogja önszántából muto- lehetõvé. A Microsoft már áprilisban be gatni legféltettebb kincsét. A cég ugyan- szeretne mutatni egy új fejlesztõi kész- akkor azt, hogy az Internet Explorer to- letet, valamint még ebben az évben vábbra is a Windowsok része maradt, megjelenik interaktív webes alkalma- azzal indokolja, hogy mélyen beépült ma- zások telepítésére alkalmas rendszeré- gába a rendszerbe, és az eltávolítása nem nek próbaváltozata. Az elsõ SALT-alkal- oldható meg annak tönkretétele nélkül. mazások felbukkanására egy év múlva A felperesek most azt kifogásolják, hogy a számíthatunk. Microsoft a forráskód bemutatása nélkül  http://www.w3.org/Voice/ érvel, így állítását nem tudja érdemben  http://www.saltforum.org/

www.linuxvilag.hu 2002. április 9 Láttuk-hallottuk

Nokia-mobiltelefonok Linux alatt

Tulajdonképpen mi lehet az értelme annak, hogy mobil- Pannon SMS-sé is tud alakulni, ha a szolgáltatónál telefonunkat Linuxra kössük? Semmi és nagyon is sok megfelelõ elõfizetésünk van, de sokszor elõfordul, haszna lehet, az öreg linuxosokban (itt elsõsorban azokra hogy a levélben feladott SMS csak jó pár órával a fel- gondolok, akik legalább 4–5 éve használnak Linuxot) már adás után érkezik meg. Ez természetesen egy beha- kialakult egy olyan szemlélet, hogy amikor valamilyen új tolás érzékelésénél nem elfogadható sebesség. Ha viszont egy mobilt aggatunk a figyelõ gépre, garantált lesz, hogy szinte azonnal értesít min- ket. Ehhez szükség van némi hozzáér- tésre, és például egy Nokia 5110-re, összekötõ kábelre és egy PrePaid elõfizetésre. számítógép-alkatrészt vásárolnak, elsõd- 3. Távoli bejelentkezés a leállt (holt) kiszolgálóra: leges szempont, hogy mûködjön Linux alatt kiszolgálónk egy co-location központban áll. Szinte is. Nos, így van ez egy mobillal is. Bármikor minden lehetõségünk megvan, hogy hozzáférjünk a szinte bárhonnan betárcsázhatunk vele, és kiszolgálónkhoz, ha azonban az ott dolgozók válasz- a Linux (például egy notebook) segítségével ideje nem túl jó, vagy például hétvégén nincs ügye- bármilyen adatot lekérhetünk, gépeket let, célszerû lehet, ha a gépünkre telefonon is be felügyelhetünk stb. Vagy éppen asztali SMS-kiszolgálót tudunk jelentkezni. Ezt megtehetjük egy modem alakíthatunk ki belõle, hiszen milyen hasznos, ha az elfe- és vonalas telefon segítségével, csak nem jellemzõ, lejtett találkozókról munkahelyi számítógépünket akár hogy a szolgáltató erre lehetõséget adna. Itt is vásárlás közben is lekérdezhetjük, vagy éppen a tárgya- megoldás lehet egy mobil és a megtty csomag lás elõtt félórával értesít bennünket. Mindent összegezve (a késõbbiekben még részletesen ismertetjük). nem árt, ha a mobiljainkkal is tudunk varázsolni Linux Nézzük akkor, mire van szükségünk a fentiek megvalósí- alatt. Akik járatosak Linux és a mobil rejtelmeiben, kita- tásához! Ha csak SMS-ek küldésére akarjuk használni, lálhatták, hogy a Gnokiiról és elsõsorban az infrakapuval elegendõ a 10–20 ezer forintból beszerezhetõ Nokia rendelkezõ Nokia-telefonokról lesz szó. 5110, egy soros kábel és egy például PrePaid elõfizetés. Nézzünk pár példát, miért is érdemes ezt a cikket Szükségünk van továbbá a Gnokii programra. Töltsük továbbolvasni: le a terjesztésünknek megfelelõ csomagot vagy a for- 1. Jó pár évvel ezelõtt barátomban és bennem meg- rást, és rakjuk fel. Ha soroskapu-kábellel rendelkezünk, fogalmazódott az igény egy olyan szolgáltatásra, egyszerû a dolgunk, mert a telepítés után a saját könyv- amely a következõképpen mûködik: amikor az utcán tárunkban lesz egy .gnokiirc állomány, ami a beállítá- járva az ember pénzszûkébe kerül, ha van mibõl, sokat tartalmazza. illetve mivel pénzt kivennie egy bankautomatából, [global] komoly gondot okoz, hogy hol van a közelben olyan # Ide kell a kaput rni, ahova a automata, amelybõl a pénzfelvételi költség az én # telefonunkat k t tt k. bankkártyámmal a legmegfelelõbb (vagyis a saját /dev/ircomm0,/dev/ttyUSB0 stb. bankom automatája). Így hát terveztünk egy egy- port = /dev/ttyS0 szerû rendszert, amely úgy mûködött, hogyha az ember a város, illetve a kerület néhány koordinátáját # Ide ker l a telefonunk t pusa: SMS-ben elküldte egy Linuxra kötött Nokia 5110-re, # 5110, 6110, 6210 stb. akkor a Linux egy internetes adatbázisból kikereste model = 6210 a hozzá legközelebb esõ automatákat és SMS-ben (ha kellett, több részletben) értesített, hogy hol talá- # A kapcsol dÆs m dja: serial, irda lom a kívánt bankot, illetve automatát. Ez a rendszer connection = serial – bár csak ketten használtuk – 1998-ban egyedülálló volt, ám sajnos egy merevlemez-összeomlás és # Hol talÆlhat k a Gnokii-binÆrisok a mentés hiánya miatt az örök enyészeté lett. bindir = /usr/local/sbin/ 2. Linux alatt sok különbözõ eszköz adott arra, hogy a gépeinket figyeljük, például: BigBrother, mon, net- # HasznÆljon-e eszk z lockot, ez watch, netsaint. Szinte mindegyik képes e-mailt kül- # fontos lehet, mert ha egy idıben # ketten pr bÆlnak az eszk zh z © Kiskapu Kft. Minden jog fenntartva deni egy megadott címre, ami akár Westel, illetve

10 Linuxvilág Láttuk-hallottuk

«

# fØrni, a kapcsolat megszakadhat felépítéssel ren- use_locking = yes delkezik. Nagyon ügyes, mert # A soros kapcsol dÆs sebessØge nem kézzel kell serial_baudrate = 19200 rögzítenünk Ezekután soros vagy infrakapun keresztül máris a kapcsolókat, használni tudjuk a készüléket. A fõpróbát a Gnokii valamint a tele- --monitor kapcsolóval kezdjük. Ha mûködik, fonszámokat az akkor valami ilyesmit kell látnunk: elsõ futtatás Network: Westel 900 (Hungary), alkalmával letölti  LAC: 006e, CellID: 2b65 a telefonról, így lehetõségünk nyílik rá, hogy a késõbbiek RFLevel: 40 során egy listából válasszuk ki a címzett nevét és tele- Battery: 40 fonszámát. Most már csak programozói kedv és elérhetõ SIM: Used 140, Free 60 adtabázisok kérdése, hogy milyen szolgáltatásokat Phone: Used 140, Free 360 teszünk elérhetõvé saját magunk számára: ha a banki DC: Used 0, Free 256 példát szeretnénk megvalósítani, az adatbázist keressük EN: Used 0, Free 1 a  http://www.bankkartya.hu oldalon. Továbbá bátran FD: Used 0, Free 12544 írhatunk egy egyszerû pár soros Perl-programot, ami a MC: Used 0, Free 512 már meglévõ kalendáriumunkból (például az ical) kivá- ON: Used 0, Free 15 logatja a találkozók idõpontját, és elõttük SMS-ben RC: Used 2, Free 766 értesít bennünket. SMS Messages: Unread 0, Number 27 Remélhetõleg, mindenkinek sikerült kedvet csinálnunk Amennyiben idáig eljutottunk, nagyon nagy az esélye ahhoz, hogy már meglévõ telefonját összekösse a Linu- annak, hogy ugyanez grafikus felületen is menni fog, xával. A következõ számban részletesen foglalkozunk tehát próbálkozzunk meg az Xgnokii elindításával. a kiszolgálóoldali megoldásokkal, pontosabban azzal, A Gnokii minden szolgáltatását kényelmesen elérhetjük hogyan is tudja egy a kiszolgáló soros kapujára kötött grafikus alkalmazásból, de akár egyszerû héjprogramból mobiltelefon megkönnyíteni az életünket (betárcsázás, is. Azoknak, akik az SMS-küldést önmûködõvé szeretnék távfelügyelet stb.). tenni, a konzolos elérés lesz a megfelelõ – de ha csak Varga S. Csaba egyszerûen üzenni akarunk a barátunknak, sokkal kézen- ([email protected]) Az 1.1-es Slack- fekvõbb a grafikus felületen kattintgatni. Pár szolgálta- ware óta linuxozik. Kedvtelései közé tás, amelyet elérhetünk: tartozik a fotózás és Linux telepítése • telefonkönyvek szerkesztése, illetve tárolása, PDA-kra. Legszívesebben • SMS-küldés és -fogadás, a Gerecsében túrázik a barátaival. • operátorlogó szerkesztése, • bekapcsoláskor megjelenõ logó szerkesztése, • netmonitor mûködõvé tétele, illetve lekérdezés, Kapcsolódó címek • idõ-, dátum-, illetve ébresztésállítás, Gnoki  http://www.gnokii.org • csengõhangfeltöltés. SendSMS  http://pserver.samba.org/cgi-bin/ Innentõl már a képzeletre van bízva, mire is használjuk cvsweb/checkout/gnokii/utils/sendsms a Linuxszal egybekötött telefont. Abban az esetben, ha Bankkártya-adatbázisok: a Gnokiit konzolon akarjuk használni, mert nincs lehetõ-  http://www.bankkartya.hu ségünk X-re, vagy csak úgy érezzük, hogy gyorsabbak A mobiltelefonhoz szükséges kábeleket vagyunk konzolon, egy nagyon hasznos, a Gnokiihoz írt beszerezhetjük például a programot tudunk letölteni. Ez a sendsms.sh névre hallgat.  http://www.mobiltelefonok.hu oldalon. Egyszerû héjprogramról van szó, amely párbeszédszerû © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. április 11 Láttuk-hallottuk

Ingyenes CAS bármely operációs rendszerre: a HartMath

Egy Javában íródott, GPL szerzõdés alá esõ Számí- Ismerkedés a rendszerrel tógépes Algebra Rendszert szeretnék most bemu- Javáról lévén szó nem lepõdtem meg azon, hogy az tatni. Okos és gyors – még a mai grafikus számoló- ablak két kattintás után nem pattan fel azonnal a kép- gépek mellett is tartalmaz meglepetéseket. ernyõre. Egy kicsit bosszantott, hogy az xosview-t Ha még nem hallottál a Számítógépes Algebra Rend- figyelve a program az indítás során 17 MB fizikai szerrõl (CAS), röviden elég annyit tudnod, hogy olyan memóriát evett meg, és ekkor még egy gombot sem számológép, amely számok mellett képleteket is kezel. nyomtam le. A kezelõfelület szépnek nem nevezhetõ, Vannak változói, képes törteket gyökteleníteni, és még de könnyen átlátható és tanulható. A felsõ menüsorban rengeteg feladatot megoldani, hogy a matematikai mû- a már megszokott File mellett, az Edit alatt érheted el veleteknél véletlenül se számoljuk el magunkat. Prog- a vágólappal kapcsolatos szolgáltatásokat: másolás, ramozható is, lehet benne ciklusokat, elágazásokat ké- kivágás és beillesztés. A további két menüben a gyak- szíteni. A  http://freshmeat.net-en keresgélve két ran használt függvények és példák kaptak helyet. ígéretes fejlesztést is találtam. Az egyik a Yacas (Yet A menüsor alatt található beviteli mezõben van lehe- Another Computer Algebra System), amely a tõség a képletek beírására és szerkesztésére. Ez alatt © Kiskapu Kft. Minden jog fenntartva  http://www.xs4all.nl/~apinkus/yacas.html címen számológéphez hasonló elrendezésû gombok kaptak érhetõ el, a másik pedig a HartMath helyet. A számok, zárójelek, logikai és egyéb mûveleti  http://www.hartmath.org. Ez utóbbival szerzett jelek mellett itt találhatod meg a 16-os (0x), a 8-as tapasztalataimat szeretném most megosztani veletek. (0o), és a 2-es (0b) számrendszerhez tartozó elõtagokat (prefix). Ezek mellett jobb oldalt található egy legördülõ A telepítés menü, amelyben a kimeneti formátumot adhatod meg. A most következõ lépések az elõfordított Java .jar A számos lehetõség közül most csak a LaTeX- és az állomány telepítését írják le. A program forráskódja XML-lehetõségeket emelném ki. A legalsó vezérlõelem természetesen nyílt, bárki lefordíthatja, én azonban elsõ fülén láthatod a program kimenetét. A második maradtam a kész .jar fájlnál. Mindenekelõtt ha még nem fül egy periódusos rendszert foglal magában, a harma- rendelkeznél Java Virtuális Géppel (JVM), telepíts egyet. dikon háromdimenziós függvényeket rajzolhatsz, míg Javaslom a Sun-féle J2RE (Java 2 Runtime Environ- a negyediken paraméteres egyenletek jeleníthetõk ment) megvalósítást. Ez jelenleg az 1.3.1-es változatnál meg grafikonon. tart, eléggé megbízható, és viszonylag gyors is. A tele- pítõt a  http://java.sun.com címrõl ingyenesen letölt- A nyelv alapjai heted. Ez egy .bin kiterjesztésû állomány, és ha kiadod A rendszer programozható. Saját nyelve van, amely a bash j2re-verzio.bin parancsot, a felhaszná- nagyon könnyen elsajátítható. Sõt, ha valaki ismeri egy lási szerzõdés elfogadása után szó nélkül kicsomagolja kicsit a C-t, annak a HartMath ebbõl a szempontból magát a pillanatnyi könyvtárba. Én ezt követõen átmá- semmi újat nem fog mutatni. soltam a /opt-ba, és /usr/bin/java néven készítettem Mindenekelõtt meg kell értened a numerikus és a egy közvetett hivatkozást a /opt/jre1.3.1_02/bin/java szimbolikus kiértékelés közti különbséget. Ha egy kife- állományra (amely szintén csak egy hivatkozás, de ez jezést numerikusan értékelünk ki, csak a számered- ebbõl a szempontból lényegtelen). Mivel a /usr/bin ményt kapjuk meg, még akkor is, ha az esetleg nem benne van a PATH környezeti változóban, a Java már pontos (akár a számológép). Ellenben a szimbolikus futtatható. Ellenõrzésképpen beírhatod a következõt: kiértékelésnél a végtelen szakaszos tizedes törtek meg- $ java -version maradnak két szám hányadosaként, az irracionális Amire én ezt kaptam: számok nem kerülnek „kiszámolásra” stb. A legjobb java version 1.3.1_02 példa a gyök kettõ, amelyrõl bizonyított, hogy irracio- Java(TM) 2 Runtime Environment, nális. Numerikus kiértékelés esetén az Sqrt(2) Standard Edition (build 1.3.1_02-b02) parancsra az 1,4142135... eredményt kapjuk, szimbo- Java HotSpot(TM) Client VM (build likus esetén viszont gyök kettõt. 1.3.1_02-b02, mixed mode) Az alapmûveletek a C-hez hasonlóan a +, -, *, / jelekkel Ezekután itt az idõ, hogy beszerezd a HartMathot. A fen- végezhetõk el. A hatványozás jele a ^, a faktoriálisé a !. tebb említett címrõl letölthetsz egy Javában írt telepítõt. Zárójelek is használhatók, például a (2^3)/(2-4+5*3) Ha megvan a hartmathverzioinstall.jar fájl, a java -jar kifejezést szimbolikusan kiértékelve a 8/13 eredményt fajlnev.jar paranccsal indítsd el egy terminálról. kapjuk. Lehetõség nyílik változók használatára. Így az Ez azonban grafikus felületet igényel, tehát a legjobb, x=2; y=3; x*y kifejezés értéke 6. Összevont mûveleti ha az X-et rendszergazdaként indítod (és utána gyorsan jelekkel is dolgozhatunk: x/=2 (ami egyenértékû az ki is lépsz). A telepítés innentõl már nagyon egyszerû. x = x / 2 kifejezéssel). Használhatunk függvényeket is, Én a /opt/HartMath07pre19 könyvtárba telepítettem, többek között a gyökvonást, a szinuszt és koszinuszt, és egyúttal ide tettem a rendszer pdf formátumú kézi- a vektorok értelmezése pedig csak ezek segítségével könyvét. Ez nincs benne a telepítõcsomagban, ugyan- oldható meg. Egy változó törlése is egyedül függvénnyel csak a fenti címrõl külön tölthetõ le. lehetséges: Clear(x).

12 Linuxvilág Láttuk-hallottuk

«

Jelentõsebb függvények Az elott a ciklusba történõ belépés elõtt fut le. • Print(arg) A feltetel minden iteráció elején, és ha hamis lesz, A megadott argumentumot kiírja a képernyõre, a ciklus nem fut tovább. Az utan minden iteráció végén és Null értékkel tér vissza. értékelõdik ki. A kifejezes a ciklusmag. • Print( Szia vilÆg! ) For (i=0,i<10,i++,Print(i)) • Div(arg1,arg2) -> 0 1 2 3 4 5 6 7 8 9 Az arg1 és arg2 maradékos osztásából származó Ezek alapján készítsünk egy olyan programot, ami 2-tõl egész rész. 100-ig írja ki a prímszámokat. Nyilván szükség lesz egy • Div(13,8) -> 1 számlálós ciklusra. Ezen belül ellenõrizzük, hogy a • Mod(arg1,arg2) ciklusváltozó prím-e, és ha igen, írjuk ki a képernyõre. Az arg1 és arg2 maradékos osztásából származó For (i=2,i<100,i++,If(IsProbablePrime maradék. (i),Print(i),Null,Null)) • Mod(13,8) -> 5 A Null értékekre azért van szükség az If()-ben, mert • Log(arg) a mezõket nem lehet üresen hagyni, még akkor sem, © Kiskapu Kft. Minden jog fenntartva Az arg természetes alapú logaritmusa. ha az adott ágba semmit sem akarsz semmit. • Log(E^3) -> 3 Függvények, fájlok használata • Sqrt(arg) A HartMathban saját függvények írására is lehetõség Az arg négyzetgyöke, például Sqrt(25) -> 5. nyílik. Egy jól megírt függvény nem baj, ha megmarad • PieChart(lista) a merevlemezen, és késõbb vissza lehet tölteni. Ezt a „Tortadiagramot” rajzol egy újabb fülre a listában lehetõséget egy példán keresztül szeretném bemutatni. megadott értékek alapján. A lista elemei { és } kap- Clear(x); kobre(x_)=x^3 csos zárójelek között helyezkednek el, és vesszõvel Ez a kifejezés létrehoz egy kobre() függvényt, amely vannak elválasztva, például PieChart({1,2,3}). az átadott értéket köbre emeli. Ki is próbálhatod: • IsProbablePrime(arg) kobre(2) -> 8 A JVM BigInteger.isProbablePrime Fontos, hogy a függvény változói a függvény megha- megvalósítás alapján nagy valószínûséggel meg tározása elõtt más kifejezésekben nem használhatók. tudja állapítani, hogy prím-e, például Ezért szerepel egy Clear() utasítás még az elején. IsProbablePrime(63) -> False. Láthatod azt is, hogy a függvény változói az értéklis- • Fibonacci(n) tában egy aláhúzásjellel bõvülnek. Meghatározza a Fibonacci-sorozat n-edik elemét, Van már egy jól mûködõ függvényünk, de ha most ki- például a Fibonacci(3333) -> kifejezésre egy lépsz a programból, elveszik. Ha késõbbre is meg szeret- egész képernyõt betöltõ számot kaptam, méghozzá néd õrizni, a mentésre használd a WriteObject() meglepõen gyorsan. függvényt. Ezzel nemcsak függvényeket, hanem bármi- • SolveP(polynom,valt) lyen kifejezést, például egy elõzõ számítás végered- A legfeljebb másodfokú polinomot megoldja a ményét tartalmazó változót is menteni lehet. Az így változóra, például a SolveP(x^2,x) kifejezés mentett állományok a /.hartmath/ az x^2=0 egyenlet gyökeit keresi. Eredményül hmscripts könyvtárba kerülnek. a {0,0} listát kapjuk, ebbõl látszik, hogy egyetlen WriteObject( kobos ,kobre(x_)=x^3) megoldása van. Ezzel a fenti könyvtárban létrehozol egy kobos.hm Programozni jó különleges formátumú fájlt. Ezt a ReadObject()-tel A HartMath saját nyelve is tartalmazza az összes lehet visszatölteni: eset+szétválasztásos módszert és ciklusszervezõ eljá- ReadObject( kobos ) rást, én mégis csak kettõt mutatnék be. A nyelv primi- Végezetül tívekbõl építkezik, így egy elágazás nem több, mint egy Mindent egybevéve a HartMath nagyon jó rendszer. függvény a megfelelõ értékekkel ellátva. Látszik rajta, hogy nem érte még el az 1.0-s változatot, If (allitas, igaz_ag, hamis_ag, mert a kézikönyvben vannak olyan függvények, amelyek egyeb_ag) a programban nem mûködnek, viszont üzembiztos, így Ha az allitas igaz, az igaz_ag értékelõdik ki, ha a mindennapi használatra is nyugodtan ajánlhatom. hamis, akkor a hamis_ag, és ha logikailag nem értelmezhetõ az allitas, akkor pedig az egyeb_ag. If(22,Print( Igaz ),Print( Hamis ), Fülöp Balázs Print( nem logikai kifejezØs! )) ([email protected]) 17 éves, imádja  nem logikai kifejezØs! a Túró Rudit, a Debian Linuxot és a te- If(True,Print( Igaz ),Print( Hamis ), heneket. Az ELTE Radnóti Miklós Gya- Print( nem logikai kifefejezØs! )) korlóiskola tanulója immár ötödik éve. -> Igaz Kedvenc írója Slawomir Mroek. Legin- For (elott,feltetel,utan,kifejezes) kább a számítógépes hálózatok biztonsága érdekli.

www.linuxvilag.hu 2002. április 13 Láttuk-hallottuk

Nyomtatni jó

Ez elsõ hallásra elég bugyuta megállapításnak tûnhet, Mivel azonos célra készültek, nem meglepõ módon a ké- ám bizonyos kimutatások szerint annak ellenére, hogy pességeik nagyon hasonlóak; ezen kár is volna megle- az informatika korába léptünk, és gyakorlatilag minden põdni, autóból is mindenki négykerekût gyárt, a lényeg olvasnivaló elérhetõ és megtekinthetõ valamilyen kép- pedig ezúttal is a részletekben rejlik: mennyire kezelhetõ ernyõn, mi azért mégiscsak szeretünk nyomtatni, még- jól a készülék, esetleg mennyi és milyen jótállást vagy hozzá egyre többet. Jobban szeretjük ugyanis a jelenté- támogatást kapunk hozzá. seket mutatós könyvtárakba Zero One Technologies P300 1. helyezni, sokan elektronikus Mivel a téma iránti érdeklõdésemet a Humansoft AHT leveleiket is szívesebben hírlevelében meglátott Zero One Technologies – a továb- olvassák nyomtatva – így biakban ZOT – termék keltette fel, vele kezdeném a nyomtatási vágyainknak sem- termékek ismertetését. Rajta keresztül igyekszem bemu- mi sem szab gátat. tatni mindazt, amit a készülékek rendkívül hasonló tudá- Ha már féktelenül nyomta- sából fel tudtam mérni – sajnos mindenre kiterjedõ vizs- tunk, általában megpróbáljuk gálatot nem sikerült végeznem, például NetWare kiszol- olcsón tenni. Egy asztali 2. gáló nem volt kéznél (1. kép). tintasugaras nyomtatóba két- Miután nyomtatókiszolgálónkhoz hozzájutottunk, az elsõ, hetente patront venni ugyanis amit szemügyre kell vennünk, a csomagolás. A ZOT anyagi szempontból elég termékét gondos szivacságy óvja a Tajvan – Magyaror- megrázó, nagyobb teljesít- szág viszonylatban megtett utazás viszontagságaitól, ményû, olcsón üzemeltethetõ ez esetben viszont meg kell szabadulnunk tõle. A táp- lézernyomtatót viszont nem egység apró papírdobozban rejlik, a mellékelt programot érdemes minden asztalra két hajlékonylemezen kapjuk, és a dobozban még egy venni – meg kell osztani a angol nyelvû könyvecskét is találunk, amely kellõ részle- munkatársak között. A meg- tességgel taglalja a telepítést Windows, Novell osztást rengetegféle módon NetWare, Sco Unix és Solaris operációs rendszer alatt. 3. lehet intézni. Ha a munka- Elsõ lépésként adjunk áramot a készüléknek, és nem árt csoport rendelkezik valami- egy hálózati kapcsolat sem. A tápellátás meglétérõl egy lyen – akár Novell NetWare-t, erõsen pirosló LED fénye értesít, a hálózati kapcsolat Windowst vagy Linuxot fut- létrehozását pedig zöld társa nyugtázza. Magát a hálózati tató – központi kiszolgálóval, forgalmat a készülék tetején elhelyezett zöld lámpácska akkor érdemes ezt befogni 4. villogása jelzi – a kezelõ –, és visszajelzõ szervek felso- a célra, ha viszont nem, gon- rolása ennyiben ki is merült. A készülék hátulján kapott dok lehetnek, hiszen a kiszol- helyet a három párhuzamos kapu, amelyeket sajnos el- gálókkal ellentétben a munka- felejtettek megszámozni, így a szomszéd szobában ta- állomások nem biztos, hogy nyázó munkatárstól szerzett filctollal hamarosan kiélhet- folyamatosan elérhetõk, így jük mûvészi és díszítési hajlamainkat. Én ezt a fontos nem célszerû rájuk közös lépést kihagytam, tekintettel a készülék itt tartózkodá- nyomtatót kötni. sának ideiglenes jellegére. Sokszor kellemetlen az is, Második lépésünk célszerûen a felügyeleti program tele- hogy a jelenleg még fõleg pár- pítése, ami ebben az esetben egy kisméretû, könnyen huzamos kapura csatlakoz- kezelhetõ és jól áttekinthetõ, PSAdmin névre hallgató tatott nyomtatók használata – windowsos – program telepítését jelenti. Indításkor a sok erõforrást foglal le – a múltból ránk ragadt õsi pár- PSAdmin szórásos csomagokkal megkeresi a nyomtatóki- huzamos kapu kezelésekor a gép teljesítménye feltû- szolgálót, aminek azonnal megkezdhetjük a beállítását. nõen romlik. Jobb tehát lerázni ezt a terhet: itt lépnek Elõször is adhatunk neki jelszót, amivel a többi felhasználót a képbe a nyomtatókiszolgálók, mégpedig a szónak megakadályozhatjuk a beállítások módosításában. Adha- abban az értelmében, amely egy apró dobozkát jelent. tunk neki nevet is, ez a könnyebb azonosítást szolgálja A dobozka sokféle lehet, de mindenképpen jellemzõ rá, akkor, ha több készüléket is csatlakoztatunk a hálózatra. hogy önálló tápellátással és hálózati kapcsolattal rendel- A készüléknek adhatunk IP-címet, illetve úgy is dönthe- kezik, többféle hálózati protokollt támogat, így vegyes tünk, hogy ezt DHCP-kiszolgálótól szerezze be. Amennyi- hálózatokban is használható, valamint egy vagy több ben NetWare-környezetben dolgozunk, többek közt meg- nyomtató kezelésére képes. Az egyszerûbb típusok csak adhatjuk, hogy a készülék melyik NDS-fába tartozzon, 10 Mb/s sebességû ethernetcsatolót kapnak, és általá- milyen néven legyen elérhetõ, illetve milyen jelszóval ban csak egyetlen párhuzamos kapuval rendelkeznek, jelentkezzen be. Ha a hálózaton AppleTalk protokollt is míg a nagyobbak 10/100 Mb/s sebességû csatolóval és használunk, meg kell határoznunk a zóna nevét, és ki kell három kapuval is bírnak. Én ez esetben a nagyobb választanunk az egyes kapukra csatlakoztatott nyomtató

© Kiskapu Kft. Minden jog fenntartva teljesítményû változatokból szereztem be négy típust.

14 Linuxvilág Láttuk-hallottuk

«

típusát, valamint az általa használt adatformátumot. 4. Reset Print Server Mivel SNMP segítségével távolról is megfigyelhetjük 0. Exit Setup a nyomtatókiszolgálót, megadhatjuk a kapcsolattartó nevét, helyét, a közösségi neveket, valamint beállíthatjuk Enter your choice -> az SNMP-csapdák mûködését. Ha a telnetes felület sem nyeri el a tetszésünket, kerít- Ha a kiszolgáló beállításával megküzdöttünk, még ko- sünk egy webböngészõt, és a címsorba írjuk be a nyom- rántsem végeztünk, hiszen a megfelelõ kapukat az ügy- tatókiszolgáló IP-címét! Mivel egyszerû webkiszolgáló is feleken is be kell állítani, valamint telepíteni kell a nyom- helyet kapott benne, pillanatok alatt megjelenik a készülék tatók illesztõprogramjait. 5. Windows alatt változattól függõ, hogy a nyomtatót elõ- állapotáról tudósító oldal, és ször fel kell-e telepítenünk a helyi párhuzamos kapura a beállítások módosítására is csatlakozó eszközként, majd késõbb módosíthatjuk az ál- lehetõség nyílik (5. kép). tala használt kaput, vagy azt a telepítés közben is létre- Lehetõség van arra is, hogy hozhatjuk. A lényeg mindkét esetben ugyanaz: a létre- a nyomtatókiszolgáló IP-címét © Kiskapu Kft. Minden jog fenntartva hozható és a rendszerhez hozzáadható kaputípusok kö- DHCP-kiszolgálótól szerezze be. zött – hála a készülék illesztõprogramjának – megjelenik Ezt a lehetõséget nem próbál- egy új, Zero One Network Port nevû. Ezt kell kiválasz- tam ki, de nem is nagyon ér- tanunk, majd a felbukkanó ablakban megadni, hogy tem: ha a kiszolgáló dinamiku- a kiszolgáló melyik kapuját szeretnénk használni. san változó IP-címet kap, az Adhatunk neki valamilyen könnyen megjegyezhetõ nevet ügyfeleken viszont IP-cím alap- is, majd miután a rendszert az új kapuval kibõvítettük, ján telepítettük a kapukat, akkor ennek használatára kell beállítani az új nyomtatót, és honnan fogják tudni, hogy a végeztünk is (2. kép). kiszolgáló éppen melyik IP-címet Természetesen nem kötelezõ az illesztõprogram szolgál- használja? Az sem kellemes tatásait kihasználni, Windows NT vagy 2000 alatt szab- dolog, hogy ha nincs kéznél a ványos TCP/IP-kaput is telepíthetünk, és házi nyomdán- PSAdmin futtatására alkalmas kat lpr nyomtatóként használhatjuk. windowsos gép, akkor telepí- Linux alatt – Red Hat 7.1 terjesztéssel próbálkoztam – téskor a kiszolgáló fizikai címe 6. sem bonyolult a dolog, a printtool indítása után vára- alapján – szerencsére ez rá van kozási sorként válasszunk UNIX lpd-t, adjuk meg a nyomtatva a doboz aljára – kell kiszolgáló IP-címét, a kiszolgálón pedig az lp1/lp2/lp3 kinyomoznunk annak alapálla- várakozási sort válasszuk attól függõen, hogy melyik potban felvett IP-címét. Ezeken kaput szeretnénk használni. Természetesen a nyomtató az apróságokon viszonylag típusát is ki kell választani, valamint néhány további, könnyen túl lehet lépni, de azért általános beállítást is megadhatunk, például a papír- nem árt számolni velük. méretet (3–4 kép). A gyártó honlapja szégyen- Adatok Elsõre én is így tettem, csakhogy a HP 6L nyomtató lõsen bújik meg a Végfelhasználói árak, jótállás:  http://www.zot.com.tw a próbanyomtatáskor szemetet kezdett el gyártani. Edimax: kb. 40 000 Ft + áfa, 3 év; címen, és sajnos csak az ottani A gondon a „Strict RFC1179 Compliance” jelölõnégyzet Linksys: kb. 46 000 Ft + áfa, 1 év; – valamilyen távol-keleti – nyel- bekapcsolása segített, ettõl kezdve mind a HP, mind D-Link: kb. 45 000 Ft + áfa, 5 év; a kiszolgáló másik kapujára kötött tûs Epson LQ-550 ven érhetõ el. A szerencsénk az, ZOT: 47 800 Ft + áfa, 2 év, 1 hét nyomtató szépen nyomtatott. hogy a HTML-fájlok nevét õk is pénzvisszafizetési garancia. Természetesen nem kell feltétlenül windowsos gépet kénytelenek voltak angolul írni, fenntartanunk arra a kizárólagos célra, hogy a nyom- így a hivatkozásokat figyelve Forgalmazók Edimax: Kelly-Tech Kft. tatókiszolgálót beállítsuk. Lehetõség nyílik arra is, hogy nagyjából tájékozódhatunk az  http://www.kellytech.hu -en keresztül lépjünk be rá, majd egy egyszerû oldalon. Például frissítéseket telefon: 350-1246 menü pontjaiban lépkedve minden beállítást módosítha- tölthetünk le, hiszen a készülék belsõ programja flashmemó- D-Link: CHS Hungary Kft. tunk, valamint állapotfigyelést is végezhetünk.  Telnet Service on the PrintServer riában található, és szükség http://www.chs.hu/ szerint frissíthetõ. telefon: 451-3500 : Linksys: Alphasonic Kft. D-Link DP-300  ** Main Menu on Printer Server ** http://www.alphasonic.hu Miután a ZOT termékét nagy- telefon: 350-6822 jából kiveséztem, a D-Link 1. Look at status in Print Server ZOT: Humansoft AHT Kft. hasonló készüléke következett. 2. Setting value in Print Server  http://www.humansoftaht.hu Érdekessége, hogy a felhasz- 3. Load Default telefon: 414-4048 nálók között két párhuzamos

www.linuxvilag.hu 2002. április 15 Láttuk-hallottuk

«

és egy soros kaput oszt meg. Jómagam ugyan még könyvre is ráférne némi frissítés, hiszen hiába ad érté- sosem láttam soros kapura csatlakozó nyomtatót, kes tudnivalókat a Windows NT 3.51 vagy a Novell de ahol ilyet használnak, ott jó szolgálatot tehet. NetWare 3.x alatti telepítéssel kapcsolatban, ha az Érdekessége még, hogy nem gumitalpakat kapott, újabb Windows és Novell operációs rendszereket meg hanem kisebb vágatokat a sem említi. 7. hátoldalára, így a dobozban Újdonság, hogy a készülék elvileg támogatja a NetBEUI mellékelt kiegészítõk segít- protokollt, és a Microsoft Networköt tallózva ezáltal ségével falra is szerelhetõ. megosztott nyomtatóként látszik. Pontosabban látszana, A jelzõfények az elõlapon mert érthetetlen okból – bizonyára az én ügyetlenségem kaptak helyet, külön lámpa miatt – nem látszik. Ettõl még lehet használni, ugyan- jut a tápnak, a hálózati kap- olyan TCP/IP-alapú eszközként kell telepíteni, mint a ZOT csolatnak és minden egyes termékét. Ehhez nemcsak Windowsokhoz, hanem BSD-, kapunak (6. kép). Sco Unix- és Solaris-rendszerekhez is részletes telepítési A D-Link ugyancsak gondos leírást kapunk. Mivel a Windows 9x/ME-rendszer alapál- © Kiskapu Kft. Minden jog fenntartva csomagolással látta el termé- lapotban nem támogatja a TCP/IP-alapú nyomtatást, egy két, a vaskos szivacspárnák megfelelõ illesztõprogramot is mellékeltek a CD-n, a tele- közt biztosan nem esik bántó- pítésével úrrá lehetünk ezen az apró gondon. 8. dása a fekete színû doboznak. Érdekesség még, hogy a D-Link DP-300-ra FTP- és TFTP- A csomag tartalmát egy papír- protokoll segítségével is nyomtathatunk, ha egyszerû lapon sorolják fel, a telepítés szöveges állományokról van szó. A gyártó üzemi nyom- legfontosabb lépéseirõl kis, tatásra nem javasolja ezt a lehetõséget, tesztelni azon- többnyelvû füzet tájékoztat. ban kiválóan lehet vele. A CD-lemezen kapott felü- Itt érdemes megemlíteni, hogy FTP-alapú nyomtatáskor gyeleti programot a fejlesztõk – ha több géprõl is nyomtatunk egyszerre – a különféle – alighanem tomboló fantázi- nyomtatási feladatok összekeveredhetnek. Más körül- ájuk nyomásának engedve – mények között ilyesmit nem tapasztaltam. Amikor mind- PS Admin névre keresztelték. két nyomtatóm egyszerre küzdött egy-egy nagyméretû 9. A programot futtatni felér egy pdf fájllal, érzésem szerint mintha kicsit lelassult volna idõutazással, mindazonáltal a feldolgozás, de a két nyomtató egymástól függetlenül, még Windows XP alatt is párhuzamosan dolgozott. remekül mûködött. Sajnos ftp 192.168.72.12 csak akkor volt hajlandó meg- Connected to 192.168.72.12. találni a kiszolgálót, ha 220 FTP server ready. IPX/SPX protokollt is telepítet- User (192.168.72.12:(none)): tem, ami – figyelembe véve, 231 User name accepted. hogy lassan kikopik a hasz- ftp> put teszt.txt DLINK-P1 nálatból – nem biztos, hogy túl 200 OK. szerencsés (7. kép). 150 Opening data connection. 10. A PS Admin beállítási lehe- 226 Closing. tõségei minden igényt ftp: 1563 bytes sent in 0,02Seconds kielégítõk, a TCP/IP, IPX/SPX, 78,15Kbytes/sec. AppleTalk és NetBEUI pro- ftp> quit tokollok támogatását külön ki- 221 Goodbye. bekapcsolhatjuk, a kapuk Linksys EPSX3 sebességét és egyéb tulaj- A Linksys jellegzetes kék-naracs színû dobozában a nyom- donságaikat egyenként adhat- tatókiszolgálót tojástartó jellegû védõborítás vette körül. juk meg – ez a lehetõség Tervezõi a készüléket némi lekerekítéssel tették áramvo- a ZOT esetében valamiért nalassá, amely azért így sem kapna formatervezési nagy- elérhetetlen volt –, a készülék díjat – igaz, nem is ez a cél. Meglepetést okozott, hogy az IP-címét RARP, BOOTP amikor még nem kapott tápot, de az egyik nyomtató ká- és DHCP segítségével egyaránt beszerezheti. belét már csatlakoztattam rá, varázslatos módon kigyul- Kihasználva a CD által biztosított bõséges helyet, ladt rajta a piros hibajelzõ lámpa. Emellett egyébként még a D-Link a korongon pdf formátumban mindenre kiter- egy állapotjelzõ található, amely a hálózati forgalomról is jedõ kézikönyvet helyezett el. A leírásban – természe- értesít, valamint a fizikai hálózati kapcsolat meglétét egy tesen angolul – részletesen taglalják a PS Admin és további jelzõfény nyugtázza. A hálózat sebességét a a használatához szükséges IPX/SPX protokoll telepí- készülék oldalán elhelyezett DIP-kapcsolókkal állíthatjuk tésének és a készülék beállításának menetét. A kézi-

16 Linuxvilág Láttuk-hallottuk

«

önmûködõ választásúra, 10 és 100 Mb/s-ra, valamint fél- az utóbbit választjuk, melléjük egy felügyeleti program, és teljes kétirányú módba is válthatunk. Ugyancsak itt valamint egy Internet Explorer és Netscape Navigator kapott helyet egy RESET gomb is (8. kép). alatt használható beépülõ modul Az EPSX3 alapszolgáltatásairól az eddigiek fényében is társul, amellyel elvileg Kapcsolódó címek kár lenne külön szólni, az illesztõprogram telepítése után böngészõn keresztül is a rendszerhez hozzáadható kapuk listájában újabb típus lehetségessé válna a készülék  http://www.edimax.com/ jelenik meg, és a kicsit korosnak tûnõ BiAdmin nevû felü- felügyelete – ez sajnos nekem  http://www.dlink.com gyeleti program sem vonultat fel különösebb újdonságo- nem sikerült.  http://www.linksys.com kat. Dicséretes ugyanakkor, hogy a mellékelt CD-n a leg- Különösebben nem is hiányzott,  http://www.zot.com.tw különfélébb operációs rendszerekhez nagy mennyiségû hiszen a böngészõbe egyszerûen leírást és mindenféle illesztõprogramokat találunk, sõt a kiszolgáló IP-címét beírva a még DOS alá is kapunk beállító segédprogramot (9. kép). beépített webkiszolgálót 11. Sokkal érdekesebb ennél, hogy a Linksys mintha egy használhatjuk, másrészt a kicsit többet tudott volna kihozni a témából. A mellékelt PrintSir nevû felügyeleti prog- programok segítségével például internetes nyomtatót te- rammal minden beállítás elér- lepíthetünk. Ekkor a nyomtatni kívánt anyagot a nyomtató hetõ. A programozók ezúttal felé elektronikus levélben fogjuk továbbítani, a leveleket nem akartak túl nagyot és öt- az illesztõprogramnak kell a túloldalon a levelezõkiszolgá- leteset alkotni, az egyes tulaj- lóról letöltenie, majd gondoskodni a nyomtatásukról. donságokat egyszerûen lapokra Welcome to Print Server csoportosították. Ezekbõl alap- állapotban is meglehetõsen sok PS>monitor van, de ha IPX/SPX-protokollt is telepítünk, akkor tovább osz- 12. (P1)STATE: Idle tódnak (12.kép). TYPE: Parallel A kapuk hozzáadásával ez eset- PRINTER STATUS: On-Line ben nem nekünk kell bajlódnunk. Elsõ telepítéskor megadhatjuk, (P2)STATE: Idle hogy mely kapuk – és milyen TYPE: Parallel névvel – legyenek elérhetõk, ké- PRINTER STATUS: Offline sõbb a telepítõ magától hozzáad- ja õket a nyomtatók által hasz- (P3)STATE: Idle nálhatók listájához, és nekünk TYPE: Parallel csak válogatnunk kell közülük. PRINTER STATUS: On-Line A PrintSir is felkínálja az elektro- nikus levélben érkezett anyagok PS> nyomtatásának lehetõségét. PS>exit Leírások tekintetében ugyan- A Linksys készüléke telnet alapon nem állítható be, ezzel akkor kicsit mostohán bánnak a módszerrel csupán megfigyelést végezhetünk. A készü- velünk. A gyors telepítési útmu- lék beépített webkiszolgálója viszont igényes felületet biz- tatót, valamint a teljes kézi- tosít, a segítségével minden beállítást elérhetünk (10. kép). könyvet ízlés szerint angol és hagyományos kínai nyelven Edimax PS-3101P olvashatjuk. Maguk a leírások részletesek, kivitelezésük Az Edimax készüléke nem a méreteivel hívja fel magára igényes, ám kizárólag Windows és NetWare operációs a figyelmet, hanem azzal a vörös színû mûanyag betét- rendszereket említenek meg, Unix-rendszerekkel kapcso- tel, amelyet a szürke színû doboz tetejére illesztettek. latos szolgáltatások szóba sem kerülnek. Az eddigiek Semmi unalmas szögletesség: ha ügyesen helyezzük el alapján azonban nem szoríthatnak sarokba bennünket, az irodában, akár jól is nézhet ki. Õ kapta a legtöbb hiszen az IP-címet felhasználva a korábbiakhoz hasonló lámpát, külön fény jelzi a tápellátást, a hálózat 10 vagy lpr nyomtatóként eszközeinket most is telepíthetjük. 100 Mb/s sebességû voltát, valamint az egyes kapuk használatát. Csomagolása tömör, célratörõ, szakképzett- ség nélkül egyszersmind megismételhetetlen (11. kép). Medgyesi Zoltán ([email protected]) A mellékelt CD-t a meghajtóba helyezve Windows alatt A BMGE 24 éves informatika szakos hallgatója. hamarosan egy apró program bukkan fel, amely felajánl- Szabadidejét legszívesebben a barátnõjével tölti. ja az ügyfélként és a rendszergazdaként való telepítést. Szeret autózni és bográcsban fõzni. A Linuxot hat Elõbbi esetben csupán a kiszolgáló használatához szük- éve ismeri, de még nem volt lelkiereje, séges illesztõprogramok kerülnek a gépre, ha pedig hogy áttérjen rá. A Linuxvilág hírszerkesztõje. © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. április 17 Láttuk-hallottuk

Linux-index

1. A 65 év felettiek aránya Németországban várhatóan 12. Ennyi százalékkal nõtt a webes hibafelügyelet ekkorra éri el a lakosság ötven százalékát: 2030 (1×1 képpontos ellenõrzõ képek) alkalmazása 2. A 65 év feletti népesség növekedési arányának három év alatt, 2001 augusztusáig: 500 ennyiszeresével fog csökkenni a 35 év alatti német 13. A száz leglátogatottabb weboldal közül ennyi használ lakosság, ha a születési arány nem változik: 2 valamilyenfajta weboldalszármazékot (kéretlen 3. Ennyi millió bevándorlót kell majd Németországnak ablakok nyitása) (százalék): 30 évente befogadnia, hogy a jelenlegi munkaerõt 14. A száz legnépszerûbb európai tartomány közül ennyi eltartsa: 1 alkalmaz származékot (százalék): 20 4. Ennyiszer nyerte meg Tove Torvalds a finn 15. Az Interneten a webhelyek ennyi százaléka alkalmaz karatebajnokságot: 6 „egérfogót”, amellyel megakadályozza a weboldal 5. Ennyibe kerül az a Windows hálózati megoldás, amit bezárását és a Vissza gomb használatát: 5,7 a CRN tesztközpontban kipróbáltak: 4,688 dollár 16. A szexuális partnerek átlagos száma a 16–55 évesek 6. Ennyibe kerül a vele egyenértékû, Linux-alapú körében az Egyesült Államokban: 14,3 hálózati megoldás ugyanabban a CRN tesztköz- 17. A nemi érintkezés átlagos, évi gyakorisága pontban: 317 dollár ugyanebben a körben az Egyesült Államoban: 124 7. Ennyi százalékos ármegtakarítást jelent a Linux a 18. A fenti két eredmény helyezése a kutatásba bevont Windowszal szemben a CRN tesztközpontban: 93 27 ország körében: 1 8. Az emberiség ennyi százaléka él napi két dollárnál Források kevesebb pénzbõl: 50 1–3.: Economist 9. Ennyi milliárd ember él napi egy dollárnál kevesebb 4.: Open Source Initiative pénzbõl: 1 1 5–7.: Computer Reseller News 10. Percenként ennyi nõ hal bele a szülésbe: 1 8–11.: Bill Clinton 11. Ennyi napi aktatologatást jelent egy pékség 12.: CNET, a Cyveillance adatai alapján hivatalos megnyitása Kairóban: 500 13–15.: Cyveillance

Linux Torvalds megkapta a Világtechnológia díjat

Linus Torvalds nyerte a 2001. évi Világtechnológia díjat Tovább idézve a weboldalt: a kereskedelmi szolgáltatások osztályában. Ezeket a „A Linux az egyik legfontosabb operációs rendszer, díjakat a World Technology Network (Világtechnológia vetekszik a Unixszal és az MSDOS-szal. Különösen nagy Hálózat) adományozza „elismerésül azoknak az egyéni fontossággal bír a hordozható kommunikációs eszközök, vezetõknek vagy esetenként csapatoknak, akik a leg- a webkiszolgálók és az Internet fejlesztése terén, vala- nagyobb mértékben segítették elõ az üzleti élet és a mint számos más számítási, hálózati és IT-területen. társadalom javát szolgáló különféle technológiák kifej- Linus Torvalds nemcsak kimagasló tehetségû program- lesztését”. Azokat az újítókat tüntetik ki, akiknek a közel- tervezõ, de a nyílt forrás programközösség vezetõ múltban végzett munkája hosszú távon várhatóan igen személyisége is.” nagy jelentõségûnek és hatásúnak bizonyul majd, és A 2001. évi díjak nyerteseinek nevét 2002 elején hozták akik valószínûleg a következõ évek technológiai életének nyilvánosságra. Huszonhárom tárgykörben osztottak kulcsfigurái lesznek vagy maradnak. díjat, s minden osztályban öt esélyes jelölt közül kellett Ezenkívül a díjakat „olyan személyiségek kaphatják meg, választani. Néhány további tárgykör gyõztesei: akik jelenlegi munkája a szervezet szerint a legösztönö- • Lawrence Lessig, a Stanford University jogi profesz- zõbb hatással lesz a jövõre… akár elõre látható, akár szora és szerzõ – a Jogi tevékenység csoportban. váratlan területeken.” • Robert Metcalfe, az feltalálója és a 3Com „Linus Torvaldsot választottuk a Linuxszal kapcsolatos alapítója – a Kommunikációs technológia osztályban. tevékenységéért és a nyílt forrású programmodell meg- • Gordon Moore, az Intel társalapítója és nyugalmazott teremtéséért” – olvasható a díjak weboldalán. elnöke – az IT Számítógép-alkatrészek tárgykörben. „Linus Torvalds írta a Linux rendszermagját, és õ alkotta • Shawn Fanning, a Napster szerzõje – két osztályban meg a nyílt forrású programmodellt, amely forradalmi is nyert: a Szórakoztatás és a Vállalkozás osztályában. újításnak tekinthetõ a programkészítés terén. Nemcsak A díjazottak teljes listája a Nature honlapján tekinthetõ az egyik legjelentõsebb program megtervezése fûzõdik meg:  http://www.nature.com/nature/wta a nevéhez, hanem egy új, átfogó programtervezési mo- dell létrehozása is.” Doc Searls © Kiskapu Kft. Minden jog fenntartva

18 Linuxvilág Láttuk-hallottuk

Linux-alapú Google-szerkezet

Emlékszem az esetre, amikor néhány évvel ezelõtt a Google-ban hirdetünk.” A helyzet az, hogy olyannyira a Linux egyik szakértõje a Google-ról beszélt nekem. eredményesek, hogy annak ellenére is ott hirdetnek, Azt mondta, hogy az új keresõmotor – amely akkor hogy helytelenítik a Google azon politikáját, miszerint még csak a nyilvános bétaváltozatban létezett – kiemel- a technológiájukat szabadalmaztatják. Cindy hozzátette: kedõen jó lesz, mert Linux-kiszolgálókra építették fel. „A kulcsszavakra irányuló megközelítési mód nagyon Nem hittem neki. Abban az idõben a HotBot volt a ked- jól mûködik. A látogatók több mint két százaléka venc keresõmotorom, amelynek teljesítménye az engem rákattint a reklámokra, és ez legjobban érdeklõ területen mindig felülmúlta az összes az arány körülbelül ötször ma- többi keresõmotor teljesítményét: a dokumentumoknak gasabb a hagyományos sza- olyan karakterláncok alapján történõ megtalálásánál, lagfejléces hirdetések ese- amelyek egy része az oldal szövegében mélyen el van tében megszokottnál. Ezen- temetve. A HotBot nem sokkal azt megelõzõen szorította kívül keresési szolgáltatásokat ki az AltaVistát, amelyet a keresõmotorok közül az elsõ nyújtunk más cégeknek, pél- helyre tettem. Az AltaVista elõtt az InfoSeeket kedveltem dául a Yahoo!-nak, a Ciscó- (azon kevesek közé tartoztam, akik az InfoSeek szolgálta- nak, a Sonynak stb. – mintegy tásainak tényleges elõfizetõi voltak). Még korábban 130 ügyfélnek hozzávetõlege- pedig a Lycos, a Carnegie-Mellon egyik tudományos sen 30 országban. A két forrásból származó bevételeink fejlesztése állt a legközelebb hozzám. Végül a HotBot aránya nagyjából 50–50 százalék”. alulmaradt a FAST-tal, e BSD-alapú motorral szemben, Megkérdeztem, hogy változott-e bármiben is a társaság amely a meglehetõsen szerencsétlen alltheweb.com küldetése. Gyanítottam, hogy nem, mivel soha nem címre hallgatott. Ellenállásom azonban hiábavalónak hajoltak meg az olyan zavaró tényezõk elõtt, amelyek bizonyult, a Google végül gyõzött. a legyõzött versenytársakat a jelentéktelenség vidékére Eleinte ugyanis nem szerettem ezt a keresõt, mert túlsá- számûzték: részvényárak, sporteredmények, közös pro- gosan egyszerûnek tartottam, és mert mindenáron tudni móciók a szórakoztatóipar webhelyeivel stb. Azt felelte, akarta, mi az, amit keresek. Ezt utáltam benne – és ma nem, missziójuk ma is változatlan: „A világ információi- is utálom. Mégis megkedveltem, ugyanis nagy ámula- nak elrendezése olyan módon, hogy egyetemesen elér- tomra mégiscsak tudja, mit akarok – persze nem min- hetõek és felhasználhatóak legyenek.” dig, de eléggé gyakran. A legtöbbünkhöz hasonlóan Talán nem túlzás azt állítani, hogy a Google sokunk most már szinte csak a Google-t használom. számára a világháló háttérrendszerének, keresési illesz- Ma már a többi motor esélytelen vele szemben: a tõegységének a részévé vált. Annak érzékeltetésére, Google a jelek szerint az új szolgáltatások minden egyes hogy milyen messzire is nyúlnak el ezek az illesztõegy- lépcsõfokán (képek és hírcsoportok keresése, fájltípusú ségek, megkértem Cindyt, küldjön el nekem néhány keresések, más nyelvek) egyre jobban maga mögött számadatot. Az alábbi adatokat kaptam tõle: hagyja versenytársait. • adatközpontok: 4 Eltelt már egy kis idõ, amikor utoljára beszéltem a • Linux-számítógépek: >10,000 Google munkatársaival, ezért úgy gondoltam, bejelent- • keresések száma naponta: >150 millió kezem és megtudok tõlük néhány részletet – például • weboldalak indexe: >1,6 milliárd a választ a legfontosabb létkérdésre: vajon még mindig • képanyag: >330 millió eredményesek-e? Ezért elmentem régi barátomhoz, • Usenet-üzenetek: >650 millió Cindy McCaffrey-hez, a Google marketingalelnökéhez, • hírcsoportok: >5 000 aki a következõket mondta nekem: • nyelvi alcsoportok az indexben: 28 „Nyereségesek vagyunk. A hirdetések jelentõsen hoz- • nemzetközi tartományoldalak: 23 zájárulnak a nyereségünkhöz. Mindkét hirdetési prog- • PDF-ek: >22 millió ramunk (Premium Sponsorships, AdWords) rohamosan Ezek közül sokan „elsõsorban a világhálón vannak” bõvül. Sok ezer hirdetõnk van, és hirdetési kampányun- – tette hozzá szerényen. Viszont nem volt hajlandó meg- kat éppen most kezdtük el kiterjeszteni más országokra erõsíteni annak a cikk elején említett szakértõnek a fel- is, továbbá néhány kisebb hirdetésértékesítõ irodát tételezését, aki elõször hívta fel a figyelmemet a Google- nyitottunk meg az Egyesült Királyságban, Japánban ra: hogy mindennek a Linux az oka. Ezt a következtetést és Németországban.” saját magunknak kellett levonnunk. Ezt rendkívül érdekesnek találtam, ugyanis a Google- oldalakon megjelenõ hirdetések az újságokban közölt apróhirdetésekhez hasonlítanak, és a reklámozás egyet- Doc Searls len olyan formáját képviselik, amelyekre nagy az olvasói ([email protected]) a Linux Journal igény. A Google reklámjai az apróhirdetésekhez hasonló- szerkesztõje és a Cluetrain an nem tolakodóak és nem tartalmaznak grafikákat. Ami- Manifesto társszerzõje. kor az egyik hirdetõtõl megkérdeztem, eredményesek-e

ezek a hirdetések, ezt felelte: „Nagyon is azok. Mi csak © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. április 19 Láttuk-hallottuk

Új termékek

BRU-Pro 2.0 és BRU 17.0 lagos oldalon is hat bõvítõhellyel támogatása, és az archívfájlok kicso- A Tolis Group inc. megjelentette rendelkezik, amelyekbe a felhaszná- magolásának és futtatásának képes- a BRU-Pro és a BRU Workstation lók által meghatározott 32-bites sége. A PowerUpdate fut Linux, legújabb változatait. A BRU-Pro 2.0 bõvítõkártyák kerülhetnek. A gépház- Solaris, HP-UX és AIX operációs Linux-kiszolgáló az ügyfél és kiszol- ban a rendszerprocesszornak, három rendszereken. gáló közötti kapcsolat biztonsága mûködés közben cserélhetõ tápegy- Adatok: Zero G Software, érdekében titkosítja a hálózati adat- ségnek és a további bõvítésekhez 514 Bryant Street, San Francisco, forgalmat, valamint a hálózati forga- egy PCI–PCI-hídnak van helye. California 94107 lom tömörítése útján a sávszélesség- A cPCIS-2103 önmagában vagy e-: [email protected] gel is takarékoskodik. A BRU Work- egy rendszer beépített részeként  http://www.ZeroG.com station 17.0 kis- és közepes méretû vásárolható meg. GFS 5.0 vállalkozásokat támogat, a BRU Adatok: ADLINK Technology Már elérhetõ a Sistina Global File Desktop 17.0 otthoni, illetve kisirodai 15279 Alton Parkway, Suite 400, System (GFS), amely lehetõvé teszi, rendszereket támogat – helyileg Irvine, California 92618 hogy a megosztott adattárat SAN- csatlakoztatott archiválóeszközökkel. telefon: 1-866-423-5465 ban elhelyezett több kiszolgáló is A BRU Personal Edition 17.0 pedig a  http://www.adlinktechnology.com írhassa és olvashassa. A GFS 5.0 nem üzleti célú felhasználók számára X4 NAS újdonsága a továbbfejlesztett tele- nyújt biztonságos adatkezelést. A NetEngine pítõ- és fürtbeállító eszközök, a A BRU-Pro 2.0 és a BRU 17.0 felújí- Inc. megjele- többutasság dinamikus támogatása tott grafikus felhasználói felülettel ntette az X4 NAS-t, amely kis- és az adattár kötetkezelõjében az egy- rendelkezik, és támogatja a 64-bites közepes méretû vállalatok, munka- utas hibák kiküszöbölése érdekében, fájlrendszereket. csoportok, fiókirodák és szolgáltatók megosztott gyökérfájlrendszer, Adatok: The Tolis Group, Inc., hálózati tárolóeszközeként használ- további zároláskezelõk és a gyártók- 10225 East Via Linda, Suite 300, ható. Az X4 NAS támogatja a több- tól származó pillanatfelvételi lehetõ- Scottsdale, Arizona 85258 felhasználós üzemmódot, alkalmaz- ségek továbbfejlesztett támogatása. telefon: 480-346-2008 ható fájlok megosztására és bizton- Adatok: Sistina Software, 1313 Fifth e-mail: [email protected] sági mentések tárolására. A tármére- Street Southeast, Suite 111,  http://www.tolisgroup.com te 160 GB és 480 GB közé eshet, Minneapolis, Minnesota 55414 Volution Manager 1.1 szabványos 1U-méretû, amely áll- telefon: 612-638-0500 A Caldera Inc. kiadta a Volution ványba szerelhetõ. Az X4 NAS a  http://www.sistina.com Manager 1.1-et, amely hibatûrés fokozására két 10/100TX Optimizeit Suite webalapú rendszerkezelõ ethernetkártyát tartalmaz. Az operá- Az Optimizeit Suite eszköztárának megoldás több rendszer ciós rendszer meghibásodását tükrö- segítségével a fejlesztõk tetszõleges böngészõprogramon zéssel küszöbölik ki. További jellem- Java-program fejlesztése során keresztüli biztonságos zõi: beépített RAID, önmûködõ adat- könnyen felfedezhetik a sebességet távoli felügyeletére és ellenõrzés és önmûködõ újraépítés. és a megbízhatóságot befolyásoló frissítésére. Az 1.1-es változat új Adatok: NetEngine, Inc., gondokat. Az Optimizeit Suite tel- jellemzõi: többféle rendszer támoga- 4116 Clipper Court, Fremont, jesen beépülhet az alkalmazáskiszol- tása egységes kezelõfelületen ke- California 94538 gálóba, távoli folyamatok kapcsolód- resztül, egyszerûsített telepítés, javí- telefon: 510-668-2112 hatnak hozzá, jól méretezhetõ, és tott állapotjelentés és diagnosztika. e-mail: [email protected] az adatok minden J2EE alkalmazás- A Volution Manager 1.1 minden  http://www.netengine1.com méretnél pontosan szabályozottak. nagyobb Linux-terjesztés legfrissebb PowerUpdate 2.0 A programcsomag három részbõl áll. változatát és a Caldera Unix-termé- A PowerUpdate 2.0 több felületen A Profiler segít megtalálni a hibás keit is támogatja. futó, Java-alapú programfrissítõ és programkódot vagy algoritmust, Adatok: Caldera, Inc., 240 West -terjesztõ megoldás. A webböngé- és javítja a memóriaszivárgásokat. Center Street, Orem, Utah 84057 szõ, az adatbázis, a jelentéskészítõ A Thread Debugger a szálak állapo-  http://www.caldera.com modulok és az egyedi kezelõprogram tát valós idõben képes megjeleníteni. cPCIS-2103 Chassis összessége alkotja a PowerUpdate-et, Végül a Code Coverage megmutatja, A cPCIS-2103 Chassis az ADLINK amellyel bármilyen program tetszõ- hogy a program az egyes eljárásokat Technology 3U CompactPCI termék- leges ügyfél- vagy kiszolgálófajtára és kódsorokat milyen gyakorisággal családjába illeszkedõ legújabb ter- frissíthetõ. A fejlesztõk kézben tart- hajtja végre. méke. A 19 hüvelykes állványba hatják a frissítési folyamatot, meg- Adatok: VMGEAR, 1479 Saratoga szerelhetõ vagy asztali kivitelû szá- határozhatják, hogy mi frissüljön, Avenue, Suite 200, San Jose, mítógépház a PICMG 2.0 szabvány- mikor és milyen módon. A 2.0-s California 95129, nak teljes mértékben megfelel. változat újdonsága a fájlösszehango- telefon: 1-888-655-0055, © Kiskapu Kft. Minden jog fenntartva A gépház az elsõdleges és a másod- lás, az MSI támogatása, a Mac OS X  http://www.vmgear.com

20 Linuxvilág Láttuk-hallottuk

A hónap szakmai tanácsai

A régi rendszermaggal csatlakozó eszközként ismerte fel a szokásos mûködõ modem nem megy az újjal COM2 helyett. Miután Red Hat 7.1-rõl 7.2-re frissítettem a rendsze- A Linuxban létrehoztam a /dev/ttyS4-et, remet, a modem nem mûködik, ha a gépet az SMP- és a setserial paranccsal beállítot- rendszermaggal indítom. Ha nem SMP-rendszermagot tam a kaput és a megszakítást. Létre- használok, nincs gond. Letöltöttem és lefordítottam hoztam az erre mutató /dev/modem a legújabb megbízható rendszermagot, de a hiba nem hivatkozást. Ha a minicom alkalmazást szûnt meg. A 7.1 alatt a modem SMP rendszermag futtatom, nem mondja, hogy nem találja alatt is mûködött. US Robotics 56 K-s FaxModemem az eszközt, de nem csinál semmit. (3CP5610A típus), Tyan alaplapom és két Intel Pentium Hogyan ismertethetném fel a modemet 133-as processzorom van. a Linuxszal? Próbáltam az echo Nathan Myers, [email protected] ATH1>/dev/ttyS4 parancsot is, de a vonalhang nem szólt a modem hang- Ellenõrizd, hogy a rendszermag felismerte-e a modemet! szórójából, ezért meglehetõsen biztos Ezt a grep ttyS /var/log/messages* parancs vagyok benne, hogy a parancs a modemig el sem jutott. kiadásával nézheted meg, amely kiírja a soros eszközö- Tony Preston, [email protected] ket, bár ezek némelyike az alaplapra szerelt. Christopher Wingert, [email protected] Ez úgy hangzik, mintha az IRQ nem lenne megfelelõen beállítva. Ellenõrizd az IRQ értékét az lspci -vv Köszi, hogy megadtad a modem típusszámát, ez a leg- paranccsal. Keresd meg a modemet a listán, és a hasznosabb adat. A Google keresõrobot segítségével setserial programmal ezt az IRQ-értéket állítsd be. megtudtam, hogy ez egy PCI-modem, amely kissé más- Christopher Wingert, [email protected] képp mûködik, mint a régimódi ISA-modemek. A jó hír az, hogy igazi modemrõl van szó, nem Winmodemrõl. Nézd meg a A legjobb találat a következõ:  http://www.idir.net/~gromitkc/3cp5610.txt oldalt,  http://www.idir.net/~gromitkc/3cp5610.txt. Az USR ahol leírják, hogy kell az IRQ-t a setserial programmal szintén írt egy példa parancsfájlt a Red Hat számára: beállítani.  a http://www.usr.com/support/drivers-template. Marc Merlin [email protected] asp?prod=s-modem címen érhetõ el. Tud-e a StarOffice EPS-t importálni? Marc Merlin, [email protected] Red Hat 7.1-et használok 933 MHz Petium III-as gépen. Az NFS a múltban él A gondom az, hogy mind a StarOffice 5.2, mind a Az egyik gépemen (Red Hat 7.2), amely a felhasználók 6.0-beta szövegként és nem grafikaként olvassa be saját könyvtárait tartalmazza, ext3 fájlrendszer található, a beágyazott PostScript-állományokat (.ps vagy .eps ehhez több más gép (mind Red Hat 6.2) is csatlakozik. fájlokat). Ez történik mindegyik összetevõben (például Észrevettem, hogy a csatlakozó gépeken a frissített szöveges dokumentum, bemutató, rajz vagy ábra). fájlok nem frissülnek a kiszolgálón, és a többi csatlakoz- A gv a grafikát helyesen jeleníti meg. A kérdésem tatott gépen sem érvényesülnek a változások. A kiszol- az, hogy képes-e a StarOffice PostScript formátumú gáló a következõ beállításokat exportálja: rw, grafikát beolvasni és megjeleníteni? Ha igen, hogyan? no_root_squash. Az ügyfelek beállítása pedig John C. Burgess, [email protected] defaults, nodev, rw. Úgy tûnik, mintha az ügyfél Az Insert/Graphics/From File (Beszúrás/Grafika/Fájlból) gyorstárazna, de soha sem ürítené a tárat (van olyan menü kezeli az .eps fájlokat. fájl, amely több, mint egy napja megváltozott, azonban Scott Maxwell [email protected] a kiszolgálón még mindig változatlan). R. K. Owen, [email protected]

A NFS semmilyen beállításnál nem gyorstáraz egy fájlt A Linux Journal honlapján számtalan gond megoldásához ilyen hosszú ideig. A legkézenfekvõbb dolgokat ellenõ- találhattok további segítséget. A Sunsite tüköroldalait, rizném, azaz: az ügyfelek tényleg az NFS-en keresztül a gyakran feltett kérdéseket és az egyéb útmutatásokat beillesztett könyvtárba írnak-e, és elérik-e az NFS-ki- a http://www.linuxjournal.com honlapon olvashatjátok szolgálót. Ellenõrizheted azt is, hogy az ügyfelek a ki- el. A rovatban közzétett válaszokat Linux-szakértõk kis szolgálón megváltoztatott fájlt újnak látják-e. csapata készítette el. További kérdéseiteket szívesen Marc Merlin, [email protected] fogadják (angol nyelven) a  http://www.linuxjournal.com/ A fel nem ismert PCI-modem lj-issues/techsup.html címen, ahol csak egy kérdõívet kell Nemrég vettem egy US Robotics 56 K-s PCI modem- kitöltenetek, de a [email protected] címre levelet is írhattok. kártyát, mely nem Winmodem, ezért is döntöttem mel- A levél tárgyában szerepeljen a „BTS” kulcsszó. lette. Terveim szerint Linuxot és Windows felváltva futtató gépen fogom használni. A Windows 98 COM5-re © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. április 21 Láttuk-hallottuk

A terjeszési szerzõdésekkel kapcsolatos fejlemények

Néhány hónapja a Microsoft közösségi (shared-source) segítségével meg ne vizsgálnák azokat a feltételeket, szerzõdésének veszélyeirõl írtam (Linuxvilág, 2001. amelyek mellett a programot beszerezték. Ha egy cég december, 20. oldal), trójai falónak nevezve azt. Ugyanis meg akarja õrizni programjainak kereskedelmi jellegét, pusztán azáltal, hogy megtekintjük a Microsoft kódját, vigyáznia kell, hogy más kereskedelmi programok, vala- „megfertõzhetjük” a saját programunkat, kitéve magun- mint a szabad és nyílt forráskódú programok terjesztési kat a Microsoft szerzõi jogi perének. engedélyének hatásait elkerülje. A megfelelõ biztonsági Egy olvasói levél szerint kettõs mércét alkalmazok, mivel intézkedések megtétele, beleértve a vezetõknek az alkal- pontosan ugyanez a gond a GPL-engedéllyel is. „A hagyo- mazottak képzésére és a munkakörnyezet biztosítására mányos, szerzõi jogdíjas programokat fejlesztõ cégeket fordított idejét csakúgy, mint az engedélyek megvizsgálá- – írja – a GPL-kód puszta megtekintése ugyanabba a hely- sára fordított ügyvédi munkaidõt is, része az üzleti költsé- zetbe hozhatja, mintha a Microsoft felhasználási szerzõdé- geknek, amelyeket a program árába bele kell építeni. sével terjesztett kódot nézték volna meg”. Ami még rosz- Ezek a megfontolások érvényesek azokra is, akik szabad szabb, hogy mint állítja, a GPL „fertõzõ” záradékai megkö- és nyílt forráskódú programokat fejlesztenek. Pusztán vetelik, hogy az egész kereskedelmi terméket a GPL alatt attól, hogy egy programot ingyen terjesztenek, még nem adják ki, vagy a GPL-részeket távolítsák el. Az olvasónak zárható ki, hogy egy szerzõi jogi per egyik pillanatról a GPL-rõl adott elemzése viszont csak részben helytálló, a másikra véget vet a fejlesztésnek. ugyanis három különbözõ lehetõséget kever össze. Íme néhány biztonsági intézkedés, amelyet az ügyfeleim- 1. Tegyük fel, hogy egy kereskedelmi programokat fej- nek javasolni szoktam: szerezzünk be aláírt szerzõi jogi lesztõ cég GPL-engedéllyel terjesztett kódot vesz át nyilatkozatot vagy valódi terjesztési engedélyt minden és épít be egy programjába. A cég elfogadta a GPL- harmadik féltõl, aki hozzájárul a fejlesztéshez. A nyilat- szerzõdés feltételeit, és követnie kell azokat. A bíró- kozat megfogalmazása legyen ehhez hasonló: „Alulírott ság jóvátételként kötelezheti a céget, hogy a szerzõ- szerzõ(k) kijelenti(k), hogy a programkód eredeti és a dés feltételeit tartsa be és a kereskedelmi programot saját alkotás”. – a forráskódot is beleértve – a GPL-szerzõdés alatt Ha a programkódot egy másik cég alkalmazottja szolgál- adja ki; jellemzõen ezt nevezik „GPL-fertõzés”-nek, ám tatta, a cég írásos engedélyének beszerzése javasolt. ebben az esetben a cég tudatosan vállalta a kockázatot. A Szabad Szoftver Alapítvány egy Alkalmazotti Jogi 2. Tegyük fel, hogy a kereskedelmi programokat fejlesztõ Nyilatkozat használatát javasolja, amely az alkalmazottat cég nem fogadja el a GPL feltételeit, ugyanakkor a felhatalmazza, hogy a kódot „a szabad programok eljá- GPL-kódot felhasználja a saját kereskedelmi program- rása szerinti terjesztésre és megosztásra” ajánlja fel. jában. A szerzõi jog értelmében a céget kártérítés fize- Ha alkalmazottaink megismerhettek harmadik fél birto- tésére kötelezhetik és arra, hogy hagyjon fel a kód kában lévõ programot, amely kereskedelmi terjesztésû, használatával, de a GPL feltételeinek betartására (pél- és amelynek forráskódja nem másolható, lehet, hogy dául a forráskód közzétételére) valószínûleg nem lenne ésszerûbb az alkalmazottakat egy másik fejlesztéshez kötelezhetõ. Ez nem GPL-fertõzés, hanem egyszerûen beosztani, ahelyett, hogy szerzõi jogi (vagy üzleti titkok a szerzõi jogok megsértése. eltulajdonítása elleni) pert kockáztatnánk. 3. Tegyük fel, hogy a kereskedelmi programokat fejlesztõ Jogászként az a kötelességem, hogy körültekintõ legyek cég egyik alkalmazottja cége tudta és engedélye nél- és felhívjam a figyelmet a kockázatokra. A szabad és kül, szándékosan vagy más módon GPL-kódot épít be nyílt forráskódú programok elkötelezettjeként azonban a kereskedelmi programba (amennyiben a cselekedet tartózkodni szeretnék attól, hogy felesleges félelmet, szándékos, jogi szempontból az alkalmazott „saját bizonytalanságot és kétségeket ébresszek. felelõsségére cselekedett”). Ebben az esetben a cég A nyílt forráskódú fejlesztés célja az, hogy megkönnyítse valószínûleg nem vonható felelõsségre a szerzõi jog a kód elterjedését és megszüntesse a titkolózást. A ke- szándékos megsértéséért, noha a jogsértõ program reskedelmi programok fejlesztõinek ugyan vigyázniuk használatát be kell szüntetnie. Ilyenkor szó sincs fertõ- kell arra, hogy ne nézzenek bele más cégek kódjába, de zésrõl, pusztán a szerzõi jog megsértésérõl. a szabad és nyílt forráskódú programok fejlesztõi nyu- A jogdíjas programok fejlesztõinek valóban körültekintõen godtan másolhatják más szabad és nyílt forráskódú kell eljárniuk. Valaki más szerzõi jog által védett program- programok részeit – a szerzõ terjesztési engedélye által jának felhasználása a saját termékükben (még akkor is, megszabott kereteken belül. Az eredmény: mindenki ha nem szándékosan történik), nem kívánt következmé- számára jobb programkód. nyekkel járhat – például költséges szerzõi jogi perekhez, nagy összegû kártérítésekhez, illetve a jogsértõ program Lawrence Rosen terjesztését és árusítását tiltó végzéshez vezethet. (www.rosenlav.com) magángyakor- Minden programkészítõ cégnek ki kell alakítania a biz- latot folytató jogász a kaliforniai tonságos fejlesztés gyakorlatát. Ez azt is magában fog- Redwood Cityben. A Nyílt Forrás lalja, hogy meggyõzõdünk róla, minden fejlesztõ tisztában Kezdeményezés (Open Source van-e vele, mennyire fontos, hogy ne másolja le valaki Initiative) ügyvezetõ igazgatója és 

© Kiskapu Kft. Minden jog fenntartva más programját, mielõtt egy megfelelõen képzett jogász jogtanácsosa ( www.opensource.org).

22 Linuxvilág

Vezérfonal

A webalkalmazások új nemzedékének lelke: az XSLT Cameron bemutatja az Extensible Stylesheet Language for Tranformations (XSLT) nyelvet, és elmondja, miért is olyan fontos téma ez manapság.

z Extensible Stylesheet Language for Transforma- tions (XSLT – bõvíthetõ stíluslapnyelv átalakítá- example1.xsl sokhoz) olyan számítási nyelv, amelyet kifejezetten kétA XML-dokumentum közötti átalakításra fejlesztettek ki.

© Kiskapu Kft. Minden jog fenntartva alkalmazás több együttmûködõ módszert is alkalmaz. Ezért meglehetõsen fontos, hogy csak a valóban lényeges részekre összpontosítsunk. A mindenre használható XML Az elsõ lényeges tudnivaló az XSLT-vel kapcsolatban, hogy XSLT-fogalmak gyûjteménye címû széljegyzetet). Az XML olyan egyetemes adatformátum, amelyet úgy terveztek, hogy bármilyen típusú adatot képes legyen tárolni: eljárása- datokat, programokat és dokumentumokat – kezdve a vásár- lási szabályoktól a bibliafordításokig, bármilyen emberi nyel- ven, bármilyen számítógépes rendszeren és operációs rend-

szeren. Az XML úgy néz ki, mint a HTML, csak éppen némi- leg összetettebb. Valójában az XML egyik tervezési célja

éppen a HTML általánosítása volt oly módon, hogy eközben a HTML-szakértõk kényelemérzete megmaradjon. Létezik egy XHTML-nek nevezett külön XML-változat is, amely közvetlenül HTML-ként értelmezhetõ. A Linuxvilág gyakorta jelentet meg olyan cikkeket, amelyek valamilyen szinten Saját motorunk kapcsolatosak a XML nyelvvel. Ahhoz, hogy XSLT-utazásunkon elindulhassunk, és könnyeb- Egy tökéletesen XML-esített világ sok szempontból egyszerûbb ben ráérezhessünk a nyelv apró finomságaira, egy saját mo- lenne. A tartozás-nyilvántartás mûködésének vizsgálatánál torra, azaz egy nyelvfeldolgozóra (language processor) lesz például nem kellene tudnunk, hogy ki kihez tartozik, ki ment szükségünk. A legszélesebb körben elterjedt eszköz Java-alapú, el háromhetes vakációra, és a többi zavaros emberi részletet. illetve üzleti. Ezeket gyakran nagyobb kiszolgálótermékekbe Ha fel tudunk rajzolni egy diagrammot, amely a beérkezett építve találjuk: adatbáziskiszolgálókban, alkalmazáskiszolgá- számlákat és kimenõ kifizetéseket ábrázolja – a folyamat során lókban és így tovább. valószínûleg egyre szaporodó hitelesítõ bejegyzésekkel meg- A példákat a fentiek helyett írásunkban a tDOM-motor tûzdelve –, akkor sikerült a lényegi adatot levezetnünk. meghatározásai alapján mutatjuk be. A tDOM több elõnnyel Mámorító látomás. Azt sugallja, hogy az a rendszer, amely az is rendelkezik, amelyek között a legfontosabbak: a szabad, egyik XML-dokumentumot (például számla) képes egy vagy nyílt forrás felhasználási szerzõdés hatálya alá tartozik, több másik XML-dokumentummá átalakítani (fizetési csekk, kivételesen memóriatakarékos, és méréseink szerint kétszer hitelesítõ bejegyzés), az önmûködõen megszervezi, sõt akár olyan gyors, mint a versenytárs XSLT-motorok. Telepítése meg is oldja az összes lényeges szervezési feladatot. Ez az, gyors és tömör, ezenkívül parancsfájlosítható (scriptable) amiért manapság az XSLT olyannyira érdekes. parancsmóddal rendelkezik, amelyen keresztül kényelmesen Azok az olvasók, akik rendelkeznek XML-világbeli tapasztala- utasíthatjuk tDOM-ot. Továbbá kitûnõen illeszkedik az tokkal, projekttapasztalataikat általánosíthatják, és máris fogal- alább leírt kétszintû programozási stílushoz, ugyanakkor mat alkothatnak az XSLT valódi értékérõl. Bárki, aki a gyakor- elég üzembiztos ahhoz, hogy több igényes honlap is alkal- latban is foglalkozott az XML-lel, tudja, hogy valójában a meg- mazza a termelésben. oldás kezdetét jelenti, nem pedig valamiféle csodaszert, mint Saját tDOM-példányunk elkészítéséhez olvassuk el a Hogyan amilyennek a reklámszövegek beállítják. Az XSLT-vel pontosan kezdjünk XSLT-t programozni széljegyzetet. Ez a cikk ugyanis ugyanez a helyzet: hasznos és elég hatékony módja a termelés- a XSLT használatának elsõ példájával zárul, amelyet a követ- ben használt alkalmazások összeállításának megszervezésében. kezõképpen hívhatunk meg: A XML-dokumentumok átalakításának alapötlete igen fontos dolog – hogy belássuk, valóban mûködõ ötletrõl van szó, tclsh8.3 xslt.tcl example1.xml example1.xsl közelebbi pillantást kell vetnünk a technikai részletekre. example1.html

24 Linuxvilág Vezérfonal

Hogyan kezdjünk XSLT-ben programozni

A tDOM a Tcl teljes telepítését igényli. A 8.3.4-es vagy újabb változat használatát javaslom. A legbiztonságosabb a forrásából telepíteni. A telepítés általában a következõ lépésekbõl áll: • A forrás telepítõkészlet letöltése, például a következõ helyrõl:  http://prdownloads.sourceforge.net/tcl/tcl8.3.4.tar.gz. • A források kicsomagolása. • Végül a hagyományos autoconf-alapú összeépítés lépései: cd tcl8.3.4/unix ./configure make make install A tDOM helyes telepítése nagyjából ugyanezt a sémát követi: • Letöltés:  http://phaseit.net/binaries/tDOM-0.63.tar.gz. • Kicsomagolás. • Elõállítás: cd tDOM-0.63/unix ./configure make make install Az e cikkre vonatkozó források a  http://phaseit.net/examples/xslt.zip címen találhatók. Töltsük le és telepítsük õket a munkakönyvtárunkba. Ettõl kezdve a következõ parancsot már meg tudjuk hívni: tclsh8.3 xslt.tcl example1.xml example1.xsl example.html Figyeljük meg, hogy a fenti parancs kimenete az example.html lesz. Bár linuxos végrehajtható állományok is letölthetõk, általában el- mondható, hogy a legtöbb Unix Tcl programozó a forrásból szeret dolgozni. Ennek aztán az a következménye, hogy a forrásterjeszté- Ez a parancssor a következõkre utasít: „használd a 8.3-as sek általában egy kicsit kifinomultabbak. Különösen igaz ez a tDOM változatú Tcl-értelmezõt az xslt.tcl program indításához. esetében. Az xslt.tcl-eszköz alkalmazza az example1.xsl stíluslapot az A Windows esetében viszont pont fordítva áll a helyzet. A tDOM example1.xml dokumentumra, és kimenetként elõállítja az kitûnõen mûködik Windows alatt is, megeshet azonban, hogy example1.html-t”. Figyeljük meg, ahogy a gép bemenetként átveszi az szükségünk is lesz rá, de ennél az operációs rendszernél a bináris terjesztések telepítése az általános. A legfrissebb adatokért keresd example1.xml-t, majd elõállítja a mindössze néhány soros  example1.html-t: a http://mini.net/tcl/tDOM címet.

elsı zenet nálási területet figyelmen kívül hagyva, az XSLT-stíluslapokat következetesen stíluslapoknak fogjuk nevezni. Gondoljunk az example1.html-re mint a fenti sor helyesen Bizonyos szempontból a stíluslap program. Ahogy az formált HTML-kiterjesztésére: int main()

elsı zenet

{ puts("Hello."); Az XML mint adat és kód } Ha mindössze az example.html-hez hasonló egyszerû HTML- dokumentum elõállítása a célunk, az XSLT elsajátítása helyett egy C program forráskódja, a stíluslap az XSLT program for- közvetlenül valamilyen egyszerû makrónyelvet is megírha- rása. A stíluslapok különlegessége, hogy maguk is XML-doku- tunk vagy használhatunk. Az XSLT igazi értéke akkor nyilvá- mentumok. A hagyományos számítógépprogram-látvány nul meg, amikor összetettebb feladatokat oldunk meg. helyett (mondjuk ahogy a C, a Java és a ksh kinéz), az XSLT- Az XSLT-átalakítást beállíthatjuk, hogy az example1.html kime- forrás egyfajta kulcsszószöveg (markup text, lásd az 1. listát). netet az adott stílusban készítse el, esetleg az adott betûkész- Az XML-re olyannyira jellemzõ bõbeszédûséggel ez nagyjából lettel vagy szabványos honlaphivatkozásokat és -nyilatkoza- a következõkre utasít: „mûködj úgy, mint egy program, amely tokat alkalmazva. beolvassa a -elemeket, majd a tartalmukat egy Az XSLT ezen átalakítások végrehajtásához a stíluslapok nyel- helyesen megformált HTML-dokumentum

fejlécei közé vét alkalmazza. Bár a stíluslapok már az XSLT bevezetése elõtt helyezi.” Így készül az example1.html. is használatban voltak, ebben a cikkben minden más felhasz- Az XSLT-feldolgozást megvalósító alkalmazás maga egy Tcl © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. április 25 Vezérfonal

XSLT-fogalmak gyûjteménye

API – Application Programming Interface, és provability jellemzik õket. Az XSLT képpen metanyelv, amelyben lehetõség azaz alkalmazásprogramozási felület. funkcionális és nem eljárásokból építkezõ nyílik adott témakörökhöz tartozó megvalósí- Cocoon – Java- és XSLT-központú terjesztõ programozási nyelv, ellenben a C, Java, tások vagy szótárak leírására. Léteznek test- keretrendszer az Apache-hoz. vagy Visual Basic nyelvekkel. reszabott XML-szótárak matematikához, autóeladáshoz, a Gnome GUI-felülethez és CSS – Cascading Stylesheet, vagyis kasz- HTML – HyperText Markup Language. sok más dologhoz. kádolt összerendelt stíluslap. A jelkulcsok A Világhálózat általános nyelve. (markup elements), például hivatkozások Névtér (namespace) – programnyelvi elv W3C – az XML-szabványokat sok más összerendelése tulajdonságokkal, fõleg meg- a többértelmûség kizárására. A Baseball tevékenység mellett a World Wide Web jelenítési tulajdonságokkal (mint például és Biology névterek megkülönböztetésével Consortium adja ki. „rajzold kékkel”). A legtöbb böngészõvel egyértelmûsíthetjük, mikor gondolunk Xalan – A Xalan egy Java-központú XSLT- dolgozó ember találkozott már CSS-ekkel. Baseball::bat-re és mikor a motor, az Apache Project része. DOM – Document Object Model, azaz Biology::bat-re (angolul a „bat” szó XML– Extensible Markup Language. dokumentum objektummodell. A DOM egy denevért és ütõt is jelent). Az XML-fejlesztõk A HTML nyelvhez hasonló kinézetû nyelvre számára ennek ott van jelentõsége, hogy

© Kiskapu Kft. Minden jog fenntartva dokumentumokhoz szánt programozási API, kell gondolni, amely azonban elvben amely például az XML osztályrendszerû alkalmazásaik fejlesztése közben nem kell bármilyen digitális adatot képes kódolni. félniük attól, hogy változóneveik és más faszerkezetét emeli ki. XPath – olyan nyelv, amely az XML- nevek véletlenül ütik egymást. DTD – Document Type Definition, azaz dokumentum egy részét azonosítja vagy dokumentum-típusmeghatározás. A DTD SAX – Simple API for XML, azaz egyszerû címzi meg. Gondolhatunk rá lekérdezõ- olyan metanyelv, amely az XML dokumen- XML API. A DOM kiegészítésére szánt API, nyelvként, az XSLT kiegészítéseként tumszótárát határozza meg. Az XML Sche- eseményközpontú, és az XML-t mint karak- (az XSLT a változásokat írja le, az XPath mata általánosabb keretrendszerben szintén terek folyamát szemléli. azt mutatja meg, hol történjenek ezek ugyanezt teszi. Schema – metanyelv-elõírás. Az XML a változások). FO – Objektumok formázása. A FO-k az XML Schema például olyan szabályokat ad meg, XSL – Extensible Stylesheet Language, és a megjelenítés közötti átalakítást írják le. amelyek az XML-dokumentum tartalmát vagyis bõvíthetõ stíluslapnyelv. szabályozzák. Tervrajzadatokat tartalmaznak. XSLT – Extensible Stylesheet Language for FOP – objektumokat pdf-be (és általánosabb Scripted document – olyan fájl, amely Transformations, azaz átalakításokhoz szánt esetben más megjelenítési formátumokba) adatot és az adaton mûveleteket végzõ bõvíthetõ stíluslapnyelv. Olyan nyelv, ame- formázó átalakító. kódot egyaránt tartalmaz. lyet XML-források más XML-forrásokká Funkcionális programozás – a Lisp, Has- Stíluslap (stylesheet) – a dokumentum alakításához fejlesztettek ki. kell és Erlang nyelveket gyakran nevezik értelmezésének vagy átalakításának leírása. XSP – eXtensible Server Pages a Cocoon funkcionális programozási nyelvnek, mivel Az XSLT-stíluslapok érdekessége, hogy egyik képessége, melynek segítségével megváltoztathatatlan változókat alkalmaz- maguk is XML-dokumentumok. dinamikusan készíthetünk XML-alapú nak, mellékhatás nélküli mûveletek, rekurzió Vocabulary XML – az XML-szótár tulajdon- honlapokat.

program. Ezért itt az ideje, hogy pár alapvetõ dolgot a Tcl-rõl Sikeresen lefuttatunk egy XSLT-programot. Már csak az maradt is megtudjunk. A tDOM XSLT-motorját Tcl-csatolások valósítják hátra, hogy megismerjük az XSLT nyelvet, illetve megtudjuk, meg, és a xslt.tcl parancsfájl a XML-dokumentumok fájlneveit hogyan is alkalmazhatjuk valós feladatok megoldásában. Mielõtt egyszerûen parancssori változókként kéri be, majd továbbadja komolyabban belemerülnénk az XSLT szintaxisába és szeman- a motornak. tikájába, vessünk egy rövid pillantást a felhasználási területekre! Vizsgáljuk meg újra a példahívásunkat! Egy nyelv – sok alkalmazás tclsh8.3 xslt.tcl example1.xml example1.xsl Képzeljük el, hogy egy több tízezer lapot tartalmazó webhe- example1.html lyért felelünk. Ezeket a lapokat szervezetfüggõ XML-szótár szerint tároljuk, amely kiszedegeti a formázási adatokat és a A tclsh8.3 az elindított futtatható program neve, és a xslt.tcl HTML-szemetet – dokumentumaink kizárólag az adott laphoz az a legkisebb Tcl-parancsfájl, amely a tDOM XSLT-motorját tartozó logikai adatokat tartalmazzák. A látogatóknak termé- elõhozza. Ha egy kicsit tovább szeretnénk fejleszteni az eszköz szetesen HTML-re van szükségük, de ezeket dinamikusan hibakezelõ képességét, a legkézenfekvõbb kezdés a xslt.tcl állítjuk elõ, szabványos fejléccel, keretekkel, vezérlõelemekkel, újratervezése. lábjegyzetekkel és minden egyéb a Weben elvárható díszítõ- A xslt.tcl futtatása elindítja a XSLT-feldolgozót, amely három elemmel. Az XSLT lehetõvé teszi, hogy az összes lap stílusát fájlnevet kap meg. Az example1.xml fájl a felhasznált példa egyszerre változtassuk meg. Továbbá szépen megosztja a XML-dokumentumforrás. A stíluslapot ezekkel a fájlnevekkel munkát az XML-tartalmú fájlok és a XSLT-stíluslapok közt, így alkalmazzuk az example1.xml-re. A folyamat az eredménydo- a különbözõ szakemberek hatékonyan tudnak együttmûködni. kumentumot az example1.html fájlba írja. Válasszunk más logi- Ez a döntéshozói szintû leírás eléggé sokat elrejt a megvalósítás kai tartalmat, azaz másik XML-forrást az example1.html-hez. változatosságából. Hol és mikor történik az XSLT-átalakítás? Legyen például az example2.xml. A kimenet stílusának megvál- Lehet egy XML-dokumentumokból álló hátterünk, amit aztán toztatásához viszont az example1.xsl-t kell újraírnunk. idõnként parancssoros XSLT-feldolgozó programmal hagyomá-

26 Linuxvilág Vezérfonal

nyos webkiszolgálónak szánt statikus HTML-dokumentumok- Egy másik termelési példa a tDOM XSLT használatára George J. ká alakítunk. Tarthatjuk az XML-forrásokat adatbázisban is, Schlitz MediaOne programja. Pénzügyi dokumentumokat ahonnan vagy XML-ként kapjuk vissza és HTML-é alakítjuk át készít XSLT-vel igen fontos (mission-critical) webkörnyezetben. õket, vagy rögtön teljes értékû HTTP-oldalként kérjük le. Bár a terjesztést eredetileg a Xalannal kezdte, a teljesítménykö- Ezeket a felületeket különféle alkalmazáskiszolgálók, tartalom- vetelmények végül rákényszerítették, hogy a tDOM-ra álljon át. kezelõk és XML-adatbázisok teszik elérhetõvé. Még egy válto- Mindezen felhasználásoknál alapvetõ fontosságú az XML- zat: csak a forrásokat tartjuk a kiszolgálón, majd HTML-kiter- kódolt vagy XML-kódolható adatok felkutatása. Csevegõszoba- jesztések és böngészõ megfelelõ együttesével magát a böngé- naplófájlok, hitelesítõ tanúsítványok, nyomtató folyamatok, szõt utasítjuk, hogy értelmezze a megkapott XSLT-t. Valameny- újságfotók, képernyõbeállítások, családfafeljegyzések, játékál- nyi lépést tetszés szerinti mértékben tehetjük dinamikussá, lások, alkalmazástervek, földrészleteladások, orvosi fájlok és egészíthetjük ki gyorstárazással a sebességnövelés érdekében, még sok-sok egyéb adat lehet jelölt az XML-elesítésre. Ha már böngészõ vagy olvasó szerinti testreszabhatósággal és így tovább. egyszer ebben a formátumban vannak, az XSLT-átalakítás Az alkalmazások ilyen sokszínûsége következtében a kiadók általában a legmegbízhatóbb és -méretezhetõbb módszer az mûveit olvasni igazi kihívás. Valamennyien különbözõ stílusú adatok egyedi felhasználáshoz történõ tálalására. Java-programozást alkalmazunk attól függõen, hogy éppen appleteken, serveleteken vagy babokon dolgozunk-e, annak Az XSLT elsajátítása ellenére, hogy ezek közül bármelyikre ráragaszthatnánk a javás Van még mit tanulnunk az XSLT-rõl mint szakmáról. Amilyen

webprogram címkét. Hasonlóképpen azt is fontos megérteni, ütemben a felhasználási területe növekszik, sokkal kevesebb © Kiskapu Kft. Minden jog fenntartva milyen más XSLT-feldolgozási lehetõségeket nyújtanak a kü- XSLT-ben jártas hozzáértõ programozó akad, mint mondjuk lönféle termékek. object pascalos. Az XSLT gyors terjedésének másik akadálya a kényelmetlen Összetett honlapfejlesztés XML-alapú írásmód és zavaró telepítés mellett szolgáltatott Neil Madden, a University of Nottingham hallgatója egy külön- vagy alkalmazott szemantikája. A legtöbb számítási nyelv, ami legesen gyors telepítésre és karbantartásra kiélezett XSLT-rend- a Linuxvilág oldalain megjelenik, többé-kevésbé eljáráselvû szerrel rendelkezik. Az elképzelése több részbõl álló webhelyen (procedurális): a Java és a C programok a processzort valami- alapul, amelyet rendszergazdák csapata, szerkesztõk és felhasz- lyen mûvelet elvégzésére utasítják, majd újabb és újabb utasítá- nálók alkalmaznak. A TclKitet, ezt az újszerû, nyílt forrású sokat adnak. Az eljáráselvûség a számítás mikéntjében is eszközt használja, amely egyetlen különösen pehelysúlyú, kis megmutatkozik. munkaigényû csomagban egyesíti az adatbázis- és a HTML- szolgáltatásokat. A TclKit Tcl-programokat is képes értelmezni, így a szabványos sablonokkal kiegészített tDOM-ot progra- XSLT-tanulmány mozható modulokba csomagolhatja. Ezekkel látott hozzá Bár a Világhálón bõséges találhatunk anyagokat, az XSLT-rõl a a webhely fejlesztésének: nyomtatott könyvek értékesebbek azok számára, akik az XSLT-t 1. XML-dokumentum tervezése, amely képes tárolni a mélyebben is meg szeretnék ismerni. Steve Holzner Inside XSLT honlap adatait. 2. XSL-stíluslapok elkészítése, hogy az átalakított adatok címû mûve gazdag receptgyûjteményt tartalmaz, miközben szigorú minden ügyfél igényeit kielégítsék. pontossággal ismerteti az XSLT kulcselgondolásait. Egyéb haszna 3. Az elsõ két lépés ismétlése minden olyan részre, amely mellett az Inside XSLT utolsó fejezetei az objektumformázásról szól- különleges igényeket támaszt. nak. Az utóbbi pár hónapban igen nagy érdeklõdést tapasztaltam 4. Felhasználók, részek és lapok felvitele. a pdf és a hozzátartozó megjelenítési kimenetek XSLT segítségével Ezeket a különbözõ adattípuscsomagokat (lapszerkezet, XML- történõ elõállítása kapcsán. források, stíluslapok) a parancsfájlosított dokumentumok Ugyancsak hasznos Doug Tidwell XSLT könyve, Michael H. Kay foglalják magukban, és teszik egyszerûvé egy mûködõ kiszol- XSLT Programmer’s Reference, illetve Khun Yee Fung XSLT: a gáló új kiszolgálóra, lemezrészre telepítését vagy frissítését. Working with XML and HTML címû alkotása. Az XSLT majdnem Madden tervei szerint a tisztán webalapú szerkesztést kiváltá- teljes hivatkozási függelékkel rendelkezik, és kifejezetten jól írja sára egy gazdagabb, gyorsabb GUI-felület is készül. A Tcl egy- le a kiterjesztés módszer (extension mechanism) mûködését. Az ségessége és parancsfájlosíthatósága ezt a kettõs portolást akár XSLT: Working with XML and HTML nagy népszerûségre tett szert webkiszolgálón, akár helyi GUI-felületen keresztül is egysze- azok körében, akik komolyabb grafikai vagy webes háttérrel rendel- rûvé teszi. keztek, és akik nem igazán tartják magukat programozóknak, de A jól meghatározott modulhatárok a rendszer szempontjából XSLT-projektjüket gyorsan el szeretnék indítani. Az XSLT Program- létfontosságúak. A tervezõk a stíluslapokkal foglalkoznak, a mer’s Reference a másik véglet: meglehetõsen szabatos az elvo- rendszergazdák a jogosultságokat kezelik, a szerkesztõk az natkoztatások terén, ugyanakkor laza elõadásmód jellemzi, emellett egyes részeket rakják össze ütközés nélkül. Azáltal, hogy eze- részletes és összefogott. Bár van egy olyan érzésem, hogy igen ket a szolgáltatásokat a megbízható összetevõket egymáshoz sok XSLT-programozó manapság a Programmer’s Reference-szel ragasztó apró parancsfájlokként valósítjuk meg, elég könnyen kezdi XSLT tanulmányait, nem árt tudni, hogy ez kézikönyv (refe- adhatunk a rendszerhez új alkalmazásokat. Madden középtávú rence), és nem oktatókönyv (tutorial). céljai közt a Wiki együttmûködési hírcsoport, illetve a magas Az XSLT megértéséhez az utolsó ajánlatom az ActiveState Tools szintû bemutató (presentation) kimenet készítésére alkalmas Corporation, Komodo IDE-je. A Komodo 0-tól körülbelül 300 dollárig XSP- és FOP-modulok elkészítése szerepel. Madden büszkén hasonlítja rendszerét a Cocoonhoz, a közismert Apache- és terjedõ felhasználási díjért cserébe nagyon hasznos XSLT hibake- Java-alapú XML-terjesztési keretrendszerhez. Rendszere több resõ berendezést kínál, amelyhez hasonlót még egyetlen termék- szempontból is túlszárnyalja a Cocoon teljesítményét, a for- ben sem láttam. ráskódja viszont a töredéke annak.

www.linuxvilag.hu 2002. április 27 Vezérfonal

Az XSLT szolgáltatásait tekintve a Lisppel mutat rokonságot. extension functions (kiterjesztett függvények) és fallback A jó XSLT-programok a kívánt eredmény „lényegét” mutatják processing (tartalék feldolgozás). be. Egy idõbeli folyamatra való összpontosítás helyett az XSLT Az XSLT végsõ sorsa még nem teljesen egyértelmû. Ebben a a kívánt eredmény elérése érdekében a teljes XML-dokumen- tekintetben hasonló cipõben jár, mint a Java. Öt évvel ezelõtt tumon vagy annak jól meghatározott részein dolgozik. Ezt úgy tûnt, hogy a Java egyetlen célja ügyes kis vizuális alkalma- funkcionális megoldásnak nevezzük (a matematikai modellt zások készítése. Azóta kiderült, hogy a nehézsúlyú üzleti ki- idézve fel), ahol a függvények a bemenetet – mellékhatások szolgálók jobb otthont adnak a Java-programozásnak. Egyelõre vagy idõbeliség nélkül – kimenetté alakítják. Továbbá a mate- még korai lenne meghatározni, hol tudjuk az XSLT-t használni. matikai függvényeket különbözõ kombinációkban is összerak- A ReportLab Inc. például olyan üzleti szolgáltató, amely igen hatjuk. Az általános XSLT-szemantika jó néhány különbözõ komoly minõségkövetelményû leíráskészítéssel járó termékeket átalakítást vezet be, idõbeliségük megadása nélkül. A stílusla- és szolgáltatásokat ad el a világ legnagyobb szervezeteinek, pok egyszerre alkalmazandók. például a Fidelity Investmentsnek és az American Insurance Az XSLT rendelkezik ugyan változókkal, de azok megváltoztat- Groupnak. A ReportLab alapítója, Andy Robinson elmesélte hatatlanok (inkább feltételesen meghatározott konstansok, nem nekem csapatának XML-átalakító projektek készítése közben pedig változók – a ford.). Csakis egyetlen értéket vehetnek fel, szerzett tapasztalatait. A cégüknél minden befejezett projekt és nem lehet õket például ciklusba szervezni, mint ahogyan a XSLT helyett valamilyen pehelysúlyú parancsnyelvben íródott. Igaz ugyan, hogy az XSLT kifejezetten XML-átalakításra sza-

© Kiskapu Kft. Minden jog fenntartva for (i = 0; i < 10; i++); kosodott, de a tanácsadó csapatok egyszerûbbnek látták az általánosabb célú, de hatékony Python nyelvet használni. utasításban tesszük. A paraméteres vagy ismétléses mûveletek közvetlenül mega- Köszönetnyilvánítás dott rekurziókon és ismétlõdéseken (iteration) keresztül hajtód- Különös köszönettel tartozom Rolf Ade-nek, aki bevezetett nak végre. Az XSLT változóhasználati írásmódja meglehetõsen a tDOM program világába, és segített megérteni. csúnya, mivel meg kell felelnie az XML kötöttségeinek. C-ben vagy Javában azt írnánk, hogy Cameron Laird

if (level > 20) a Phaseit Inc. alelnöke és fõállású code = 3; fejlesztõje. Gyakran ír programozással else kapcsolatos cikkeket, és az elmúlt évben code = 5; számos XSLT-vel kapcsolatos cikket adott közre. Jelenleg egy a nyelvet oktató (Egyszerûbb írásmódja a code = (level > 20) ? 3:5 – a ford.) tanfolyam elõkészítésén dolgozik.

Ugyanehhez XSLT-ben körülbelül a következõket gépelnénk be: Kapcsolódó címek Az XSL, XSLT és Xpath megismerését kezdjük a W3C  ajánlásával a http://www.w3.org/TR/xsl,  3 http://www.w3.org/TR/xslt és a  http://www.w3.org/TR/xpath címen. A FO-ról (azaz az objektumformázásról) is találunk itt rész- 5 leteket  http://www.w3.org/TR/xsl/slice6.html#fo-section Lars Marius Garshol összegyûjtötte a leginkább elérhetõ XSLT-motorokat. Listája megtekinthetõ a  http://www.garshol.priv.no/download/xmltools/ Mint a fenti példa is bizonyítja, bár az XSLT önmagában is elég cat_ix.html#SC_XSLT címen. hatékony az általános feladatok megoldásában, a legjobban A tDOM-mal kapcsolatos legfrissebb adatokat a mégis kettõs programozási módban használhatjuk. Az XSLT  http://mini.net/tcl/tDOM címen találjuk. igazi ereje inkább a sablonok feldolgozásában, a mintaazonosí- A SAX-szal a  http://www.megginson.com/SAX helyen tásban (pattern matching), illetve az XML-elemek rendezésében ismerkedhetünk. és csoportosításában rejlik. Steve Ball, a Zveno Pty. Ltd. vezetõ  tanácsadója csak annyit dolgozik XSLT-ben, amennyit még A Cocoon adatait az http://xml.apache.org/cocoon célszerûnek érez, majd az eredményt egy másik nyelvet hasz- lapon találjuk. náló alkalmazásba illeszti be, hogy a külsõ rendszerek felületeit A héjjal ellátott dokumentumokról (scripted documents) kezelhesse – ideértve a fájlrendszert és a felhasználói nézetet. a  http://mini.net/tcl/ScriptedDocument címen Azok között a fejlesztõk között, akikkel az utóbbi fél évben olvashatunk. találkoztam, a Java és a Tcl volt a legnépszerûbb, de a Python, Hiperhivatkozásokat és más, a saját XSLT-projektjeimhez a C, a Perl és más partnernyelvek többé-kevésbé ugyancsak tartozó adatokat, véleményeket találhatnak az alábbi megfelelõen támogatják az XSLT-motorokat. Továbbá az XSLT címen:  http://starbase.neosoft.com/~claird/ olyan kiterjesztést lehetõvé tévõ módszereket is meghatároz, comp.text.xml/XSLT.html amelyek segítségével a fejlesztõk új szemantikát vihetnek az XSLT-be, ezek: extension elements (kiterjesztett elemek),

28 Linuxvilág Vezérfonal

Ügyféloldali parancsfájlok készítése Marco megmutatja, hogy miként lehetséges böngészés közben az oldalaknak csak azt a részét letölteni, amely valóban érdekel bennünket.

inuxhoz rengetegféle böngészésre és FTP-re alkalmas eszköz létezik, amelyek szolgáltatásban gazdagok és Az alapadatok összegyûjtése a felhasználóik minden igényét képesek kielégíteni: Lkezdve a parancssor megszállottaitól a 3D többmonitoros kép- #! /usr/bin/perl ernyõfüggõkig. De az ilyen eszközöknek létezik egy nagy hibá- #20011210 ja: elvárják a felhasználótól, hogy ott üljenek a billentyûzet elõtt. Természetesen akadnak olyan eszközök, amelyek egész use strict; webhelyet képesek tükrözni, amíg te alszol, ilyen például a wget is, azonban ezeknek az eszközöknek elõször meg kell ta- use LWP::UserAgent; lálnod a megfelelõ URL-t, ha pedig az anyagot letöltötték, azt use LWP::Simple; bitrõl bitre végig kell olvasnod. Kicsi, statikus oldalaknál ez nem use HTML::Parse; gond, de mi történik olyankor, ha egy oldalt minden nap le kell use HTML::Element; töltened egy véletlenszerû címrõl? Vagy ha le akarsz tölteni egy use URI::URL; 100 K-s dokumentumot, és csak néhány címszó érdekel belõle? use Image::Grab; Ismerkedj meg az ügyféloldali parancsfájlok készítésével, és minden olyan módszerrel, amellyel lehetõvé válik, hogy csak my $HTML_FILE = get($ARGV[0]); olyan oldalakat vagy oldalrészeket tölts le, amelyek valóban my @HEADER = head($ARGV[0]); érdekelnek, és a számítógép már elõkereste õket. Ilyen parancs- fájlokkal csak azokat a közlekedési és idõjárási adatokat kell my @ALL_URLS; elolvasnod, amelyek a te környezeteddel kapcsolatosak, nem my $PARSED_FILE = kell feleslegesen érdektelen képeket nézegetned, és még a HTML::Parse::parse_html($HTML_FILE); továbbhaladáshoz szükséges hivatkozásokat is kézhez kapod. for (@{$PARSED_FILE->extract_links()}) { my $LINK = $_->[0]; Lényeges adatok a szerzõi jogról és a sávszélességrõl my $URL = new URI::URL $LINK; Amellett, hogy az ügyféloldali parancsfájlok használatával idõt my $FULL_URL = $URL->abs($ARGV[0]); takaríthatsz meg, még sok egyebet is meg tanulhatsz, többek push @ALL_URLS, $FULL_URL; között önfegyelemre nevel. Ha az itt leírt módszereket válogatás } nélkül alkalmazzuk, az esetleg szerzõi jogsértésnek minõsülhet, vagy a teljes sávszélességedet felemészthetik, olyannyira, hogy végül akár az internethozzáférésedet is elveszted. Másrészrõl megoldás közreadásával, helyette az általános megközelítést ez a szabadság csak addig áll fenn, míg a weboldalak magántu- tanulmányozzuk. lajdonnak nem minõsülõ nyelveken készülnek (HTML, illetve XML), és szabadon hozzáférhetõ ASCII-ban írják õket. Mire van szükség? Rengeteg jó weboldal marad életben mindenféle további költ- Hogy az e cikkben leírtakból elõnyt kovácsolhass, mindössze ség nélkül, ha megfelelõ mennyiségû hirdetést töltenek le néhány eszközre lesz szükséged, valamint valamelyest ismer- tõlük, tehát a leírtakat csak meggondoltan szabad alkalmazni. ned kell a Perlt, össze kell tudnod állítani egy-két szabályos kifejezést, illetve a következõ Perl-modulok használata is elkél: A lehetõségek LWP::UserAgent, LWP::Simple, HTML::Parse, Mielõtt nekikezdenénk megalkotni programunkat, szokás HTML::Element, URI::URL és Image::Grab. szerint alaposan nézzünk körül, hátha valaki már elkészítette A CPAN-ról mindegyikük  http://www.cpan.org letölthetõ. azt, és esetleg az õ munkáját is felhasználhatjuk. Ha a Ahhoz, hogy ezeket a modulokat feltelepíthesd, még akkor is, Freshmeat.net keresõjébe beírjuk a „news ticker” szavakat, ha nem rendelkezel rendszergazdai jogosultsággal (ez az irodai azonnal 18 találatot kapunk, olyanokat, mint a Kticker, a gépek esetében általános), nem kell mást tenned, mint bemá- K.R.S.S – egészen a GkrellM Newstickerig. Ezek mindegyike solni õket egy általad kiválasztott könyvtárba – ahogyan az a nagyon jól használható eszköz, de csak híreket töltenek le, Perl leírásában és a kapcsolódó README fájlokban le van írva. és nem mûködnek anélkül, hogy bizonyos dolgokat meg ne A cikkben leírtakat egy Red Hat Linux 7.2-n próbáltam ki, és változtatnál bennük. Ezen túlmenõen a felsorolt projektek amennyiben a kódban szereplõ abszolút útvonalakat megvál- mindegyike valamilyen grafikus eszköz, tehát cron-feladat- toztatod, bármilyen Unixon mûködniük kell, amelyeken a Perl ként nem képesek futni, és az sem biztos, hogy a kimenetüket és a szükséges alkalmazások elérhetõk. egy másik programnak továbbítani tudod. Ezen a területen, ha a saját elképzeléseidet szeretnéd megvaló- A szükséges adatok összegyûjtése sítani, csaknem mindig magadnak kell megalkotnod azt. A lejjebb leírt feladatok mindegyikéhez és általánosságban Ez okból most mi sem kísérletezünk semmilyen hiánytalan véve az ügyféloldali parancsfájlok készítéséhez is szükséges, © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. április 29 Vezérfonal

hogy kezdésképpen képes legyél általánosítani úgy, hogy olyan rend- néhány weboldalt letölteni és tárolni, szereken is mûködjön, ahol a könyv- amelyeket késõbb elemezhetsz: mikor tárelválaszó egy fordított perjel. módosították utoljára, milyen URL- Az illesztés eredménye a ekre található hivatkozás bennük $BASENAME változóba kerül, vagy ezek kombinációja. magát a képet pedig a már ismert Ezek az adatok a webügyfelek elején get() tagfüggvénnyel mentjük elhelyezkedõ néhány soros progra- az $IMG változóba. Ezután a fájlt mocskákkal mind összegyûjthetõk, helyileg megnyitjuk, és a változó mint ahogyan az listában láthatjuk. tartalmát egészében beleírjuk. A Perl-parancsfájlok a kötelezõ Természetesen a legtöbb esetben use strict meghatározással kez- nincs minden képre szükséged, dõdnek, majd betöltik a szükséges hiszen a többségük hirdetés, vagy modulokat. Amint ez megtörtént, éppen a pillanatnyi oldal logója. Ilyen a webhely teljes tartalmát a get() esetekben ha vetsz egy pillantást az tagfüggvényen keresztül a oldal forrására, szinte azonnal meg $HTML_FILE változóba mentjük. tudod mondani, hogy melyik képet A következõ mûveletekkel a HTTP-fejléc minden sorát egyen- választod. Tegyük fel, hogy egy mindig változó nevû képre van © Kiskapu Kft. Minden jog fenntartva ként a @HEADER tömbbe mentjük. Végül pedig egy tömböt szükséged, amely azonban három hivatkozásként szerepel. (@ALL_URLS) hozunk létre, és egy for ciklussal az összes Ebben az esetben a kódot a következõképpen módosítsuk: hivatkozást mentjük az oldalról – egyúttal a relatív hivatko- zásokat az abs() tagfüggvénnyel abszolúttá alakítjuk. Így my $IMG_COUNT = 0; a ciklus végén az @ALL_URLS tömb az összes hivatkozást, my $WANTED_IMG = 3; amelyet az oldalon talált, tartalmazni fogja. foreach my $GRAPHIC_URL (grep Egyebek mellett e tagfüggvények teljes leírását megtalálod a Web /(gif|jpg|png)$/, @ALL_URLS) { Client Programming címû könyvben (lásd a Hivatkozások részt). $IMG_COUNT++; Miután ezt az anyagot összeszedtük, elkezdhetjük használni. next unless ($IMG_COUNT == Ha a weboldal tartalmát menteni szeretnéd, az eredeti kódhoz $WANTED_IMG); egy print utasítást kell hozzáadnod: # a ciklus tovÆbbi rØsze vÆltozatlan last if ($IMG_COUNT == $WANTED_IMG); print $HTML_FILE; } print "A mai napon nincs ilyen fÆjl\n" if Majd futtasd le a héjprogramból: ($IMG_COUNT != $WANTED_IMG);*

./webscript.pl http://www.fsf.org > fsf.html Az elsõ utasítás a ciklusban mindig növeli a képszámláló válto- zónkat, míg következõ next utasítás újraindítja a ciklust, ameny- Ez a parancssor letölti neked a  http://www.fsf.org kezdõol- nyiben még nem értünk a megfelelõ képhez. A last utasítással dalát és menti az fsf.html fájlba. Ne felejtsd el, ha csak ennyire megelõzhetõk a felesleges ciklusok, ha a keresett képet már van szükséged, erre a célra a wget sokkal jobb eszköz (Lásd megtaláltuk. A legutolsó sor azt ellenõrzi, hogy találtunk-e a Hivatkozások részt: Letöltés böngészõ nélkül). megfelelõ számú képet – amennyiben nem, hibát jelez. Ha a kép neve nem teljesen véletlenszerû, még egyszerûbb Képek mentése weboldalról a dolgunk, mivel a nevére külön is kereshetünk: Ha az abszolút hivatkozások már az @ALL_URLS tömbben van- nak, a következõ for ciklussal az összes képet is letölthetjük: foreach my $GRAPHIC_URL (grep /(^daily(\d+).jpg)$/, @ALL_URLS) { foreach my $GRAPHIC_URL (grep /(gif|jpg|png)$/, @ALL_URLS) { Ez a ciklus csak olyan képeket keres, melyek a „daily” szóval $GRAPHIC_URL =~ m/([^\/]+)$/; kezdõdnek, tetszõleges számú szám követi õket, és .jpg a my $BASENAME = $1; kiterjesztésük. print STDERR "$GRAPHIC_URL elmentØse ide: A két módszer kombinálható, és természetesen egyéb mód- $BASENAME....\n"; szerek is elképzelhetõk. Ha tudod, hogy a kép neve megegy- my $IMG = get ($GRAPHIC_URL); ezik az oldal címével, majd ezt követi a dátum ÉÉÉÉHHNN open (IMG_FILE, "> $BASENAME") || die formátumban, akkor elõször keressük ki az oldal címét: "Nem tudtam megnyitni: $BASENAME\n"; $HTML_FILE =~ m/([^<]+)<\/TITLE>/; print IMG_FILE $IMG; my $TITLE = $1; close IMG; } Majd számoljuk ki a dátumot:</p><p>A ciklus a dokumentumból minden olyan hivatkozást my ($sec, $min, $hour, $day, $month, $year, ment, melynek .gif, .jpg vagy .png a kiterjesztése (ezeket az @dummy) = localtime(time); eredeti tömb grep-elésével kapja meg). A szabályos kifejezés $month++; # a h napok nullÆnÆl kezdıdnek elõször megtalálja a valódi fájlnevet, melyet az utolsó törtvonal $year += 1900; # felkØsz lt nk aY2K-ra ;-))) és a hivatkozás vége közül vág ki – ezt a kifejezést lehetne $TODAY = $year.$month.$day;</p><p>30 Linuxvilág Vezérfonal</p><p>Végül pedig ez alapján szûrjünk: Az elsõ három sor minden lényegtelen dolgot levág, ami nem tartozik a hírek közé. A negyedik sor megkeresi a dátumot, és foreach my $GRAPHIC_URL (grep levágja róla a HTML-címkéket. A következõ két sor ugyanazt /(^$TITLE$TODAY.jpg)$/, ALL_URLS) { teszi hírek címével. Az utolsó két sor eltávolítja a felesleges szó- közöket, és a szükséges helyeken a szöveget új sorokra tördeli. Jelenítsük meg a szöveg bizonyos részét! Ezen a 2001. december 14-i napon a héjamban a következõ lát- Most kezd csak igazán érdekes lenni a dolog. A legtöbb erõ- ható (a kimeneten az olvashatóság végett kicsit változtattam): feszítést és idõt igénylõ mûvelet az, ha azt szeretnénk elérni, hogy az oldalnak csak bizonyos része jelenjen meg, mivel -> 3 December 2001: Stallman Receives ebben az esetben az összes oldal teljes oldalfelépítését elemez- Prestigious... nünk kell, és ha valamelyikük szerkezete megváltozik, annak -> 22 October 2001: FSF Announces Version 21 az oldalnak az elemzését elölrõl kezdhetjük. of the... Ha lassú az internetkapcsolatod, vagy éppen gyors, de nem -> 12 October 2001: Free Software Foundation akarod lelassítani az MP3-ak és játékok letöltését, bizonyosan Announces... megtérül a parancsfájlok írására szánt idõd. Mindamellett ha -> 24 September 2001: Richard Stallman and a hozzáférésedet perc alapján számlázzák (mint nekem), még Eben Moglen... pénzt is megtakaríthatsz! -> 18 September 2001: FSF and FSMLabs come </p><p>Az elemezni kívánt HTML-fájlt meg kell nyitnod, és ki kell to agreement... © Kiskapu Kft. Minden jog fenntartva találnod, hogy milyen szabványos kifejezéssel ollózhatod ki belõle a szükséges elemeket. A Perl LWP könyvtára alaphely- A fenti kifejezéslista nem teljes, például a hírek frissítését nem zetben függvényeket kínál, amelyek segítségével egy HTML- kezeli. A kifejezéseket a kisebb HTML-módosításoktól (például fájlból akár a teljes szövegrészt kiemelheted. Ha a dokumen- a színek cseréjétõl, betûtípusok méretétõl stb.) lehetõség szerint tumnak csak az ASCII-változatára van szükséged, akkor függetleníteni kellene. A következõ szabályos kifejezés minden máris elindulhatsz. betûtípusokkal kapcsolatos jelölést eltávolít: Ilyen esetekben rendkívül csábító az LWP használata, mivel az összes szöveget kivágja a dokumentumból, és ezzel már $HTML_FILES =~ s/<font face="Verdana" könnyen dolgozhatsz. Ez a szolgáltatás akkor is jól jöhet, ha size="3">([^<]+)<\/font>/$1/g; az oldalból csupán néhány sorra van szükséged, mivel sokkal egyszerûbb a kivágott szövegen dolgozni, mint a teljes HTML- Ez ugyanazt teszi, de bármilyen fajtájú és (pozitív) méretû fájlon. Ez a módszer azonban sok esetben mégis jóval bonyo- betûtípus esetén mûködik: lultabb feldolgozást eredményez. Természetesen a tiszta ASCII-szöveg sokkal könnyebben olvasható, ám a dokumen- $HTML_FILES =~ s/<font face="[^"]+" tumból a HTML-jelölések elvesznek, pedig ezekkel könnyeb- size="\d+">([^<]+)<\/font>/$1/g; ben meghatározható lenne, hol kezdõdik az érdekes rész. Kezdjük mindjárt a legegyszerûbb példával: tegyük fel, hogy Az itt bemutatott példák szemléltetik a módszer alapelveit, és csak a hírekre van szükségünk, melyek <H1> és </H1> tagok mint már szó volt róla, egyszeri befektetéssel a késõbbiekben között helyezkednek el. Ezeket a tagokat egy szabályos kife- sok-sok idõt nyerhetünk. jezéssel könnyedén megtalálhatod, nélkülük viszont elég nehezen lehetne rávenni a programot, hogy felismerje a Hírek megjelenítése a saját képernyõdön híreket tartalmazó részt. Ha már sikerült az értékes szöveget valamilyen oldalról kinyer- Hogy valós helyzetben mutassuk be a példánkat, próbáljuk ned, természetesen nem vagy arra korlátozva, hogy csak a saját meg az FSF híroldalán  http://www.fsf.org/news/news.html konzolodon, egyénileg használd fel. Amennyiben valami mást is található címeket közvetlenül a saját terminálunkon kinyom- szeretnél tenni, például mindig értesülni arról, ha mondjuk Stall- tatni. Ha a programunkat elküldjük erre a címre, az oldal teljes man-tól jelenik meg valami, csak három lépés szükséges hozzá. tartalmát menteni fogja a $HTML_FILE változóba. Most pedig Elsõ lépésben vedd fel a parancsfájlt a cron-bejegyzéseid közé alkalmazzuk a következõ szabványos kifejezéseket (javaslom, (ezzel kapcsolatban a man cron parancs mindent elmond), hogy elõtte nézd meg a kérdéses oldalt és a forráskódját, hogy ezután pedig a programodhoz add a következõ ellenõrzést: megérthesd, mirõl is van szó): if ($HTML_FILE =~ m/Stallman/) { $HTML_FILE =~ s/.*>Press Releases<//gsmi; # RTES˝T S KLD SE $HTML_FILE =~ s/.*<DL>//gsmi; } $HTML_FILE =~ s/<\/DL>.*$//gsmi; Így a parancsfájl a teendõit csak akkor végzi el teljesen, ha a $HTML_FILE =~ s/<dt>([^<]*)<\/dt>/-> megadott feltétel teljesül, és a hírekben szerepel Stallman neve $1: /gi; (vagy természetesen bárki másé, akiét beállítjuk). A következõ lépésben ezt a pár sort írjuk be a kapcsos zárójelek közé: $HTML_FILE =~ s/<dd><a href=[^>]*>([^<]*)<\/a>/ $1 /gsmi; open (XMSG, "|/usr/bin/X11/xmessage $HTML_FILE =~ -title \"NEWS!\" -file -") || die; s/\.\s+\([^\)]*\.\)<\/dd>/<DD>/gsmi; print XMSG $HTML_FILE; close XMSG; $HTML_FILE =~ s/\s+/ /gsmi; $HTML_FILE =~ s/<DD>/\n/gsmi; Ez a néhány sor megnyit az X alatt egy ablakot a -title után</p><p> www.linuxvilag.hu 2002. április 31 Vezérfonal</p><p> megadott címmel, és a -file tulajdonság után megadott fájl Az oldal PostScriptbe mentése: tartalmával. Esetünkben a -tulajdonsÆg azt jelenti, hogy a program a szöveget az állandó bemenetrõl olvassa be. Ezek- exec($NETSCAPE, ·-noraise·, ·-remote·, után a Perl-parancsfájl addig vár, amíg az xmessage ablakot "saveAs(/tmp/netscape.ps, PostScript)"); be nem zárod. Talán pont erre van szükséged. Nem szabad azonban arról sem megfeledkezni, hogy a cron-ból futunk, Végül pedig nyomtatása: tehát jobb megoldás, ha az xmessage-t a háttérben futtatjuk egy ideiglenes fájlon, majd pedig kilépünk: exec("mpage -PYOURPRINTER -1 /tmp/netscape.ps");</p><p> open (XMSG, "> /tmp/gee") || die; Akár a könyvjelzõk közé is felvehetjük: print XMSG $HTML_FILE; exec($NETSCAPE, ·-noraise·, ·-remote·, close XMSG; "addBookmark($SOME_URL, $ITS_TITLE)"); exec "/usr/bin/X11/xmessage -title \"NEWS!\" -file /tmp/gee&"; A Konquerort, a KDE webböngészõjét egyszerûen a következõ módon indíthatjuk el: Ellenõrizzük, hogy bizonyos idõ elteltével megváltozott-e az oldal! system("/usr/bin/konqueror $URL");</p><p>© Kiskapu Kft. Minden jog fenntartva Amennyiben az oldalt csak akkor szeretnéd feldolgozni, ha az utóbbi látogatásod óta vagy az elmúlt két órában megvál- A Konqueror nagyon jól kezelhetõ parancsfájlokból áll, és nem- tozott a tartalma, a Last-Modified HTTP-fejlécre lesz szükséged. csak a Webre jellemzõ feladatokat végezhetünk vele, hanem Ez már @HEADER tömbünk 3. elemeként rendelkezésre áll. akár fájlokat is másoltathatunk, vagy eszközöket fûzhetünk be. A hozzá tartozó érték 1970. január 1-je óta a másodperceket Mûködésének megismeréséhez írd be a következõt: számolja. Ezért ha csak olyan oldalakra van szükséged, ame- lyek az utóbbi két órában módosultak, számold ki az idõt, kfmclient -commands amit ez a számláló két órája mutatott (mindig az „eltelt másod- percek” egységben): A Galeon is ugyanígy indítható: system("/usr/bin/galeon $URL"); $NOW = time; $TWO_HOURS_AGO = $NOW - (3600 2); Mint ahogyan az „A User’s Guide to Galeon” cikkben látható (Hivatkozások rész), még azt is eldöntheted, hogy az új hely Majd ezt az idõt hasonlítsd össze a weblap módosítási idejével: egy új fül alatt nyíljon-e meg:</p><p> if ($HEADER[2] > $TWO_HOURS_AGO) { system("/usr/bin/galeon -n $URL"); # a sz ksØges feladat elvØgzØse } Esetleg egy teljesen új ablakban:</p><p>Dinamikus könyvjelzõk system("/usr/bin/galeon -w $URL"); hozzáadása az ablakkezelõ menüjéhez Ez a mûvelet azon kevés esetek egyike, amikor a csináld magad Vagy akár egy ideiglenes könyvjelzõt is készíthetünk: szabály alól kivételt kell tennünk: töltsd le a WMHeadLines system("/usr/bin/galeon -t $URL"); nevû programot (lásd a Hivatkozások részt), majd telepítsd fel, és az ízlésednek megfelelõen állítsd be. A program 120 külön- Okos böngészés bözõ webhely híreihez nyújt hozzáférést, amelyeket aztán Egy ellentétes megközelítés, mint például az általános tükrö- elhelyez a BlackBox, a WindowMaker, az Englightenment zés, vagy a képek letöltése elvégezhetõ a böngészõbõl is, pél- és a Gnome menüiben, oly módon, hogyha kattintasz rajtuk, dául a Konquerorból vagy a KMailbõl. Ha a jobb egérgombbal a böngészõt elindítva a kért oldalakra jutsz. kattintasz egy hivatkozáson, a megjelenõ menübõl kattints a „Megnyitás ezzel…” menüpontra, és ha beírod a programod A böngészõ vezérlése parancsfájlból elérési útját, a következõkben már önmagától fel fogja ajánlani. A Netscape-nek például többféle parancsot kiadhatunk a héj- Ez annyit jelent, hogy a fetch_images parancsfájllal néhány ból vagy akár egy parancsfájlból. Egy ilyen paranccsal a Net- kattintással elkészítheted az oldalakról a saját másolatodat, scape arra utasítható, hogyha eddig még nem futott, induljon amennyiben követed az utasításokat és a programodat a el és jelenítse meg a kért oldalt, illetve amennyiben már futott, háttérben futtatod. az oldal a pillanatnyi vagy pedig új ablakban jelenjen meg. Hogy milyen parancsot kell használnunk, attól is függ, hogy Okos tükrözés és FTP a böngészõ éppen fut-e. Vess a WMHeadLines csomagban egy Az @ALL_URLS tömbben található URL-ekkel FTP-oldalakról pillantást az nslaunch.pl parancsfájlra, és meglátod, miként is készíthetsz tükrözést. Ez a Perlbõl is teljességgel elvégezhetõ, kérdezhetõ le, hogy a Netscape fut-e már. a sok-sok FTP-zõ és tükrözõ modulok valamelyikének felhasz- A Netscape parancsfájljaidból egyéb feladatok elvégzésére is nálásával, vagy pedig olyan módon, hogy a szükséges címeket utasítható, például miután behozta a választott oldalt, a böngé- összegyûjtjük, és a dolog lényegi részét a wget-re vagy a szõ segítségével nyomtathatunk is: <a href="/tags/CURL/" rel="tag">curl</a>-re bízzuk, mint az A. J. Chung „Downloading without a browser” címû cikkében látható (Hivatkozások rész). exec($NETSCAPE, ·-noraise·, ·-remote·, Ha a kedvenc portálod napról napra változtatja a kinézetét, és "openURL($URL,new-window)"); te mégis le szeretnéd tölteni magadnak, csak mentsd az oldal</p><p>32 Linuxvilág Vezérfonal</p><p> címét, ahogyan képek esetén tennéd, majd a programodban A programot myportal.html néven mentsük a saját könyvtá- add ki a következõ parancsot: runkba, a böngészõdben erre az oldalra állítsd be a kezdõ- oldalt, és gyönyörködj benne! A teljes programnak szüksége exec "wget -m -L -t 5 $COMPLETE_URL"; lehet arra, hogy az oldalak CSS- és karakterkészlet-beállításain csiszoljon, de mostanra már te is képes vagy erre, tudod? Az URL-eket a Perl programnak tulajdonságként továbbadva az összes szükséges parancs végrehajtható, amely a párhuza- Összegzés mos FTP-zéshez, vagy a tükrözéshez szükséges. Éppen csak érintettük az ügyféloldali héjprogramozás felszínét. Ezeken kívül még sok egyéb bonyolult megoldás Építsd fel a saját portálodat! is elképzelhetõ, például a sütik és a jelszóval védett oldalak Sokunknak több kedvelt oldala is akad, és az összes kedvencün- kezelése, önmûködõ ûrlapkitöltés, keresés a weben bármi- ket egyetlen ablakban szeretnénk látni. Általános megoldás, ha lyen jellemzõkkel, weboldalak elemzése, és a tíz legtöbbet a HTML-törzset minden oldalból a következõ módon vágod ki: kiválasztott hivatkozás megjelenítése, vagy akár a webes levélellenõrzés. Mindehhez csak egy kis türelem szükségel- $HTML_FILE = s/^.*<body[^>]*>//i; # levÆg tetik, egy csipetnyi Perl-gyakorlat, és a rendelkezésre álló mindent a HTML t rzs elıtt modulok ismerete. $HTML_FILE = s/<\/body[^>]*>.*$//i; # Øs utÆn Jó böngészést kívánok! © Kiskapu Kft. Minden jog fenntartva Ekkor kinyomtat egy HTML-táblát, amelynek minden egyes négyzetében az oldalak egyenként találhatók meg: Marco Fioretti print<<END_TABLE; alkatrészrendszerek fejlesztésével foglal- {{Ide j n minden HTML HEAD Øs BODY dolog}} kozik hálózati kábel nélküli ATM-eszközök- <TABLE> höz az Ericsson Labnél Olaszországban. <TR><TD>$HTML_FILE_1</TD></TR> Érdekli még a természetjárás, a hegymá- <TR><TD>$HTML_FILE_2</TD></TR> szás, a Perl, a webdesign, az etika és az új ...... módszerek közötti kapcsolat, továbbá a Linux-asztal haté- </TABLE></BODY></HTML> konnyá varázsolása. Marco Rómában él családjával, és END_TABLE a linuxdesk@inwind.it címen érhetõ el.</p><p> www.linuxvilag.hu 2002. április 33 Vezérfonal</p><p>Miképp növelhetjük PHP-programjaink sebességét? Bruno rámutat néhány problémára, amelyektõl PHP-programjaink lelassulhatnak, és egyúttal megoldást is közöl az elkerülésükre.</p><p> zámos oka lehet PHP-programjaink lelassulásának . a mûködés nagyon hasonló egy webproxy mûködéséhez. Két Dugót okozhat az adatbázis-hozzáférés sebessége, fogást mutatok be e módszer megvalósítására: a kimenet a weboldalak elérése, vagy akár egy rosszul megterve- átmeneti tárazását és az idõn túli feldolgozást. Szett, lassú algoritmus. Ha a sebesség csökken, a felhasználó A kimenet átmeneti tárazása esetén a parancsfájl ellenõrzi a feszültté válik, míg a kérésre várakozik. Kevés felhasználó tárolt fájl dátumát és idejét, és csak szükség esetén dolgozza fel kisebb hasznot hoz, és a webhelyed elveszíti népszerûségét. õket. A feldolgozás úgy mûködik, hogy mielõtt elküldené az Legfõképpen a rossz tervezés és fejlesztés okolható a lassúsá- ügyfélnek, a parancsfájl kimenetét egy gyorstárfájlban tárolja.</p><p>© Kiskapu Kft. Minden jog fenntartva gért. Gyakran hoznak létre és indítanak el honlapokat minden- PHP-ben ezt az ob_start() függvény segítségével lehet elvé- féle teljesítménypróbák nélkül. Az adatbázisok sokszor keve- gezni. Ez a függvény bekapcsolja a kimenet átmeneti tárazását, sebb adat kiszolgálására képesek, mint amennyit várnak tõlük. és elküldi egy visszahívó függvénynek. Létezik egy másik Az algoritmusok pedig számtalanszor rosszul tervezettek, és függvény is, mellyel a kimenetet elküldhetjük a böngészõnek: sebesség tekintetében sem hatékonyak. ob_end_flush(). Vessünk egy pillantást a példánkra: Ha a webhely felgyorsításához nem áll módodban újratervezni az egészet, a teljesítmény fenntartása érdekében statikus olda- <?php lak kiszolgálására lesz szükséged, így a PHP-kódot nem kell // a fejlØcfÆjl csatolÆsa minden egyes letöltéskor újrafordítani. Nézzük meg, milyen include("header.php"); lehetõségeink vannak ennek a kivitelezésére! ?> <?php A hagyományos megközelítés // 10 mÆsodperc pihenı Az elsõ dolog, amit tehetsz, hogy megvizsgálod, mely progra- sleep(10); mokra vagy programrészekre kell a legtöbbet várakozni. Ezt a ?> legegyszerûbben a PHP-héj (shell) segítségével oldhatod meg. Test: Tegyük fel, hogy létezik egy index.php nevû parancsfájlod, és <?php ennek a kimenetét szeretnéd statikussá tenni. Feltéve, hogy a // A lÆblØc csatolÆsa PHP-héj neve phpsh, a parancssor a következõképpen néz ki: include("footer.php"); ?> phpsh --q /egy/k nyvtÆr/index.php > /egy/k nyvtÆr/index.html A header.php fájlban található minden gyorstárazással kapcso- latos szolgáltatás. Ez elõször ellenõrzi, hogy szükség van-e új Az index.html fájl most egy teljesen egyszerû HTML-fájl, amely gyorstárfájl-változat tárolására a needscache() függvény semmiféle PHP-feldolgozást nem igényel, és az ügyfél változat- segítségével. Ez az ellenõrzés történhet idõ- vagy fájlmódosítás lan formában töltheti le. Vajon mi történik olyankor, amikor alapján, vagy ahogyan szeretnéd. Írásunkban idõ szerinti a PHP-program kimenete idõrõl-idõre változik? Minden egyes példát veszünk alapul. alkalommal, amikor a kimenet megváltozik, újra el kell készí- Ha az elõzõ (gyorstárazott) példány elavult, a parancsfájl tenünk egy új, statikus változatot. elindít egy ob ciklust, és a kimenetét kiírja a fájlba. Ugyanakkor ha a fájl még aktuális, annak tartalmát egyszerûen elküldi a Rendszeres újrafeldolgozás böngészõnek (1. lista, 30. CD. Magazin/PHP). Linux alatt az idõnkénti futtatás legegyszerûbb módja a A footer.php fájl az ob-feldolgozást egyszerûen csak lezárja: crontab. A következõ crontab-bejegyzés a megadott paran- csot minden negyedórában lefuttatja: <?php ob_end_flush(); */15 * * * * root phpsh q ?> /egy/konyvtar/index.php > /egy/konyvtar/index.html Mûködését kipróbálhatod, ha a parancsfájlt többször meghí- vod, míg a gyorstárban tárolt fájl el nem évül. Tapasztalni Elõfordulhat, hogy az adat frissentartásához ez az idõzítés nem fogod, hogy az elsõ futás alkalmával a prancsfájl tíz másod- megfelelõ. Léteznek olyan parancsfájlok, amelyeket nagyon percet vár (mivel a parancsfájl egy sleep() hívás következ- ritkán kérnek le, azonban akadnak olyanok is, amelyeket folya- tében a jobb szemléletesség céljából várakozik), míg a többi matosan próbálnak elérni – ebben az esetben ez a módszer futás alkalmával a parancsfájl azonnal visszatér. Mindenesetre értelmetlen, helyette más parancsfájlalapú lehetõség szükséges. ha a tárolt fájl elévül, mindenképpen várnod kell, hogy a parancsfájl újat hozzon létre. Elõfeldolgozás csak szükség esetén Lássuk, hogyan tudod ezt megkerülni, és azt az látszatot Ez a módszer a parancsfájlokat bizonyos idõközönként újra kelteni, mintha a parancsfájlod mindig gyors lenne! feldolgozza, de csak akkor, ha valamilyen kérés érkezik rá. Ez</p><p>34 Linuxvilág Vezérfonal</p><p>Idõn túli feldolgozás esetén a parancsfájl ellenõrzi a fájl dátu- Összegzés mát és idejét, de a feldolgozás mindig csak azután történik meg, Bemutattuk, hogyan mûködik a PHP gyorstárazási mód- hogy a böngészõt már kiszolgálta – megoldva ezzel a fájl elévü- szere, és a mûködését egy „csináld magad” példával szem- lésével járó feldolgozási nehézséget. Ebben az esetben a gyors- léltettük. Ha a példákat kipróbáltad és tetszettek is, nyugod- tárazott fájl csak a parancsfájl lefutása után lép mûködésbe. tan használd fel õket a saját programjaidban. Léteznek PHP-ben ez úgy oldható meg, hogy „a parancsfájl befejezése” egyéb módok is a teljesítmény javítására, mint például a eseményhez a register_shutdown_function() híváson függvény-gyorstárazás vagy a PHP-elõfordítás. E feladatok keresztül egy függvényt rendelünk hozzá. Ebben az esetben megvalósítására a PHP további eszközöket kínál. Keresd csak a header.php fájlon szükséges módosítani (2. lista). Egysze- meg a legjobb megoldást, és próbáld ki, hogyan állja a rûen csak hozzáadtam a doaftercache() függvényt, amely viszontagságokat! akkor hívódik meg, ha a parancsfájl futása befejezõdött. Ez a függvény meghívja a parancsfájlt – ahogyan a böngészõ is Bruno Pedro tenné –, és a tartalmát tárolja. Csak egyetlen esetben várható a böngészõbõl, mégpedig ha a parancsfájl korábban még sosem rendszerfejlesztõ, tízévnyi tapasztalattal rendelkezik az futott. Próbáld ki, és az lesz az érzésed, hogy a program adatbázis-alkalmazások terén, ezenkívül társalapítója és nagyon gyors! vezetõje az ethernet lda projektnek. © Kiskapu Kft. Minden jog fenntartva 2. lista Tetszõleges eljárás azonosítása a parancsfájl kilépési eseményével</p><p><?php if ($fp) // a gyorstÆr elØrØsi œtvonala fputs($fp,$buffer); $CACHE_PATH="/tmp"; // Ætadjuk a kimenetet // a gyorstÆr idıtœllØpØse mÆsodpercekben // a b ngØszınek $CACHE_TIMEOUT=10; return($buffer); } // a parancsfÆjl elØrØse $SCRIPT_URL="http://".$HTTP_HOST.$PHP_SELF; // gyorstÆrazzuk az eredmØnyt function doaftercache() { // gyorstÆrfÆjl lØtrehozÆsa a parancsfÆjl global $SCRIPT_URL; // nevØvel Øs a gyorstÆr œtvonalÆval function cachefilename() { // beolvassuk a parancsfÆjl kimenetØt global $PHP_SELF,$CACHE_PATH; $fp=fopen($SCRIPT_URL,"r"); while (!feof($fp)) return($CACHE_PATH."/".<a href="/tags/MD5/" rel="tag">md5</a>($PHP_SELF). $buffer.=fgets($fp,4096); ".cache"); } // ki rjuk a parancsfÆjl kimenetØt // a gyorstÆrba // megvizsgÆljuk, hogy a parancsfÆjlt $fp=fopen(cachefilename(),"w"); // sz ksØges-e gyorstÆrazni if ($fp) function needscache($timeout) { fputs($fp,$buffer); clearstatcache(); fclose($fp); if (time()- } filemtime(cachefilename())>$timeout) return(true); if (needscache($CACHE_TIMEOUT)) { else // a parancsfÆjlnak sz ksØges return(false); // a gyorstÆrazÆs } if (file_exists(cachefilename())) {</p><p>// beolvassuk a gyorstÆrat Øs kik ldj k register_shutdown_function("doaftercache"); // a b ngØszınek outputcache(); function outputcache() { exit(); readfile(cachefilename()); } else } ob_start("docache"); } else { // gyorstÆrazzuk a parancsfÆjlt // a parancsfÆjl gyorstÆrban van, function docache($buffer) { // olvassuk ki outputcache(); // ki rjuk az eredmØnyt a exit(); // gyorstÆrba } $fp=fopen(cachefilename(),"w"); ?></p><p> www.linuxvilag.hu 2002. április 35 Dobbantó</p><p>Böngészõprogramok mérkõzése</p><p>Linux-rendszerben manapság az egyes vizsgálatok mibenlétét pedig az úgy tûnik, mostanra már kinõtték sokféle böngészõprogramhoz alábbiakban fogom részletezni. ezt a gyermekbetegségüket. hozzá lehet jutni, és meglehe- • Webbank: ez a részvizsgálat azt elle- • iPrint: a  http://www.iprint.com tõsenA sok program fejlesztése még nõrizte, hogy a böngészõprogram címen mûködõ URL lehetõvé teszi csak az 1.0-s változathoz közelít. Mos- képes volt-e belépni a felhasználó a papíralapú üzleti levelezés doku- tani szemlénkbõl megtudhatjuk, mire bankjába, és ott megmutatni a szám- mentumainak böngészõprogrammal képesek és milyen feladatokat képte- laadatokat. való elõállítását. Akkor mondható, lenek ezek a programok elvégezni. Amióta néhány éve a Mozilla nyílt for- rású vállalkozás útjára indult, azóta</p><p>© Kiskapu Kft. Minden jog fenntartva több, a Linux-rendszerekben használ- ható pehelysúlyú és a szabványoknak megfelelõ böngészõprogram ígérete tûnt fel a láthatáron. Jelen írásunk hét különbözõ fejlesztés alatt álló böngészõprogramot vizsgál meg, és hasonlít össze abból a szem- pontból, hogy az egyes böngészési fela- Skipstone képernyõmentés datokat mennyire sikeresen oldották meg. Valamennyi böngészõ hibátlanul Galeon képernyõmentés dolgozott és a rendszer biztonságát sem veszélyeztette, mégis olyan kiábrándító • PayPal: minden egyes böngészõ- vizsgálati eredmények is születtek, mint programnak be kellett jelentkeznie amilyen például a többoldalas doku- a PayPal  http://www.paypal.com mentumból az oldaltartomány nyom- címre, ott ellenõrizni a számlaegyen- tatásának meghiúsulása. legeket és a kívánt összeget átutalni A vizsgálatnak az alábbi névvel és válto- a PayPal számláról. zatszámmal ellátott böngészõprogramo- • Titkosítás: a  http://fortify.net kat vetettük alá: Beonex Communicator címen SSL-ellenõrzés zajlott le, Opera képernyõmentés 0.7-dev-2, BrowseX-1.5.0, Galeon-1.0.1, amely meghatározta a böngészõ- Konqueror-2.2.1, Mozilla-0.9.6, Opera- programok titkosításának mértékét. hogy egy böngészõprogram sikere- 5.0-static és a Skipstone-0.7.7. A Skips- • My eBay: a vizsgálat e része a sen vette az akadályt, ha képes volt tone és a Konqueror programokat forrás- Bejelentkezés (Sign In) lehetõség választani az üzleti csekkek közül kódból fordítottam, a többit pedig rpm- kiválasztása révén az eBay és a szerkesztési feladatokkal is csomagokból telepítettem. A program-  http://www.ebay.com címre tör- megbirkózott. fejlesztés nagy sebessége és a termelési ténõ bejelentkezést és több weboldal • Nyomtatás: a böngészõk nyomtatási folyamatok havi ütemezéshez való kap- megjelenítését ellenõrizte anélkül, képességeinek megítélésénél ellenõ- csolódása miatt meglehet, hogy amikor- hogy az eBaynél a felhasználónak riztem a dokumentum oldaltartomá- ra olvasóink a Linuxvilág mostani szá- ismételten be kellene magát nyainak nyomtatását, a dokumentum mát kézbe veszik, a böngészõprogramok jegyeztetnie. elejétõl kezdõdõ, illetve a fordított frissebb változatai is megjelentek már. • Árverés az eBaynél: minden bön- sorrendben történõ nyomtatást, a A programokat Red Hat 6.2 rendszer gészõnek képesnek kellett lennie színes és a szürkeárnyalatos, az álló alatt próbáltam ki egy 133 MHz-es árverés létrehozására, amely folya- vagy fekvõ laptájolást, valamint az Pentium processzorral és 80 MB memó- mat a következõ lépésekbõl állt: állományba történõ nyomtatást. riával ellátott gépen. A GNOME 1.4-et 1. kattintás a Sell (Eladás) gombon, • Állományok letöltése: a böngészõ- és a KDE 2.2.1-et, továbbá a CUPS-1.1.5- 2. kategória kiválasztása, programok letöltési képességeit a öt még az összehasonlítás elõtt telepítet- 3. az eladásra kínált árucikk letöltési hivatkozásokon (link) való tem a számítógépre. ûrlapjának felhasználó általi kattintással és az FTP-helyekre való kitöltése és belépéssel engedélyeztem. Külön A vizsgálatok felépítése 4. a Continue (Folytatás) gombon megemlítem, ha a böngészõprogram A böngészõket olyan feladatok elé állí- való kattintást követõen az ûrlap külsõ letöltéskezelõ program hasz- tottuk, amelyek kimutatták, hogy egy- feldolgozásának megtörténte. nálatát is megengedte. egy program milyen jól hajtotta végre A korai Mozilla-alapú böngészõprog- • Használhatósági jellemzõk: ebben a böngészési, állományletöltési és nyom- ramok JavaScript-kezelési hibák a csoportban olyan tulajdonságok tatási feladatokat. A vizsgálatokat és ered- miatt ezen a vizsgán megbuktak szerepelnek, amelyek megkönnyítik ményüket a táblázatban foglaltam össze, (Mozilla programhiba 911018), de a böngészõ használatát. Ilyen szol-</p><p>36 Linuxvilág Dobbantó</p><p> gáltatások például a mozgóképek ményt, és helyesen jelenít-e meg egy idény során kikényszerített süti- lejátszásának kikapcsolása (vagyis olyan weboldalakat, amelyeknek elfogadást és a HTTP-hivatkozók címeit a .GIF kiterjesztésû állományok leját- ilyen programra van szükségük. egyaránt a nagyobb biztonságnak meg- szásának felfüggesztése), a húzd és Ez a vizsgálat egyik fontos célja volt. felelõen állították be. A cég program- ejtsd lehetõség használata (URL-eket • Átlátszó PNG-kép: a böngészõnek a használó ügyfeleit a hibákról és a felfe- más alkalmazásokból be lehet oda vizsgálaton való sikeres szerepléshez dezett biztonsági résekrõl a webhelyén vinni, vagy onnan más alkalmazá- a Gimppel készített áttetszõ hátterû keresztül értesíti. sokba át lehet vinni), az ID felhasz- képet tartalmazó weboldalt kifogásta- A BrowseX-1.5.0 a megvizsgált böngé- nálói azonosítót meg lehet változ- lanul kellett a képernyõn megjelení- szõk közül egyediségével tûnik ki: a tatni, az egér görgetõkerekét a bön- tenie. Amennyiben a böngészõben a program elkészítéséhez a cl és C nyelve- gészõprogram megfelelõen tudta kép háttere fekete maradt, a böngészõ ket használták fel, amely emiatt mérsé- használni, a helymegadási mezõt ezen a vizsgán bizony megbukott. kelt erõforrásigényû lett. Saját levelezõ- egy egérkattintással törölni lehetett és beszélgetõ-, illetve csevegõ- (talk/chat) (a böngészõ gondoskodott egy mód- A böngészõprogramok bizonyítványa programmal rendelkezik, támogatja a A Beonex Communicator mind mûkö- HTML 3.2-t, képes a grafikák, az SSL- dését, mind küllemét tekintve gyakor- felületû biztonságos webhelyek és a latilag megegyezik a Mozillával, a kü- JavaScriptek (héjprogramok) kezelésére.</p><p> lönbség annyi, hogy a Beonex Com- Eme böngészõprogramnak további sa- © Kiskapu Kft. Minden jog fenntartva municator biztonsági és keresési fejlesz- játos jellemzõje, hogy a TML-állomány- tésekkel is dicsekedhet. kiterjesztést használja, valamint a Tcl, Perl és Python nyelvû programok szá- mára beágyazott felületet ad. A BrowseX a File/Util menü használata révén képes a már létezõ Netscape-könyvjelzõket át- Beonex Communicator képernyõmentés venni: Import Netscape Bookmarks. A böngészõnek az eBayjel való nyomta- tással meggyûlt a baja. A nyomtatóra történõ nyomtatás meghiúsult, viszont az állományba való nyomtatás sikeres volt. A böngészõ az eBay-oldalak megjelení- tése során felesleges karaktereket is a Konqueror képernyõmentés képernyõre küldött, emellett az árverés létrehozásakor nem engedte meg tárgy- kör kiválasztását. A BrowseX legördülõ listái nem nyílnak ki teljesen, ehelyett Mozilla képernyõmentés a lista alján a további választási lehetõsé- gekre utaló More felirat látható, amely szerrõl, amellyel a helymegadási további elemeket tartalmazó ugyanilyen mezõ tartalmát egy egérkattintással listákat rejt magában, a Netscape-hez ki lehetett üríteni), végül pedig elle- nagyon hasonló módon. Emiatt a rend- nõriztem a beépített nagyítás (zoom) kívül hosszú listákban szinte lehetetlen használatát, amellyel a képernyõn BrowseX képernyõmentés tájékozódni. megjelenõ szöveget nagyítani vagy A Galeon jelmondata úgy szól, hogy éppen kicsinyíteni lehetett. Alapértelmezett keresõgombja, amely „a Web, csakis a Web”, amely arra utal, • Levelezés: ez a vizsgálat azt ellenõ- az oldalsó eszköztáron foglal helyet, a hogy a Galeon kizárólag webböngészõi rizte, hogy a böngészõk hogyan Mozillánál több keresõgép használatát feladatokat kíván ellátni, és nem áll kezelték a címzett hivatkozásokat. megengedi, sõt a keresések egyidejûleg szándékában „mindent egy helyen” Továbbá azt is jelzi, hogy a böngészõ több keresõgépen való futtatását és a eszközzé válni. A Galeon a Mozilla-kó- a felhasználó által megadott levele- találati eredmények együttes megjele- don alapul, és a mûködéséhez szükség zõprogramok indítási lehetõségét is nítését is lehetõvé teszi. A Beonex Com- van a Mozilla elõzetes telepítésére. felkínálja. municator beépített keresõgépei továb- A Mozilla-alapú böngészõprogramok • Java: ebben az erõpróbában a bön- biakkal egészíthetõk ki, ha felkeressük közül az elsõk között jelent meg, a gészõk megmutathatták, hogy képe- a Mozilla Sherlock weboldalát a program kiforrottságát az általa nyújtott sek-e Java-kisalkalmazások futtatá-  http://sherlock.mozdev.org címen. szolgáltatások is bizonyítják. sára, mint amilyenek például a Sun A Beonex egyik vezetõje szerint céljuk A böngészõprogram egyik elismert honlapján található bemutatóprogra- az, hogy erõfeszítéseik nyomán a szolgáltatása a Smart Bookmarks (Okos mok. A vizsgálathoz felhasznált Beonex a felhasználók számára vonzóvá könyvjelzõk), amelyhez saját eszköztár Java2 programcsomag a Netscape váljon. Ezt a böngészõprogramot köny- tartozik, és a felhasználónak akár a webhelyérõl származik. nyû telepíteni, és az olyan programokat, Freshmeat II, akár a Google keresõ vagy • Bõvítmények: annak meghatározása, mint a Java, a Beonex webhelyérõl a Google hírlevéltárában módjában áll hogy a böngészõ felismeri-e a Net- mindössze néhány egérkattintással tele- keresgélnie. További kellemes szolgál- scape-bõvítményeket, pontosabban píthetjünk. Ezenkívül a böngészõ „gyári tatás a Beállítások-nak a felsõ menüsor- szólva, a Macromedia Flash-bõvít- beállításait” is megváltoztatták: az egy- ban történõ elhelyezése, amely gyors</p><p> www.linuxvilag.hu 2002. április 37 Dobbantó</p><p>A böngészõk próbaeredményei</p><p>Beonex BrowseX Galeon Konqueror Mozilla Opera Skipstone Változatszám 0.7-dev-2 1.5.0 1.0.1 2.2.1 0.9.6 5.0 static 0.7.7 Web bank IGEN IGEN IGEN IGEN IGEN IGEN IGEN Fizetés PayPallal IGEN IGEN IGEN IGEN IGEN IGEN IGEN Kódolás RC4 cipher Triple DES RC4 cipher Triple DES RC4 cipher RC4 cipher RC4 cipher 128-bits 168-bits1 128-bits 168-bits1 128-bits 128-bits 128-bits My eBay IGEN NEM2 IGEN NEM3 IGEN IGEN IGEN eBay-árverés létrehozása NEM4 NEM2 IGEN5 HIBA IGEN IGEN NEM iPrint NEM3 NEM6 IGEN IGEN IGEN IGEN IGEN Köztes tartomány nyomtatása IGEN N/A NEM7 IGEN IGEN IGEN NEM7</p><p>© Kiskapu Kft. Minden jog fenntartva Nyomtatási sorrend NEM N/A NEM IGEN NEM NEM NEM Színes nyomtatás IGEN IGEN8 N/A IGEN IGEN HIBA9 IGEN Papír tájolása N/A IGEN8 N/A IGEN IGEN NEM N/A Fájlba nyomtatás IGEN IGEN IGEN IGEN IGEN IGEN IGEN Webhely mentése lemezre IGEN IGEN10 IGEN IGEN IGEN IGEN11 IGEN Letöltés IGEN IGEN12 IGEN13 IGEN IGEN IGEN IGEN13 Használhatóság animáció animáció animáció húzd és dobd, animáció animáció egérgörgõ kikapcsolása, kikapcsolása kikapcsolása, törlés egy kikapcsolása, kikapcsolása, húzd és dobd, húzd és dobd, kattintással, húzd és dobd, húzd és dobd, egérgörgõ egér kerék, egérgörgõ egérgörgõ törlés egy kezelése, nagyítás kezelése, kezelése, kattintással, nagyítás nagyítás nagyítás egérgörgõ kezelése, nagyítás Több oldal megnézése több több több több több fülek több ablak ablak ablak/fülek ablak ablak ablak/fülek Levelezés beépített beépített a felhasználó a Kmailt beépített a felhasználó a felhasználó határozza indítja határozza határozza meg meg meg Java IGEN N/A IGEN IGEN IGEN N/A IGEN Bõvítmények (Plug-in) IGEN N/A IGEN IGEN IGEN N/A IGEN Átlátszó PNG IGEN N/A IGEN IGEN IGEN NEM IGEN</p><p>Magyarázat IGEN = sikeresen átment, HIBA = átment ugyan, de néhány nehézség adódott, NEM = nem sikerült, N/A = nincs adat</p><p>Megjegyzések: 6. „Page Not Found" (Az oldal nem található) hibával tért vissza. 1. Nem figyelmeztet a lejárt SSL-azonosításra. 7. Az összes oldalt kinyomtatta a kijelölt rész helyett. 2. Az oldal letöltõdött, de nem jelent meg rendesen. 8. A nyomtatás fájlba volt az összes lehetõség, ami mûködött. 3. Letöltött egy DLL fájlt az eBayrõl, azután megjelenítette az oldal 9. Akkor is színesben nyomtatott, ha a szürkeskála volt kijelölve. forrását. 10. Oldal mentése lemezre, de a mentett oldalt nem jelenítette meg 4. Az ûrlapok Tovább gombja nem mûködött, amikor új árverést hoztunk rendesen. létre, JavaScript-hiba miatt. (Mozilla bug 91018). 11. Oldalmentés képpel vagy kép nélküli. 5. Rossz oldalt jelenített meg a kategóriában (Régiségeket a Könyvek 12. Jobb gombbal kattintás a hivatkozáson és mentés. helyett), a hivatkozás viszont jó volt. 13. Külsõ letöltõprogram engedélyezése.</p><p> hozzáférést enged a proxy- és ram úgy lett beállítva, hogy a felhasz- mentés megkezdése elõtt vissza kell írni. JavaScript-beállításokhoz és a mozgó- náló kiválaszthatja a letöltésre váró A Konqueror a KDE-felület webes és képlejátszáshoz. állomány helyét, akkor a letöltendõ állományrendszer böngészõprogramja, A Galeon némi bosszúságot tartogat állomány neve a könyvtár kijelölésekor amely nem a Mozilla-forráskódján azok számára, akik a beépített letöltéske- törlõdik. Ezért az állomány nevét a táro- alapul. A böngészõ valóban egyedi zelõjét szeretnék használni. Ha a prog- lási hely kijelölését követõen, még a szolgáltatásokat kínál, azaz a böngészõ</p><p>38 Linuxvilág Dobbantó</p><p>útmutató, amelybõl megtudhatjuk, hogy ram honlapjáról egyaránt letölthetõk. a Konquerorban hogyan kell Javát hasz- Az Opera kiforrottságot mutat mind Kapcsolódó címek nálni. A KDE forráskódjának fordítása felületében, mind szolgáltatásaiban, de során az OpenSSL-környezet összeépíté- nála is akad kifogásolnivaló. Nagyon Böngészõk sénél használjuk a config shared lehe- durva, bár csak esetenként jelentkezõ Beonex Communicator  tõséget, hogy a Konqueror által igényelt hiba, hogy a böngészõ a régi weboldal http://www.beonex.com/ megosztott könyvtárak létrejöjjenek. tartalmát nem képes az újjal felváltani, communicator A Mozilla böngészõprogramot a annak ellenére, hogy határozottan BrowseX Netscape még 1998-ban nyílt forrásúvá állítja: már befejezte annak letöltését.  http://www.browsex.com tette. A pehelysúly nem szerepel a Ez a Freshmeat honlapjával gyakran Galeon böngészõ tervezési jellemzõi között, és megtörtént, és az egyetlen hibaelhárítási  http://galeon.sourceforge.net valóban: lomhasága nagyon is szembe- lehetõség a lap újbóli betöltése volt. Ne- Konqueror  http://www.kde.org tûnõ. A böngészõprogram honlapja hézségei akadtak a nyomtatással is: a szerint a kód mûködési sebességének fekvõ laptájolás kiválasztásakor a nyom- Mozilla  http://www.mozilla.org  növelése érdekében a fejlesztés nagy tatás elmaradt, és a nyomtató annak Opera http://www.opera.com erõkkel zajlik, és minden változat tény- ellenére ragaszkodott a színes nyomta- SkipStone legesen gyorsabb a megelõzõnél. táshoz, hogy szürkeárnyalatos  http://muhri.net/skipstone Támogatja az olyan jelentõs szolgálta- nyomtatás volt beállítva. Az Opera 5.0-s © Kiskapu Kft. Minden jog fenntartva A próbához használt oldalak tások használatát, mint a könyvjelzõk, változata sem a Javát, sem a bedolgozó a keresési eredményeket tartalmazó modult nem támogatja, de az Opera 6 eBay  http://www.ebay.com  oldalsó eszköztár és a beállítási témák elõzetes mûszaki leírásában már vannak iPrint http://www.iprint.com váltogatásának lehetõsége. Sõt, azon jelei annak, hogy ezek a lehetõségek az  PayPal http://www.paypal.com néhány böngészõprogram közé tartozik, Opera 6-os változatában használhatók Internet bank amelyeknek egy-egy oldaltartomány lesznek.  http://www.michigannational.com kinyomtatása sem okozott gondot, vi- A Skipstone szintén Mozilla-alapú, a szont a lapok fordított sorrendben való Galeonnál fiatalabb böngészõ, amely Egyéb nyomtatása már túlságosan nehéz fela- karcsúbb mûködési felületet biztosít. Fortify SSL-ellenõrzés datnak bizonyult. Ez a böngészõ olyan meglepetésekkel  http://www.fortify.net/sslcheck.html A Mozilla 0.9.6-os változatában a nyom- szolgál, mint például a semmilyen mó- Mozilla Sherlock bõvítmény-keresõ- tatási elõképnél néhány furcsasággal don meg nem tekinthetõ helyi könyv- motor  http://sherlock.mozdev.org találkozhatunk. A böngészõ fõablakában tárak, még a File/Open (Fájl/Megnyitás) Sun Java-bemutatók elõször a nyomtatási elõkép jelenik meg, menün keresztül sem. Sõt, az elõre-hátra  http://java.sun.com/j2se/1.3/docs/ és úgy tûnik, a weblap képéhez a fris- nyilakkal az eseménytörténeteket sem sítés hiánya miatt semmilyen módon lehet lejátszani. relnotes/demos.html nem lehet visszatérni. További hiányos- Miközben a Mozilla-alapú böngészõnek ság, hogy a nyomtatási elõképben látha- nem jelentett gondot az eBaynél árve- tók olyan fejlécek, mint a weboldal címe rést létrehozni, addig a Skipstone-ban ablakai ablaktáblákra oszthatók, ame- vagy az egyesített erõforráskeresõ a folytatás gombon való kattintás a lyekben más-más weboldal vagy épp (URL), amelyek a kinyomtatott lapokon program összeomlásához vezetett. adott helyi könyvtár tartalma jeleníthetõ sajnos már nem jelennek meg. A Mozilla meg. A Konqueror Java és JavaScript is büszkélkedhet azzal a képességgel, Összefoglalás futtatását is lehetõvé teszi, és emellett hogy egy ablakban több weboldalt A Linux-felület számára már jó néhány a böngészõ azonosításának egyes web- képes megjeleníteni, amelyek között böngészõprogram elérhetõ, és úgy helyenkénti irányítását is. aTAB billentyûvel lehet váltani – új tûnik, hogy a verseny valamennyi prog- Végül az eszköztáron található egy nyo- ablak megnyitása nélkül. ramban hasznos szolgáltatások megjele- mógomb – fekete alapon fehér X –, Amennyiben a Mozillát rpm-csomagok- néséhez vezet(ett). Az esetek túlnyomó amellyel a böngészõ keresõmezõjének ból telepítjük, a Personal Security Mana- többségében valamennyi böngészõ tartalma könnyûszerrel törölhetõ. ger (PSM) csomagot is telepíteni kell, alkalmas a mindennapi használatra, de A Konquerornak viszont néhányszor hogy a Mozilla vagy a rokon böngészõ- a felhasználók számára a korlátot az meggyûlt már a baja az eBay kezelésével. programok – például a Galeon és a Skip- általuk felkeresett honlapok jelentik. Az elsõ helyen kell megemlítenem, hogy stone – a titkosított honlapokat képesek Több most megvizsgált program még a My eBay hivatkozáson való kattintás legyenek kezelni. csak valamilyen 1.0 elõtti változatnál a hatására a Konqueror .dll állomány A Windows-felület számára már régóta tart, így remélhetõ, hogy a hibák és a letöltését jelezte, azonban honlap helyett hozzáférhetõ Opera a leggyorsabb furcsaságok a fejlesztés során eltûnnek. a képernyõn csak annak HTML-kódját böngészõprogramként hirdeti magát. jelenítette meg. Maga a program gyorsan elindul és Ezenkívül ha valaki az árverés létreho- készséges, de egyáltalán nem úgy tû- Ralph Krause zásakor a Könyvek tárgykört választotta nik, hogy a weblapokat a többi prog- a michigani alsó félszige- ki, a böngészõben tévesen a Régiségek ramnál gyorsabban tudná a képernyõre ten lakik. Egy személyben tárgykör jelent meg. A többi csoportot varázsolni. író, webtervezõ és progra- viszont hibátlanul ki lehetett választani. A Linux-felület számára készült Operát mozó. Három évnél is ré- A  http://www.konqueror.org címen Qt-eszközzel fejlesztették, és a program gebb óta használ Linuxot, található egy olyan Konqueror + Java statikus és dinamikus változatai a prog- elérhetõ a rkrause@netperson.net címen.</p><p> www.linuxvilag.hu 2002. április 39 Dobbantó</p><p>Mit parancsolsz? – avagy Linux-idomítás dióhéjban A kezdõ, illetve a leendõ Linux-felhasználóknak szánt sorozatunk elsõ két részében csupán elméleti síkon beszéltünk a Linux világáról. Mostantól azonban lépésrõl lépésre a gyakorlati elemeket is átvesszük. Kezdjük rögtön a legalapvetõbb parancsok ismertetésével!</p><p> rendszer telepítésének kérdé- kombinációkkal tudunk váltani. Ezen- meghatározott jog az összes az adott seivel sorozatunkban azért kívül egy grafikus terminál is létezik, csoportot alkotó felhasználóra vonat- nem foglalkozunk, mert la- amit az ALT-F7-tel érhetünk el. Ez termé- kozik. A csoportok is rendelkeznek punkA korábbi számaiban szinte az összes szetesen csak a grafikus rendszer elindí- azonosítóval, de a felhasználókhoz</p><p>© Kiskapu Kft. Minden jog fenntartva elterjedt változat telepítését a lehetõ tása után érhetõ el. hasonlóan az azonosítás itt is számokkal legrészletesebben kiveséztük. Ezenkívül Elõször is jelentkezzünk be! Ha rend- történik. Ezt a számot GID-nek (Group egyes Linux-változatok (például SuSE, szergazdaként (root) lépünk be a rend- ID) hívjuk. Minden felhasználónak Mandrake) telepítését annyira leegysze- szerbe, promptként mindig egy #-t kötelezõen egy csoporthoz kell tartoz- rûsítették, hogy felpakolásuk semmiféle kapunk. Ez azonban halálos figyelmez- nia, amelyet a felhasználó alapcsoport- unixos elõképzettséget nem igényel. tetés: most a rendszer korlátlan urai jának hívunk. Az alapcsoporton kívül Elõször azokat az alapvetõ Unix-felhasz- vagyunk, azaz bármiféle megkötés nél- természetesen számtalan más csoportba nálói ismereteket mutatjuk be, amelyek kül bármit megtehetünk. Tehát csak is tartozhat. elsõsorban azok számára lesznek hasz- óvatosan! A felhasználókra jellemzõ az úgyneve- nosak, akik ez idáig semmilyen egyéb A Linuxban (és a többi Unix-alapú rend- zett Saját könyvtár is, ilyennel mindenki Unix-alapú rendszerrel nem kerültek szerben) a felhasználókat alapvetõen rendelkezik. Ez tulajdonképpen a fel- közelebbi kapcsolatba. Ebben a részben két csoportba oszthatjuk: a „mindenha- használó saját könyvtára, ahová csak õ az alapparancsokat tárgyaljuk, természe- tókra” és az egyszerû „halandókra”. írhat be, itt tárolhatja a „cuccait”, illetve tesen csupán két oldalra korlátozva – A mindenhatók alatt természetesen a saját beállításait. A felhasználói könyv- hiszen valahol meg kell húznunk a a rendszergazdai jogosultságú felhasz- tárak a /home alatt találhatók. A rend- határt –, így a legtöbb utasításról csak nálókat értjük, akik a root felhaszná- szergazda Saját könyvtára a /root. A fel- pár szót fogunk ejteni. Mindenesetre lóval megegyezõ jogosultsággal bírnak. használó saját könyvtárának útvonalát bárki részletes ismertetõt kaphat, ha Rajtuk kívül vannak még „általános” a ~ tilde jellel is helyettesítheti. A pilla- akármelyik parancsról a man parancs felhasználók, akik csak a saját állomá- natnyi könyvtár jele a . (pont). utasítást adja ki. nyaikhoz és az általuk futtatott alkalma- Az utolsó felhasználókra vonatkozó Linuxunk betöltése után rögtön a barát- zásokhoz férnek hozzá, máséhoz nem. fontos jellemzõ az úgynevezett héj ságtalan „login:” sor fogad minket. Ha A rendszergazdára efféle megkötés ter- (shell). A héj fogalmával gyakran telepítettünk valamilyen grafikus beje- mészetesen nem vonatkozik, õ bárme- találkozhatunk a Unix világában. lentkezõ programot (például: kdm, gdm, lyik felhasználó „cuccához” hozzáfér. Olyan programról van szó, amely a xdm), akkor a „fogadtatás” valamivel A felhasználók nyilvántartása a rend- felhasználó és az operációs rendszer melegebb hangú lesz. A grafikus rend- szerben nem az azonosítójuk alapján között biztosítja a kapcsolatot. Minden szer beállításával, felépítésével, kezelé- történik, hanem egy szám segítségével, operációs rendszernek létezik héja, sével csak a következõ részekben foglal- amelyet UID-nek (User ID) hívunk. például a DOS-nál a command.com kozunk, mivel elõször a „fapados” szöve- Minden felhasználónak egyedi UID-dal számít annak, a Windowsoknál pedig ges (konzolos) környezettel kell megba- kell rendelkeznie. A 0-s UID-ú felhasz- a ProgramManager. A Linuxban több- rátkoznunk. A feladatok többségét a náló birtokolja a rendszergazdai jogo- féle héjprogram közül válogathatunk, szöveges felület segítségével gyorsabban sultságokat (ez rendszerint a root). sõt minden felhasználóhoz külön és egyszerûbben végrehajthatjuk, ezért Egyes Unix-rendszerek lehetõvé teszik, héjat rendelhetünk. A felhasználókhoz hasznos lehet, ha már az elején a konzol- hogy a rendszerben több rendszergazdai meghatározott héjak rendszerint pa- hoz szoktatjuk magunkat. jogosultsággal bíró felhasználó is létez- rancsértelmezõk, mint például a bash, Ha telepítettünk valamilyen grafikus zen. Ebben az esetben az ilyen felhasz- sh, csh vagy a ksh. A héjnak válasz- bejelentkezõ programot, szöveges kör- nálókhoz UID-ként a 2-nek valamely tott alkalmazás a bejelentkezés után nyezetre a CTRL-ALT-F1 billentyûkom- nagyobb hatványát kell rendelnünk. önmûködõen elindul. bináció segítségével térhetünk át. A felhasználókat úgynevezett csopor- A rendszer a felhasználók adatait A Linuxban eredetileg hat úgynevezett tokba is szervezhetjük. Ennek gyümöl- a /etc/passwd állományban tárolja, virtuális terminált határoztak meg. Ezt csét egy otthoni gépen aligha élvezhet- amelyet természetesen csak a rendszer- úgy kell elképzelnünk, mintha a gépünk- jük, ugyanis nem sok elõnye van akkor, gazda módosíthat. Ez is – mint csaknem höz hat monitor és billentyûzet lenne ha maximum 3-4 felhasználó létezik, de minden beállítófájl – szöveges állomány, csatolva, ahol a programokat egymástól egy több száz felhasználós rendszerben tehát egyszerû szövegszerkesztõvel is függetlenül futtathatnánk. E virtuális jelentõsen megkönnyítheti a rendszer- módosíthatjuk, de sokkal kényelmesebb, terminálok között az ALT-F1 – ALT-F6 felügyeletet, mivel az egy csoportra ha a felhasználók felügyeletére az</p><p>40 Linuxvilág Dobbantó</p><p> adduser, userdel, usermod paran- kimenetét egy másik parancs számára donos és a csoport nevét a harmadik és csokat használjuk. átadjuk, ami majd az elõbbit feldol- a negyedik mezõben láthatjuk). Az elsõ A felhasználó saját jelszavát a passwd gozza. Erre az egyik legjobb példa a három karakter a tulajdonosra, a követ- utasítás segítségével természetesen saját grep parancs, ami a szövegben egy kezõ három a csoportra, és az utolsó maga is megváltoztathatja. Ilyenkor adott részletre keres rá: cat három pedig a mindenki másra vonat- elõször a régi, majd kétszer az új jelszót /etc/passwd | grep root. Az utasí- kozó jogosultságokat írja le. Az r az kell megadni. A rendszergazda bárkinek tás végrehajtását követõen a /etc/passwd olvasási jogot, a w az írási jogot, az a jelszavát megváltoztathatja. Ehhez is állományból csak azok a sorok íródnak x pedig a végrehajtási jogot jelenti. a passwd parancsot kell használni, csak ki a képernyõre, amelyekben a root A végrehajtási jog természetesen csak értékként annak a felhasználónak az karaktersorozat szerepel. A cat parancs futtatható állományoknál érdekes. azonosítóját kell megadni, akinek új egy állomány tartalmának megjeleníté- A futtatható állományok esetében arra jelszót kívánunk adni. sére szolgál, feladata a DOS type utasítá- is lehetõségünk nyílik, hogy a program A felhasználók jelszavai egyébként sával egyezik meg. ne az õt futtató felhasználó, hanem titkosított formában tárolódnak, és Egy parancs kimenetét nemcsak a kép- a tulajdonos jogosultságaival fusson. majdhogynem lehetetlen visszafejteni ernyõre, hanem más eszközre is kiküld- Ebben az esetben egy úgynevezett õket. Ez azzal jár, hogy a rendszergazda hetjük, például egy állományba: cat Set UID joggal (ha a csoportja jogo- sem tudja megállapítani, kinek mi a /etc/passwd >xxx. Ekkor létrejön egy sultságaival akarjuk futtatni, akkor</p><p> jelszava. A régebbi Unix-rendszerek- „xxx” nevû állomány, melynek tartalma Set GID-del) kell felruháznunk. Ha © Kiskapu Kft. Minden jog fenntartva ben ezeket a titkosított jelszavakat megegyezik a /etc/passwd-ével. Ha egy egy fájl ilyen jogosultsággal bír, akkor is a /etc/passwd állományban tárolták, > helyett kettõt használunk, és a kime- a futtathatóságot jelzõ x helyett s-t ez azonban a rendszer biztonságára netként megadott állomány már létezik, láthatunk. nézve komoly veszélyeket hordozott. akkor nem felülírja azt, hanem új tarta- Ez miért lehet hasznos a számunkra? A passwd állomány tartalma ugyanis lomként a végéhez fûzi. Azért, mert így lehetõség nyílik rá, hogy bárki számára hozzáférhetõ, tehát senki Egy alkalmazás háttérben való futtatását bármely felhasználó olyan értékeket is és semmi nem állíthatta meg a sötétebb a parancs után írt &-tel érhetjük el. meg tudjon változtatni, amelyekre az lelkû betörõket, hogy a jelszópróbál- A DOS-ból már jól ismert cd paranccsal érvényben lévõ korlátozások miatt álta- gatós módszerrel (a nyers erõ módsze- tudunk könyvtárat váltani, egy könyvtár lában nem lenne lehetõsége. Erre a rével) fényt derítsenek a gyenge jelsza- tartalmának listázására az ls utasítást legjobb példa a passwd program, ame- vakra (a mai számítógépek másodper- használhatjuk. A rejtett fájlok (a . pont- lyet jelszava megváltoztatásához bár- cenként akár több ezer jelszót is kipró- tal kezdõdõ állományok) listázására a melyik felhasználó futtathat. A passwd- bálhatnak). Ezt a biztonsági hiányos- -f kapcsoló alkalmas. Az ls -l-lel az nek mindenképp Set UID-esnek kell ságot felismerve a titkosított jelszavakat adott könyvtár állományainak egyéb lennie (tehát rendszergazdai jogosult- ma már külön állományban tárolják adatait is megtekinthetjük. ságokkal kell futnia), mivel a jelszavakat (/etc/shadow), amit csak a rendszergaz- Az elsõ oszlop elsõ karaktere az állo- tároló állományt csak a rendszergazda da olvashat, illetve írhat. mány típusa: -, ha általános állomány, írhatja és olvashatja. Ha ez nem így Ezekután ismerkedjünk meg néhány d, ha könyvtár és l, ha hivatkozás (link). lenne, a rendszergazdán kívül senki más egyszerûbb fájlkezelõ utasítással. A Li- Gyakorlati haszna az, hogy a segítsé- nem tudna jelszót váltani a rendszerben. nuxban természetesen használhatunk gével ugyanazt az állomány több néven A tulajdonost a chown, a csoportot hosszú fájlneveket, a legnagyobb méret is elérhetjük. Hivatkozást az ln parancs- pedig a chgrp utasítással változtathat- 255 karakter. Figyelem, a Unix a kis- és csal hozhatunk létre: ln ÆllomÆny juk meg. Az állományra (vagy könyv- nagybetûk között különbséget tesz! hivatkozÆsnØv. Az így keletkezett tárra) vonatkozó jogok kiosztására Mivel rendszergazdaként bármit letö- hivatkozás a közvetlen hivatkozás (hard a chmod parancs alkalmas (az idevonat- rölhetünk, biztonságosabb, ha a saját link). Ennek van egy nagy hátránya, kozó lista megtalálható a 30. CD Maga- felhasználói nevünkkel jelentkezünk mégpedig hogy csak egyetlen fájlrend- zin/Dobbanto könyvárban). Ha például be, és úgy gyakorlunk. Most már a # szeren belül használhatjuk, továbbá azt szeretnénk, hogy egy állomány helyett egy $ fogad minket. könyvtárakra nem alkalmazható. Ha mindenki számára futtatható legyen, A Linux parancsértelmezõi nagyon más fájlrendszerbeli állományokra, a chmod a+x file parancs bepötyö- „okosak”, a DOS parancssoránál össze- illetve könyvtárakra is szeretnénk hivat- gésével érhetjük el. hasonlíthatatlanul fejlettebbek. Például kozni, ehhez a csatolás másik fajtáját, Sorozatunk következõ részében tovább itt is lehetõségünk nyílik batchprogram- az úgynevezett közvetett hivatkozást folytatjuk a Linux-alapparancsokkal való írásra (Unix alatt ezeket héjparancsok- (szimbolikus link) kell segítségül hív- ismerkedést. nak hívjuk), de sokkalta több lehetõség nunk. Közvetett hivatkozás létrehozá- rejlik bennük. Olyan ez, mintha egy sára is az ln utasítást használhatjuk, teljesen különálló, magas szintû progra- csak ebben az esetben még egy -s Garzó András mozási nyelven programoznánk (a héj- kapcsolót is meg kell adnunk. Nézzünk parancsok írását sorozatunk késõbbi erre is egy példát: ln -s file link. (garzoand@interware.hu) részében taglaljuk bõvebben). Az ezt követõ kilenc karakter az állo- Körülbelül három éve foglalkozik Linux- A parancssorba egyszerre több utasítást mányra vonatkozó jogokat jelzi. A Unix- és más Unix-rendszerekkel. Legjobban is begépelhetünk, amit a parancsértel- rendszerekben minden állományhoz az operációs rendszerek lelkivilága mezõ egymás után fog végrehajtani. egy tulajdonos és egy csoport tartozik. érdekli, de nyitott egyéniség. Kedvenc Ebben az esetben az utasításokat a „;” Az állományokra vonatkozó jogosult- étele a palacsinta, és van egy Richard jellel kell elválasztanunk egymástól. ságokat csak a tulajdonos, illetve a rend- nevû macskája. Minden észrevetelt, Arra is lehetõség van, hogy egy parancs szergazda változtathatja meg (a tulaj- megjegyzést, levelet szívesen fogad.</p><p> www.linuxvilag.hu 2002. április 41 Dobbantó</p><p>Az Emacs (4. rész)</p><p>Hogyan kezeljük az Emacsban az ablakokat és a kereteket?</p><p> lsõként a munkaterületet függõ- C-x 3 – az ablakot vízszintesen E legesen osszuk fel két részre a osztja ketté. C-x 2 paranccsal, úgy, hogy az C-x 4 0 – törli az ablakot és a hozzá egyik ablak a másik fölött legyen, majd tartozó átmeneti tárat is. a b c a C-x 1 paranccsal állítsuk vissza az ere- C-x 4 b – ugrás a másik ablakban lévõ deti állapotot! Most üssük be a C-x 3 átmeneti tárhoz. billentyûkombinációt, amivel vízszin- C-x 4 d – egy másik ablakban nyitja tesen osztjuk ketté a munkaterületet meg a Könyvtár Szerkesztõt. d e f © Kiskapu Kft. Minden jog fenntartva úgy, hogy az ablakok egymás mellé ke- C-x 4 f – új ablakban nyit meg egy fájlt. rüljenek! Folytassuk a felosztásokat tet- C-x 4 r – új ablakban nyit meg egy szõleges sorrendben, amíg jó sok víz- fájlt – csak olvasásra. szintesen és függõlegesen felosztott ab- C-x 4 C-o – egy másik ablakban mutatja g lakunk nem lesz, majd a C-x 0 parancs- meg az átmeneti tárat. csal zárjuk be õket egyenként! Figyeljük C-x 4 m – egy új ablakban levelet meg, hogy a C-x 1 a pillanatnyi kivéte- írhatunk. 1. kép lével minden ablakot bezár! A sok kinyi- C-x 4 . – egy címkét egy másik tott ablak közt egérkattintással vagy ablakban keres meg. a C-x o billentyûkkel válthatunk. A ket- C-x 5 0 – bezárja a pillanatnyi keretet. téosztott ablakokban a pillanatnyi át- C-x 5 2 – ugyanazt az átmeneti tárat meneti tároló tartalma fog megjelenni, új keretben nyitja meg. 2. kép ha új tartalommal akarjuk megtölteni, C-x 5 b – az általunk választott akkor új fájlt kell megnyitnunk, vagy átmeneti tárat új keretben ugyanoda, a szöveg azonnal a kattintás a meglévõ átmeneti tárolók közül kell nyitja meg. által kijelölt szöveghelyre ugrik. A HOME választanunk. C-x 5 f – a fájlt új keretbe hívja be. a sor elejére, az END a sor végére ugratja Az ablakok az egérrel átméretezhetõek, C-x 5 r – új keretben csak olvasásra a kurzort, míg a CTRL+HOME a fájl ele- de a következõ billentyûkombinációk is nyit meg egy fájlt. jére, a CTRL+END pedig a fájl végére használhatók erre a célra: C-x 5 d – új keretben nyitja meg ugrik. A DELETE és az INSERT is a várako- M-x shrink-window – úgy csökkenti a Könyvtár Szerkesztõt. zásoknak megfelelõen viselkedik: a az ablak méretét, hogy az C-x 5 o – kiválasztja a következõ DELETE egy karaktert töröl, az INSERT alsó keretet felfelé viszi, keretet. pedig a felülírási módot váltogatja a C-x ^ – úgy növeli az ablak méretét, C-x 5 . – másik keretben keres meg beszúrási móddal. Az Emacs természe- hogy az alsó keretet lefelé viszi, egy címkét. tébõl fakad, hogy ugyanezeket a fela- C-x { – az ablakot keskenyíti, C-x 5 m – egy új keretben levelet datokat billentyûkombinációkkal is meg C-x } – az ablakot szélesebbé teszi. írhatunk. lehet ismételni. Például a C-v elõre, az A C-x + parancs minden ablakot azonos C-x m – levelet írunk a pillanatnyi M-v visszafelé lapoz egy képernyõnyit, magasságúvá tesz, a C-x - pedig csök- ablakban. a C-x-< balra, a C-x-> pedig jobbra kenti az olyan ablak magasságát, ame- A C-z az X nélküli parancssoron felfüg- görget. Érdekes hatása van a C-l billen- lyikben sok üres sor van alul. A felsza- geszti az Emacs mûködését, az XEma- tyûkombinációnak. Vigyük a kurzort baduló helyet a többi ablak kapja. Ha csot pedig ikonméretûvé csukja össze. valamelyik, a képernyõ szélén lévõ két ablakot nyitunk meg egymás mellett, Ha a fõalkalmazás mellett más keretek is sorba, jegyezzük meg az ott lévõ szava- gyakran elõfordulhat, hogy az egyikbe nyitva vannak, a C-z csak a mûködõ kat, majd nyomjuk meg a C-l teljes gépelünk, a másikból pedig olvasunk keretet zsugorítja össze. billentyût. A parancs hatására minden valamit. Ilyenkor nagyon jól jön, hogy újrarajzolódik, de a kurzort tartalmazó a C-M-v paranccsal a másik ablakban Kurzormozgatás sor a képernyõ közepére fog kerülni. elõre és lapozhatunk. Ha a betöltött fájlunk elég hosszú, Ha ezzel végeztünk, próbáljuk ki a le, Talán lehet valami logikát találni az örömmel tapasztalhatjuk, hogy az isme- fel, jobbra, balra nyilakat úgy, hogy ablakokhoz és a keretekhez kapcsolódó rõs PAGE UP és PAGE DOWN billentyûkkel közben a CTRL vagy az ALT billentyûket teljes billentyûk számozásában. lapozhatunk a szövegben, és a le, fel, is nyomva tartjuk. Tekintsük csak át õket még egyszer! jobbra és balra mozgató kurzorbillen- Ahogy korábban említettem, az ESC C-x 0 – törli a pillanatnyi ablakot. tyûk a megszokott módon mûködnek. helyettesítheti az Meta billentyût, pró- C-x 1 – a pillananyi ablak kivételével A bal egérgombbal is lapozhatunk, ha báljuk ki tehát az Esc-v kombinációt is! minden ablakot töröl. többször rákattintunk az XEmacs-abla- Nálam mûködött. A le, fel, jobbra és C-x 2 – az ablakot függõlegesen kokban található pörgetõrudakra, de balra mozgatás elérhetõ a C-n (next line osztja ketté. ha a középsõ egérgombbal kattintunk azaz következõ sor), a C-p (previous</p><p>42 Linuxvilág Dobbantó</p><p> line, azaz elõzõ sor), C-f (forward, azaz Némi lazasággal a pont szó helyett a kiindulási helyre, az ESC szintén abba- elõre) és a C-b (backward, azaz vissza- a kurzor szót is használhatjuk. hagyatja a keresést, de a kurzort a megta- felé) lenyomásával. Az elõre és a hátra lált szó helyén hagyja. Gépeléskor a a Meta billentyûvel is kombinálható A számkapcsoló DELETE megnyomása letörli a mini átme- (M-f és M-b), ilyenkor a kurzor nem Több parancsnak számkapcsolót adha- neti tárolóba beírt karaktereket, és sorban egy karaktert mozdul el, hanem egy tunk át, ami megmondja neki, hogy visszaugrál a kiindulási helyre. Ha a ke- egész szót ugrik elõre vagy hátra. hányszor ismételje meg ugyanazt. Pél- resett karakterlánc nem található a vizs- Figyeljük meg, hogy hátrafelé ugráskor dául a C-u 3 C-a a harmadik sor elejére gált átmeneti tárban, akkor figyelmeztetõ a szó elsõ betûjére ugrik, elõreugráskor ugrik, a C-u 3 C-e ugyanennyit, de a sor hangjelzést kapunk, és a mini átmeneti viszont a szó utáni elsõ üres karakter végére. Üssük be még a C-u 6 C-n és a tárolóban megjelenik a Failed I-search helyre! C-a a sor elejére, C-e a sor vé- C-u 6 C-p parancsokat is, figyelve arra, üzenet. Az Edit > Search backward... gére ugrik. Hasonló viselkedést nye- hogy ugyanúgy viselkedik-e a kurzor, vagy a C-r visszafelé keres, különben rünk, ha az M-a és M-e kombinációt mint az elõzõ példában, azaz a pont elé ugyanúgy viselkedik, mint a C-s. alkalmazzuk, de most a kurzor a mon- vagy a pont utánra ugrik-e! A C-u 8 C-v Szavak sorozatát a C-s RET C-w szavak dat elejére vagy végére visz bennünket. nem nyolc képernyõnyit, hanem csak RET vagy visszafelé a C-r RET C-w sza- Programozás közben az Emacs felis- nyolc sornyit mozgat visszafelé! A C-u 8 vak RET parancsokkal tudjuk keresni. meri, hogy egy kifejezésnek vagy függ- M-v szintén csak nyolc sort megy elõre. A keresett szavak közé egyetlen szóközt</p><p> vénynek hol van az eleje vagy a vége. A C-u elõtag u betûje az universal argu- teszünk. Az ilyen kereséskor nem számít, © Kiskapu Kft. Minden jog fenntartva A C-M-a és C-M-e kombinációk ilyenkor ment szavakra utal, és ez az elõtag adja hogy a szövegben lévõ szavakat hány egy függvény elejére vagy végére ugra- át a számkapcsolókat az utána követ- szóköz választja el egymástól, hogy van-e nak. A C-M-b egy kifejezés elejére, a kezõ parancsoknak. Ha nem adunk meg közöttük új sor vagy bármilyen már C-M-f pedig a végére visz. M-< a fájl számot a C-u után, az alapértelmezett elválasztó karakter a szövegben. elejére, M-> a fájl végére ugrik. Meg- érték mindig négy lesz, például a C-u Lehetõség van reguláris kifejezések elõre- jegyzem, a <> zárójelek nemcsak C-n néggyel fogja lefelé mozgatni a kur- és visszafelé történõ keresésére is: a C-M-s a magyar billentyûzeten nehezen hoz- zort. Próbáljuk ki a C-u C-l parancsot és C-M-r billentyûkkel. A keresést és a záférhetõk, ahol az ALT GR-t kell meg- különbözõ számkapcsolókkal, majd a helyettesítést az M-x replace-string RET nyomni, de az angolon is csak a SHIFT C-u - billentyûkombinációt is! karakterlánc RET új karakterlánc RET megnyomásával hozhatók elõ. Ez való- paranccsal végezhetjük, ami új karakter- jában az ALT és az ALT GR vagy az ALT Keresés és csere láncra cseréli karakterlánc minden elõ- és a SHIFT egyidejû megnyomását Az Edit > Search... vagy a C-s indítja a fordulását. Reguláris kifejezések esetében jelenti. Nálam az Alt-Alt Gr <-változat keresést. Ahogy a keresendõ szót a mini az M-x replace-regexp RET regexp RET új ritkán hozta a várt eredményt, helyette átmeneti tárolóba gépeljük, az Emacs karakterlánc RET formát használjuk. inkább az Esc-Alt Gr < kombinációt rögtön ráugrik a már beírt karakterlánc Ezek a helyettesítõparancsok kérdezés használom, ha használom. elsõ elõfordulására. Hosszabb szavak nélkül cserélik le a karakterláncokat. Ha Láthatjuk, hogy a táblázat közepén esetén elõfordulhat, hogy a teljes szót be azt akarjuk, hogy a program egyenként a pont szó ül. Ez ismét olyan Emacs- sem kell írni ahhoz, hogy rögtön célhoz kérdezzen rá a csere szükségességére, sajátosságra utal, ami még a TECO nyelv érjünk. Ha a megtalált szó újabb elõfor- akkor az M-x query-replace RET karak- idejére megy vissza, ahol a "." eredetileg dulásaira is kíváncsiak vagyunk, akkor terlánc<vége> RET új karakterlánc<vé- egy parancs volt, ami megadta a pont ismételten meg kell nyomnunk a C-s ge> RET alakot, reguláris kifejezések helyén lévõ értéket. A pont mindig a kombinációt. Az ENTER leütése jelzi a ke- használatakor pedig az M-x query- kurzor alatti karakter elé mutat (2. kép). resés befejeztét, de C-s C-s még ezután is replace-regexp RET >regexp<vége> RET visszahívhatja új karakterlánc<vége> RET parancsot 1. táblázat a legutóbb írjuk be. Ha az átmeneti tárban lévõ keresett szót. összes elõfordulást le akarjuk cserélni, Görgetés balra Görgetés jobbra A C-g kiléptet elõrefelé keresés esetén a szöveg elejére Elõzõ képernyõ M-v; bennünket kell mennünk, mivel a keresés és a csere C-x-< C-l C-x-> a keresésbõl, mindig onnan kezdõdik, ahol a kurzor Következõ képernyõ C-v és a kurzort áll. Ha visszafelé haladunk, ilyenkor visszaviszi a szöveg végére kell ugranunk.</p><p>2. táblázat</p><p> függvény mondat sor Kifejezés szó karakter karakter szó kifjezés sor mondat függvény átmeneti tár M-< oldal C-x-[ bekezdés M-{ sor C-p C-M-a M-a C-a C-M-b M-b C-b pont C-f M-f C-M-f C-e M-e C-M-e sor C-n bekezdés M-} oldal C-x-] átmeneti tár M-></p><p> www.linuxvilag.hu 2002. április 43 Dobbantó</p><p>3. táblázat</p><p> mondat kifejezés sor szó karakter pont karakter szó sor kifejezés mondat Emacs C-x Del M-- C-M-k M-0 C-k M-Del Del? C-d M-d C-k C-M-k M-k XEmacs C-x Del? u.a. u.a. M-backspace backspace u.a. u.a. u.a. u.a. u.a.</p><p>Lapozgatás közben az állapotsoron kívánt területet, ami rögtön X-kiválasz- láthatjuk, hogy az alul lévõ sorok eggyel láthatjuk, hogy a dokumentum hány tássá válik. Ez már minden további feljebb lépnek. százalékánál tartunk, de az M-x line- nélkül beszúrható lesz más X-szerkesz- A 3. táblázat a megsemmisítõ billentyû- number-mode RET paranccsal ugyanott tõkbe: mint például a mostani cikk kombinációkat tartalmazza. Úgy vettem kiírattathatjuk, hogy a kurzor hányadik megírásához használt StarOffice 5.2-be. észre, hogy a törléseknél az Emacs és az sorban jár. A parancs ismételt kiadásáig Ebben a szövegszerkesztõben a Ctrl-v XEmacs viselkedése nem mindenben a sorszám mindig olvasható lesz. Az M-x billentyûkombinációt, az Edit > Paste feleltethetõ meg egymásnak. A leírá- goto-line RET a megadott sorra ugrik, menüt, vagy a beszúrás ikont kell a sokkal ellentétben a Del például nálam a rövid alakja M-g. beillesztéshez használni, de a KWrite nem töröl visszafelé, hanem ugyanúgy</p><p>© Kiskapu Kft. Minden jog fenntartva vagy az Xcoral erre a célra a középsõ viselkedik, mint a C-d. Az Emacsban C-x Kijelölés egérgomb megnyomását is elfogadja. Del valóban törli a mondatokat vissza- Ha az Emacs átmeneti tárában lévõ Ha programozás közben C módban egy felé, az XEmacsban viszont ugyanazt szövegre a jobb egérgombbal rákattin- függvény törzsében kiadjuk az M-C-h csinálja, mint az M-k. A táblázatban tunk, majd a gombot nyomva tartva parancsot, akkor egy lépésben kijelölhet- látható kérdõjelek erre utalnak. elmozgatjuk az egeret, kijelölhetünk egy jük az egész függvény, mivel a parancs Programozás közben hasznos lehet, ha területet (region). A terület mindaddig megkeresi a függvény elejét és a végét, sorokat szúrhatunk be az adott sor kijelölve marad, amíg új kijelölést nem majd aktívvá teszi. mögé (C-o), vagy ha egyszerre távolít- kezdeményezünk, vagy bele nem kattin- hatjuk el a szerkesztett sor mögötti, fö- tunk a szövegbe. Kijelölhetünk egy terü- Kivágás, másolás és beszúrás lösleges, csak szóközöket tartalmazó, letet úgy is, hogy a C-szóköz vagy a C-@ A kivágást, a másolást és a beszúrást az üres sorokat (C-x C-o). Ez utóbbi szintén kombinációval egy jelet (mark) teszünk ismert módon végezhetjük el: az Edit megsemmisítõ törlés. a kurzor helyére, majd a kurzort elmoz- menübõl vagy az idevágó ikonok hasz- Az M-y a legutóbbi beszúrást lecseréli gatva kijelöljük a kiválasztandó területet. nálatával (1 g kép). az elõzõ irtással. Ennek a parancsnak Nemcsak a kurzormozgató billentyûket De kifizetõdõ lesz elsajátítani az Emacs megint csak az Irtó gyûrû mûködésének használhatjuk, hanem a fent megismert rövidítéseit is: ismeretében érthetjük meg az értelmét. kurzormozgató billentyûkombinációkat C-w – kivágja a kijelölt területet Tudjuk, hogy az Irtó gyûrû eltárolja a is, mint például M-a. Gondolom, nem (wipe). legutóbbi harminc irtást, amit késõbb lesz meglepõ, hogy a C-g megnyomá- M-w – másolatot készít a kijelölt az M-y segítségével sorban elõvehe- sával a kijelölést megszüntethetjük. területrõl (wipe). tünk. Hogy értsük, mirõl van szó, kezd- Bizonyos mûveletek csak a kijelölt terü- C-y – beilleszti a korábban jünk el dolgozni az XEmacsban, közben letre hatnak. Tegyünk egy jelet a kijelö- kivágott vagy átmásolt a C-w vagy M-w parancsokkal töröljünk lés elejére a C-szóközzel, majd menjünk területet (yank). vagy másoljunk le kijelölt területeket! a kijelölés végére. Miután végeztünk A w betû itt a wipe (töröl) szó helyett áll. Ugorjunk az átmeneti tár elejére, és a kívánt terület kijelölésével, a C-x C-x Az Emacsban kétféle törlés van. Az egyik a C-y paranccsal szúrjuk be a legutóbbi megnyomásával visszaugorhatunk a az irtás (kill), ami egy szövegrészt töröl, irtást! Ha most többször kiadjuk az terület elejére, majd a C-x C-u parancs de egyúttal menti is az Irtó gyûrûbe (Kill M-y parancsot, az Irtó gyûrûbõl egyen- kiadásával az egész szöveget egy lépés- Ring), ahonnan késõbb elõránthatjuk ként „elõránthatjuk” az oda mentett ben nagybetûssé alakíthatjuk. Most (yank), és beszúrhatjuk a kívánt helyre. területeket mindaddig, amíg meg nem csináljunk egy újabb kijelölést, és a C-x Innen az y rövidítés. Egyetlen Irtó gyûrû találjuk a nekünk tetszõt. Láthatjuk C-l segítségével a szöveget alakítsuk visz- létezik, és minden kiirtott szövegrész ide tehát, hogy az M-y használata is egy- sza kisbetûssé! Hasznos lehet a C-x C-x kerül, hogy késõbb bármelyik puffer hoz- fajta visszavonás (undo). akkor is, amikor elfelejtjük, hogy mi volt záférhessen. A másik törlési mód meg- Sorozatunk következõ részében a re- a kijelölés eleje vagy vége. semmisíti (delete) a szöveget, ami még giszterekkel, betûátalakítókkal és a Ha egy kijelölésjelet a pillanatnyi kur- egy ideig a visszaállító (Undo) paranccsal könyvjelzõkkel ismerkedhetünk meg. zorállásra helyezünk, majd megnyom- visszahozható, de utána véglegesen elve- juk az M-< vagy M-> billentyûket, az szik. Ilyen megsemmisítõ parancsot Szaló István átmeneti tároló elejéig vagy végéig egy adunk ki például, amikor megnyomjuk lépésben kijelölhetjük a szöveget. A C-x h aDELETE vagy a BACKSPACE billentyûket. (ratiosoft@freemail.hu) tanár, az egész átmeneti tárat, a C-x C-p egy Szintén mindent megsemmisítõen töröl immár több mint másfél oldalt, az M-h egy bekezdést, C-M-@ a kurzortól visszafelé a sor elejéig az M-0 évtizede foglalkozik progra- egy kifejezést, C-M-h pedig egy függ- C-K, a C-K pedig a sor végéig. Ha a sor mozással, de csak a Java és vényt jelöl ki egy lépésben. végén lévõ új sor (newline) karaktert is a Linux megismerése után Ha nem az Emacson belüli átmeneti törölni akarjuk, akkor a C-U 1 C-K paran- tudta meg, hogy mi is az igazi progra- tárolók közt akarunk szöveget cserélni, csot kell kiadnunk, mert a C-K nem teszi mozás. Több írása megjelent már a hazai a bal egérgombbal ki kell jelölnünk a meg. Ha beütjük a C-U 1 C-K parancsot, számítástechnikai lapokban. </p><p>44 Linuxvilág Szaktekintély</p><p>A FilmGimp alkalmazása a Rhythm & Huesnál Robin a FilmGimpet, a nagy filmgyárak által használt linuxos, nyílt forrású eszközt mutatja be.</p><p>Gimp valószínûleg vezeti a Linux csúcsalkalmazásainak listáját. Ez a Photoshop-szerû Agrafikai csomag rendkívül népszerû állóképszerkesztõ alkalmazás. Filmes unokatestvérét, a képsorozatokon való munkát támogatni hivatott FilmGimpet</p><p> már kevesebben ismerik. © Kiskapu Kft. Minden jog fenntartva A DreamWorks, a Pixar, az ILM és egyéb nagy stúdiók filmgyártó munkafolyama- taikat épp napjainkban ültetik át Linux- ra. A legtöbb ilyen linuxos törekvés néhány kereskedelmi alkalmazást is 1. kép Film Gimp képernyõmentés 2. kép Film Gimp magával hoz, ilyen például a népszerû – a Little Nicky készítése közben képernyõmentés – Visa-hirdetés 3D animációs csomag, a Maya (lásd a Maya 3 már Linuxon is! címû cikket reklám. Dahlöff még hozzáteszi: „A leg- a Linuxvilág 2001. június-júliusi számá- fontosabb munkánkat a beszélõ állatok ban), vagy az olyan ismeretlen eszkö- jelentik. Háromdimenziós modellekkel zök, amelyek a stúdiók által saját fel- dolgozunk, mert a hatások így sokkal használásra gyártott kódsorok millióiban jobbak, mint a kétdimenziós átmenetek- öltenek formát (lásd a Linuxvilág 2001. nél. Elkészítjük a háromdimenziós mo- augusztusi számában a DreamWorks és dellt, majd leképezzük a síkra – az élõ a Linux kapcsolatáról írottakat). Jelen állat mozgását az állat fejének számító- pillanatban a nagy filmgyárak csak egy gépes grafikai modelljével illesztve ösz- jelentõs nyílt forrású alkalmazást hasz- sze. Ezután a megvilágító részleg a képet nálnak. Vizsgáljuk meg egy kicsit köze- rávetíti a 3D-s modellre, a 2D-részleg lebbrõl a FilmGimpet, és hogy hogyan pedig a hiányzó háttérrészleteket hozza használják a Los Angeles reklámfilm- rendbe, például az állat beszédmódját. 3. kép ICY képernyõmentés – Cannon-hirdetés gyár utómunkálatokat végzõ részlegé- A nyújtásokat felületi mintázatokkal kell ben, a Rhythm & Huesnál. kijavítanunk. A száj belseje tisztán szá- visel. A macska modelljét a modelltá- Caroline Dahllöf, az R&H programozója mítógépes grafikából áll. Néhány pro- runkból kerestük elõ, és úgy módosí- a FilmGimp vezetõfejlesztõje és képvi- jekt, mint például a kólareklám, szintén tottuk, hogy illeszkedjen a reklámban selõje. „Minden olyan munkánknál kizárólag számítógépes grafikára épül. szereplõ macskára. A vizes öltözéket a FilmGimpet használjuk, amelyben Ez a módszer különbözik attól, amit és a búvárfelszerelést utólag adjuk beszélõ állatok szerepelnek” – tájékoztat a beszélõ állatoknál használunk. hozzá. Az egész modellt az And segítsé- Dahllöf. „A FilmGimpet több stúdió al- Ahogy az a filmstúdióknál megszokott, gével hoztuk létre. A modellt természe- kalmazza a gyártás során, de talán az az R&H nemcsak egy eszközt, hanem tes testtartásban alkottuk meg, mert így R&H az, amelyik a legnagyobb mérték- egész eszközsort használ a háromdi- az üzembehelyezõk a csontvázat ben. A többi stúdió is nagyszerû elgon- menziós animációk és a különleges könnyebben bele tudják illeszteni.” dolásnak tartja a Gimpet, de úgy tûnik, élõhatások elõállításához.” mi vagyunk az egyetlenek, aki pillanat- Mielõtt elkezdenénk a FilmGimppel Szerkesztés az ICY segítségével nyilag fejlesztik és támogatják is.” Dall- foglalkozni, vizsgáljunk meg néhányat Jeff McLean, a mûszaki igazgató höf szívesen venné, ha mások is részt az eszközláncot alkotó saját eszközök elmagyarázza, hogyan is használja az vennének a fejlesztésben. Az R&H a közül, amelyekkel a FilmGimpnek R&H az IC-t (Interactive Compositing), FilmGimpet használta a Harry Potter- szorosan együtt kell mûködnie. a saját fejlesztésû szerkesztõjüket: ben, továbbá a Kutyák és macskák (Cats „Jellemzõ feladat például a Scooby Doo & Dogs), a Dr. Dolittle 2, a Little Nicky, 3D-modellezés az And segítségével egyik jelenetében: egy gördeszkázó a Grincs (How the Grinch Stole Christ- A 3D-modellezésre az R&H egy belsõ karjait el kell távolítani, és egy csõben mas), a The 6th Day; a Stuart Little, a modellezõeszközt használ, amelyet And lévõ Scoobyval kell helyettesíteni” kisegér és a Majmok bolygója (Planet of and Mayának hívnak. Yeen-shi Chen (a Scooby Doo bemutatója 2002 júniu- the Apes) címû filmekben. Az R&H rek- modellezõ-TD beszél errõl: „Épp egy sára várható). Amikor McLean élõ szí- lámfilmeket is készít, alkotásai között tévéreklám számára készítek modellt nészt helyettesít egy Scoobyhoz hasonló szerepel a jól ismert mackós Coca-Cola egy macskáról, amelyik vizes öltönyt animált figurával, a feladat nemcsak</p><p> www.linuxvilag.hu 2002. április 45 Szaktekintély</p><p> annyi, hogy lefedje a színészt, hanem textúrák elõállítására és képjavításra” mögött, az adatot a proxy helyett köz- azokat a helyzeteket is kezelnie kell, – mondja Dahllöf. vetlenül a cvs checkout parancsban amelyekben a szereplõ mozgása túlnyú- „Ahogy a stúdió átáll Linuxra, a Film- adtuk volna meg. lik a figura elfedte területen. „Helyre Gimpet egyre több ember a Linuxon Amikor a CVS-rõl letöltöttük a 18 MB-os kell állítanom a háttér hiányzó részeit, fogja használni” – véli Dahllöf. Mivel csomagot, a fordítás érdekében végre ha egy jelenetbõl objektumot távolítok õ azonban épp a Matador és az Illusion kellett hajtanunk néhány kisebb hiba- el” – mondja McLean. SGI-alapú kereskedelmi alkalmazásokat javítást. A gimp/plug-ins/Makefile.am próbálja ki, a FilmGimpet általában állományban a SUBDIRS változóban Megvilágítás a Voodooval SGI-n és nem Linuxon futtatja. „Azt foglalt rll, pts, fm_pts és parsley Greg Yepes, a világítás vezetõje egy válla- vizsgálom, milyen szolgáltatásokat kell bejegyzéseket törölnünk kell a könyvtár- laton belül létrehozott eszközt, a Voo- még a FilmGimphez adni, hogy egyen- listából. Ezek a kiegészítõk nem épülnek doot használja olyan projekteken, mint rangú eszközzé váljék. Megfelelõ festõ- be a FilmGimpbe, és megakadályoznák a Harry Potter vagy a Canon-hirdetések. alkalmazásra van szükségünk Linux alá, a fordítást. „Amikor a jelenet 3D-objektumainak amelyet a 2D-részlegünk majd használni megvilágítását állítom be, a virtuális fé- tud, ugyanis nem találtunk kielégítõ cd gimp nyeket kezdetben olyan szélsõ helyzetre kereskedelmi programot” – teszi hozzá. libtoolize --force állítom be, hogy jól lássam, mirõl is van „A Gimp semmilyen képsormûveletet aclocal</p><p>© Kiskapu Kft. Minden jog fenntartva automake autoconf ./configure - prefix=/usr/local make ./app/gimp</p><p>Áttérés Linuxra az R&H-nál A témáról Mark Brown, mûszaki alelnök tájékoztat bennünket: „Jelenleg ötven linuxos asztali gépünk mûködik, és ez a szám 2002 végére 250-re fog nõni. Továbbá egy kétszáz csomópontos 4. kép Voodoo képernyõmentés 5. kép Voodoo képernyõmentés linuxos leképezõteleppel rendelkezünk, – Cannon-hirdetés – Cannon-hirdetés ezt igény szerint bõvítjük vagy csök- kentjük.” Az R&H elkészítette saját szó” – tájékoztat Yepes. „Késõbb a Wren- nem támogatott, pedig egy 2D-alkotó testreszabott állományrendszerét, a be ez már csökkentett értékekkel kerül.” számára ez igen fontos. Munkájuk tete- PTS-t a gyártási folyamat nyomkövetõ A RenderManhoz hasonló belsõ leképe- mes részét a képkockák következõbe rendszerének támogatásához, mely zõegységet, a Wrent egy évvel ezelõtt való átmásolása teszi ki, úgyhogy a Gim- az R&H az ext2 állományrendszert ültették át Linuxra. „Minden átültetett pet képkezelõvel egészítettük ki” – me- használja. programunk gyorsabb lett, mint amire séli Dahllöf. Az R&H saját belsõ rll for- „Úgy döntöttünk, hogy nem saját kezû- számítottunk. DEC Alpha-gépeken mátumát használja. „A FilmGimp fõ leg építjük a gépeket, hanem megrende- kezdtem a Kutyák és macskákkal, majd jellemzõje a csatornánkénti 16-bites lünk száz darab két 1,5 GHz-es AMD jöttek az Intel PC-k és megmentettek színkezelés, ami illeszkedik az állomány- processzorral szerelt gépet az Angstrom minket” – meséli Yepes. formátumunkhoz. A FilmGimp haszná- Microsystemstõl” – meséli Brown. „Jelen latával semmilyen színveszteség nem pillanatban ez tûnt a leggazdaságosabb A FilmGimp használata jelentkezik, ami más 16-bites festõkész- megoldásnak. Jelenlegi asztali gépeink A FilmGimp egy vállalaton belül fejlesz- lettel esetleg elõfordulhatna.” mindegyike kétprocesszoros Pentium tett festõalkalmazást, az Incet váltotta III-as gép. Támogatni fogjuk a teljesen fel. „A FilmGimpet a szennyezõdések A FilmGimp letöltése és fordítása heterogén környezetet, hiszen tudjuk, eltávolítására szeretjük használni” A FilmGimp letöltéséhez az anonim hogy már a processzorok és videokár- – árulja el Dahllöf. „Mindig lehet valami CVS-t kell meglátogatnunk. Nincs tar- tyák terén sem lehetünk teljesen por, esetleg hajszál a lemezen – vagy csomag, rpm vagy deb formátumú következetesek.” a leolvasásból, vagy a negatívról kerül változat, a programot a forrásból kell oda. A piszkot rendszerint az elõzõ elõállítani. A FilmGimp-ág neve A FilmGimp fejlesztésének története képrõl vagy a pillanatnyiról másolással HOLLYWOOD: A FilmGimp létrejöttét az R&H és a tüntetjük el.” A FilmGimpet használják programfejlesztõ Silicon Grail támoga- az öltöztetéseknél és a vezetékek eltávo- cvs -z3 -d:pserver: tásának köszönheti. Mindkét cég egy lítására, erre szolgáltat jó példát a anonymous@gap:/cvs/gnome évig OSS Gimp-programozót alkalma- Grincs címû film. A világítók viszont checkout-r HOLLYWOOD gimp zott: az R&H Calvin Williamson GEGL- a FilmGimpet a fur vezérlõállományok tervezõt (GIMP E Graphical Library), szerkesztéséhez alkalmazhatják. Úgy állítottuk be gap nevû tûzfal-szá- a Silicon Grail pedig Manis Singh-t, a „Ezek a vezérlõállományokat az álta- mítógépünket, hogy a 2401-es kapu a Gimp karbantartóját. „Túl voltunk már lunk fejlesztett furprogram, a Fur hasz-  http://anoncvs.gimp.org kiszolgálójára néhány egyéb nyílt forrású projekten, nálja. A világítók is használják a Gimpet mutasson. Ha nem lettünk volna tûzfal mint például meghajtóprogramok írása</p><p>46 Linuxvilág Szaktekintély</p><p> amellyel a nagy képállományok memó- a FilmGimpbõl. A felhasználók szûrõket riakezelését, a többszálú mûködést, nagy is használnak, de ezek közül néhány, Védjegy-adatok szerkesztõfákat és egyéb erõforrásigé- amely a FilmGimpben is megtalálható, Az And, ICY, Voodoo és a Wren elneve- nyes folyamatokat próbálhat ki. a mozgófilmes munkáknál haszontalan. zések nem más, már létezõ védjegyekre Azok az osztályok, amelyek a képállo- A felhasználók a szûrõk nagyobb fokú vonatkoznak, a Rythm & Hues Studios mányok és a memória kezelését végzik, beállítási lehetõségét igénylik.” által kizárólag belsõ használatra bejegy- le lettek választva a képfeldolgozást A nyílt forrású programok tárgyában Green zett nevek. A cikkben szereplõ Voodoo végzõ osztályokról. Ez olyan képkezelõ , az R&H vezetõ programmérnöke írását teszi lehetõvé, amellyel például a következõket mondja: „Nagy vita elnevezés semmilyen formában nem utal a grafikai mûveletek egyéni módon ren- folyik a FilmGimpre fejlesztett program- a következõ védjegyekre: VOODOOtm dezhetõk, vagy egyedi memória-, illetve jaink forráskódjának felszabadítása (UNI SOFTWARE PLUS GmbH), gyorstárkezelõ megoldásokat találhat- körül. A legtöbb program használata LinuxVoodooTM (LinuxVoodoo, Inc.), nak. Az osztályok, amelyek a grafikák a kívülállók számára meglehetõsen VoodooTM (3dfx Interactive). részeként adatokat hordoznak az ope- bonyolult lenne, hiszen terméknyomkö- rátorokról (bemenetek, kimenetek, érde- vetõ rendszerünk, a PTS köti õket. keltségi tartomány – minden külsõ ope- Enélkül semmi sem fog mûködni.” különbözõ filmfelvevõkhöz. Láttuk a rátorjellemzõ) külön lettek választva a Green szerint az egyetlen érv, amely</p><p>Gimp elõretörését és lehetõséget arra, képfeldolgozó osztályok belsõ operátor mellette szól, a betanítás magas költsé- © Kiskapu Kft. Minden jog fenntartva hogy a Nyílt Forráskód Közösségével adataitól. Ez a grafikákat könnyebben geinek mérséklése. Az R&H új alkal- létrehozzunk valamit” – magyarázza áttekinthetõvé teszi olyan feladatok mazottai az elsõ hónapot kizárólag Ray Feeney, a Silicon Grail alapítója. számára, mint amilyen a többszálú mû- tanulással töltik. Sokat segítene, ha az Craig Zerouni a Silicon Grail RAYZ ködés megvalósítása. egyetemet olyan tehetségek hagyhatnák termékmenedzsere hozzáteszi: „Eltöltöt- „A GEGL még mindig nagyon korai el, akik már az R&H eszközein tünk némi idõt azzal, hogy a Gimpet szakaszban van, számos osztály vár még gyakorolhattak. mint kiegészítõt beillesszük a szerkesz- kidolgozásra” – mondja Williamson. tõprogramunkba, a Chalice-ba, de végül „Nincs még hivatalos változat, de a for- Robin Rowe rájöttünk, hogy egy Chalice-hoz hasonló rás letölthetõ az anonim CVS-rõl. A szer- a MovieEditor.com inter- eljárásalapú alkalmazásba nem igazán kezeten mostanában nemigen változ- illik egy nem eljárásalapú rajzolóprog- tattam.” A GEGL teljes 16-bites képfel- netes és televíziós video- ram.” A Silicon Grail a Gimp Script-Fu dolgozóegység a jövõbeli Gimp és egyéb alkalmazásokat készítõ nyelvét használta egy olyan FilmGimp projektek számára. cég egyik partnere. Írásai parancssor létrehozásához, amelyet a Dr. Dobb’s Journalban, a Chalice-ban menteni lehetett. Ez a Összegzés a C++ Reportban, a C/C++ Users munka félbeszakadt, amikor a Silicon Mind a GEGL, mind pedig a FilmGimp Journalban, a Data Based Advisorban Grail fejlesztõi egy új szerkesztõprog- önként jelentkezõket vár, akik segítené- jelentek meg és számos tanácskozás ram, a RAYZ fejlesztésébe kezdtek. nek a programozásban. Williamson anyagában megtalálhatók. A Robin által Zerouni úgy érzi, hogy egy valódi eljárás- elmondja, hogy a PDI, az ILM, az ICT készített programok sorában található alapú nyelvre lenne szükség a rajzoló- és a Sony már kifejezte érdeklõdését, de többek közt az a kiszolgálóalapú video- programban, valami olyasmire, mint programozót eddig még nem biztosítot- szerkesztõ rendszer, amit a Manhattan a RenderMan nyelve. A Silicon Grail mos- tak. Williamson szívesen fogadja a kép- 24 órás televíziós hírcsatorna, a Time tanában vásárolta meg a Kodaktól a Ci- feldolgozó mûveletek, a memóriakezelõ Warner New York One, illetve a kapcso- neon forráskódját a Retoucher-alkalma- kódok és a többszálú mûködés iránt lódó honlap  http://www.ny1.com/ is zással együtt. „A FilmGimpen dolgozni érdeklõdõ programozókat, és várja a használ. Elérhetõ a robin.rowe@ nagyon hasznos volt számunkra, renge- GEGL projekthez csatlakozni kívánók movieeditor.com címen. teget tanultunk belõle” – mondja Zerouni. jelentkezését. „A könyvtár kiegészítése és a képmûveletek kódolása igen sok A GEGL és a FilmGimp jövõje idõbe telik” – jegyzi meg Williamson. Kapcsolódó címek A GEGL, a GIMP E Graphical Library „A GEGL a Gimp jövõjének igen fontos  egy a GObjectsen alapuló képfeldolgozó része.” Azoknak a programozóknak, akik BEAST/BSE http//:beast.gtk.org könyvtár. A FilmGimp kifejlesztésében a GEGL határidejét túl távolinak találják, FilmGIMP  http//:film.gimp.org eredetileg az R&H-nál dolgozó Calvin Williamson azt ajánlja, hogy egy évig a GEGL  http//:www.gegl.org Williamson segített a Silicon Grailnél FilmGimp fejlesztésében segédkezzenek. alkalmazásban álló Ray Lehtiniemi-nek. „A FilmGimpet olyan eszközök hozzá- gegldev egroup  A Gimp következõ változata az 1.4-es adásával szeretnénk továbbfejleszteni, http//:gegldev@gegl.org lesz, de a FilmGimp fejlesztése a 1.0.4. amelyek a felhasználók számára lehetõ- Gimp  http//:www.gimp.org GEGL-változat ágán folytatódik, amely vé teszik a képsorozatokon való mûve- Gimp-film News Group a 16-bites csatornákat támogatja és vár- leteket. Szeretnénk egyszerûsíteni az  http//:https://lists.xcf.berkeley.edu hatóan – talán két éven belül – beleolvad egyik képrõl a másikra való rajzolás és /mailman/listinfo/gimp-film a Gimp 2.0-s változatába. A Gimp 2.0 a másolás folyamatát” – mondja Dahllöf, FilmGimp profi jellemzõit elõreláthatólag a FilmGimp karbantartója. Rhythm & Hues  a Gimp központi részévé avatja majd. Az R&H saját flipbook-lejátszót, a Flickset http//:www.rhythm.com Williamson jelenlegi terve egy apró használja. Ez a szolgáltatás, amellyel a Silicon Grail  http//:www.sgrail.com GEGL-re épülõ szerkesztõprogram írása, felhasználó a villogást észlelheti, hiányzik</p><p> www.linuxvilag.hu 2002. április 47 Szaktekintély</p><p>Digitális videózás (2. rész) Alapvetõ filmformátumok – és ahogyan ezt az MPlayer látja.</p><p> eményeim szerint sorozatunk eltérõ szempontok szerint hoztak létre kodekcsoportot kapcsolhatunk, és ezál- elõzõ részében sikerült átfogó tömörítési eljárásokat, tárolási módokat, tal rendszerezettebbé, áttekinthetõbbé képet adnom az MPlayer leját- melynek eredményeképp ma egyfajta válhat számunkra ez a zûrzavar. Rszóról. Az áttekintések azonban az káosz övezi a mozgóképtárolással kap- esetek jelentõs részében természetükbõl csolatos kérdéskört. Ennek átláthatósá- Médiatartályok fakadóan felületesek, és mivel jelenleg gát úgy javíthatjuk, ha a tárolás miként- Itt az ideje, hogy nevén nevezzük a egy igen összetett témát tagla- dolgot: a médiatartály (media lunk, ez most különösképpen container) mint legnagyobb</p><p>© Kiskapu Kft. Minden jog fenntartva igaz. Ezen a felületességen logikai tárolóegység szerepel szeretnék változtatni a sorozat a filmek terén, és alapvetõen következõ részeiben. A linuxos meghatározza a képsor videolejátszás mellett a digitá- tulajdonságait, a lejátszás lis mozgóképek világát is be módját és lehetõségeit (1. ábra). szeretném mutatni – mindjárt A tartály formátuma egyrészt az elejétõl kezdve. Éppen jellemzõ az adatok tárolásának ezért, hogy az alapokkal tisztá- módjára (blokkos, lineáris stb.), ban legyünk, inkább a fájlfor- az egyes sávok (egy fájlon mátumokról, és kevésbé az belüli adatfolyamok) egymás- MPlayerrõl fogok beszélni. hoz való kapcsolatára, össze- Abban a reményben kezdek rendelésük módjára; másrészt neki beszámolómnak, hogy a film sajátosságaira vonatkozó aki az elõzõ cikkben ismerte- adatokat tartalmazza, például tett nem túl egyszerû telepítési 1. ábra A médiatartály logikai felépítése a felbontást, a képarányt, az idõzítéseket, folyamatot túlélte, a sikerélmény mellett a képkockaszámot és a képek futamide- mélyebb érdeklõdésre is szert tett, ezért jét két fõ részre osztjuk. Az egyik része jét (vagy olyan adatokat, amelyekbõl szívesen fogadja az itt leírtakat. az adatok kódolása (tömörítés), a másik ezek kiszámolhatók). Ez természetesen pedig a kódolt adatok tárolása. Fontos nem azt jelenti, hogy minden formátum Értem én, különbséget tennünk köztük és élesen az összes ilyen adatot magában foglalja, hogy benzin, na de mitõl megy? elválasztani õket egymástól, valamint mindegyikben csak a formátumra jellem- Ha azt mondom, hogy film a számító- megértenünk, hogyha digitális filmfor- zõ értékek találhatók. gépen, akkor sokan csupán a megjelenõ mátumról beszélünk, az nem csak a A fentiekbõl látható, hogy egy ilyen képkockákra gondolnak, ám ahhoz, lejátszáshoz szükséges kodeket jelenti. médiatartályt átgondoltan és megfon- hogy mindez lehetõvé váljon, feltétlenül Egy fájlformátumon belül többféle toltan kell kialakítani, hiszen az elõre szükség van egy digitálisan tárolt mozgó kodeket is alkalmazhatunk. Gondoljunk nem látható nehézségekkel is számolni képsorra. Jelen esetben a tároláson van csak bele: egy AVI (ez a tárolási mód) kell. A téma sokrétûsége következtében a hangsúly. Amióta csak a digitális fil- képkockái akár Indeo, DivX3, DivX4 stb. általában egy elõre kitûzött célnak (ezt mezés gondolata megfogalmazódott, kodekkel is tömörítve lehetnek, tartal- a késõbbiekben látni fogjuk) próbálják a kérdéskör alapproblémája, hogy digi- mazhat akár WAV, MP3, AC3 stb. formá- megfeleltetni. talizált filmjeinket miként tároljuk. Az tumú hangot – ezek azonban általában A legelterjedtebbek a Microsoft fejlesz- ilyen formában, tehát digitálisan történõ kívülrõl nem látszanak, a lejátszók tésû AVI (Audio-Video Interleaved) és tárolás egyik nagy hátránya hatalmas ugyanis a tömörítési eljárást átlátszóvá az MPEG (Motion Picture Expert Group) helyigénye. Ebbõl következõen a rögzí- teszik számunkra. Mi csupán annyit ( http://www.iso.org/iso/en/commcentre tés egyetlen járható útja, hogy a tárolt érzékelünk, hogy AVI-val van dolgunk, /pdf/MPEG0009.pdf) által készített adatot tömörítjük (általában veszteség- amely – mint tárolási formátum – a rá MPEG-1, MPEG-2 stb. formátumok. Az gel), majd valamilyen formában tároljuk. jellemzõ sajátosságokkal rendelkezik. AVI-szabvány a tárolt adatokat illetõen Kezdetben ehhez kapcsolódóan sem Ebbõl már kiderül, hogy egy filmformá- szinte szabad kezet ad, a fejlécben meg- szabvány, sem eljárás nem létezett, ezért tum a tárolási mód és az alkalmazható adott formátumú kép és hangsávokat szükségessé vált a megalkotásuk. Gond kodekek kombinációjaként jön létre, tartalmaz párhuzamosan, mely sávok csupán abból adódott, hogy az élénk nem csoda hát, hogy közel százfélével típusa igen sokféle lehet. Ezzel szemben érdeklõdés és az egymással folytatott is találkozhatunk. Ezek az utóbbi idõben az MPEG formátumai általános fejléc nél- versengés miatt többen is digitális moz- csoportokba kezdenek rendezõdni, küli, blokkokból álló adathalmazok, a góképformátumok fejlesztésébe kezd- egyes kodekeket csak bizonyos formá- képre, hangra jellemzõ adatok pedig tek, amelyet igyekeztek a saját arcula- tumok esetén alkalmaznak, valamint az egyes blokkok fejléceiben vannak tá- tukra szabni. A legtöbben egymástól minden fájlformátumhoz egy szûkebb rolva. Az MPEG eredetileg a VideoCD-</p><p>48 Linuxvilág Szaktekintély</p><p> szabvány kifejlesztéséhez jött létre, ennek fájlokat a tömörítési eljárásokkal együtt filmjeinket már érdemes így tárolni. következtében itt nem csupán egy mé- fejlesztették ki, tehát a médiatartály és A fájl egyetlen fejléccel rendelkezik, az diatartályról beszélhetünk – ebben az a kodek fogalma valamennyire mégis ebben felsorolt jellemzõk határozzák esetben a fájlformátum az alkalmazott összekapcsolódik, logikailag azonban meg a lejátszás módját. Alapvetõen két kodekkel szorosan összekapcsolódik. elkülönülnek egymástól. Az eddigiek- formája létezik: „interleaved” és „non- Késõbb azonban látni fogjuk, hogy az ben az MPEG-rõl mint médiatartályról interleaved”. Az elsõben a kép- és MPEG-szabványok esetében is szétvá- beszéltem, most nézzünk belé egy kicsit! hangsávok összefésülten helyezkednek lasztható a tartalmazó objektum és a hasz- Háromféle típusa terjedt el igazán: a el, a másikban egymás után folytatóla- nált kodek, ugyanis a késõbbi MPEG- VCD (VideoCD) vagy szabványos MPG gosan. Egy videofájl legfeljebb 2 GB vívmányok sem szakítottak az MPEG-1 fájl, az SVCD (Super VideoCD) és a méretû lehet és 99 hangsávot tartalmaz- fájlformátumának alapvetõ hagyomá- DVD. Mindhárom formátum nemzet- hat. A kodekekre szinte semmilyen meg- nyaival, inkább csak kiterjesztették azt. közi szabvány. A VCD MPEG-1, az kötés nem vonatkozik, a kép és a hang SVCD és a DVD MPEG-2 (az elnevezés bármilyen módon tömörítve lehet. Az Lejátszás itt arra utal, hogy az MPEG-2 formátum- idõzítés is többféle módon oldható meg: A késõbbi érthetõség szempontjából hoz kifejlesztett kódolási eljárásról van az egyik eljárás, amit a legtöbb helyen leírom, hogy a videolejátszók alkalmaznak, a fejlécben hogyan nyerik vissza a megtalálható bitráta/mintavé-</p><p> bonyolult módon kódolt, telezési ráta értékén alapul. © Kiskapu Kft. Minden jog fenntartva tömörített, összerendelt adat- Hátránya, hogy a hibásan folyamból az eredeti mozgó létrehozott fájlok lejátszásánál képsort. A leírás alapját az a kép és a hang elcsúszhat MPlayer által alkalmazott fo- egymástól, és ezzel elrontja lyamat képezi, de szinte az a filmet. A másik módszer összes egyéb lejátszó is ugyan- ritkábban használatos, de ezt a stratégiát alkalmazza. 2. ábra A videolejátszás folyamata az elõzõ hibával is megbirkózik. Ez az Elõször is abból a ténybõl adódóan, hogy összefésülés alapú idõzítés. Az eljárás a fájlok sávokra oszlanak, beolvasás után szó) kódolást alkalmaz a képanyagra, nem a fejlécben megadott értéket hasz- ezeknek a sávoknak a szétválasztása ám a hangkodekek terén már nem ilyen nálja, hanem az összefésült audio- és (demultiplexing) következik. Ez a leg- egységes a helyzet. A VCD-kben, MPG- videocsomagokból viszonyított elhe- több esetben a kódolt kép és hang szét- ekben a hang tömörítésére MPEG lyezkedést számol. A kép tömörítésére választását jelenti, amely már a média- layer1, layer2, layer3-at egyaránt hasz- jelenleg leggyakrabban a DivX, DivX4 tartályra jellemzõ módon történik. nának, az SVCD szabvány az ilyen alakú kodekek használatosak, a hangsáv pedig Az eredményül kapott két vagy több filmek számára a layer2-es hangot írja legtöbbször MPEG layer3 vagy AC3 adatfolyam a megfelelõ kodekek beme- elõ, míg a DVD-k leginkább AC3 hangot formátumban található. netét képezi. A kodekek úgynevezett tartalmaznak (néha azonban layer2-es Az MPlayer is elboldogul szinte bárme- fekete dobozokként vesznek részt a fo- hangsáv is elõfordul). Mint látható, az lyik kódolási eljárással, sõt mindkét idõ- lyamatban. Ez azt jelenti, hogy a lejátszó MPEG-fájlok, mivel szabványokhoz kö- zítési módot ismeri. Alapértelmezetten a nem ismeri a kódolási, tömörítési eljá- tõdnek, viszonylag átlátható rendszert DivX formátumokat (libavcodec család), rásokat, a használandó kodeket a fejlécek alkotnak: az egyes típusokhoz az alkal- valamint a fent említett hangformátu- alapján azonosítja be. A többi már a kivá- mazandó kodekek jól behatárolhatók. mokat is le tudja játszani. lasztott dekódoló modul teendõje. Ezt Az MPlayer gyakorlatilag az összes Ezzel természetesen nincs vége a listá- követõen igen jelentõs feladatnak számít MPEG formátumú fájlt képes lejátszani nak, számos támogatott fájlformátum az egyes sávok (például a kép- és a – a beépített libavcodec segítségével. ismertetése megtalálható még a program hangsáv) összehangolása. Ne feledjük, Az ffmpeg12 videokodek mindkét video- leírásában, sõt, a technikai részben igen hogy az egyes leképezõ eszközök (hang- sávot (MPEG-1, 2) le tudja játszani. Az érdekes adatokat találhatunk a lejátszó kártya, videokártya) további átmeneti ffmp3 segítségével az MPEG layer1, 2, 3 tényleges mûködésérõl – a lejátszás tárat használnak, ami szintén megnehe- kódolású hangsávok, míg az ac3 hang- folyamatától egészen a programban zíti az összehangolást (2. ábra). kodek segítségével a DVD-khez tartozó alkalmazott függvények leírásának hangsávok válnak elérhetõvé (ez abból a szintjéig! Bátran ajánlom mindenkinek, Az MPEG mint médiatartály szempontból érdekes, hogy a libavcodec akit a digitális mozgókép-visszaadás Minden MPEG-objektum néhány kép- család nyílt forrású, ez azonban nem részletekbe menõen érdekel. kockából álló csoportokból épül fel, ame- mondható el mindegyik kodekrõl). lyek teljesen függetlenek egymástól. Komáromi Zoltán Ennek eredményeképp az MPEG-fájlok Mit tud az AVI? „streamelhetõk”, ami azt jelenti, hogy a Ez a formátum egész más filozófiát (komi_@freemail.hu) film folyamatos lejátszásához pusztán a követ, mint az MPEG, a két kategória 21 éves, a BME hallga- pillanatnyi és a néhány következõ blokk igazából nem összehasonlítható. Az tója, mellette PHP-prog- is elegendõ, tehát lehetõvé válik a távoli AVI-t eredendõen nem a kész filmek ramozóként dolgozik. fájlrendszerrõl történõ lejátszás, vagy egy végleges tárolására, sokkal inkább fel- Kedvenc területe a multi- sugárzott adásba történõ bekapcsolódás. dolgozásra, vágásra használják. Az ter- média. Kedveli a nagy társaságot, az Ez a tény másfelõl hibavédelmet is nyújt. mészetesen már más kérdés, hogy az új érdekes embereket, a jó filmeket és Az MPEG némileg ellentmond az idáig DivX kodekek segítségével jelentõs mé- mindent, ami mozgalmas. Szabadide- felépített filozófiának, hiszen ezeket a retcsökkenés érhetõ el, ezzel számolva jében röplabdázik.</p><p> www.linuxvilag.hu 2002. április 49 Szaktekintély</p><p>Könnyû álmok (12. rész) Az elõzõ számban megjelent cikkünkben megkezdtük az ismerkedést az Interneten használt legfontosabb protokollokkal. Most ezt az utat járjuk tovább.</p><p> lõször tekintsük át a levelezésnél használt legfontosabb õket) natív proxyként képesek mûködni. Amikor egy MTA protokollokat! A levelek küldésére és fogadására az levelet kíván küldeni, a DNS-kiszolgálótól megkérdezi az adott SMTP (Simple Mail Transfer Protocol) szolgál. Az Inter- tartomány levelezõkiszolgálóinak címeit. Ezek a címek vagy Eneten elhelyezkedõ kiszolgálók e protokoll segítségével fogad- MX [1.], vagy A rekordokban vannak tárolva. A címek közül ják és továbbítják a leveleket. Nem minden számítógép rendel- választ egyet (egy tartomány általában több levelezõkiszolgáló-</p><p>© Kiskapu Kft. Minden jog fenntartva kezik azonban megfelelõ erõforrásokkal (lemezterület, folyto- val is rendelkezik, így az elsõdleges kiszolgáló elérhetetlensége nos internetkapcsolat, állandó IP-cím) ahhoz, hogy kihasznál- esetén a levelek nem a feladó SMTP-kiszolgálóján várakoznak), hassa ezt a lehetõséget. Ezért két általánosan elterjedt proto- majd TCP-kapcsolatot kezdeményez a megadott levelezõki- koll is létezik, amelyek kisegítõ szerepet játszanak. Az egyik szolgáló 25-ös kapujával, ahol egy MTA fogadja. Az elküldendõ a POP3 (<a href="/tags/Post_Office_Protocol/" rel="tag">Post Office Protocol</a> – Version 3), amely a levelek leveleket továbbítja, majd zárja a kapcsolatot. Erre láthatunk letöltését teszi lehetõvé, a másik pedig az IMAP4 (Internet példát az 1. képen. Message Access Protocol – Version 4), ez még szélesebb körû A kép az etheral program [2.] segítségével készült, és az szolgáltatást nyújt. ügyfél (cheetah) és a kiszolgáló (dolphin) között zajló TCP-for- Mielõtt a protokollok ismertetésébe belekezdenénk, tekintsük galmat mutatja. Az ügyfélgép üzenetei pirossal, a kiszolgáló át, hogy a levelezés milyen veszélyeket is jelent a hálózatunkra üzenetei kék színnel jelöltek. A protokoll menete a következõ: nézve. A legismertebb veszélyrõl már mindenki hallott: ez az ügyfél TCP-kapcsolatot nyit a kiszolgáló 25-ös kapujára, ahol a vírusok terjedése. A vírusok a felhasználók képzetlenségét a kiszolgáló egy úgynevezett „greeting” üzenettel várja. Vála- vagy kényelemszeretetét kihasználva terjednek, és károkat szul az ügyfél azonosítja magát, ami az EHLO vagy HELO okoznak a számítógépeken. Sok elterjedt levelezõprogramban üzenettel történhet, erre a kiszolgáló válaszol. Az EHLO üzenet sajnos folyamatosan súlyos biztonsági hibákat találnak, amelye- esetén a kiszolgáló közli az általa támogatott protokollkiegé- ket a támadók vagy a féregprogramok (worm) kihasználhat- szítéseket. E szakasz után következik a levelek tényleges nak. Ilyenek lehetnek például az érvénytelen MIME-csatolások elküldése. A levél küldését a MAIL FROM parancs jelzi (az vagy a túl hosszú fejlécek hibás kezelése. Ezen hibák ellen SMTP-protokoll a kisbetûket és a nagybetûket a parancsokban a csomagszûrés-alapú megoldások nem nyújtanak védelmet. nem különbözteti meg). A MAIL FROM parancs paramétere A cikkben szereplõ példákat ismét képzeletbeli tûzfalunkra írtuk, a reverse path, mely a küldõ levélcíme. Mint látható, az ahol az eth0 csatoló a védett, míg az eth1 csatoló az Internet SMTP MTA a küldõt elfogadta, ezt jelzi a 250 kódú válaszüze- felé néz. Az elozõ cikkhez hasonlóan itt is csak az INPUT láncon net. Ezt követi a címzett(ek) megadása, jelenleg csak egy mutatjuk be a beállításokat. Feltételezzük, hogy 2.2.x rendszer- címzettet adtunk meg. A címzettek az RCPT TO parancs(ok) mag esetén a nem SYN-es csomagokat a csomagszûrõ szabálya- paramétereiben helyezkednek el. A dolphin gép elfogadta a ink elfogadják. 2.4.x rendszermagsorozat esetén a rendszernek az címzettet. Miután a címzetteket megadtuk, a levél tartalmának ESTABLISHED állapotú csomagokat el kell fogadnia. átvitele következik. A levelet a DATA parancs vezeti be, és egészen addig tart, amíg egy sorban csak egy pont (".") SMTP karakter áll. Mint láthatjuk, a levél elsõ része a fejléc, ezt követi Az SMTP-protokoll egyike az Internet legrégibb protokolljai- a levéltörzs. A fejlécet a törzstõl egy üres sor választja el. nak, feladata a levelek továbbítása és fogadása. Az SMTP szö- A levél lezárása után látható, hogy a kiszolgáló a levelet elfo- vegalapú protokoll, ami TCP-t használ. A kiszolgáló bejegyzett gadta. Mivel a cheetah gépnek most nincs több elküldendõ kaput használ, ami a 25/tcp. Az SMTP-protokoll store & levele, a QUIT paranccsal a kapcsolat bontását kezdeményezi. forward (tárol és továbbít) alapú. Ez azt jelenti, hogy amelyik Ezután a TCP-kapcsolat lebomlik, a levéllel kapcsolatos további SMTP-kiszolgáló veszi a levelet, az vagy a felhasználó postalá- teendõk (például a felhasználó postaládájába helyezés vagy dájába helyezi, vagy tárolja és a címzett felé továbbítja. Amikor a továbbküldés) már a dolphin gép feladata. a kézbesítés sikertelen (például a címzett nem létezik, vagy a A DATA parancs után említettük, hogy a levél végét egy olyan beállított idõkorláton belül sem sikerült a levelet továbbítania), sor jelzi, ami csak egy pontot tartalmaz. Mi történik akkor, akkor a hibáról egy levelet küld a feladónak, majd a kézbesít- ha olyan levelet írunk, ahol ez szintén elõfordul? Erre látha- hetetlen levelet eldobja. A hibalevél feladója egy különleges tunk példát a 2. képen. Itt jól látható, miként oldja meg ezt a cím, a <> (azaz a cím üres). Sajnos, néhány vírus ellen véde- gondot az SMTP-protokoll. A küldõ program – amennyiben kezésnek „köszönhetõen” sokan anélkül letiltották az ilyen a sor elején pontot talál – még egy pontot szúr be elé. Így levelek fogadását, hogy a következményekbe belegondoltak a sor elején álló pont a karaktertovábbítás folyamán mindig volna. Így nemcsak a vírus által küldött leveleket dobják el, megkétszerezõdik. A vevõ-MTA a sor elején álló pont felisme- hanem az MTA-k által küldött hibaleveleket is. A store & rése után megvizsgálja, hogy sorvége következik-e (ez a levél forward mûködés miatt az egyes SMTP-kiszolgálók (szaknyel- végét jelentené), vagy más karakter található. Ha nem sorvége ven gyakran MTA-knak – Message Transfer Agentnek hívják jelet talál, a plusz pontot eltávolítja. Ennek köszönhetõ, hogy</p><p>50 Linuxvilág Szaktekintély</p><p> a címzett pontosan ugyanabban a formában kapja meg a leve- gyományos elektronikus levélben! A hamisítás ellen a legegy- let, ahogy a feladó azt megírta. szerûbb és legjobb megoldás a levelek digitális aláírása. A leg- Most nézzük meg, hogy az általános levelezési kockázatok több linuxos levelezõprogram (MUA – Mail User Agent) képes mellett milyen SMTP-re jellemzõ veszélyek leselkedhetnek még együttmûködni valamilyen fejlett titkosító programmal (pél- ránk. Az SMTP MTA-k egyedi parancsokkal bírnak ahhoz, dául gpg, pgp stb.). Napjainkban egyre nagyobb gondot jelen- hogy egy postaláda meglétét ellenõrizzék, vagy egy alias (nem tenek a szemetelõk (spammer), akik kéretlen reklámjaikkal valódi postaláda – a neki címzett levelet más címzett(ek) kapják folyamatosan bombáznak bennünket. Tökéletes megoldás sajnos nem létezik ellenük, most csak arra vonatkozóan adunk 1. néhány tippet, miként akadályozhatjuk meg, hogy a reklámo- kat a gépünkön keresztül küldjék. Az Interneten az SMTP MTA-k régi idõkben bárkitõl bárki számára elfogadtak levelet. Ezt a szemetelõk alaposan ki is használták. Manapság ez a beállítás veszélyessé vált, hiszen a szemetelõk felfedezik és reklámleveleiket az áldozat kiszolgálóján át továbbítják, ami jelentõs hálózati terhelést és tekintélyveszteséget okozhat.</p><p>3. © Kiskapu Kft. Minden jog fenntartva</p><p>2.</p><p>4.</p><p> meg) tagjait felderítsék. Ezek hasznosak lehetnek hibakeresés- hez, azonban a támadók vagy a levélszemétcím-gyûjtõk (akik az Internetrõl gyûjtik a levelezési címeket, amelyeket a szeme- telõk számára árulnak is) ugyancsak kihasználhatják. A posta- láda létezésének ellenõrzése a támadók számára lehetõvé teszi, hogy a rendszeren létezõ felhasználókat feltérképezzék. Ennek oka, hogy a felhasználói név általában megegyezik a postaláda nevével. Az alias kifejtése segítségével a támadó kiderítheti, hogy ki üzemelteti a számítógépet. Elég csak megnézni, ki Az ilyen MTA-kat a szaknyelv open relay-nek hívja. A levél- kapja a root vagy postmaster leveleit (alapszabály, hogy továbbítást csak a védett hálózat számára célszerû engedé- a root-felhasználó nem levelezik, hiszen egy levelezõügyfél lyezni, illetve azonosításhoz kell kötni. hibája végzetes következményekkel járhat a rendszer bizton- Az Internet elterjedésével megjelentek olyan kisebb cégek, akik ságára nézve). A VRFY és EXPN parancsok kihasználására mu- SMTP-alapú levéltovábbítást (számukra a POP3 vagy az IMAP4 tat példát a 3. kép. Itt a telnet parancs segítségével kapcsolód- nem jelentett megoldást) igényeltek, de nem rendelkeztek tunk a dolphin levelezõkiszolgálójára, majd kézzel adtuk ki a állandó internetkapcsolattal. Az ilyen szükséglet kielégítésére parancsokat. Ezeket a parancsokat a kiszolgálóban célszerû ki- fejlesztették ki az ETRN-protokollbõvítést, ami a TURN parancs kapcsolni. Minden korszerû MTA képes e parancsok letiltására. (az ügyfél és a kiszolgáló viszonyának megfordítása) korsze- Mint a protokollból is látható, az elektronikus levelek hamisí- rûbb és biztonságosabb változata. Amennyiben a levél hagyo- tása roppant egyszerû feladat. Soha ne bízzunk meg egy ha- mányosan nem továbbítható, az SMTP MTA várakozási sorá-</p><p> www.linuxvilag.hu 2002. április 51 Szaktekintély</p><p> ban marad, és a kiszolgáló meghatározott idõközönként ismé- érkezõ SMTP-kapcsolatokat is engedélyezni kell. Ha a külvilág- telt továbbítást kísérel meg. Az ideiglenes kapcsolattal rendel- ból POP3- vagy IMAP4-protokoll segítségével töltjük le levele- kezõ gépek számára (például telefonos kapcsolat) a továbbítási inket, szerencsés, ha a kiszolgálónk SMTP-kapuja kívülrõl nem kísérletek közötti több óra túl hosszú, a próbálkozások idejének érhetõ el. Amennyiben a gép levélfogadást és -továbbítást nem csökkentése pedig a kiszolgálóknak jelent felesleges terhelést. végez (csak leveleket küld), tanácsos, hogy az adott gépen ne Az ETRN parancs célja, hogy az ügyfélgép Internetre csatlako- fusson MTA. A levelek küldésekor a legtöbb MUA a /usr/lib/ zásakor a megadott kiszolgálókhoz fordul, és kéri õket, hogy <a href="/tags/Sendmail/" rel="tag">sendmail</a> programot elindítva továbbítja a levelet. Az MTA-nak kezdeményezzék a nekik szánt levelek azonnali továbbítását. nem feltétlenül a Sendmailnek kell lennie – kompatibilitási Erre láthatunk példát a 4. képen. Ahogy a képen is látszik, okokból szinte bármelyik MTA tartalmaz programot ezen az ügyfél (cheetah) arra kéri a kiszolgálót (dolphin), hogy a a néven. A név egyszerûen „történelmi” okokból alakult így. cheetah.home tartományra vonatkozó leveleket küldje el számá- Fontos figyelmet fordítanunk egy apróságra, amit sokan ra. A levelek továbbítása a hagyományos SMTP-protokollon, elfelednek: a levelet fogadó MTA-k sok esetben visszakap- egy független TCP-kapcsolaton át történik. Az ETRN haszná- csolódnak a küldõ auth-kapujára (más néven ident, ez latához általában a DNS-be bejegyzett név szükséges, így csak a 113/tcp kapu), amely a kapcsolatot létesítõ felhasználó az állandó IP-címû ügyfelek használhatják. kilétének megállapítására szolgál. A protokoll nagyon régi A korszerû SMTP MTA-k egyre fejlettebb módszerekkel rendel- és egyáltalán nem biztonságos. Nem biztos, hogy egy lehet- keznek: lehetõvé teszik az azonosítást, valamint a köztük levõ séges támadóra tartozna, hogy egy hálózati kapcsolatot</p><p>© Kiskapu Kft. Minden jog fenntartva csatorna titkosítását is. Az azonosítás a kapcsolódó MTA vagy kezdeményezõ program milyen felhasználóként fut. Ha felhasználó kilétének megállapítására szolgál, célja pusztán azonban az ilyen kapcsolatokat a DENY-szabály segítségével a levél továbbíthatóságának igazolása. Ez azonban semmilyen eldobjuk, a levél továbbítása elõtt a címzett MTA hosszan védelmet nem jelent a levelek hamisításával szemben. várakozhat. Ezért célszerû, hogy az auth-kapura érkezõ A levelek illetéktelen elolvasása ellen a csatorna titkosítása nem kéréseket utasítsuk el (lehetõleg TCP RST-csomaggal). tökéletes megoldás, hiszen csak az adott csatornára vonatkozik. Ezt kétféle módon tehetjük meg: vagy a csomagszûrõbõl Amennyiben a levél végcélja nem ez az MTA, a levél a követ- utasítjuk el (ez a biztosabb), de az RST-elutasítás használatára kezõ továbbítási lépésnél akár kódolatlanul is közeledhet. A levél a köztes MTA-kon és a postaládában eredeti formájában 5. található meg, tehát az így nyújtott védelem nem azonos magának a levélnek a kódolásával. A csatorna titkosításának elsõdleges célja, hogy az azonosítási adatok ne kódolatlanul kerüljenek a hálózatra. Az SMTP-levelezést nem célszerû pusztán csomagszûrés segít- ségével védeni. A legjobb módszer, ha a DMZ-ben (a DMZ – a DeMilitarized Zone határvédelmi fogalom: olyan alhálóza- tot hívunk így, amely sem védett hálózatunknak, sem az Inter- netnek nem része, lásd még Linuxvilág, 5. szám 40. oldal.) elhe- lyezzük a levelek továbbítását végzõ kiszolgálót, amely nem tartalmaz helyi kézbesítést (azaz nincsenek rajta postaládák). Az ilyen kiszolgáló célja, hogy az Internetrõl beérkezõ leveleket a cég belsõ levél kiszolgálóinak ossza szét, és a belülrõl jövõ leveleket az Internetre továbbítsa. Ezen a kiszolgálón fontos a levelek fejlécét és tartalmát is vizsgálni, így a támadások egy része (például túl hosszú a levélfejléc vagy vírusos a levél) kiszûrhetõ. Hasznos, ha az SMTP MTA elkülönítõben (jail) foglal helyet. Az elkülönítõk (jail) célja, hogy az esetlegesen bejutott támadót megakadályozza a kiszolgáló egyéb alrend- csak a 2.4.x rendszermagsorozat esetén nyílik lehetõségünk, szereinek támadásában. Ilyen környezet kialakításáról soroza- vagy meggyõzõdünk arról, hogy gépünkön nem fut az tunk késõbbi részeiben fogunk szót ejteni. auth-szolgáltatás, és az auth-kapura beérkezõ kapcsolatokat Kis cégek esetén nem mindig engedhetõ meg egy csak erre a elfogadjuk. A második megoldás azért lehet veszélyesebb, célra fenntartott gép használata. Ilyenkor az SMTP-továbbítási mert a szolgáltatás a késõbbiek során „véletlenül” (például feladatot a tûzfalra is bízhatjuk, de a beállításoknál fokozott valamelyik késõbbi csomag telepítésfüggõ csomagként gonddal kell eljárnunk. felhozza) települhet és elindulhat. A helyi postafiókokba történõ kézbesítés és egyéb felhasználói Amennyiben nem ragaszkodunk a TCP RST-elutasításhoz (így szolgáltatások (például ~/.forward jellegû állomány, ahol a a kapcsolódó gép láthatja, hogy a TCP kaput csomagszûrõ védi), levél célja megváltoztatható vagy program indítható) szinte úgy használhatjuk az ipchains REJECT akcióját is. Az alábbi semmilyen esetben sem célszerûek. A jogokat a levéltovábbítás- példabeállítással csak a védett hálóról fogadunk el leveleket. hoz az elengedhetetlen minimumra kell csökkenteni, az MTA-t pedig elkülönítõbe (jail) kell zárni. 2.2.x rendszermagsorozatnál: Ha feltételezzük, hogy a tûzfalunkon fut az SMTP MTA, a ipchains -A input -i ! eth0 -d 0.0.0.0/0 csomagszûrõben engedélyezni kell a 25/tcp kapu elérését. smtp -p tcp -j DENY Ezt a védett hálózat számára elérhetõvé kell tenni, hogy a ipchains -A input -i eth0 -d tûzfalon át SMTP-vel levelet kaphasson. tuzfal_belso_ip_cime smtp -p tcp -j ACCEPT Amennyiben a külvilágból a leveleket SMTP-protokollon át ipchains -A input -d 0.0.0.0/0 auth -p tcp kapjuk (állandó IP-címmel rendelkezünk), akkor az onnan -j REJECT</p><p>52 Linuxvilág Szaktekintély</p><p>2.4.x rendszermagsorozatnál: A jelszó nyílt elküldése (fõleg az Interneten át) nem szerencsés. iptables -A INPUT -p tcp -i ! eth0 --dport Kikerülésére több megoldás is született: az egyik az APOP smtp -j DROP parancs használata, amelyre a 6. képen láthatunk példát. Itt a iptables -A INPUT -p tcp -i eth0 -d kiszolgáló üdvözlõ üzenetében egy rejtvény található (a példá- tuzfal_belso_ip_cime --dport smtp -j ACCEPT ban ez a <1219.1014038493@cheetah.andrews> karak- iptables -A INPUT -p tcp --dport auth tersorozat). A cél, hogy erre az APOP parancsban a megfelelõ -j REJECT --reject-with tcp-reset választ adjunk. Az APOP parancsban el kell küldeni a felhasz- náló nevét, valamint a választ, ami a rejtvény és a jelszó POP3 egymás után írásából származó karaktersorozat MD5-értéke A POP3-protokoll lényege, hogy egyszerû ügyfélgépek (pél- karakterlánc formában. A válasz így tehát kiszámítható dául asztali számítógépek) számára is lehetõvé tegye a levele- (amennyiben a jelszó „netuddki”): zést (a POP3-protokoll nem támogatja levelek küldését). A levél ilyenkor SMTP-protokollon keresztül egy kiszolgálóra $ echo -n ’<1219.1014038493@cheetah.andrews> érkezik, ahol a felhasználó postaládájába kerül. A POP3-pro- netuddki’ | md5sum tokoll célja, hogy a felhasználó postaládájában levõ leveleket a396cd1609f95c6fc00822c7689df3e9 - letöltse, majd letörölje onnan. A protokoll által nyújtott szolgáltatások köre igen behatárolt, a fõ cél az egyszerû meg- Ezenkívül az IMAP4-protokollnál bevezetett többféle azonosí-</p><p> valósíthatóság volt. Aki szélesebb körû támogatást szeretne tási módszer használata is lehetséges. Ezekre az IMAP4-pro- © Kiskapu Kft. Minden jog fenntartva tokoll ismertetésekor térünk ki. A POP3-protokoll bõvítése 6. a TLS (<a href="/tags/Transport_layer/" rel="tag">Transport Layer</a> Security – az SSL utódja) használatát is lehetõvé teszi. Célja, hogy a csatorna a jelszó vagy a levél lehallgatásától, valamint az egyéb támadásoktól védve legyen. A POP3-protokoll egyszerûsége ellenére a kiszolgálómegvaló-</p><p>7.</p><p>(például mappák kezelése), az IMAP4-protokollt használja. Az 5. képen egy a POP3-ügyfél és -kiszolgáló közti jellemzõ párbeszédet mutatunk be. Ebben a példában a cheetah nevû gép a kiszolgáló (kék színnel), míg a dolphin az ügyfél (piros színnel jelölve). A kiszolgáló itt is üdvözlõ sorral fogadja az ügyfelet, minden válasz egy álla- potjelzõvel (+OK, -ERR) kezdõdik, és ezt követi az üzenet. sítások sajnos sokszor súlyos biztonsági hibákat tartalmaznak. A belépés a USER és PASS parancsokkal történt. Mint látható, Amennyiben belsõ POP3-kiszolgálót kívánunk üzemeltetni, ez esetben a felhasználó neve és jelszava minden védelem az elérhetõség körét célszerû a szükségesre korlátozni. Ne nélkül kerül továbbításra. Belépés után a STAT paranccsal feledkezzünk meg arról, hogy a cikk elején vázolt általános megnéztük, hogy hány levél vár ránk (1 levél 559 bájt hosszan). levelezési gondok a POP3-protokollt ugyanúgy érintik. A pro- Ezután a LIST parancs hatására a levelek listáját is megmu- tokoll csomagszûrése egyszerû: a kiszolgálók szabványos tatja. A sorszámozás eggyel kezdõdik, a sorszámok kiosztását 110/tcp-kapun várnak az ügyfelekre. Ezenkívül használhat- a POP3-kiszolgáló a belépéskor végzi el. Ezekután letöltjük az ják még a 995/tcp-kaput is, ami POP3S, ami SSL-es védelmet elsõ levelet, majd le is töröljük. A törlés ilyenkor még nem jelent. A POP3S szükségessége fokozatosan csökken, mivel a hajtódik végre, csak miután kilépünk (QUIT). Fontos megfi- szabványos változat is képes már TLS-t használni. gyelni, hogy a levél hogyan kerül továbbításra. Ha jobban meg- Amennyiben a belsõ ügyfélgépek szeretnék az Interneten nézzük, itt is az SMTP-protokoll esetén megismert levélvége- elhelyezett POP3-kiszolgálókat elérni, ellenõrizzük a kiszolgá- jelzés használatos. lót, valamint az ügyfélprogramot, hogy támogatja-e a titkosítást A fejlettebb POP-kiszolgálók pusztán a levél elejének letöl- (TLS vagy POP3S), illetve milyen azonosítást használ. tésére is lehetõséget adnak. Ez akkor lehet hasznos, ha mode- Az alábbi példa-beállítás lehetõvé teszi, hogy a védett gépek mes kapcsolattal rendelkezünk, és nem szeretnénk az olykor elérhessék a külsõ POP3- és POP3S-kiszolgálókat. nagyméretû levélszemeteket vagy egyéb kéretlen leveleket letölteni. Néhány ügyfél lehetõvé teszi, hogy a levélfejlécek 2.2.x rendszermagsorozatnál: letöltése után leveleinket törölhessük. Ennek használatához az ipchains -A input -i eth0 -d 0.0.0.0/0 pop3 ügyfélnek és a kiszolgálónak támogatnia kell a TOP parancsot. -p tcp -j ACCEPT</p><p> www.linuxvilag.hu 2002. április 53 Szaktekintély</p><p> ipchains -A input -i eth0 -d 0.0.0.0/0 995 ipchains -A input -i eth0 -d 0.0.0.0/0 993 -p tcp -j ACCEPT -p tcp -j ACCEPT</p><p>2.4.x rendszermagsorozatnál: 2.4.x rendszermagsorozatnál: iptables -p tcp -A INPUT -i eth0 --dport pop3 iptables -p tcp -A INPUT -i eth0 --dport imap -j ACCEPT -j ACCEPT iptables -p tcp -A INPUT -i eth0 --dport 995 iptables -p tcp -A INPUT -i eth0 --dport 993 -j ACCEPT -j ACCEPT</p><p>8. Állományok mozgatása A levelezés áttekintése után nézzük meg, miként szokták szállí- tani a különbözõ állományokat az Interneten. E szempontból fõképpen két protokoll népszerû: az FTP és a HTTP. Az általá- nos kérdésekrõl (például vírusok és trójai programok) termé- szetesen itt sem szabad megfeledkeznünk, bár kivédésükre most nem térünk ki. A HTTP protokollról és a Web veszélyeirõl késõbbi írásunkban szólunk részletesebben, most az FTP pro-</p><p>© Kiskapu Kft. Minden jog fenntartva tokollt vizsgáljuk meg.</p><p>FTP Az FTP szintén az Internet egyik régi alapprotokollja, hiszen az állományok mozgatásának szükségessége már a kezdetek kezdetén felmerült. A protokoll célja, hogy állományok mozga- tását tegye lehetõvé két számítógép között, a rendszerek eltérõ sajátosságainak figyelembevételével. Mit is értünk ez alatt? Még az olyan egyszerû dolgok, mint a szöveges állományok is IMAP4 különbözõek lehetnek a rendszerek között. A DOS/Windows- Az IMAP4-protokoll célja, hogy a felhasználó több helyrõl is alapú rendszereken a szövegállományok sorait CR-LF bájtso- kezelhesse a postaládáit. Ez a POP3-protokollal szemben nem rozat határolja, míg a Unix-alapú rendszerek csak egy LF csak a levelek letöltésére és törlésére készült. A levelek ilyen karaktert használnak a sor végének jelölésére. Léteznek olyan esetben a kiszolgálón maradnak, a felhasználó ott végezhet rendszerek is, amelyek a sorok végét egy CR karakterrel jelzik. velük mûveleteket. A protokoll csak a levelek kezelését végzi, A régebbi idõkben ennél különösebb eltérések is léteztek a a küldésre az SMTP-protokoll használható. rendszerek között, de az ilyen rendszerek az idõk folyamán A protokoll meglehetõsen bonyolult, ezért csak ízelítõt adunk háttérbe szorultak. a mûködésébõl. A TCP-kapcsolat felépítése után az ügyfelet egy Az FTP (a legtöbb protokolltól eltérõen) két független csatornát üdvözlõsor várja, amelyben a kiszolgáló által támogatott kiegé- használ. Az egyik a parancscsatorna, ahol az ügyfélprogram szítések is fel vannak sorolva. Az ügyfél ezután kérést küld a utasíthatja a kiszolgálót, a másik az adatcsatorna, ahol az állo- kiszolgálónak. Minden kérés elején egy egyedi azonosító helyez- mányok és a könyvtárlisták közlekednek. Míg a parancscsa- kedik el, ezt követi a parancs, valamint a parancshoz tartozó torna a kapcsolat ideje alatt fennmarad, addig az adatcsatorna paraméterek. A 7. képen ezek jól láthatók, valamint az is, hogy szükség esetén megnyílik, majd az állomány- vagy könyvtár- miként lehet egy IMAP-kiszolgálóra bejelentkezni. Mint a kép is lista átvitele után lebomlik. Az adatcsatorna felépítésére két mutatja, a jelszó ez esetben is kódolatlanul halad át a hálózaton, módszer létezik. Alapesetben a kiszolgáló a kezdeményezõ fél. amely komoly biztonsági hibát jelenthet. Ez ellen többféle Ekkor az ügyfél egy dinamikus TCP-kaput hoz létre, amelynek módon is védekezhetünk, az egyik lehetõség a megfelelõ címét tudatja a kiszolgálóval. A kiszolgáló a 20-as TCP-kapuról azonosítási módszer használata. A fejlettebb IMAP-kiszolgálók kapcsolódik az ügyfél megadott kapujára – ezt hívják aktív a LOGIN parancson kívül lehetõvé teszik az AUTHENTICATE módnak. A másik mód esetén a PASV parancs hatására a ki- parancs használatát, amelynek segítségével számos azonosítási szolgálóprogram egy dinamikus kaput hoz létre. A létrehozott módszer áll a rendelkezésünkre (például <a href="/tags/Kerberos_(protocol)/" rel="tag">Kerberos</a> és többféle kapu címét a válaszban megadja. Ebben az esetben az ügyfél- challenge-response azonosítás). Ezenkívül a kapcsolatot magát is gép kezdeményezi az adatcsatorna felépítését a kiszolgáló felé. védhetjük titkosítási eszközökkel: elterjedt módszer a kapcsolat Szaknyelven ezt passzív módnak hívják. A 8. képen mind az SSL-be ágyazása (IMAPS), és egyre több kiszolgáló támogatja a aktív, mind a passzív módra láthatunk példát. A /tmp alkönyv- TLS-t mint protokollbõvítést. tár listáját aktív módban töltöttük le, az alma.txt állományt Az IMAP-protokollt csomagszûrõvel védeni egyszerû, bár pedig passzív módban. Mind a PORT, mind a PASV parancsnál a protokoll összetettsége miatt a kiszolgálóprogram kiválasz- a címet az alábbi módon kell értelmezni: az elsõ négy bájt tására fokozottabban ügyelni kell. Az IMAP-kiszolgálók alap- az IP-cím, az utolsó kettõ a kapu címe két bájtra bontva. A na- esetben ügyfeleikre a 143/tcp-kapun várakoznak . Az "IMAP gyobb helyiértékû bájt szerepel elöl. A képen ezek szerint az over SSL" a 993/tcp-kaput használja. ügyfélgép a PORT paranccsal azt jelentette be, hogy a Az alábbi példa beállítás lehetõvé teszi, hogy a védett gépek 10.1.2.251:1067 TCP-kapuján vár a kiszolgáló által küldött elérhessék a külsõ IMAP4- és IMAP4S-kiszolgálókat. adatra, a PASV parancs válaszából kitalálható, hogy az ügyfélnek az adatért a 10.1.2.232:15857 TCP-kapura kell 2.2.x rendszermagsorozatnál: csatlakozni. ipchains -A input -i eth0 -d 0.0.0.0/0 imap Mint a példából is jól látható, a teljes protokoll (és benne a jel- -p tcp -j ACCEPT szó) szövegalapú, és a jelszó is nyílt szövegként kerül továbbí-</p><p>54 Linuxvilág Szaktekintély</p><p> tásra. Ez súlyosan veszélyeztetheti a rendszereink biztonságát. (jail) zárni, és amennyiben lehetséges, külön gépre elhelyezni. Az eddig említett protokollokkal (SMTP, POP3, IMAP4) szem- Az FTP beállítás a 2.2.x rendszermag esetén jelentõsen eltér ben az FTP protokoll biztonsági kiegészítése ugyan megtörtént, masquerading használatakor. Mivel masquerading használata- de nem terjedt el széles körben. Az FTP protokollal kapcsolat- kor a beállítás sokkal egyszerûbb, most csak a hagyományos ban egyéb biztonsági gondok is felmerülnek. Képzeljük el, hogy megoldást mutatjuk meg (amikor nincs szükség címfordításra). egy támadó állományt helyezhet el az FTP-kiszolgálón, és egy megtámadandó rendszer megadott kapujára (például a telnet- 2.2.x rendszermagsorozatnál: kapura) állományátvitelt kezdeményez. Amennyiben a támadó ipchains -A input -i eth0 -d 0.0.0.0/0 ftp az állományt megfelelõen állítja össze, úgy az „állományátvitel” -p tcp -j ACCEPT leple alatt be tud jelentkezni az adott gépre, és parancsokat tud kiadni, hiába nem lenne képes közvetlenül az adott szolgálta- amennyiben a passzív módot szeretnénk engedélyezni: tásra csatlakozni. Ezt a támadási formát a „FTP bounce attack” ipchains -A input -i eth0 -s 0.0.0.0/0 1024: névre keresztelték. Megakadályozására az FTP-kiszolgálók aktív -s 0.0.0.0/0 1024: -p tcp -j ACCEPT mód esetén megkövetelik, hogy a célcím a parancscsatorna for- ráscíme, és a célkapu 1023 feletti legyen. Egy másik lehetséges amennyiben az aktív módot szeretnénk engedélyezni: támadási forma az állományok ellopása. Ezt passzív módú ipchains -A input -i eth1 -s 0.0.0.0/0 20 kapcsolatok esetén lehet kihasználni. Ilyenkor a támadó az FTP- -d 0.0.0.0/0 1024: -p tcp -j ACCEPT</p><p> kiszolgáló dinamikus kapuira próbál kapcsolódni. Amennyiben © Kiskapu Kft. Minden jog fenntartva a kiszolgáló a passzív átvitel során folyamatosan növekvõ kapu- 2.4.x rendszermagsorozatnál: kat használ, a támadó a pásztázandó tartományt egy könnyen iptables -A INPUT -p tcp -i eth0 --dport ftp végigpróbálható kis szeletre tudja korlátozni. Ebben az esetben -j ACCEPT a támadó más felhasználók állományaihoz is hozzáférhet. iptables -A INPUT -p tcp -i eth0 -m state Az adatkapcsolat forráscíme a parancscsatorna forráscímével --state RELATED -j ACCEPT ugyanebben az esetben is vizsgálható lenne, de ezt az FTP- kiszolgálók nem mindegyike teszi meg. Mindkét galibát a külön Áttekintés adatcsatorna jelenléte okozza, ám az ezáltal okozott nehézségek Az elõzõ fejezetekben néhány gyakran használt internetes sora ezzel még nem ért véget. Egy FTP-ügyfelet vagy -kiszolgá- protokoll tulajdonságaival, valamint veszélyeivel ismerkedtünk lót hagyományos csomagszûrõvel védeni rémálom. Amennyi- meg. Nem szabad azonban elfelejteni, hogy a programokban ben FTP-ügyfeleket kell védeni, megfelelõ megoldás lehet a lévõ megvalósítási hibák külön veszélyt jelentenek. E progra- passzív mód, hiszen ilyenkor mind a parancscsatorna, mind az mok sajnos általában rendszergazdai jogosultságokkal futnak, adatcsatorna kimenõ kapcsolat. Ne felejtsük el azonban, hogy hogy 1024 alatti kaput foglalhassanak maguknak, a felhasználót az adatcsatornának mind a forrás-, mind a célkapuja dinamikus, azonosíthassák a rendszer adatbázisaiból, vagy átválthassanak a így szinte tetszõleges TCP-kapcsolatot ki kell engednünk (min- felhasználó jogaira. Emiatt egy a futtatásának korai állapotban den kapcsolatot, amelynek forrás- és célkapuja 1024 feletti). sikeresen megtámadott program (mielõtt még rendszergazdai Az aktív mód engedélyezése még veszélyesebb. Ebben az eset- jogosultságait eldobhatta volna) igen súlyosan veszélyezteti ben a kívülrõl érkezõ csomagokat be kell engedni, ha forráska- a rendszer egészének biztonságát. A rendszergazda ellen még pujuk 20-as és célkapujuk 1023-nál nagyobb. Ne feledjük, hogy az elkülönítõk (jail) sem mindig jelentenek tökéletes védelmet. ebben a tartományban helyezkednek el az olyan programok, mint az NFS-kiszolgáló vagy az X-kiszolgáló. Ennek hatására A fenti protokollokkal kapcsolatban érdemes elolvasni a 30. CD-n a támadó a 20-as forráskapuról kapcsolatot képes kezdemé- (Magazin/Konnyu) található irodalomjegyzékben lévõ írásokat. nyezni többek között ezekre az alkalmazásokra is. Állapottartó csomagszûrõkkel (SPF – Stateful Packet Filter) Hivatkozások a helyzet sokat javult, hiszen ezek figyelik a parancscsatornát, [1.] Linuxvilág: 2002. 1–2 szám, 50. oldal – Könnyû álmok: és az adatcsatorna létesítésére vonatkozó szabályokat maguk A protokollok (11. rész) helyezik és távolítják el. Szerencsére a 2.2-es Linux-rendszer- [2.] Linuxvilág: 2001. 8. szám, 56. oldal – Könnyû álmok: magsorozat (masquerading) része ilyen, 2.4-es rendszermag Hálózati forgalom vizsgálata (8. rész) esetén pedig a Netfilter hagyományos forgalomirányítás esetén is képes a kezelésére. Amennyiben az FTP protokollt Linux-tûzfalunk csomagszûrõjével szeretnénk védeni, ne Borbély Zoltán (bozo@andrews.hu), felejtsük el betölteni az FTP-protokollt támogató modulokat okleveles mérnök-informatikus. (2.2-es sorozat esetén az ip_masq_ftp.o, 2.4-es sorozat Fõként Linuxon futó számítógépes esetén a ip_conntrack_ftp.o, és NAT használata esetén biztonsági rendszerek tervezésével és ip_nat_ftp.o modulokat). fejlesztésével foglalkozik. Az SPF-tûzfalak sem mindig védenek meg azonban az FTP A 1.0.9-es rendszermag ideje óta protokoll hibáitól. Az FTP protokoll kellõ védelme csak alkal- linuxozik. Szabadidejét barátaival tölti. mazásszintû tûzfalakkal lehetséges. Amennyiben csak anonim FTP-t kívánunk használni (eléggé gyakori eset), célszerû lehet Mátó Péter (atya@andrews.hu), egy FTP proxy használata, például a Squid gyorstáré. A Squid informatikus mérnök és tanár. (lásd még Linuxvilág 2–3. szám, 74. oldal) webböngészõvel Biztonsági rendszerek ellenõrzésével egyszerûen használható, valamint az FTP- mellett a HTTP pro- és telepítésével, valamint oktatással tokollt is támogatja. Külön elõnye, hogy gyorstárként is mûkö- foglalkozik. 1995-ben találkozott dik, így használatával értékes hálózati sávszélességet nyerhe- elõször linuxos rendszerrel. Ha teheti, tünk. Az ilyen nagyméretû programokat célszerû elkülönítõbe kirándul vagy olvas.</p><p> www.linuxvilag.hu 2002. április 55 Szaktekintély</p><p>Ablakkezelõk (3. rész)</p><p>Az ablakkezelõkrõl szóló cikksorozatunk harmadik részében két igen kedvelt programról és változataikról lesz szó.</p><p> felhasználók többsége gyorsaságáért és üzembiztossá- 1. A gáért kedveli az IceWM-et. Tapasztalataim alapján elá- rulhatom, hogy minden változata hibátlanul kezeli a KDE, a Gnome és a rendszermenü által indítható programokat. Ezt csak azért emeltem ki, mert már elõfordult olyan eset is (fõ- leg a KDE programjaival és az OpenGL-lel kapcsolatban), hogy valamely ablakkezelõ rendszer bizonyos alkalmazásokat hibásan</p><p>© Kiskapu Kft. Minden jog fenntartva kezelt. Mint az ablakkezelõkrõl szóló sorozatunk elsõ részében jeleztem, a Debian alatt elérhetõ ablakkezelõkrõl kívánok írni. A Debian alatt az alábbi IceWM-függõ csomagok telepíthetõk:</p><p>• fspanel: ez például a KDE-tálca egyszerûsített változata. Alkalmas a programok megjelenítésének kezelésére, illetve a munkaterületek közötti váltásra; • grun: GTK-alapú programindító párbeszédablak; • icewm-lite: az ablakkezelõ egyszerûsített változata; • icewm: maga az ablakkezelõ; • icewm-common: az IceWM-változatokhoz szükséges közös fájlok; 2. • icewm-gnome: a Gnome-felület elemeinek grafikus megjelenését átvevõ IceWM-változat; • dfm: egyszerû fájlkezelõ; • IceConf: az IceWM grafikus beállítóeszköze; • iceme: grafikus menüszerkesztõ program az IceWM-hez; • IcePref: egy másik beállítóeszköz az IceWM-hez; • icewm-themes: témafájlok az Ice Window Managerhez.</p><p>Mint az elõbbi listában is látható, az IceWM három változatban telepíthetõ. Az 1. képen az IceWM alapváltozata látható. A lite változat annyiban tér el tõle, hogy nincs benne tálca és start- menü. A Gnome-változatban pedig a Gnome-beállításokat átvéve a keret formája, illetve az ablakok kitöltése is a Gnome alatt láthatóval azonos. Az IceConf és IcePref eszközök az ablakkezelõ beállításait teszik lehetõvé. Az IcePref sokkal több beállításra ad lehetõsé- get, mint az IceWM Configurator, de az utóbbi olyan lehetõ- KÖZÉPSÕ GOMB dupla kattintás: az ablakot a fejlécbe rejti, ségeket is tartalmaz, amelyeket a másik nem. illetve lenyitja. Ha nem grafikus bejelentkezést használunk, az IceWM • Tálcaparancsok: a $HOME/.Xclients fájlba a következõ sort kell beírni: BAL GOMB: aktiválja a kiválasztott ablakot tartalmazó munkaterületet; az ablak méretét az eredeti méretre állítja exec icewm vissza vagy a legkisebbre veszi. SHIFT + balgombos kattintás: az ablakot a jelenlegi IceWM ablakkezelése egérrel munkaterületre teszi át. Bal gomb: ablak kiválasztása és elõtérbe hozása, az ablakkeretre CONTROL + balgombos kattintás: az ablakot elrejti vagy kattinva átméretezésre nyílik lehetõség. visszaállítja. Jobb gomb: ablak mozgatása, kattintáskor a helyi menü KÖZÉPSÕ GOMB: az ablakot elõtérbe, illetve háttérbe teszi megjelenítése SHIFT + középsõ gombos kattintás: az ablakot a jelenlegi munkaterületre teszi át. • Fejlécparancsok egérhasználatkor: CONTROL + középsõ gombos kattintás: rejti az ablakot Bármely gomb: mozgatja az ablakot. JOBBGOMBOS kattintás: megnyitja a helyi menüt. ALT + BAL gomb: az ablakot a háttérbe küldi. • A fontosabb parancssori kapcsolók: BAL GOMBOS dupla kattintás: az ablak méretét teljes mére- -c CONF_fÆjl: beállítja, hogy melyik beállításokat tûvé növeli vagy visszaállítja. tartalmazó fájlt használja.</p><p>56 Linuxvilág Szaktekintély</p><p>-v: a felület változatát jeleníti meg. után megjelenõ menüben nyílik lehetõségünk az Enlighten- -n: nem használja a beállításokat tartalmazó fájlt, csak ment saját kis alkalmazásainak elindítására (3. kép). Az így a beépített beállításokat. megjelenített alkalmazások (némelyik ablaka esetenként nem -t téma: a megadott témát fogja használni. nagyobb, mint 1x1 cm) igen sok kisegítõ lehetõséget tartalmaz- • Témák kezelése: nak. Bemutatásuk azonban kitöltené az ablakkezelõkrõl szóló A kiválasztott témák az ablakkezelõ betûkészletét, a felhasz- sorozat e részét. Fontos megemlítenem, hogy ezek a kis abla- nált színeit, az ablak keretének méreteit és a felhasznált kok a Lapozó-hoz hasonlóan a munkaterületekkel együtt képeket egyszerre adják meg. A témafájlok a libpath/themes mozognak – mindig a pillanatnyilag használt asztalra. Kilépés- könyvtárban találhatók. Ezen könyvtárak tartalmazzák a kor, majd az újbóli belépéskor – nem tudom, miért – ezen téma- és a hozzájuk szükséges .xpm fájlokat. A kiválasztott ablakok egy része nem nyílik meg magától, a többség azonban téma a Theme beállítási értékkel, vagy a -t parancssori rendesen megnyílt. kapcsolóval adható meg a preferences fájlban. Az indításkor megjelenõ asztalon egy pagert (nevezzük lapo- zónak), illetve egy iconboxot (ikondobozt) találunk, valamint Theme = "nice/default.theme" a képernyõ felsõ szélén a dragbart (munkaterület-váltót). A Enlightenment-felület lehetõvé teszi az ablakeseményekhez Érdekes témákat tölthetünk le a  http://icewm.themes.org/ rendelt hangok lejátszását. Ehhez az esound eszközt kell tele- címrõl. píteni. Alapesetben a telepítés során az esound a számítógép</p><p> indításakor démonként elindul. Ha ez valamiért nem így tör- © Kiskapu Kft. Minden jog fenntartva Enlightenment ténik, az esd & parancsot kell kiadnunk, például a .Xinitrc Azt hiszem, még mindig ez az egyik legszebb ablakkezelõ. Pár fájlból az Enlightenment indítása elõtt. éve az volt vele a fõ gond, hogy az akkori gépek erõforrásait nem kímélve a grafikus munkaállomást nagyon lelassíthatta. A felület felépítése Ez a jelenlegi, viszonylag erõsebb gépeken már rég nem okoz Az Enlightenment-felület felépítése a következõ: megkülön- gondot. Esetében szinte minden grafikus felületen állítható be. böztetünk munkaterületeket és a hozzájuk kapcsolódó egyes A felületi beállításokat az egér jobb gombjával az asztalra tör- asztalokat. Ezt a megkülönböztetést (fvwm, afterstep) termé- ténõ kattintás után megjelenõ menü elemeivel végezhetjük el. szetesen számos más ablakkezelõ is használja. A különbség A 2. képen látható néhány alkalmazás, amely ebbõl a menübõl hozzájuk képest csupán annyi, hogy itt a Többasztalos beál- indítható el. Az alkalmazásmenüt ugyanitt az egér bal gomb- lítás-sal egyszerre több munkaterületet meg tudunk jeleníteni jával érhetjük el. A középsõ gomb használatával egy újabb (4. kép). A Többasztal beállításai ablakban adhatjuk meg a alkalmazásmenü jelenik meg néhány beállítással kiegészítve munkaterületek számát, a Virtuális asztalok beállítása-inál (például itt válthatunk témát). A középsõ gombra kattintás pedig az egy munkaterülten elérhetõ asztalok számát és egy-</p><p>A képernyõkímélõ beállítása</p><p>Az elérhetõ képernyõkímélõk próbája és használatának xscreensaver-command -exit engedélyezése, továbbá a képernyõkímélõ-indítás és a xscreensaver & kapcsolódó jelszóvédelem beállításai. Ilyenkor az xscreensaver-t a rendszergazda futtatja, ezért a feloldáshoz az õ jelszava szükséges. Beállítások b, az XscreenSaver újraindítása, ha valaki belép: A beállítások két helyen tárolódnak: ha az elõbbi beállítások már megvannak, az • az egyik X-forrás adatbázisában, amelyek az /usr/lib/X11/xdm/Xsession fájl elejére az alábbi sorokat alapbeállításokat tartalmazzák, kell beírnunk: • és mint említettem, a helyi beállításokat a felhasználók saját könyvtárában az .xscreensaver fájl xscreensaver-command -exit tartalmazza. xscreensaver & A beállítások legegyszerûbb eszköze az xscreensaver- demo. Az itt elvégzett beállítások csak akkor lépnek Ekkor a felhasználó belépésekor az XscreenSaver életbe, ha a beállításokat tartalmazó fájl újra beolvasásra újraindul, és a felhasználó beállításait olvassa be. kerül (File/Restart Daemon). Ez a következõ parancsot hajtatja végre: 2. Az XscreenSaver indítása egyénileg. Ez esetben a szükséges indítóparancsot (~/.xsession) xscreensaver-command -restart a helyi X-et indító fájlba kell beleírnunk:</p><p>Az XscreenSaver indítása két helyrõl lehetséges. xscreensaver-command -exit 1. Az XscreenSaver indítása központilag (rendszergazdai xscreensaver & jogosultság szükséges hozzá): a, az XscreenSaver indítása anélkül, hogy bárki is beje- Elõfordulhat, hogy az ablakkezelõ saját indítóeszközzel lentkezett volna. Az /usr/lib/X11/xdm/Xsetup fájlba a rendelkezik, ilyenkor ezeket a beállításokat a saját következõ sorokat írjuk be: indítófájlába is beírhatjuk (a WindowMaker autoexec xhost +localhost fájlja, ezt használom most).</p><p> www.linuxvilag.hu 2002. április 57 Szaktekintély</p><p>3. 4. © Kiskapu Kft. Minden jog fenntartva e16keyedit – gyorsbillentyûszerkesztõ az Enlightenmenthez e16menuedit – az Enlightenment menüszerkesztõje enlightenment – az Enlightenment ablakkezelõje enlightenment-data – az Enlightenment adatfájljai enlightenment-theme-bluesteel – a Hunchback Enlightenment témája enlightenment-theme-brushedmetal – zenei fájlok a BrushedMEtal-Tigert Enlightenment témához enlightenment-theme-ganymede – a cK Enlightenment témája enlightenment-theme-shinymetal – a Raster Enlighten- ment témája eterm -- Enlightenment – a saját terminálemulátora A fentieken kívül még szükség lehet az esoundra és a kapcso- lódó fájlaira, amennyiben az ablakeseményekhez hangot sze- retenénk rendelni. Egyetlen dolog zavart: a megjelenített betûk mérete és kódo- lása. Ezen úgy segítettem, hogy megnéztem, melyik téma betû- készlete jeleníti meg a betûkészleteket olyan módon, ahogyan én szeretném, majd rendszergazdaként a /usr/share/ enlightenment/themes/Jo_Tema_neve/ttfonts könyvtárban lévõ összes .ttf fájlt átmásoltam a használni kívánt téma azonos könyvtárába, és az ott lévõ betûkészletet felülírat- máshoz való elhelyezkedésüket. Az elsõ munkaterületen a tam. Én úgy tudom, hogy a betûméret megváltoztatása csak munkaterület-váltó segítségével egyszerre több munkaterületet a beállításokat tartalmazó fájlokban módosítható (a font szóra is meg bírunk jeleníteni. keresve), de ha valaki más, egyszerûbb megoldást tud, nagyon megköszönöm a segítségét! Telepítés Az Enlightenment forrásból történõ telepítése során van Összegzés néhány telepítési lehetõség, amit érdemes megemlíteni: A fentiekben tárgyalt ablakkezelõk nagyon kellemes és meg- --cache-file=F`JL A gyorstárelérésre a megadott FÁJL-t bízható felületet kínálnak munkavégzéshez, játékhoz, és más fogja használni, melynek eredményét a ./config.cache fájlba bokros teendõinkhez. Az ablakkezelõkrõl szóló következõ és menti. A FÁJL értékét /dev/null-ra állítva a gyorstár használatát egyben utolsó részben az AfterSteppet és a WindowMakert a configure használatakor nem engedélyezzük. mutatom be. A --help a configure parancs lehetõségeit jeleníti meg. A --quiet, --silent, -q a fordítás során nem jeleníti meg Forrás: cikkemhez az IceWM, az Enlightenment és a a make parancs visszajelzéseit. XscreenSaver leírásait használtam fel. A --srcdir=KONYVTAR a fordítónak az Enlightenment Tóth Béla forráskódjának helyét adja meg. Ezt általában a configure (tothb1@freemail.hu) parancs önmûködõen is meg tudja tenni. Nõs, két gyermek büszke atyja. Dolgozott föld- A --version kiírja a configure által használt Autoconf mérõként, majd térinformatikus szakmérnöki változatszámát és kilép. képesítést szerzett. Egyaránt otthonosan mo- Debian esetében a szükséges csomagok az alábbiak (kapcsoló- zog a CAD és a térinformatikai programokban, dó lib-ek nélkül): valamint a DOS- és Windows-alkalmazásokban. epplets – kis alkalmazások (Eppletek) az Enlightenmenthez Legkedveltebb elfoglaltsága már két és fél éve a Linux.</p><p>58 Linuxvilág Szaktekintély</p><p>Gyakorlati fenyegetettségelemzés és kockázatkezelés Attól, hogy fenyegetettségelemzést végzünk, még nem fogunk nyugodtabban aludni, de segít abban, hogy felébredve helyesen cselekedjünk.</p><p> ki már régebb óta olvassa ezt a rovatot, tapasztalhatta, tökéletes mûködése az ABC Társaság napi üzletmenetében hogy szeretem, ha a mûszaki megoldásokhoz, esz- igen fontos szerepet tölt be. Más szavakkal az ABC Társaság- közökhöz és technikákhoz elegendõ háttéradat áll nak meg kell védenie SMTP-átjárója sértetlenségét, hogy az Arendelkezésre. e-mail szolgáltatása ne szakadhasson meg. A biztonság hatalmas témakör, és az egyetlen lehetõség, hogy Másodszor ez az SMTP-átjáró tárolja a rajta keresztül érkezõ eligazodjunk a változatok, módszerek és fekete mágia tengeré- leveleket. Így ha az átjáró rendszere megsérül, a bizalmas ben, az, ha megpróbáljuk megtalálni a közös pontokat ebben levelekbe beleolvashatnak, illetve fontos adatokhoz férhetnek</p><p> a biztonsági kirakójátékban. hozzá. Az SMTP-átjáró védelme tehát az ABC társaság e-mail © Kiskapu Kft. Minden jog fenntartva Az egyetlen darabka, amely minden biztonsági feladatban adatainak bizalmasságának és sértetlenségének megõrzésében közös, a fenyegetettség. Fenyegetettség nélkül ugyanis nincs is fontos szerepet játszik. értelme a biztonsági feladatokról beszélni. Csakhogy vajon Az elsõ lépés minden fenyegetettségelemzés esetében tehát mennyi idõt töltünk a fenyegetettség felmérésével és értéke- a védendõ vagyonértékek, illetve a vagyonértékek védendõ lésével ahhoz képest, hogy mennyit szánunk a biztonsági meg- minõségének, tulajdonságainak a meghatározása. oldások telepítésére és (remélhetõleg) karbantartására? Valószí- nûleg igen keveset. Még ha így is van, ne keseredjünk el na- Sebezhetõségek gyon, hiszen még a biztonsági szaktanácsadók is túl keveset A második lépés az érték, illetve a vele közvetlen kapcsolatban foglalkoznak a fenyegetettségelemzéssel. álló rendszerek ismert és kézenfekvõ sebezhetõ pontjainak Természetesen, nem azt mondom, hogy órákat töltsünk el vele. meghatározása. Természetesen az ismert gyengeségekre sokkal Álláspontom az, hogy eszményi esetben csak kritikus rendsze- könnyebb megoldást találni, mint a tisztán elképzeléseken reink sértetlenségét és elérhetõségeit kell rendszerezetten vé- alapulókra (legalábbis így gondolnánk, mégis jelentõs számú gigböngészni; végül a kevésbé szükséges, de fontos rendszerek számítógép fut az Interneten alapértelmezett, változatlan ope- fenyegetettségét is legalább egyszer szervezetten végig kell rációs rendszerrel). Ennek ellenére mindkét fajtát meg kell gondolni. Vagyis nekünk van valamink (vagyon), a Rosszfiúk próbálnunk beazonosítani. pedig szeretnék ezt a valamit. Az ismert gyengeségek programjavítások használatával, körül- Mielõtt elmerülnénk a fenyegetettségelemzés rejtelmeiben, tekintõ beállítással, vagy a terjesztõ hirdetõtábláin és a nyilvá- elõbb érdemes lefektetnünk néhány fontos alapelvet és meg- nos fórumokon megjelenõ utasítások betartásával könnyen határozást. Elõször is, mit jelent egyáltalán a fenyegetettség? javíthatók. Azok a gondok, amelyek ily módon nem enyhíthe- Nagyon egyszerûen: a fenyegetettség a vagyon, a sérülékeny- tõk, további vizsgálatot és mérlegelést igényelnek, és vagy külsõ ség és a támadó együttese. módszerekkel védhetõk (például tûzfallal), vagy el kell õket A vagyon bármi lehet, amit csak meg szeretnénk óvni. Adatbiz- fogadni, mint az adott rendszer tevékenységének velejáróját. tonsági értelemben a vagyon legtöbbször adat, számítógépes Az ismeretlen sérülékenységeket meghatározás szerint általáno- rendszer vagy számítógépes hálózat. Ezen „vagyontárgyak” san kell kezelni, de a jelentõségük ettõl még cseppet sem csökken. sértetlenségét (adatok esetében a bizalmasságukat) szeretnénk Ezt a legkönnyebben egy példa segítségével tudjuk bemutatni. megõrizni. Térjünk vissza ismét az ABC Társasághoz. A levelezés rendszer- A sértetlenség a jogosulatlan változtatások hiányát jelenti. gazdája a Sendmailt szereti futtatni az ABC Társaság SMTP- A jogosulatlan változtatások eredményeképpen a számítógép átjáróján, mivel jól ért a Sendmail beállításaihoz, és eddig jól vagy az adat sértetlensége megszûnik. Ez jelentheti azt, hogy megfelelt a céloknak. Ugyanakkor nem táplál ábrándokat a hibás adatot szúrnak a valós adatok közé, a törvényes adatok Sendmail biztonsági kérdéseit illetõen; folyamatosan figyeli egy részét törlik vagy megváltoztatják. Számítógépek esetében a biztonsági hirdetéseket, és minden javítást, frissítést azonnal azt takarja, hogy a támadó a beállításfájlokat úgy változtatja felrak, amint megjelenik. Az ABC Társaság így az ismert meg, hogy a jogosulatlan felhasználók a rendszert képesek Sendmail-kiskapuk ellen elég jól védett. lesznek helytelen módon használni. Az ABC igazán menõ e-mail rendszergazdája azonban nem Adataink legalább egy részének a bizalmasságát is meg szeret- elégszik meg ennyivel. Igaz, biztos benne, hogy a Sendmail már nénk õrizni. Ez valamelyest más feladat, mint a sértetlenség, biztonságosan javított és beállított, de azt is tudja, hogy koráb- hiszen a bizalmasság passzív módon is károsítható. Hogy valaki ban voltak veremtúlcsordulási kiskapuk, amelyek gondokat megváltoztatja az adatainkat, könnyen felfedezhetjük és kivizs- okoztak, különösen akkor, ha a Sendmailt rendszergazdaként gálhatjuk – egyszerûen az eredeti és a károsított adat összeha- futtatták (rendszergazdaként ugyanis a futó folyamat eltérítése sonlításával. Amennyiben azonban a támadó adatainkat jogo- a rendszergazdai jogosultság megszerzésével egyenértékû). sulatlanul másolja le (azaz ellopja), a felderítés és a kárfelmérés Ezért aztán a Sendmailt chroot jail alatt futtatja (a teljes sokkal nehezebb, hiszen az adat tulajdonképpen nem változott. rendszer egy alhalmazán) root felhasználó helyett mail- Tegyük fel, hogy ABC Társaság rendelkezik egy SMTP-átjáró- felhasználóként, és ennek megfelelõen állítja be a Sendmail val, amely a bejövõ leveleket dolgozza fel. Ez az SMTP-átjáró SafeFileEnvironment és RunAsUser feldolgozási kapcso- két vagyonértéket képvisel. Az elsõ maga a kiszolgáló, melynek lóit. Ezáltal az SMTP-átjáró többszintû védelemre is szert tesz,</p><p> www.linuxvilag.hu 2002. április 59 Szaktekintély</p><p> számítani az SMTP-átjárójuk elleni DoS (denial of service) támadásokra vonatko- Leírás Becsült ár zó ALE-értéket. Tegyük fel továbbá, hogy Helyreállítás: megbeszélés egy külsõ céggel (4 óra×150 dollár) 600 dollár az e-mail szolgáltatás kulcsfontosságú az üzletmenethez; mind a tíz alkalmazottjuk Kiesõ termelés (2 óra per 10 munkás x átlagosan 17.5 dollár/óra) 350 dollár e-mail alapján számláz az ügyfeleknek, FAX-papír, hõalapú (thermal) (1 tekercs 16 dollár) 16 dollár így ad munkabecsléseket a jövendõbeli vásárlóknak, illetve más hasonlóan fontos Távolsági FAX-kapcsolatok (20 x átl. 2 perc×0,25 dollár/perc) 10 dollár üzleti kapcsolattartást folytat. Ugyanak- Összes SLE egynapos SMTP-kiszolgáló elleni DOS-támadás esetén 950 dollár kor a hálózatkezelés nem éppen a szak- területük, így egy helyi tanácsadócégre bízzák az levelezõkiszolgáló kezelését. 1. táblázat Részletezett egyedi várható veszteség A korábbi, átlagosan egynapos kimara- dások a termelékenységet körülbelül az és már nemcsak az ismert gyenge pontok ellen védett, hanem egynegyedével csökkentették, amely visszaszámolva napi két bizonyos ismeretlen kiskapuk ellen is, amelyek ugyan károsít- órát ad ki alkalmazottanként. Tartalékrendszerük egy faxgép, hatják a Sendmailt, de egyúttal remélhetõleg nem okozzák a de mivel székhelyük egy kisvárosban található, ez távolsági</p><p>© Kiskapu Kft. Minden jog fenntartva teljes rendszer károsodását. hívásokkal jár és meglehetõsen drága. Lehet, hogy kicsit talán bonyolultabban hangzik, mint amilyen Támadók valójában; táblázatban kifejezve azonban máris sokkal kevésbé A fenyegetettség-kirakójáték utolsó darabkája, amit megvizs- elrettentõ (lásd az 1. táblázatot). gálunk, mielõtt a fenyegetettségelemzés rejtelmeibe belevet- A következõ lépés az adott gond várható éves elõfordulásának nénk magunkat, maga a támadó. A támadók, vagy ahogy néha (Expected Annual Occurrence avagy EAO) megbecslése. Ezt nevezik õket, a „mûvészek” (actors), igen változatosak lehet- számként gond per év hányadosként szokás kifejezni. Példán- nek, a várhatóaktól (elégedetlen exalkalmazottak, csintalan kat folytatva tegyük fel, hogy a Mommenpop Kft. ez idáig még fiatalok) kezdve egészen a „különös, de igaz” (kábítószerszö- semmiféle kémkedésnek vagy más, a versenytársak által elkö- vetségek, kormányzati ügynökségek, ipari kémek) típusokig. vetett támadásnak nem volt célpontja, és legjobb tudásunk Ha a lehetséges támadókat számba vesszük, kiderül, hogy szerint a levelezõkiszolgáló elleni DoS-támadások legvalószí- szinte minden típusuk elõfordulhat; feladatunk ilyenkor, hogy nûbb forrásai vandálok, gengszterek, zûrös emberek és más megbecsüljük, vajon melyik támadó a legvalószínûbb. véletlenszerû idegenek lehetnek. Jó ökölszabály ilyen esetekre, ha számba vesszük, milyen táma- Elfogadhatónak tûnik az a becslés, miszerint ilyen támadás két- dók ellen tervezték is a fizikai biztonsági rendszereket, majd vagy háromévente körülbelül egyszer fordul elõ; de legyünk azokat a földrajzi korlátoknak megfelelõen módosítjuk. A két óvatosak és mondjunk kettõt. Kétévente egy támadás átlagosan dolog között párhuzam vonható: ha költséges zárat szerelünk 0,5 gondot jelent évente, azaz az EAO 0.5. Illesszük be ezt az fel a számítógépterem ajtajára, senki sem kérdezi meg tõled, értéket az ALE-képletbe: hogy „tényleg azt hiszed, a karbantartók ellopják ezeket a gépeket, ha hazamegyünk?” 950 ($/problØma) 0.5 (problØma/Øv) = 475 ($/Øv). A számítógépes biztonság semmiben sem különbözik ettõl. Gyak- ran hallani olyasmit, hogy „az én adataim érdektelenek; senki A Mommenpop SMTP-átjáró elleni DoS-támadások ALE-értéke sem akarhatja feltörni a rendszeremet”, pedig nincs más válasz- tehát 475 dollár évente. tásunk, mint feltételezni, hogy ha valamilyen támadás ellen Most tegyük fel, hogy valamilyen terjesztõ megpróbálja rábe- sérülékenyek vagyunk, azt valaki ki fogja használni, még akkor szélni a céget saját fejlesztésû Linux-tûzfalának kereskedelmi is, ha el sem tudjuk képzelni, vajon miért teszi. Nyilvánvalóan tûzfalra való cseréjére; ez a termék beépített SMTP-proxyval nem az a fontos, hogy megértsük a támadó észjárását, hanem rendelkezik, ami segít csökkenteni, de nem szünteti meg az hogy beazonosítsuk és mérsékeljük a támadható gyengeségeket. SMTP-kapu DoS-támadásokkal szembeni érzékenységét. Te- gyük fel, hogy ez a termék 5000 dollárba kerül. Még ha a költ- Egyszerû kockázatelemzés: ALE-k ségeket három évre osztjuk is el (10% kamattal számolva ez Miután összeállítottuk az értékek és a gyenge pontok listáját évente 2166 dollárt tesz ki), egy ilyen tûzfalfejlesztés nem tûnik (és végiggondoltuk a lehetséges támadókat), a következõ lépés igazán jogosnak egyetlen kockázatforrás kiküszöbölésére. a köztük lévõ kapcsolat feltárása, illetve a mennyiséghatározás. A 2. táblázat a képzeletbeli cégünk SMTP-átjárójának fenyege- Egy egyszerû módszer, amivel lemérhetjük a kockázat mérté- tettségelemzését mutatja be kicsit teljesebb formában, ahol két, az éves várható veszteség (annualized loss expectancies, nemcsak az ALE-eket, hanem számos más, a vagyonértékeinket azaz ALE-k) kiszámítása. célzó számértéket is bemutatunk, illetve különféle biztonsági Az összes gyenge pontot minden egyes értékkel párosítva célokat is láthatunk. Ebben a példaelemzésben a vásárlói ada- elõbb megbecsüljük az adott érték pótlásának vagy helyreál- tok bizalmassága minõsült a legfontosabb kockázati értéknek; lításának költségét (egyszeri veszteséggel számolva), majd ha ugyanis ezeket fürkészik ki vagy ezekbe nyúlnak bele, a cég megállapítjuk a gyenge pont várható éves elõfordulási gyako- könnyen elveszítheti a vásárlóit (hiszen megrendül a Mom- riságát. Ezekután a kettõt összeszorozva kapjuk meg a sérülé- menpoppal szembeni bizalom), ami végsõsoron a jövedelem kenység éves várható veszteségét. megcsappanását jelenti. E veszteségek különbözõ jelentõségét Más szavakkal: minden gyenge ponthoz kiszámítjuk a követ- mutatják az egyes gyenge pontokhoz tartozó egyszeri várható kezõ értéket: egyszeri várható veszteség (költség) × (várható) veszteségábrák. Hasonlóképpen a különféle becsült éves éves gyakoriság = éves várható veszteség. elõfordulási mennyiségek az egyes gyenge pontok tényleges Például egy kisvállalkozás, a Mommenpop Kft. ki szeretné kihasználásának relatív valószínûségét mutatják.</p><p>60 Linuxvilág Szaktekintély</p><p>Érték Biztonsági cél Sérülékenység SLE$/konfliktus ARO konfliktus/év ALE$/év Sendmail-hibák 2400 dollár 0,5 1200 dollár SMTP-átjáró Rendszerintegritás Egyéb rendszerhibák 2400 dollár 0,5 1200 dollár Rendelkezésre állás DOS-támadás 950 dollár 0,5 475 dollár Kémkedés az Interneten 50 000 dollár 2 100 000 dollár Adatbizalmasság vagy az ISP-nél SMTP-átjáró feltörése 50 000 dollár 0,5 25000 dollár Bizalmas e-mail Rossz szándékú belsõs 150 000 dollár 0,33 49500 dollár (ügyfél Hamisított levél 10 000$ dollár 1 10 000 dollár számlaadat) a vásárlónak/-tól Adatintegritás Továbbítás alatti 10 000 dollár 0,25 2500 dollár</p><p> változtatás az Interneten © Kiskapu Kft. Minden jog fenntartva vagy az ISP-n SMTP-átjáró feltörése 10 000 dollár 0,5 5000 dollár Nem bizalmas Továbbítás alatti 3000 dollár 0,25 750 dollár e-mail (mûvelet- Adatintegritás változtatás az Interneten adatok) vagy az ISP-n SMTP-átjáró feltörése 3000 dollár 0,5 1500 dollár</p><p>2. táblázat ALE-alapú példa fenyegetettségmodell</p><p>Minthogy a 2. táblázatban látható példaelemzést táblázat formá- Az ALE-módszer elõnye egyszerûségében és rugalmasságában jában adtuk meg, a sorokat tetszés szerint könnyen rendez- rejlik. Bárki, aki elegendõ ismerettel rendelkezik a saját rendsze- hetjük. A 3. táblázat ugyanezt az elemzést mutatja be sérülé- rének felépítésérõl és mûködtetési költségeirõl, és nagyjából kenység szerint rendezve. tisztában van a jelenlegi fõbb IT-s (információtechnológiai) Hasznos lehet, ha az azonos sérülékenységekhez tartozó ALE-ket biztonsági irányvonalakkal (például olvassa a CERT jelenlegi és összeadjuk. A leveleknek az Interneten töltött idõ alatt vagy az korábbi tanácsadó és az összetûzésekrõl szóló jelentéseit), a ISP-n történõ megváltoztatásának eredménye: 2500 dollár és 750 környezetrõl már könnyedén hosszú ALE-listát képes készíteni. dollár, összesen tehát 3250 dollár ALE-érték. Ha a képzést fela- Ha ezt a listát táblázatos formában jelenítjük meg, a különféle jánló tanácsadó például 2400 dollárt kér három félnapos tanfo- költségek és gyakoriságok megbecslése különösen könnyû. lyamért, ahol a dolgozóknak azt mutatják be, hogyan kell az Annak ellenére, hogy ez a módszer valóban erõteljesen elfogult ingyenes GnuPG programot a dokumentumok aláírására hasz- (amit a kockázatvizsgálatokban teljes mértékben nem is lehet nálni, akkor a kiképzési díj ezzel a veszélyforrással arányban áll. kizárni), igen fontos és hasznos eszköz a kockázati tényezõk Azt is láthatjuk, hogy bizonyos ALE-k egyes sérülékenységek- összeszámlálásában, mennyiségi becslésében és a kockázatok kel kapcsolatban állnak. A 3. ábrán megfigyelhetjük, hogy az súlyozásában. Az éves várható veszteségek jól szerkesztett lis- alsó három ALE az SMTP-átjáró károsítása miatt bekövetkezett tája sokat segíthet nekünk abban, hogy IT-s biztonsági kiadása- veszteségeket gyûjti össze. Más szavakkal az SMTP-átjáró inkat arra gyenge pontra költsük, amely a leginkább számít. sérülése nem csak a termeléskiesés és a vaskos helyreállítási költségek miatt okoz veszteséget (1200 dollár bármelyik ALE Egy másik megoldás: Schneier támadási fadiagrammja esetében, a 3. táblázat tetején), hiszen a levéladatok károsodá- Bruce Schneier, az Applied Cryptography (Alkalmazott sának kockázata további 31 500 dollár veszteséggel is fenyegeti kriptográfia) szerzõje a kockázatelemzés egy másik formáját a céget, így az ide tartozó ALE értéke összesen 32 700 dollár. vezette be: a támadási fákat. A támadási fa nagyon tömören Látható, hogy a levelezés kikémlelésének vagy módosításának egy adott célpont elleni támadási lehetõségek szemléletes veszélye igen magas. A Mommenpop Kft. jobban tenné, ha máris megjelenítése. A támadási célpontot (target) gyökércsomópont- hívná azt a 2400 dolláros oktatót. nak nevezzük (root node), a cél eléréséhez szükséges alcélokat Az ALE-n alapuló elemzõeszközök egyik nagy hátránya a pedig levélcsomópontoknak hívjuk (leaf nodes). részrehajló szemléletmód (figyeljük meg, a fenti leírásban A támadási fa elkészítéséhez elõször is meg kell neveznünk egy milyen gyakran szerepeltek a „valószínû” és a „megfelelõ” gyökércsomópontot. Támadási cél lehet például az „ellopni a szavak), és épp emiatt a végeredményt a gyakorlati adatok Mommenpop Kft. vásárlóinak bejelentkezési adatait”. Ennek helyett alapvetõen a tanulmány készítõjének tapasztalata és közvetlen módozatai a következõk lehetnének: tudása határozza meg. 1. A Mommenpop-fájlkiszolgáló szalagjainak megszerzése, Ez módszer ráadásul nem ad igazán jó lehetõséget az ALE-k 2. A Mommenpop Kft. és a vásárlói közti e-mailforgalom összehasonlítására (az olyan rövidke listáktól eltekintve, mint elfogása és a 2. és a 3. táblázat). 3. Interneten keresztüli betörés a Mommenpop-fájlkiszolgálóra.</p><p> www.linuxvilag.hu 2002. április 61 Szaktekintély</p><p>Érték Biztonsági cél Sérülékenység SLE ARO ALE $/konfliktus konfliktus/év $/év SMTP-átjáró Rendszerintegritás Sendmail-hibák 2400$ 0,5 1200$ SMTP-átjáró Rendszerintegritás Egyéb rendszerhibák 2400$ 0,5 1200$ Bizalmas e-mail Adatbizalmasság Rossz szándékú belsõs 150000$ 0,33 49500$ (ügyfél számlainformáció) Bizalmas e-mail Adatintegritás Továbbítás alatti változtatás 10000$ 0,25 2500$ (ügyfél számlainformáció) az Interneten vagy az ISP-n Nem bizalmas e-mail Adatintegritás Továbbítás alatti változtatás 3000$ 0,25 750$ (mûvelet információk) az Interneten vagy az ISP-n Bizalmas e-mail Adatintegritás Hamisított levél 10000$ 1 10000$ (ügyfél számlainformáció) a vásárlónak/-tól</p><p>© Kiskapu Kft. Minden jog fenntartva Bizalmas e-mail Adatbizalmasság Kémkedés az Interneten 50000$ 2 100000$ (ügyfél számlainformáció) vagy az ISP-nél SMTP-átjáró Rendelkezésre állás DOS-támadások 950$ 0,5 475$ Bizalmas e-mail Adatbizalmasság SMTP-átjáró feltörése 50000$ 0,5 25000$ (ügyfél számlainformáció) Bizalmas e-mail Adatintegritás SMTP-átjáró feltörése 10000$ 0,5 5000$ (ügyfél számlainformáció) Nem bizalmas e-mail Adatintegritás SMTP-átjáró feltörése 3000$ 0,5 1500$ (mûveletinformációk)</p><p>2.táblázat Ugyanez a példa sérülékenység szerint rendezve</p><p>Ez a három alcél (levélcsomópont) helyezkedik el közvetlenül ges becsült pénzösszeget jelképezi. Ha minden támadási vona- a gyökércsomópont alatt. (Lásd a 4. ábrát) lat árcédulákkal jelöltünk meg, könnyen megbecsülhetjük a Most minden egyes levélcsomóponthoz meg kell keresnünk különféle támadási módok egymáshoz viszonyított költségét. azokat az alcélokat, amelyek az adott levélcsomópont eléré- A 3. ábra az árcédulákkal kiegészített támadási fát mutatja be séhez feltétlenül szükségesek. Ez lesz a következõ levélcso- (a pontozott vonalak a támadási utat jelölik). mópont-rétegünk. Ezt a lépést addig ismételgetjük, amíg A 3. ábrában úgy találtuk, hogy a betörés elég költséges táma- a kívánt mélységet és összetettséget el nem érjük. Az 2. ábra dási forma, hiszen az elfogatást és a börtönt is megkockázatja. egy egyszerû, de többé-kevésbé teljes támadási fát mutat be Senki sem fogja ezt a munkát nekünk megfelelõ ellenszolgál- a Mommenpop Kft. esetében. tatás nélkül elvégezni. Ugyanez igaz az ISP rendszergazdájá- Kétségtelen, hogy további kiegészítõ leveleket is kitalálhatnánk nak megvesztegetésére; még egy megvásárolható ISP-alkalma- az 5. ábrán jelölt két réteghez, sõt akár új rétegeket is készíthet- zott is kétszer meggondolja, érdemes-e elvesztenie a munkáját nénk. De tegyük fel, hogy a jelen környezet meglehetõsen jól és priuszt szereznie. biztosított a belsõ támadásokkal szemben (elég ritka, hogy A feltörés egy kicsit más – bár éppúgy törvénytelen, sokkal valóban így is van), illetve hogy egy kívülálló számára ezek kevésbé tartják kockázatosnak, mint a betörést. Továbbá a leg- a leginkább keresztülvihetõ támadási metódusok. több szervezet számítógépes védelmét sokkal kevésbé nehe- A példából sok minden kiolvasható: a háttér adathordozó zebb áttörni, mint a fizikai védelmet. megszerzése legkönnyebben az irodába történõ behatolással Azt mondják, egy tûzfal keresztültöréséhez egy kicsit nagyobb oldható meg; a belsõ fájlkiszolgáló feltörése a tûzfal keresztül- tudás kell, mint amennyivel egy átlagos script-kiddie rendelke- törését foglalja magába, az elfogott levelek segítségével pedig zik, továbbá némi idõt és erõfeszítést igényel; így aztán ez is három különféle módon férhetünk hozzá az adatokhoz. Azt is viszonylag drága cél. Az SMTP-átjáró feltörése már sokkal köny- leolvashatjuk róla, hogy bár a tûzfal támadása a legjobb mód- nyebb, és ha már beazonosítottunk egy vagy több távoli felhasz- szer a Mommenpop Kft. SMTP-kiszolgálójának feltöréséhez, nálót, akkor az adott felhasználó otthoni gépe jó eséllyel könnye- egy másik, közvetlenebb módszer is adódik: az elfoglalt átjárón dén feltörhetõ. Ezért ezt a két célt olcsóbbnak minõsítettük. keresztül haladó levelek elolvasása. A támadástípusoknak megfelelõ képzettségû bûnözõk bérlési Ezek nagyon fontos adatok. Lehet, hogy a cég több pénzt szán- költsége alapján e példában a legígéretesebb támadási forma dékozik a tûzfalra költeni, de megeshet, hogy úgy dönt, jobban az SMTP-átjáró feltörése és a távoli felhasználók gépeinek megéri neki, ha a pénzt és az idõt az SMTP-átjáróra fordítja. Leg- elfoglalása. A Mommenpop Kft. úgy tûnik, jobban teszi, ha alább ilyen fontos az is, hogy láthatjuk az egyes támadási célok hálózata peremvidékét, az SMTP-kiszolgáló biztonságát és közötti kapcsolatokat, amit ezzel a fával még nem végeztünk el. a távoli elérési lehetõségeket kicsit jobban megvizsgálja. Ha a támadási fát a kívánt mélységig felrajzoltuk, elkezdhetjük Természetesen a levelekhez nem csak költséget rendelhetünk. felbecsülni az egyes leveleket. Például minden egyes levélhez Beilleszthetünk kétértékû (boolean) mennyiségeket is, mint árcédulát kapcsolhatunk, amely az adott cél eléréséhez szüksé- például kivitelezhetõeket és nem kivitelezhetõeket; a „nem</p><p>62 Linuxvilág Szaktekintély</p><p>Háromféleképpen csillapíthatjuk a koc- kázatot. A védelmi stratégiákat aszerint Vásárló adatainak eltulajdonítása csoportosíthatjuk, hogy a támadó számára csökkentjük a vagyon értékét , mérsékel- jük az adott gyengeségeket, illetve semle- Háttértároló megszerzése Levelek elfogása Betörés a fájlkiszolgálóra gesítjük vagy megelõzzük a támadásokat. A vagyon értékének csökkentése nem tûnik túl járható útnak, de gondoljunk 1. ábra Gyökércsomópont három levélcsomóponttal csak bele: a vagyon értékét a támadó szá- mára kell csökkentenünk, és nem a jogos felhasználók/tulajdonosok számára. A legjobb példa a titkosítás: az alkalmazott Vásárló adatainak eltulajdonítása támadástípus a cikkben említett példák mindegyikében nagyjából semlegesíthetõ, amennyiben megfelelõ levéltitkosító Háttértároló megszerzése Levelek elfogása Betörés a fájlkiszolgálóra programot alkalmazunk. Az adatvédelem másik stratégiája a gyengeségek megszün-</p><p> tetése vagy mérséklése. A programjavítá- © Kiskapu Kft. Minden jog fenntartva sok, foltok jó példák erre: minden egyes Iroda kirablása ISP rendszergazda Távoli felhasználó Tûzfalon keresztül betörni megvesztegetése otthoni gépének feltörése a belsõ hálózatra Sendmail-hiba évek óta arra ösztönözte a fejlesztõket, hogy foltokat adjanak ki, amelyek az adott hibát kijavítják. A gyengeségek csökkentésére még jobb SMT-átjáró feltörése példa a védekezõ kódolás. Ha forrásfájl- jainkat olyan szûrõkön futtatjuk keresz- tül, amelyek mondjuk megtalálják a hibás 2. ábra Egy részletesebb támadási fa határvizsgálatokat, akkor elõsegíthetjük, hogy programunk ne legyen sérülékeny a veremtúlcsorduláson alapuló támadá- Vásárló adatainak eltulajdonítása sokkal szemben. Ez a módszer sokkal hatékonyabb, mintha egyszerûen, min- den ellenõrzés nélkül kibocsátanánk a programot, és várnánk a hibajelentéseket. Háttértároló megszerzése Levelek elfogása Betörés a fájlkiszolgálóra A legtöbb figyelmet érdemlõ védelmi stratégia azonban a következõ: el kell ûzni a támadót, mielõtt még hozzáfér- ISP rendszergazda Távoli felhasználó Tûzfalon keresztül betörni hetne a sérülékeny rendszerekhez. Nyil- Iroda kirablása: megvesztegetése: otthoni gépének feltörése: a belsõ hálózatra: 10 000 dollár 50 000 dollár 1 000 dollár 5 000 dollár vánvaló megoldás erre a tûzfal. A tûzfa- lakat azért készítjük, hogy megakasszuk a támadást. Az elérést korlátozó szerkezetek Támadás költsége: Támadás költsége: Támadás költsége: SMT-átjáró feltörése: 1 000 dollár 10 000 dollár 5 000 dollár 2 000 dollár – mint a felhasználónév–jelszó sémák, az azonosító nyelvi egységek (token) és az Támadás költsége: Támadás költsége: intelligens kártyák (smart cards) – úgy- 2 000 dollár 7 000 dollár szintén ebbe a csoportba tartoznak, hi- szen feladatuk a megbízható és a nem 3. ábra Támadási fa költségbecsléssel megbízható felhasználó (azaz a lehetséges támadó) közti megkülönböztetés. Nem kivitelezhetõ” a támadási fa bármely pontján egyúttal azt is árt azonban tudni, hogy az azonosítási módszereket a gyenge jelenti, hogy az egész ág kivitelezhetetlen. pontok megerõsítésére is felhasználhatjuk (például SecurID Írhatunk ide befektetett munkamennyiséget is, órában vagy nyelvi egységeket használunk egy nem megfelelõ jogosultság- percben. Röviden: egyazon támadási fát többféle módszerrel is rendszerrel rendelkezõ webalkalmazás azonosítási rétegéhez). megvizsgálhatunk, és rendszerünk gyengéirõl olyan felbontású Mára legyen elég ennyi. képet alkothatunk, amilyet csak akarunk. A 6. ábrában látható költségbecslések mind azt feltételezték, hogy a támadás kivite- További érdekességek találhatók a 30. CD Magazin/Gyakorlati lezéséhez a támadónak fel kell bérelnie valakit. Ezeket az érté- könyvtárban. keket egészen másképpen kellene számítani, mint ha a támadók maguk is tapasztalt rendszerkalózok – ilyen esetben az idõbecs- Mick Bauer lés minden csomópontra hasznosabb a költségbecslésnél. (mick@visi.com) hálózati biztonsággal foglalkozó szaktanács- Védekezés adó. 1995 óta a Linux elkötelezett híve, A fenyegetettségelemzés végsõ célja az lenne, hogy meghatá- 1997 óta pedig OpenBSD-prófétaként rozzuk, milyen szintû védelmet kell felhasználnunk azokon tevékenykedik. Mick minden kérdést és a területeken, amelyeken rendszerünk gyengének tûnik. megjegyzést szívesen fogad.</p><p> www.linuxvilag.hu 2002. április 63 Szaktekintély</p><p>A Linux és a Samba egy országos laboratóriumban Az alábbiakban a Linuxnak és a Sambának a VCSEL-nek nevezett rendkívül kis méretû lézerek kutatásában történõ felhasználásáról olvashatunk.</p><p> emrégiben a Linux és a Samba és azt a látszatot próbáltuk kelteni, mint- az értékelemzõn megnyomjuk a próbát adott választ a marylandi ha az NT-kiszolgálóról kapnák az ada- indító gombot, majd pedig mentjük az Adelphiben található Hadi Ku- tokat. Azért, hogy a felhasználóknak adatokat. A 2. képen a laboratórium Ntatólaboratórium (ARL) igényeire. Inté- az NT-s gépen keresztül kelljen men- felszerelése látható. zetünk csúcstechnológiai kutatást végez niük, a linuxos gépet a hálózatról nézve a lézerek egy különleges fajtájánál, és láthatatlanná tettük. Az adatokat elérõ Mûködés ezen eszközök teljesítményének kipró- felhasználók azonosításában az NT-gép Ha a próbát sikerült rendben lefuttat-</p><p>© Kiskapu Kft. Minden jog fenntartva bálása közben rendkívül nagy mennyi- biztonságára támaszkodunk. nunk, mentenünk kell az adatokat. ségû adatot gyûjtünk össze. A próbához A 4155B háromféle módon képes men- használt felszerelésünket a hálózaton át A kipróbálás beállításai teni az adatokat: GPIB, hajlékonylemez rá tudtuk egy Samba kiszolgálóra kötni. A VCSEL-ek jellemzésében két készü- és TCP/IP. Az elemzõt nem GPIB-vel Ennél a módszernél az a csel, hogy léknek jutott kulcsfontosságú szerep. vezéreljük, ezért ez szóba sem jön. A haj- a beállítások miatt a felhasználók úgy Az elsõ a mintavételezõ állomás, amely lékonylemez támogatja a 3,5" lemezeket, látják, mintha az intézet NT-n futó fájl- kiszolgálóján levõ adatokat érnék el. Részletesen is el fogom magyarázni a felállást, de a kulcs az, hogy az NT- gépen egy hálózati parancsikont hoz- A felhasználó NT Linux Samba 4155B Próbaállomás tunk létre, mely a Samba-megosztásra felülete fájlkiszolgáló kiszolgáló értékelemzõ és minta mutat, a linuxos gépet pedig a hálózaton láthatatlanná tettük. Az ábra a hálózat felépítését mutatja be. Intézetünk VCSEL-nek (felületi üreges A hálózat felépítése függõlegesen sugárzó lézer) nevezett, rendkívül kis lézereket fejleszt, melyek tulajdonképpen néhány apró szondával a fénytani kutatás általános területébe és egy fénymérõvel egybeépített mik- tartoznak. Könnyen megesik, hogy egy roszkóp. A szondák energiát bocsátanak négyzetmilliméternyi felületen több az eszközre, mi pedig a fénymérõvel mint 60 lézert helyezünk el, és elõfordul, megmérjük az áramot. A második ké- hogy a lézereket tartalmazó lapka teljes szülék az Agilent gyártmányú 4155B átmérõje mindössze 7,5 centiméter. Így típusú értékelemzõ. Az elemzõ úgy lett hát megeshet, hogy egyetlen lapkán programozva, hogy pásztázza végig az több ezer alkatrész található. A 1. képen áramerõsség szintjét, valamint mérje egy jellegzetes VCSEL látható. A legfõbb meg a feszültséget és a fényerõt. Alap- próbát, amelyet minden VCSEL teljesít- vetõen két módon lehet vezérelni: a ményének ellenõrzéséhez lefuttatunk, készüléken található kezelõszerveken és 1. kép Jellemzõ VCSEL: a nagy téglalapok az áramerõsséget, a fényerõt és a fe- a GPIB-csatolón keresztül. Noha teljesen a próbát végzõ szondák érintkezõ felületei, szültséget mérõ ILV-görbének nevezik. igaz, hogy a GPIB-kapu a tudományos a lézerrel besugárzott tényleges terület Alapjában véve azt vizsgáljuk, hogy a berkekben népszerû csatoló, és mutató- a kis szürke négyzet alul középen befektetett energia mennyi fényt ered- sabb tesztek elvégzését teszi lehetõvé ményez. Mivel az elemzõprogramok azáltal, hogy a próbabeállításokat számí- de ezek a lemezek hamar megtelnek, és többsége a felhasználók asztali gépén tógép vezérli, és az adatok összegyûj- hurcolászni kell õket. Több laboratóriumi található, szükségük van rá, hogy a tésére is képes, azonban vezérlõ számí- területen is dolgozunk, ezért elõfordult feldolgozatlan adatokhoz onnan férje- tógépünk a laboratóriumi helyszíntõl már, hogy egy lépést újra kellett kezde- nek hozzá. A felhasználók a szokások mintegy ötlábnyira helyezkedik el, és nünk, mert épp eltûnt egy hajlékony- rabjai. Az intézettel kapcsolatos adatok nem lehet közelebb hozni. Emiatt nehéz lemez. Az általunk összeállított válasz elérése mindig is azt jelentette, hogy el elkezdeni a próbát, amikor a szondák a TCP/IP-támogatás alapján mûködik. kell menni az NT-kiszolgálóra. Mivel a helyükre kerültek. Szerencsére fõ tesz- a felhasználók hozzászoktak, hogy az tünket egyszerûen a készülék kezelõ- Linux adatokat az NT-s géprõl kapják meg, felületén be lehet állítani. A próbát úgy Az értékelemzõ támogatja a TCP/IP-t, nem akartuk rákényszeríteni õket, hogy szoktuk végrehajtani, hogy a szondákat pontosabban az NFS-t. Az elemzõt még mással kísérletezzenek. Igyekeztünk a mikroszkóp nézõkéjének segítségével pingelni is lehet. Be van jegyezve a számukra mindent áttekinthetõvé tenni, helyezzük el, óvatosan odanyúlunk és laboratórium DNS-ébe, ezért IP-cím és</p><p>64 Linuxvilág Szaktekintély</p><p> a listán (30. CD Magazin/Samba) látható. meghajtót megosztani, amelyet már A rendszer biztonságában döntõ szerepet befûzött. Az eredeti tervem az volt, játszó adatokat, mint például a hálózat hogy az NT-s gép a Samba-megosztást tartománynevét itt és a /etc/exports fájl- befûzi egy meghajtóra, és majd onnan ban is megváltoztattuk. A fájl legfonto- lesz megosztva. Miután rájöttünk, hogy sabb része a hptestdata megosztás létre- a Windows nem képes a befûzött meg- hozása és csak olvashatóvá tétele. Azért hajtókat megosztani, és bevetettük ezt kell csak olvashatóvá tenni, nehogy a fel- a trükköt, összesen öt percet töltöttünk használók véletlenül kitörölhessék az a beállításokkal. adatokat. Idõnként kiürítjük a könyvtá- rat, de csak azután, hogy minden felhasz- Összegzés nálóval egyeztettünk. A Samba beállításá- A Linux és a Samba a laboratórium 2. kép Mintavételezõ állomás nak másik része az, hogy a rendszerin- olyan igényét elégítette ki, amelynek (alul középen) és a 4155B-típusú értékelemzõ dítófájlokat úgy módosítsuk, hogy az kiszolgálására másként nem lett volna (a fehér doboz bal oldalon felül) nmbd leálljon. Az általunk használt rend- mód. A módszer a felhasználók számára szerbeállítások mellett nem szeretnénk, is átlátható, mert továbbra is ugyanarra név alapján is pingelhetõ. Felesleges ha a gép látszódna a hálózaton, ezért azt a központi helyre kell menniük az ada-</p><p>és rossz alkatrészekbõl sikerült összeállí- sem akarjuk, hogy az nmbd elvégezze a tokért; éppannyira biztonságos, ameny- © Kiskapu Kft. Minden jog fenntartva tanunk egy linuxos gépet. Szó szerint névfeloldást. A saját terjesztésed leírásá- nyire az intézet NT-kiszolgálója, és szó három számítógép alkatrészeibõl rak- ban megtalálhatod, hogy melyik az a fájl, szerint ingyen készült el, ugyanis a kié- tunk össze egyet. A kormánynak ez amelyet módosítanod kell. A Red Hat 6.2- pítéséhez teljes egészében összesze- semmibe sem került, és arra, amire kell, ben az S91smb fájlt változtattuk meg, és degetett alkatrészeket használtunk fel. éppen jó. A telepítésnél a legújabb vál- az nmbd-t indító sorokat megjegyzéssé tozat, amely nekünk megvolt és támo- tettük, azaz a megfelelõ sorok elejére A jövõ gatta a Pentium 133-as gép alkatrészeit, beszúrtunk egy # jelet. Hogy erre a há- Ez a megoldás azonban még nem nyújt a RedHat 6.2-es volt, ezért ezt raktuk lózati beállításra késõbb is emlékezzek, teljes biztonságot. Egy agyafúrt számí- fel, és a Bastille tûzfallal, illetve a leg- a magyarázó sort is módosítottam, ami tógép-felhasználó megnézheti a hálózati frissebb foltokkal szilárdítottuk meg. most már annyit mond, hogy az nmbd parancsállomány tulajdonságait, és utá- Ezenkívül kikapcsoltuk az összes nem indul el. Rendes körülmények na létrehozhat egy a Samba-kiszolgálóra szükségtelen szolgáltatást, és felraktuk között a program azt jelzi vissza, hogy mutató közvetlen parancsállományt, az SSH-t. Gondosan felosztottuk a me- az nmbd elindul. A hozzáférést a mi tar- megkerülve ezzel az NT-n levõ bizton- revlemezen elérhetõ területet, így végül tományunkra korlátoztuk, ezzel kívülrõl sági eljárást. A másik lehetõség az lenne, körülbelül 1,5 GB jutott az adatoknak. nem férhetnek hozzá a géphez. A beál- hogy a linuxos gépet és az smbmount-ot A beállítások elvégzésére összesen há- lítások elvégzése összességében jó né- használva megosztást készítünk az NT-s rom órát fordítottunk. hány órányi ügyeskedésbe telt. gépen, majd pedig az NFS segítségével exportáljuk a próbát futtató készülékre. NFS NT-beállítások Az NT-megosztást sikerült a linuxos Az értékelemzõ ismeri az NFS-t is, ezért Utoljára az NT-s gépet kellett beállíta- géphez csatolnunk, majd az NFS-sel a következõ lépés ennek a beállítása nunk. Ezt a trükköt még sehol sem exportálnunk és befûznünk a 4155B volt. A /etc/exports fájlba mindössze egy láttuk, ezért gondoljuk, hogy nagyon készülékhez. Továbbra is gondot jelent sort kellett beírnunk: jópofára sikeredett. A linuxos gép szá- viszont, hogy erre a megosztásra írni is mára létrehoztunk egy adatmegosztást, tudjunk, ezt azonban még az smbmount /home/guest/hptestdata a felhasználók az asztali gépükrõl ide beállításainak használatával sem sikerült 192.168.10.29(rw) fordulnak az adatokért. Ezután az UNC megoldanunk. Reméljük, a közeljövõ- (egységes elnevezési szabvány) segítsé- ben lesz idõnk rá, hogy ezzel a feladattal A vendég (guest) saját könyvtárában gével egy hálózati parancsállományt is újból foglalkozzunk. létrehoztuk a hptestdata könyvtárat, és készítettünk, amit az adatmegosztási újraindítottuk az nfsd-t. Ez a sor csak pontra irányítottunk. A Samba-megosz- A források megtalálhatóak a 30. CD egyetlen IP-címnek engedi meg a könyv- tást a hálózaton egy percre láthatóvá Magazin/Samba könyvtárban. tár befûzését. Az értékelemzõ kezelõszer- kellett tennünk – ekkor hoztuk létre vén megadtuk a szükséges beállításokat, a parancsállományt a könyvtárban. Egy- Brian és megnyomtuk a mount (befûzés) gom- szerûbb volt így tennünk, mint meg- Gollsneider bot. Elsõre természetesen nem indult. szenvednünk a megkettõzött fordított A hibaelemzés csak egy percet vett perjelek helyes beállításával. Amikor a (balra) és Mike Martin igénybe, és az analizátor és a vendégfiók felhasználó az NT-kiszolgálóhoz fordul, azonosítószámának összehangolása a megosztott könyvtárat fogja látni. Ha (jobbra) a megoldotta a gondot. Az NFS beállítá- kétszer rákattint, a könyvtárat meg is Marylandi sával összesen öt percet töltöttünk el. nézheti. Amennyiben viszont duplán Egyetem villamosmérnök szakos, má- kattint a könyvtáron, akkor anélkül, sod-, illetve elsõ diplomáján dolgozó Samba hogy észrevenné, a linuxos gép próba- hallgatói. A Hadi Kutatólaboratórium A Samba rendkívüli program, és nagyon adatokat tartalmazó könyvtárába jut. tudósaival együtt vizsgálják a VCSEL- sok mindenre képes. Ez egyszerû fela- Erre a trükkre azért van szükség, mert eket. Brian Gollsneider elérhetõ dat, szemléltetésül /etc/smb.conf fájlunk a Windows nem képes olyan hálózati a gollsneb@glue.umd.edu címen.</p><p> www.linuxvilag.hu 2002. április 65 Szaktekintély</p><p>A Squirrelmail</p><p>Squirrelmail a legtöbb terjesztésben már telepíthetõ Elõfordulhat, hogy más lesz a neve – én forrásból telepítet- csomagként is szerepel, azonban érdemes a haszná- tem. A csomagból felrakott PHP-modul ugyanúgy megfelel, latuktól eltekintenünk. Miért? Két okból is. Elõször: mint a saját magunk által fordított. Amennyiben csomagból azAújabb változatokkal számos új szolgáltatás, illetve jobb telje- telepítettük, telepítésekor ennek a sornak kell szerepelnie a sítmény érhetõ el. A második számomra jelentõs elõny, hogy beállítófájlban, ha ez mégsem történne meg, akkor feltétlenül az új változatokban általában a hibajavítások is megtalálhatók. írjuk bele. Velem már elõfordult, hogy ugyan beíródott a A hibák széles skálán mozognak, a biztonsági lyukak attól beállítások közé, de # jel elõzte meg, így a webkiszolgáló kezdve, hogy más felhasználó leveleit is el tudjuk olvasni egé- szen odáig terjednek, hogy – bizonyos körülmények között – 1. távolról bárkik bármilyen parancsot végre tudnak hajtani</p><p>© Kiskapu Kft. Minden jog fenntartva a kiszolgálón. Ehhez ráadásul további kisebb, inkább csak bosz- szantó jelenségek járulnak. Az alkalmazást ugyanis PHP nyel- ven írták, ezért a benne rejlõ hibákat más is kihasználhatja. Miért választottam mégis ezt a webes levelezõügyfelet? Mert minden hibája ellenére szolgáltatásainak sora a legjobbak közé emeli, és a többi ügyfélprogramnak – vagy programozási nyelvnek – is megvan a maga hibája mind biztonsági, mind az elvárt mûködés terén. Kezdjünk hát neki a telepítésnek, hogy felhasználóink minél hamarabb használhassák.</p><p>Az elsõ lépések Legelsõ lépésként töltsük le a programot a  http://www.sqirrelmail.org címrõl. A legújabb változat jelenleg a 1.2.5-ös. Ez már fel van készítve a PHP új biztonsági és egyéb szolgáltatásaira. Ha letöltöttük, csomagoljuk ki a tömörített fájlt – feltételezve, hogy a lent szereplõ csomagot töltöttük le és Debian-rendszert használunk, valamint a a PHP-kódokat teljesen érthetõ módon nem értelmezte. Ha /var/www/mail könyvtár létezik. a PHP-t csomagból rakjuk fel, az IMAP-modult is telepítenünk Ha nem, nulladik lépésként hozzuk létre a könyvtárat: kell ahhoz, hogy mûködõ Squirrelmail-telepítéssel rendelkezzünk. Debian-rendszer esetén a többi beállítást az root@mail # mkdir /var/www/mail, srm.conf fájlban, más rendszer esetén mindezt még mindig a httpd.conf-ban folytatjuk. Keressük meg, hogy a következõ majd: sor szerepel-e a beállítások között:</p><p> root@mail # tar xvfz <a href="/tags/SquirrelMail/" rel="tag">squirrelmail</a>-1.2.5.tar.gz AddTypeapplication/x-httpd-php .php .phtml* -C /var/www/mail Enélkül a sor nélkül ugyanis az Apache még mindig csak a kó- Ekkor a csomagban lévõ összes PHP-kód, nyelvi modul és dokat írja ki, és nem fordítja le, illetve futtatja azokat. Össze- a kép a könyvtár alatt kerül kicsomagolásra. Mivel ez PHP- foglalva: ha az Apache-val és a hozzávaló PHP-modul(okk)al értelmezõ nyelv, fordítási teendõnk nincsen (olyan kereske- és a megfelelõ beállításokkal rendelkezünk, kipróbálhatjuk az delemi termék is kapható, amely a PHP-kódot bináris formára ügyfelet. Egy böngészõbe írjuk be: képes alakítani). Mielõtt azonban azt hinnénk, hogy készen is vagyunk, ellenõ- http://kiszolgalocime/mail rizzük a webkiszolgáló beállítófájlját. Keressük meg, szerepel-e benne olyan bejegyzés, amely a kiszolgálót a PHP-kód értel- Sajnos a következõ kép fogad bennünket: 1. kép. mezésére utasítja, illetve rendelkezik-e az utasítások fordítá- Mindig ebbe fogunk ütközni, ha a jogosultságok nem megfe- sához szükséges modullal. Azt feltételezve, hogy a kiszolgáló- lelõk a fájlrendszeren.Vegyük figyelembe, hogy a PHP-kódokat program az Apache és a rendszer a Debian, keressük meg a webkiszolgáló futtatja. Mivel a program bizonyos könyvtárait a következõ fájlokat (vagy fájlt): /etc/apache/httpd.conf, illetve írni akarja, ezekre a webkiszolgálót futtató felhasználónak írási /etc/apache/srm.conf. A httpd.conf-ban a következõ bejegyzést joggal kell rendelkeznie. kell látnunk: Lépjünk be a /var/www/mail könyvtárba és az alapértelmezett data könyvtárat adjuk át a webkiszolgálót futtató felhasználó LoadModule php4_module jogosultságának: /usr/lib/apache/1.3/libphp4.so root@mail:/var/www/mail# chown Ez tölti be az Apache-kiszolgálóhoz tartozó PHP-modult. -R www-data.www-data data/</p><p>66 Linuxvilág Szaktekintély</p><p>A felhasználónév nem Debian-rendszer esetén általában tehát, hogy ha egy központi levelezõkiszolgálóval rendel- nobody vagy httpd. A megfelelõ eredményt értelemszerûen kezünk, akár több webkiszolgálót is elétehetünk, csak a megfelelõ felhasználót behelyettesítve érhetjük el. be kell állítanunk, hogy hol találhatók meg. A következõ hibajelenség akkor fogad(hat) minket, ha a prog- 3. IMAP port: melyik kapun hallgatódzik az IMAP-kiszol- ram környezetét nem állítottuk be megfelelõen. gáló. Ez alapértelmezettként a 143-as, de nyugodt A hiba javításához a kiszolgálón lépjünk be a /var/www/mail szívvel beállíthatunk ide nagyobb (1024 vagy afölötti) könyvtárba, ahol indítsuk el a configure programot. Ez nem kapuszámot is. a szokásos programok fordítása elõtti parancsfájl, hanem egy 4. Use Sendmail/SMTP: a levélküldés módját határoz- Perl-program, mely segít elvégezni a beállításokat. hatjuk meg. Ha a Sendmail módot választunk, a Squirrelmail a küldéshez a kiszolgálón található root@mail:/var/www/sqmail# ./configure Sendmail binárist fogja használni. Ez a bináris az összes levelezõkiszolgálóban (MTA) megtalálható, hogy a „nagy- Ekkor a 2. képhez hasonlót láthatunk. papával”, a Sendmaillel megõrizzék a megfelelõséget. Itt a menüpontok között haladva állíthatjuk be a kiszolgálón Ennél jobb ötletnek tartom, ha a levél elküldése SMTP-n keresztül történik, mert azt sok esetben gyorsabb átadni 2. egy olyan démonnak, amely állandóan figyel az adott kapun, mint elindítani egy binárist a fájlrendszeren. © Kiskapu Kft. Minden jog fenntartva 4.</p><p>3.</p><p>5. Ha a Sendmail binárist választottuk, megjelenik az 5-ös pont, hogy beállítsuk, hol található meg a rendszeren a Sendmail binárisa. 6. Ha az SMTP-t választottuk a küldésre, a kiszolgáló helyét adhatjuk meg – természetesen itt is választhatunk más kiszolgálót, akár a helyi gépet is. 7. Az SMTP-kiszolgálóhoz tartozó kaput adhatjuk meg, itt is eltérhetünk az alapértelmezett 25-ös kaputól. 8. Authenticted SMTP: használ-e az SMTP-kiszolgáló vala- milyen azonosítást a levél elfogadására. Alapértelmezett- ként nem, és ha smarthost-ként a Squirrelmail futtató kiszolgáló rendelkezésére áll, akkor nem is kell. Ezt csak akkor engedjük meg, ha a gépek mások által nem elérhetõ alhálózaton tartózkodnak. futó programokhoz illõ környezetet. A leggyorsabb út, ha a 9. Server: az IMAP-kiszolgáló típusát állíthatjuk be (<a href="/tags/Courier_(email_client)/" rel="tag">courier</a>, billentyûzeten lenyomjuk a D betût, és kiválasztjuk, melyik cyrus stb.) IMAP-kiszolgálót használjuk a számítógépünkön. Ekkor, ha a többi beállítás is megfelelõ, a rendszert már használhatjuk is. A másik két beállítás az idõzónákra és a könyvtárak közötti Siker esetén a 3. képhez hasonló látvány fogad bennünket. IMAP-jellemzõ elválasztásra vonatkozik, de ezeket bízzuk a Elõfordulhat, hogy a kiszolgáló beállításai nem megfelelõek. rendszerre, hadd kezelje õket. Az IMAP-beállításoknál hasz- Ezért nézzük meg, hogy melyek a legfontosabb beállítások, náljuk az alapértelmezett értékeket. illetve milyen lehetõségeink vannak még a beállítóprogramban. A fõmenüben a második pontot választva (Server Settings) Következõ cikkemben a Squirrelmail alá telepíthetõ bõvítmé- juthatunk el a kiszolgálóoldali beállításokhoz. A 4. képen sze- nyekrõl és levelezéshez kapcsolódó érdekességekrõl esik szó. replõk kell fogadjanak bennünket. Beállítási lehetõségeink a következõk: Deim Ágoston (ago@lsc.hu) Kedveli a sört, szereti a futást és imádja 1. Domain: melyik tartományhoz tartozunk, azaz mi fog Szabó Lõrinc verseit. Nem hisz vakon egyik látszani tartománynévként a kimenõ leveleken. rendszerben sem. Vonzódik a BSD-hez is. 2. IMAP server: hol található az IMAP-kiszolgáló. Itt adha- Tagja az LME-nek és a MBE-nek. Mottója: tunk meg hálózati címet vagy a kiszolgáló nevét is. Látszik a gép nem lehet fontosabb az embernél.</p><p> www.linuxvilag.hu 2002. április 67 Szaktekintély</p><p>Bevezetés a Tkinter használatába (4. rész)</p><p>Záróakkordok…</p><p> evezetésünk végéhez érkeztünk. Mostanra már tudjuk, from Tkinter import * B hogyan néz ki egy Tkinter-program és megismerked- import Pmw tünk a rendelkezésünkre álló lehetõségekkel. Ha fi- gyelmesen követtük a cikksorozat eddigi részeit, és olykor class EgyOsztaly(Dialog): a leírást is elõvettük, valószínûleg már magunk is képesek sok ezer sor vagyunk egyszerû programok írására. Sorozatunk elkövetkezõ részeiben zavarosabb vizekre, ismeret- root = Tk() len tájak felé evezünk, vagyis komolyabb témákkal foglalko- peldany = EgyOsztaly(root)</p><p>© Kiskapu Kft. Minden jog fenntartva zunk. Szolgáljon ez a rész hídként, amellyel a már ismertet Ha ezt a fájl közvetlenül a Pythonnal hívjuk meg, a Python az ismeretlennel összekötjük! értelmezõje minden egyes alkalommal bájtkóddá fordítja le, Minden program egyik legfontosabb jellemzõje a sebessége. és csak azt követõen hajtja végre. Különösen igaz ez az olyan programokra, amelyek folyamatos Alakítsuk át a program utolsó két sorát függvénnyé, és szúrjuk felhasználói beavatkozást igényelnek, egy kérdõívhez olvas- be eléjük a def indito: sort! Ha most ezt az indito eljárást nak be adatokat, képeket jelenítenek meg, vagy éppen kiszá- egy másik indítófájlból hívjuk meg, akkor ezt a sok ezer kód- molnak valamit. sort tartalmazó modult máris csak egyszer, a legelsõ alka- Az ilyen programoknál a felhasználó elvárja, hogy miután leüt lommal fordítja le nekünk a Python, és az eredményt egy billentyût vagy megnyom egy gombot az alkalmazás abla- bájtkódba menti! kában, azonnal valamilyen válasz következik be: megjelenik Az új indítófájlunk így néz ki: az adott betû, beugrik valamilyen új ablak – tehát a program import RegiIndito valamiféle jelét adja annak, hogy bizony mûködik. A felhasz- RegiIndito.indito() náló sokszor a program e viselkedése alapján dönt két alkal- És máris rengeteg idõt takarítottunk meg, mert a Pythonnak mazás között, és elõfordulhat, hogy azt ítéli meg jobbnak, minden alkalommal csak két sort kell lefordítania, a többi már amelyik minden eseményre azonnal reagál, még ha a kiválasz- a bájtkód formátumú fájlokból töltõdik be. tott program az adott dolgot rosszabbul végzi is el. Ha a Pythont már elsõ indításkor az -O kapcsolóval hívjuk Képzeljük el, hogy szöveget gépelünk be egy szövegbeviteli meg, programunk még gyorsabb lesz, mivel a Python egysze- mezõbe, netán a beviteli mezõk között ugrálunk a TAB gomb- rûsíti nekünk a kódot, illetve a bájtkódba nem fordít bele olyan bal. Kevés dolog zavaróbb annál, mintha a betûk nem jelennek dolgokat, amelyekre futáskor nincs szükség (például nem tá- meg azonnal, ahogy beírjuk õket. Olyan esettel is találkoztunk, rolja minden mûvelethez kapcsolódóan, hogy eredetileg a for- hogy ûrlapok sorozatát kellett kitöltenünk, és minden egyes ráskód melyik sora tartalmazza azt). Az ilyen módon fordított ûrlap után hosszú másodperceket kellett arra várnunk, hogy modulok .pyo kiterjesztést kapnak, mely a .pyc fájlokhoz a következõ ablak betöltõdjön. hasonlóan a futtató rendszertõl úgyszintén függetlenek. A most következõkben néhány olyan trükkel ismerkedünk meg, amelyekkel alkalmazásainkat gyorsabbá, hatékonyabbá Egyszerûsítsünk! és kezelhetõbbé tehetjük. A legfontosabb szabály, hogy programunkat úgy tervezzük meg, hogy a Python értelmezõje minél kevesebb idõt töltsön Kapcsoljunk sebességbe! programunkban, és inkább a saját belsõ függvényeiben ten- Ha már programindításnál a felhasználó kedvében szeretnénk gesse az idejét. Ez annyit tesz, hogyha egy mûveletre létezik járni, ne várakoztassuk meg feleslegesen! Az egyik legtöbb valamilyen Python-függvény, azt részesítsük elõnyben. Ha idõt igénylõ folyamat a Python-kód bájtkódra történõ lefor- mindent saját magunk kódolunk, a ciklusok futása során érté- dítása, mely végül ténylegesen futni fog. Ha programunk kes idõt veszítünk, ezért jobban tesszük, ha a Python C-ben írt sok-sok ezer sort tartalmaz, ez bizony nem kevés idõt vesz függvényeire bízzuk magunk. igénybe. Viszont tudjuk, hogy a rendszer moduljainkat ön- Gyakori eset, hogyha egy adott függvényben egy külsõ válto- mûködõen bájtkódra fordítja le és tárolja is õket ilyen for- zóra van szükség, a függvény elején a külsõ változót egy mában, .pyo vagy .pyc kiterjesztéssel. A következõ futáskor helyi változónak adjuk értékül. Ez viszonylag egyszerû mû- – ha a bájtkód újabb, mint a .py kiterjesztésû fájl – anélkül, velet, de ha a függvényünk mondjuk, valamilyen ciklusból hogy az eredeti kóddal bármit kezdene, a Python azonnal hívódik meg, amely akár több ezerszer végrehajtódik, akkor a bájtkódhoz fordul. Programunk indítófájlját a Python ilyen apróságoknak is érdemes figyelmet szentelnünk. Így ugyanakkor lefordítja, de a bájtkódú állományt nem tárolja. mielõtt helyi változót hoznánk létre, gondoljuk meg, valóban Ez nem éppen szerencsés, tekintve ha alkalmazásunk logikája szükség van-e rá. Ha a helyi változóhoz a függvénybõl csak és a temérdek kód ebben az indítófájlban van tárolva. Nincs egyetlen alkalommal férünk hozzá, nem érdemes rá értékes más teendõnk, mint ezt a fájlt modullá alakítani, és létrehozni órajelciklusokat pazarolni. Ellenben ha a függvényünkben egy néhány soros fájlt, ami ezt a modult importálja. többször hivatkozunk rá, netalántán a függvény egy újabb Mirõl is van szó? Tegyük fel, hogy van egy alkalmazásunk, ciklust tartalmaz, akkor jobban tesszük, ha létrehozzuk azt mely a következõ programsorokat tartalmazza: a helyi változót. Ilyen módon elérhetjük, hogy a külsõ</p><p>68 Linuxvilág Szaktekintély</p><p> változót csak egyszer kelljen elérni, azután pedig használhat- Ha a felhasználót sokszor váratjuk, programunkat lassúnak juk a jóval gyorsabban elérhetõ helyi változónkat. fogja érzékelni, míg ha csak a kitöltés befejeztével kell várnia, Vannak esetek, amikor megszokásból létrehozunk változókat, õ már léphet is tovább a következõ munkájára, programunk amiket aztán soha többet nem használunk, vagy csak egyetlen- pedig a háttérben dolgozik. egyszer. Ilyen helyzetben mindig tegyük fel magunknak a Figyeljünk arra is, hogy az olyan mûveleteket végképp kerül- kérdést: hogyan oldható meg a dolog egyszerûbben? Ha pél- jük el, melyeket a grafikus felület kirajzolásakor hajtanánk dául egy Label() objektumot hozunk létre, amelyre csak végre. A lassan, akadozva felbukkanó ablakok a felhasználóban egyszer hivatkozunk – amikor kitesszük a képernyõre –, akkor azt az érzést keltik, hogy a program hibásan mûködik. jobban tesszük, ha változó megalkotása helyett a Pythonra Hasznos, ha az elemeinket tartalmazó kereteket (Frame) csak bízzuk a dolgot, és egy választékos Label().pack()-kel azután tesszük ki a képernyõre, miután a keretben található oldunk meg mindent. elemek elkészültek. Ha fordítva járunk el, a felhasználó esetleg Ha mégis ciklusok írására adjuk a fejünket, gondoljuk át még villogást tapasztal – ez annak következménye, hogy az elem- egyszer, nincs-e az már adott feladatra belsõ függvény… Biztos kezelõ minden új elem kihelyezésekor a többi helyzete alapján nem megoldható a dolog se a map()-pel, se a reduce()-szal, számolásokat végez, hogy az új hova is kerüljön. se a filter()-rel? Ha nem, hát nem. A felhasználó ténykedése által keltett eseményekre a lehetõ Vegyünk egy példaciklust: leggyorsabban próbáljunk meg válaszolni. A puszta egérmoz- for i in range(10000): gatás is események egész sorát indítja el, ami – ha csak az egér-</p><p> for j in range(100): mutató koordinátáira van szükségünk – nem is baj, de ha egy © Kiskapu Kft. Minden jog fenntartva import EgyModul ilyen gyakran keletkezõ eseményhez olyan függvényt rende- a = a + EgyModul.EgyOsztaly.EgySzam * 2 lünk, amely bonyolult elemet rajzol ki, akkor ennek a rendszer Ez a ciklus tízezer alkalommal egy százelemû listát hoz létre, teljesítményére nézve súlyos következményei lesznek. 10 000-szer 100 alkalommal importál egy modult, és ugyan- Azért erre is van megoldás: ha mi mégis ilyen bonyolult mûve- ennyiszer fér hozzá egy külsõ változóhoz. Ha a fenti kódot letet szeretnénk elvégezni, akkor lehet, hogy elegendõ minden picit átírjuk, jelentõs sebességnövekedést érhetünk el: 5. eseményre válaszolunk, vagy meghatároznunk, hogy a import EgyModul kirajzolás legfeljebb csak bizonyos idõközönként hajtódjon b = EgyModul.EgyOsztaly.EgySzam végre, a többi esetben pedig egyszerûen hagyjuk figyelmen kívül az eseményt. szaz = range(100) Keressük meg a szûk keresztmetszetet! for i in range(10000): Ha programunk futása során úgy érezzük, hogy mozgása for j in szaz: minden igyekezetünk ellenére mégis döcögõs, és nem tudjuk, a = a + b * 2 melyik függvényben idõzik el, jó szolgálatot tehet a profile A második kód nyolcszor gyorsabb az elsõnél! Lássuk, hogyan modul. E remek kis modul segítségével könnyen megtalálhat- értük el: a második esetben a modul csupán egyetlenegyszer juk, hol akad el programunk futása. importálódik, a százelemû listát egyszer hozzuk létre, és külsõ Amennyiben programunk egy indito() függvény meghí- változót is egyszer olvasunk be. Ha az a kezdõértékének nullát vásával kezdi el a munkát, annyit kell tennünk, hogy progra- veszünk, az EgyModul.EgyOsztaly.EgySzam értékének munk elejét a következõképpen alakítjuk át: pedig hármat, akkor mindkét esetben hatmilliót kapunk vég- import profile eredményként. Láthatjuk tehát, hogy egyáltalán nem mindegy, profile.run( indito() ) hogyan oldunk meg egy nehézséget – akár egy egyszerû szá- Miután ez lefutott, a profiler megjeleníti a statisztikát, hogy molást is. programunk hány másodpercet töltött el az egyes függvé- Vegyünk két kifejezést: nyekben. szoveg = szoveg1 + + szoveg2 + + szoveg3 Ez a statisztika szedett-vedett, tegyük kicsit rendbe: és import profile szoveg = %s %s %s % (szoveg1, szoveg2, szoveg3) import pstats A második esetben – C-kódban gondolkodva – az egész egy egyszerû függvénnyel megoldható, míg az elsõ esetben profile.run( indito() , eredmenyek.p ) memóriamûveletek sorára van szükség. Így már nem olyan p = pstats.Stats( eredmenyek.p ) meglepõ, hogy az utóbbi megoldás közel ötször gyorsabb p.sort_stats( cumulative ).print_stats(10) az elsõnél. Ebben az esetben a **profile.run()* létrehoz egy eredmenyek.p Egyetlen szabály van tehát, amit fejben kell tartanunk, még- nevû fájlt, mely a profiler kimenetét tartalmazza a pstat pedig az, hogy a kódunk minél rövidebb és egyszerûbb modul által emészthetõ formában. Ezt követõen a fájlt a legyen. Gondolkodjuk a Python „fejével”, és amit csak lehet, Stats() függvénnyel beolvassuk, és megjelenítjük a tíz leg- bízzunk rá. több idõt igénybevevõ függvényt.</p><p>Tegyünk úgy, mintha gyorsak lennénk! Gludovátz Gábor Mint már szó volt róla, grafikus felület tervezésénél a felhasz- náló számára a legfontosabb annak látszata, hogy programun- (ggabor@sopron.hu) Kedvenc idõtöltéseinek kat gyorsnak lássa. Ha a képernyõ elõtt ülve napjában többször egyike a programozás és a Linux lelkivilágá- is ûrlapok során kell végigverekednie magát, nem mindegy, nak alaposabb megismerése. Gyakran éjsza- mennyit kell várnia az egyes ûrlapok között. Az idõigényes kázik a monitor elõtt ülve hosszú kódsorok mûveleteket lehetõség szerint úgy kell csoportosítani, hogy társaságában, és ha ideje engedi, a soproni a felhasználónak inkább egyszer kelljen hosszabb ideig várnia. erdõkben teker kedvenc bringájával.</p><p> www.linuxvilag.hu 2002. április 69 Kovácsmûhely</p><p>Bemutatkozik a Zope A Zope alkalmazáskiszolgáló birodalmában tett villámlátogatásunk során a Zope-ot elõször mint webfejlesztõrendszert vizsgáljuk meg.</p><p> indegy, milyen programnyelvet vagy operációs kell hoznunk egy „file” objektumot rendszert használunk, a webfejlesztés alapvetõen a ZODB-ban. Ha a honlapon képet HTML-fájlok, képek, önálló programok, hibrid szeretnénk megjeleníteni, a ZODB-ban egy MHTML, illetve -kódvázlatok és adatbázis-kapcsolatok tervezé- képobjektumot kell létrehoznunk. Ugyanígy ha egy bizonyos sérõl szól. A tapasztalt fejlesztõk könnyedén tudnak Perlrõl URL meghívása esetén egy adott kódot szeretnénk futtatni, PHP-re vagy ASP-re váltani, hiszen az egyik nyelvrõl a másikra ezt a kódot is a ZODB-ban tároljuk. váltás az elgondolás szintjén csak a lehetõ legkisebb változást Szerencsére az elemek tárolása és lekérése a ZODB-ban igen</p><p>© Kiskapu Kft. Minden jog fenntartva okozza. A paradigmák effajta közeledése a programozóknak egyszerû. A Zope csaknem mindent elvégez helyettünk, és igen kényelmes, igaz, ennek az az ára, hogy a webfejlesztõi néhány magas szintû kapcsoló beállítását már a telepítéskor közösség berkeiben egyre gyakrabban tapasztalhatjuk az öne- lehetõvé teszi. Továbbá a Zope-ot úgy fejlesztették ki, hogy légültség és a lustaság jeleit. webböngészõ segítségével is tökéletesen vezérelhetõ legyen. Szerencsére itt van nekünk a nyílt forráskódú Zope alkalma- Alkalmazhatjuk a Zope webalapú eszközeit, amelyek segítsé- záskiszolgáló, amely felrázhat minket langymeleg elégedett- gével a honlapot anélkül szerkeszthetjük és karbantarthatjuk, ségünkbõl, és a webfejlesztés teljesen új irányába vezethet ben- hogy egyetlen böngészõn kívül bármi mást használnunk kel- nünket. A Zope, amelyet a Zope Corporation (korábbi nevén lene. Tehát lehetõségünk nyílik rá, hogy a honlapon bármely Digital Creations) mûködtet, szinte mindent megváltoztat, amit tartalmat (HTML, képek vagy könyvtárak) mindössze a böngé- a webfejlesztésrõl valaha is tudni véltünk. Ugyan továbbra is szõnket használva készítsünk el, módosítsunk vagy töröljünk. dinamikusan készülõ tartalommal és relációs adatbázisokkal Ha szöveget (és kódot) inkább az Emacsban szeretünk szerkesz- dolgozunk, de a Zope ezt a piacon ma megtalálható alkalma- teni, semmint a Web szövegmezõiben, kapóra jön a ZServer záskiszolgálóktól teljesen eltérõ módon teszi. FTP-felülete, amely a ZODB objektumait úgy jeleníti meg, Ebben a hónapban a Zope-ot webfejlesztési szemszögbõl vizs- mintha fájlrendszer-hierarchiát néznénk. Ha mi (illetve az gáljuk meg. Remélem, sikerül rávilágítanom, miben is külön- általunk kitanított avatatlan csoport) a fájlok webkiszolgálóra bözik a Zope minden más környezettõl. Az általa képviselt való felviteléhez és lehozatalához korábban már használt FTP-t, finomság és hatékonyság bizony igen esélyes versenyzõvé akkor a ZServer FTP-megoldásával a megszokott lépéseket emeli a nyílt forrás rajongóinak kegyeiért folytatott harcban. szinte változtatás nélkül folytathatjuk.</p><p>Mi is a Zope valójában? A Zope telepítése A Zope megértésének egyik fõ nehézsége, hogy valójában nem Mindezen összetett szolgáltatások ellenére a Zope-ot megle- egy, hanem több dologról van szó. Egyszerûbben fogalmazva: põen egyszerû telepíteni. Le kell töltenünk a legfrissebb a Zope minden, amire csak a webalkalmazások fejlesztéshez változatot a  http://www.zope.org-ról (lásd a Kapcsolódó szükségünk lehet. A Zope telepítésével egy egyszerû HTTP-, címek részt). Miután a letöltendõ változatot kiválasztottuk, FTP- és Web-DAV-kiszolgálót (amely Zserver néven ismert), váltsunk Zope könyvtárunkba (ez általában a /usr/local/zope/, egy objektum-adatbázist (ZODB), illetve egy kiszolgálóoldali de bármi megteszi), és csomagoljuk ki a Zope fájlt: alkalmazások fejlesztéséhez szükséges keretrendszert kapunk. A Zope legnagyobb része Pythonban íródott, ami azt is jelenti, mkdir /usr/local/zope hogy a különféle felületek között könnyedén mozgatható. cd /usr/local/zope Bár köztudott, hogy a Perl, a Python vagy a Java nyelveken tar zxvvf /downloads/Zope-2.4.3-linux2-x86.tgz írt programok Linux- és Windows-rendszereken egyformán könnyen futtathatók, még mindig elég szokatlan, hogy egy A Zope archívállomány megnyitásával számos könyvtár kiemelkedõ nyílt forrású rendszer Windows alatt is fut. bukkan elõ: Egy átlagos honlap statikus HTML-fájlok, sablonok és grafikus állományok keveréke. Mikor a HTTP-kiszolgáló kérelmet fogad, • bin, ahol a Zope indító és leállító parancsfájljai rejtõznek; elõször is meghatározza, hogy milyen típusú fájlkérésrõl van • doc, amelyben a teljes Zope-leírás megtalálható; szó (ezt vagy a fájl kiterjesztésébõl, vagy a MIME-típus alapján • lib, ebben a Python- és minden egyéb Zope-alkalmazás tudja eldönteni), majd ha szükséges, a megfelelõ programso- (más néven termékek (products)) tárolódnak; rokat végrehajtja, végül visszaküldi a HTTP-választ. • ZServer, amely a Zserverhez szükséges osztályokat A Zope esetében azonban semmi sem tárolódik a fájlrendsze- tartalmazza; ren. Ehelyett a teljes laptartalom és a programok a ZODB • utilities, amely néhány Zope-pal kapcsolatos segédeszközt objektum-adatbázisban tárolódnak (az adatbázis maga általá- foglal magában. ban egyetlen hatalmas lemezállomány formájában létezik, amelyet menteni lehet, vagy le lehet másolni, így készítve Mielõtt nekikezdhetnénk a Zope-pal való munkának, elõbb biztonsági mentést a Zope-kiszolgálóról.) a telepítõ parancsfájllal telepítenünk kell. Ezt a parancsfájlt Ha például egy egyszerû HTML-fájlra van szükségünk, létre azonban csak akkor futtassuk le, ha a Zope-fájlokat már a</p><p>70 Linuxvilág Kovácsmûhely</p><p> végleges helyükre mozgattuk, mivel a telepítés bizonyos teljes vel is felvihetünk. Lépjünk a Zope saját könyvtárába (ide rendszerre érvényes értékek beállításához a mûködõ könyvtár bármikor visszatérhetünk, ha a bal oldali keret bal felsõ részére nevét használja fel. kattintunk), az új állomány létrehozásához válasszuk a DTML Miután a Zope telepítését befejeztük, a fõ Zope könyvtárban Document lehetõséget a jobb felsõ sarokban található Select található start parancsfájl segítségével akár el is indíthatjuk. type to add... listából (amint azt hamarosan látni fogjuk, a Ez a parancsfájl a Zope HTTP-kiszolgálót alapértelmezés DTML/Document Template Markup Language a Zope kibõvített szerint a 8080-as kapun indítja el (egy másik kapun pedig az HTML-nyelve; a Zope szinte mindig DTML-re hivatkozik FTP-kiszolgálót). Ezeket az értékeket parancssori kapcsolókkal HTML-dokumentumok helyett). megváltoztathatjuk; a kapcsolók teljes listáját a start -help begépelésével kaphatjuk meg. DTML-értékek beállítása Bár a Zope fõként Pythonban íródott, nem feltétlenül szük- Böngészõnkön egy rövid, három részbõl álló HTML-ûrlapot séges, hogy Python telepítve legyen a gépünkön. A Zope saját láthatunk: Python-másolattal rendelkezik, és ezt fogja használni, bármi • Az id szövegmezõ – a Zope alatt minden elemhez egy ID legyen is telepítve az operációs rendszeren. Ezáltal a változat- (azonosító) tartozik, ezeknek az ID-knek az adott mappá- ütközések és hibák esélye mérséklõdik. Jelenleg a Zope Python ban mindig egyedinek kell lenniük. Az ID-k itt ugyanazt 2.1-et használ (azaz az utolsó megbízható változatot), de a szerepet töltik be, mint a lemezen a fájlnevek, azaz arra hamarosan megjelenik a Python 2.2 – érdekes lesz megfigyelni, szolgálnak, hogy az URL objektumait azonosítsák.</p><p> mikor fogja a Zope beilleszteni. A /foo/bar URL-ben, a foo a könyvtárobjektum ID-je, a bar © Kiskapu Kft. Minden jog fenntartva A telepítõ parancsfájl nemcsak a Zope alapbeállítását végzi el, pedig ebben a könyvtárban található objektum azonosító hanem a rendszer admin felhasználója számára egy nehezen ID-je. A Zope-dokumentumoknak hagyományosan nin- kitalálható jelszót is készít. Hamarosan szükségünk is lesz erre csenek kiterjesztései (mint például a .html vagy a .gif); a jelszóra, úgyhogy ne felejtsük el feljegyezni valahová. mivel a rendszer pontosan tudja, hogy az egyes azonosítókhoz milyen típusú objektum tartozik, egy ilyen Zope Felügyelet kiterjesztés használata felesleges lenne. Ha a Zope-ot üzembe helyeztük, hogyan használhatjuk? Nos, az • A cím szövegmezõ – az URL-ekben az objektum ID-je elsõ és legfontosabb lépés a böngészõnk elindítása, majd a saját jelenik meg, de a Zope belsõ kezelõfelületein már az objek- gépünk felkeresése a http://localhost:8080/ URL megadásával. tum címével dolgozunk (az objektum címének semmi köze Így néhány kezdeti Zope-adathoz jutunk, többek között például a HTML <title> (cím) taghoz, amit továbbra is nekünk kell a leírásra és a honlapokra mutató hivatkozásokhoz (elõfordul- elkészítenünk). hat, hogyha esetleg más is fut a 8080-ason, az gondot okoz, • A fájlelem lehetõvé teszi, hogy a helyi géprõl a HTTP-fel- ugyanis például a wwwoffle is azon keresztül fut – a ford.). töltés használatával állományt töltsünk fel. Ez azt jelenti, Hagyjuk itt ezt a bemutatkozó lapot, és lépjünk tovább a Zope hogy a DTML-állományt a helyi gépen kell létrehoznunk, fõ kezelõfelületére, a http://localhost:8080/manage címre. Itt majd amikor ellenõrizni akarjuk, fel kell töltenünk a Zope-ra. meg kell adnunk a karbantartó felhasználói nevét és jelszavát Ebben a példában most a testdoc ID-t írjuk be, és a Test docu- – használjuk azt az admin-jelszót, amit a telepítõ parancsfájl ment címet adjuk meg. Bár ezt a dokumentumot is hozzáad- írt ki nekünk, amikor a Zope-ot elõször telepítettük. hatnánk már a ZODB-hez, így még üresen maradna. Ezért Amennyiben a jelszót helyesen gépeltük be, böngészõablakunk az Add and edit gombra kattintunk, így szövegmezõhöz két függõleges részre oszlik: a bal oldali rész a Zope-kiszolgáló jutunk, ahol rögtön alapértelmezett tartalmat is találunk: szerkezetét mutatja, míg a jobb oldali részben az éppen kivá- lasztott objektumot vizsgálhatjuk meg részletesen. <dtml-var standard_html_header> <h2><dtml-var title_or_id></h2> Alapvetõ tartalom készítése <p> Nem nehéz megérteni, mi történik akkor, amikor a /foo/bar This is the <dtml-var id> Document. dokumentumot lekérjük az Apache-kiszolgálótól. Az Apache </p> megnézi, van-e bar nevû fájl a foo könyvtárban a dokumen- <dtml-var standard_html_footer> tumgyökér alatt. Ha létezik ilyen fájl, az Apache beolvassa a lemezrõl, és a tartalmát HTTP-válaszként visszaadja. Ha a fájl Ha akarjuk, ezt a szöveget a szövegablakban át is szerkeszt- CGI-program, akkor végrehajtja a programot, és a kimenetet hetjük. Mikor végeztünk, kattintsunk a Save changes (változá- adja vissza HTTP-válaszként; és végül, ha a fájl nem létezik, sok mentése) gombra a képernyõ alján. Ez a gomb visszavisz az Apache a felhasználó böngészõjének hibaüzenetet ad. bennünket a szerkesztõablakra, de beilleszt egy emlékeztetõt, A Zope az URL-eket másképpen értelmezi; a /foo/bar URL pél- ami megmutatja, hogy a dokumentumot mikor módosították dául azt jelenti Zope alatt, hogy a foo-objektumban található utoljára. barobjektum megjelenítõ eljárását meg kell hívni. Ha nem léte- zik foo- vagy barobjektum, a Zope hibaüzenetet ad vissza, A DTML használata amelyben arra figyelmeztet bennünket, hogy a ZODB-ben nem DTML-dokumentumunk igen hasonló a HTML-hez, eltekintve talált ilyen objektumot. attól, hogy néhány <dtml-var> kezdetû tagot tartalmaz. Természetesen, ha minduntalan megjelenítõ eljárások írásával A DTML tulajdonképpen programozási nyelv, ami sok min- és objektumok létrehozásával kellene veszõdnünk, a Zope sem dent lehetõvé tesz, de talán egyszerûbb (és jobb) úgy gon- volna több egy különleges programozói játékszernél. Szeren- dolnunk rá, mint egy igen erõs kiszolgálóoldali beillesztõ csénkre a Zope lehetõvé teszi, hogy számunkra a ZODB hierar- (include) szerkezetre. Ahogy a példadokumentum is bemu- chikus fájlrendszernek látszódjon, ahol HTML-fájljainkat és tatja, a <dtml-var> alkalmazásával dokumentumunkba grafikáinkat elhelyezhetjük. dinamikus értékeket illeszthetünk. Így a <dtml-var Például egy egyszerû HTML-fájlt akár a böngészõnk segítségé- standard_html_header> a standard_html_header</p><p> www.linuxvilag.hu 2002. április 71 Kovácsmûhely</p><p>ID-jû objektum tartalmát illeszti be, míg a <dtml-var id> <p> a pillanatnyi dokumentum azonosítóját helyezi a tartalomba. <dtml-var expr="_.string.capitalize(·abc·)"> Akár ki is találhatnánk: a <dtml-var title_or_id> a címet </p> vagy az azonosítót jeleníti meg aszerint, hogy címet megad- tunk-e vagy sem. Figyeljük meg, hogy a string.capitalize() függvényt Mikor a Zope egy <dtml-var standard_html_header>- nem hívhatjuk meg közvetlenül, csak kifejezést talál, a standard_html_header azonosítójú objek- a _.string.capitalize() -t. tumot elõször a pillanatnyi könyvtárban keresi. Ha létezik Ugyan a DTML lehetõvé teszi, hogy a string-modult ilyen ilyen objektum, a <dtml-var> tagot ennek látható tartalmával módon használjuk, de soha nem lesz rá szükségünk, hogy helyettesíti. Ha nem létezik, a Zope a keresést a felsõbb könyv- közvetlenül hívjuk meg, olyan sok hasznos karakterkezelõ tárakban is megismétli. Így az egész szerkezetet végigjárja, míg függvényt találunk a DTML-be építve. végül el nem ér a saját könyvtárig. A DTML tervezõknek és nem programozó felhasználóknak Ez azt jelenti, hogy az önmûködõen beillesztett fejlécek és készült azért, hogy saját dinamikus tartalmukat a kiszolgáló- láblécek nemcsak a használt <dtml-var> tagoktól függenek, oldali include állományok gyenge írásmódjával és a kevés hanem DTML-dokumentumunk helyétõl is. Ezt az igen lénye- leírással való bajlódás nélkül készíthessék el. Természetesen ges és hasznos jelenséget, miszerint az objektum objektumhi- egy nem programozónak a DTML-t nem olyan könnyû megta- erarchiában elfoglalt helye befolyásolja a kimenetet, a Zope nulni, mint egyesek gondolnák, de minden bizonnyal sokkal</p><p>© Kiskapu Kft. Minden jog fenntartva világában szerzeményezésnek (acquisition) nevezik. A szerze- könnyebb, mint egy teljes értékû programnyelvre tanítani meg ményezés révén minden egyes könyvtárhoz más és más fej- és õket. Ráadásul a Zope a DTML-dokumentum mentésekor bizo- láblécet rendelhetünk. Ha dokumentumunkat az egyik könyv- nyos fokú hibaellenõrzést is végez, ami segít elkerülni néhány, tárból a másikba helyezzük, megváltoztatjuk a Zope által hasz- a futásidejû nyelveknél gyakori hibát. nált keresési utat, amelyet a fejlécek és láblécek, illetve más objektumok azonosításához használ. Az objektum viselkedése Összefoglalás tehát a Zope-ban nemcsak a meghatározástól függ, hanem az Ebben a hónapban villámlátogatást tettünk a Zope világának objektumhierarchiában elfoglalt helyétõl is. Ezért a szerzemé- berkeiben, megismerhettük a Weben keresztüli szerkesztést, nyezést gyakran írják le a biológiából ismerõs „nature vs. a karbantartó felületet, a szerzeményezést, és egy egyszerû nurture” (öröklött vagy tanult) vita megfelelõjeként: az objek- DTML-dokumentumot is szemügyre vehettünk. A következõ tum meghatározását tekinthetjük „öröklött tulajdonságnak” hónapban a Zope termékeit ismerjük meg – megnézzük, mi- (nature), míg az objektumhierarchiában elfoglalt helyét „tanult képpen kell õket letölteni és telepíteni, illetve hogyan írhatjuk képességnek” (nurture). meg a saját változatainkat. A dokumentum pillanatnyi tartalmának megtekintéséhez a keret tetején kattintsunk a View fülre. A dokumentumtartal- Reuven M. Lerner mat pontosan úgy fogjuk látni, ahogy a felhasználó látná. Ha a dokumentumot ismét szerkeszteni szeretnénk, a legegysze- (reuven@lerner.co.<a href="/tags/IL_(network_protocol)/" rel="tag">il</a>) kisebb webes és rûbb, ha a bal felsõ sarokban található Root folder hivatkozásra internetes módszerekkel foglalkozó tanács- kattintunk, kiválasztjuk a testdoc objektumot, majd a szöveg- adó cég tulajdonosa és vezetõje. A cikk mezõt tetszés szerint átszerkesztjük. megjelenésének idõpontjában valószínûleg Ha a DTML szerkesztése közben hibát vétünk, nem árt tudni, már végleg elkészült Core Perl címû könyvé- hogy a Zope végtelen visszalépési lehetõséggel rendelkezik. vel, melyet idén jelentet meg a Prentice-Hall. Az ATF honla- Kattintsunk az Undo (visszalépés) fülre a DTML-szerkesztõ- pon érhetõ el ( http://www.lerner.co.il/atf/). ablak jobb felsõ részében, és válasszuk ki azt a változatot, amelyikhez vissza szeretnénk térni. A végtelen visszalépés az egyik kedvenc szolgáltatásom a Zope-ban, nemcsak azért, mert lehetõséget ad hibáim kijavítására, hanem mert a nem programozók számára is könnyen elérhetõ, és bármilyen Kapcsolódó címek típusú objektummal mûködik. A nyílt forráskódú Zope-alkalmazást a Zope Corporation, régebbi nevén a Digital Creations kezeli és írja. Bõvebb Más DTML-eljárások tájékoztatást a Zope Corporation honlapján találunk a Számos DTML-tag létezik, valamennyit a dtml-kezdet külön-  http://www.zope.com címen. bözteti meg. A legtöbb DTML-tag egy vagy több értéket is el- A Zope hivatalos fejlesztõi közösségének oldala a fogad, ahol minden érték az alapértelmezett mûködést változ-  tatja meg egy kicsit. Példadokumentumunkat például átalakít- http://www.zope.org címen érhetõ el. Egyúttal ez az hatjuk, hogy a következõ egyszerû tagot használja: a honlap, ahonnan a legújabb változatokat letölthetjük, megvitathatjuk felmerült kérdéseinket, letölthetjük a Zope- <dtml-var expr>: termékeket, illetve tagjává válhatunk a Zope fejlesztõkö- <p><dtml-var expr="5+10"></p> zösségnek. Beehive Book of Zope c. könyve, melyet a No Starch A fenti kódban az expr egyszerû Python-kifejezés. A Zope Press és a Linux Journal Press közösen adtak ki, kitûnõ kiértékeli a kifejezést, és az eredményt a dhtml-tag tag helyére bemutató írás Zope-programozóknak és -felhasználóknak illeszti. Egyszerû összeadás helyett valami érdekesebbet is egyaránt. A teljes körû ismertetés a következõ havi kipróbálhatunk, például a string modulból használhatjuk Linuxvilágban jelenik meg. a nagybetûsítõ (capitalize) eljárást (ami önmûködõen impor- tálódik a Zope-ba), ha az értékén belül nevezzük meg:</p><p>72 Linuxvilág Kovácsmûhely</p><p>A LinuxBIOS</p><p>Eric megmutatja nekünk, hogy a LinuxBIOS elfogadása és teljesítménye mennyire felkeltette a beágyazott és a fürtözött rendszerek fejlesztõinek figyelmét.</p><p>öbb mint egy éve dolgozom a Linux NetworX-nél firmware majdnem ugyanott található, ahol az Alpha esetében T LinuxBIOS-fejlesztõként, és ez idõ alatt rengeteg min- az SRM. Az Open Firmware esetében jó néhány egyéni vonás- dent meg kellett tanulnom. Most már bizton kijelent- sal találkozhatunk: több processzoron és kiépítésen mûködõ- hetem, hogy a Linux rendszermagja igazi profi munka, a képes; Forth-alapú bájtkódot használ, így a futtatható prog- C nyelv pedig igazán magas szintû nyelv. ramok nem processzorfüggõek; ezenkívül a rendszer indítá- sakor végrehajtódó utasítások legjavát a Forth-alapú bájtkódot Mi is a LinuxBIOS? átalakítva kapja.</p><p>Mikor a mikroprocesszor elindul, szépen sorban elkezdi végre- © Kiskapu Kft. Minden jog fenntartva hajtani a ROM-ban található utasításokat. Ezek az utasítások felelõsek az alkatrészek felkészítéséért, elsõsorban a RAM enge- délyezéséért, majd pedig az operációs rendszer betöltéséért. Ennek a rendszernek a felépítése és kezelõfelülete géprõl-gépre változó, de alapjában véve mégis mindenhol ugyanaz. ROM Az Alpha-alapú rendszer esetében a mikroprocesszor beolvassa az egész soros ROM-ot – azaz az SROM-ot – a gyorstárba, majd elkezdi végrehajtani az utasításokat. Az itt található kód feladata, hogy elõkészítse a mikroprocesszort, a RAM-ot, és hogy egy flash EEPROM-ból betöltse az SRM-et. Ezt követõen a mikroprocesszor végrehajtja az úgynevezett palcode-ot (alap- vetõen a valódi Alpha-rendszermagot), elõkészít még néhány alkatrészt, végül pedig elindítja az operációs rendszert. Mivel Processzor RAM Operációs a gépi szinten futó program (firmware) két részre van osztva, rendszer az SRM frissíthetõ vagy akár teljesen lecserélhetõ. Az eredeti Alpha-elképzelés szerint a gépi kódnak operációs rendszeren- ként különböznie kell (az SRM-szintjén). 1. ábra A rendszerindítás lépései Az x86-os processzor 16-bites módban kezdi meg mûködését, és kezdetben a 16-bites CS regiszter a 64 K-s címterület végére Az Itanium/IA64 úgynevezett EFI gépi szinten futó kódot mutat. A 8086-oson ez a cím 0xF000:0xFFF0 == 0xFFFF0, pont használ, mely inkább felületfüggõ, mint az Open Firmware, 1 MB alatt. 80386 vagy annál újabb mikroprocesszor esetében mivel meghajtói vagy IA32- vagy IA64-kódra épülnek. Felé- a cím 0xFFFFFFF0, pont 4 GB alatt. A 286-osnál és késõbbi pítését nézve is jóval bonyolultabb annál, az EFI ugyanis Intel-modelleknél a CS tartalma nem tölthetõ tetszõlegesen IP-vermet és fájlrendszermeghajtókat is tartalmaz. Hasonlóan bármikor újra, emiatt a rendszer a ROM-ot a 0xFFFF0000 és az Open Firmware-hez a kezdeti alkatrész-készenléti állapot 0xF0000 címeken is elérhetõvé teszi. itt sincs meghatározva. Az Alphával ellentétben az x86-os rendszerek a ROM-ban A Linux-rendszermagnak a gépi kóddal szemben támasztott található utasításokhoz egyenként férnek hozzá. Mivel a ROM követelményei csekélyek, mivel az eszközöket közvetlenül valójában ISA-eszköz, kezdetben, amikor még nincs semmilyen hajtja meg, a BIOS közremûködése nélkül. Mivel a rendszer- gyorstár engedélyezve, a benne található kód végrehajtása mag nem használja a BIOS-t, az alkatrészek elõkészítése a nagyon lassú, illetve az is ennek a következménye, hogy a lap- BIOS részérõl egyszerûen felesleges. Ez a megközelítés nem kakészletnek szinte teljesen fel kell állnia ahhoz, hogy a ROM- csak a Linuxra jellemzõ, ugyanis nem ismerek olyan korszerû hoz hozzáférjünk, mivel az ISA eléréséhez elég hosszú utat kell operációs rendszert, amely ne ezt az irányvonalat követné. végigjárnunk a processzortól az északi hídig, a PCI-síntõl a déli A jelenlegi operációs rendszereknek mindössze egy alapvetõ hídig, és csak ezután érünk az ISA-hoz. Ha ezzel tisztában rendszerelõkészítõ szolgáltatásra van szükségük. A különleges vagyunk és van egy jó alaplapunk is, nagymértékben meg- eszközmeghajtók és rendszerjellemzõk, amelyeket az EFI, az könnyíti a helyzetünket, ha a rendszer indulásánál mûködésbe Open Firmware vagy akár a PCBIOS biztosít, egyáltalán nem lépõ eszközök valamelyikén végzünk hibakeresést. szükségesek, kivéve azokat a részeket, amelyek az operációs Az alap PC BIOS feladata közé tartozik: az alkatrészek fel- rendszer betöltéséhez szükségesek. Mivel ezekre a kódokra készítése az indulásra, az operációs rendszer betöltése, és nincs szükség, a LinuxBIOS-ban nem is találhatók meg. az operációs rendszer futtatása közben bizonyos szolgáltatá- A LinuxBIOS kódja elégséges ahhoz, hogy egy Elfben kódolt sok biztosítása (többnyire a legszükségesebb eszközmeghajtók programot betöltsön a flash ROM-ból. Ilyen program lehet egy formájában). operációs rendszer rendszermagja mint a Linux-rendszermag, A gépi szinten futó kódot a SPARC és a PowerPC esetében is de a legtöbb esetben ez mégis valamilyen alkatrészvizsgáló meghatározták, melyet OpenBoot, Open Firmware vagy az program vagy rendszerbetöltõ eljárás (például Memtest86, egykori IEEE1275-ként is ismerünk. A szabványosított Forth Etherboot vagy a RedBoot).</p><p> www.linuxvilag.hu 2002. április 73 Kovácsmûhely</p><p>Ha a LinuxBIOS mellé rendszerbetöltõt rendelünk, alkalmas gendõ adatot tartalmaz ahhoz, hogy az IRQ-útválasztás megfe- lesz az operációs rendszer betöltésére. A LinuxBIOS eredeti lelõen kezelhetõvé váljon. Ráadásul az ötlet úgy tûnik, megfe- ötlete az volt, hogy a Linux-rendszermagot a ROM-ból töltsük lelõen illeszkedik a 2.5-ös rendszermaghoz tervezett eszközfa- be, és a rendszerbetöltõ eljárást arra építsük. Az nbc nevû struktúrához. Az ACPI látszólag választható megoldást kínál, rendszerbetöltõ program ezt az ötletet valósítja meg: a háló- de meglehetõsen PC-centrikusnak tûnik, emellett a feldolgo- zaton keresztül betölti a Linux-rendszermagot, vagy valami- zott byte-kód szükségtelen, sõt veszélyes is lehet. lyen önmûködõ programot, majd a rendszert a kexec rendszer- magfolt (kernelpatch) segítségével elindítja. Ez a megoldás Kivitelezhetõ a LinuxBIOS? nagyszerûen mûködik, ha 512 KB vagy annál nagyobb ROM A rendszerindító ROM-hardver felépítése az elsõ IBM PC óta áll a rendelkezésünkre, viszont a manapság kapható alaplapok rengeteget fejlõdött, így manapság szinte minden számítógép többsége sajnos csupán 256 KB ROM-mal rendelkezik. Az x86- helyben frissíthetõ BIOS-szal rendelkezik, mely hibás frissítés os felület esetén szinte teljesen lehetetlen a 360 KB-nál kisebb esetén az eredeti állapotába állítható vissza. Ennek következ- rendszermag összeállítása. tében általános eljárásnak mondható, hogy az alaplapon a flash ROM-ot egy foglalatban helyezik el. A flashlapka a program számára lehetõvé teszi, hogy frissítse a tartalmát, mindemellett a foglalat a lapka cseréjét is biztosítja, ha a frissítés valamilyen okból nem sikerül. Ilyen típusú kiépítéssel már lehetséges Operációs rendszer © Kiskapu Kft. Minden jog fenntartva egyéni rendszerindító gépszintû programok elõállítása. A fris- vagy program sítéshez nincs szükség speciális eszközre, és ha a fejlesztés során elromlik valami, visszaállítható az eredeti állapot. A jelenlegi PC-kiépítések hátránya, hogy a normál 256 KB-s Memóriába tölti az rendszerindító ROM-ok túlságosan kicsik. Ez a hely elég Betöltõprogram operációs rendszert egy gépi kód számára, de nem elegendõen nagy a Linux- vagy a programot rendszermagnak. A Linux-rendszermag ugyanúgy képes LinuxBIOS-ból futni, mint az általános PCBIOS-ból, ha az átültetést megfelelõen LinuxBIOS Alkatrész-felkészítés elvégezzük el. A LinuxBIOS-t a mai napig három alaplapra is (RAM, PCI, SCSI stb.) sikeresen átültettem. A legutóbbi alaplapon már nem lehet kü- lönbséget tenni, hogy a rendszert a PCBIOS-ból vagy a Linux- BIOS-ból indítottuk-e el. Tehát a meglévõ technikai akadályok ellenére úgy tûnik, hogy a LinuxBIOS-t sikerül, illetve már 2. ábra A Linux BIOS betöltése sikerült is átültetnünk újabb rendszerekre. A fentieken túl az is kulcskérdés, hogy a fejlesztõnek hozzáfé- Ennek az akadálynak a megkerülésére – mely a nem elégséges rése legyen a megfelelõ szintû dokumentációhoz. A számító- ROM-méretbõl fakad – különbözõ elképzeléseket dolgoztak ki. gépgyártók eddig csak nehezen tûntek rábeszélhetõnek arra, Közülük az egyik a Tiara, mely teljes gépi kód- és rendszerbe- hogy támogassák a LinuxBIOS-t, vagy akár arra, hogy megfe- töltõ a SiS630-as lapkakészlethez; ilyen még az Etherboot, ame- lelõ minõségû dokumentációt biztosítsanak valaki számára, aki lyet átdolgoztak, hogy együttmûködjön a LinuxBIOS-szal, végül lekódolná azt. A korlátozott támogatás vagy akár annak valamint a RedBoot, ez azonban még nem teljesen mûködõké- teljes hiánya nem minõsül új dolognak a szabad programot pes. Ezenkívül még különbözõ foltokat készítettek a Linux- használók számára, ezt a nehézséget eddig is megoldottuk va- BIOS-hoz is, amelyek segítségével ez a nehézség megkerülhetõ. lahogy, és most sem adhatjuk fel miatta a reményt. Nem sza- Az Alpha gépi kódjának olyan programra van szüksége, amely bad elfelejteni, hogy efféle erõfeszítések nélkül nem születnének ismeri az alaplapot, amelyen fut, és ez gondokat okozhat. olyan új gépek, melyeken szabad programot futtathatunk. Emiatt az újabb alaplapok támogatása a felmerülõ frissítések mennyisége miatt esetenként nagyon nehéz lehet. A Linux- Milyen alkalmazások léteznek a LinuxBIOS-hoz? BIOS fejlesztése során megteszünk minden tõlünk telhetõt, Jelenleg két érdekeltségi kör dolgozik a LinuxBIOS-on: az hogy ezt a hibát elkerüljük. egyik beágyazott rendszereket készít, míg a másik nagyteljesít- A hagyományos x86-os megközelítéssel kezdünk: felkészítjük ményû számítógépfürtöket. Ezen alkalmazások számára az õsi a Super-IO lapkákat a munkára, beállítjuk a kezdeti értékeket x86 gépszintû program elégséges. (például a soros kapukat az alapértelmezett címeikre, az IRQ- A LinuxBIOS nagy karrier elõtt áll a beágyazott alkalmazások kat stb.), majd elérhetõvé tesszük az IRQ útválasztási tábláza- terén. Mivel a GPL licenc alatt fejlesztik, a LinuxBIOS teljesség- tokat, illetve az SMP számára az úgy nevezett mp-táblákat. gel jogdíjmentes. A LinuxBIOS-nak mindössze 64KB elegendõ, Hosszú távon egy táblázatban tároljuk az azonnal használható, nem pazarolja a ROM-ot szükségtelen feladatokra. Mivel a azonosított lehetõségeket. Ez a programlista tárolja, milyen LinuxBIOS modern felépítésû, rendkívül gyorsan indul, még alkatrészek állnak rendelkezésünkre, illetve beállítja, hogy ezek kódoptimalizálás nélkül is. közül melyeket fogja a számítógép használni, vagy legalábbis 2001 augusztusában a General Software-nek egy beágyazott megadja, hogy az egyes eszközök milyen erõforrásokat rendszeren újraindítás után 0,8 másodperc alatt sikerült eljut- használnak. nia a LILO-kiírásig. Ez az adott feladathoz képest elfogadható- A megoldás, melyen dolgozom, egy táblázat karbantartását nak mondható, de a LinuxBIOS esetén egy ilyen jó eredmény teszi szükségessé, mely az eszközök egymáshoz és az alaplap- teljesen rutinszerû. Ha hidegindítás után a rendszermagot hoz való kapcsolódásáról tárol adatokat. Ez a táblázat tartal- hálózatról töltjük be, a rendszerindulás egy kétprocesszoros mazza az összes olyan eszközt, melyet egyetlen azonnal hasz- kiszolgálófarm esetén mindössze két másodpercet vesz igénybe nálható (Plug-and-Play) felsorolás sem foglal magában, és ele- – a LinuxBIOS hatékonnyá tétele nélkül.</p><p>74 Linuxvilág Kovácsmûhely</p><p>A LinuxBIOS eredményei a SiS-t olyannyira meggyõzték, hogy Milyen alkatrészeket támogat a LinuxBIOS? egy fejlesztõjüket megbízták a LinuxBIOS saját alaplapjaikra A LinuxBIOS jelenlegi állapotában 13 különbözõ alaplapot való átültetésével, megcélozva a beágyazott rendszereket és jól támogat. A LinuxBIOS ugyanúgy fut az egyes x86-kiépítése- támogatott felületet hozva létre. ken, mint Alphán. Az AMD Athlon, az AMD Duron, a Pentium Számítógépfürtök esetén – amelyekkel a Linux NetworX fog- II és Pentium III, az Alpha 211264 CPU-k, az ALI m1631, a lalkozik – a LinuxBIOS úgyszintén nagy jövõ elõtt áll. A soros Digital Tsunami, az AMD 760, az AMD 760MP, az Intel 440BX, kapu az alapértelmezett rendszerkonzol, így nincs szükség az Intel 440GX, a VIA VT8601, a SiS540, a SiS550, a SiS630 és videóalkatrészre. A soros kapcsolatok egy központi terminál- a SiS730 már mind-mind képesek futtatni a LinuxBIOS-t. Most kiszolgálón könnyedén átirányíthatók, hogy távolról hozzá- csak azokat soroltuk fel, melyeket a mostani LinuxBIOS már férjünk a gépek rendszerkonzoljaihoz. A soros konzol kezdeti tartalmazza és mûködõképesek, de nem említettem a még szakasza is elõnyökkel jár, például a LinuxBIOS ezen keresztül fejlesztés alatt álló, illetve a LinuxBIOS-ban még nem szereplõ átírásokat. Tehát annak ellenére, hogy az alkatrész-támogatás korlátozott, a lista mégis folyamatosan nõ. A LinuxBIOS jelen pillanatban nincs egyetlenegy lapkakészlethez, gyártóhoz, vagy processzorkiépítéshez sem kötve. A számítógép-támogatás minõsége változó. A lapkakészlet oldaláról nézve, a SiS-lapkakészletek támogatása a legfejlet-</p><p> tebb. Az Intelnek és az AMD-nek egyaránt megvan a maga © Kiskapu Kft. Minden jog fenntartva alapvetõ politikája lapkakészleteik leírásával kapcsolatban, így mindkét gyártó támogatottsága elég jó. A Via leírásai nyilváno- san sajnos nem hozzáférhetõk, így az õ termékeik támogatása meglehetõsen nehéz. A processzoroldalon a Compaq a lényeges részleteket nyilvá- nossá tette, így az Alphák támogatása kivitelezhetõ. Ezzel szemben mivel az Alpha-processzorok elég drágák, ráadásul jelen pillanatban a jövõjük is elég kétséges, a támogatásuk nem elsõdleges szempont. A Pentium II és Pentium III processzorok nagyon jó leírással rendelkeznek, kivéve ami a másodszintû (L2) gyorstárukat illeti, de a LinuxBIOS már azt is támogatja. Az AMD Athlon és Duron nem olyan jól támogatott, mivel az AMD nem tett képes a különféle alkatrész- vagy egyéb hibák jelentésére. Egy nyilvánossá minden olyan részletet, amelyre a fejlesztésekhez egyszerû BIOS, még ha rendelkezik is soroskonzol-kiegészítés- szükség volna. sel, a soros kaput túl késõn nyitja meg ahhoz, hogy néhány Az alaplapgyártó oldaláról a támogatás nem feltétlenül hibát idõben észlelhessen, és rendszerint egy üres CMOS vég- szükséges, mivel a legtöbb esetben az alaplapon található zetes hatással van a rendszerindításra nézve. eszközökrõl az elsõ pillanatban megállapítható, hogy mivel A legtöbb rendszeren a LinuxBIOS lehetõvé teszi a hálózaton van dolgunk. keresztüli rendszerindítást, ezáltal a DHCP-kiszolgálón keresz- Az alaplapgyártók alaplapjaikhoz csak egyetlen gépszintû tül az indítási beállításokon akár egy egyszerû módosítással program támogatásában érdekeltek. Mivel a LinuxBIOS egyéb változtathatunk. Mivel a kód szabad forrású, ha a hálózati operációs rendszerekhez nem tartalmaz támogatást, különösen tulajdonságok nem megfelelõek, könnyedén módosíthatunk a Windowshoz nem, jelenlegi formájában a LinuxBIOS alkal- rajtuk. A gyors újraindítás a LinuxBIOS esetén azt jelenti, mazásában nem különösebben érdekeltek. hogyha valamilyen hibát keresel, és ehhez újra kell indítanod az egyik csomópontot, a gépújraindítási folyamat nem a rend- Összegzés szergazda idejét rabolja. A LinuxBIOS segítségével betekintést nyerünk abba, hogyan A LinuxBIOS nyíltsága és Linux-központúsága azt eredmé- mûködik a gépszintû program, hogyan épül fel, hogyan nyezi, hogy beállításai Linux alól módosíthatók. Így minden, írták és milyen a felhasználói szerzõdése. Ahogyan a számí- ami a felhasználó parancssorából módosítható, a hálózaton tógépek egyre egybevontak, a LinuxBIOS fokozatosan ru- keresztül is megváltoztatható. Azonos gépekbõl összeállított galmasabbá válik, és nagyobb lehetõséget biztosít a kód-újra- telepek esetén ezzel rengeteg idõ nyerhetõ, mivel a gépszintû felhasználásra. Ennek köszönhetõen remélhetõleg egyre programokon a változtatások központilag elvégezhetõk, és elterjedtebbé válik majd, és ezáltal még nagyszerûbb nem kell õket külön-külön minden csomópontnál végrehajtani. LinuxBIOS-t kapunk. Nagyszámú gép esetén a számítógéphibák jóval valószínûbbek, mint egyetlen gép esetén. A LinuxBIOS kis gépigényeivel – Eric Biederman nem szükséges hajlékonylemez vagy CD-ROM-meghajtó, és merevlemezre sincs feltétlenül szükség – egy kevésbé drága, (ebiederman@linuxnetworx.com a Linux ugyanakkor jóval megbízhatóbb rendszert kapunk. Minél NetworX-nél dolgozik programfejlesztõként. kevesebb gépet használunk, annál kisebb a kockázata egy eset- Elsõdleges feladata a LinuxBIOS, valamint leges számítógép-meghibásodásnak. segédkezni a számítógéptelepeket karbantartó Fürtök esetén a csatlakoztatott számítógépek a LinuxBIOS programok tervezésénél. Ha Eric éppen nem segítségével beállíthatók, hogy viselkedjenek úgy, mintha a LinuxBIOS-szal van elfoglalva, szívesen olvas sci-fi-t, vagy egyetlen számítógép lennének, ahelyett, hogy úgy nézzenek játszik a DOSEMU-val, emellett szabadidejét szívesen tölti ki, mint összekötött számítógép-csomópontok halmaza. a Salt Lake City mellett található Wasatch-hegyekben.</p><p> www.linuxvilag.hu 2002. április 75 Fogadó a Linuxhoz</p><p>Parancsállományok a Weben és egyéb helyeken Marcel a legközelebbi forgatókönyved vázlatkészítéséhez és összerendezéséhez mutat néhány egyszerû módszert.</p><p> rançois, mon ami, mit csinálsz? Látom, szabad utat engedtél alkotói vénádnak. Sárkányok, ûrhajók, világ- körüli Linux-rendszerek… lenyûgözõ történet. Látom, Faz étterem is a díszlet részét fogja képezni – csodálatos! De vajon mi okból dolgoztatod ennyire a szürkeállományodat, François? Vagy úgy! A Linuxvilág 2002. áprilisi számának kö- zéppontjában a webes parancsállományok (web scripting) írása</p><p>© Kiskapu Kft. Minden jog fenntartva áll, és te épp forgatókönyvet írsz (script) egy bemutatandó internetes mûsorhoz (a script szó parancsállományt és forgató- könyvet is jelent az angolban – a ford.). A Világhálóra írsz forgatókönyveket? És miért korlátozod magad a Webre, miért nem írsz rádiós, televíziós vagy színpadi bemutatóra is? A megfelelõ eszközzel és a Linuxszal bármire készen állsz. Siess a pincébe, François, megérkeztek a vendégeink! Hozd fel az ausztráliai Margaret River Chardonnayt – remek bor: illatos és gondolatébresztõ. Vite! Amíg François felhozza a bort, elmagyarázom, mi történt, 1. kép Gnome Think kedves barátaim. Hûséges pincérünk sajnos félreértette e havi vezérfonalunkat. Éppen egy forgatókönyv írásán fáradozik, Természetesen nem kell remélve, hogy a világhálós bemutatója sikert arat majd. Ahe- olyasmit letöltened, amit lyett, hogy kiábrándítanánk, a mai menüt a téma köré szervez- nem akarsz. Jó eséllyel a zük, vagyis történeteket fogunk életre kelteni. rendszered már rendelke- Egy jelenet megtervezése és a tökéletes színpadi beállítás meg- zik a legendás Emacs 2. kép Belépés az teremtése némi fortélyt igényel ahhoz, hogy gondolatainkat szerkesztõvel. Grafikus fe- Emacs Outline üzemmódjába megfelelõen tudjuk elrendezni és áttekinteni. Pontosan ez lület futtatására sincs szük- járhatott Peter Teichman fejében is a Think nevû Gtk/Gnome- séged, hiszen az Emacs szöveges módban is elboldogul. Miért alkalmazás megírásakor, amellyel rangsor szerinti dokumen- is ne próbálnánk ki a vázlatüzemmódot, amikor olyan egysze- tumvázlatot hozhatunk létre, majd az eredményt XML-doku- rûen használható? mentumként menthetjük. Ha gyors pillantást akarsz vetni a Indítsd el az Emacsot az emacs ÆllomÆnynØv paranccsal. Thinkre, látogass el a Ha az állomány még nem létezik, az Emacs létrehozza. Ezzel  http://primates.ximian.com/~peter/think címre és töltsd le az Emacs szerkesztõmódjába jutunk. Ahhoz, hogy a vázlatszol- a legfrissebb forrást. A kód kibontása után a hagyományos gáltatást kipróbáld, az ESC-X-et, majd az outline-mode-ot kell ./configure lépéshármast követhetjük: választanod (lásd a 2. képet). Most már csak el kell kezdenünk a gépelést. A szint (a Think tar -xzvf think-0.2.1.tar.gz kifejezését használva: csomópont) jelzéséhez csupán egy cd think-0.2.1 csillagot (*) gépeljünk be, alszint létrehozásához kettõt (**) és ./configure így tovább. Ezek alá a címsorok alá a többi szerkesztõprogram- make hoz hasonlóan bármit beírhatsz. Egy szint, alszint vagy faszer- make install kezet elrejtéséhez az Emacs a CTRL-C szekvenciákat alkalmazza. Az elsõ táblázatban láthatunk is néhányat. A Think futtatásához a think & parancsot kell begépelned. Természetesen, ha X grafikus módban futtatod az Emacsot, Az 1. kép a programot mûködés közben mutatja. az egérrel a menüsoron egyszerûen csak a Show (mutat) és E kis gondolatrendszerezõ alkalmazása során csomópontokat Hide (elrejt) menüpontokra kell kattintani. Amikor elrejtünk és alcsomópontokat kell létrehoznunk, olyan nevet adva egy szintet, csak az elsõ sora vagy a cím jelenik meg, amelyet nekik, ami kicsit többet mond annál, mint az üres csomópont három pont (…) követ, az ezt követõ adat rejtve marad. (empty node). Minden csomóponthoz szöveget rendelhetünk. A 3. képen éppen „Mystery of the Missing Wine (A lábakélt Például a párbeszéd szövege a második jelenetet írja le, ami bor rejtélye)” címû mûvemen dolgozom az Emacs vázlatmód- az 1. felvonás egyik alcsomópontja. E csomópontok mind- ját használva. egyike a „fogd és dobd” módszerrel helyezhetõ át a bal oldali Amikor Christopher Tomaras Lansdowne vígjátéktervet akart lista tetszõleges helyére. A dokumentum szerkezetének írni, egy kis Perllel és XML-lel kezdett foglalkozni, majd a átláthatóságához bármelyik fõcsomópont egyetlen sorrá GScriptWriterben összekapcsolta õket. Ez olyan Gtk-eszköz, csukható össze. amellyel egy történetet írhatunk körül, új szereplõket vehetünk</p><p>76 Linuxvilág Fogadó a Linuxhoz</p><p> fel, akiket legördülõ listából választhatunk ki, amikor párbeszé- A következõ fogás neve Phorum. A Phorum ingyenes, nyílt deket vagy cselekményt szeretnénk hozzájuk rendelni. Ez az forráskódú alkalmazás, amely egyszerû, az Apache-éhoz egyszerû kis program a dokumentum HTML-ként való men- hasonló felhasználási szerzõdéssel terjeszthetõ. Futtatásához tésekor is szép munkát végez. Apache-kiszolgáló szükséges, amelyen engedélyezzük a PHP-t, A GScriptWritert a valamint egy támogatott adatbázistípust kíván meg, amely  http://cs.alfred.edu/~lansdoct/linux/gscriptwriter címre például PostgreSQL, MySQL vagy Sybase lehet. A Phorum ellátogatva szerezheted meg. A forrás birtokában a telepítést így hajthatod végre: tar -xzvf gscriptwriter-0.1.2.tar.gz cd gscriptwriter-0.1.2 ./gscriptwriter.pl</p><p>Mint már bizonyára észrevetted, a folyamatból hiányzik a fordítás mûvelete, egyszerûen futtasd a parancsállományt. Szép Gtk-felületet kapsz, amelyen keresztül a vígjátékok for- gatókönyírásának minden feladata elvégezhetõ. Nézz csak © Kiskapu Kft. Minden jog fenntartva</p><p>4. kép François a GScripteWritert használja</p><p>3. kép A titok felfedése Emacs-kiemeléssel 5 kép A Phorum's Admin beállítóablaka a 4. képre! François keményen dolgozik egy rejtélyen, ami nagymértékben adatbázisfüggetlen, és telepítéskor futó adat- éppen az éttermünkben játszódik. bázis-kiszolgálók után kutatva önmûködõ keresést hajt végre. A forgatókönyv eseményeinek menete könnyen átszervezhetõ, A telepítést nagyon egyszerûnek fogod találni. Kezdd a csak ki kell választani a megfelelõ sorokat, amelyek fel-lemoz- Phorum honlapjának ( http://phorum.org) meglátogatásával, gathatók. A munkát mentsd, majd válaszd a HTML-exportálás és töltsd le a legfrissebb forrást. A telepítést a forrás webkiszol- lehetõségét. Eredményül szépen befejezett alkotást kapsz gáló rendszeredbe való kicsomagolásával indítsd: (természetesen csak a rejtély megoldása után). A GScriptWriter még befejezetlen, de a Perl-kódot a saját igényeid szerint tar -xzvf phorum-3.3.1a.tar.gz könnyen módosítani tudod. mv phorum-3.3.1a.tar.gz Néhányan úgy gondolják, hogy a történet nem más, mint /usr/local/apache/htdocs/phorum amilyet a Slashdot.org-on olvashatunk, és soha nem lehet elég cd /usr/local/apache/htdocs/phorum belõle. A gond könnyen orvosolható: böngészõdbe írd be a  http://bbspot.com/toys/slashtitle/index.html címet. Igen Elõfordulhat, hogy ennél a pontnál a secure parancsállomány szórakoztató helyen találod magad, amely álvéletlen Slashdot- futtatásával szeretnéd majd folytatni, amellyel a Phorum történeteket hoz létre. Szánj rá egy látogatást, mon ami, és biztonságával kapcsolatos elérési utak és engedélyek állíthatók meglátod, mirõl beszélek. De térjünk vissza tárgyunkhoz! be. Ezt a parancsállományok könyvtárában találod: A „történet” szó számos különbözõ jelentést rejt. A hirdetõ- scripts/secure táblák olyan együttes törekvést valósítanak meg, amelyek Ez különösen abban az esetben fontos, ha látszólagos webki- használói számára lehetõvé teszik, hogy egy központosított szolgálót futtatsz. Mivel a Phorum szerkezete közismert, való- feladaton a Világháló használatával közösen dolgozzanak. színûleg meg akarod majd változtatni az admin könyvtár A történet egyetlen kiírás formájában egy elgondolás kez- nevét. Ez az elsõ kérdés, amelyre választ kell adnod. Javaslom, detét közvetítve jelenik meg. Néhányan válaszolnak, foly- hogy a könyvtár .htaccess állománnyal való védelmére vonat- tatják az eszmecserét, és nemsokára vagy egy zûrzavar köze- kozó kérdésre is igennel felelj. Végül a Phorum megkérdezi, pén, vagy a következõ nagy dráma elütésében találod hogy az Apache-kiszolgáló milyen felhasználói név alatt fut. magad. Megfelelõ környezetben egy rugalmas hirdetõtábla Esetemben ez www volt. A telepítés további része mûködés csodálatos eszköz lehet. közben zajlik. Ehhez a böngészõdbe a felügyeleti könyvtár</p><p> www.linuxvilag.hu 2002. április 77 Fogadó a Linuxhoz</p><p> elérési útvonalát kell beírnod. Ha a biztonsági parancsállo- -i kapcsolóval indítsd, hogy az adatbázishoz való kapcsoló- mány futtatása során ezt megváltoztattad, a megfelelõ elérési dást TCP-n és a Weben keresztül egyaránt lehetõvé tedd: utat kell használnod: /usr/bin/postmaster -D /var/lib/pgsql/data -i http://yourwebserver/phorum/admin Idõközben – visszatérve a böngészõn keresztüli telepítéshez – A Phorum telepített adatbázisodat megpróbálja önmûködõen kitöltöm a hátralévõ mezõket, a Submit gombra kattintok, ju- felismerni. Ha több ilyen is létezik (mint nálam is), ezen a talmam pedig egy szép üzenet, mely szerint a tábla létreho- zása és az adatbázis fris- sítése megtörtént. Egész- Emacs-vezérlõbillentyûzetek ségetekre, mes amis! De várjatok csak – ahogy Mutat Elrejt nálunk mondják: van CTRL-C CTRL-A Mindent mutat CTRL-C CTRL-L Levelek elrejtése másik! A következõ kép- ernyõn a felügyeleti CTRL-C CTRL-E Bejegyzést mutat CTRL-C CTRL-T Törzs elrejtése felhasználói név és jelszó CTRL-C CTRL-K Elágazásokat mutat CTRL-C CTRL-C Bejegyzés elrejtése megadására van szüksé- gem, végül az utolsó © Kiskapu Kft. Minden jog fenntartva CTRL-C CTRL-TAB Gyerek mutat CTRL-C CTRL-D Alfa elrejtése képernyõn a Phorum CTRL-C CTRL-S Alfát mutat CTRL-C CTRL-Q Alszintek elrejtése címének és a felügyelõ CTRL-C CTRL-O Egyebek elrejtése levélcímének a rögzíté- sére, legutoljára a Sub- mitra kell kattintanom és kész is vagyunk. Ekkor a rendszer önmûködõen a felügye- leti bejelentkezõ képernyõre irányít. Írd be az imént megadott felügyeleti nevet és jelszót, majd itt az idõ, hogy kicsinosítsd a saját vitafelületedet. Megváltoztathatod a színbeállításokat, az oldalanként megje- lenõ üzenetek számát, megadható, hogy a felhasználók csatol- hatnak-e állományokat és ezek mekkorák lehetnek. Az 5. kép a Phorum felügyeleti képernyõjét mutatja. Mivel témakörök nélkül a viták meglehetõsen haszontalanok, talán néhány percet rá tudsz szánni a Phorum témakörökkel való feltöltésére. A kapcsolódó párbeszédablakok egyszerûek, könnyen használhatóak – a segítségükkel megadható, hogy ki adhat fel üzeneteket, a vita moderált-e, valamint a megjelenítés (szín, elrendezés) tulajdonságai is beállíthatók. Miután mindezzel elkészültél, célszerû a felhasználók felé is kinyitni a Phorumot. Egyszerûségénél fogva akár egy már létezõ weblaphoz is kapcsolhatjuk, például keretként betöltve. A Phorumot használó számos oldal ezt a módszert követi. Jó megoldást érhetsz el úgy is, ha a böngészõjüket a honlapodon lévõ phorumra irányítod: 6. kép Vicces dolgok a „Phorum”-on http://your_website_address/phorum ponton választanod kell közülük. Én telepítésem során a PostgreSQL-t választottam. A Submit (elküld) gombra kattintás Most már a felhasználók végrehajthatják egyedi beállításaikat, után az adatbáziskiszolgáló nevét (localhost), az adatbázis olvashatnak, üzeneteket írhatnak, mások leveleire válaszolhat- nevét, a felhasználói nevet és jelszót kellett megadnom. nak. Hogy ténylegesen szükségük lesz-e felhasználói profilra, Mielõtt továbbmennél és kitöltenéd ezeket a mezõket, hadd az a Phorum felügyeleti képernyõjén keresztül létrehozott figyelmeztesselek valamire. Az adatbázis-felhasználónak egy vitaablak elõzetes beállításain múlik. A 6. kép a Phorumot valóban létezõ felhasználói névnek kell lennie, kivéve, ha az eszmecsere közben mutatja. adatbázisod nem igényel nevet és jelszót (ami nem túl bizton- Kedves barátaim, ismét elérkezett a záróra ideje Chez Mar- ságos dolog). A PostgreSQL esetén a felhasználó hozzáadása celnél. Még egyszer köszönöm, hogy ellátogattatok, a viszont- így történik: látásra! A votre santé!</p><p> createuser felhasznÆl i_nØv Marcel Gagné (mggagne@salmar.com) Mississaugaban (Ontario, Kanada) él, a Salmar A felhasználónak létrehozó és módosító képességekre lesz Consulting Inc. rendszerépítéssel és hálózati szüksége, majd egy üres adatbázist kell létrehoznod. A sajá- tanácsadással foglalkozó cég elnöke. Pilóta tomat (talán kicsit földhözragadtan) phorumnak neveztem el. és sci-fi író egy személyben. A Világhálón Nincs idõnk az összes adatbázisra kitérni, de ha úgy adódik, elérhetõ honlapján sok hasznos dolgot hogy PostfreSQL-t futtatsz, a postmaster-t mindenképpen találhatunk  http://www.salmar.com/marcel/</p><p>78 Linuxvilág</p><p>Mustra</p><p>Végre magyar az OpenOffice! Egy lelkes csapat egyetlen hétvége alatt elkészítette a fél éve húzódó munkát.</p><p> mióta az irodai alkalmazások folyamatos és szélessávú internetkap- Így egy újabb változat aránylag gyorsan közül választani lehet, verseny csolattal rendelkezõ gépteremre is. (fél óra alatt) készülhetett el, a távolról van. A programok között válo- A háttérrendszer elkészítését Noll János segítõk pedig csupán néhány mega- gathatunkA fogyasztói ár, jogszerzõdés vállalta magára. Egy PHP-alapú rend- bájtnyi anyagot kellett letöltsenek. és tudás alapján. De miért van az, hogy szerrel oldotta meg, hogy a lelkes fordí- A nyersfordítás az elsõ nap alatt elké- amikor szabadon használható szöveg- tók távolról is be tudjanak kapcsolódni. szült, így a második napot teljes egészé- szerkesztõk egész sora áll rendelkezésre, Ez a rendszer a fordítandó kifejezéseket ben a lektorálásra tudták fordítani. mégis sokan fizetõs termékeket vásárol-</p><p>© Kiskapu Kft. Minden jog fenntartva nak? Nos, nézzük: különbözõ tudás, különbözõ felhasználói felület (aki hoz- zászokott az egyik programhoz, akár fizet is, csak ne kelljen másikat megta- nulnia), a támogatás minõsége, az elér- hetõség és a megbízhatóság. Egy fizetõs programtól az ember elvárja, hogy könnyen használható és megbíz- ható legyen, olyan szolgáltatásokat nyújtson, amelyekre igényünk van, és ha bajba kerülünk, legyen valamiféle elérhetõ támogatás. Egy szabadon hasz- Erre szükség is volt, hiszen egy ilyen nálható termék esetén természetesen fordításnál számos hiba jelentkezhet. hajlandóak vagyunk engedni az igé- A második nap végén a lektorok által nyekbõl, de vannak dolgok, amikhez kijavított anyagokkal összeépített cso- ragaszkodunk. Egy irodában például mag végül is használhatónak bizonyult, ahhoz, hogy a programnak magyar így a hétvége minden szempontból felülete legyen. sikeresnek mondható. Az utolsó vál- Az egyik legismertebb ingyenes irodai tozat került ki a fordítás honlapjára programcsomag, a StarOffice, majd  http://office.fsf.hu, illetve a Linuxvilág késõbb nyílt forrású testvére, az Open- elõzõ számának mellékletére is. Office.org magyar felülete már nagyon egy PostgreSQL-adatbázisból ajánlotta hosszú ideje várat magára. Bár voltak ki, valamint a lektorok számára biztosí- Merre tovább? kezdemények, részleges magyarítások, tott egy területet, ahol a beérkezõ for- Természetesen sok munka van még az sõt, az OpenOffice.org rendszeren dításokat jóvá tudták hagyni, vagy el OpenOffice.org csomaggal. Egy újabb alapuló fizetõs változat is akad, mégis tudták vetni. A kész fordításokat Perl- lektorálási kör várat még magára, vala- ami nyílt programok közösségének oly programokkal varázsolták vissza a mint fontos, hogy minél jobb magyar fontos lenne, egy teljes és egységes, forrásba. A közösség segítõkészségére helyesírás-ellenõrzõ rendszerrel is bír- ugyanakkor szabadon használható jellemzõ mozzanat volt, hogy a munka jon. A fordítás óta eltelt idõszak ered- magyar felület egyszerûen nem létezett. elkezdéséig (a Weben keresztül elérhetõ ményébõl, valamint a visszajelzésekbõl Közben több vetélytárs is „megembe- fordítórendszert két órával korábban egyértelmûen látszik, hogy nagyon relte” magát, például a KOffice szinte már beüzemelték) a kifejezések 6,7 hasznos lenne egy következõ hétvége. teljes magyar felülettel rendelkezik. százalékát már a Weben keresztül le De máris újabb vadra fáj a csapat foga. Három lelkes szakember – Noll János, is fordították. A tervek szerint a következõ hétvégén Somogyi Péter és Tóth László – megunta A fordításokat idõközönként vissza- a Mozilla böngészõ felületét fordítják le. a többéves vajúdást, és elhatározták, rakták a forrásba, majd összeépítettek Feladat tehát már van, sõt, a helyszínre hogy egy hosszú hétvége alatt a teljes egy új próbaváltozatot. A teljes prog- is akadnak ötletek. fordítást elkészítik. Ehhez természetesen ramcsomag fordítása egy 1 GHz-es meg kellett szervezni a munkát, ki kel- gépen hat órát vesz igénybe, szerencsére Szy György lett nyerni a fordítandó szövegeket a fordítás során elegendõ volt a változott a Linuxvilág fõszer- a forrásból, majd készíteni kellett egy részeket újrafordítani, majd újraépíteni kesztõje, a Kiskapu keretrendszert, amelynek segítségével a csomagot. Hogy ne kelljen minden Kiadó vezetõje. a közel huszonegyezer kifejezést ke- változat kipróbálásához a nyolcvan Mindenki véleményét zelni tudták. Magától értetõdõen szük- megabájtos csomagot letölteni, az össze- és levelét örömmel ség volt még egy erõs gépre, melyen építés után csak a megváltozott .res várja az alábbi levélcímen: az összeépítést végezték, valamint egy erõforrásfájlokat rakták ki a Webre. Szy.Gyorgy@Linuxvilag.hu. </p><p>80 Linuxvilág Falatka</p><p>Öt rendszernek hét magja David együttmûködési gondokat keres a különféle terjesztések, rendszermagok és programok között.</p><p> udom, tudom, nem vagyok átlagos Linux-felhasználó. keresztül intézni). A segítségükkel a felhasználók De megkérdezném: ki számít annak? Csak remélni leveleket továbbíthatnak, illetve vissza is küldhetnek tudom, hogy a legtöbb felhasználó nem találkozik azok- – hasonlóan a vacation-höz. Ellentétben a vaca- kalT a gondokkal, amelyekkel én nap mint nap szembesülök. tionnel, a program a levelezési listák kezelésére Otthonomban általában öt gép található, vállalkozásom pedig sajnos nem képes. A futtatáshoz szükséges: libdb1, számos kiszolgálóval és hozzáférési ponttal rendelkezik az libpam (elhagyható), libdl, glibc és webkiszolgáló Interneten. Egyre gyakrabban megütközöm azon, hogy mivel PHP-támogatással. számos program nem található meg több terjesztésben, mások  http://stafwag.f2g.net/cgipaf pedig meghatározott rendszermagra épülnek, végül négy különbözõ terjesztést használok hét különféle rendszermaggal Vipul’s Razor azon az öt gépen, amit otthon tartok. A cikk írásának idõpont- A múlt hónapban a levélszemétküldõk ellen intéztem kiroha- jában (az utolsó rendszermagváltozat: 2.4.17-pre6) a legfrissebb nást, most pedig ismertetném az ellenszert. Ha MTA-t futtatsz Internet PhoneJACK (CVS) program a négy legújabb rendszer- (nekem több is van), a levélszemétnek egyetlen általános maggal nem mûködik, más programok fordításához pedig pél- /etc/procmailrc állománnyal útját állhatod (illetve ugyanezt dául a 2.4.4–2.4.8 változatú rendszermag szükséges. Néhány egyéni ~/.procmailrc segítségével is megteheted). Az enyém program fordításához és futtatásához a rendszermagok közötti külön gyûjtõbe tesz minden szemetet. Körülbelül egy hónapig átfedés nem engedhetõ meg, ezért található az öt gépemen figyelemmel követtem, hogy milyen levelek kerülnek a gyûj- hétféle rendszermag. A FreeS/WAN egyes rendszermagokkal tõbe, és egyetlen rendes levél sem futott vakvágányra. Mosta- lefordul, azonban nem az összessel. Bizonyos terjesztéseknek nában nagyjából háromnaponta kapok valamilyen szemetet, saját hibáik is akadnak. A Mandrake 8.1, amelyben rengeteg amit a razor-kiszolgálóknak azonnal tovább is küldök. A levél- csiricsáré kiegészítõt találunk, nem tartalmazza a vezeték nél- szemét mennyisége múlt karácsony óta állítólag 650 százalék- küli hálózatok használatához szükséges segédprogramokat, kal növekedett, de én köszönöm, jól elvagyok. A futtatásához illetve nem támogatja a CardBust vagy az ORiNOCO kártyámat szükséges a Perl és a következõ Perl-modulok: Net::Ping, – természetesen megoldottam a nehézséget, de talán nem min- Net::DNS, Time::HiRes, Digest::SHA1, Mail::Internet, valamint den kezdõnek ez az álma. A Calderának rossz szokása, hogy a erõs akarat a levélszemét kiirtására. rendszermagot frissíti ugyan, de magát a rendszermagváltoza-  http://razor.sourceforge.net tot már nem. Feljavítják a szükséges biztonsági foltokkal, ámde a forrás marad 2.4.2-es. Mondanom sem kell, hogy bizonyos NorthStar programokat nem lehet lefordítani, hiszen 2.4.4-es vagy újabb A NorthStar segítséget nyújt az IP-cím hozzárendelések, vala- rendszermag kell hozzájuk. A legtöbb olvasó számára bizonyára mint értelemszerûen a készülékek és elhelyezkedésük nyomon nem hatnak újdonságként a Red Hat terjesztéseivel kapcsolatos követéséhez. Igazából az benne a legjobb, ahogyan a hálóza- gondok. A megoldás? Tartok tõle, hogy semmit sem tudok tokat, az eszközöket és a helyüket jeleníti meg. Ha nem csak javasolni. Abban viszont biztos vagyok, hogy amit én csupán néhány IP-címet, rendszert és telephelyet kell kezelned, min- bosszantó pepecselésnek tartok, azzal számos újoncnál betelhet denképpen próbáld ki. A futtatáshoz szükséges: webkiszolgáló, a pohár. Nincs az a támogatás, amellyel a Linux a Microsoft- Perl és PostgreSQL. hatalmasság fölé kerekedhetne, ha ezeket a gondokat nem  http://www.brownkid.net/NorthStar sikerül megoldani. Visszatekintõ: mail-bounce XNetworkStrength A kisméretû Perl-program segítségével a leveleket foghatod, és Vezeték nélküli kártyát használsz? Szeretnéd tudni, hogy egyenesen oda küldheted vissza õket, ahonnan jöttek. Külön mennyire jó vagy rossz a jel minõsége, de nem akarsz egyedi megjegyzést is fûzhetsz hozzájuk. Mivel az üzeneteket másodpercenként iwspy-t futtatni? Nos, ha X-felületet bármikor vissza lehet küldeni, nincs értelme órákat várni, ezért használsz, az XNetworkStrength megteszi helyetted. Miközben erre a célra a procmail használata ajánlott, bár tulajdonkép- a munkádat végzed, folyamatosan a kapcsolaton tarthatod a pen bármilyen programot, akár a parancssort is használhatjuk. szemedet. A futtatáshoz libX11 és glibc szükséges. A futtatásához a Perl szükséges és a procmail ajánlott.  http://gabriel.bigdam.net/home/xnetstrength  http://www.spots.ab.ca/~gary/mail-bounce</p><p>David A. Bandel CGIpaf Egyszerû és biztonságos módszert szeretnél biztosítani a fel- (dbandel@pananix.com) jelenleg Panamában használók számára jelszavuk megváltoztatására? Ezek a CGI- él, Linux- és Unix-tanácsadással foglalkozik. eszközök lefordított C-programok, amelyek biztonságosak, ám Társszerzõje a Que Special Edition: Using lehetõleg csak HTTPS-protokollon keresztül tedd lehetõvé az Caldera OpenLinux címû könyvnek. elérésüket (a jelszóváltoztatást nem túl jó ötlet nyílt csatornán © Kiskapu Kft. Minden jog fenntartva</p><p> www.linuxvilag.hu 2002. április 81</p> </div> </div> </div> </div> </div> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js" integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="/js/details118.16.js"></script> <script> var sc_project = 11552861; var sc_invisible = 1; var sc_security = "b956b151"; </script> <script src="https://www.statcounter.com/counter/counter.js" async></script> <noscript><div class="statcounter"><a title="Web Analytics" href="http://statcounter.com/" target="_blank"><img class="statcounter" src="//c.statcounter.com/11552861/0/b956b151/1/" alt="Web Analytics"></a></div></noscript> </body> </html>