Töprengõ

Változik a világ – de elég gyorsan?

últ havi beköszöntõmben örömmel írtam, hogy a GNU/ immár teljes értékû rendszerként képes mûködni. Szinte minden olyan szolgáltatást nyújtani Mtud, amire otthon vagy a munkahelyen igényünk lehet. Ebbe a szolgáltatáscsoportba bele kell érteni a multimédia-felhasználá- sokat (videó, DVD, webkamera stb.), az irodai alkalmazásokat, de a különlegesebb szolgáltatásokat is, mint amilyenek például a hálózati fájlmegosztó rendszerek. Én mostanában éppen a gtk-gnutella programmal szórakozom, és ugyan még csak a 0.90-es változatnál tart, mégis kényelmes és hatékony felületet

© Kiskapu Kft. Minden jog fenntartva nyújt. Próbálkoztam az AudioGalaxyval is (a KDE alá készítet AGBrowser segítségével), azonban pár órányi hiábavaló vára- kozás és a bosszantó hibaüzenetek után gyorsan feladtam. Visszatérve a világra. Írtam, hogy egyre több helyen találko- zom linuxos géppel, ma már nem esnek hanyatt a csodál- kozástól, ha valaki megemlíti a GNU-rendszereket. Már az is természetessé vált, hogy az emberek az operációs rendszereket változata – ha ezeket már ismeri és szereti a leendõ Linux-hívõ, meg tudják különböztetni. Többnyire. Történt például, hogy egy telepített rendszeren otthonosabban érzi majd magát. az egyik magyar portálon lejött egy mókás hír, miszerint Van még egy érdekesség: a GNU remek segédprogramjait végre letölthetõ a NetBSD élõ rendszert tartalmazó LiveCD-je, Windows alatt is sokan használni szeretnék. Ezt teszi lehe- mellyel „az érdeklõdõ felhasználók Intel-alapú gépeiken az tõvé a cygwin és a MinGW csomag. Mindkettõ egyszerûen operációs rendszer telepítése nélkül próbálhatják ki a Linuxot”. alkalmazható, segítségükkel megbarátkozhatunk a GNU- Azon gondolkodtam, hogy milyen aranyosak ezek a NetBSD- eszközökkel. Érdemes még ellátogatni a sek, az egylemezes rendszerükrõl is indítani tudom a gépe-  http://www.gnusoftware.com/ címre is. men lévõ Linux-rendszert. A hír szerencsére pár órával késõbb már eltûnt az oldalról. De miért csak egy? Szóval még mindig megesik, hogy az embereknek lövésük Hátravan még egy fontos és érdekes kérdés. Miért csak egy sincs arról, hogy mi a csuda a Linux. Sõt, sokszor elõfordul korong van a Linuxvilág tizenkilencedik számához csoma- az is, hogy az egyes cégek, mint amilyen például a Microsoft, golva? Sokakat megkérdeztünk, hogy mennyire tartja hasz- ezt az állapotot tudatosan igyekszenek fenntartani. Lawrence nosnak a lemezmellékleten található anyagokat, és bevallom, Rosen tollából például egy nagyon érdekes cikket olvasha- számomra is meglepõ volt az eredmény. Nagyon sok olvasónk- tunk, amelyben a Microsoft felhasználási szerzõdésében tól kaptuk azt a választ, hogy örül ugyan a lemezeknek, de használt „IPR-sértõ”, vagyis a szellemi tulajdonhoz fûzõdõ általában a rajtuk található anyagok egy részét használják jogokat (intellectual property rights) sértõ kifejezést taglalja. csupán. Módosítottuk tehát a korongokkal kapcsolatos „házi- A Microsoft félreértelmezése szerint a GPL megsérti a rendet”: az újság mostantól általában egy lemezmelléklettel szellemi tulajdonhoz fûzõdõ jogokat. Kinek a jogait? Mi mó- jelenik meg, de amennyiben érdekes anyagot találunk, amely don? Jó vagy rossz ez a „jogsértés”? Errõl bõvebben a 29. ol- megérdemli a második lemezt, természetesen kiadjuk. Ez a dalon olvashatnak. változás kihatott az elõzõ számunkban elõrejelzett SuSE- De a világ változik! Mint ahogy lassan a Microsoft is kénytelen frissítõlemezre is, a frissítésre használható anyagokat minden haditervet váltani. Nem hinném, hogy önszántából valaha is érdeklõdõ következõ számunk mellékletén találja meg. eljutott volna arra az elhatározásra, hogy a linuxos közösséggel Fontos megjegyeznem, hogy továbbra is érdekel minket, mit kapcsolatot kell fenntartania, mégis érezhetõ a kikényszerített látnátok szívesen a lemezeken, ezek a kérések és javaslatok glasznoszty hatása. És „ha már kell, akkor inkább vágjunk a lemezek tartalmának megfelelõ összeállításában segítenek hozzá jó arcot” alapon a Microsoft jelentkezett a Linux World minket. Kérek ezért minden kedves olvasót, akár nekem, akár Expo kiállításra, és meg is kapta az R10-es standot Csontos Gyulának ([email protected]) küldje el a mellék- ( http://www.linuxworldexpo.com/). lettel kapcsolatos ötletét, véleményét, kérését.

Windowsos programok Mindenkinek kellemes olvasást és jó linuxozást kívánok! Ha már itt tartunk, egy érdekességre szeretném felhívni a figyelmeteket. Gondolom, mindannyian szembekerültetek már olyan ismerõssel, aki át szeretett volna térni Linuxra, elõtte Szy György azonban még a régi, megszokott világképén belül akart a Linuxvilág fõszerkesztõje, a Kiskapu Kiadó megismerkedni az új lehetõségekkel. Nekik szánjuk új win- vezetõje. Mindenki véleményét és levelét dows könyvtárunkat, amelyben az átállás elsõ lépéséhez örömmel várja az alábbi levélcímen: találhat segítséget. Itt van az OpenOffice.org, valamint a [email protected] mindkét felületen használható Opera böngészõ windowsos

4 Linuxvilág Vezérfonal

Programvadászat

Mozilla 1.1 magyarítás. Ugyan a fordítás egyik bön- meglepõ módon az OpenOffice.org- és Újabb Mozilla böngészõprogramot indí- gészõ esetében sem teljes, hiszen csak természetesen a StarOffice-alkalmazá- tottak útjára, mely az 1.1 alpha változat- kipróbálásra szánt változatokról van sokkal. A programcsomag fõbb elemei: számmal rendelkezik. Az egyre nagyobb szó, ha megvan a kellõ érdeklõdés, illet- szövegszerkesztõ (Writer), táblázatke- népszerûségnek örvendõ böngészõ 1-es ve a megfelelõ számú letöltés, a végleges zelõ (Calc), bemutatókészítõ (Impress) és 1.1-es változatának fejlesztése párhu- Netscape 7-es változat teljes kezelõfelü- és rajzolóprogram (Draw). CD-mellékle- zamosan folyik. A jelenlegi fejlesztõi lete (AIM, Net2Phone) fordításra kerül. tünkön megtalálható a SOTO és pilla- változat jelentõs újdonságokkal nem A böngészõk magyar nyelvi csomagja natnyi frissítése, mely tar.gz és rpm-cso- szolgál, de több figyelemre méltó javí- megtalálható korongunk Bongeszok/ magok segítségével telepíthetõ. A prog- tást is tartalmaz. Nemcsak a böngészõ magyar könyvtárában. Telepítésük ramról bõvebb leírást és ismertetõt a © Kiskapu Kft. Minden jog fenntartva indulása lett lényegesen gyorsabb, ha- rendkívül egyszerû, a langhuhu.xpi fájl SOTO oldalán találhatunk. nem az oldalak megjelenítése is. Jelentõs böngészõbõl történõ megnyitásával  http://www.sot.com/en/linux/. javítások történtek a korábban már lehetséges. Az eltérõ Linux-változatokra bevezetett DHTML-értelmezõ és az történõ telepítéskor ügyelnünk kell a jDictionary eddig nem támogatott XBM formátumú Mozilla chrome könyvtár írási jogára, Megjelent a magyar fejlesztésû szótár- képmegjelenítés terén. Ezentúl adott a vagyis a telepítést rendszergazdaként program, a jDictionary1.06-os változata. lehetõség a MathML-forráskód megte- ajánlott elvégezni. A Netscape „hogyan A jDictionary felületfüggetlen, a legtöbb kintésére és a levelezõlistákon oly sokat továbbjáról” szavazni a elterjedt operációs rendszeren futtat- üldözött HTML-alapú levelek egyszerû  http://mozilla.fsf.hu oldalán, a ható, szépen kidolgozott grafikus felü- szöveges formában történõ megjelení- Bugzilla rendszerén keresztül lehet. lettel rendelkezõ alkalmazás. Mûködésé- tésére, ami a biztonság szempontjából nek egyetlen feltétele egy Java futtatá- sem elhanyagolható szolgáltatás. SOT Office sára alkalmas környezet. A szótárfájlok A Mentés és a Mentés másként szolgál- Mindig jó hír a szabad rendszerek rajon- bõvítményalapúak, így csak a használni tatásokat kedvelõk nagy örömére végre góinak, amikor új és jól használható helyet kapott egy kis gomb a fájlkezelõ irodai alkalmazás jelenik meg a piacon. ablakában, mellyel egyetlen kattintással A finn illetõségû SOT úgy határozott, hozhatunk létre tetszõleges nevû könyv- hogy a SOTLinux 2002 jelenlegi válto- tárakat. Üzembe helyezték a letöltés- zata mellett elkészíti az OpenOffice.org kezelõt, így a továbbiakban nem kell irodai csomagjára épülõ, továbbfejlesz- aggódnunk a félbeszakadt letöltésekért. tett irodai alkalmazását. A csomag telje- A böngészõ a korongunkon megtalál- sen ingyenes, a fejlesztõi leírások szerint ható tar.gz és rpm-csomagok segítségé- jól együttmûködik a Microsoft-, nem vel telepíthetõ.

Magyar Mozilla Projekt Sem a Mozilla-, sem a Netscape-haszná- lóknak nem kellett sokáig várniuk ked- kívánt modulokat kell letöltenünk és vencük magyar nyelvi csomagjainak telepítenünk. A jelenlegi változat az megjelenésére. A Magyar Mozilla angol–német, angol–spanyol, francia– Project gyors, szinte naprakész fordítási magyar, német–magyar, angol–magyar munkájának köszönhetõen mindkét és svéd szótárfájlt tartalmazza. próbaváltozathoz, a Mozilla 1.1-hez és A program a jdictionary-1_62.zip fájl a Netscape7.0 PR1-hez is megjelent a kicsomagolása után a java -jar jdictionary.jar paranccsal indítható.

Downloader for X E havi korongunkra a letöltéskezelõk királya, a Downloader for X 2.0.1-es változata került fel. A program mind tudásában, mind kinézetében (kezelõ- felületében) a felsõ kategória gyõztese. Kezeli a HTTP, az FTP és a HTTPS protokollokat. Képes a proxykiszolgá- lóhoz akár a felhasználónév, akár a jelszó megadásával kapcsolódni, továb-

www.linuxvilag.hu 2002. augusztus 5 Vezérfonal

bá alkalmas a párhuzamos és a megsza- Linux8.14. Megközelítõleg 69 000 vírust, kadt letöltések folytatására. Figyelemmel makrót, férget és trójait képes hatéko- tudja kísérni a vágólap tartalmát, így nyan felderíteni és eltávolítani a rend- ha letöltésre szánt címet talál a folya- szerbõl. Vírusfertõzés esetén dönthe- matot, azonnal elindítja. A letöltés sebes- tünk a fertõzött fájl sorsáról: töröljük, sége szabályozható, a három sebességi kiirtjuk a vírust, esetleg karanténba zárva és átnevezve tároljuk. A program- ban internetes frissítési lehetõség talál- ható, hogy rendszerünk a vírusok táma- dásaival szemben naprakész legyen.

Tuxracer 1.1 Játékos kedvû olvasóink kissé lehûthetik magukat ebben a nagy melegben a Tuxracer 1.1-es változatával. Ezt a játékot

© Kiskapu Kft. Minden jog fenntartva minden korosztálynak melegen (hide- gen) ajánljuk, segítségével ugyanis egy fokozat közül kettõnek saját magunk kissé elfeledkezhetünk a hõségrõl, és adhatunk értéket, így nem zavarja a havas tájakon segíthetjük pingvinünket böngészést, és a sávszélességben korlá- a gyõzelem felé. tozott kiszolgálókat sem ostromolja feleslegesen. A sebesség növelése érde- Aki elolvasta az e havi bevezetõt, már kében önmûködõen képes keresni az Sajnos, a program nem szabadon értesülhetett róla, hogy a mellékelt FTP-tükörkiszolgálókon, és ha szüksé- felhasználható, ezért a próbaváltozat korongok száma kettõrõl egyre csök- ges, át tud váltani a kedvezõbb kiszol- feliratkozás nélkül csak harminc napig kent. Ami természetesen a jövõben, gálóra. A letöltésre ítélt fájloknak külön mûködõképes. fontosabb anyagok megjelenésekor nem profilokat hozhatunk létre, amelyekhez  http://www.virfilter.hu zárja ki, hogy az újság két CD-mellék- külön-külön más és más beállításokat lettel jelenjen meg. Ezen az egy koron- rendelhetünk. Testreszabható eszköz- Rendszermag gon természetesen minden eddig meg- tárral és ikonkészlettel rendelkezik, Mellékletünkön megtalálható a legfris- szokott anyag megtalálható lesz. melyek megjelenéséhez többféle téma sebb 2.5.24-es fejlesztõi rendszermag. Ami a könyvtárszerkezetben újdonságot közül választhatunk. Egy igen hasznos A változások teljes listája a lehet, az a Windows könyvtár meg- beállítási lehetõséggel kedvünkre sza-  http://www.kernel.org/pub/linux/ jelenése. Ezt azért tesszük, hogy ezzel bályozhatjuk a kiszolgálóhoz való kap- kernel/v2.5/ChangeLog-2.5.24 is megkönnyítsük az egyelõre bizony- csolódás próbálkozásainak számát és a oldalon olvasható. talankodó felhasználók elsõ lépéseit köztük eltelt idõt. Saját feladatütemezõ a Linux felé, mivel a teljesen megbízható segítségével a nap bármely idõpontjá- gFTP programok már Linux alá is megjelentek ban, akár távollétünkben is indíthatunk A gFTP segítségével le- és feltöltési – ezekbõl fogunk itt hónapról hónapra letöltést, amelynek végeztével bontja kapcsolatainkat ugyancsak egyszerûen egy-egy csokornyit összegyûjteni. a vonalat. A mostani korongra az OpenOffice.org irodai csomag és az Opera böngészõ Rav AntiVirus került fel, így mindenki, aki eddig Ebben a hónapban egy vírusirtócsalád idegenkedett, esetleg félt a Linuxtól, az kerül bemutatásra, mely nemcsak a most ezeknek a programoknak a kiszolgálók ellenõrzését tûzte ki céljául, telepítésével és használatával elkezdheti hanem az otthoni linuxos felhasználókra az áttérést. Ha már sikerült a programo- is gondolt. A RAV AntiVirus a világ tíz kat megszoknia, a Linuxra való áttérés- legjobb vírusirtó terméke közé tartozik, kor csak az új környezettel kell törõdnie, mely már számos nemzetközi díjat mivel a programokat már magabiztosan nyert. Széles termékkínálata megoldást használja. Két másik nagyon fontos kínál a munkaállomástól a kiszolgálóig, program a MinGW és a cygwin környe- az otthoni és az üzleti felhasználók szá- zet, ezek segítségével valamelyest uni- mára, Linux, MS Windows és Unix ope- xos környezetet varázsolhatunk win- rációs rendszerekhez egyaránt. A támo- dowsos rendszerünkre, gyakorlatozni gatott operációs rendszerek között sze- kezelhetjük, legyen az akár ftp, http, ez is nagyon jó kiindulási pont. repel a Linux Server IBM Mainframe, SSH, illetve SSH2-es protokoll. Képes Jó felüdülést! a FreeBSD, az OpenBSD2.8/2.9/3.0, a kezelni az SSH2-es protokoll sftp NetBSD, a Unixware, a Sun Solaris, a szolgáltatását is, ami mindazok életét Dankaházi István Sun Solaris Sparc és a Novell. Az otthoni nagyban megkönnyítheti, akik nagy ([email protected]) a Linuxvilág felhasználóknak szánt legújabb válto- fájlokat töltenek le és fel, de a kiszol- munkatársa. Szabadidejében szívesen zata a RAV Antivirus Desktop for gálóhoz nincs ftp-elérés biztosítva. úszik és kerékpározik.

6 Linuxvilág Hír-lelõ

Intel Itanium 2 olcsónak semmiképpen nem mondha- Cg programozási nyelv az nVidiától A felsõkategóriás kiszolgálók piacára új tók, így elterjesztésükben a helyi hivata- Az bemutatta az új Cg progra- processzor lép be az Intel új Itanium lap- loknak, bankoknak és egyéb szerveze- mozási nyelvet, illetve a hozzá tartozó kájának megjelenésével. Az Itanium 2 teknek is jelentõs szerep jut majd. fordítót. Az új nyelv segít- a tavaly  http://www.simputer.org ségével a programozók megjelent magas szinten dolgozva, Itaniumot Beépített protokollverem könnyedén hozhatnak létre váltja fel, az Epson lapkájában valós idõben megjelenõ amely a Az Epson S1S60000 jelzésû lapkájába grafikákat, hatásokat. A Cg fordító köré vele kap- – amellett, hogy az apró szilíciumszelet épül az nVidia Cg programozási kör- csolatban 10Base-T és 100Base-TX ethernetkapcso- nyezet. Segítségével a DirectX 8 vagy felmerülõ latok kezelésére is képes – TCP/IP-proto- DirectX 9 szabványt támogató GPU-kra sorozatos gondok miatt soha nem lett kollverem is került. A veremnek köszön- írt programok késõbb tetszõleges, a igazán kedvelt a felhasználók körében. hetõen nincs szükség arra, hogy a fel- követelményeknek megfelelõ eszközön Az Intel fejlesztõi a cég bevallása szerint használó az operációs rendszerhez külön lefordíthatók és futtathatók, így a fej- javítottak a lapka felépítésén, és kipofoz- vermet fej- lesztéseket Windows, OS X, Linux ope- tak néhány részletet, így az újabb nem- lesszen, hi- rációs rendszerekre, PC és Macintosh © Kiskapu Kft. Minden jog fenntartva zedék tagjai kétszeres teljesítményt nyúj- szen a lap- gépekre, valamint Xboxra egyaránt el tanak elõdeikhez képest. A jelentõsebb ka képes a lehet végezni. Természetesen az nVidia gyártók, többek közt a Microsoft, az IBM, fontosabb által fejlesztett eszköz tökéletesen az Oracle, a Red Hat és a HP már beje- internetes kihasználja az nVidia GPU-k képességeit lentették támogatásukat. Az elsõ Itanium protokollok és különleges szolgáltatásait. A fordító 2-alapú kiszolgálógépek bejelentése ha- – többek emellett képes a régebbi, sõt, a jövõbeli marosan várható. Az Itanium 2 lapkák közt ICMP, HTTP, DHCP, SNMP – támo- kártyák kezelésére is, a Unified Compi- 900 és 1000 MHz-es órajellel mûködnek, gatására. A lapka közvetlenül csatlakoz- ler Architecture (UCA) pedig lehetõvé áruk ezer dollár felett kezdõdik. tatható több olyan Motorola, Hitachi és teszi, hogy a programok futási idõben az  http://www.intel.com Intel processzortípushoz, amelyeket a éppen használt CPU képességeihez különféle hordozható eszközökben ta- alkalmazkodjanak. Indiában hódíthat a Simputer lálhatunk meg. Ha hálózati kapcsolatok  http://developer.nvidia.com/cg Indiában már ebben a hónapban megje- kezelésére még alkalmatlan készüléket lenhetnek azok a kézi számítógépek, veszünk alapul, a lapkát beépítve a gép amelyeket a digitális választóvonal sze- programjaiban és egyéb részeiben külö- rencsétlenebb felére esõ embereknek nösebb módosítást végrehajtva azonnal szánnak. A készülék hálózatba köthetõ eszközt kaphatunk. tervezésekor eleve  http://www.eea.epson.com az olcsóságot, az egy- szerûséget és a több- Továbbra is lesz kedvezményes nyelvûséget tartották internetezési lehetõség szem elõtt. A gépek Amikor a Matáv bejelentette, hogy meg- ugyanis a remények szünteti a Mindenkinek csomagot és a szerint olyan messzi 150 forintos kedvezményt, hirtelen vidékeken élõk ke- kisebbfajta riadalom támadt: mindenki az zébe is eljutnak információs társadalom építésérõl beszél, majd, akik írni-olvasni sem mindig tud- ezért nem szökhetnek a csillagokig az nak – ez természetesen a jelentõsebb internetelérés árai. Az Informatikai és leendõ tengerentúli vevõket nem akadá- Hírközlési Minisztérium rövidre zárta a lyozta meg abban, hogy a géppel kapcso- dolgot, és a távközlési céget némi állami latban elismerésüket fejezzék ki. támogatással megkínálva olyan díjcsoma- A Simputer leginkább a Palm kézigépei- gokat dolgoztak ki, amelyek továbbra is re hasonlít. Alkalmazásai könnyen hasz- lehetõvé teszik az olcsó internetezést. nálhatók képes hangüzenetek továbbí- A Matáv két – egy 15 és egy 40 órás – tására, szövegek felolvasására és inter- internetes díjcsomagot vezet be. Mind- net-hozzáférés felépítésére. két csomag a kedvezményes idõszakban A belsejébe egy Intel StromARM pro- érvényes; az elõbbi 15, az utóbbi 40 óra cesszor kerül, a tápellátásról két AA-tí- kedvezményes, a hatósági árnál olcsóbb pusú elem gondoskodik, memóriából hálózathasználatot tesz lehetõvé – lega- pedig 32 vagy 64 MB jut – ezzel gazdál- lábbis magánszemélyek számára. Ezzel kodhat a rajta futó Linux-változat. A kü- párhuzamosan az 51-es körzetbe tartozó lönféle kiépítésekben elérhetõ, átszámít- számok hívásának díja mindennap éjfél va körülbelül 55–120 ezer forintba ke- és reggel 7 óra között 0, 5 forintra csökkent. rülõ gépek a nagyjából 100 ezer forintos  http://www.matav.hu indiai éves átlagjövedelemhez mérve  http://www.ihm.gov.hu

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

Digitális képalkotási oldal a HP-nál háromszögeléssel határozza meg, Elfogadták a 10 Gbites A HP Magyarország új oldalán a di- amennyiben a jelüket legalább három ethernetszabványt gitális képalkotással kapcsolatos kérdé- normál hálózati eszköz érzékeli. A hely- A 10 Gigabit Ethernet Alliance bejelen- seikre lelhetnek választ az érdeklõdõk. meghatározás után a rendszergazda tette, hogy az IEEE szabványosítási A honlapon a fényképezéssel és álta- azonnal, az iroda vagy telephely körbe- folyamatában is megtörtént a végsõ lában a képalkotással kapcsolatos tud- járása nélkül intézkedhet, és a kérdéses lépés: háromévnyi munka eredménye- nivalókat, köztük mini lexikont, illetve eszközt eltávolíthatja vagy kitilthatja ként a 10 Gbit/másodperc sebességû fényképezéssel és termékpróbával a hálózatból. ethernetrendszer foglalkozó angol és magyar nyelvû  http://www.research.ibm00.com/ 802.3ae jelzéssel oldalakra való hivatkozásokat találunk. gsal/dwsa immár hivatalo- san is IEEE-szab- Asus-újdonságok vány. A szabvá- Az Asus három új nyosítás révén alaplapot jelentett be – elvileg – már P4S8X, A7N8X és nem kell attól A7V8X jelzéssel. Ez önmagában nem tartani, hogy a újdonság, az viszont annál inkább, különféle gyártók termékei nem tökéle-

© Kiskapu Kft. Minden jog fenntartva hogy az új lapok már támogatják a tesen mûködnek együtt egymással, és Serial ATA és az AGP 8× megoldásokat. széles körben megkezdõdhet a legna- A három alaplap SiS 648, VIA KT400 és gyobb sebességû ethernethálózatok nVidia lapkakészletre épül. Az új ATA- telepítése gerinchálózatokon, kiszolgá- szabványnak köszönhetõen megválha- lótelepeken, adatközpontokban. tunk a nehezen kezelhetõ, a gépek szel- A 10 Gbites ethernetszabvány fontos lõzését rontó vaskos szalagkábelektõl, elõnye, hogy megõrzi a hagyományos miközben a felület átviteli sebessége ethernet keretformátumot, illetve a 150 MB/s-ra nõ. Az AGP 8×, avagy AGP keretek legkisebb és legnagyobb mérete 3.0-s szabványú csatlakozó pedig 32 bi- is azonos, így a gerinchálózat és a kisebb A Magyar Fotográfusok Házában egy ten, 533 MHz-es órajellel nem kevesebb, sebességû helyi hálózatok összekapcso- HP-sarkot is kialakítottak, amelyben mint 2,1 GB/s-os sávszélességet tesz lása könnyedén elvégezhetõ. A leggyor- az érdeklõdõk minden, a témához kap- elérhetõvé grafikus kártyánk számára. sabb ethernethálózatok kizárólag optikai csolódó HP-terméket megismerhetnek. Az új alaplapok nyár végén érkeznek szálon mûködnek, hatótávolságuk akár A bemutatóteremben hétvégente ingye- a boltokba. a negyven kilométert is elérheti. nes tanfolyamokat is tartanak, amelye- Az Asus kínálata egy DVR-104 jelzésû  http://www.ieee.org ken az érdeklõdõk a kezdõtõl egészen DVD-íróval is gazdagodott. Az új meg- a profi szintig elsajátíthatják a fényké- hajtó a DVD-R és DVD-RW szabványo- Sony Ericsson T300 mobiltelefon pezéssel kapcsolatos fogásokat. kat támogatja, a lemezeket 2× és 1× A Sony Ericsson T300-as mobiltelefonját  http://www.hp.hu/digitalis-kepalkotas sebességgel tudja írni. A DVD-lemezeket sajnos csak év vége felé vehetjük kézbe, 6×, a CD-ket pedig 24× sebességgel úgy tûnik azonban, hogy megéri a vára- Vezeték nélküli hálózatok biztonságát olvassa, CD írására 8×, újraírására 4× kozást. felügyeli az IBM új eszköze tempóval képes. Az átmeneti tár kiürü- A telefon Az IBM Research olyan új eszközt mu- lése miatt lemezt nem ront, sõt, saját hû- mindhárom tatott be, amely a 802.11-es vezeték tõventilátorral rendelkezik, és függõle- GSM-sávot nélküli hálózatok biztonságát hivatott ges helyzetben is beszerelhetõ. Az ATAPI- ismerni fogja, 24 szólamú csengõhangok önmûködõen ellenõrizni. A Distributed csatlakozós, UDMA33-támogatással megszólaltatására is képes lesz, valamint Wireless Security Auditor (DWSA) asz- rendelkezõ DVR-104 júliustól kapható. MMS-küldésre is használhatjuk. Vele tali és hordozható számítógépeken fut,  http://www.asus.com.tw együtt jelenik meg egy új digitális ka- folyamatosan figyeli a hálózati bizton- mera, a CommuniCam MCA-25. ságot, és percenként jelentést tesz a Toshiba Bluetooth SD kártya A T300 további érdekessége, hogy 256 központi kiszolgálónak. A Toshiba internetes boltjában már be színû kijelzõjén a játékok futtatása a je- A rendszer elõdjét, a zsebtitkárokon is szerezhetõ az a Bluetooth SD (Secure lenlegi telefonoknál érdekesebb lesz. Mi futó Wireless Security Auditort (WSA) Digital) kártya, amelyet kifejezetten több, a programok beszerzése sem lesz egy évvel ezelõtt mutatták be. Ennek Pocket PC gépekhez fejlesztettek. A kö- nehéz: egyrészt a cég WAP-oldaláról is az általánosan elérhetõ eszköznek a rülbelül postai bélyeg nagyságú, néhány letölthetünk klasszikus, az Atari gépekrõl továbbfejlesztése a DWSA, amelyet mozdulattal megismert játékokat, másrészt a meg- további önellenõrzõ képességekkel telepíthetõ kártya felelõ fejlesztõi készlet beszerzése után ruháztak fel. segítségével a zseb- akár magunk is írhatunk programokat. A vezeték nélküli hálózatok népszerû- titkárok pillanatok A készülék készenléti ideje 300–350 óra, ségének folyamatos növekedésével alatt hálózatba kap- beszélgetési ideje pedig 6–7 óra lesz egyre fontosabb a biztonsági kérdések csolhatók, és többek között asztali szá- – a cég ígérete szerint emellett a széles megoldása. A Linux alá is elérhetõ rend- mítógépeket, nyomtatókat, mobiltelefo- közönség számára is elérhetõ áron kerül szer jelenlétük jelzése mellett a rosszin- nokat és hozzáférési pontokat érhetünk majd piacra. dulatú hálózati csomópontokat is képes el róluk. A kártya ára 149 dollár.  http://www.sonyericsson.com felderíteni. A csomópontok fizikai helyét  http://www.shoptoshiba.com  http://www.mophun.com

8 Linuxvilág Hír-lelõ

Kína elõretör Elérhetõ a KOffice 1.2b2 Megjelent a FreeBSD 4.6 A kínai állam erõteljesen Augusztus végére várható az 1.2-es A fejlesztõk rengeteg ellenõrzést végez- támogatja a szabad prog- KOffice végleges változatának megje- tek a FreeBSD kódján – céljuk egy letisz- ramok fejlesztését, a Linux lenése, addig is be kell érnünk az újabb tultabb állapot elérése. Kisebb-nagyobb és holdudvara a hatalmas ország kor- próbaváltozattal. Csak néhány az új és hibákat kijavítottak, mányzatában is helyet kap. Szeretnék javított tulajdonságok miközben néhány függetleníteni magukat az amerikai közül: a csomag alkal- szolgáltatással is cégektõl, az amerikai befolyástól – ez az mazásai egységesebbekké bõvült a rendszer, a politika, amit most inkább ne fesze- váltak, szélesítették a ke- valamint a leírások is gessünk. A „helyi” terjesztés fejlesztõje, resési, illetve cserélési lehetõségek körét, frissültek. Jó néhány há- a Red Flag az asztali gépek meghódí- a KWord dokumentumait lábjegyzetek- lózati csatoló illesztõprogramja bekerült tása után most a hordozható készülé- kel is elláthatjuk, bõvült a keretek hasz- a terjesztésbe, elérhetõ a 137 GB-nál kek esetében is ki szeretné terjeszteni nálhatósága, a KSpread immár sablo- nagyobb ATA-meghajtók támogatása, és a jelenlétét. Ennek a törekvésnek része nokkal is tud dolgozni, a táblázatokon számos hálózatkezeléssel kapcsolatos az is, hogy együttmûködési megállapo- több nézetet is létrehozhatunk, és változás is történt. A fejlesztõk továbbra dást kötött az Operával, az ismert nyomtatáskor kiválaszthatjuk a nyom- is tartják a négy hónapos ütemezést, így böngészõ fejlesztõjével. A Red Flag tatni kívánt területet. Elõrefordított a 4.7-es változat októberre várható, a

által fejlesztett csomagok ezentúl zseb- csomagok SuSE és Mandrake Linuxok- vele párhuzamosan készülõ 5.0-s kiadást © Kiskapu Kft. Minden jog fenntartva titkárokon, set-top boxokon és vékony hoz érhetõk el, az egyéb terjesztések pedig november 20-ára ígérik. ügyfeleken egyaránt mûködõképesek használói a forráskódot tölthetik le.  http://www.freebsd.org és jól használhatók lesznek – köszönhe-  http://www.koffice.org tõen az Opera megjelenítési és egyéb Medgyesi Zoltán ([email protected]) képességeinek. Lesz 64-bites Mandrake Linux a BMGE 24 éves informatika szakos Ide tartozik, hogy a Trolltech is meg- A MandrakeSoft bejelentette, hogy hallgatója. Szabadidejét legszíveseb- egyezett a Red Flaggel: együtt fejlesz- Linux-terjesztéseivel támogatni fogja ben a barátnõjével tölti. Szeret autózni tenek és értékesítenek egy beágyazott az AMD új, nyolcadik nemzedékbeli, és bográcsban fõzni. A Linuxot hat éve Linux-változatot zsebtitkárokhoz, vé- 64 bites Athlon és Opteron processzo- ismeri, de még nem volt lelkiereje, kony ügyfelekhez és set-top boxokhoz, rait. A Mandrake valamint további hasonló eszközökhöz, már dolgozik azon, hogy áttérjen rá. A Linuxvilág magazin amelyek piacán jelentõs növekedés vár- hogy termékeit x86- hírszerkesztõje. ható. Az együttmûködés keretében 64-es processzorokra a Red Flag telephelyén Qt technológiai ültesse át, amelyek központ is nyílik, a két cég együttesen – és velük együtt teszi elérhetõvé a Trolltech asztali ter- maga az operációs mékeit kereskedelmi, oktatási és kutatási rendszer is – a 32- és ügyfelei számára, valamint képzési és 64-bites programok futtatására egyaránt támogatási szolgáltatásokkal is a kínai képesek. Az új Mandrake Linux 9.x érdeklõdõk rendelkezésére áll. sorozat elsõ tagjai 2003 elején bukkan-  http://www.redflag-linux.com/ nak majd fel. eindex.html  http://www.mandrakesoft.com

Linuxos számítógépek Megjelent a Gnome 2.0 a nagyáruházakban Több próbaváltozat után a végleges 2.0-s Az Egyesült Államokban teljesen más- Gnome is kikerült a fejlesztõk kezei kö- ként zajlik a számítógépek vásárlása, zül. A megjelenésrõl szóló közlemény- mint kicsiny hazánkban. Ezért fontos ben fontosnak tartották fegyvertény, hogy a kiemelni, hogy az abla- Wal-Mart olyan kozó környezet minden számítógépeket is lehetséges módon támo- felvett a kínálatába, amelyekre elõzete- gatja a fogyatékos embe- sen nem telepítették fel a Microsoft reket, illetve számítógép- Windowst. Az áruházlánc honlapján használatukat a 2.x sorozat késõbbi viszont (monitor nélkül) 400–500 dollár- tagjaiban további szolgáltatások fogják ért rendelhetõ olyan számítógép, segíteni. Az új Gnome új könyvtárakat, amelyre Lindows operációs rendszer kellékeket használ, moduláris kerül, illetve operációs rendszer nélkül felépítésének köszönhetõen pedig szállított gép is beszerezhetõ. A hon- különösen rugalmas fejlesztési lapon külön részt hoztak létre a Win- környezetet kínál a programozás iránt dows nélkül megvásárolható számító- érdeklõdõknek. A késõbbi kiadásokban gépek számára, amelyek között AMD- a kedvelt Evolution, Galeon, Mozilla és Intel-alapú összeállítások egyaránt és Gnumeric alkalmazások natív találhatók. változatai is megtalálhatók lesznek.  http://www.walmart.com  http://www.gnome.org

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

Cégvilág

Oracle 9i v2 Linuxra Tartalomkezelõ rendszert Az Oracle kibõvítette Linux-támogatását az Oracle9i ter- mutatott be a telnet mékcsaládban, ami az Oracle9i adatbázis-kezelõ és alkal- Miközben egyre több vállalkozás fedezi fel az Internet mazáskiszolgáló, illetve az Oracle9i Developer Suite fej- nyújtotta lehetõségeket, alapkövetelménnyé vált, hogy lesztõkészlet 2-es változatának linuxos megjelenését az ügyfelek hálózati megjelenésüket, honlapjuk mûszaki takarja. Az IDC szerint az elkövetkezõ években a Linux hátterét folyamatosan fejleszteni tudják. Erre az igényre a vállalati adatbázisok kulcsfontosságú felületévé növi született válaszként a webX alkalmazás, amely rugal- ki magát. Az Oracle az elsõ olyan programszállító, amely mas, saját szerkesztõrendszerrel rendelkezik, és segítsé- kereskedelmi forgalomban elérhetõ relációs adatbázis- gével rendkívül hatékonyan lehet létrehozni kész, mû- kezelõvel, alkalmazáskiszolgálóval és teljes fejlesztõkész- ködõ honlapokat – akár egy hét alatt is. lettel támogatja a linuxos fejlesztéseket. Az Oracle-t szá- Az egyes elemek cserélhetõségének köszönhetõen a mos független Linux-felmérésben a legkedveltebb prog- webX rendszer bármikor igény szerint bõvíthetõ, alakít- ramszállítóként jelölték meg, továbbá a vállalat már szá- ható, a honlaphoz tartozó szerkesztõrendszer segítsé- mos Linux-díjat elnyert. Nemrégiben a Linux Journal az gével pedig a megjeleníteni kívánt adatokat bármilyen © Kiskapu Kft. Minden jog fenntartva Oracle9i adatbázis-kezelõt ismerte el a legjobb linuxos különösebb szaktudás nélkül bárki fel tudja vinni. A leen- adatbázis-kezelõnek, az Evans Data amerikai piackutató dõ ügyfelek teljes körû kiszolgálását személyes ügyfél- pedig a linuxos fejlesztõk körében végzett felmérése menedzser és 24 órás ügyfélszolgálat biztosítja. alapján megállapította, hogy linuxos fejlesztéseknél az  http://www.webx.hu Oracle9i alkalmazáskiszolgáló a legkedveltebb és leg- Rádiós internet-hozzáférés a CovySofttól nagyobb példányszámban telepített alkalmazáskiszolgáló.  RadioNET néven új rádiós internetszolgáltatást indított a http://www.oracle.com/hu CovySoft Networks. Az új szolgáltatás a szabadon hasz- Westel – MTI: MMS-alapú hírszolgáltatás nálható 2,4 GHz-es hullámhosszon díjcsomagtól függõen Az MMS új alkalmazási lehetõségeinek vizsgálatát és új 256–768 KB/s sebességû hozzáférést biztosít. A cég ma- szolgáltatások kidolgozását tûzi ki célul a Westel és a gánszemélyeknek és vállalkozásoknak egyaránt kidolgozott Magyar Távirati Iroda megállapodása. Az együttmûködés díjcsomagokat, így hároméves szerzõdés aláírása esetén a célja, hogy a hírügynökség a késõbbiekben egy átfogó szolgáltatás árait tekintve versenyképes a vezetékes szol- kutatás-fejlesztési program keretében kidolgozott mobil gáltatók ADSL-csomagjaival. A hozzáférést illetéktelen sze- multimédia tartalomszolgáltatásokat nyújthasson. Az MTI mélyektõl alapesetben 48 bites titkosítással védik, telepí- a tartalomipar, a távközlés és az informatika összefonódá- tése a körülményektõl függõen 1–4 hetet vesz igénybe. sára, az internet- és a mobiltelefon-felhasználók körének  http://www.covysoft.hu jelentõs bõvülésére tekintettel, illetve az MMS fejlõdésé- Leszállították a tízezredik nek kedvezõ elõrejelzéseire támaszkodva hagyományos IBM Shark kiszolgálót hírügynökségi szolgáltatásainak továbbfejlesztését tûzte Az IBM ESS adattároló rendszerét a világ minden tájára ki céljául. A megállapodás alapján a program elsõ szaka- Magyarországról szállítják, hiszen a gépek összeszerelése sza a szakértõi egyeztetéseké, a részletes, tényleges fela- teljes egészében Vácott zajlik. Az ESS gyártását az IBM datokat, erõforrásokat és célokat meghatározó kutatási 1999-ben kezdte meg, a váci üzem termelése az eltelt nem program ezt követõen legkésõbb õsszel kezdetét veheti.  egészen három év alatt elérte a tízezres mennyiséget. http://www.westel.hu 1999 óta az IBM rengeteg különféle vállalat számára szállí- Új üzletág a Montana Rt.-nél tott Enterprise Storage Servert, köztük a Fortune magazin A Montana Rt. dr. Márkházai Sándor-t nevezte ki május- 100-as listáján szereplõ vállalatok 74 százalékának. A váci ban indított új kereskedelmi üzletágának igazgatójául. üzem Shark kiszolgálók formájában összességében már Az új üzletág a könnyûipar és logisztika területén tevé- több mint 22 petabájt tárolókapacitást bocsátott ügyfelei kenykedõ cégek testreszabott informatikai megoldásai- rendelkezésére. A Föld különbözõ részein Enterprise nak kialakításaira és szállítására összpontosít. Storage Server rendszereken tárolt adatok mennyisége Az újonnan kinevezett igazgató feladata többek között, több mint 37 millió teleírt CD-ROM tartalmának felel meg. hogy felügyelje mind a fuvarozás-szállítmányozás, mind A tízezredik Shark kiszolgáló egy 185 terabájtos kapaci- az élelmiszeripar és az elektronika területén történõ tású tárolórendszer részét alkotja, amelyet az IBM alakít dinamikus cégvásárlások következtében létrejövõ új ki a Commerzbank számára. cégek informatikai rendszereinek kiépítését és egységes  http://www.ibm.hu vállalatirányítási rendszereinek megvalósítását. A Montana Rt. nem titkolt célja, hogy egyedi tudásának Medgyesi Zoltán ([email protected]) köszönhetõen elsõ számú informatikai partnerré váljon a BMGE 24 éves informatika szakos hallgatója. a szállítmányozási és a könnyûipari szektorban – informa- Szabadidejét legszívesebben a barátnõjével tölti. tikai szempontból a legerõsebb fejlõdés az összes ipará- Szeret autózni és bográcsban fõzni. A Linuxot hat gat tekintve jellemzõen ezen a területen tapasztalható. éve ismeri, de még nem volt lelkiereje, hogy  http://www.montana.hu áttérjen rá. A Linuxvilág magazin hírszerkesztõje.

10 Linuxvilág Láttuk-hallottuk

A Savannah és a szabad programfejlesztés

Úgy kezdõdött, hogy csökkenteni akarták a GNU CVS mogató csomag fejlesztõk, fordítók és felhasználók szá- fenntartóinak a terheltségét, idõközben azonban olyan mára. Lehetõvé teszi a nemzetközivé tételt, ami a jelen- nagyratörõ projekt bontakozott ki, melynek célja egy tel- legi SourceForge-rendszerbõl nagyon hiányzik. jes fejlesztésbefogadó szolgáltatás. 2001 októberében Az új rendszer fejlesztõi olyan rendszer kialakítását tûzték a GNU Project bejelentette, hogy teljesen újraírják a ki célul, ahol a programváltozatok közti frissítési útvonal SourceForge progra- 1. 2. mot, és a változtatások 1. 2. számos lényeges szak- mai és gyakorlati kér- dést fognak érinteni. A SourceForge egy, az együttmûködést segítõ, egybeépített fejlesztõi környezet. Webes felülete portál- ként szolgál a CVS-, az FTP- és az elektronikus levelezési szolgálta- tásokhoz. Az eredeti SourceForge-kiszolgáló, világosan meghatározott. A programot a Debian .deb a  http://SourceForge.net jelenleg több mint harminc- csomagjainak segítségével kötegelik, a frissítés pedig a ezer projektnek és 300 ezer felhasználónak „ad otthont”. csomagrendszer használata révén önmûködõvé tehetõ. A GNU Project a  http://savannah.gnu.org honlapon A rendszer alapját a GNU phpGroupWare kódolás adja. már 2000 óta a SourceForge program módosított válto- A phpGroupWare mintákat valósít meg, amelyek a zatát futtatta. A Savannah-t a GNU önkéntesei állították nyelvi változatok készítéséhez, a hitelesítéshez, az adat- fel azzal a céllal, hogy a GNU projekt irányítását önmû- bázisok eléréséhez, az XML-RPC felületekhez és a mun- ködõvé tegyék és megkönnyítsék. A GNU Project fejlesz- kamenetek kezeléséhez szükségesek. A Savannah és a tõi kifejezetten egy a szabad programok készítését támo- phpGroupWare fejlesztõgárdája szorosan együttmûködik, gató szolgáltatást akarnak létrehozni, a VA Software eredményeiket kicserélik egymás között. vállalattól függetlenül. Ahogyan Bradley Kuhn, a Free Software Foundation Sok fejtörést okozott a jelenlegi SourceForge-rendszer (Szabad Szoftver Alapítvány) alelnöke írta: központosított szerkezete. Mi történik a harmincezernél „A szabad programfejlesztéshez elengedhetetlen egy is több befogadott projekttel, ha a VA Software-nek együttmûködést biztosító webhely, amely egységes esetleg nem áll módjában (anyagilag) támogatni a felülettel segíti a fejlesztések irányítását. A program- SourceForge.net-et, vagy ha valamilyen SSSCA-szerû szabadság ügyének érdekében ezeket a weboldalakat büntetés valósággá válik? kizárólag szabad programokkal kell megvalósítani. A fejlesztõcsapat a nyilvánvaló megoldást választotta, A Savannah a GNU Project esetében pontosan ezt teszi, és a decentralizáció mellett döntött. A programfejlesz- és hamarosan az összes GPL-megfelelõ szabad prog- tések befogadását hálózatot alkotva több webhely végzi, ramfejlesztésre is kiterjed majd.” és a projektek a hálózat minden csomópontjáról olvas- A Savannah fontos szolgáltatásokat fog nyújtani a sza- hatók lesznek. bad programok fejlesztõinek. A  http://SourceForge.net Az új Savannah rendszert futtató számítógépek mind- szolgáltatásait az egész világra kiterjedõ kiszolgálóháló- egyike bizonyos számú írható, illetve olvasható és zaton fogja elérhetõvé tenni, ahol a kiszolgálók az csak olvasható fejlesztést fogad majd be. Az írható, egyes fejlesztõk anyanyelvén beszélnek. A Savannah illetve olvasható fejlesztések az adott gépen foglalnak hibatûrõ és képes az adatok helyreállítására. És min- helyet, a csak olvashatók pedig a más gépen befoga- denekelõtt egyetlen dologban igényel csak támogatást: dott projektek tükrözései lesznek. Abban az esetben, önkéntesekre van szüksége, akik a befogadó szolgál- ha valamelyik gép leáll, az ott befogadott fejlesztõk tatást nyújtják, és azokat képességeik szerint támogat- átköltözhetnek a projektjük valamelyik tükörképére, ják. A Savannah rendszerrõl bõvebb tájékoztatást a s beállíthatják, hogy az legyen a projektírási, illetve –  http://savannah.gnu.org honlapon találsz (1. kép). olvasási kiszolgálója. A különbözõ kiszolgálók egy XML- A GNU Project a  http://www.gnu.org oldalon (2. kép) alapú formátum segítségével kicserélik egymás között található. A szabad program meghatározását a a projektmeghatározásokat. A Savannah szolgáltatása  http://www.gnu.org/philosophy/free-sw.html oldalon hibatûrõ: az egyes gépek kiesése nem okoz adatvesztést. olvashatod. A Savannah fejlesztõi az új rendszer teljes tartalmát mintákra alapozzák. Az oldalrészek GNU gettext fájlokból Linux Journal 2002. március, 95. szám olvashatók be – az olvasó nyelvi beállításainak megfele- Nicholas E. Walker

lõen. A gettext többnyelvû alkalmazások készítését tá- © Kiskapu Kft. Minden jog fenntartva

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

Beszélgetés az MPlayer fejleszõivel

Egy hétnyi xmps- Ismét született egy világhírû és nagysikerû kódokkal foglalkozom, ha idõm engedi. hibajavítás után magyar fejlesztés. A program megalkotóival – Gabucino – õ alkotja meg a leírást és a weboldalt, neki rájöttem, hogy szerzõnk csevegett. köszönhetjük, hogy RTFM-ezni lehet a levelezõlistákon. alapjaiban van – Pontscho – a GUI és az egyéb X11-gyel kapcsolatos A sorozat eddigi cikkeiben rengeteget beszéltem errõl elrontva az egész, kódok, vezérlõk (-vo driverek) szerzõje sok minden más a – mondhatni – egyedülálló magyar fejlesztésrõl, az nem érdemes több mellett. MPlayerrõl és a hozzá tartozó MEncoderrõl, amellyel idõt ölni bele, – Alex (Alex Beregszászi) – õ az, aki mindenbe beleszól, szinte az egész linuxos tábort sikerült meghódítaniuk. egyszerûbb elölrõl véglegesít, letisztáz és néha még „hasznos” dolgokat is ír. Mi sem szemléletesebb bizonyítéka a már elõzõ cikkben kezdeni. Mint ismeretes, körülbelül a csapat fele külföldi, így is említett  http.//freshmeat.net-en található kimutatás. például: A korábbi helyzethez képest azonban változás állt be: az – Michael Niedermayer – eleinte a kényes kódrészek MPlayer – nem kis meglepetésre – jócskán megelõzte az assmeblyre való átírásával, hatékonyabbá tételével se- eddigi örökös elsõ helyezettet, a Linux Kernelt, és ezzel gített, ezzel elérte, hogy az MPlayer a létezõ leggyorsabb a világ egyik legnagyobb linuxos projektekkel foglalkozó DivX-lejátszó, mostanában inkább az mpeg-4 tömörítõt portál statisztikájának tanulsága szerint az élre állt. (encodert) javítgatja, mára a DivX5-nél is jobb minõségûre. A történtek hatására úgy éreztem, hogy a sorozat nem – Albeu (Alban Bedel) – neki köszönhetõk a felhasználók lenne teljes, ha nem ejtenék néhány szót a program körében nem mindig népszerû hierarchikus fájllisták, a emberi hátterérõl, amely a fent emlegetett teljesítmény fájlonként, illetve fájlcsoportonként hatásos kapcsolók elérésében kulcsszerepet játszott, ezért felvettem a kap- (playtree/configtree, amelyet kissé nehéz átlátni, így sok csolatot a fejlesztõi csoporttal. Ennek eredményeként fejtörést okoz a kezdõknek), valamint a csak hang- született meg az alábbi beszélgetés. (audio-only – mp3, ogg, wav, wma) lejátszás is. – Atmos (Felix Bünemann) – amolyan társfenntartó (co- Komáromi Zoltán: Azt hiszem, elég jó témába fogtatok maintainer). Amikor éppen nem érek rá, õ rakja be a fol- az MPlayer-fejlesztéssel – nem az a kimondottan szûk tokat, kiegészítéseket, amúgy õ készíti a win32/cygwin és terület. Mikor és hogyan kezdõdött? mostanában a Darwin átvételét (a portolást) is. Gereöffy Árpád: Két éve, 2000 õszén kölcsönkaptam – Florian Schneider – a legújabb „felfedezettünk”, õ írta egy videoCD-t, amit megnéztem volna, ha lett volna a Realplayer-kodekek támogatásához szükséges felületet mivel. Az akkori lejátszók: mtv, xmps, xmovie nem és tervei között szerepel a Quicktime-kodekek (beleértve játszották le. Egy hétnyi xmps-hibajavítás után rájöttem, a Sorensont is) támogatásának kidolgozása is. Ez a lista hogy alapjaiban van elrontva az egész, nem érdemes már most is elég hosszú, ámde közel sem teljes… több idõt ölni bele, egyszerûbb elölrõl kezdeni. Így szüle- K. Z.: Mennyi idõt töltötök a projekt igazgatásával he- tett meg az mpg12player, a mai MPlayer õse. Aztán jött tente – beleértve mind a saját fejlesztést, mind pedig a a DivX, kellett az AVI-támogatás, és a program neve foltok ellenõrzését, elfogadását és a leírás elkészítését? ezért lett – elég fantáziátlanul – MPlayerre módosítva. G. Á.: Sokat, túl sokat… Ponekker Zoltán (Pontscho, a továbbiakban P. ): Pedig G.: Annál is többet – kellene. mit kínlódtunk a névvel! Voltak elég vad ötleteink is. G. Á.: Napi sok órát, csak a levelezõlisták átolvasása Bérczi Gábor (Gabucino, a továbbiakban G.): Körülbelül, (napi 200–500 levél!) és a napi 5–10 folt ellenõrzése, mint az UHU Linux névvariációk, lásd régebben Pulinux. kipróbálása, jóváhagyása rengeteg idõt elvesz, emellett K. Z.: Hányan is vagytok most pontosan? néha új dolgokon is szeretünk dolgozni… G. Á.: 2×N-en. Mindenki hozott magával egy embert... P. : Ha éppen nem a megélhetésért küszködöm, akkor G.: Mi is a kérdés pontosan? MPlayert hegesztek. Ez a mániámmá lett. Árpi, tudod G. Á.: Na szóval, ezt a kérdést így lehetetlen megvála- milyen könnyû napi 300 levelet elolvasni a DELETE gombbal? szolni, bár egy jól összeállított grep, awk, wc hármassal G. Á.: Tudom, csak a sok levél miatt nincs idõm ezt a CVS naplóból talán kinyerhetõ a szám. Én inkább két fõ a szolgáltatást beletenni a levelezõmbe. csoportra osztanám a népet: van a fejlesztõi mag (core K. Z.: Mikor és kiben merült fel a MEncoder ötlete? Ki developerek), akiknek ez a fõ projektjük, a legtöbb szabad- volt az, aki ténylegesen is hozzálátott a megvalósításhoz? idejüket az MPlayernek áldozzák; és akadnak közremûkö- G. Á.: Na, vajon ki? dõk (contributorok), akik 1–2 vagy akár több kisebb-na- G.: Árpi, de én ösztökéltem. gyobb foltot küldtek, ami bekerült a kódba, de amúgy nem G. Á.: Ugyanaz a helyzet, mint az MPlayer esetében, te- tevékeny fejlesztõk. Az utóbbiak közül több százan köz- hát nem volt a „piacon” használható, megbízható tömö- remûködnek, az elõbbiek közül nem olyan sokan munkál- rítõ, illetve átalakító (encoder/converter). Az MPlayerben kodnak rajta, azonban õket is nehéz lenne összeszámlálni. pedig szinte minden meg volt hozzá, „csak” a tömörí- Azok a hazai tagok, akik még ma is tevékeny résztvevõk: tõket kellett hozzácsapni és az A-V sync kódot újraírni… – én (Gereöffy Árpád) – amolyan projektvezetõ-féleség K. Z.: A statisztikák alapján ez a világ egyik legnépsze- vagyok, én döntök a foltok, javítások, kiegészítések sor- rûbb és leghatékonyabb lejátszója. Mikor tudatosult ben- sáról (nem egyedül, ámde enyém a döntõ szó), amúgy netek, hogy ez jobban sikerült, mint ahogyan a legmeré- fõleg a kodekekkel és demuxerekkel, illetve A-V sync

© Kiskapu Kft. Minden jog fenntartva szebb álmotokban is gondolni mertétek az elején? Egyál-

12 Linuxvilág Láttuk-hallottuk

«

talán honnan tudtok róla, hogy mekkora területeken (Idézem az MPlayer honlapját: „100% GPL”, azonban azt sze- Nos, meglepõdtem, használják? rettem volna, ha ezt a fiúk értelmezik, de nem így történt.) amikor egy fazon G. Á.: A földrajz sosem volt az erõsségem. K. Z.: Mikor tud az egyes Linux-változatoknál csomag- Indiából kezdett el G.: Mi mindent tudunk. gá válni? mindenféle kérdésekkel G. Á.: Átlagosan napi 3000 letöltést jegyzünk, új kiadá- G. Á.: Majd ha õk is elhiszik, hogy GPL. bombázni, illetve sok (release-ek) után pár napig ez eléri a napi 5–6000-et G.: Ez nálunk, bár hihetetlen, senkit sem izgat. Én LFS-t rendszeresen is. Az utóbbi idõben egyre kevésbé pontosak az ada- használok. kaptam francia taink, mivel sokan tükrözik, és ezekrõl nincs visszajelzé- G. Á.: Érdekes, amíg nem volt GPL, mindenki minden- „köszönõleveleket”. sünk. Érdekes egyébként, hogy a 0.90pre5-változat áron csomagolni akarta, és minden kérésünk, tiltakozá- negatív rekordot döntött, alig 12 000-en szedték le egy sunk ellenére végre is hajtotta azt. Amióta GPL-nek hét alatt. Valószínûleg mindenki a végleges 0.90-et várja minõsítjük, és a csomagolómûvészek jelentkezését már, minket is beleértve. kértük, egyedül a Red Hat 7.2-höz készült csomag. Aki P. : Nos, meglepõdtem, amikor egy fazon Indiából kezdett elkészítette, nagyon tisztességes volt, elõször velünk el mindenféle kérdésekkel bombázni, illetve rendszere- egyeztetett, hogy mit kellene beletennie, mit nem, mit sen kaptam francia „köszönõleveleket”. Javarészt RTFM hogyan cselekedjen, ezután készítette el a csomagjait, volt a válasz. és a karbantartásával ugyancsak õ foglalatoskodik G. Á.: Ja igen, tolmácsra is szükségünk lenne. (beleértve a felhasználók segítését is). Valahogy hiányo- K. Z.: Mennyire erõsek a visszajelzések? lom a debianosok híres segítõkészségét. G. Á.: Sok okvetetlenkedõ felhasználó írogat… G.: A Debianban csak az EGA X-kiszolgáló a jó. G.: És kevés szponzor… P.: Nem mondom, hogy különösebben érdekelt volna G. Á.: Sokan támadnak minket szélsõséges nézeteink a felhasználási szerzõdése. Ha mûködik és kell a tudása, miatt, ami például a Red Hat selejtes gcc-mutációját akkor használom. GPL – ez csak az RMS mániája. Sok- (v2.96), vagy például az nVidia-vezérlõket (drivereket) szor semmit sem érnek a GPL-es cuccok a nem GPL- érinti. Egyszerûen nem vagyunk hajlandóak mások osto- sekhez képest. Ezért én nem fogom korlátozni magam, baságát, hibáit kerülgetni, és ezt a felhasználók nem fel- csakhogy elmondhassam: ez bizony GPL! tétlenül nézik jó szemmel. Másrészt sokan támadják azt a G. Á.: Egyetértek, rólam amúgy is köztudott, hogy nem stílust, ahogyan néha a levelezõlistákon írogatunk, szerin- vagyok a GPL híve. Természetesen akad jó csomó elõnye tük lehetnénk sokkal udvariasabbak is. És teljesen igazuk is, például megvéd minket a gonosztól stb., ugyanakkor is van, lehetnénk, csakhogy nincsen rá elegendõ idõnk. megakadályozza minden nem GPL-felhasználású kód, P. : Igaz. Így is más projektektõl, munkától, szabadidõbõl lib alkalmazását, ami viszont bizonyos esetekben nagy és a kedvesemtõl lopom az idõt, hogy MPlayerrel veszteség mind nekünk, mind a felhasználók számára. foglalkozzam. K. Z.: Ha már itt tartunk, mennyire törvényes az K. Z.: Származik belõle valamilyen anyagi hasznotok? MPlayer? Ez már akkora projekt, hogy ezekkel a kérdé- G. Á.: Tessék? sekkel is szembe kell néznetek. Felelõsségre vonhatnak G.: Én már a nullszaldónak is örülnék. benneteket bármiért is? G. Á.: Miért származna? Ez egy százszázalékosan non- G.: Semmi olyan anyag nincs a birtokunkban, illetve a profit projekt, szabadidõnkben írjuk, sõt a befektetett fejlesztés során semmi olyat nem használtunk fel, ami anyagi javaknak is csak kis százalékát állták szponzorok. törvénytelen lenne. Azt is elsõsorban az UHU Linuxnak köszönhetjük, õk G. Á.: Teljesen. A win32 kodekeket sokan vitatták, azon- adták az MplayerHQ.hu szervert, valamint a videokár- ban azt a vitát már elõttünk fél évvel lejátszották az tyákat, a DVD-meghajtókat stb. avifile-osok. A DLL-ek a Microsofttól, illetve más cégek- K. Z.: Gondoljátok, hogy késõbb, az állások megszer- tõl ilyen jellegû korlátozások nélkül szabadon letölthetõek zésénél, az iparban ez elõnyt jelent majd számotokra? – legalábbis egyelõre (mint ismeretes, a Microsoft az G.: Lehet, hogy regényíró leszek? utóbbi idõben sorra oly módon változtatja meg felhasz- G. Á.: Gondolni gondoljuk, csak nem tapasztaljuk. Lega- nálási szerzõdéseit, hogy explicit megtiltja a Linuxszal lábbis eddig semmi jele ennek. Gondolj bele, Linus való felhasználást). Ha nagyon szigorúan nézzük, akkor Torvaldsot sem hívták biztos állásokba két évvel a Kernel már az .MP3-lejátszás is törvényellenes, nem is beszélve 0.0.1 kiadása után, csak jóval, sok-sok évvel késõbb. a többi, rázósabb dologról, mint a visszafejtett DivX- Van remény! kodekrõl vagy az MPEG4 tömörítõrõl. Amíg szabad és P: Nem hiszem, hogy egy cégnél nagy referencia lenne ingyenes (free) a projekt, semmit sem tudnak tenni vele, az MPlayer. Úgyis saját cégben gondolkodunk (még- hiszen ezek a felhasználási szerzõdések az eladott darab- pedig nem MPlayer-közeli dologban). számtól, illetve a bevételbõl való részesedést szabják K. Z.: Térjünk át a technikai jellegû kérdésekre: a program meg a szabadalom tulajdonosának. mennyire GNU/GPL-es? Törekedtek rá, hogy az legyen? P. : Remélem, vállalkozó kedvû ügyvédek is akadnak az G. Á.: Már rég az, nem olvasol újságot? olvasótáborotokban. G.: Vagy legalább honlapot? K. Z.: Törekedtek arra, hogy az ismertté válás során

G. Á.: …vagy RTFM? minél kevésbé legyetek jogilag támadhatóak – gondolok © Kiskapu Kft. Minden jog fenntartva

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

«

Ez nem igazán matek, például a DVD-lejátszásra? A-V sync kérdése. Kinek jutott a „hálátlan” feladat, hogy sokkal inkább tapasztalat G. Á.: Nem jellemzõ, majd ha Gerard gondol rá (Gerard foglalkozzon ezzel? Ha jól tudom, ez a legnehezebb része és gyakorlat a digitális írta a libav kodeket – a szerk.). a kódnak és a lejátszás folyamatának. videofeldolgozás G.: A DVD-lejátszás jogszerûsége kevéssé izgat minket. G. Á.: Én írtam, és már legalább egy éve nem kellett (video processing) G. Á.: A VideoLAN-osok megfelelõ jogi háttérrel rendbe hozzányúlnom. Tényleg nehéz volt, mert nekem kellett és szûrõk (filtering) tették a DVD-kérdést, újraírták az egészet, úgyhogy az elõször kitalálni, nem volt honnan puskázni, így elég sok alkalmazása terén. nem használja az eredetileg a decss-nél használt feltört kísérletezés és kipróbálás kellett hozzá. De megérte! xing playeres kulcsot. Mindezt egy olyan országban, Azóta a többi nagy lejátszóprojekt is megbirkózott a ahol ezt nem tiltják a törvények. Ettõl függetlenül nem feladattal, például a Xine úgy két hónapja fejezte be ezt jönne rosszul pár jogász, illetve ügyvéd a csapatba. a részt, bár még akadnak gondjaik. P.: Így van, ha Gerardot netán megeszi a Microsoft. P.: A Xine… három óra fordítás és piszkálás, átírás után K. Z.: Honnan szereztétek a fejlesztéshez a leírásokat? is hibahalmaz maradt. Úgy járt, mint az AVIfile, lett Itt elsõsorban a fájlformátumokra gondolok. 60 mega szabad helyem utána. G. Á.: Tálcán kínálták például a divx3 formátumot... K. Z.: Mennyire átfogó ez az A-V sync eljárás? Mennyi G.: Lásd két kérdéssel feljebb. munkát jelent az egyes fájlformátumoknál, hogy mind- G. Á.: Sehonnan. Ezek szabadon nem hozzáférhetõk, egyikre tökéletesen mûködjön? A kodekek segítenek csak sok ezer dollárért, és a felhasználásuk is nagyon valamit ebben? korlátozott, ezért be kellett érnünk nélkülük. G. Á.: A kodeknek ehhez semmi köze, a fájlformátumnak K. Z.: Van matematikus a csapatban, aki ezekkel foglal- is csak annyi, hogy a megfelelõ megjelenítési idõbélye- kozik, vagy csak többé-kevésbé tapasztalati alapon get (Presentation Time-stamp – PTS) a megfelelõ helyre dolgoztok a videókkal? kell írnia, a többi már a közös, régi A-V vezérlõkód (cont- G. Á.: Ez nem igazán matek, sokkal inkább tapasztalat és rol) dolga. Általában ezzel van a legkevesebb gondunk. gyakorlat a digitális videofeldolgozás (video processing) K. Z.: Az elõzõ kérdésbõl rögtön adódik a következõ: és szûrõk (filtering) alkalmazása terén. Mivel sokan a nehéz feladat, hogy a helyes mûködés mellett még a sok csapatból elõzõleg a demoscene-n tevékenykedtek, ez fájlformátum összefogását is megcéloztátok? már megalapozott volt – én amúgy kedvtelés szinten G. Á.: Nincs értelme az egésznek, ha a fájloknak csak már tíz éve foglalkozom videohatásokkal (video effects) tíz százalékát képes lejátszani, a többihez más, hibás és tömörítéssel. Amúgy M. Niedermayer szintén elég jó vagy nem létezõ lejátszót kell használni. Tehát a célunk ebben, ugyanis õ írta a különbözõ zajszûrõket, a post- az, hogy minden videofájlt meg lehessen nézni vele. processing szûrõt és a libavcodec szintvezérlését is. G.: A leírásról nem is beszélve. A hangfeldolgozásban pedig Anders Johansson mozog G. Á.: Egyébként MCF néven készülõdik egy új, az AVI otthonosan, a napokban adta be új 12-csatornás hang- leváltására szánt nyílt video-fájlformátum, ennek terve- színszabályzóját, egyébiránt különbözõ hangszûrõket ír. zésében mi is részt veszünk egy ideje. Még ott van az ex-Gerard is, a libavcodec készítõje, P. : Mint MPsub. aki anno az elsõ nyílt forrású (opensource) divx3-kode- G.: Az MPsub a legjobb. ket megírta. Róla nemrégiben kiderült, hogy mindezt K. Z.: Mostanság mennyi foltot kaptok, ezekbõl arányai- álnéven tette, és valójában a nemzetközileg ismert mate- ban hány százalék használható, és ebbõl mennyit hasz- matikus, Fabrice Bellard. Többek közt prímszámokkal és náltok fel? Az egészbõl a mai napig mennyit kódoltok ti? a pi értékének több milliárd számjegyig való meghatáro- G. Á.: Doc patchek: 0%, kód: 50% (azaz a fele elvész). zásával nyert díjakat, így érthetõ módon álnéven adta ki Nem beszélve a visszautasított kódkiegészítésekrõl, ez nagy kockázatot rejtõ kódjait. ritka és általában fájdalommentes, azonban például ez K. Z.: Kezdetekben mi volt a kiindulási alap? Más nyílt okozta azt is, hogy Nick Kurshev – aki régebben nagy- kódokat használtatok? számú 3Dnow-javítást, kiegészítést készített – kiszállt és G. Á.: A kodekeket eleinte más projektekbõl vettük át, új projektet indított MPlayerXP néven. Ez gyakorlatilag például a libac3 (ma már liba52), a libmpeg2 és az MPlayer két hónappal ezelõtti változata meg a vissza- a libavcodec eredetileg nem a mi munkánk, de ké- utasított kiegészítés. sõbb módosítottuk ezeket is, hatékonyabbá tettük, hogy P. : Én rettentõen imádom az átfestegetést (cosmetic jobban mûködjenek az MPlayer kódjával. A többi – így change). Azok azonnal a /dev/null-ba kerülnek. például a demuxerek – a mi munkánk, ezt inkább tõlünk K. Z.: Vannak olyan részek, amelyeket nem „adtok ki” viszik más projektek. másoknak, csak ti fejleszthetitek? P. : Sõt, jelenleg már ott tartunk, hogy ezek a lib-ek sok- G. Á.: Kiadunk?! Ez nem külsõs fejlesztõi munka szor messze jobbak lettek, mint az eredetiek (lásd (outsourcing), mindent mi csinálunk. a liba52 és libmpdvd készletet). Mikor összeácsol- K. Z.: Mennyire a ti feladatotok az eszköztámogatás tam ezt a lib-et, eszembe sem jutott, hogy valaki megírja megoldása (például a firewire kártyáké)? Mennyiben hozzá Darwin-portot, s ez még az eredeti libdvdread- járul hozzá az operációs rendszer, és milyen egyedi ben sincs benne. Ráadásul ez legalább mûködik. feladatokat szükséges nektek megvalósítanotok? K. Z.: Kedvenc témám – gondolom, nektek is – az G. Á.: Semennyire, azonban mi csináljuk, mert más nem

14 Linuxvilág Láttuk-hallottuk

«

csinálja. Például évekig kellett várni az Xv (Xvideo, a idõbélyegekkel. Ennek ellenoldala lenne a muxer réteg, Örömmel fogadunk 4.x-es XFree86) egyik új szolgáltatásának (feature) meg- ami a MEncoder számára tenné átlátszóvá a kimeneti mindenféle foltot, jelenésére, újabb egy évet arra, hogy az elterjedtebb formátumot, tehát bármilyen támogatott formátumba ha azonban a kártyák vezérlõi támogassák. És sajnos néhány tervezési tudná írni a kódolt audio/videofolyamot, nem csak késõbbiek folyamán hibának köszönhetõen nem teljesen alkalmas arra, amire AVI-ba, mint most. a karbantartásáról tervezték, azaz a videokártya 2D-s videolejátszás-gyor- Így akár olyan hibrid dolgokat is létre lehet hozni, mint nem gondoskodnak, sító, -segítõ szolgáltatásainak kihasználására. Hiányzik a például a realvideo-kép és VIVO-hang ASF formátumban, akkor elõbb-utóbb jól mûködõ háromszintû gyorstárazás (triple buffering) és azonban ezt valószínûleg az MPlayeren kívül más nem elavul és töröljük. a hardveres v-sync gyorstárváltás (bufferváltás) képes- fogja tudni lejátszani, hiába szabályos a fájlformátum sége, ami ahhoz szükséges, hogy a lejátszáskor a villo- (mivel a legtöbb lejátszóba bele van drótozva, hogy gást, illetve csíkozást kiküszöböljük. Emiatt fejlesztjük milyen fájlformátum milyen kodekeket használ, nálunk az mga_vid-et, ami a G kártyák, illetve a Vidix-et, ez nincs külön megszabva, minden támogatott kodek ami az ATI kártyáinak ezen képességeit aknázza ki a vég- használható minden támogatott fájlformátumban). letekig. Nincs igazán kapacitásunk még videokártya-ve- K. Z.: Várható a közeljövõben menüs DVD-lejátszás zérlõket is írni, karbantartani, de muszáj, mert ez kulcs- bevezetése? fontosságú a videolejátszásban. G. Á.: Igen. G.: (bólogat) G.: Árpi, a kérdés a közeljövõre vonatkozott. P. : Arról nem is beszélve, hogy a mga_vid G. Á.: Várj, nem fejeztem be a mondatot: tehát akkor megközelítõleg kétszer akkora teljesítményû, mint nem. Egyelõre „design issue” kategóriába tartozik, azaz Matrox Xvideo-kiterjesztés (extension) X alatt. a kód nem arra lett tervezve, hogy interaktívan, a G. Á.: Vajon miért? Segítek: közvetlen videomemóriába felhasználó kattintgatásának megfelelõen menet közben történõ leképezés (direct rendering), nincs benne feles- változtasson kodeket, vagy bármi mást. leges memóriaterület-másolgatás (memcpy) és három- P. : Elvileg. Annyira sok mindent kellene változtatni hozzá szintû gyorstárazás. – bár értelmét sem sokat látom, mert minden jelenetet G. Á.: Egyébként a kérdésedre visszatérve: nem tervez- (title-t), hang- (audio), illetve feliratsávot (subtitle) el zük a firewire kártyák támogatását, nem tudom, hol lehet érni. Például a HMM-ben osztogatott DVD-n lévõ hallottad ezt. Különben ez általában úgy történik, hogy menüben szereplõ reklámot sem kell minden egyes ha valaki (cég) támogatást (support) szeretne valamilyen alkalommal megtekinteni. eszközhöz, és vállalkozó szellemû MPlayer-fejlesztõt is K. Z.: Melyek a legégetõbb gondok, amiket most kell talál hozzá, akkor megajándékozza egy ilyen eszközzel, megoldani? Ha jól látom, most már mindinkább a „széle- és miután a támogatás elkészült, a fejlesztõ megtart- sítésére” törekedtek, hogy szinte mindenhol, minden hatja. Nemcsak azért, mert ez számára ösztönzõleg hat, körülmények között lehessen használni, és hogy modu- hanem azért is, mert a kódot a továbbiakban karban kell lárisabb legyen (például videoszûrõk (-vop) bevezetése). tartani, a program illesztõfelületének (interface) a válto- G. Á.: Például a Matrox Parhelia-támogatás a mgavid-be. zásokat követnie kell stb. Különben nagyon hamar kike- G.: Például a Matrox Parhelia a gépembe. rül a kódból, és kár az egész fáradtságért. Például a DVB G. Á.: A demuxerek újraírása, legalábbis én ezzel fogok kártya támogatása így került az MPlayerbe, és egy szép a következõ pár évben foglalkozni. Amúgy lesz hangszû- napon akár a firewire támogatása is belekerülhet. rõréteg (audio filter layer) is, a -vop-hoz hasonlóan (most Sokan jeleznek (report) különbözõ dxr3-as hibákat, és is van, de az más). nem értik meg, hogy mivel nekünk nincs, ezeket a hibá- P.: Megbízhatóvá tenni a GUI-t (grafikus felületet), és kat nem is tudjuk kijavítani. Az sem kizárt, hogy hama- a TODO-listán szereplõ új szolgáltatások (playlist, prefe- rosan kivesszük a dxr3-támogatást, mivel magára ma- rences, equalizer) befejezése. radt, ugyanis aki írta, nyomtalanul eltûnt. Sajnos erre G. Á.: A leírást is újra kéne már írni. a sorsra jutott már jó pár vezérlõ, sõt néhány kodek is. K. Z.: Köszönöm az olvasók nevében is, hogy rendelke- Örömmel fogadunk mindenféle foltot, ha azonban a ké- zésemre álltatok, a kitûzött célok eléréséhez pedig sok sõbbiek folyamán a karbantartásáról nem gondoskodnak sikert és mégtöbb erõt kívánok, és lelkes MPlayer-fel- (az eszköz vagy az érdeklõdés hiánya miatt), akkor használóként izgatottan várom az újabb változatokat, elõbb-utóbb elavul és töröljük. fejlesztéseket. K. Z.: A folytatásról szólva: milyen újabb szolgáltatásokat terveztek bevezetni az MEncoder esetében? Komáromi Zoltán G. Á.: Lesz egy új úgynevezett muxer réteg (muxer ([email protected]) 22 éves, a BME layer) olyasmi, mint a demuxer az MPlayerben, ami hallgatója, mellette PHP-programozó- átlátszóvá (transzparnssé) teszi a lejátszó számára, hogy ként dolgozik. Kedvenc területe a mul- milyen fájlformátumot használ. Tehát a lejátszó kódja timédia. Kedveli a nagy társaságot, már nem lát különbséget az AVI, MPEG, VIVO stb. for- az érdekes embereket, a jó filmeket

mátumok között, csak kapja az audio/videofolyamot az és mindent, ami mozgalmas. Szabadidejében úszik. © Kiskapu Kft. Minden jog fenntartva

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

Linux a tanteremben – 1. rész

Amennyiben a jövõ szempontjából a Linuxot végezni. Egy másik gépre is feltettük a SuSE-t az értékesnek tartjuk, a jövõ nemzedékét kell egyik tanulói teremben, ahol vagy harminc tanulói azo- felkarolnunk, hogy elsajátítsa a Unix-filozófiát nosítót osztottunk ki, és a Linux grafikus felületen és megtanulja a Unix-rendszerek kezelését. futott. A két gépnek a pc10 és a pc12 nevet adtuk, a SuliNet programból ugyanis ilyen gépneveket juttattak Ezt az írást mindössze elõszónak szántam, tudva azt, az iskoláknak. hogy nálam profibb, hozzáértõ szakemberek vezetésé- vel nem egy hazai középiskolában sokkal komolyabb Az elsõ lépések Linux-rendszerek születtek az elmúlt néhány évben. Ma, 2002-ben két kiszolgálón és tíz ügyfélgépen futta- Szegeden a Tömörkény és a Ságvári Gimnáziumban tunk Linuxot. A hálózati topológiát kollégám segítsé- is korábban kezdõdött a váltás a mienknél, hogy egyes gével a dia nevû rajzolóprogrammal vázoltam. A háló- fõvárosi iskolákat ne is említsek. Saját történetüket zatépítés sajnos nem az erõsségem, nagy hiányos- abban a reményben adom közre, hogy kezdõk és hala- ságaim vannak a terén – talán ennek is „köszönhetõ”, dók számára, szakmai és emberi szempontból egyaránt hogy még ma sem minden úgy mûködik, ahogyan

© Kiskapu Kft. Minden jog fenntartva tanulságos lehet. szeretném. A SuliNet program kezdete óta hálózatunk Hét éve tanulom a Unixot, de még minden nap érnek folyamatosan fejlõdik, egészen mostanáig (2002. meglepetések. Hihetetlen, milyen gazdag, mennyi június) az ábrán látható kialakítás állt rendelkezésünkre. újdonságot képes nyújtani! Ezt azonban a Linuxvilág Iskolánk felújításából adódóan a nyár folyamán a teljes olvasóinak nem kell magyaráznom. Végzõs matematika- hálózatot át fogjuk építeni. számítástechnika szakos tanárként a szegedi Radnóti A pc1-es gép az eredeti SuliNet-kiszolgáló, és Novellt Miklós Gimnáziumban nagy igyekezettel vágtam bele futtat. A pc9 és pc10 a két fõ linuxos gép, az elõbbi – többek között – a számítástechnika oktatásába. Mun- tanulói kiszolgáló SuSE 7.3-mal, az utóbbi tanári kiszol- kaközösség-vezetõnk, egykori tanárom, a szakma nagy gáló Red Hat 6.2-vel. A 44-es, 45-ös, 46-os termek öregje eleinte sokszor lehûtött, különösen akkor, amikor 3×12 darab tanulói gépet rejtenek, a 43-as kisteremben linuxos elképzeléseimet vázolgattam. Ekkor már a három tanári gépünk van. SuliNet program résztvevõjeként egy Novell 4.11-es Legelsõ Linux-kiszolgálónk még 1999-ben a pc10-es hálózatunk volt, és kollégám – egyben iskolánk rend- bejegyzett nevet kapta. Mint késõbb kiderült, memória- szergazdája – majd’ ezer tanuló és tanár mintegy 45 hibás volt, amit onnan tudtunk meg, hogy a gcc folyton számítógépen folytatott munkájáért volt felelõs. Igen 11-es hibával állt le. Nagy örömünkre apránként mindkét kemény munka – így utólag egyik egyetemi oktatóm gépet Pentiumra fel tudtuk javítani, a pc9 ma egy Pen- (hírneves középiskolai tanár is) szavai megalapozottnak tium I-es 48 MB RAM-mal, a pc10 pedig egy Pentium tûnnek: „a rendszergazdaságot soha ne vállaljátok el”. III-as 128 MB memóriával. A pc9-et 2000 tavaszán in- A Novellel sok baj volt, és mivel most is megy, még dítottuk el még 6.4-es SuSÉ-val. Egy tanítványom kísér- mindig akad elég. Idõ kérdése, amíg kitapasztalja az leti jelleggel IRC kiszolgálót is futtatott rajta, de 2001 ember, és idõvel megtanultunk együttélni a felhasználói decemberéig komolyabb célokra nem használtuk. beragadásokkal, a betelt postafiókokkal, a heti újrain- A pc10 2001 februárjában Pentiumra lett kicserélve. dításokkal. Újabb változat kéne, igen – közoktatási in- A 2000/2001-es tanévben már széles körû ftp-kiszol- tézményként azonban alig csurran-cseppen hozzánk gálást bíztunk rá, a tanórákon Windows Commander valami kevéske fejlesztési pénz. Mint óraadó én egyéb- segítségével a gyerekek is sokszor töltöttek le róla ként sem vállalhattam a felelõsséget azért, hogy a fájlokat. Ma olyan éles használatnak van kitéve, hogy levelezést és a webet valamilyen Linuxra tegyük át, több kollégám szinte minden tanóra segédanyagát a hiszen középiskolánkban csak heti három napot töltök. pc10-re teszi fel, és anonim ftp-vel (szintén a Windows Kollégámat nagyra értékelem: példásan kezeli a hely- Commanderrel) tölteti le azokat a gyerekekkel. Ez azért zetet, gyorsan hárítja el a hálózati fennakadásokat, kényelmes, mert a Novell-kiszolgálót úgy használjuk, a felhasználókat hihetetlen türelemmel képes meg- hogy egy-egy felhasználó csak korlátozott (3–5 MB) nyugtatni. 3–4 év tapasztalat után igazat adok neki: mennyiségû adatot tárolhat; körülményes is lenne így volt a legjobb. Az éles alkalmazások karbantar- mindig letörölni az éppen nem használt segédanyagokat. tásával õ foglalkozott, viszont kísérletezéseimet is Egy éven keresztül mûholdas Internetre is használtuk egyre inkább támogatta, ezért a Linux bizonyíthatott a pc10-et, és nem is mûködött rosszul. A 6.2-es Red az évek során. Hat voltaképpen a mûholdas kapcsolatot létesítõ cég Ha a nagybani levelezést és a webet nem is, egyéb javaslata volt, ugyanis ehhez volt telepítõprogramjuk. dolgokat apránként mégiscsak rájuk tudtunk bízni. Anyagi okok miatt mûholdas kapcsolatunk jelenleg Középiskolai volt osztálytársam, a hálózati beállítások szünetel, így iskolánknak 4×64 kb/s helyett csak fenegyereke egy éven át együtt tanított velünk, és 64 kb/s sávszélességgel kell beérnie. A városi intéz- összedobott egy 486-oson futó 6.0-s SuSE Linuxot. mények informatikai hálózatának fejlõdésével belátható 1999 márciusát írtuk ekkor, és ez a változat volt az elsõ, idõn belül 256 kb/s sávszélességre számíthatunk, amelyben a beállításokat magyarul is el lehetett de ezzel párhuzamosan a hálózat kiépítésével kapcso-

16 Linuxvilág Láttuk-hallottuk

«

latban is sok dolgot újra kell majd gondolnunk. peknek adok IP-címet, valami más megoldás után A Red Hat telepítése után a pc10-et hamarosan feltör- kellett nézni. Egy barátom, akivel szabadidõnkben ték. Egy olasz fiatalember – akit egy tanítványom közösen egy PostgreSQL-alapú információs rendszert késõbb éppen IRC-n fülelt le – volt a betörõ. Ravasz fejlesztünk, a dhcp-t ajánlotta, mivel fejlesztõi háló- módon ssh démonnak álcázott figyelõprogramot telepí- zatunkban ez már jól bevált. Így a pc10-et tettem meg tett, és gyûjtögette a jelszavakat. Két hét alatt jöttünk dhcp-kiszolgálónak, de szerény hálózati tudásommal rá a turpisságra. Nehéz napok voltak ezek számomra, csak nagysokára értettem meg, hogy vagy egy külön kicsit kiábrándultam az egész tudományból, megkérdõ- jelezõdött bennem, hogy a Linux vajon tényleg olyan jó-e, mint amilyennek gondolom, és talán hangsúlyel- tolódások vannak az életemben. Néhány nap alatt – fõként a Sulinux-lista tagjainak jóvoltából – jó néhány biztonsági rést betömtem, és letöltöttem a megfelelõ javításokat. Késõbb, úgy októberben egy másik betörõ érkezett, most Tajvanból. Az õ módszerei nem voltak olyan kifino- multak, mint olasz társáé, de szintén jelszavakat gyûj- tött. Igen érdekes trükköt alkalmazott: az általa telepített fájlok nevei gyakran használt démonok nevével egyeztek meg, csak a neveket kibõvítette egy-két szóközzel. Így egy egyszerû ps utasítás semmit sem derített ki. Mu- száj volt további szigorításokat bevezetnem: az authen- tikált ftp-zést azóta csak a belsõ hálózaton belülrõl en- gedélyezzük, minden más csak ssh-n keresztül mehet. A mai helyzet 2001 novemberében jelent meg a 7.3-as SuSE. Ezzel egy idõben a SuSE cég az iskoláknak felajánlotta a 7.2-es változatot, amit minden középiskola meg is A Radnóti Gimnázium hálózati kártyán keresztül kell új alhálózatot készíteni, kapott, amennyiben kitöltötte a küldött kérdõívet. Mi számítógépes amelyben akárhány virtuális IP-címet ki fogok majd is ekképp cselekedtünk, de a kapott dobozos változatot hálózatának topológiája tudni osztani, vagy azt az egy hálózati kártyát kell úgy nem tudtuk telepíteni. CD-meghajtóink valahogy nem beállítani, hogy a rendszermag kettõnek lássa. Az utób- látták megfelelõen a telepítõ CD-t, és a mellékelt haj- bit nagy küszködések árán sem sikerült kivitelezni. lékonylemezzel is bajban voltunk. Mivel nekem volt egy Az elõbbit, azaz a két hálókártyás megoldást végül saját 7.3-as példányom, elkezdtem telepíteni. Az volt véghezvittük, de nem azonnal és nem tökéletesen. a tervem, hogy a 44-es teremben a meglévõ Windows Az állandó IP-s megoldás során a tanulói gépeken 95-ök mellé minden gépre 7.3-as SuSE-t telepítek. azonnal ment az Internet, azaz a Netscape-pel bármit Már régóta vágytam rá, hogy egy teljes linuxos ter- le lehetett tölteni, sokkal gyorsabban és élvezhetõbb münk legyen, de a gépekben lévõ videokártya megaka- minõségben, mint a Windows 95 alatt most is 3.0-s dályozta, hogy a Linuxot grafikus módban futtassuk. változatban futó Internet Explorerekkel. Viszont az új Legalább egy éven keresztül hasztalanul próbáltam alhálózatot az Internettel összekapcsolni csak a korábbi, módosítgatni hozzá az XF86Config összes létezõ beál- 6.4-es SuSÉ-val sikerült, a 7.3-ashoz kötött 7.3-as lítását, mígnem egy délutánon egy másik tanítványom ügyfeleket nem tudtam rábírni, hogy a kiszolgáló álcá- másfél órai próbálkozás után diadalittasan felállt: zását (masquerading) kihasználva tökéletesen mûköd- a 7.0.2-es Mandrake 800×600-as üzemmódban, jenek. Ugyanis a hálózati bejelentkezéshez a pc9-en 16 millió színnel elindult! NIS-t, a megosztott fájlrendszerkezeléshez pedig NFS-t Ez 2001 tavaszán történt. Néhány gépre azonnal fel is kellett telepítenem, amelyek a 7.3-asban lévõ álcázással tettem a 7.0.2-t, és mivel volt néhány kihasználatlan valamiért nem mûködnek együtt. IP-címünk, a 14-bõl megmaradt 10-et elkezdtem oszto- Természetesen kaptam segítséget a SuSE-központtól, gatni ezeknek a gépeknek (az elsõ tanulói gépünk, a sõt, naponta levelet váltottam egy szakértõ fiatalem- pc12 továbbra is foglalta az egyik IP-címet). Sõt, idõ- berrel – aztán feladtam. Végül is az, hogy a gyerekek közben az egyik fiatal kollégám a tanítványaival beszállt internetezésre használják a Linuxot, nem elsõdlegesen egy országos webes versenybe, ezért a Windowson fontos. Ha valaki letölteni akar, akkor besshzik a pc9-re, futó Microsoft IIS kiszolgálónak is kellett egy IP-cím, és onnan közvetlenül látja az Internetet, egy linksszel ez lett a pc11 – igaz, csak néhány hónapra. tehát böngészhet, ha akar (Netscape-et a pc9-re nem Mivel a teremben 12 gép volt, de csak 9–10 IP-cím, és telepítettem, és az X-terminálszintû kapcsolattal sem a kollégám egyébként sem nagyon örült, hogy ügyfélgé-

foglalkoztam). © Kiskapu Kft. Minden jog fenntartva

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

«

SuSE 7.3-as ügyfelek felhasználó annyit használ, amennyit a tárkorlátrendszer A 44-es teremben 2001 decemberétõl lényegében engedélyezne, ha a tárkorlátokat beállítottam volna.) minden gépen választható indításos rendszert futtatunk. Felhasználói azonosítót a pc9-re a gyerekeknek külön Az ezekben lévõ 3 GB-os merevlemezeken 750 MB-nyi kell igényelniük, anélkül egy általános azonosítóval Windows 95, 1350 MB-nyi Linux (+150 MB cserete- tudnak bejelentkezni. rület-memória) található, a fennmaradó szabad hely Az ügyfélgépekre való egységes telepítést a partimage egyelõre használaton kívül maradt. linuxos programmal oldottam meg: egy ügyfelet teljesen A legkisebb alaptelepítésen túl a következõ programok elkészítettem, amelynek linuxos lemezterületét CD-re írtam. kerültek fel: (A CD-re íráshoz elõször a nem használt lemezterületre írtam a nem egészen 500 MB-os, tömörített lenyomat- • KDE (grafikus környezet), fájlt, majd a hálózaton keresztül iskolánk egyetlen CD-írós • IceWM (grafikus környezet), windowsos gépére másoltam.) Ahol a CD-ROM-meghajtó • StarOffice 5.2 (irodai csomag), nem mûködött megfelelõen, ott átmenetileg a szabad • MuPAD 2.0 (matematikai programcsomag), • lemezterületet is igénybe vettem, miután egy minimális,

© Kiskapu Kft. Minden jog fenntartva gnuplot (függvényábrázoló), hálózatot is „látó” Linuxot telepítettem (erre az átmeneti • TEX (szövegszedõ rendszer), lemezterületre tettem fel a már elkészített lenyomatot). • LYX (TEX-re épülõ szövegszerkesztõ), Az elmúlt félévben a linuxos termet mind a 7. és 9. • gcc (C-fordító), osztály tanóráin, mind a délutáni szakkörökön sikerrel • Free Pascal (Pascal-fordító), használtuk. Ugyan a Linux igen lassan indul a Windows • p2c (Pascalról C-re fordító), 95-höz képest (2 perc a fél perccel szemben), a kettõ • bwbasic (Basic-fordító), közti megbízhatósági különbséget a gyerekek gyorsan • XaoS (fraktálrajzoló), megtapasztalják. Sajnos a hálózati kialakítás furcsaságá- • PostgreSQL (SQL-ügyfél), ból adódóan, ha egyszerre szeretnénk, hogy a Window- • magyar Netscape, sok és a Linuxok elinduljanak a teremben, a NIS és az • Gimp (grafikai program), NFS idõtúllépés miatt nem áll fel, legfeljebb 1–2 gépen. • néhány játék: xtron, xvier, xpacman. Emiatt minden ügyfélen egy-egy helyi felhasználót is A rendszerindítás grafikus, tanulóink a Windows 95 létrehoztam, hogy ha a NIS és az NFS nem érhetõ el, és a SuSE Linux 7.3 között választhatnak (alapértelme- akkor is tudjunk dolgozni. zésként nyolc másodpercnyi várakozás után a Windows A rendszer tehát még közelrõl sem tökéletes, de oktatási indul el). A rendszerindító menüt a linuxos lemezterü- célokra már kielégítõ. Összességében elmondható, hogy ijesztõen sok munkát kellett belefektetnünk, amíg kita- pasztaltuk, hogy mit hogyan érdemes csinálni. Mindezt Kapcsolódó címek természetesen oktatási feladataink ellátása mellett, ön- A budapesti Fazekas Mihály Gimnázium (általam csak nemrégiben szorgalomból tettük, de örömmel, bízva abban, hogy a megtalált) nagyon alapos segédanyaga sokat segíthet, ha egy iskola gyerekek ismereteiket hosszú távon, az egyetemeken és linuxos tanterm(ek)et szeretne indítani. fõiskolákon is kamatoztatni tudják majd. A felsõoktatási  http://www.fazekas.hu/szamtech intézményekben a Unix-rendszerek egyre határozottab- Szintén sok hasznos információ olvasható a Wesselényi Miklós Mûszaki ban hangsúlyt kapnak, igaz, a Linux világszerte a felsõ- Szakközépiskola által felkarolt SuLinux oldalon oktatást hódította meg a leggyorsabban.  http://server.wesselenyi-bp.sulinet.hu/sulinux és az ehhez kapcsolódó Sorozatunk következõ részében arról lesz szó, hogy levelezõlistán milyen célokat sikerült megvalósítanunk az elmúlt  http://server.wesselenyi-bp.sulinet.hu/mailman/listinfo/sulinux. tanévben, azaz mely programok tanításában milyen Érdemes ellátogatni a gyõri Révai Gimnázium oldalára tapasztalatokat szereztem a délelõtti tanítási órákon,  http://linux.revai.hu is. és hogy a gyerekek mennyire voltak nyitottak a Linux befogadására.

letre telepítettük, mely ReiserFS fájlrendszerrel készült. Kovács Zoltán A naplózó fájlrendszer bevált, ugyanis a gyerekek (fõleg ([email protected]) a lányok) gyakran indítják újra a gépet a Reset gomb- tanársegéd a Szegedi Tudomány- bal, ha nem a számukra ismerõs Windows alatti felü- egyetem Bolyai Intézetében az letet látják; egy ext2 fájlrendszerrel pedig ez rendszeres Analízis Tanszéken, matematikát és lemezépség-ellenõrzést jelentene. A Windows-lemezte- számítástechnikát tanít óraadóként rület Linux alól írható-olvasható kötetként látszik. Meg- a szegedi Radnóti Miklós Kísérleti Gimnáziumban. közelítõleg 80 MB-nyi szabad hely áll rendelkezésre, Matematikai tárgyú programok oktatási felhasz- melyet a felhasználók a /tmp könyvtárban használhatnak nálásával foglalkozik. Hobbija a Linux programozása fel. (Ezen túlmenõen a pc9-en természetesen minden és a fraktálok matematikájának kutatása.

18 Linuxvilág Láttuk-hallottuk

Melyik lesz a mindent elsöprõ beágyazott Linux-alkalmazás?

Ha a beágyazott Linuxszal foglalkozó cégeket megkér- Internetes peremeszközök Rick különféle dezzük, hogy vajon melyek lesznek a mindent elsöprõ Ezek a kisméretû, webes tartalom kezelésére képes, internetes eszközöket, beágyazott Linux-alkalmazások, valószínûleg az alábbihoz kiszolgálójellegû eszközök rengeteg, egy-egy alkalmazási köztük a következõ hasonló listát sikerül majd összeállítani: területre jellemzõ feladatot láthatnak el. Figyelembe nemzedékhez tartozó • Magas rendelkezésre állású távközlési véve, hogy a Linux tagadhatatlanul sikeres a kiszolgálók set-top boxokat, alaprendszerek. piacán, és nem feledve, hogy a Linux még az erõforrá- kiszolgálókat és • Mobil kézikészülékek, zsebtitkárok és okos telefonok. sokban viszonylag szegény beágyazott eszközökön is vezeték nélküli • Vezeték nélküli hozzáférési pontok 802.11 vagy remekül helyt áll, nem volna meglepõ, ha a Linux uralná hozzáférési pontokat Bluetooth WLAN-hozzáféréssel. ezt a gyorsan növekvõ piaci részt. veszi szemügyre. • Digitális set-top boxok, digitális tévé, video- és Lássunk tehát néhány olyan terméket az internetes hangrendszerek. peremkészülékek világából, amelyek belsõ operációs • Kiszolgálóeszközök, amelyek könnyen kezelhetõ helyi rendszerként beágyazott Linuxot futtatnak. hálózati, tûzfal-, átjáró-, útválasztó- és VPN-szolgál- Következõ nemzedékbeli set-top boxok tatásokat nyújtanak. Ennek a csoportnak a tagjai rengetegféle szolgáltatási A lista utolsó három eleme – vezeték nélküli hozzáférési területet fedhetnek le: kezdve a személyes mozgókép- pontok, set-top boxok és kiszolgálóeszközök – kismé- rögzítéstõl az igény szerinti videó- retû, fekete doboz jellegû készülékekre utal, amelyek záson, az elektronikus levélíráson az Internet peremén foglalnak helyet, és internetalapú és webezésen keresztül egészen szolgáltatásokhoz, valamint erõforrásokhoz nyújtanak a kép- és hangfolyamok fogadá- hozzáférést, így összefoglaló néven „internetes perem- sáig, tárolásáig és visszajátszá- eszközökként” is említhetjük õket. Ezzel a várhatóan sáig. Lássunk néhány beágyazott fontos szerephez jutó beágyazott Linux-alkalmazások Linux-alapú példát! három fõ kategóriára oszthatók: • TiVo Personal TV: tudnék 1. távközlési alaprendszerek, újat mondani? 2. mobil kézikészülékek, • Nokia Mediaterminal 3. internetes peremkészülékek. A készülék segítségével számos Távközlési alaprendszerek internetalapú szolgáltatást Nokia Mediaterminal Nem oly régen „Beágyazott Linux a távközlési vállalatok- érhetünk el egy normál televízió- nál” címû írásomban már szót ejtettem ezekrõl a termé- készülék képernyõjén. Digitális kekrõl. A Linux egyre nagyobb támogatást élvez a táv- mozgóképet, hangot vagy digi- közlési iparág nehézsúlyú szereplõi, így a HP, az IBM, tális tévéadást fogadhatunk, a Motorola és a Sun Microsystems részérõl, így aligha igény szerinti videózást folytatha- kétséges, hogy a Linux fényes jövõ elé néz a távközlési tunk, gyorsítótárban elhelyezett berendezések piacán – feltéve, hogy a távközlési piac tévéadásokat érhetünk el, elõbb-utóbb felszálló ágba kerül. webezhetünk, elektronikus leveleket írhatunk, cseveg- ZapMedia ZapStation Mobil kézikészülékek hetünk, valamint további webalapú szolgáltatások használata mellett akár játszhatunk is. A Mediaterminal A beágyazott Linux zsebtitkárokon és egyéb kézi készü- belsõ programja Linux-alapú Mozilla nyílt forrású bön- lékeken való alkalmazásának sikere nagyban függ a gészõt, ablakkezelõ rendszert Sharp Zaurus nevû termékének sorsától, ez ugyanis az használ – kiegészítve a Nokia Navi Bars nevû egyedi elsõ hasonló készülék, amely mögött a világ egyik leg- felhasználói felülettel. A beágyazott számítógép egy nagyobb fogyasztói elektronikai cége áll. A Zaurus még 366 MHz órajelû Intel Celeron processzor Intel 810 csak most került az üzletek polcaira, így egyelõre nem lapkakészlettel, 32 MB SDRAM-mal és legalább 20 GB tudni, hogy a termék és a rajta futó Linux-alapú prog- merevlemezhellyel. ramkészlet vajon hosszú távon is sikeres lesz-e. Hallani  http://www.nokia.com/multimedia/mediaterminal.html olyan pletykákat, amelyek szerint Linux-alapú zsebtitká- rokat és okos telefonokat fejlesztenek, elsõsorban Ázsiá- ZapMedia ZapStation ban, így 2002 második felében 5–10 hasonló termék A ZapMedia elsõ terméke egy Linux-alapú hang- és jelenhet meg a piacon. mozgóképtár a komolyabb igényeket támasztó fel- A beágyazott Linux eddig elég rosszul szerepelt a mobil használók számára. A ránézésre sztereó rádiónak tûnõ kézieszközök piacán, hiszen számos fejlesztési tervet készülék egy 800 MHz-es Intel Celeron processzort rejt töröltek, mások pedig csúfosan elbukó termékeket 128 MB memóriával és egy 30 GB méretû merevle- segítettek világra. A Microsoft Pocket PC eközben lát- mezzel – mindezt egy 2.4-es Linux rendszermag egészíti ványosan növekvõ piaci részesedésnek örvendhet ki. A felhasználói felület XFree86-, Qt-, és Java-alapú, – a PalmOS kárára. Talán túl késõ van már ahhoz, hogy ezekhez egy testreszabott Fresco Browser társul.  a beágyazott Linux betörjön a kézigépek piacára? Hat http://www.zapmedia.com hónapon belül kiderül. © Kiskapu Kft. Minden jog fenntartva

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

«

HP Digital Entertainment Center Kiszolgálóeszközök A HP elsõ olyan termékében, amely a fogyasztói A kiszolgálóeszközök amolyan fekete dobozok, amelye- szórakoztató eszközök piacára készült, 2.4-es Linux és ket otthon, a kisebb irodákban és a munkacsoportos X Window System rejlik. Beágyazott gépe környezetekben helyi kiszolgálókként használunk, például egy 566 MHz-es Celeron 64 MB RAM-mal és fájlok és nyomtatók megosztására, esetleg internetes 40 GB-os merevlemezzel, külsõ eszközöket átjáróként, tûzfalként, útválasztóként, elektronikus leve- USB-, ethernet- és HPNA-felületen csatlakoz- lezõszolgáltatóként vagy virtuális magánhálózatok létre- tathatunk hozzá, és beépített V.90-es modem- hozására alkalmazunk. Beépített Linux operációs rend- mel, sztereó hangkimenettel és tévés képmeg- szerrel és nyílt forrású webkiszolgálóval felszerelkezve jelenítéssel rendelkezik. A készülékkel zenéket ezek a játékszerek gyakran „kattintgatós”, böngészõbõl HP Digital és mozgóképet rögzíthetünk vagy töltetünk le az Inter- használható beállítófelületet nyújtanak a mûszaki dolgok Entertainment Center netrõl, illetve belsõ merevlemezére zenei CD-ket is iránt kevésbé érdeklõdõ felhasználók számára, miközben átmásolhatunk.  http://products.hp-at-home.com/ árukat nem emeli a kereskedelmi programok magas products/detail.php?id=L1410A&j=2 beszerzési költsége. Az alábbiakban néhány beágyazott Bokks hordozható médialejátszó Linux-alapú példát említek. Sokoldalú eszköz, DSL-, kábel- vagy optikai hozzáféréssel Filanet InterJak csatlakozhat széles sávú hálózatra, elektronikus levelet A könnyen kezelhetõ Linux-alapú készülék gyártója azt írni, webezni pedig egy televíziókészüléket segítségül állítja, hogy svájci bicska értékû megoldást kínál napjaink hívva tudunk vele. Mozgóképeket, zenéket és egyéb sûrûn behálózott felhasználóinak. Belül egy x86 processzor állományokat tud tárolni több gigabájtos belsõ meghaj- található, mellette 128 tóján, amelyeket bármikor megtekinthetünk és meghall- MB RAM és egy több GB gathatunk, ha tévékészülék, hifitorony vagy számítógép kapacitású merevlemez közelébe kerülünk. A dobozka belsejében egy 266 MHz- lapul, amelyekhez termé- Bokks hordozható es National Semiconductor SC1200 jelzésû, teljes értékû szetesen Linux párosul Filanet InterJak médialejátszó lapkagép (a teljes rendszert egyetlen lapkán megvalósító további nyílt forrású prog- gép) lapul, mûködtetésérõl 2.4-es Linux-rendszermag ramok, mint az Apache, a MySQL vagy az Exim levélki- gondoskodik.  http://www.bokks.net szolgáló társaságában.  http://www.filanet.com Motorola DCT5000 SnapGear VPN-útválasztók A Lineo bejelentette, hogy a Motorola széles Könnyen beállítható, kisméretû, Linux-alapú eszközök sávú távközléssel foglalkozó részlege a Lineo családja, tagjai átjáróként, útválasztóként, tûzfalként Embedix fejlesztését választotta ki interaktív vagy VPN-szolgáltatóként használhatók. A belépõ szintû digitális multimédia set-top boxaihoz. A készü- változatok Motorola ColdFire processzorokkal, 4–8 MB lék személyi mozgóképrögzítésre és médiafo- memóriával és Motorola DCT5000 lyamok kezelésére képes, illetve az otthoni hálózathoz 1–2 MB flashmemó- is képes csatlakozni. riával mûködnek,  http://www.linuxdevices.com/news/NS3134551333 míg az erõsebb JCC iBOX-2 típusok AMD SC520 A Japan Computer Corporation (JCC) bejelentette, hogy processzorokat, akár a National Geode nevû „set-top box egyetlen lapkán” 128 MB memóriát és SnapGear VPN-útválasztó termékére építve beágyazott Linuxot futtató eszköz 16 MB flashmemóriát fejlesztésébe kezd. A készülék 16–32 MB memóriát és tartalmaznak. 8 MB méretû DiskOnChip flashlemezt kap, valamint A SnapGear széles körben alkalmazza a µClinuxot, és JCC iBox-2 maga a cég is hozzájárul a forráskód fejlesztéséhez. beépített ethernetcsatlakozóval is rendelkezni fog.   http://www.linuxdevices.com/news/NS4653311319 http://www.snapgear.com VT Media VT-100 Celestix Networks Aries A VT Media Technologies a Century Embedded Software- Kisméretû készülék, alapvetõen erõforrások és internet- rel együttmûködve egy linuxos megoldással próbál tért hozzáférés egyszerû megosztására használható kisebb, hódítani az alacsony költségû széles sávú, illetve IP-alapú illetve legfeljebb ötvenfõs munkacsoportokban. Belse- set-top boxok piacán. A 2002-es CeBIT-en a VT Media jében a beágyazott Linuxot a hordozható gépekbõl meg- bejelentette, hogy várakozásaik szerint a világ elsõ 150 ismert alkatrészek szolgálják ki, így megbízható, hûtõ- VT Media VT-100 ventilátorokat nem tartalmazó, apró készülékrõl van szó. dollár alatti áron kapható széles sávú set-top boxával állnak  majd elõ. Az eszköz a National Semiconductor x86-alapú http://www.celestix.com STB rendszerén alapul majd, és a Century WebMedia prog- Sun Cobalt Cube ramkészletét, valamint testreszabott Linuxot fog futtatni. A „teljes internet- és intranetkiszolgáló egyetlen  http://www.vtmt.com és www.censoft.com dobozban” szlogennel kísért Cobalt Cube kék színû © Kiskapu Kft. Minden jog fenntartva

20 Linuxvilág Láttuk-hallottuk

«

dobozkája egyszerre kiszolgáló, átjáró, útválasztó és 10/100 Mbit sebességû ethernetcsatolóval és VPN-szolgáltató, beállítása mégsem okoz nehézséget. Az egy beépített Bluetooth V1.1 adóvevõvel. eszközben a beágyazott Linux AMD K6-II processzoron  http://www.wirelessnetworksinc.com/ fut, amelyet 512 MB SDRAM és egy nagyméretû SCSI prod_bluelan.htm merevlemez egészít ki, a külvilággal pedig 10/100 Mbit Musenki M-1/M-3 sebességû ethernetcsatolóval, soros konzol- és USB- Nemrég bejelentett hozzáférésipont-család; kapun keresztül tartja a kapcsolatot.  tagjai 200–333 MHz órajelû Motorola http://www.cobalt.com MPC8241-típusú lapkagépre épülnek, ame- emWare DeviceGate lyeket akár 128 MB SDRAM és 16 MB flash- Látszólag játékszer, ám remekül használható Linux- memória szolgál ki. Egy mini PCI-foglalatnak Sun Cobalt Cube alapú átjáró egy-egy alkalmazási területre. 486-os vagy köszönhetõen a készülék belsejébe tetszés PowerPC processzort tartalmaz, 16 MB rendszermemó- szerinti bõvítõkártyát helyezhetünk, így például riával és 16 MB DiskOnChip tárterülettel gazdálkodik, eltérõ 802.11 vagy Bluetooth rádiót használha- valamint ethernet és RS-232/485 soros csatlakozóval tunk, illetve egyéb szolgáltatásokkal vagy felü- rendelkezik. Csak egy példa a lehetséges alkalmazások letekkel bõvíthetjük. A Musenki számos nyílt közül: ipari szivattyúk vezérlõinek távoli felügyelete, forrású tervezet – PenguinPPC rendszermag amely a vízminõség szinten tartását szolgálja vízkezelõ források, PPCBoot, µClibc, BusyBox és egye- telepeken.  http://www.emware.com bek – eredményeire támaszkodva hozta létre Vezeték nélküli hozzáférési pontok saját beágyazott Linuxát.  http://www.musenki.com Szintén apró eszközök, segítségükkel 802.11 vagy Axis Bluetooth hot spot Bluetooth-alapú, vezetéknélküli hálózati elérést biztosító Idõvel elválik… területek hozhatók létre cégen belül, valamint bevásár- Vajon mely területen jár majd a legnagyobb lóközpontokban, könyvtárakban, belvárosi területeken, sikerrel a beágyazott Linux? Mely termékeket repülõtereken, kávézókban és egyéb nyilvános helyeken. fogják a legnagyobb példányszámban eladni? Néhány beágyazott linuxos példa: Sajnos, számos ütõképes termék létezését Axis „Bluetooth hot spot” titokban tartják, amíg készen nem állnak A 9010 Access Point modell az Axis ETRAX nevû, a piaci megjelenésre – így azonban a sorozat- 32 bites, RISC processzorra épülõ lapkagépe, amelyhez gyártás megkezdéséig nem szerezhetünk róluk 16 MB DRAM és 2 MB flashmemória, valamint egy tudomást. Érdemes tehát figyelemmel kísérni beépített Bluetooth-adóvevõ és egy 10/100 Mbit sebes- az eseményeket. Ericsson blip ségû ethernetcsatoló tartozik. A készülék beágyazott Köszönetnyilvánítás rendszere az Axis ETRAX µClinux átültetése, amelyet A cikk megszületéséhez a következõ beágyazott Linux- az Axis saját fejlesztésû Bluetooth Linux-verme egészít szal foglalkozó cégek szakemberei nyújtottak értékes ki, a karbantartást és a telepítést pedig webes felüle- segítséget: Lineo, Inc.:  http://www.lineo.com; ten, beépített webkiszolgáló segítségével végezhetjük. MontaVista Software:  http://www.mvista.com  Wireless Networks http://www.axis.com/products/axis_9010 és TimeSys Corp.  http://www.timesys.com. – BlueLAN Ericsson „blip” A legújabb érdekességek és a további részletek a fel- A „blip” egy kisméretû, zárt eszköz, amely vezeték soroltakkal és egyéb beágyazott Linuxot futtató termé- nélkül képes kapcsolatot tartani mobiltelefonokkal, kekkel kapcsolatban a LinuxDevices.com oldalon, az zsebtitkárokkal és egyéb mobileszközökkel, ha azok „Embedded Linux ‘Cool Devices’ Quick Reference Guide” részlegben találhatók: képesek Bluetooth összeköttetések kezelésére.  A „blip” belsejében egy ARM7TDMI-alapú, 32-bites http://www.linuxdevices.com/articles/AT4936596231 RISC processzor, 2 MB memória és 2 MB flashmemó- Linux Journal 2002. július, 99. szám ria bújik meg, ezeken az összetevõkön µClinux, µClibc és az Ericsson Bluetooth verme fut. A „blip” elsõ Rick Lehrbaum változata (Blip C11) már nincs forgalomban; valamikor ([email protected]) hozta létre idén egy újabb, Blip Net nevû változat váltja fel – állítja a LinuxDevices.com „beágyazott az Ericsson Business Innovation csoportjának egyik  Linuxok portálját”, amely nemrég vezetõje. http://www.linuxdevices.com/ tagja lett a ZDNet Linux Resource articles/AT9037120829 Centernek. Rick 1979 óta foglakozik Wireless Networks – BlueLAN beágyazott rendszerek fejlesztésével. Társalapítója A készülék a NetSilicon 32-bites, ARM7TDMI-jelû, az Ampro Computersnek, alapító tagja a PC/104 RISC processzort tartalmazó lapkagépére épül, ame- Consortiumnak, és fontos szerepet játszott abban, lyen µClinux fut. Rendelkezik egy soros kapuval, egy hogy az Embedded Linux Consortium elindulhatott. © Kiskapu Kft. Minden jog fenntartva

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

Xmea: Linux-alapú univerzális mérõrendszer

Miként lehet szabad felhasználású programokra A követelmények: alapozva hatékony méréstechnikai megoldásokat • 32 bites, megbízható, többfeladatos rendszer legyen; felépíteni? • szabványos grafikus felületet biztosítson; • Szinte hihetetlen, hogy mi mindent találtunk ki eddig jól meghatározott eszközmeghajtókkal rendelkezzen, annak érdekében, hogy egy dolog jellemzõ adatait és biztosítsa a perifériák alacsony szintû elérését; • megismételhetõen meg tudjuk határozni – az ember bárki számára könnyen elérhetõ legyen. már csak ilyen. Mér, számol, kalkulál, tervez és számol... A fejlesztési célok kizárták a windowsos környezetet, Nagyon változatosak a célok és okok, amelyek adatgyûj- így esett a választás az akkor már egyre ismertebbé váló tésre sarkallnak minket. Rugaszkodjunk el a mindennap- Linux operációs rendszerre. A Linux létjogosultsága ma jainkban meglévõ gyakorlattól, miszerint milyen nehéz, már nem kérdéses, különösen a nagy megbízhatóságot milyen hosszú, mennyibe kerül, és inkább két fõ adatgyûj- igénylõ feladatoknál. Jellemzõen ilyenek az ipari mérés- tési célra összpontosít- adat-gyûjtési munkák, ahol a mérés csak nehezen vagy sunk. Vagy egy adott nagy költséggel ismételhetõ meg. A programmal szem-

© Kiskapu Kft. Minden jog fenntartva folyamatról kell tanúsí- ben támasztott követelmények a következõk: tanunk, hogy a megfe- • A méréstechnikai feladatokat a lehetõ legáltaláno- lelõ módon zajlik (pél- sabb módon írja le, hogy a tényleges tennivaló dául a munkadarabok megfogalmazása széles körû, de könnyen kezelhetõ gyártásközi ellenõrzé- jellemzõtáblázat kitöltésével váljék lehetségessé. se), vagy több-keve- • A Linux adta elõnyöket használja ki, ugyanakkor a sebb bemenõ érték lehetõ legjobban illeszkedjék a Unix-szabványokhoz. más, kimenõ értékekre • A forrásanyag elemekbõl felépített, jól áttekinthetõ gyakorolt hatását kell és könnyen karbantartható legyen. tetten érnünk, mert az • Szavatolja a 24 órás készenlétet, és ne legyen érzé- adott rendszerrõl kevés keny a rendszerhibákra. vagy semmiféle adattal • Felhasználói felülete könnyen kezelhetõ és jól átte- nem rendelkezünk (pél- kinthetõ legyen, használja az általánosan elfogadott, dául kutatás). A terület illetve szabványos adatbeviteli és kijelzési eljáráso- rendkívül izgalmas, ám kat, ugyanakkor megjelenésében legyen egyedi. helyenként nincs eléggé • A lehetõ legkisebb mértékben se zavarja az operá- kitaposva a megfelelõ ciós rendszer mûködését, és maradjon meg a több- út, de magában hor- feladatos, többfelhasználós üzemmód. dozza a siker esélyét, • Üzembe helyezése, indítása és testreszabása legyen valamint azt, hogy a a lehetõ legegyszerûbb. használható termék • Kimenetei legyenek szabványosak (jpg, ASCII, a fent említett két terü- PostScript), a tárolt adatok kevés helyet foglaljanak lettõl merõben eltérõ el, ugyanakkor tartalmazzák azt az adattöbbletet, helyeken is kiválóan amelynek segítségével a felhasználói hibákból eredõ alkalmazható. A továb- adatvesztés orvosolható. biakban megpróbáljuk • Tegye lehetõvé a program futása során bekövetke- bemutatni, miként lehet szabad felhasználású progra- zett (kritikus) események tárolását (log-file). mokra alapozva hatékony méréstechnikai megoldásokat felépíteni. Az Xmea for Linux egy olyan szabványos gra- Bármilyen méréstechnikai feladat három, idõben többé- fikus felülettel rendelkezõ mérésadatgyûjtõ és – szabá- kevésbé összerendezett mozzanatból áll. Elõször lyozó program, amelynek továbbfejlesztése, illetve meg- meghatározzuk magát a feladatot (mit akarunk mérni lévõ környezetbe való beillesztése könnyedén megoldható. és miért), azután összegyûjtjük az adatokat, végül Keretrendszerként különféle feladatok megfogalmazására értelmezzük õket. biztosít tág lehetõségeket. Kimenetei szabványosak, így Az Xmea lehetõséget biztosít rá, hogy ezek a mozzana- jól együttmûködik más rendszerekkel. A siker kovácsa tok bizonyos mértékig átfedjék egymást. jelen történetünkben a Meditor Általános Fejlesztõ Iroda Az elsõ teendõ – legalábbis mérnöki megközelítéssel – ( http://www.meditor.hu), amely már a ’90-es évek mindig a mérni kívánt mennyiség számbavétele, szélsõ elején hozzákezdett saját méréstechnikai rendszerének értékeinek meghatározása. El kell dönteni továbbá azt is, kiépítéséhez. hogy a mérési adatokhoz milyen eszközön keresztül E hosszú folyamat fontos állomása volt, amikor korábbi tudunk hozzáférni (mérõkártya, önálló mérõberendezés tapasztalataik összegzéseként egy követelményrendszer szabványos felülete, hálózati kártya stb.). A mérési felállításával álltak neki egy általános célú, összetett feladat megfogalmazása során úgynevezett keretekkel mérõprogram kifejlesztésének. dolgozunk:

22 Linuxvilág Láttuk-hallottuk

«

• Az Általános keret a minden csatornára vonatkozó Például vizsgálhatjuk, hogy változó erõ hatására milyen jellemzõket (paramétereket) tartalmazza. alakváltozások jöttek létre a mintadarabokon. Az ábrák • A Csatornák kereten belül az egyes mért érdekes részei kinagyíthatók, adatainkat statisztikai mennyiségekhez a számunkra leginkább megfelelõ elemzéseknek vethetjük alá, különféle kinyomtatható szöveges ismérveket rendelhetjük. listákat kérhetünk róluk. • Az Események keret megértése alapvetõ a hatékony Természetesen adatbázis-mûveletekre is lehetõsé- munkához, ugyanis itt adhatjuk meg, hogy a mérési günk nyílik. folyamat során bekövetkezett eseményekre milyen Esettanulmányok válasz következzen. A továbbiakban néhány alkalmazási példán keresztül vizsgáljuk az Xmea sokszínûségét. 1. Tételezzük fel, hogy adott egy olyan cég, ahol egy meglévõ berendezést (pneumatikus présgép) kell kiegészíteni úgy, hogy alkalmas legyen a különféle

technológiával készült statikai elemek (például © Kiskapu Kft. Minden jog fenntartva gerendák) terheléses vizsgálatára. A fejlesztési munka eredményeként létrejött eszköz legfeljebb 12 méter fesztávú elemek vizsgálatára alkalmas. Az alakváltozást precíziós elmozdulásmérõk segítségével 12 ponton rögzítjük. Külön mérjük a két ponton átadott terhelést, a levegõnyomást és a berendezés kezeléséhez szükséges kapcsolók állapo- tát. Az analóg jelek átalakulását Advantech PCL-818L • A Töréspontok keret segítségével egy adott mérõjel típusú mérõkártya végzi. karakterisztikáját határozhatjuk meg. Egy kilenclép- Leggyakrabban azt a legnagyobb terhelést keressük, csõs táblázatban megadhatjuk, hogy egy adott digi- amelynek hatására a gerendák eltörnek. A feladat tális értékhez milyen természetes mértékegységben érdekességét a teherfelfutás fokozatossága adja. megfogalmazott mennyiség tartozik – ez tulajdon- A statikai szakértõ kérésére a terhelést lépcsõzetesen képpen beállítási lehetõség is. emeljük, egy-egy lépcsõfokon néhány percet idõzve. Ehhez az Xmea azon tulajdonságát használjuk ki, A mérési adatok kijelzése amelynek révén mérés közben új jellemzõtáblát képes Érthetõ az embereknek az a törekvése, hogy a mérési betölteni, vagyis minden egyes lépcsõfokhoz más, adatokat keletkezésük pillanatában látni akarják, bár nagyobb teherrel egyensúlyozó tartó- és szabályozó- a tapasztalatok szerint a valós idejû kijelzésnek nem kört tartalmazó táblázat tartozhat. sok értelme van. Ha a mérési adatok beavatkozást 2. A következõ lehetséges alkalmazás számomra tesznek szükségessé (szabályozás, riasztás), ezt sokkal izgalmasabb. Vegyünk egy tenyérnyi PC-t, sokkal gyorsabban és biztonságosabban megteszi tegyünk rá egy memóriakártyát, adóvevõt, érzéke- helyettünk a számítógép, az utólagos adatelemzés lõket, telepítsük rá a Meditorék 16 MB-os Linuxát, pedig megfontoltabb döntést tesz lehetõvé, mint egy majd az Xmeat, és az egészet dobjuk be egy kataszt- múló pillanat során szerzett adat. Mégsem jutna rófa (például tûzvész) sújtotta területre, majd egy eszébe senkinek mérésadatgyûjtõ programot készíteni laptoppal az ölünkben üljünk le a közelben, és gyûjt- úgy, hogy az valós idejû adatkijelzést valamilyen sük az adatokat arról, hogy „odabent” milyen gõzök, formában nem tartalmaz. gázok, hõmérséklet található. Ebbõl szinte azonnal Az Xmea kijelzõje többféle módon segíti a megfigyelõt. kikövetkeztethetõ, hogy milyen oltás szükséges, Nemcsak az adatok változását követhetjük nyomon, hogy milyen veszélyekkel kell szembenéznie a hanem bizonyos mértékû felhasználói beavatkozásokra mentõcsapatnak. is lehetõséget ad. Fõ feladata természetesen a kijelzés. A lehetséges 128 csatornából egyszerre 16 tetszõlege- Zárszóként talán még annyit érdemes megemlíteni, hogy sen választottnak a pillanatnyi értékét olvashatjuk le, és a nyílt forrásnak köszönhetõen a fejlesztés töredékébe ke- két csatorna 600 mintás elõéletét is nyomon követhet- rült a ma sajnos még általánosan megszokotthoz képest. jük egy grafikonon. Utólagos adatelemzés Gibizer Tibor Az adatelemzés során az összegyûjtött adatokat ([email protected]) különféle szempontok szerint csoportosíthatjuk. Újságíró, immár hét éve a Linux Ábrázolhatjuk õket hagyományos grafikus diagramon elkötelezett híve. Imádja a kutyákat, (idõdiagram), de bármelyik csatorna is vonatko- a kerékpározást és az autós zási alapként szolgálhat. csavargást.

www.linuxvilag.hu 2002. augusztus 23 Láttuk-hallottuk

LME-nyár

A Linux-felhasználók Magyarországi Egyesületében Bemutatókészítés nyáron sincs pihenés. • OpenOffice.org • MagicPoint, Az egyesület aktív tagjainak számottevõ része teljes • Dia erõbedobással igyekszik kiélvezni a nyár örömeit, míg az itthon maradtak folyamatosan végzik az egyesületben A számítógépes grafika alapjai (vektor) • vállalt feladataikat. OpenOffice.org • Ha végigtekintjük a folyamatban lévõ ügyeket, két Xfig • nagyon fontos dolgot kell kiemelnünk: a Pingvin füze- KOffice teket és a Fordítássegítõ rendszert. A számítógépes grafika alapjai (bitmap) Tavaly az LME a Miniszterelnöki Hivataltól (MeH) tízmil- • Xpaint lió forintot nyert pályázat útján. Három témában pályáz- • Gimp tak, és mindhárom vállalt kötelezettséget teljesítették. GNU/Linux-rendszerek telepítése Az elsõ sikert a Fordítássegítõ rendszer elkészítése jelen- • A GNU/Linux alapparancsai tette, melyet készítõi várhatóan a közeljövõben átdolgoz- • GNU/Linux-segédprogramok használata nak, bár ha nagyon pontosak szeretnénk lenni, akkor • Héjprogramok elmondhatjuk, hogy lényegében egy teljesen új rendszer • Linux-parancsértelmezõk elkészítése várható. • GNU/Linux-rendszerek karbantartása Ezt követte a sok vihart kavart OpenOffice.org honosítá- A véglegesen elkészült, ellenõrzött, javított füzetek pdf sa, ahol az eredetileg pályázó cég nem tudta teljesíteni a formátumban megtekinthetõk és letölthetõk a vállalt kötelezettségeket, így az egyesület kényszermeg-  http://www.lme.hu/meh/pingvinfuzetek.html oldalról, oldásai próbálták fedezni a részteljesítéseket. A végsõ a források pedig az LME CVS-ébõl. megoldást az FSF.hu (Free Software Foundation – Szabad Szoftver Alapítvány) Guinness-csúcsnak beillõ maratoni Tanácskozássorozat 2001–2002 hétvégéje jelentette, ahol több mint száz vállalkozó ember A 2001-es tanácskozássorozat célja kettõs volt: egyfelõl három nap alatt lényegében a teljes programcsomag for- bemutatta, hogy milyen felhasználási területei vannak dítását elvégezte. Az OpenOffice.org körüli folyamatos a nyílt forrású programoknak, másrészt bevezetést nyúj- felfordulásnak köszönhetõen kissé háttérbe szorult a har- tott a nyílt forrású programokkal kapcsolatos kultúrába. madik nagy feladat végérvényes teljesítése, amelyet az A felhasználási területek bemutatásánál kitértünk az ott egyesület most igyekszik tisztába tenni. A Pingvin füze- található kihívásokra, megközelítésük lehetõségeire és a tek annak idején határidõre elkészültek, kifizetésre kerül- linuxos megoldás fõ szempontjaira. Megmutattuk, miért tek, de a helyesírás-ellenõrzés, a szövegek „magyarról és hogyan lehet nyílt forrású programokból költséghaté- magyarra” történõ átültetése, szakmai csiszolása még kony, gyártófüggetlen, jól méretezhetõ módon megbíz- nem ért véget. A jelenleg elkészült füzetek: ható, sok szolgáltatással bíró és nagy teljesítményû rendszereket építeni. A számítástechnika alapjai A kultúra témakörében bemutattuk a nyílt forrású pro- Grafikus kezelõrendszerek jektekkel kapcsolatos alapfogalmakat; azokat a módsze- • KDE reket és szokásokat, amelyekkel a nyílt forrású fejlesztõk • GNU/Linux hálózat-konfigurálása kapcsolatot tartanak; és azt a módot, amellyel az együt- Levelezõrendszerek – Szövegszerkesztõ rendszerek I. tes tudás és a több mint harminc éves mérnöki hagyo- • OpenOffice.org mány az így készült programba beépül. • Abiword A rendezvénysorozat legfontosabb mondanivalója az • KOffice volt, hogy létezik emberközpontú választási lehetõség Szövegszerkesztõ rendszerek II. mind az informatikával kapcsolatos hozzáállásban, mind • OpenOffice.org pedig az informatikai módszerekben. Ennek a választási • Abiword lehetõségnek elválaszthatatlan és gyakorlati szempont- • KOffice ból fontos tulajdonsága, hogy segítségével olcsó és jó Táblázatkezelõ rendszerek I. kilátással rendelkezõ informatikát lehet építeni. • OpenOffice.org A fenti célok eléréséhez és megvalósításához egy hatré- • Abiword szes rendezvénysorozatot indítottak. A rendezvénysorozat • Gnumeric anyaga – követõkiadvány formájában – a nyílt forrású • KOffice felhasználási szerzõdés (FDL) keretében már a nagykö- zönség számára is elérhetõ. Ezáltal a rendezvénysorozat Táblázatkezelõ rendszerek II. által közvetített mondanivaló jóval szélesebb réteghez • OpenOffice.org juthat el, nem csupán a rendezvények látogatóihoz. • Abiword A szakmai napokra az egész országból várták az érdeklõ- • Gnumeric dõket. Az elõadások 10–15 óráig tartottak, egyenként • KOffice © Kiskapu Kft. Minden jog fenntartva

24 Linuxvilág Láttuk-hallottuk

«

45 perces elõadással és az elõadásokhoz kapcsolódó Magyarországi Egyesülete (LME) állította össze. 15 perces tanácsadási idõvel. A rendezvénysorozat elszámolási határideje a MEH-IKB-nak A résztvevõk a rendezvény napján egy Elõzetes kiadványt 2002. június 30. volt. Az elszámoláshoz szükséges igazo- kaptak kézhez, amely az elõadások részletes vázlatát lások és dokumentumok beszerzése és elkészítése a fõ (az elõadások során kivetített diák (slide) másolatát) júniusi feladatok egyike volt. Mivel a tanácskozássorozat tartalmazta, illetve a témakörhöz kapcsolódó olyan írásos anyagi fedezetét utólagosan fizetik ki a pályázati pénzbõl, anyagokat (például esettanulmányt, szabályozást), me- ennek az anyagnak az elkészítése az egyesület szempont- lyek követhetõbbé tették számukra az elõadások anya- jából kényes kérdés volt, végül sikerült idõben beadni. gát, és munkájuk során is hasznosítani tudták õket. Õszi Linux-tanácskozás 2002 A rendezvényrõl Követõkiadvány is készült. A dokumen- A már hagyományosnak nevezhetõ õszi szakmai tanács- tumot az elõadások és a tanácsadás hangfelvétele alap- kozást az Egyesület idén is szeretné megtartani. Szerve- ján készítették. A hangfelvétel nyomán készített írásos, zése folyamatban van, és a szakmai nap várhatóan szep- szerkesztett változatot az elõadók megkapták ellenõr- tember végén–október elején kerül megrendezésre. zésre, javításra és az általuk lektorált, illetve engedélye- © Kiskapu Kft. Minden jog fenntartva zett anyag került a kiadványba. A Követõkiadványt a Nyári Linux-tábor résztvevõk a rendezvény napjától számított 3–4 héten A napokban kezdõdött, és mire az újság megjelenik, be is belül elektronikusan vagy papíron kézhez kapták. zárja kapuit a szerencsi Linux-tábor. A két hét alatt több A résztvevõk az egyes rendezvényeken minden alkalom- LME-tag is megjelenik elõadóként. mal Rendezvényértékelõ lapot töltettek ki, ily módon ösz- szegyûltek a résztvevõi vélemények. Az ügyfelek témákkal Gibizer Tibor kapcsolatos további szakmai kérdéseit a Követõkiadvány- ([email protected]) ban igyekeztek megválaszolni és megfelelni tájékozódási Újságíró, immár hét éve a Linux igényeiknek, illetve a további szakmai napok témaköreit elkötelezett híve. Imádja a kutyákat, igényeik szerint kiegészíthették. A szakmai napok témakö- a kerékpározást és az autós reit és az egyes elõadások tartalmát a Linux-felhasználók csavargást.

A Shell elindította Smart Online szolgáltatását

Június 18-án rendezett sajtótájékoztatóján a Shell Hungary bejegyzés során, és ebben az esetben további pontokkal Rt. bejelentette, hogy Smart programja a hónap közepétõl gazdagodhatunk. Bejelentkezéskor a felhasználó közli az az Interneten is elérhetõvé válik. A törzsvásárlók a bejegy- e-mail címét, amelyre megérkezik a jelszava. Ezzel a zést követõen a  http://www.smart-online.hu webol- jelszóval tudja a késõbbiekben dalon számítógép mellõl is intézhetik kártyájukkal kapcso- megnyitni a védett webfelületet, latos összes tennivalóikat. A bejegyzés után kártyát igé- ahol azután virtuálissá tett pont- nyelhetnek vagy tilthatnak le, illetve lehívhatják tranzak- jaival gazdálkodhat. A rendszer ció-történetüket. A Smart-katalógus bejegyzés nélkül is az SSL-megoldás segítségével megtekinthetõ, ha pedig valaki úgy dönt, hogy az Interne- védi az adatokat: minden mega- ten keresztül vásárolja le a pontjait, a kiválasztott termé- dott információ kódolva halad át ket postán juttatják el hozzá. Az 1997 óta létezõ Smart az Interneten a kiszolgálóig, ahol program virtuális kiterjesztésének sikerét megelõlegezi, ugyancsak kódolva tárolódik. hogy más hasonló világhálós hûségprogramok, pontgyûj- A Shell Magyarországon ala- tõ akciók általában nagy érdeklõdést keltenek az internet- kította ki a Smart program használók körében. A Smart Online oldalán már a hiva- számítógépes fejlesztését és talos bejelentést megelõzõen több száz kártyatulajdonos európai háttértámogatást jelentkezett be a rendszerbe. A törzsvásárlói program biztosító egységét. A Smart internetes változatát a Hungary Network Rt. fejlesztette Online bevezetését tizenkét országban tervezik, a szolgál- ki. A cél – mivel tömeges érdeklõdésre számítanak – egy tatás a megfelelõ technikai és nyelvi változtatások végre- igen egyszerûen használható, látványos, de áttekinthetõ hajtása után számukra is rendelkezésre áll. oldal létrehozása volt. A Smart Online létrehozásakor egy banki jellegû szolgáltatást (például egyenlegletöltés, szer- Szabó Ágnes zõdéskezdeményezés) kötöttek össze egy webáruházzal. ([email protected]) újságíró, Kulcsfontosságú volt a biztonsági háttér megteremtése is, szociológus. 25 éves, sajtó-, inter- mivel a program másfélmillió résztvevõjének személyes net- és kávéfüggõ. Ez utóbbiról sze- és marketingadatai kerülhetnek be a rendszerbe – ugyanis rencsére leszokófélben van. Ked- üzleti jellegû adatokat is megadhatunk magunkról a venc sportja a futás és a lovaglás.

www.linuxvilag.hu 2002. augusztus 25 Láttuk-hallottuk

«

45 perces elõadással és az elõadásokhoz kapcsolódó Magyarországi Egyesülete (LME) állította össze. 15 perces tanácsadási idõvel. A rendezvénysorozat elszámolási határideje a MEH-IKB-nak A résztvevõk a rendezvény napján egy Elõzetes kiadványt 2002. június 30. volt. Az elszámoláshoz szükséges igazo- kaptak kézhez, amely az elõadások részletes vázlatát lások és dokumentumok beszerzése és elkészítése a fõ (az elõadások során kivetített diák (slide) másolatát) júniusi feladatok egyike volt. Mivel a tanácskozássorozat tartalmazta, illetve a témakörhöz kapcsolódó olyan írásos anyagi fedezetét utólagosan fizetik ki a pályázati pénzbõl, anyagokat (például esettanulmányt, szabályozást), me- ennek az anyagnak az elkészítése az egyesület szempont- lyek követhetõbbé tették számukra az elõadások anya- jából kényes kérdés volt, végül sikerült idõben beadni. gát, és munkájuk során is hasznosítani tudták õket. Õszi Linux-tanácskozás 2002 A rendezvényrõl Követõkiadvány is készült. A dokumen- A már hagyományosnak nevezhetõ õszi szakmai tanács- tumot az elõadások és a tanácsadás hangfelvétele alap- kozást az Egyesület idén is szeretné megtartani. Szerve- ján készítették. A hangfelvétel nyomán készített írásos, zése folyamatban van, és a szakmai nap várhatóan szep- szerkesztett változatot az elõadók megkapták ellenõr- tember végén–október elején kerül megrendezésre. zésre, javításra és az általuk lektorált, illetve engedélye- © Kiskapu Kft. Minden jog fenntartva zett anyag került a kiadványba. A Követõkiadványt a Nyári Linux-tábor résztvevõk a rendezvény napjától számított 3–4 héten A napokban kezdõdött, és mire az újság megjelenik, be is belül elektronikusan vagy papíron kézhez kapták. zárja kapuit a szerencsi Linux-tábor. A két hét alatt több A résztvevõk az egyes rendezvényeken minden alkalom- LME-tag is megjelenik elõadóként. mal Rendezvényértékelõ lapot töltettek ki, ily módon ösz- szegyûltek a résztvevõi vélemények. Az ügyfelek témákkal Gibizer Tibor kapcsolatos további szakmai kérdéseit a Követõkiadvány- ([email protected]) ban igyekeztek megválaszolni és megfelelni tájékozódási Újságíró, immár hét éve a Linux igényeiknek, illetve a további szakmai napok témaköreit elkötelezett híve. Imádja a kutyákat, igényeik szerint kiegészíthették. A szakmai napok témakö- a kerékpározást és az autós reit és az egyes elõadások tartalmát a Linux-felhasználók csavargást.

A Shell elindította Smart Online szolgáltatását

Június 18-án rendezett sajtótájékoztatóján a Shell Hungary bejegyzés során, és ebben az esetben további pontokkal Rt. bejelentette, hogy Smart programja a hónap közepétõl gazdagodhatunk. Bejelentkezéskor a felhasználó közli az az Interneten is elérhetõvé válik. A törzsvásárlók a bejegy- e-mail címét, amelyre megérkezik a jelszava. Ezzel a zést követõen a  http://www.smart-online.hu webol- jelszóval tudja a késõbbiekben dalon számítógép mellõl is intézhetik kártyájukkal kapcso- megnyitni a védett webfelületet, latos összes tennivalóikat. A bejegyzés után kártyát igé- ahol azután virtuálissá tett pont- nyelhetnek vagy tilthatnak le, illetve lehívhatják tranzak- jaival gazdálkodhat. A rendszer ció-történetüket. A Smart-katalógus bejegyzés nélkül is az SSL-megoldás segítségével megtekinthetõ, ha pedig valaki úgy dönt, hogy az Interne- védi az adatokat: minden mega- ten keresztül vásárolja le a pontjait, a kiválasztott termé- dott információ kódolva halad át ket postán juttatják el hozzá. Az 1997 óta létezõ Smart az Interneten a kiszolgálóig, ahol program virtuális kiterjesztésének sikerét megelõlegezi, ugyancsak kódolva tárolódik. hogy más hasonló világhálós hûségprogramok, pontgyûj- A Shell Magyarországon ala- tõ akciók általában nagy érdeklõdést keltenek az internet- kította ki a Smart program használók körében. A Smart Online oldalán már a hiva- számítógépes fejlesztését és talos bejelentést megelõzõen több száz kártyatulajdonos európai háttértámogatást jelentkezett be a rendszerbe. A törzsvásárlói program biztosító egységét. A Smart internetes változatát a Hungary Network Rt. fejlesztette Online bevezetését tizenkét országban tervezik, a szolgál- ki. A cél – mivel tömeges érdeklõdésre számítanak – egy tatás a megfelelõ technikai és nyelvi változtatások végre- igen egyszerûen használható, látványos, de áttekinthetõ hajtása után számukra is rendelkezésre áll. oldal létrehozása volt. A Smart Online létrehozásakor egy banki jellegû szolgáltatást (például egyenlegletöltés, szer- Szabó Ágnes zõdéskezdeményezés) kötöttek össze egy webáruházzal. ([email protected]) újságíró, Kulcsfontosságú volt a biztonsági háttér megteremtése is, szociológus. 25 éves, sajtó-, inter- mivel a program másfélmillió résztvevõjének személyes net- és kávéfüggõ. Ez utóbbiról sze- és marketingadatai kerülhetnek be a rendszerbe – ugyanis rencsére leszokófélben van. Ked- üzleti jellegû adatokat is megadhatunk magunkról a venc sportja a futás és a lovaglás.

www.linuxvilag.hu 2002. augusztus 25 Láttuk-hallottuk

Debian Potato GNU/Linux 486-os laptopon

Nem csak legenda, hogy a Linux már 386-os háttértárolót (kisebbet nem kaptam). Ezzel csak az volt processzorokon is fut! a baj, hogy a BIOS egyik gépben sem látta. Ilyen apróságtól nem riadunk meg, hiszen a Linux rend- A Linux fõ erényei között tarthatjuk számon, hogy egy szermagja nagyon nem foglalkozik a BIOS-szal. Hajlékony- jól irányzott rendszermagfordítással teljesen számítógé- lemezekrõl telepítettük az alaprendszert, illetve egy 2.2.17- pünkhöz igazíthatjuk, így lehetõségeinkhez mérten a leg- es rendszermagforrást tettünk mellé. A leglényegesebb jobban ki tudjuk használni. Ennek köszönhetõen még feladatokat a masina már el tudta látni, hiszen volt rajta nagyon szerény kiépítéseken is használható linuxos kör- vi, less, cp, tar, zip, make és sorolhatnám. nyezetet teremthetünk. Az izgalmak még nem értek véget, mivel a rendszer Mivel a Linux népszerû- barátom gépén nem akart elindulni. Többször végignéz- sítéséhez – elsõsorban tünk mindent: jók a lemezrészek, rendben van a lilo.conf, a tévés megjelenésekre de a merevlemez indulásánál a gép megáll. Végsõ két- gondolok – nagy szüksé- ségbeesésünkben a merevlemezt áttettük az én lapto- günk lenne egy-két hor- pomba, és lõn csoda: elindult! Tudtam, hogy nyertünk. dozható számítógépre, Röpke hat óra alatt fordítottam a rendszerhez egy rend- támogatót keresve körül- szermagot – kétszer is megismételve, mivel elsõ nekiru- néztem ismeretségi kö- gaszkodásra kifelejtettem a PCMCIA-támogatást, majd römben. Halk szavú leve- valahogy elkallódott a külsõ CD-olvasó tápegysége, tehát lemre egy amerikai szá- az utolsó rendszermagfordításra azért volt szükség, hogy mítógép-mûszerész jelent- létrehozhassak egy plip-kapcsolatot, azaz a laptop ezen- kezett. Felajánlott egy tíz- túl a párhuzamos avagy nyomtatókapun fog kapcsolatot éves 486 DX4 75 MHz-es, 8 MB RAM-mal szerelt lapto- tartani asztali gépemmel, és rajta keresztül a külvilággal. pot, azzal a megjegyzéssel, hogy ha erre is tudok Linuxot Mindkét gépre írtam egy parancsfájlt, amivel fel tudom varázsolni, valóban elhiszi, hogy a Linux mindent tud. húzni a plip-kapcsolatot, majd telnet-tel beléptem A laptop meg is érkezett, bár a postai szállítás megpró- az asztali gépre. báltatásait magán viselte: a burkolata két helyen eltört, Mivel a terveimben az szerepelt, hogy teljesen önálló belseje a rázkódástól vagy a dobálástól darabokra hul- számítógépet teremtek a laptopból, felmásoltam rá a lott. Rövidke tanulmányozás után darabokra szedtem, három Debian Potato GNU/Linux CD-t, és átírtam a majd pillanatragasztó, forrasztópáka, és egy kisebb va- /etc/apt/sources.list-et, hogy „õ” is tudja, honnan fogunk gyont érõ csavarhúzókészlet segítségével alig két nap ezentúl telepíteni. alatt üzemképessé varázsoltam. Ez maga a paradicsom. Nem gyõztem halmozni az élve- Kezdõdhetett a telepítés – a környezetemben fellelhetõ zeteket. Telepítettem mc-t, ssh-t, w3m, mutt, zgv, változatok közül a legrokonszenvesebbnek a Debian sõt még a fetchmail is felkerült, bár grafikus felület Potato GNU/Linuxot találtam. Ekkor szembesültem az hiányában a fetchmail.rc fájlt kézzel kellett létrehoznom. elsõ nehézséggel. A laptop nem tartalmaz CD-meghajtót, Miután minden rendesen mûködött, sõt, ekkor már ma- pontosabban van hozzá PCMCIA-kártya, ami külsõ SCSI gyarul végezte a feladatokat, jutott eszembe, hogy a gra- CD-meghajtót kezel, sõt be is szereztem egy ilyen esz- fikus felület telepítését is meg kellene próbálni. Tettem rá közt, de a gép BIOS-a nem tudta kezelni. X-et, a Superbrobe-bal megnéztem, milyen videokártya A gondok halmozódtak, mivel hajlékonylemez-meghajtó van benne, majd beállítottam. A kedvencemet, az Icewm- sem volt benne. Körbefutottam a környékemen található et tettem fel, ami nem akart elindulni, de az Fvwm2 igen. számítástechnikai üzleteket, hogy vegyek egy adaptert, Fél éjszaka csak a system.fvw2rc fájlt (itt lehet beállít- amibe a laptop merevlemezét beletehetem. Arra gondol- gatni az Fvwm2-t) csiszolgattam, hogy az Icewmhez tam, hogy asztali gépemre csatlakoztatva átmásolom a hasonlóan mûködjön. rendszert, majd a laptopba visszahelyezve mindent rendbe A grafikus programok futtatása sajnos hihetetlenül lassú. rakok. A körút csak tapasztalatszerzésre volt jó: egy ilyen Minden szépen mûködött, csak lassan. Végül levontam egyszerû kis segédeszköz a jelek szerint nem túl kelendõ, a következtetést, hogy ez és a hasonló szerkezetek ka- így nem is tartanak. Ekkor nyílt levelet intéztem szûk rakteres felületen minden feladatot el tudnak látni, de baráti körömhöz, hogy némi segítségre szert tehessek. grafikus alkalmazásokhoz érdemesebb erõsebb gépet Egy kedves programozó barátom egy kísértetiesen választanunk. És ismét bebizonyosodott, hogy a Linux hasonló laptoppal a hóna alatt már másnap megjelent szinte mindenen képes mûködni. nálam. A két szerkezet közti leglényegesebb különbség az, hogy az övében van 1,44-es meghajtó. Azonnal Gibizer Tibor behelyeztük gépébe 1,4 gigabájtos merevlemezemet, ([email protected]) majd legyártottuk a Debian-telepítõlemezeket. Újságíró, immár hét éve a Linux Milyen igaza volt Murphynek! Telepítés közben derült ki, elkötelezett híve. Imádja a kutyákat, hogy a merevlemez tönkrement. A telepítést egy héttel a kerékpározást és az autós elhalasztottuk, végül sikerült vennem egy 10 GB-os csavargást. © Kiskapu Kft. Minden jog fenntartva

26 Linuxvilág Láttuk-hallottuk

Új termékek

Crossbeam X40S 2.0 tõk, például legfeljebb két ATA-100 Adatok: Microcross, Inc., 151 A Crossbeam Systems által fejlesz- merevlemez, tetszõleges hálózati Osigian Boulevard, Suite 154, tett Crossbeam X40S 2.0-s változata csatolókártya az üres PCI-foglalatba Warner Robins, Georgia 31088, nyílt eszköz, akár tíz processzoron és 24×CD-ROM-meghajtó. A rend- e-mail: [email protected], is képes alkalmazásokat futtatni, szer a különleges igényeknek megfe-  http://www.microcross.com lelõen testreszabható. A Scyld elõre nstant Wireless telepített Beowulf programjával is Presentation Gateway megrendelhetõ. A Linksys Instant Wireless Presen- Adatok: Penguin Computing, Inc., tation Gateway terméke a drót nél- 965 Mission Street, Suite 730, San küli PC-felhasználók számára lehe- Francisco, California 94103, tõvé teszi, hogy a számítógéprõl e-mail: [email protected],  fizikai összeköttetés nélkül küldjék http://www.penguincomputing.com át a bemutatókat és más adatokat Linux Carrier Grade a számítógéprõl a VGA-eszközre, Edition 2.1 például vetítõre, monitorra és LCD- A MontaVista Software kiadta a re. A készülék a 802.11b hálózati MontaVista Linux Carrier-Grade szabványt támogatja. A WiFi-felhasz- Edition 2.1-et. Ezt a terjesztést elsõ- nálók a bemutatót elõre beprogramo- sorban telekommunikációs felhasz- zott billentyûkombinációkkal vezérel- emellett több ISV-tõl származó alkal- nálásra szánják, például IP- és hang- hetik. A Gateway az Intersil PRISM mazással teljes körû biztonsági meg- alapú hálózatokba, optikai hálózatokba 2.5 lapkakészletet használja, amely oldást nyújt. Az X40S készülék biná- és VoIP átjárókhoz. A Carrier-Grade egy MiniPCI-foglalatba illeszkedik és ris megfelelõsége lehetõvé teszi, Edition magas rendelkezésre állást és Linux-alapú operációs rendszeren fut. hogy egyetlen eszközön egy tetszõ- megbízhatóságot nyújt. A rendszer- Mivel a Gateway támogatja az IEEE leges Linux-alkalmazás teljes sebes- magot és az eszközmeghajtókat meg- 802.11b szabványt, minden ennek séggel fusson. Az X40S hibatûrõ erõsítették, illetve hibakezelõ és meg- megfelelõ drót nélküli eszközzel csatolókat, tápegységeket és ventilá-

figyelõ szolgáltatások kerültek beépí- együttmûködik. © Kiskapu Kft. Minden jog fenntartva torokat tartalmaz, a merevlemeze tésre annak érdekében, hogy megfe- Adatok: Linksys, 17401 Armstrong tükrözve van, két hálózati és két ve- leljenek a telekommunikációs eszkö- Avenue, Irvine, California 92614, zérlõ feldolgozóegységet tartalmaz. zöket gyártók különleges igényeinek. e-mail: [email protected], A hálózati feldolgozóegységek két További tulajdonságok: PICMG 2.12-  http://www.linksys.com gigabites hálózati csatolót, vagy leg- megfelelõ, menet közben cserélhetõ xSeries Hosting Appliance feljebb tizenhat 10/100-as ethernet- eszközök támogatása, hibatûrõ ether- Az IBM eServer xSeries Hosting csatolót tartalmazhatnak. net alrendszer, valamint egy erõforrás- Appliance egyszerre negyven elõre Adatok: Crossbeam Systems, Inc., figyelõ és eseménykezelõ alrendszer. telepített webfejlesztõ, e-kereskedel- 200 Baker Avenue, Concord, Adatok: MontaVista Software, Inc., mi és adatbázis-alkalmazást kínál, így Massachusetts 01742, 1237 East Arques Avenue, a testreszabott szolgáltatáscsomago- e-mail: [email protected], Sunnyvale, California 94085,  kat a szolgáltatók gyor- http://www.crossbeamsys.com  http://www.mvista.com san telepíthetik. Altus 130 Server IGNU X-Tools 2.0 A Hosting Appliance Az Altus 130 a legújabb a Penguin Megjelent a Microcross által készí- Red Hat Linuxot futtat Computing 1U termékcsoportjába tett GNU X-Tools Standard Edition Intel processzoron, és tartozó kiszolgálók közül, nagytelje- 2.0-s változata. Az X-Tools 2.0 21 egyetlen 1U kiszolgálón sítményû beágyazott processzorcsalád több webhelyek százainak képes otthont géptelepek mint kétszázféle változatát támo- adni. A gép 1U méretû házban kapott alkotóré- gatja. A X-Tools tartalmaz szabvá- helyet, Celeron processzorral és szének nyos C/C++, Java és Fortran alapkiszerelésben 256 MB, de tervezték. A gép lelke a két AMD keresztfordítókat, grafikus fejlesztõ- legfeljebb 1,5 GB ECC SDRAM rend- Athlon MP processzorra és az AMD környezetet, grafikus hibakeresõt, szermemóriával rendelkezik. 760MP lapkakészletre épülõ Quanti- assemblert, binárisokhoz való eszkö- A 40 GB-os belsõ IDE tárolóegység Speed rendszer. Szabványos PC2100 zöket, felhasználói kézikönyvet és 80 GB-osra is cserélhetõ. DDR SDRAM-ot használ, az alaplapon 6500 oldal elektronikus leírást. Adatok: IBM, 1133 Westchester pedig két hálózatról történõ rendszer- A támogatott processzorok többek Avenue, White Plains, indítást lehetõvé tevõ 10/100 ether- között: ARC, ARM, AVR, H8, i386, New York 10604, netkártya van, hogy az alaprendszer i960, M32R, M68K/ColdFire, MIPS,  http://www.ibm.com/linux hálózati kapcsolata hibatûrõ lehes- MIPS64, PowerPC, Sparc, Thumb, sen. További bõvítések is rendelhe- valamint XScale. Linux Journal július, 99. szám

www.linuxvilag.hu 2002. augusztus 27 Láttuk-hallottuk

A hónap szakmai tanácsai

Mi az IP-címem ma? fájlok létrehozását engedi. Az ulimit-et minden fel- A Cox.net széles sávú szolgáltatásra fizettem elõ, használó számára be lehet állítani a /etc/profile-ban, és egy SMC-útválasztón keresztül csatlakozom, vagy a saját könyvtáradban a .bash_profile fájlban. az otthoni hálózatom pedig DHCP-protokoll se- Az ulimit -h kiírja a parancs használatának módját. gítségével kap IP-címet. A hálózaton a linuxos Ha megnyitod a /etc/security/limits.conf fájlt, valami gép a virtuális kiszolgáló. Le szeretném kér- ilyesmit fogsz benne találni: dezni az útválasztót, hogy mi a helyi háló- * soft core 0 zat felõli IP-címe, és ezt el akarom ma- vagy: gamnak levélben küldeni. A célom * hard core 0 természetesen az, hogy a DHCP-s IP-cím Az utolsó 0 mindkét példában azt jelenti, hogy a core fájl használatával távolról be tudjak lépni. Az 0 KB-nál nem lehet nagyobb, azaz nem jön létre a fájl. útválasztó beállító weboldala mindig a A hard és a soft a korlát fajtáját jelenti, a hard szi- bejelentkezéssel kezdõdik a használt gorúbb feltételt takar. Változtasd meg a 0-t valami másra A Linux Journal honlapján címtõl függetlenül (biztonsági okokból). Az SMC nem attól függõen, hogy mekkora az a legnagyobb core fájl, számtalan gond megoldá- igazán akar válaszolni a kérdésemre. amit vársz. Ez a fájl (/etc/security/limits.conf) része a PAM sához találhattok további Tom Mautner, [email protected] (Pluggable Authentication Modules) rendszernek, amelyet a legtöbb terjesztés – például a Red Hat is – használ. segítséget. A Sunsite Gondoltál már a dinamikus DNS-szolgáltatásra? Ennek Felipe E. Barousse Boué, [email protected] tüköroldalait, a gyakran segítségével a címeket belülrõl gyûjtheted össze. A Zone- feltett kérdéseket és az Edit és más hasonló szolgáltatások lehetõvé teszik, hogy Az ext2 fájlrendszer egyéb útmutatásokat a címedet egy webes lekérdezésen keresztül frissítsd, sérüléseinek javítása  www.linuxjournal.com mely lekérdezést a lynxszel önmûködõvé teheted. Egy áramszünet után gondjaim támadtak a meghajtóm- honlapon olvashatjátok el. Chad Robinson, [email protected] mal. Az ext2 fájlrendszert használom. A tomsrtbt hajlé- A rovatban közzétett konylemezes terjesztés és néhány LDP-s leírás segítsé- Küldj magadnak egy üres levelet, és a fejléc Received válaszokat Linux-szakértõk gével a rendszert egyfelhasználós üzemmódban el tud- kezdetû soraiból kiolvashatod azt az IP-címet, amelyet kis csapata készítette el. tam indítani. Ám amikor a hálózati parancsfájlokat az útválasztód használt, amikor a Cox levéltovábbítójá- További kérdéseiteket próbálom futtatni, a következõ sor kiírása után lefagy: hoz kapcsolódott. Valami ilyesmit fogsz látni: szívesen fogadják Disabling IPv4 packet forwarding Received: from manyroads.ssc.com (angol nyelven) a sysctl: ip forwarding off (manyroads.ssc.com www.linuxjournal.com/ Mivel próbálkozzam ezután? [192.168.3.58]) by mail.ssc.com lj-issues/techsup.html , [email protected] (Postfix) with ESMTP Roberto Kruse címen, ahol csak egy Innen kiolvasható az IP-cím. Azt javaslom, hogy a rendszert a vészindító lemezrõl kérdõívet kell kitöltenetek, , [email protected] indítsd, és az e2fsck-t önmûködõ ellenõrzõmódban de a [email protected] címre Marc Merlin a sérült merevlemez lemezrészein futtasd: levelet is írhattok. A levél Ha az útválasztó címfordítást (NAT) is végez, és ha a e2fsck -p -v /dev/ tárgyában szerepeljen belsõ csatolófelület címére van szükséged, a következõ  a „BTS” kulcsszó. parancsot add ki: Ne feledd, hogy a közvetlen lemezhozzáférés – még az route -n | mail [email protected] fsck-val és az e2fskc-val is – adatvesztéshez , [email protected] Don Marti vezethet, ezért legyél óvatos, és mindig légy tisztában Nincs core fájl, azzal, amit éppen csinálsz. de meg kell keresnem a hibát Felipe E. Barousse Boué, [email protected] Egy tucat Unix-jelzésnek, így a SIGSEGV-nek is az az Ha semmi más nem segít, elindítani a Linuxot a linux alapértelmezett viselkedése, hogy megszakítja a prog- single vagy a linux init=/bin/bash segít- ram futását, és a hibázó folyamat memóriaterületét a ségével próbálhatod meg. Ezeket a LILO parancssorába core nevû fájlba menti. Amikor a folyamat Red Hat alatt kell beírni. Ezt követõen add ki az rpm -Va parancsot, ilyen jelzést kap, futása megszakad, a core fájl azonban amely megmutatja, hogy mely csomagokhoz tartozó nem jön létre. Csak a strace eredményébõl derül ki, fájlok módosultak vagy tûntek el. Ezeket a csomagokat hogy a hibázó folyamat ilyen jelzést kapott. Hol lehet újra kell telepíteni beállítani a Red Hatnak a fájl létrehozásával kap- core rpm -U --force csolatos viselkedését? /rpm/csomagok/helye/csomag.rpm Pedro Guedes, [email protected] A legújabb Red Hat-változatra történõ frissítést is meg- Linuxban az ulimit paranccsal határozhatók meg fontolhatod, ez talán most idõszerûbb, mint bármikor. bizonyos méretek, többek között a core fájloké is. Az Frissítés közben a gondod magától megoldódik. ulimit -c 0 parancs megtiltja a core fájlok létre- Marc Merlin, [email protected] hozását (mivel 0 méretûek lennének), az ulimit -c xxxx parancs pedig legfeljebb xxxx blokk méretû core Linux Journal 2002. július, 99. szám © Kiskapu Kft. Minden jog fenntartva

28 Linuxvilág Láttuk-hallottuk

A felhasználói szerzõdés megrágalmazása

A rágalmazás nem más, mint „egy személyrõl hamis lyen hatással lenne szellemi tulajdonára. Például nem állítások közlése harmadik félnek oly módon, hogy azzal kell a forráskódot nyilvánossá tenni pusztán azért, mert vagy sértjük az érintett személy jó hírnevét, vagy elriasz- az adott program Linuxon fut. Sõt, még módosíthatod is tunk a vele való érintkezéstõl”. a GPL-engedéllyel terjesztett kódot (beleértve a Linuxot A törvény sajnos nem nyújt módot arra, hogy egy fel- is), és – feltéve, hogy a módosításokat nem terjeszted – használói szerzõdés megrágalmazása miatt valaki pert semmilyen kötelezettséged nem lesz arra vonatkozóan, Egy tényleges ügyvéd- indítson. Ha tehetném, beperelném a Microsoftot azért, hogy módosításaid forráskódját közzé kelljen tenned ügyfél kapcsolat esetén amit a GPL-lel kapcsolatban állított. A cég állításai ha- (ezzel szemben merné-e egy kódvisszafejtõ akárcsak kis jogszerû ügyvédi misak, és nyilvánvaló szándékuk, hogy a vállalatokat mértékben is módosítani a Microsoft kódját?). Senki tanács igénybevétele elriassza a GPL-engedéllyel terjesztett programok hasz- nem kényszerít arra, hogy a GPL alatt terjeszd a progra- szükséges, amely nálatától – különös tekintettel a Linuxra. modat és nyilvánossá tedd a kódját, egyetlen ritka ese- figyelembe veszi az Redmond legutóbbi durva támadása a „CIFS mûszaki tet leszámítva: amennyiben GPL-engedély alatt terjesz- egyéni esetre vonat- ajánlás jogdíjmentes felhasználói szerzõdése” (Royalty- tett programot módosítasz és az új változatot terjeszted kozó tényeket és az Free CIFS Technical Reference License Agreement), – ezt csak a GPL-engedély alatt teheted meg. adott igazságszolgál- amellyel a Microsoft a CIFS mûszaki leírását bizonyos Ez a kölcsönösségi megkötés szabályszerû megállapo- tatás törvényeit. – az ajánlás megvalósításához szükséges – szabadal- dáson alapul. Lényegét tekintve az engedélyezõ széles Bár a cikket egy jogász makkal együtt lényegében szerzõi jogdíj fizetésének körû jogokat biztosít saját alkotásához, beleértve a mó- írta, a benne foglalt kötelezettsége nélkül ajánlja (a szöveg elérhetõ a dosítás és azok terjesztésének jogát is, azzal a kölcsö- adatok nem helyette-  http://msdn.microsoft.com/library/default.asp?url=/ nösségi feltétellel azonban, hogy a közösség számára síthetik egy képesített library/en-us/dnkerb/html/Finalcifs_LicenseAgrmnt_ a módosított változat is elérhetõ lesz. Fizetned kell a jogász törvényes 032802.asp címen). program módosításának és az új változat terjesztésének állásfoglalását. Kezdetben még örültem, látva, hogy a Microsoft szaba- jogáért, csakhogy a fizetõeszköz nem pénz, hanem maga dalmait jogdíjfizetési kötelezettség nélkül szándékozik a továbbfejlesztett program. terjeszteni. A CIFS-engedély azonban annyi megszorítást Mennyiben különbözik ez az alapelv a Microsoft prog- és kizáró okot tartalmaz, hogy a Microsoft propaganda- ramjaiért való fizetési kötelezettségtõl? céljainak szolgálatán kívül egyébre nem alkalmas. A GPL-engedéllyel terjesztett szellemi tulajdon birtokosa Nézzük a feltételeket! Az engedély csak a „nem Micro- tulajdona felhasználására nézvést megállapít egy árat. soft-felületeken” történõ megvalósításokra korlátozódik. Mindig megvan a lehetõségünk arra, hogy ne módosít- Hoppá! Így fojtja el a Microsoft már csírájában a közvet- sunk és terjesszünk tovább egy GPL-engedéllyel terjesz- len versenyt azzal a céllal, hogy senki ne tudjon jobb tett programot, ha viszont emellett döntünk, kötelesek programokat írni a saját programjai helyett. vagyunk megfizetni az eredeti program tulajdonosa által Leginkább a CIFS-engedélyben lévõ sértegetés szúrt meghatározott árat. Hasznunk származott az ingyenes szemet. A CIFS mûszaki leírások és szabadalmak nem program módosításából, ennek a haszonnak az ára pedig használhatók olyan programokban, amelyek „IPR-sértõ a kölcsönösség. szerzõdésekkel” kerülnek terjesztésre. A kifejezést így Ez a legtisztább kapitalizmus megnyilvánulása. A GPL határozzák meg: „… a GNU General Public License, a – Bill Gates minden erre vonatkozó tiltakozása ellenére – GNU Lesser/Library General Public License és bármilyen nem az általunk ismert kapitalizmus végét jelenti. más engedély, amely valamilyen formában megköveteli, Ami sokkalta nagyobb veszélyt jelent a kapitalizmus hogy a másik program, ami egy ilyen szerzõdés alá tar- számára, az éppen az az egyeduralomra törõ mesterke- tozó programmal együtt kerül terjesztésre dés, amit a Microsoft már jó ideje folytat. A cég csak (a) forráskód formájában kerüljön közlésre és színleli a CIFS-hez való jogdíjfizetési kötelezettség nélküli terjesztésre; engedélyt, az engedély azonban sem a Microsoft-felü- (b) lehetõvé tegye saját program részeként történõ letre, sem a legfõbb vetélytárs, a Linux felületére íródó felhasználását vagy megvalósításokat nem teszi lehetõvé. (c) díjtalanul továbbadható legyen.” Isten hozott a Microsoft ajándékboltjában! Azt javaslom, A Microsoft tehát ismét nyilvánvalóvá tette, hogy az ne vásároljunk be! egyetlen vetélytárs, akitõl félnivalója van, a Linux és a többi nyílt forrású program. Linux Journal 2002. július, 99. szám Az „IPR-sértõ” kifejezés a szellemi tulajdonhoz fûzõdõ jogokat (intellectual property rights) sértõ kifejezés Lawrence Rosen rövidítése. A Microsoft félreértelmezése szerint a GPL ( http://www.rosenlaw.com) megsérti a szellemi tulajdonhoz fûzõdõ jogokat. Kinek a magángyakorlatot folytató jogász, a jogait? Milyen módon? Jó vagy rossz ez a „jogsértés”? kaliforniai Los Altóban és Ukiahban Valójában semmi olyasmi nincs a GPL-ben, ami bárkinek van irodája. Annak a Nyílt Forrás a szellemi tulajdonhoz fûzõdõ jogait sértené, és felhá- Kezdeményezésnek (Open Source borító a Microsoftra nézve, hogy mást állít. Bárki hasz- Initiative) ügyvezetõ igazgatója és jogtanácsosa, amely a Nyílt Forrás Meghatározást kezeli. nálhat GPL alá tartozó programot anélkül, hogy ez bármi- © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. augusztus 29 Láttuk-hallottuk

Hallgassunk bele!

Néhány évvel ezelõtt még csak keveseknek adatott a fedelet egy oldalra tolható gomb mechanikusan nyitja, meg, hogy sétálómagnó helyett hordozható CD-játszóval az egyéb mûveleteket pedig egy módváltó, egy-egy mászkáljanak. Ennek elsõdleges oka természetesen a elõre- és hátraléptetõ, két hangerõ-szabályozó, a leját- piszkos anyagiakban volt keresendõ, hiszen a jellem- szást leállító és indító, illetve szüneteltetõ gombbal vé- zõen fiatalokból álló zenefogyasztó közönség tagjai közül gezhetjük, továbbá még egy kapcsolót találunk, amellyel kevesen engedhették meg maguknak, hogy a több a többi gombot engedélyezhetjük és tilthatjuk le. A fél- tízezer forintos lejátszó körben elhelyezett kezelõszervek fogják körbe az LCD-t. mellé 3–5 ezer forintos Kimenetet 3,5 mm-es „jack” aljzatok formájában kettõt lemezeket is vásároljanak. találunk a lejátszó oldalán: az egyik a fülhallgató meghaj- A helyzet azóta annyiban tására és a távirányító jeleinek fogadására szolgál, változott, hogy a lejátszók a másik vonali kimenetként. ára mérséklõdött – a CD-t – akár újraírhatót is – behelyezve, majd a lejátszás lemezeket viszont tovább- gombot megnyomva a készülék elõször átnyálazza a ko- ra is drágán adják. rongot. Ha zenei lemezt hallgatnánk, ez nem tart sokáig, Barátságosabb ugyan- ám ha MP3-állományokat írtunk a korongra, kicsit idõ- akkor az írható CD-k két- igényesebb lehet a folyamat. Ha csak .mp3 fájlok van- száz forint alatti ára. Ha nak a lemezen, a készülék hamar átfutja õket, és meg- a lejátszókészülék az MP3 jeleníti, hogy összesen hány albumot és hány fájlt talált. formátumú fájlok és az Nem gond, ha a lemezen vegyesen vannak .mp3 és adatlemezek kezelésére egyéb fájlok, bár csak egyszeres sebességû meghajtóval is képessé válik, azonnal adott a megoldás. Természete- van dolgunk, így ha több ezer egyéb fájlt is a lemezre sen senkit sem bíztatnék arra, hogy mondjuk az Inter- írunk, sokáig fog tartani, míg a lejátszó végigfut rajtuk. netrõl töltse le a zenéket, hiszen ezzel jogsértést követ A kijelzõn mindössze kétsornyi szöveg és egy marékra- el. A továbbiakban induljunk ki abból, hogy mégiscsak való jelzés, apró felirat jelenik meg. Mindig láthatjuk a mindenki megvásárolja a zenei CD-ket, majd MP3 for- pillanatnyi üzemmódot, a felsõ sorban az éppen játszott mátumba tömöríti õket, mert mondjuk vigyázni akar zeneszám címe, elõadója és az album címe gördül végig, rájuk, és egyébként sem akarja magával hordani a az alsóban pedig a játékidõ jelenik meg. Ha az állomá- teljes gyûjteményét. nyok ID3-tagokat tartalmaznak, a készülék kiolvassa MP3-fájlok kezelésére is képes hordozható készüléket õket, ezek hiányában viszont csak az állomány nevét sokféle árban találunk, a nagy, neves gyártók termékeit jeleníti meg. Mivel a felhasználók vagy ID3-tagokat hasz- azonban ötvenezer forint alatt nem nagyon kapjuk meg. nálnak, vagy az állományokat nevezik el elõadó és dal- A NAPA és az A-MAX nem olyan nevek, amelyekre bárki cím alapján, végeredményben mindenképpen látni fog- bólint: igen, hallottam már róla; ám ha nem akarjuk a juk, hogy éppen kinek melyik mûvét halljuk. nevet megfizetni, érdemes körülnézni a piacon. A már említett módváltó gombbal három dolgot állíthatunk A NAPA termékei közül kettõt volt alkalmam kipróbálni, be. Az egyik egy fontos kényelmi dolog: amikor a megfelelõ az egyik DAV-316, a másik MCD-380 névre, pontosab- gombot megnyomva továbbugrunk, a készülék a következõ ban típusszámra hallgat. számra vagy a következõ könyvtárra-albumra lépjen. Hangzásmódot a megszólaló zene mûfaja szerint ötfélét A NAPA DAV-316-os választhatunk: normál, klasszikus, jazz, rock, pop. Tartsunk egy gyors leltárt, mi is rejlik a dobozban a leját- A hangzások között érezhetõ különbség van, azt azonban szó mellett. Mivel a készülék hálózatról is mûködtethetõ, nem merném állítani, hogy az egyik jobb a másiknál egy tápegységet kapunk hozzá. A már említett tartóele- – a legszebbnek a normál módot hallottam. mekhez egy ránézésre akár autóvontatásra is alkalmas A folyamatos lejátszást 8 MB beépített memória segíti. heveder csatlakozik, ha úgy kívánjuk. A zene megszólal- Ha MP3 formátumú fájlokat játszunk le – ezekbõl egyéb- tatására két apró fülhallgatót használhatunk, illetve talá- ként legfeljebb 32 darabot tetszõlegesen is összeválo- lunk egy távirányítót is. Ezt a fülhallgató-kimenetre kell gathatunk és a sorrendet programozhatjuk –, a meghajtó csatlakoztatni, majd a távirányító végén található aljzat- nagyjából percenként tölti fel a memóriát, majd leállítja ba kerül maga a fülhallgató. A távirányítót fel tudjuk a lemezt, és memóriából játssza a zenét. Nem tölti be csíptetni, és mivel a készüléken megtalálható gombok viszont a következõ zeneszámot, így ha a zenék tartal- mindegyikének van megfelelõje a távirányítón is, magát mukat nézve összefüggõek, de az eredeti lemezen több a lejátszót valamilyen ütéstõl és nyomódástól biztosabb számra tagolódnak, a betöltés idejére bizony meg fog helyre akár el is rejthetjük, már amennyire a távirányító szakadni a lejátszás; ez ellen ügyesen végzett tömörítés- nem túl hosszú zsinórja ezt engedi. Nem szabad megfe- sel lehet csak védekezni. Ha zenei CD-t választunk, a ledkezni a két darab 1600 mAh-ás ceruzaakkumulátorról memória átmeneti tárként a rázkódások miatt fellépõ sem, amelyeket tápegységrõl üzemeltetve maga a ké- összhangvesztéseket segít kiküszöbölni – ha ezt nem szülék is fel tud tölteni. akarjuk, a védelmet ki is kapcsolhatjuk, ezzel egy elem- A lejátszó kezelõszerveinek használata egyértelmû,

© Kiskapu Kft. Minden jog fenntartva pár esetén 1–2 órával tovább húzhatjuk.

30 Linuxvilág Láttuk-hallottuk

«

A készülék mûködésérõl rosszat tulajdonképpen nem alatt az usb-storage-modul betöltése, majd a felbuk- mondhatok. A lejátszást tökéletes csöndben végzi, halk kanó cdrom1 – a gépben volt egy másik CD-olvasó is – zörejeket csak a fej jelentõsebb mozgatásakor, például eszköz befûzése után vígan, 500 kB feletti sebességgel léptetéskor hallat. Normál módban hangzása szép, zaj- tudtam másolni a készülékben található lemez tartalmát. mentes. A legnagyobb bánatom az volt, hogy kijelzõje Az írás kicsit furfangosabb dolog, Windows 2000 alatt háttérvilágítás nélküli, így sötétben nagyon nehéz kezelni a CDRWIN bánatomra még olvasóként sem látta a – mármint amíg meg nem tanuljuk kívülrõl a készüléket. A kézikönyv szerint például Windows Media beállításokat. Player alól remekül írhatunk vele CD-t; ám ez volt az a lehetõség, amire én inkább nem voltam kíváncsi. Linux A NAPA MCD380-as alatt az XCDRoast ugyan felismerte a meghaj- A NAPA MCD380-as jelzésû készüléke sokban hasonlít tót, azonban a tényleges írás megkezdésekor nagyobb testvéréhez. Azért nagyobb testvért emlegetek, illesztõprogram-hibára hivatkozva azonnal le Adatok mert az MCD380 csak nyolc cm-es lemezeket tud kezelni. is állt. Több általános illesztõprogrammal is Ebbõl fakadóan méretei is mérsékeltek, egy nagyobb Imation RipGO! próbálkoztam, de az eredmény nem változott,  zsebbe már kényelmesen becsúsztatható. A 8 cm-es http://www.imation.com így CD-írási szándékomat inkább feladtam. lemezeket apró tokjukban hordozni is sokkal könnyebb, Ár: 67 200 Ft + áfa Az Imation terméke nemcsak képességeit, ám kapacitásuk mindössze 200 MB adat, vagy 23 perc, Kereskedõ: Demand 2000 Kft. hanem megjelenését tekintve is komolyabb-  ha zenei anyagot írunk rájuk. Áruk is kellemetlen, nekem http://www.demand.hu nak mondható. A szürke készülékházon kelle- öt nyers mini lemezt 1500 forintért sikerült beszereznem. Mérete: 12,4×9,7×2,2 cm mes tapintású guminyomógombok sorakoz- A kistesó csomagjából ismerõs kellékek kerülnek elõ, nak, a grafikus kijelzõt pedig mélykék betét NAPA DAV316 kapunk hozzá két AAA-s ceruza akkumulátort, és egy  veszi körül. Áramforrása sem hagyományos http://www.amaxhk.com egész jó minõségûnek tûnõ fejhallgatót. Az LCD egy az elem, hanem – talán kevésbé elõnyös módon, Ár: 28 300 Ft + áfa egyben a DAV316-ról származik, de átkerült a távirányí- hiszen elembõl bármennyit magunkkal vihe- Kereskedõ: Alphasonic Kft. tóra, amely a nagyobb készüléknél megismert módon  tünk – saját Li-ion akkumulátorral rendelkezik. http://www.alphasonic.hu használható. A háttérvilágítás sajnos itt is elmaradt, de A grafikus kijelzõ lehetõségeit maradékta- Mérete: 14,5 ×3,2 cm legalább mindig szem elõtt van a kijelzõ. A kezelõszervek lanul ki is használták, bekapcsoláskor a azért megmaradtak a lejátszón is, így nem muszáj távirá- NAPA MCD380 gyártó logója és Windows Media felirat lát-  nyítót használni – csak jobb. Fontos különbség, hogy az http://www.amaxhk.com ható, lejátszás, az akkumulátor töltése vagy MCD380 nem kevesebb, mint 480 másodperces rázkó- Ár: 30 500 Ft + áfa USB-kapcsolat fenntartása közben pedig dásáthidalási idõt ígér, ami testvérek között is nyolc Kereskedõ: Alphasonic Kft. mindig a pillanatnyi tudnivalók és beállítási  perc, ha úgy nézzük, a 23 perces lemez egyharmada. http://www.alphasonic.hu lehetõségek jelennek meg. A RipGO! is kezeli Az MCD380-ban is ugyanazon neves gyártó mechanikája Mérete: 2,6×10 cm az ID3-tagokat, valamint az .mp3-fájlok mel- rejlik, csak ez egy leheletnyit hangosabb. Nem leheletnyi- lett a .wma formátummal is elboldogul. Egy vel több viszont az alapzaj, ami a régi szalagos sétáló- ötletesen dobókockával jelölt gomb lenyomása után magnókéra emlékeztet. Létezése is érthetetlen számom- véletlenszerû lejátszásba kezd, és a zeneszámokat ismé- ra, hiszen a DAV esetében ilyesminek nyoma sem volt. telni is tudja. A RipGO! is rendelkezik kimeneti vonallal, Az egyetlen kényelmetlenség, amit az MCD380 kapcsán ám távirányításra semmilyen lehetõség nem kínálkozik. említhetek, az, hogy ha a készüléket zsebbe süllyesztjük Apróság, ám fontos kényelmi részlet, hogy sötétben és a rajta lévõ nyomógombokat letiltjuk, majd a lejátszót sem fogunk bajba kerülni vele, ugyanis ennek esetében egy ideig nem használjuk – fél perc után ugyanis nem maradt el a kijelzõ háttérvilágítása. kikapcsol –, akkor távirányítóról nem tudjuk feléleszteni. A megfelelõ gombkombinációval balanszot is állíthatunk, A kijelzõ ugyan közli, hogy a távirányító csatlakoztatva a beépített hangszínszabályozó pedig meglepõen jól van a készülékhez, ám utána röviden tájékoztat, hogy a végzi dolgát. Míg NAPA-termékeknél úgy éreztem, hogy gombok le vannak zárva, majd visszatér alvó állapotba. inkább elvesznek bizonyos hangtartományokat, addig a Imation RipGO! RipGO! inkább kiemelést végez az adott stílus – normál, Harmadik vendégem, az Imation RipGO! készüléke ko- pop, klasszikus, salsa, rock, jazz és techno – szerint, így molyabb darab, hiszen a lemezek lejátszásán kívül CD- a megszólaló zene is sokkal teltebbnek hat. Mûködése írásra is alkalmas, bár méreteibõl fakadóan csak 8 cm- csendes, alapzajtól mentes, halk neszezést tõle is csak es lemezeket tud kezelni. Dobozában ugyancsak fejhall- a fej mozgatásakor hallunk. gatót, hálózati adaptert, USB-kábelt találunk, valamint ajándékként két írható lemezt is mellékeltek. Medgyesi Zoltán ([email protected]) Ha CD-meghajtóként akarjuk használni, szükségünk lesz a BMGE 24 éves informatika szakos hallgatója. egy számítógépre, amihez a készüléket USB-kapun ke- Szabadidejét legszívesebben a barátnõjével tölti. resztül csatlakoztathatjuk. A Windows 98 alatt használ- Szeret autózni és bográcsban fõzni. A Linuxot hat ható illesztõprogramot egy – stílusosan – 8 cm-es CD-n éve ismeri, de még nem volt lelkiereje, hogy kapjuk hozzá, Windows 2000 alatt pedig szabványos áttérjen rá. A Linuxvilág magazin hírszerkesztõje. tárolóeszközként kezeli a rendszer. Linux (Mandrake 8.2) © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. augusztus 31 Vezérfonal

Industrial Light & Magic Linuxra történõ átállás az ILM leképezõtelepén: a sebesség és a megbízhatóság kötelez.

sillagok háborúja II. rész: A klónok támadása címû Maya segítségével készül. „Maya-felhasználóink kilencven film, amelyet 2002 májusában mutattak be, az Indust- százaléka Linuxon dolgozik” – tájékoztat Weaver. „Hihetetlenül rial Light & Magic (ILM) elsõ mozifilmje azóta, hogy üzembiztosnak tûnik Linuxon. A Maya hónapok óta nem Ca múlt év folyamán munkaállomásaikon és a leképezõtelepü- fagyott le a gépemen. Ezt értékelem ki – drótváz üzemmódot kön a Linux használatára tértek át. A kaliforniai San Franciscó- használva –, vagyishogy a megfelelõ számú ciklus lett-e beik- tól északra fekvõ San Rafaelben mûködõ ILM-et 1975-ben azzal tatva.” A Maya képességeinek kiterjesztése céljából Weaver a céllal alapították, hogy itt hozzák létre a Csillagok háborúja bõvítményeket ír a programhoz. „A Maya a bõvítõk írását látványhatásait. Bár a cég tulajdonosa George Lucas, az ILM elfogadhatóan egyszerûvé teszi. Az újabb tagokat a shelf-hez

© Kiskapu Kft. Minden jog fenntartva látványhatásokat gyártó tevékenysége mégis túlmutat az olyan, adom hozzá. A shelf a Maya tetején végighúzódó bõvítmény- a Lucasfilm által létrehozott alkotásokon, mint a Csillagok fülek halmaza. A Viharzóna ocean nevû bõvítménye jó példa háborúja epizódjai vagy az Indiana Jones-filmek. Számos más arra, ahogyan az ILM a hatásokat a Maya bõvítményeinek stúdió keresi azt a kis többletet, amivel az ILM a különleges segítségével megvalósítja. hatások gyártásának éllovasává küzdötte fel magát. Az ILM „Szerkesztõprogramunk, a CompTime is Linuxra lett átültetve” 14 akadémiai díjat vehetett át az olyan alkotásokban végzett – jegyzi meg Weaver. Az ILM a mozgókép szerkesztésére létre- munkájáért, mint a Forrest Gump, a Jurassic Park, a Terminator hozta saját, bõvítményrendszerû szerkesztõjét ahelyett, hogy 2, a Roger nyúl a pácban és az E. T. valamelyik kereskedelmi programcsomagot választotta volna. „A Linux munkánk minõségét emeli, nem a mennyiségét” – fog- Weaver szintén ír ilyen lalja össze a lényeget Andy Hendrickson kutatási és fejlesztési szerkesztõbõvítményeket. igazgató. A nagyobb számítási teljesítmény több felhasználói „A szerkesztõ bõvítményeit beavatkozást tesz lehetõvé. Ezt részletesen is elmagyarázza: Python nyel- „Gyakran szembesültünk olyan helyzettel, amikor tudtuk, mit ven írjuk” akarunk, azonban arra voltunk kényszerítve, hogy elképzelé- – meséli. „Egy seinket a szükséges számítási teljesítmény hiánya miatt meg- óriási Python- nyirbáljuk. A Linux használatával valószerûbbé tudjuk tenni mûhely vagyunk… a jeleneteket. Mi irányítjuk a hatásokat. Nem elég, ha rendel- és természetesen a kezünk egy hiteles NOAA-modell szerinti felhõvel, amikor MEL-rõl sem szabad a mûvészi csoport olyan utasításokkal irányít minket, hogy elfeledkezni.” „legyen vattaszerûbb a felhõ”, vagy a Viharzónában készített A MEL a Maya óceán esetén „legyen nagyobb a hullám”. parancsnyelve. Az ILM vakmerõ lépést tett, amikor éppen egy fontos alkotás Az ILM a közepén, a Csillagok háborúja II. részének munkálatai közben mûszaki fogott neki a Linuxra való átállásnak. „Sokkal nehezebbnek vezetõk gondoltuk a Linuxra való átállást, mint amilyen valójában volt” számára a – mondja Hendrickson. „A Linux nagyon hasonlít arra, amivel legmegfelelõbb korábban dolgoztunk. A bevezetést 2001 novemberére toltuk munkaeszköz- elõre és a II. rész után fogjuk befejezni.” Az áttérés folyamata nek a Mayát alatt az ILM támogatja a meglévõ SGI IRIX-gépeit és a Linux tartja, az PC-ket, hogy a seregnyi változtatás miatt a felhasználók túl- animátorok terhelését elkerüljék. pedig a Robert Weaver a II. rész mûszaki igazgatója. Az asztalán bal SOFTIMAGE-t oldalon egy Linux PC, jobb oldalán pedig egy SGI O2. talál- használják. ható. Mivel a Linux asztala az SGI O2 mintájára lett beállítva, A SOFTIMAGE 3.8-as elsõ pillantásra nem egyértelmû, hogy melyik képernyõ változatáról (ez IRIX melyik géphez tartozik, de azonnal nyilvánvalóvá válik, ami- alatt futott) Linuxra kor Weaver megmutatja a sebességkülönbséget. „A régi rend- történõ átállás az szer annyira lassú, hogy a klónok lézerfegyvereinek lövedéke egész vállalatnál eldobott gerelyhez hasonlít. Körülbelül ötszörös sebességnöve- a nemrég már kedést tapasztalunk a linuxos rendszeren, amit nagyon tudunk Linuxon is elérhetõ értékelni. Elmondhatom, hogy a Linux az egyik legsikeresebb 4.0-s változatra próbálkozásunk, nem tudom eléggé dicsérni. Könnyen elsajá- való áttérést tette títható és rendkívül üzembiztos. Leképezõnk átállása még nem szükségessé. történt meg, de a nyár folyamán ez is lezajlik. Csak emiatt A Csillagok használom még mindig az O2-t.” háborúja elsõ Az ILM összes háromdimenziós szimulációja az Alias/Wavefront trilógiájának

32 Linuxvilág Vezérfonal

A modellezés vezetõje, Geoff Campbell és az animáció vezetõje, Rob Coleman Yoda animálásán dolgozik a Csillagok háborúja egyik jelenetében. © Kiskapu Kft. Minden jog fenntartva Yoda esetében az ILM a saját arcjátékprogramját használja, amely közvetlenül a SOFTIMAGE fájljait kezeli. Az ILM házon belüli fejlesztései között mind önálló programok (mint amilyen az arcjátékprogram vagy a CompTime), mind bõvítmények (például a Maya vagy a SOFTIMAGE rendszerekhez) szerepelnek.

A Viharzóna óceánja számára az ILM egy olyan Maya-bõvítményt készített, amellyel az egyes hullámok erõssége külön módosítható volt. Az ILM által fejlesztett program kulcsfontosságú tulajdonsága a felhasználói beavatkozás lehetõsége. megalkotása óta az animációs program alkalmassá vált az arckifejezések széleskörû kezelésére. Az ILM megalkotta saját arcmozgató alkalmazását, amely nem bõvítményként mûködik, A Csillagok háborúja egyik jelenetének szerkesztése az ILM saját, hanem közvetlenül képes a SOFTIMAGE jeleneteinek CompTime nevû szerkesztõcsomagjával. Az ILM saját szerkesztõt fejlesz- olvasására. A digitális modellezés vezetõ szakértõje, Geoff tett ki a kereskedelemben kapható Shake vagy RAYZ használata helyett. Campbell ezt a programot használta a II. részben felbukkanó arckifejezések megalkotásához. bábfigura, hogy ajakmozgása jobban illeszkedjen a kimondott „11 olyan izom van az arcon, amely kulcsszerepet játszik az szavakhoz” – meséli Campbell. arcjátékban” – magyarázza Campbell. „A SOFTIMAGE segít- Érdekes dolog Yodával kapcsolatban, hogy George nem akarta, ségével az arcon a kívánt mértékû nyújtást alkalmazhatom. hogy túl messzire távolodjunk a bábfigura adta keretektõl. Ha elégedett vagyok a kapott látvánnyal, az eredményt új Amikor Yoda a II. részben beszél – és meglehetõsen sok szö- formaként mentem. Az asztalomon van egy tükröm és egy vege van –, a fonémákat igen leegyszerûsített formájában kamerám, amellyel a saját arckifejezéseimet szoktam vizsgálni. használja. Sok olyan forma, amit utánozni próbálunk, azok Minden szereplõbe saját magamból is adok valamit.” Campbell a bábformák, amiket Frank Oz valósított meg a kezét egy beszél még a szereplõk játékának egyik fontos elemérõl, a gumiban mozgatva. A késõbbi, számítógépes grafikával szemmozgásról, azokról a sokatmondó tekintetekrõl, amelyeket elõállított Yoda ugyanaz a szereplõ, mint a korábbi részekben, a színészek párbeszéd közben egymást közt váltanak. A II. csakhogy most sokkal pontosabb az ajakmozgása, amikor részben Yoda még akkor is rendelkezik ilyen szemmozgással, például „b” vagy „m” hangra görbíti az ajkait, mint amilyen amikor a szemei csukva vannak. „Linda Bell elemezte a szemek a bábbal elõállítható volt. alvás közbeni mozgását, amikor a szem az alvás REM-szaka- Yoda hajának a mozgása a másik olyan vonás, amit az szában a csukott szemhéjak alatt is mozog.” ILM arcjátékprogramjával állítottak elõ. „Azt akartam, hogy Yoda látványosabb legyen, mint maga a (Folytatás a 35. oldalon)

www.linuxvilag.hu 2002. augusztus 33 Vezérfonal

Az ILM számítógépei

Az ILM-ben ritkán látni olyan mûvészeket, felütötte a fejét: az összes akiket egy számítógép izgalomba hoz, az új PC-ventilátort le kellett cserélnünk, mivel linuxos munkaállomásokért – az egyprocesz- mindegyik hibás volt. Mike Kierman, az szoros Pentium IV-es, nVidia Quadra 2 Pro R&D rendszermenedzsere néhány grafikus kártyával szerelt gépekért – mégis Linuxszal kapcsolatos gondról számol be: harc folyt. „Hol van a linuxos gépem?” „Néha, amikor reggel megérkezem, a Linux- kezeljük a kérdést.” – lehetett hallani mindenfelõl. A gyártás telep mintegy negyede le van fagyva. Az ILM Linux-munkaállomásainak szokatlan mûszaki igazgatója, Ken Bayer mesél errõl: Szerencsére ez nem túl gyakran fordul elõ. vonása a MESA könyvtáraknak az SGI nyílt Több mint 350 linuxos gépet helyeztünk A hiba hátterében valószínûleg a 2.4-es forrású OpenGL megvalósításával történõ üzembe a II. rész készítésének folyamán. rendszermag VM-gondjai állnak. A rend- helyettesítése. „Összehasonlítottuk a Elõször az animátorok és modellezõk jutot- szermag legutóbbi fejlesztései talán kiküszö- MESA- és az SGI-változatot olyan nézõpont- tak hozzá, majd a szerkesztõk. Az elsõ cso- bölik a jelenséget. A fejlemények minden- ból, mint például a libGLU” – magyarázza port lapos monitorokat kapott az asztalukon esetre bíztatóak. Peterson. Más stúdiók nem tapasztalták a © Kiskapu Kft. Minden jog fenntartva lévõ hely szûkössége miatt. Red Hat 7.1 Az NFS-kiszolgálókat egyelõre nem akarjuk legnagyobb üzembiztonságot a Maya nVidia alatt volt egy kis gond a beállításukkal. Utol- Linuxszal felváltani. Szeretném, ha helyette- meghajtóprogramokkal történõ linuxos sóként a mûszaki igazgatók számára biztosí- síteni tudnánk az NFS-t, azonban egyik do- futtatásakor. Úgy tûnik, ez a MESA-ra és tották az új munkaállomásokat. Borítékolták, kumentumkezelõ rendszer sem elég rugal- nem a Mayára, az nVidiára vagy a Linuxra hogy mire lenne szükségük. Az egyik kérdés mas ehhez, vagy amelyik igen, annak igen vezethetõ vissza, mint azt korábban az volt, hogy milyen gyorsan tudjuk a szá- magasak a beillesztési költségei. Ha az AFS gondolták. Az ILM a MESA-könytárakat mukra szükséges programokat átültetni. minden általunk támogatandó rendszerre az nVidia-magos OpenGL és az SGI nyílt „Az üzem igen jelentõs részén Linuxra vál- megjelenteti a hozzá való változatot, talán forrású mintaprogramjainak együttesére tottunk: asztali gépeink felén, 2000 procesz- fontolóra vesszük a dolgot.” cserélte le. szoros leképezõtelepünknek pedig mintegy Az ILM jól elboldogul a sokféle operációs „A leírásokban általában nem találunk meg- harminc százalékán most ez az operációs rendszerrel, 1400 alkalmazottjuk ezek széles oldást a felmerülõ nehézségekre” – jegyzi rendszer fut” – tájékoztat Andy Hendrick- kínálatát használja. A mûvészeti osztály meg Peterson. „Nincs terméktámogatás, son, a kutatási és fejlesztési igazgató. Macintoshokat használ OS X-re átírt prog- amit segítségül hívhatnánk. Kijavítjuk a „Rendelkezünk még hétszázegynéhány ramokkal. Hendrickson az OS X-ben egy hibákat és kibõvítjük az eszközöket. Ez a O2-es géppel, ezek cseréje azonban nem lehetséges megoldást lát. „Ami vonz min- fenntartás egy új szintjét vezeti be. A digi- lenne kifizetõdõ” – teszi hozzá Beyer. Az SGI ket, az a BSD-szerû Darvin-mag és a háló- táblákhoz nyílt forrású meghajtóprogramo- elismert név a csúcskategóriás munkaállo- zatkezelés.” Az ILM csak néhány window- kat kellett használnunk. A monitorok beál- mások és kiszolgálók piacán, ám lemaradt sos géppel rendelkezik, beszámítva az üzleti lítása folyamatos munkát ad. Mégis könnyû a PC-vel való versengésben. Úgy tûnik, az oldalon használt számítógépeket is. „Szá- az út, amin elindultunk. Mûvészeink mûsza- SGI a szórakoztató elektronikai piacról egyre munkra semmi elõnye nem lenne a Win- kilag felkészültek, és jól tûrik a nehézsé- inkább a katonai piacra húzódik vissza. dowsra való átállásnak” – mondja Hendrick- geket. A világ legjobb tesztelõivel biztosított „Leképezõtelepünk tornyai a Halálcsillag son. „Unixos mûhely vagyunk, és talán a gyors visszajelzés.” jelvényét viselik magukon” – emeli ki Beyer. mindig is az leszünk.” Hendrickson egyetért azzal, hogy a Linux Ezek a tornyok egységnyi magas, kétpro- Phil Peterson az R&D fõmérnöke arról támogatása gondot jelenthet. „Ahogy a cesszoros, szekrénybe szerelhetõ gépekbõl tájékoztat minket, hogy az ILM a Red Hat Linuxot alkalmazni kezdtük, éreztük, hogy állnak, melyek olcsó 100Base-TX kártyákon rendszercsomagot választotta, mert köny- egyetlen cég sincs, amelyik fogná a kezün- keresztül kapcsolódnak egymáshoz. Ezek nyebbnek tûnt népszerû rendszerrel dol- ket. Az IBM és a HP ezen a téren egyelõre 1RU, 2-CPU Pentium IV-es egységek. Ha gozni. „Az ILM-nél a 2.4.9-es rendszermagot nem játszik szerepet. A Linux elõtt azonban egy egység felmondja a szolgálatot, keve- telepítettük, a 2.4.17 és 2.4.18 pedig kipró- erre semmilyen befolyásunk nem volt, sõt sebb a veszteség, ugyanis csak két pro- bálás alatt áll. Rendszermagjaink beállítá- másnak sem. Most a saját Linux-közeli cesszor esik ki, szemben az SGI-rendszerek saiban – a megosztott memória mérete, gondjainkkal kell megküzdenünk.” négy vagy nyolc processzorával. A II. rész a fájlleírók száma, az alapértelmezett verem- Elképzelhetõ, hogy a Linux túl gyors lenne? számára az elérhetõ teljesítményt meg kel- méret – nincs semmi rendkívüli. Az Open „A Linux sebessége miatt – 15 éves pálya- lett kétszereznünk, ami 512 processzort Motif 2.1 szép munkát végez az IRIX-szerû futásom alatt elõször – a túlzott megerõlte- jelent. Az energiaellátásnál kettõs 225 kVA kinézet létrehozásában és kezelésében, tés jeleit kezdtem érezni magamon” – meséli teljesítményû szünetmentes tápegységeket így az ILM meg sem próbálta a LessTifet. Robert Weaver, a mûszaki igazgató. „Rend- alkalmazunk, valamint három váltóáramú Az ILM munkaállomásai a Gnome és a KDE szerint az ember dolgoztatja a gépet, de a rendszerrel rendelkezünk, amelyeket fel- korlátozott telepítéseit is tartalmazzák. Linux olyan gyors, hogy képes túlhajszolni váltva használunk. San Rafael környékén Nem tettünk különösebb erõfeszítéseket az embert.” Weavernek figyelnie kellett arra, gyakori az áramkimaradás. A szünetmentes a gépek lecsupaszítására: egyszerûen a hogy munkaszüneteket iktasson be, mert a tápok 15 percig bírják, ezután dízelgenerá- teljes telepítésbõl elhagytuk azokat a része- Linuxszal a munkát többé nem kell a gépre torra állunk át. Egy nem várt hiba is ket, amelyeket nem használunk. Egyszerûen való várakozás miatt felfüggeszteni.

34 Linuxvilág Vezérfonal

Mivel a hajszálak egyenkénti kezelése meglehetõsen nehézkes a szereplõk élõ és a számítógépes grafika által megjelenített lett volna, olyan irányító hajszálak vannak, amik befolyásolják képei között. „A színészek esetében gumiprotézisek helyett a körülöttük lévõ hajszálak viselkedését. Yoda frizurájának számítógépes grafikát használunk. Több szimulációt és merev- interaktív megalkotásánál a sebesség fontos tényezõ volt. test-dinamikát alkalmazunk. Ahogy a fénykard felvágja és Az ILM arcjátékprogramját az SGI O2-es gépeken futtatva min- szétrepíti a droidokat, a keletkezõ darabok teljesen valóság- den egyes változtatás után másodpercekig tart a kép újraraj- hûen szállnak minden irányba.” zolása, és ez a késés igen nehézkessé teszi a munkát. „A Linux- George Lucas, aki az eredeti Csillagok háborújában négy- szal nagyfelbontású képeket is valós idõben kezelhetünk, ami száz felvételsorozatot használt, a II. részben már kétezret. SGI-rendszereken nem volt megvalósítható” – mondja Camp- Ennek megvalósításához három látványigazgatóra volt bell. Az ILM kis számban most is készít fizikai modelleket, de szükség, mintha három film készült volna. „Már várom, fõleg hátterek számára, vagy olyan szerves kinézetû dolgok hogy mi mindenre leszünk képesek a II. rész után” – mondja szemléltetésére, amelyek számítógéppel körülményesebben Hendrickson. valósíthatóak meg. Bár az ILM nagy számban többé nem gyárt És ez a Linuxnak is köszönhetõ. ûrhajómodelleket, számítógép vezérelte mozgással ellátott kameráik folyamatosan dolgoznak a hátterek elõtt. Linux Journal 2002. július, 99. szám Az R&D fõmérnöke, Phil Peterson az ILM Linuxra történõ átállását nyolcvan százalékosra becsüli. „Egy három fõbõl álló Robin Rowe

csoport több mint egymillió sornyi kódot ültetett át Linuxra” a MovieEditor.com internetes és televíziós © Kiskapu Kft. Minden jog fenntartva – meséli. „Az átállás legnagyobb kihívását a fordítóprogram és videoalkalmazásokat készítõ cég egyik part- az egyéb eszközök jelentették” – mondja Peterson. „Az újabb nere. Írásai a Dr. Dobb’s Journalban, a C++ C++ kód meglehetõsen STL-függõ.” A Red Hat-csomag részét Reportban, a C/C++ Users Journalban, a Data képezõ gcc 2.96 fordító nem támogatja az STL-t (Standard Based Advisorban jelentek meg és számos ta- Template Library, azaz szabványos mintakönyvtár), így he- nácskozás anyagában megtalálhatók. A Robin által készített lyette az ILM a 3.01-es változatot használja. A többfelületes programok sorában található többek közt az a kiszolgálóalapú fordítókörnyezet a Python és a GNU make segítségével került videoszerkesztõ rendszer, amit a Manhattan 24 órás televíziós testreszabásra. hírcsatorna, a Time Warner New York One, illetve a kapcso- Az ILM-nek néhány olyan CPU-eltéréshez is hozzá kellett lódó honlap  http://www.ny1.com/ is használ. Elérhetõ a igazítania a rendszert, mint a lebegõpontos ábrázolás meg- robin.rowe@ movieeditor.com címen. valósítása és a számábrázolás pontossága. „Elõfordult, hogy az assemblyt kézzel módosítottuk, hogy a legnagyobb teljesít- ményt tudjuk kihozni a Linuxból” – meséli Peterson. Az egyik gond a Linuxban a memóriaelérés szálankénti követése, Kapcsolódó címek amely a szálak azonosítóit az IRIX-tõl eltérõen kezeli. Egy AFS  http://oss.software.ibm.com/developerworks/ másik kellemetlenség, hogy a lebegõpontos kivétel nem opensource/afs válthat ki C++-megszakítást (a lebegõpontos kivétel aszink-  ron volta miatt). ALSA http://www.alsa-project.org A Motif-alkalmazások beépítéséhez az ILM-nek néhány gon- Compaq Tru64  http://www.tru64unix.compaq.com don a céleszközök különbözõségével kellett felülemelkednie. FLTK  http://www.fltk.org „Korábban fõleg a Motifot használtuk, legutóbbi alkalmazá-  sainkban viszont az FLTK-ra tértünk át” – tájékoztat Peterson. Foundry Networks http://www.foundrynet.com Az ILM SGI-alapú programjainak a kinézetéhez igazította a ILM  http://www.ilm.com linuxos változatokat is – beleértve a betûtípusokat és színeket. Lucasfilm  http://www.lucasfilm.com Az ILM projektjének 80–90 könyvtárat kellett egyesítenie.  A hanghoz az OSS-t használják, Peterson szerint azonban Maya http://www.aliaswavefront.com  lehet, hogy az ALSA-ra váltanak. Az SGI a dMedia könyvtára- MESA http://mesa3d.sourceforge.net kat biztosítja, Linuxon azonban a hiányzó szolgáltatások pót- NFS  http://nfs.sourceforge.net lására néhány saját könyvtárat is el kellett készíteni. A mozifil- NOAA  http://www.noaa.gov mek visszajátszásához, amelyhez 2 k×1 k sávszélesség szük-  séges – vagyis több mint 27-szer akkora, mint egy átlagos nVidia http://www.nvidia.com 320×240-es PC-videóhoz –, az ILM elkészítette saját Quick- openMOSIX  http://openmosix.sourceforge.net Time-megfelelõ könyvtárát, amelyet a flipbook-lejátszóban Open Motif  http://www.opengroup.org/openmotif használnak.  „A Linuxszal kapcsolatban mindenki a sebességnövekedést OSS http://www.opensound.com emeli ki” – mondja Hendrickson. Elmondása szerint a sebes- Viharzóna  http://perfectstorm.warnerbros.com ségnövekedés nemcsak húsz vagy harminc százalékos, hanem POV-Ray  http://www.povray.org ötszörös. Hihetetlen számítási igény merül fel a munka során, Python  http://www.python.org s ez a tulajdonképpeni korlátozó tényezõ – ha az alkotónak  több közelítõ számításra nyílik lehetõsége, az eredmény sokkal SGI OpenGL http://oss.sgi.com/projects/ogl-sample jobb lesz. Rengeteg Jedi-lovagot és palástot kell modellezni, SOFTIMAGE  http://www.softimage.com ami a gépek megfelelõ sebessége nélkül nem volna lehetséges. Csillagok háborúja  http://www.starwars.com Korábban a közelítéseket kézzel kellett kezelnünk. A II. részben  a szereplõk élõ és számítógépes grafika által megjelenített STL http://www.sgi.com/tech/stl képei között az átmenetek illesztése digitálisan hajtódik végre

www.linuxvilag.hu 2002. augusztus 35 Vezérfonal

Silicon Grail RAYZ Ebben a hónapban Robin azt vizsgálja, miként használják a RAYZ-t a különbözõ új és még megjelenés elõtt álló filmek különleges hatásainak elõállításakor.

lõzõ hónapban a Nothing Real cég Shake nevû szer- robbanások elõterébe szerkesztenünk. E kesztõprogramját vizsgáltuk, amelyet számos vezetõ A Pluto Nash gyártásakor a Windows NT-n futó LightWave filmstúdió alkalmaz különleges hatások vagy animációk segítségével elõállított és az Ultimatte által a kékdoboz elvét létrehozására. A Nothing Real nemrég az Apple birtokába használó eljárással feldolgozott holdbéli képet használták jutott, amely a cég gyors sorelemzõ (scanline) leképezõ eljárá- sát a jövõbeli Apple-termékekben kívánja felhasználni. A Shake bizonytalan linuxos jövõje a versenytárs, a Silicon Grail RAYZ nevû programjának hasznára lehet. Mind a RAYZ, mind a

© Kiskapu Kft. Minden jog fenntartva Shake felhasználói felületként interaktív jelenetgráfokat hasz- nál a hatások (effects) összeállításához. Bár a felhasználói felület szempontjából hasonlítanak, a RAYZ nem használja a Shake leképezõ eljárásának soronkénti megközelítését. „Azt hiszem, manapság a gyorsítótár használatának módszere fontosabb kérdés a leképezés gyorsítása terén, mint a soronkénti algorit- musok” – mondja Ray Feeney, a Silicon Grail elnöke. „A memó- ria sokkal olcsóbb lett. A soronkénti eljárás valójában lassabb is lehet, mintha több blokkot a memóriában tartunk – például a forgatások esetén.” A hollywoodi filmhatásokkal foglalkozó cég, a Flash Film Works a RAYZ és Linux programpárost használta legutóbbi három Warner Bros alkotásához: az Arnold Schwarzenegger fõszereplésével készülõ Collateral Damage címû akciófilmhez, a Death to Smoocy címû vígjátékhoz Robin Williams fõszerep- Egyszerû színkorrekció RAYZ-ben. A bal felsõ sarokban a flipbook lésével, és a Pluto Nash címû gengszter-sci-fihez, amelynek elõnézet-lejátszó található. A jobb alsó ablakban Eddie Murphy a fõszereplõje (elõreláthatólag 2002. augusztus a kapcsolódó szûrõk gráfnézete látszik. 16-án mutatják be a mozikban). „A RAYZ rendelkezik azokkal A bal alsó ablak a kiválasztott szûrõ beállításait tartalmazza. az alapvetõ tulajdonságokkal, amelyekre a szerkesztõnek szük- sége van, ezeken kívül tartalmazza a görbítést, a képek egy- másba való alakítását és a CineSpeedet” – mondja Dan Novy, a Flash Film Works mûszaki igazgatója. A RAYZ új kódra épít. A Silicon Grail korábbi szerkesztõje, a Chalice nem támogatta a Linuxot. „A Silicon Grail vitacsoportok segítségével évekig gyûjtötte a Chalice-felhasználók véleményét” – tájékoztat Novy. A RAYZ flipbookja egyszerûen bámulatos. Képes a képe- ket valós idõben 2 k felbontásban megjeleníteni. A csomópon- tok lejátszáskor elõre betöltõdnek, futás közben dolgozhatok a jeleneten, valós idõben változtathatok a színbeállításokon. „A Death to Smoocyban a RAYZ-nek nagy hasznát vettük az autókban és hajókban ülõ szereplõk szerkesztésénél” – jegyzi meg Novy. „A RAYZ-t használtuk a fegyverek torkolattüzeinek és az utcai visszaverõdések hozzáadásához is. Rengeteg há- romdimenziós hatást hoztunk létre 2D-s alapokon.” Az egyik jelenetben a RAYZ hajlítási és áttûnési tulajdonságait használ- tuk a felvétel során megsérült díszletrészlet javítására. Bár a többi felvételnél a díszlet sértetlen volt, a rendezõ mégis úgy Jelenet a Collateral Damage címû filmbõl: a bal oldali helikopter érezte, hogy az a legjobb felvétel, amelynél a gond jelentkezett. valóságos. A jobb oldali egy Mayában készült háromdimenziós alkotás, amelyet a RAYZ segítségével szerkesztettek a képre. „A Collateral Damage esetén rengeteg újraidõzítést használ- tunk” – mondja Novy. „Ezzel az eljárással a 24 fps-es sebes- ségbõl 36 fps-est tudtunk létrehozni ott is, ahol nem volt kellõ a RAYZ-zel való munka során. „Fontos számunkra a RAYZ számú képkocka.” A RAYZ programmal meg lehetett alkotni a hálózati felhasználási szerzõdése az Ultimatte-hez. A Digital közbülsõ képeket. Az újraidõzítés nem hibátlan, azonban jobb, Fusion, a Combustion és az After Effects hardverkulcsot mint a képismétlés. A REALVIZ ReTimer a másik lehetõség, (a program futtatását engedélyezõ alkatrészt) használ az de nincs beépítve, viszont a leképezés elkészítése szükséges. Ultimatte-hez. Nem lehet bármelyik gépre átvinni, mint A Collateral Damage során Schwarzeneggert sokszor kellett a a RAYZ esetén.” A Flash Film Works egy olyan kiegészítõt fej-

36 Linuxvilág Vezérfonal

A Flash Film Works a RAYZ-t használta a Collateral Damage címû filmben A Mejier Toy City reklámja számára az Island Fever Productions a Houdini © Kiskapu Kft. Minden jog fenntartva arra, hogy a kék képernyõ elõtt mozgó színészeket linuxos változatát használta a pingvinek háromdimenziós alakjának összeszerkesszék a háttérben zajló robbanással, és a robbanás kiegészítõ megformálására. E meglepõ reklámok MPEG-változatai letölthetõk a elemeiként a képhez hozzáadják a roncsokat és a zuhanó rudat.  http://www.island-fever.com/meijer.html címrõl.

A Less Miserables számára készült háttérhelyettesítést megnehezítette a tollak lágy határvonala (elõtte és utána). leszt, amely a képpontokat úgy torzítja, hogy látószögelhajlás futtatható” – jegyzi meg Novy. Még Alpha-munkaállomásokon jöjjön létre. Egy smoke plumme-modul illeszthetõ hozzá, is futtatjuk a programot, a 64-bites 21264-esen. Amikor a Deep amellyel a megfelelõ szemtávolság segítségével az egyes sze- Blue Sea számára beszereztük ezeket a gépeket, nem volt ha- mek számára külön kép áll elõ. A kiegészítõk írásához Perlt sonló gyorsaságú a piacon, de másfél év múlva már használa- és C++-t használnak. Novy fontolgatja a LightWave-rõl ton kívül hevertek a sarokban. Mivel a RAYZ naprakész Alpha- a Houdinira történõ átállást, az utóbbi egy népszerû 3D-s támogatást biztosít, lehetõvé vált, hogy újra üzembe helyezzük programcsomag Linuxra. ezeket a kicsit elavult, de még mindig gyors gépeket. Debianra Miután a Kodak felhagyott a Cineon szerkesztõ fejlesztésével, váltunk, mert a Red Hat Alpha-támogatása akadozik. Azt a Silicon Grail megvásárolta az eljárást, és Grain/Degrain, hiszem, az SGI korábbi helyzetéhez hasonlóan a Linux uralko- Sharpen és CineSpeed elnevezésû eszközökként beépítette a dóvá fog válni a filmgyártásban, abban azonban már koránt- RAYZ-be. „A RAYZ egyedülálló tulajdonsága, hogy az adatokat sem vagyok biztos, hogy a Red Hat lesz e téren a nyertes. a Cineon 10 bites logaritmikus formátumában képes tárolni” A santa-monicai telephelyû Island Fever Productions is a – mutat rá Novy. „Az összes többi szerkesztõ megköveteli RAYZ-t használja háromdimenziós hatások létrehozására a Lea a 16-bites lineáris vagy lebegõ formátumra való átalakítást. Thompson fõszereplésével készülõ nagyformátumú filmjéhez. A RAYZ esetén is átalakíthatjuk, de végig a 10-bites formátu- A 2002 nyarán a Busch szórakoztatóközpontban bemutatandó mot használhatjuk. Beépített számításokat is képes így elvé- film olyan fizikai látványokat vonultat fel, mint vibráló székek, gezni. „A monitorok 8-bites lineáris formátumot használnak, víz- és különbözõ illathatások. és LUT-okra (lookup table, vagyis színkeresõ táblázat) van „A film minden szerkesztõmunkájához a RAYZ-t használjuk” szükségük ahhoz, hogy megközelítsék a film minõségét. – tájékoztat Island Fever elnök és Nick Ilyin, a képi hatások „Mivel ez is a RAYZ-be épített Cineon-féle eljárás része volt, igazgatója. Egy nagyformátumú filmkocka 65 mm-es szerkesz- a teljes képernyõbeállítási folyamat elvégezhetõ, biztosítva, tése igen nagy igényeket támasztó mûvelet. A filmet 4 k felbon- hogy a legtöbbet tudjuk kihozni eszközeinkbõl.” tásban olvassuk be a 35 mm-es filmeknél szokásos 2 k felbontás „A RAYZ minden operációs rendszerünkön és gépünkön helyett. „2 k felbontáson a teljesítmény meglehetõsen jó, 4 k

www.linuxvilag.hu 2002. augusztus 37 Vezérfonal

Az Island Fever Productions a Linuxot reklámfilmek készítésére is használja, köztük három Orikin-rekláméra, amelyben csótányok mászkálnak egy tévé képernyõjén. A Meyer Toy City négy reklámfilmjében mulatságosan mozgó pingvinek szerepelnek. „Ping- vinszobrokat készítettünk, amelyeket digitalizálva betápláltunk a Mayába a háromdimenziós mozgás létrehozá- sára, a Houdini végezte az alakváltoz- tatás és világítás szerkesztését, majd a kimenetet a Pixar RenderManja kapta meg” – meséli Ilyin. „Sok egyedi kódot írtunk a folyamat egyesítése céljából, valamint egy egyedi megvilá- gítással foglalkozó bõvítményt a

© Kiskapu Kft. Minden jog fenntartva Houdini számára.” A Houdini korlá- tozott képességû szerkesztõje nem elég hatékony a Haunted Lighthouse- hoz hasonló projektekhez, ezért az A Less Miserables-hez készült fényfolthatást a RAYZ segítségével adták hozzá a reflektorhoz Island Fever nemrégiben átállt – a jelenetben egy ügyetlen világosító véletlenül megvakítja az operatõrt. a RAYZ-zel való szerkesztõmunkára. Ilyin szerint a Linux használata kétség- kívül célszerû, de szeretné, ha a rendszer még megbízhatóbb lenne, ugyanis a leképezõtelepét néha lefagyva találja. A hiba okának kutatása általában a Linux NFS-megvalósítását

Bömbölõ egér

A RAYZ hatásaival kapcsolatos beszélgetésünk közben Drew Pert- tulával egy érdekes egérbeállítást fedeztünk fel. „Ablakezelõként az FVWM-et használom, ami támogatja a libstroke-ra épülõ kézmozdulatokat. Egyetlen kézmozdulattal futtathatom a Mozillát, és eljuthatok az Imdb.com vagy Google.com oldalakra, vagy akár egy gépre bejelentkezhetem, amin felhasználói fiókkal rendelke- zem.” A kézmozdulatok nem kézírás-felismerést jelentenek, inkább olyan durvább firkálást, mint a Palm Graffitije. Amikor az asztalra két egymáshoz képest meghatározott hosszúságú és irányú, egymást metszõ vonalat rajzolunk az egérrel, elindul egy program. „A kézmozdulatok mellett Perttula további egérgombokat is használ: az egerem hét gombbal rendelkezik. Viccesen úgy állítottam be õket, hogy segítsenek a Maya egyik gyakran használt mûveletének elvég- zésében. Mivel a kerék nyomva tartása elég fájdalmas, a középsõ gombot átdefiniáltam az egyik távoli jobb oldali gombra. A görgõ megnyomása most a hetedik gombot jelenti és az ablakot a háttérbe küldi. A távoli bal oldali gomb az ablak húzására lett beállítva.” Perttulának egy kicsit át kellett alakítania az FVWM-et, hogy hét A Memories of You címû filmben egy haleledelt tartalmazó boríték gombot támogasson, kettõvel többet, mint az X. Elmondása szerint szétmállik, amikor a hal medencéjébe kerül. A blokkok a Python és Pygame segítségével készültek, majd a RAYZ-ben kerültek beolvasásra. figyelmeztették, hogy ne használjon ötnél több gombot, de jó ta- pasztalatokra tett szert. Egere egy tízdolláros „Fry's special” Dexxa felbontásnál azonban a RAYZ a 35 mm-es normál felbontáshoz Optical, és az X indítóparancsfájlja a következõ sort tartalmazza: xmodmap -e "pointer = 1 7 3 6 2 4 5" képest négyszeres adatmennyiséget kezel. Ezt 3D esetén még libs/defaults.h kettõvel meg is kell szorozni. Gépeinknek sokkal több memó- Perttula hétgombos FVWM-trükkje a állományban riára van szükségük ennek kezeléséhez. A feladatra 2 GB-os rejtõzik: kétprocesszoros munkaállomásokat használunk.” A 65 mm-es #define NUMBER_OF_MOUSE_BUTTONS 7 digitalizálás az IMAGICA segítségével történik, majd a Cineon Egy másik szellemes egérjellemzõ, amit Perttula mutatott nekünk, 4096×1536-os térhatású DLT-formátumában kerül továbbításra. a következõ: a SHIFT gomb nyomva tartása alatt az egér görgõjével A végsõ 70 mm-es 5-perf filmeket két vetítõvel mutatják be, menet közben állíthatjuk a Mozilla ablakában a betûméretet. a nézõk, a háromdimenziós élmény elérése érdekében Polaroid Ez a Mozilla egy nemrégiben megírt fejlesztése. szemüvegeket kapnak.

38 Linuxvilág Vezérfonal

A Python és a RAYZ együttes használata

Drew Perttula sokszögû koordinátaháló programja (a neve create- filebase = "grid%02i-%02i" % (xi,yi) grid) egy boríték képén úgy jelöli ki a tartományokat, mintha az pygame.image.save(surf, filebase+".bmp" vízben mállana szét. Ahogy a boríték darabokra szakad, hajlításokat ) és egyéb torzításokat szenved a RAYZ-ben. A Python-program szö- veges kimenete a RAYZ-be kerül beillesztésre, de nem szöveges print """ dobozba, ahogy azt esetleg várnánk. „Az ügyes RAYZ varázslatos "%s" = imagein( ) tulajdonsága az, hogy szöveges adatokat közvetlenül a grafikus { felületére enged beilleszteni, és hogy a beillesztés eredménye való- full.file_info.file_id: "fish/%s.bmp"; jában egy halom csomópont és kapcsolat” – lelkendezik Perttula. full.flip: 0; #!/usr/bin/python user_size.width ( !user_set ): 600; user_size.height ( !user_set ): 350; import pygame, pygame.image add_alpha: 1; from pygame.locals import * sequence_range: undefined [email protected] linear [email protected] undefined; © Kiskapu Kft. Minden jog fenntartva pygame.init() }""" % ( filebase, filebase )

white = [255]*3 It outputs this, 24 times, with varying names surf = pygame.Surface( (600,350), SWSURFACE ) (instead of grid00-00):

xcells=6 "grid00-00" = imagein( ) ycells=4 { full.file_info.file_id: for xi in range(0,xcells): "/40g/video/fish/grid00-00.bmp"; for yi in range(0,ycells): full.flip: 0; user_size.width ( !user_set ): 600; surf.fill( 0 ) user_size.height ( !user_set ): 350; surf.fill( white, add_alpha: 1; sequence_range: undefined [email protected] linear Rect([[xi*1.0/xcells*600,yi*1.0/ycells*350], [email protected] undefined; [600.0/xcells,350.0/ycells]]) ) }

használó parancsok hibájára enged következtetni. „Reméljük, Egyetemen dolgozó barátaimnak az élek megtalálására vonat- hogy végül minden eszközünket Linux alatt tudjuk majd kozó kutatási eredményeit, majd beolvasztanom a RAYZ-be.” használni, ám a támogatás hiánya gondot jelenthet. A Red A Less Miserables egy vígjáték, mely arról szól, hogy mi min- Hathez nyújtott támogatás kevés.” Az Island Fever Red Hat den mehet tönkre filmkészítés közben. Justin Lomba rendezõt Linux 7.1-es, 7.2-es változatokat, SGI IRIX-et és Windows az HBO Project Greenlight visszautasította, a filmet mindössze 2000-et használ. húszezer dolláros költségvetéssel mégis létrehozta. Az egyik Drew Perttula weboldalt hozott létre a RAYZ-közösség részére jelenet poénja, hogy a világítósegéd közvetlenül a kamera  http://rayz.bigasterisk.com címen, hogy helyet biztosítson lencséje felé irányítja a reflektort és megvakítja az operatõrt. a témával kapcsolatos ötletek, példák, viták és kódok (bõvít- „A reflektor valójában sötét, a fényt utólag kellett hozzáadnunk mények és külsõ eszközök) számára. Szabadúszó hatásszerkesz- a RAYZ segítségével” – magyarázza Perttula. „Egy másik jele- tõként Perttula számos független film létrehozásának munkála- netnél egy a PDI-nél ügyködõ barát segítségében reményked- taiban résztvett. „2001 áprilisában találkoztam elõször a RAYZ- hettünk, akinek egy háromdimenziós kameradaru modellezé- zel, az akkori bétaváltozattal” – emlékszik vissza Perttula. sével kellett azt az érzést keltenie, hogy a nézõ sokkal nagyobb Azóta nagyon tevékeny vagyok, több mint 600 jellemzést és eszközt lát.” hibajelentést küldtem el. A RAYZ korábbi változatainál érzésem A Less Miserables egy másik jeleneténél tömeg alkotására volt szerint túl korán került hangsúly a hatékonyabbá tételre. Az szükség: egy San Franciscó-i szökõkútnál ebédidõben játszódó üzembiztosság csak ezután következett. Néhány héten belül jelenetre volt szükségünk, viszont a felvétel valójában hétvé- megérkezik a 2.2-es változat, amely izgalmas változtatásokat gén készült, amikor a helyszín sokkal elhagyatottabb volt. Ha tartogat a bõvítményírók számára. korábban szóltak volna, barátaimmal egyszerûen statisztaként A független Less Miserables címû film számára Perttula éppen besétálhattunk volna a háttérbe. Így azonban nem kis munká- egy San Franciscóban, a Mission Streeten játszódó jelenet hát- ba fog kerülni a tömeg utólagos képbe szerkesztése. terének helyettesítésén dolgozik. Amikor az utcai háttér kiné- „Egy másik független film, amin a PDI-nél dolgoztam, a zete nem megfelelõ, úgy állítja be, hogy jobban hasonlítson Memories of You” – meséli Perttula. „A PDI-nél az emberek a Mission Streetre. „A dolog meglehetõsen bonyolult, mivel folyton különbözõ független munkákon dolgoznak, engem a színésznõ ruhája a rengeteg toll miatt nagyon sok lágy körvo- egy barátom, Marlon Montgomery hozott be. Shane Pollack nallal bírt. Szerencsére sikerült alkalmaznom a Washingtoni igazgató piros esõt és egyéb természetfeletti hatásokat szeretett

www.linuxvilag.hu 2002. augusztus 39 Vezérfonal

volna, például egy színésznek kék könnyeket kellett ontania. akkor nyilvánvaló volt a számunkra, hogy a Linux az a terület, A feladat meglehetõsen összetett, több száz csomópontos ahol keresnivalónk van.” A RAYZ Windowsra és SGI IRIX-re megoldást igényelt RAYZ-ben, esõt a Mayában, és egy jó adag írt változatai egyetlen, körülbelül egymillió sorból álló Linux filmfelvételt (a  http://www.artbeats.com-ról). alatt fejlesztett kódbázisból kerülnek fordításra. Az alkalmazott Saját projektjébõl, a Golden Memories számára készülõ jelene- eszközök között található a gcc, g++, CVS és a Jam. „Nemré- tekbõl Perttula bemutat egyet, amelyben a szabadságon lévõ giben váltottunk a make-rõl a Jam-re” – meséli Zerouni. hölgy halacskáját borítékban küldött eledellel eteti. A hal kád- „Az újrafordítás ideje órákról percekre esett vissza, mivel a Jam jába esõ boríték szétmállik. A Golden Memories a nemrég a ügyesebb a make-nél.” Az R&D vezetõje, Kimball Thruston Berkeley-ben lezajlott ROBOTMEDIA fesztiválon került bemu- hozzáteszi: „Az autoconf-ot vagy a hozzá hasonló progra- tatásra. „Éppen a RAYZ-t dolgoztatom azzal, hogy a boríték mokat nem használhattuk több felületen, de a Jam minden minden darabjából blokkot képezzen. A blokkok létrehozásához operációs rendszeren hasonlóan mûködik.” A Jam használata a Pythont és a Pygame-et használtam, így nem kellett minden megköveteli, hogy a Makefile-okat jamfile-okká alakítsuk. egyes csomópontot a RAYZ felületén keresztül kézzel megadni.” A FreeType hasonló projekt, szintén a Jamet használja. „A RAYZ a Shake-nél egyszerûbb felületével munkámat a mû- A grafikus felületenkénti 9900 dolláros, valamint a leképezési vészethez közelítette” – véli Perttula. A programozók számára szálanként kifizetett 2900 dolláros árával a RAYZ nem mond- pedig a Shake-énél sokkal jobban leírt API-t biztosít. Szöveg- ható olcsónak, bár a Silicon Grail kész az együttmûködésre alapú fájlformátumai segítségével könnyen készíthetünk apró a bõvítmények fejlesztõivel és az egyetemi felhasználókkal.

© Kiskapu Kft. Minden jog fenntartva RAYZ-kellékeket. A RAYZ-ben nincs megfelelõ eszköz a sta- Szívesen fogadja azokat a fejlesztõket, akik harmadik félként tisztikai adatok gyûjtésére, de tíz perc alatt összehoztam egyet. szállnának be a bõvítményírásba. „Nem kell stúdiónak lenni Perlt és Graphvizt használtam egy faszerkezetû diagram létre- ahhoz, hogy a RAYZ-zel közelebbi kapcsolatba kerüljünk” hozására, amelyen a RAYZ bemenete és kimenete látszik. – mondja Zerouni. Perttula szerint a Perl használatának egyszerûsége, amellyel Az SDK-bõvítmény, a leírások és példák részei a letölthetõ áttekintés készíthetõ arról, ahogyan az egész projekt mûködik, próbaváltozatnak. A RAYZ összes beépített mûveletét (például nagyszerû bizonyíték arra, hogy milyen könnyen olvashatók a képforgatást) saját kódunk beépített részeként használhatjuk. a RAYZ fájljai és milyen érdekes dolgok hozhatók létre Ha a felhasználó csak fejleszteni szeretne, a letöltött változat- segítségükkel. hoz járó egy hónapon kívül további három hónapos próba- Ahhoz, hogy a RAYZ-t birtokba vehessük, elõször a szerzõ- idõre is lehetõséget adunk. Attól függõen, hogy a három hónap déskezelõt kell letöltenünk alatt meddig jut a felhasználó, további kiterjesztés követheti. (license_manager.linux.intel.tar.gz), és külön az A Martin Labshoz hasonló cégek RAYZ-bõvítményeket készí- alkalmazást (rayz-2.0.i386.rpm) a Silicon Grail honlap- tenek csakúgy, mint az angliai The Foundry a Keylighttal és járól. Az alien segítségével az RPM-et átalakítottuk, hogy a Photron a Primatte-tel. Debian rendszerünkre telepíteni tudjuk. Az alien a Red Hat- féle RPM, a Debian deb, a Stampede slp és a Slackware tgz Linux Journal 2002. júnus, 98. szám formátumai közötti átalakításokkal birkózik meg.

alien -k rayz-2.0.i386.rpm Robin Rowe dpkg-deb -c rayz_2.0-20020129_i386.deb a MovieEditor.com internetes és televíziós dpkg -i rayz_2.0-20020129_i386.deb videoalkalmazásokat készítõ cég egyik part- cd /usr nere. Írásai a Dr. Dobb’s Journalban, a C++ tar xvfz /install/compositor/rayz/z/ Reportban, a C/C++ Users Journalban, license_manager.linux.intel.tar.gz a Data Based Advisorban jelentek meg és grail/hostinfo számos tanácskozás anyagában megtalálhatók. grail/Install Elérhetõ a robin.rowe@ movieeditor.com címen. grail/grailadmin -r localhost grail/graild -l /var/log -k /usr/grail rayz Kapcsolódó címek FVWM  http://www.fvwm.org A dpkg-deb -c parancs a fájlok majdani elhelyezkedését Graphviz  http://www.research.att.com/sw/tools/graphviz anélkül tárja fel, hogy ki kellene õket csomagolni. Sok Linux- LightWave  http://www.lightwave6.com program esetén hiányzik a futtatható mód, ez a parancs mind- Maya  http://www.aliaswavefront.com ezt könnyen kitalálhatóvá teszi (a dpkg-deb -Xe parancs Meijer Toy City pingvines reklámok lehetõséget teremt rá, hogy a tar fájlokhoz hasonlóan egy deb  http://www.island-fever.com/meijer.html fájl tartalmát egyszerûen anélkül bontsuk ki, hogy telepítenénk  a programot). Mivel látható, hogy a fõkönyvtár a /usr/grail, a Nothing Real http://www.nothingreal.com Palm Graffiti demó  http://www.palm.com/products/input szerzõdéskezelõt is ebbe a könyvtárba telepítjük. A hostinfo  parancs megjeleníti gépünk azonosítóját, ezt szükséges elkül- PDI DreamWorks http://www.pdi.com denünk, hogy a Silicon Grailtõl megkapjuk a felhasználói Photron Primatte  kulcsot. Ahelyett, hogy a szerzõdéskezelõt démonként futtat- http://www.photron.com/primatte/primatte_main.html  nánk, inkább a kézi indítást választottuk. Pixar RenderMan http://www.pixar.com/renderman  A RAYZ fejlesztõcsapata öt programozóból áll, mindegyikük Pluto Nash http://www.plutonash.com  Linux-munkaállomáson dolgozik. „Három évvel ezelõtt Pygame http://pygame.org stratégiai döntést hoztunk, hogy a Linuxra összpontosítunk” ROBOTMEDIA  http://robotmedia.com – tájékoztat Craig Zerouni, a RAYZ termékmenedzsere. „Már

40 Linuxvilág Dobbantó

Többképernyõs Linux-rendszerek Hogyan alakíthatunk ki többképernyõs rendszert egyébként már használaton kívüli eszközök segítségével?

napjainkban végzett mérnöki munka nagy képernyõ- Ha eddig minden jól ment, a monitorok ebben a pillanatban felületet igényel. Nagy felület szükséges például az elkezdenek halkan kattogni, mert a különbözõ üzemmódo- áramkörtervezéshez, matematikai modellezéshez és kat váltogatják. A képernyõkön ilyenkor a nyers X-alapfelü- szimulációhoz,A a képfeldolgozáshoz és még számos más mér- letnek kell megjelennie. Ha a beállítandó képernyõkön is ezt nöki tevékenységhez. Mostanra eljutottunk odáig, hogy a több- látod, máris üzembe helyezted a monitorokat – gratulálunk! képernyõs rendszer alapkövetelmény a hatékony munkához. Az X Window rendszer a CTRL+ALT+BACKSPACE gombok Az alábbiakban végignézzük, hogyan lehet két vagy több meg- együttes lenyomásával állítható le.

jelenítõt használni egy rendszerben. Amennyiben a képernyõk nem villódznak, és használható © Kiskapu Kft. Minden jog fenntartva Légy mindig óvatos, és ne vegyél mindent készpénznek: az itt adat nem jelenik meg rajtuk, a grafikus kártyák másfajta leírtak nem jelentenek kikövezett utat a biztos sikerhez, hiszen párosítását kell kipróbálni. Nem javasoljuk az olyan gyakran elõfordul, hogy egy-egy grafikus kártya más eszkö- kártyákkal való kísérletezést, amelyek ezt a lépést képte- zökkel egyszerûen nem hajlandó együttmûködni. Mint min- lenek voltak sikeresen megtenni. Ha valaki mégis fel tud dig, a leírt mûveletek elõtt is javasoljuk, hogy a fontosabb éleszteni egy ilyen párosítást, örömmel vesszük hírét! fájlokról készíts mentést. Ezek után futtassuk a XFree86 -scanpci parancsot, és vizsgáljuk meg a kimenetet. Egy Virge és egy Riva A recept együttes használatánál valami ehhez hasonlót láthatunk: Elõször is végy egy olyan számítógépet, amelybe több grafikus (0:8:0) S3 Virge, ez egy PCI-os kártya, (1:0:0 ) megjelenítõ van szerelve – két kártya és a hozzájuk tartozó két NVIDIA Riva Ultra 64, ez pedig egy AGP-csatolós képernyõ. Mi újonnan telepített RedHat 7.2 rendszerrel dolgo- kártya. Más kártyák és bõvítõhelyek adatairól szintén zunk, hogy jobban lehessen látni, amikor a rendszeren az kapunk leírást, de ezek most mellékesek. egyes lépések során mélyreható módosításokat végzünk. A leírt 7. Az X-kiszolgáló beállítása: biztosnak kell lenned afelõl, hogy lépések elméletileg más, 4.x-es XFree86-tal ellátott rendszeren a megfelelõ X-kiszolgálót indítod el, különösen akkor, ha a is megfelelõen mûködnek. hatodik lépésben a kiszolgáló változatszáma 4-nél kisebb Ezúton szeretnénk még egyszer felhívni a figyelmedet arra, volt. Gépeld be az ls -l /etc/X11/X parancsot: ha ez az hogy a munka megkezdése elõtt a beállítófájlokról ne felejts el XFree86-ra mutató közvetett hivatkozás, akkor az XFree86 mentést készíteni! 4-es változatát használod. Amennyiben mégsem ez a helyzet 1. Telepítsd mindkét grafikus kártyát a rendszerbe, majd áll fenn, mentsük az eredeti állományt az mv /etc/X11/X kapcsold be a monitorokat, és végezd el az alaprendszer /etc/X11/X_orig paranccsal, majd adjuk ki az ln -s telepítését. /usr/bin/X11/XFree86 /etc/X11/X parancsot. 2. A telepítés alatt válaszd a KDE felületet és kapcsold be 8. Több képernyõ üzembeállítása a következõképpen zajlik: a grafikus belépést. Ez nem létfontosságú, az alkatrészek egyszerûen másolatot készítesz a X Window beállításállo- kipróbálását azonban megkönnyíti és késõbb nyugodtan mányáról – cp /root/XF86Config.new megváltoztatható. /etc/X11/XF86Config-4 –, ettõl azonban még mindig 3. Fejezd be a telepítést, és bejelentkezéssel ellenõrizd, hogy nem lesz túl jó a képernyõ felbontása. A /etc/X11/XF86Config- alaprendszered az X Window rendszerrel együtt 4 állományt finomhangoláshoz kézzel kell szerkeszteni – erre megfelelõen mûködik-e. rögtön visszatérünk. 4. Rendszergazdaként indíts egy xterm programot, és a cd 9. Végül írd be: telinit 5, jelentkezz be, és élvezd munkád paranccsal lépj a saját könyvtáradba. Itt gépeld be a cp gyümölcsét! Ha minden jól sikerült, a rendszerbetöltés /etc/X11/XF86Config-4. parancsot, amellyel biztos, ami hibátlanul lefut, és megjelenik a bejelentkezõ képernyõ. biztos, az X beállítási állományáról mentést készíthetsz a A jobb oldalon lévõ képernyõ az elsõdleges képernyõ, a bal saját könyvtáradba. oldali csak a bejelentkezés végén fog szóhoz jutni. 5. Most pedig gépeld be a telinit 3 parancsot, amellyel az 5-ös futási szintrõl (grafikus felület) a 3-as futási szintre A rendszer mûködésének háttere (karakteres mód) jutunk. Kiindulásként a Red Hat 7.2-es változatot használtuk, mert 6. Most gyûjtsük össze a munkához szükséges adatokat! Lépj ebbe már az XFree86-4-et építették, amely támogatja több be rendszergazdaként, gépeld be az X -version parancsot, képernyõ és beviteli eszköz egyidejû használatát. Több fizetõs és vizsgáld meg a képernyõn megjelenõ üzenetet. Az üze- X-kiszolgáló már korábban is támogatta ezt a szolgáltatást, az netben valahol fellelhetõ a 4.1.0 vagy a 3.3.6a jelsorozat XFree86-4 viszont a Linux-változatok részét képezi, ráadásul – a rendszeren telepített XFree86 változatától függõen. még ingyenes is. A 4-es változat nagymértékû rugalmasságot A most következõ lépés az igazán nagy haladás: gépeld be tesz lehetõvé, amelyhez új formátumú beállítási állományt az XFree86 -configure parancsot, és várd meg, míg a vezetett be. A kulcsfontosságú rész a ServerLayout szakasz, rendszer megkísérli beállítani magát. Következzen az amely a képernyõk egymáshoz viszonyított helyzetét hatá- XFree86 -xf86config /root/XF86Config.new parancs! rozza meg. A példa kedvéért álljon itt e szakasz rövid kivonata:

www.linuxvilag.hu 2002. augusztus 41 Dobbantó

Section "Server Layout" beállítása egyetlen kártya használata esetén nem szükséges, Identifier " Xfree86 Configured" de kettõ vagy több kártya üzemeltetése esetén kötelezõ. Screen 0 "Screen0" 0 0 Az AGP-kártyák azonosítója nem 0-val, hanem 1-gyel kez- Screen 1 "Screen1" LeftOf "Screen0" dõdik, és valószínûleg 1:0:0 lesz. InputDevice "Mouse0" "CorePointer" Az erõforrások legjobb kihasználása érdekében az alapvetõ InputDevice "Keyboard0" "CoreKeyboard" jellemzõk beállítását követõen most rátérhetünk a EndDection /etc/X11/XFConfig-4 finomhangolására. Szerkesszük ezt az állományt és illesszük be a /root/XFConfig-4.new-ban tárolt Mint a félreérthetetlenül egyszerû formátumból kitûnik, ez a újonnan felismert adatokat. beállítás a Screen0-val jelölt – az elsõdleges grafikus kártyához Minthogy bejelentkezésre a KDE grafikus felületét használjuk, tartozó – képernyõ jellemzõit fogja meghatározni, majd az ettõl igényeinknek megfelelõen módosíthatjuk, majd a kijelentkezés balra levõ(k)ét. Ez más szóval azt jelenti, hogy ha az egeret a és az X-kiszolgáló újraindítását követõen megláthatjuk mun- Screen0 képernyõn mozgatjuk és elérjük a képernyõ bal szélét, kánk gyümölcsét. a kurzor a Screen1 jobb szélén fog felbukkanni – bizony, ez Amennyiben mégsem lennél elégedett az eredménnyel, végezz elég zavaró lehet, különösen akkor, ha egy bemutatón a moni- további finomításokat a fent említett állományon. Az általunk toroknak háttal kell dolgozni. A képernyõhely beállítását végzõ készített XFConfig-4 állomány a 38-as CD Magazin/ program megengedi a közismert beállító szavak használatát: XFree könyvtárában található.

© Kiskapu Kft. Minden jog fenntartva Right (jobbra), Top (fent), Bottom (Lent), valamint a viszony- lagos elhelyezést. Ez utóbbi esetben a képernyõk átlósan helyezkednek el. Amennyiben az XFree86 részleteit szeretnéd megismerni, a man XFree86 parancsot használd. Sem a kép- ernyõk felbontásának, sem a színmélységüknek nem kell azonosnak lennie. Tetszés szerint egyik-másik vagy akár mindkettõ virtuálissá tehetõ, használatukat azonban nem talál- tuk könnyûnek. Minden ServerLayout szakasz képernyõ- leíró (Screen) és grafikuskártya-leíró szakaszra oszlik (Device).

Section "Server Layout" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Depth 8 # Virtual 1024 768 Ha mindeddig sikeresen végigkísérted a beállítás lépéseit, most EndSubSection már a te gépeden is használható a KDE grafikus bejelentkezés- Ensection kezelõje, esetleg a KDE-munkakörnyezet (lásd a képen) is.

Az alábbiakban olvashatjuk a Screen0-t támogató képernyõ- Választási lehetõségek és bevitelikészülék-leíró szakaszokat: A bejelentkezéskezelõt a /etc/sysconfig/desktop nevû állomány- ban beállított érték határozza meg. Maga az állomány mind- Scetion "Monitor" össze egyetlen sort tartalmaz: DESKTOP=GNOME vagy Identifier "Monitor0" DESKTOP=KDE. Szerkeszd ezt az állományt rendszergazdaként VendorName "GWY" az igényeknek megfelelõen. Vizsgáljuk meg sorban a négy ModelName "311" különbözõ lehetõséget: EndSection 1. A KDE bejelentkezéskezelõje, illetve KDE-munkakörnyezet: Section "Device" ha pontosan követted a receptben leírtakat, rendszered ilyen Identifier "Card0" módon lett telepítve. Ez a megoldás két képernyõ használatát Driver "mga" engedi meg, a :0.0-ként azonosított elsõdleges képernyõét VendorName "Matrox" és a :0.1-másodlagos képernyõét. A képernyõk különállóak, BoardName "MGA 2164" emiatt nem lehet ablakokat egyikrõl a másikra mozgatni. BusID "PCI:0:14:0" A KDE-menütálca minden képernyõben elérhetõ, ezért ez EndSection a módszer egy-egy felügyelni kívánt rendszerterületnek egy- egy képernyõhöz rendelésével használható a legjobban A legfontosabb a rendszeren belüli összhang, vagyis az, hogy – úgymint hibanapló-figyelés, hálózati tevékenység figyelése a Screen0-hoz a Monitor0 és a Card0 tartozik. Röviden: itt arra vagy a kiszolgálóhelyiség hõmérsékletének ellenõrzése – bár- kell figyelni, hogy a nevek megegyezzenek. Azt a szokást mi is legyen az, amit szemmel kell tartani, jókora értékes alakítottuk ki, hogy az egyes részrendszereket alkotó egységek képernyõterületet igényel. E mostani munkának ez volt az nullára, 1-re végzõdnek ahelyett, hogy pontosan követnénk alapötlete: régi készülék használata a hálózati munka ellenõr- a monitorok és kártyák típusát, így sokkal egyszerûbb elke- zésére, valamint a további munka elvégzése anélkül, hogy rülni a hibákat. A következõ kulcsfontosságú lépés a készülék- újabb gépet kellett volna üzembe helyezni az asztalon. Mint- meghajtó meghatározása, amely mindkét kártyára nézve hogy Linuxban az X-felületen dolgozunk, könnyedén meg- az XFree86 -configure futtatásával végezhetõ el. Végül szabható, hogy az X-alkalmazások hol jelenjenek meg. Ha gra- fontos a BusID (buszazonosítók) helyes beállítása. Ennek fikus programokat elindító héjprogramban beállítod például

42 Linuxvilág Dobbantó

a DISPLAY=:0.1 környezeti változót, az ott elindított prog- kártya. Némely számítógép BIOS-a felajánlja, hogy elsõként az ramok a 0.1-es megjelenítõn tûnnek fel. Ha ezúttal a másik AGP-kártyát készíti elõ használatra. Nekünk ez nem mûködött, képernyõn egy másik jól nevelt programot szeretnél látni, csak mivel továbbra is a PCI-kártya jelenítette meg a BIOS tartalmát, gépeld be mondjuk az xclock -display :0.0 parancsot. ami most elõnytelen volt a számunkra, mivel az ilyen szintû 2. A KDE bejelentkezéskezelõ, illetve Gnome-munkakörnyezet: rendszer feletti szabályozás igencsak hasznos lenne. add ki a switchdesk parancsot a parancssorban, majd az Minthogy a KDE bejelentkezéskezelõ választása esetén több eredeti telepítés megváltoztatásához jelöld ki a Gnome-kör- képernyõt használhatsz, érdekes, hogy a KDE képernyõvédõ nyezetet. Ekkor az egyik képernyõn feltûnik egy bejelent- csak az elsõdleges képernyõn lép mûködésbe. Telepítsd az kezéskezelõ, miközben a másikon még csak egy beállítatlan xscreensaver programot, és jelöld ki betöltésre a héjprog- X-felület látszik. Ezt követõen egy Xterm ablakban gépelhe- ramok indító-állományaiban, például a .bashrc-ben. ted be a /usr/X11R6/bin/mwm -display :0.1 & paran- A :0.0 és :0.1 megjelöléssel a beállítóállományban könnyen csot. A felbukkanó hibaüzenetet nyugodtan figyelmen kívül megadhatjuk, hogy melyik képernyõn milyen képernyõvédõ hagyhatod, és a másik ablakban máris egy másik mûködõ programot szeretnénk használni. ablakkezelõvel rendelkezel. Ezenkívül a twm és az fvwm2 Az említett bash héjprogram indítóállományában változókat parancsok ugyancsak használhatók. Ez a módszer próbacé- is megadhatunk, például balkep=’-display :0.1’ és lokra kifejezetten alkalmas, hiszen gyorsan kideríthetõ, vajon 'jobbkep=’-display :0.0’, majd meghatározhatjuk, hogy az adott munkakörnyezetben felmerülnek-e gondok a prog- melyik képernyõn milyen program fusson: xeyes $balkep,

ram(ok) futása során. Ahogyan már az elsõ megoldásnál vagy például xclock $jobbkep. A változónevek – amelyek © Kiskapu Kft. Minden jog fenntartva láttuk, a képernyõk itt is függetlenek egymástól. akár magyar nyelvûek is lehetnek – alkalmazása leegyszerûsíti A harmadik és negyedik megoldás másfajta megközelítést a szolgáltatás használatát. használ: az XFree86-4-ben mindkettõ a Xinerama-bõvít- ményt is használja. (A cikk szerzõi köszönettel tartoznak Összefoglalás Dennis Baker-nek ragyogóan megírt HOGYAN-állományáért.) Kedvenc munkamódszerünkké vált a KDE-bejelentkezéskezelõ A Xinerama egyetlen nagy képernyõt alkot, amelyen köny- a KDE-munkakörnyezettel együtt. A KDE munkakörnyezete nyedebben és egyszerûbben lehet dolgozni. Itt aztán nevet- kissé áttekinthetõbbnek tûnt és szükség szerint több képer- ve lehet ablakot áthelyezni egyik képernyõrõl a másikra. nyõre is kiterjeszthetõ, emlékezzünk csak vissza a 2. beállításra, Ehhez a megoldáshoz két fontos lépésen keresztül jutunk el: amikor is egy újabb ablakkezelõt kellett indítanunk. De ami elõször is módosítsuk a fent leírt módon a talán még ennél is fontosabb, az, hogy a felhasználók számára /etc/sysconfig/desktop állományt; másodszor a önálló képernyõket tudsz indítani: az xhost-tal a hozzáférési /etc/X11/gdm/gdm.conf állományban az állomány végefelé jog kikapcsolása mellett, és tovább dolgozhatsz az eredeti található sort (0=/usr/bin/X11/X) változtassuk meg read képernyõn, mégpedig mindenféle biztonsági kockázat nélkül. 0=/usr/bin/X11/X +xinerama sorra. Az itt közreadott receptet egyszerû követni, és egy mûködõ 3. A Gnome-bejelentkezéskezelõ, illetve Gnome-munkakör- rendszert tíz percen belül többképernyõs rendszerré alakítha- nyezet egyetlen nagy képernyõvel. tunk abban az esetben, ha grafikus kártyánk is úgy akarja. Amikor egy ablak méretét a lehetõ legnagyobbra állítod, Ez a módszer lehetõvé tette számunkra, hogy az egyébiránt az a teljes rendelkezésre álló képernyõfelületet kitölti. már korszerûtlenné vált grafikus kártyánkat a tervezési munka 4. A Gnome-bejelentkezéskezelõ, illetve KDE-munkakörnyezet: során újrahasznosítsuk. ha még sosem próbáltad ki, a bejelentkezéskezelõ ablakban most a KDE-t válaszd ki. A rendszer ezúttal a teljes képer- Köszönetnyilvánítások nyõfelületet egybefüggõen kezeli, s ebben az alkalmazás A cikk szerzõi ezúton is szeretnének köszönetet mondani Gary méretének teljes képernyõsre állítása az összes képernyõn Normandin-nek meglátásaiért és a kipróbálás során végzett rendelkezésre álló terület legnagyobb kitöltését fogja állhatatos munkájáért; Dennis Baker-nek az útmutató HOGYAN- eredményezni. állomány megírásáért ( http://www.linuxdoc.org), és a Learning Tree International cégnek több rendelkezésünkre Tanulságok bocsátott gépükért. A Red Hat Linux-változat beépített készülékböngészõ prog- rammal rendelkezik: a /usr/bin/hwbrowser-rel, amely Linux Journal 2002. július, 99. szám hasznos adatokkal képes szolgálni. Az X-rendszerben akkor bizonyulhat elõnyösnek, ha azt kívánjuk ellenõrizni rend- szerünk vajon mindkét beépített grafikus kártyát felismerte-e. Sajnos léteznek olyan grafikus kártyák, amelyek nem férnek Brian Gollsneider meg egymás mellett. Számos párosítást sikerrel próbáltunk ki: PhD-fokozatán dolgozik a University of egy pár ATI Mach64 3D RAGE II PCI-kártyát, egy ATI Mach64 Maryland egyetemen, az elektronikai terve- AGP egy MATROX II PCI-kártyával együtt, és egy S3 Virge PCI zés szakterületén. Amikor éppen nem a tisz- és egy nVidia Riva TNT2 AGP-kártyát. A fent ismertetett taszobába zárkózik, Unix-oktatóként tevé- eljárást követve perceken belül mûködésre bírtuk ezeket az kenykedik a Learning Tree Internationalnél. összeállításokat. Sikertelenül végzõdött egy Diamond Stealth II S220-as kártya próbája, amely képtelen más kártyákkal jól Arthur M. Messenger együttmûködni, sõt még azt sem tudtuk elérni, hogy egy másik nyugdíjas Unix-rendszergazda, aki ugyanilyen kártyával együttmûködjön. részmunkaidõsként ugyancsak a Learning Az elsõdleges grafikus kártya az, ahol a BIOS beállítóképernyõ Tree Internationalnél dolgozik. Ha nem a megjelenik, és ez kapja a Screen0 azonosítót. Rendszerint a tanítással van elfoglalva, a Virginia állambeli legelsõ PCI-aljazatba helyezett grafikus kártya az elsõdleges Haymarketben feleségével tölti az idejét.

www.linuxvilag.hu 2002. augusztus 43 Dobbantó

Csomagkezelés GNU/Debian alatt (2. rész) Az aptitude további lehetõségei.

éhány hónappal ezelõtt, a 14. szereden. Ez a gnuchesshez javasolt Keresés eggyel bonyolultabban számban jelent meg egy rövid csomag (a Suggests alatt az xboard sor Na jó, eddig egyszerû. Most nézzünk bevezetõ írásom a GNU/Debian piros háttérrel látható) szerencsére csak bonyolultabb feladatokat! Például ho- Nrendszerek alatti csomagkezelésrõl. javasolt és nem kötelezõ csomag, ugyan- gyan tudunk keresni a csomagok között? Cikkemet olyan felhasználóknak szán- is jelenlegi forrásaid között a rendszer Elõször is nyiss egy új csomaglistaabla- tam, akik meg kívánják tanulni saját nem lát megfelelõ csomagot – az xboard kot! Ezekbõl kétféle létezik: a már jól rendszerük telepítésének, karbantartá- mellett az UNSATISFIED felirat olvas- ismert csomagnézet, illetve a kategória sának mikéntjét. Habár több eszközt és ható. Ez a gonosz UNSATISFIED szó szerinti böngészõablak. A második nézet

© Kiskapu Kft. Minden jog fenntartva lehetõséget is bemutattam, a kapott kér- csendesen jelzi nekünk, hogy a rendszer egy újabb típus, lényege, hogy a csoma- dések alapján egyértelmûvé vált, hogy saját magától nem tudja telepíteni a gokat nem a teljes fát megjelenítve néz- az emberek nem szeretnek egy feladatra csomagot, ilyenkor általában egyetlen hetjük, hanem mindig egy adott kategó- egyszerre több programot használni. megoldás jöhet számításba: a kérdéses riában vagyunk (ahogy például a Mid- Ez természetes. A legjobb megoldás az csomag letöltése (például a night Commander-ben egy adott könyv- volna, ha egy rendszert használhatnánk  http://packages.debian.org weboldal tárban), és a nyílbillentyûk segítségével az összes telepítéssel kapcsolatos feladat segítségével), majd kézi telepítése. léphetünk be egy kategóriába, illetve megoldására. Bár mindenre alkalmas Most jelöljük ki telepítésre a gnuchesst. eggyel vissza (lásd a 3. képen). Ilyenkor eszköz nincs, mégis több olyan program is könnyen elérhetõ, mely igen hatéko- 1. 3. nyan segíthet nekünk. Mostani cikkem- ben részletesebben szeretném ismertetni az egyik kedvencemet, az elõzõ részben már említett aptitiude-ot. Emlékeztetõül: többféle csomagtípus létezik – a GNU/Debian rendszerek .deb csomagokat használnak. Ezek a csoma- gok nemcsak a telepíteni kívánt progra- mot tartalmazzák, de különbözõ adato- 4. kat is a rendszer számára, melyek segít- ségével a program részeit a megfelelõ 2. helyre tudja rakni, ellenõrizni tudja, hogy a program futásához szükséges elemek megtalálhatók-e a rendszeren, felleli a programmal egyszerre nem használható egyéb termékeket és így tovább. Az elsõ pár szárnycsapás után az ember bármit könnyedén telepít (például az aptitude telepítéséhez annyi kell, 5. hogy a /etc/apt/sources.list fájlban szerepeljen egy csomagforrás, majd kiadjuk az apt-get install Ehhez álljunk a program sorára, és aptitude parancsot), de könnyen el- üssünk egy „+”-t. Ekkor a sor zöldre jutunk addig a pontig, amikor nagyobb vált, jelezve, hogy a programot telepí- felügyeletet szeretnénk gyakorolni. tésre jelölte ki (lásd a 2. képet!). Nézzük, mire is használhatjuk az Kíváncsiságunk kielégítésére nézzük aptitude-ot! meg, milyen csomagok használják ezt a programot! Ha a „Packages which A felület depend on…” soron ENTER-t ütünk, le- a felsõ kék területen a jelenlegi „elérési A legfontosabb fogalom, amit ismerned nyílik a lista, és láthatjuk azokat a prog- út” is látható. Új csomaglistaablakot a kell, a nézet. Hogy egyszerre több cso- ramokat, amelyekhez az adott csomag menü (F10) View pontja alól kérhetsz. mag adatait is könnyen meg tudjad szükséges, illetve javasolt. Az itteni Nézzünk egy életszagú példát! Keresek nézni, több „ablakod” lehet. Például az csomagokon „állva” is használhatjuk az valami mp3-at lejátszani képes prog- elsõ nézetben rákeresel a gnuchess-re, „i” gombot új nézetablak nyitására. Ha ramot. Elsõ körben kutathatok olyan majd megnézed a leírását („i”). Látod, egy ablakban végeztünk a munkával, a csomagok után, amelyek nevében sze- hogy az xboard nincs telepítve a rend- „q” billentyûvel egyszerûen bezárhatjuk. repel az „mp3”. A / után a less-bõl

44 Linuxvilág Dobbantó

Azért ez már elég zavaros… Ugyan a 1. lista leírást megjelenítõ részt a „D” billentyû segítségével könnyen elrejthetjük, talán ~dsolitaire~i Azok a telepített csomagok, melyek leírásában szerepel a egyszerûbb, ha eleve a megjelenített solitaire szó. csomagokat szûkítjük le. Ezt is megte- ~D(~dkde)~seditors A KDE-t igénylõ szövegszerkesztõk. hetjük, az „l” lenyomása után a már ~snet|~smail A net és a mail csoportokba tartozó csomagok. ismert módon megadhatjuk a szûrõfel- ~U!~dBIND Frissíthetõ csomagok, melyek leírásában nem szerepel a BIND szó. tételt; például a ~dmp3!~nlib!~ndev ~e~nxmms Az xmms nevû csomag (nem jelenik meg az összes xmms-bõvítmény). szûrõfeltétel után szinte csak a nekünk érdekes csomagok jelennek meg (lásd a 4. képet). Ez a fajta szûrés a függõsé- gek vizsgálata során is nagyon hasznos 2. lista A fontosabb csoportosítási lehetõségek tud lenni.

section A szakaszbesorolások alapján csoportosít (például „contrib/games”). Utána Csoportosítás, rendezés zárójelben megadhatjuk, hogy csak a besorolás elsõ felét (topdir) vagy második A faelrendezésnél a szokásos csoportosí- felét (subdir) vegye figyelembe. tást kapjuk, ezt a „G” megnyomására

status Állapot (telepített, új, virtuális csomag stb.). megjelenõ párbeszédablakban felülbírál- © Kiskapu Kft. Minden jog fenntartva action Ez a „g”-re megjelenõ tevékenységlista-típus: a csomagokon elvégzendõ feladatok hatjuk. A csoportosítási szabály egy- szerint csoportosít. Vigyázz vele, mert azokat a csomagokat, amelyekre nincs szerû, a szinteket egymás után, vesszõ- tevékenység kijelölve, elrejti! (Lásd az 5. képet!) vel elválasztva adjuk meg. A 2. listában versions Csak akkor érdekes, ha látni szeretnénk, hogy egy adott csomagból milyen felsoroltam az izgalmasabb csoporto- változatok érhetõk el. sításokat. deps A csomaghoz tartozó függõségeket jeleníti meg a részletes leírásokhoz hasonlóan. A sorba rendezés igazából magáért beszél, az „S” billentyûre megjelenõ ablak segítségével rendezhetünk név, 6. telepített méret és fontosság szerint (name, installsize, priority), a fordított rendezéshez a kulcsszó elé egy ~ karak- tert kell tenni.

Beállítások, témák A program egyéb lehetõségeket is biz- tosít, például témákat állíthatunk össze. Egy-egy téma igazából egy mentett beállítás, segítségével több beállítás között lépkedhetünk. Érdekes például a függõlegesen elválasztott elrendezés, így a leírás grafikus felületen nem fog- ismert módon megadhatom a keresendõ karaktert szúrva VAGY kifejezést ka- lalja el az ablak alsó felét (lásd 6. kép). szöveget. Nos, ez jelenleg nem túl hatá- punk, valamint zárójeleket is használ- Ennek használatához csupán a saját sos, hiába lépkedünk a feltételnek meg- hatunk. Az 1. lista néhány példát tar- könyvtárunkban lévõ ~/.aptitude/config felelõ csomagok között (\), nem akad a talmaz ezek használatára. fájlba kell az alábbi sort beírni: horgunkra, például az xmms sem. Ekkor Példánkra visszatérve tehát keresünk nyújtanak nagy segítséget a keresõrend- egy mp3-at lejátszani tudó grafikus Aptitude::Theme "Vertical- szerben használható kifejezések. Egy programot. Erre több lehetõségünk is Split"; kifejezés a ~ karakterrel kezdõdik, egy van. Remélhetjük például, hogy a ke- karakter határozza meg a típust, majd resett csomag a sound szakaszban he- Mindenképpen ajánlom a programhoz a keresett szövegrész következik. A fon- lyezkedik el (ez sajnos nem biztos, meg- tartozó README fájl elolvasását tosabb keresési típusok: eshet, hogy a nekünk legjobban meg- (less /usr/share/doc/aptitude/ ~b – sérült (broken) csomag; felelõ csomag éppen a contrib szakasz- README), illetve ha részletesebben ~d – a szöveg szerepel a leírásban; ban található), a leírásában viszont biz- érdekel az aptitude viselkedésének ~D – a -nek megfelelõ tos elõkerül az „mp3” kifejezés. Ez még beállítása, az apt.conf fájlhoz tartozó csomagokon függõ csomagok; nem elég, ugyanis bosszantóan sok leírást (man apt.conf). ~e – keresésmódosító: pontos kifejezést programkönyvtárat kaphatunk, ezért keres; az összes ilyet kizárni szeretnénk. Ha Szy György ~i – telepített csomag; grafikus felületen futó programot aka- a Linuxvilág fõszerkesz- ~n – a szöveg szerepel a névben; runk, az valószínûleg az xlibs csomagra tõje, a Kiskapu Kiadó ~s – a szöveg szerepel a csomag is támaszkodik. Tehát valami ehhez vezetõje. Mindenki Section: mezõjében; hasonló kifejezést állíthatunk össze: véleményét és levelét ~U – frissíthetõ csomagok. örömmel várja az alábbi A kifejezéseket egymás után írva logikai ~dmp3!(~nlib)~D(~nxlibs)(~sso levélcímen: [email protected] ÉS kapcsolatot hozunk létre, közéjük | und|~scontrib)

www.linuxvilag.hu 2002. augusztus 45 Dobbantó

Indíts!

Sorozatunk e részében belevetjük magunkat a Linux indításának folyamatába, illetve bemutatjuk, miképp állíthatjuk be a Linux indításkezelõjét, a LILO-t.

indenekelõtt tekintsük át, mi is történik a gép be- kívánjuk indítani. Amennyiben például a Windowsunkat sze- M kapcsolásának pillanatában! Elõször a BIOS kezd retnénk használni, a LILO beolvassa a Windowst tartalmazó futni, amely nem más, mint az alaplapon lévõ, csak lemezterület indítószektorát, majd átadja neki a vezérlést. olvasható memóriában található program. A BIOS beolvassa Ha pedig a Linuxunkat szeretnénk betölteni, linuxos lemez- a merevlemez elsõ szektorát, melyet a rendszer elsõdleges területünkön elõször megkeresi a megfelelõ rendszermagot, indítóterületének (Master Boot Record – MBR) nevezünk, majd betölti a memóriába, és elkezdõdik a rendszer felállítása. végrehajtja az ott található programot. Ekkor kezdõdik az A rendszermag ezt követõen feltérképezi, hogy milyen esz-

© Kiskapu Kft. Minden jog fenntartva operációs rendszer tényleges betöltése. közök találhatók a gépünkben. Amint talál egyet, rögvest kiírja Minden operációs rendszerhez tartozik egy úgynevezett indí- a képernyõre. Ha ez megtörtént, a fõ lemezrészt befûzi, majd tóprogram, amely az operációs rendszer betöltéséért és elindí- elindítja az init nevû programot, amely létrehozza a terminá- tásáért felelõs (ennek ellenére az indítók sem tekinthetõk lokat (ahol a felhasználók bejelentkezhetnek és dolgozhatnak), közvetlenül az operációs rendszer részének). illetve lefuttatja a rendszerindító parancsfájlokat. Mi a helyzet viszont akkor, ha a felhasználó egynél több operá- Ha Linuxunkat valamely más indításkezelõvel kívánjuk ciós rendszert tart a számítógépén, és azt szeretné, hogy a indítani, a LILO-t linuxos lemezterületre telepítsük. Ameny- gép bekapcsolásakor eldönthesse, melyik rendszer töltõdjön nyiben gépünkön a Linux az egyetlen operációs rendszer, be? Ebben az esetben egy úgynevezett indításkezelõre (boot ebben az esetben a LILO-nak is a rendszer elsõdleges manager) is szükség van, amely több operációs rendszer esetén indítóterületén a helye. felkínálja a választási lehetõséget. A LILO beüzemeltetésére már a rendszer telepítésekor is A Linux egyik indítóprogramja a LILO (LInux LOader) névre sor kerül. Általában azok a terjesztések is választhatóvá teszik hallgat, amely nemcsak a rendszer betöltésére, hanem indítás- a LILO telepítését, amelyekhez egyébként saját fejlesztésû kezelõ feladatok ellátására is képes. Ha tehát egyszerre haszná- indításkezelõ is tartozik. lunk Windows és Linux operációs rendszert, a LILO-t úgy is A továbbiakban a LILO „kézi” beállításáról és telepítésérõl lesz beállíthatjuk, hogy a gép elindulásakor választhassunk a betöl- szó, amely a következõképpen zajlik: elõször a beállításokat tendõ rendszerek közül. beírjuk a /etc/lilo.conf állományba, majd a lilo parancs kia- Meg kell említenünk, hogy nem a LILO az egyetlen program, dásával telepítjük az indításkezelõt. Fontos megjegyezni, ami a Linux indítására szolgálhat. Az elsõsorban kezdõ felhasz- hogyha a LILO beállításait késõbb megváltoztatjuk, akkor is nálókat megcélzó változatok például a GRUB nevû indítás- végre kell hajtanunk a lilo utasítást, mert az általunk meg- kezelõt részesítik elõnyben, de még mindig a LILO a legnép- adott beállításoknak is az indítószektorban kell lenniük. szerûbb: szinte az összes változatban megtalálható, ezért most Az 1. listán láthatunk példát egy jellemzõ /etc/lilo.conf állo- csak a LILO beállításával foglalkozunk. mányra. Nézzük meg, melyik sor mit is jelent! Az indítóprogramok elsõdleges feladata az operációs rendszer Az elsõ sorban – a boot kapcsoló megadásával – mondjuk magjának (kernel) betöltése. A Linux-rendszermag túl nagy meg, hova szeretnénk a LILO-t telepíteni. Jelen esetben ez a ahhoz, hogy a LILO mellett elférjen az indítószektorban, ezért /dev/hda, azaz elsõ merevlemezünk elsõdleges rendszerindító általában valamelyik linuxos lemezrészünkön tároljuk. A LILO területe. Ha a LILO-n kívül más indításkezelõt is használunk, elég okos ahhoz, hogy olvasni tudja a Linux fájlrendszerét, így a LILO-t a fõ lemezrész indítószektorába célszerû telepítenünk megtalálása nem jelenthet gondot a számára. (jelen esetben /dev/hda8-at kellene írnunk). A LILO (és a többi linuxos indításkezelõ) megengedi a felhasz- Az image= soroknál adhatunk hozzá rendszermagokat, ame- nálónak, hogy több rendszermag közül választhassa ki a rend- lyek közül majd választhatunk, hogy melyikkel induljon a szerindításhoz használni kívántat. Ez nagyon hasznos szolgál- rendszer. A Linux rendszermagja egy úgynevezett maglenyo- tatás lehet például azért akkor, amikor új rendszermagot telepí- mat (kernel image) állományban található, amelyet az tettünk vagy fordítottunk. Elõfordulhat, hogy rendszerünk az image= után adhatunk meg. A maglenyomat a rendszermag új rendszermaggal valamilyen oknál fogva nem indul el (pél- fordításakor jön létre. Ez nemcsak a rendszermagot, hanem dául mert elfelejtettük belefordítani a linuxos fájlrendszerek egy indítóprogramot is tartalmaz, amely a lenyomat memó- támogatását), vagy nem úgy mûködik, ahogy illene. Ezért az riába való betöltése után azonnal futni kezd. Ez az indítóprog- a szokás, hogy a régi rendszermag mellé felvesszük az újat, ram hozza létre a rendszer által használt megszakításokat, és a rendszer indulásakor azt választjuk ki. Ha bármi gond helyezi el a rendszermag különbözõ részeit a memóriában adódna, Linuxunkat egyszerûen csak a régi maggal kell indí- kijelölt helyekre, továbbá betölti és elindítja az init prog- tanunk, és minden úgy megy, mint azelõtt. ramot (amely szintén a lenyomatfájlban található). Ha gépünkön több operációs rendszer található, és a LILO-val Ha maglenyomat helyett egy másik operációs rendszert sze- szeretnénk kiválasztani a betöltendõt, akkor a LILO-t minden- retnénk felvenni a LILO-ba, az image= kapcsoló helyett képp a rendszer elsõdleges indítóterületébe kell telepítenünk. other=-t kell használnunk. Itt értéknek az operációs rendszer Ebben az esetben a gép elindulásakor egybõl a LILO köszönt indítószektorát tartalmazó lemezterület eszköznevét szük- minket, és megkérdezi, hogy melyik operációs rendszert séges megadnunk.

46 Linuxvilág Dobbantó

Régebben a LILO csak az 1024 cilinder alatt elhelyezkedõ 1. lista Példa a /etc/lilo.conf állományra – a LILO az MBR-be lemezrészeket tudta elérni, így abban az esetben, ha a magot települ, a Linux fõ lemezrésze pedig a /dev/hda8 tartalmazó lemezrész efelett volt, e tartományon belül néhány megás (általában a /boot alá befûzött) indítórész létrehozása #AhovÆ a LILO telep ti magÆt vált szükségessé, amely magát a rendszermagot is tartalmazta. boot=/dev/hda Ma már nem kell ilyesmire ügyelnünk, feltéve, hogy a beállító- prompt fájlban szerepel az lba32 sor. Ha a LILO beállításával végeztünk, ne felejtsük el kiadni a #Nagy meghajt k hasznÆlatÆnak engedØlyezØse lilo parancsot! lba32 Fel kell hívnunk a figyelmet arra, hogy bizonyos operációs timeout =200 rendszerek (mint például a Windows) a telepítésnél minden- default=linux féle lelkiismeret-furdalás nélkül átírja a merevlemez rendszer- image =/vmlinuz indító területét. Ez roppant kellemetlen lehet, ha Linux-rend- label = linux szerünket éppen az MBR-ben tanyázó LILO-val indítottuk. root=/dev/hda8 Ezért, ha már meglévõ Linux-rendszerünk mellé Windowst read-only telepítünk, az a legegyszerûbb, ha elõtte indítólemezt készí- image=/vmlinuz2 tünk (a telepítõben általában van ilyen szolgáltatás). A Win-

label=linux2 dows telepítése után ezzel elindíthatjuk Linuxunkat, majd a © Kiskapu Kft. Minden jog fenntartva root=/dev/hda8 lilo parancs kiadásával ismét üzembe helyezhetjük a LILO-t read-only (elõtte azonban ne felejtsük el hozzáadni frissen telepített Windowsunkat!). #MÆs operÆci s rendszer ind tÆsa Bizonyos esetekben szükség lehet a LILO-nak a merevlemez other=/dev/hda1 rendszerindító részébõl való kipucolására. Ha DOS-t vagy label=vindoz Windowst használunk, egyszerûen az fdisk /mbr parancsot adjuk ki. Ennek hatására a gép indulásakor a DOS, illetve a Windows fog jelentkezni. Egy további módszer a merevlemez rendszerindító területének 2. lista Példa a /etc/lilo.conf-ra, „eredeti” állapotba történõ visszaállítására: mielõtt telepítenénk ha más rendszerindítót használunk a LILO-t, az MBR tartalmát egy állományba mentjük. A LILO törléséhez elegendõ e fájl tartalmának visszaírása. boot = /dev/hda8 A merevlemez rendszerindító területének mentésére több mód image = /boot/vmlinuz is kínálkozik. Az egyik, ha a lilo.conf-ba beírjuk a root = /dev/hda8 backup=/boot/mbr-01-10-01 sort. Ezután kiadjuk a lilo parancsot, és a LILO telepítését megelõzõen az MBR tartalma a /boot/mbr-01-10-01 nevû állományba mentõdik. A label azt a nevet jelenti, amellyel a LILO használatakor A másik módszer egy vérbeli unixos megoldás: a dd program az adott lenyomatra hivatkozhatunk. A LILO újabb változatai használata. Mûködési elve rendkívül egyszerû: amit beolvas már menüs felülettel gazdagodtak, ahol egyszerûen a nyilak az egyik helyrõl, azt kiírja a másik helyre. Ezt kihasználva segítségével választhatunk a betöltendõ lenyomatok és ope- tökéletesen az MBR tartalmának mentésére is alkalmas: rációs rendszerek közül. Régebben nekünk kellett begépelnünk a label-nél megadott nevet. A választási lehetõségekrõl listát dd if=/dev/hda of=/boot/mbr-01-10-01 a TAB billentyû lenyomásával kaphatunk. bs=512 count=1 A lilo.conf állomány elején láthatunk még néhány kapcsolót: prompt, timeout, default. Az elsõ lehetõséget nyújt a fel- A dd-t az MBR visszaírására is használhatjuk, csak ebben az használónak, hogy választhasson a betöltendõ rendszermagok, esetben fordítva kell eljárnunk: illetve operációs rendszerek közül. Ha több választási lehetõség létezik, a prompt sort mindenképpen bent kell hagynunk a dd of=/dev/hda if=/boot/mbr-01-10-01 beállítóállományban. A timeout révén tizedmásodpercekben bs=512 count=1 megadhatjuk, hogy a felhasználónak mennyi idõ álljon rendel- kezésére a választáshoz – jelen esetben ez 20 másodperc. A dd paranccsal való kísérletezgetésekbe csak akkor fogjunk Az utolsó kapcsoló, a default pedig azt mondja meg, hogy bele, ha a használatát már tökéletesen elsajátítottuk! Az indí- a válaszhatók közül melyik legyen az alapértelmezett. Ha a táskezelõkkel való bûvészkedés egyébként is nagy körültekin- felhasználó csak az ENTER billentyût nyomja le vagy kifut az tést igényel, ezért azt javasoljuk, hogy minden általunk hasz- idõbõl, akkor az itt megadott címkéjû lenyomat, illetve operá- nált operációs rendszerhez készítsünk indítólemezt, még ciós rendszer fog betöltõdni. mielõtt az itt leírtakba belefognánk. Az image kapcsolónál két további érték található, amelyekrõl eddig még nem esett szó. Az elsõ a root=, amely megmondja Garzó András a Linux-rendszermagnak, hogy melyik lemezterületet kell fájlrendszerünk gyökereként befûzni. A read-only pedig azt ([email protected]) Körülbelül három éve foglalkozik jelenti, hogy a fõ lemezrész elõször csak olvashatóként kerül Linux- és más Unix-rendszerekkel. Legjobban az operációs befûzésre, majd miután a rendszer az fsck programmal ellen- rendszerek lelkivilága érdekli, de nyitott egyéniség. Kedvenc õrizte az épségét, újra befûzésre kerül, ezúttal már írható- étele a palacsinta, és van egy Richard nevû macskája. Min- olvasható formában. den észrevételt, megjegyzést, levelet szívesen fogad.

www.linuxvilag.hu 2002. augusztus 47 Dobbantó

Operációs rendszerek (2. rész) Folytatjuk az operációs rendszerek belsõ „titkait” feltáró sorozatunkat. Az elsõ részt néhány elengedhetetlen alapfogalom tisztázására szántuk. A dolog most kezd igazán érdekessé – és talán kissé meredekké – válni. A továbbiakban részletesebben sorra vesszük az operációs rendszer részeit és a közérthetõségre törekszünk.

lõször arra keressük a választ, A folyamat A folyamatfa miként válik lehetségessé, Még mielõtt bármibe belekezdenénk, Az operációs rendszerek életében kulcs- hogy több alkalmazást egyszer- nagyon fontos, hogy tisztázzuk a folya- fontosságú kérdés, hogy folyamatainak Ere futtassunk. A mai világban az ope- matok fogalmát. Az elõzõ részben ugyan nyilvántartásáról miként gondoskodik.

© Kiskapu Kft. Minden jog fenntartva rációs rendszerekkel szemben alapkö- már meghatároztuk, de mivel ez az A Unix-rendszerek a folyamatok logikai vetelmény több program egy idõben operációs rendszerek világának talán tárolására a könyvtárszerkezethez történõ futtatása. Manapság már egyál- legfontosabb kulcsfogalma, nem árt, ha hasonló úgynevezett hiearchikus (fa) talán „nem nagy szám”, hogy a gépen egy kicsit visszatérünk rá, illetve ponto- szerkezetet használják. végzett lázas munka közben vadul sítjuk az ott leírtakat. A Unix világában a folyamatokat a már bömböltethetjük MP3-lejátszónkat, Minden általunk elindított alkalmazást, meglévõ folyamatok a FORK rendszer- hogy féltucatnyi letöltést indíthatunk amely a többi már futó programmal hívás segítségével hozhatják létre. el a háttérben, vagy a fõnök mihama- párhuzamosan dolgozik, folyamatnak A folyamat által létrehozott gyermek- rabbi távozásáig kedvenc játékunkat nevezünk. Nem ártana azonban, ha folyamat szülõfolyamatának pontos a háttérbe bújtathatjuk. A mai operá- egy kicsit másmilyen megvilágításból másolata lesz. Fontos megjegyeznünk, ciós rendszereknek azonban komoly is szemügyre vennénk a dolgot. hogy a hiearchikus szerkezet következ- kihívásokkal kell szembenézniük, hogy A folyamat valójában csak egy tevé- tében minden folyamatnak csak egyet- mindez valósággá váljon. A továbbiak- kenységet jelöl, amelynek vannak len szülõje lehet, de elméletileg korlát- ban megkíséreljük bemutatni azt az be- és kimenõ adatai, programja (algo- lan számban „gyárthat” gyermekfo- alapelvet, amely mindezt lehetõvé ritmusa, amely az adott feladat megol- lyamatokat. teszi, és a gyakorlati megvalósításról dásának menetét írja le), továbbá A Unix-típusú rendszereknél a fa gyö- is ejtünk pár szót. állapota. A processzor idejét több kerét például az init nevû folyamat Természetesen ez az „egyszerre való folyamat között megoszthatjuk. Ennek képezi. Ez az egyetlen olyan folyamat, futás” csak látszat, ugyanis a pro- a megosztásnak a vezérlésérõl az úgy- amelynek nincs szülõfolyamata, lét- cesszor egy idõben csak egy utasítást nevezett ütemezõ gondoskodik (lásd rehozásáról a rendszer indulásának tud végrehajtani, azaz mindig csak késõbb). Nagyon fontos, hogy a pillanatában maga a rendszermag egy programon dolgozhat. Az operá- folyamatok által végzett tevékenység gondoskodik. ciós rendszer azonban szabályos bármikor felfüggesztõdhet, például Az init folyamat a következõt végzi: idõközönként felfüggeszti az éppen azért, mert a rendszernek hirtelen beolvassa a /etc/inittab állományt, futó alkalmazást, és egy másiknak egy fontosabb (nagyobb fontosságú) amelyben meg van adva, hány termi- adja át a lehetõséget. Másodpercen- folyamatot kell kiszolgálnia. Ez pedig nálfolyamatot kell létrehoznia. A ter- ként több ilyen váltás történik, ezért azzal jár, hogy nem jósolhatjuk meg minálfolyamatok szülõje az init lesz, a felhasználónak olyan érzete támad, elõre, hogy a folyamat által elõírt és addig várakoznak, amíg csak az adott mintha alkalmazásai a szó legszoro- mûveletek mennyi idõ alatt kerülnek terminálon egy felhasználó be nem sabb értelmében egyszerre futnának, elvégzésre, tehát akárhányszor elindí- jelentkezik. Ha ez megtörtént, a termi- de valójában csak látszólagos párhuza- tunk egy folyamatot, elég nagy valószí- nálfolyamat elindít egy héjat, amely az mosságról van szó. Az egynél több nûséggel mindig más-más futási idõt õ gyermekfolyamata lesz. Pillanatnyi processzorral felszerelt masináknál fog eredményezni. Ezért általános folyamatfánkat a pstree parancs más a helyzet, az ilyen gépek esetén alapelv, hogy a folyamatokon belül segítségével bármikor megtekinthetjük. a valós idõben való egyszerre futtatás semmiféle belsõ idõzítési feltételt nem A folyamatok fizikai tárolása teljesen is megvalósítható. használhatunk. rendszerfüggõ. A Linux ezt a követ- Jogosan merülhet fel az a kérdés, hogy Lehetséges, hogy ez elsõre kissé nehe- kezõképpen oldja meg: valahol a miért kell ezzel a témakörrel kezdeni zen emészthetõ, de semmi pánik! rendszermemória mélyén létezik egy egy operációs rendszerek mûködésével Egyet jegyezzünk meg: minden álta- táblázat, amelyet feladatmutató táb- foglalkozó sorozatot. Ahelyett, hogy ezt lunk elindított program egy-egy folya- lának nevezünk. A táblában minden most példával szemléltetnénk, egysze- matnak fog megfelelni, amelyek lát- folyamathoz egy bejegyzés tartozik. rûen csak elégedjünk meg annyival, szólag egymással párhuzamosan fut- A feladatmutató tábla mérete állandó, hogy azért, mert a rendszer összes többi nak, valójában egymást felváltva. általában legfeljebb 512 bejegyzést része eköré épül fel. Megígérjük, hogy Annak eldöntése, hogy melyik folyamat tartalmazhat, tehát egyszerre nem lehet a cikk utolsó szakaszában ezt a kérdést mikor és meddig futhat, a rendszerbe több folyamatunk. Ha egy folyamat is megválaszoljuk. beépített ütemezõ feladata. idõközben munkájának végére ér, vagy

48 Linuxvilág Dobbantó

mi magunk szüntetjük meg, a helye lemzõ esete, amikor bizonyos bemenõ bele, hogy egy folyamat meddig futhat természetesen feladatmutató táblából adatokat egy másik folyamattól várunk, (azaz futását idõközben nem szakítja felszabadul. azok azonban valamilyen okból kifolyó- meg). Ha egy folyamat megkapta a A feladatmutató tábla semmiféle adattal lag még nem érkeztek meg. Nézzük processzor használatának lehetõségét, nem rendelkezik a folyamatokról, csu- meg például a cat szoveg | grep akkor addig marad nála, amíg vagy pán mindegyikhez egy memóriacímet micimack utasítást! A cat folyamat önszántából át nem adja, vagy nem rendel, amely megmondja, memóriánk nem tesz mást, mint kimenetként blokkolódik. Az ilyen rendszerekben mely részében találjuk meg azt az adat- visszaadja a szoveg nevû állomány könnyû önzõnek lenni: az olyan folya- szerkezetet, amely az adott folyamat tartalmát, a grep pedig a bemenõ matok, amelyek kizárólag számítási tulajdonságait tartalmazza. A Linux- adatokból kiválasztja azokat a sorokat, mûveleteket hajtanak végre, akár az rendszermag elég sok tulajdonságot amelyekben a „micimackó” szó szere- idõk végezetéig is kisajátíthatják tárol a folyamatokról. Milyen tulajdon- pel. A csõvezeték (|) segítségével a cat maguknak a processzort, megfosztva ságai lehetnek egy folyamatnak? Például folyamat kimenetét a grep folyamat ezzel a többi folyamatot a futási lehe- állapota, ütemezési beállításai, a folya- bemenetébe „folyathatjuk”. Elõfordul- tõségtõl. Nem is beszélve arról, hogy matfában elfoglalt helye, olyan adatok, hat olyan eset, hogy a grep folyamat komoly kellemetlenség érhet minket, amelyek ahhoz szükségesek, hogy ismét már futásra készen áll, viszont még ha egy hibásan megírt folyamat idõ- elindíthatóak legyenek (például a regisz- nem kapott adatot a cat-tõl, vagy amit közben lefagy, és képtelenné válik

terek állapota) stb. A Linux-mag ren- már kapott, réges-régen feldolgozta, a processzor átadására. © Kiskapu Kft. Minden jog fenntartva geteg mindent tárol egy folyamatról, mi és várja az újakat. Ilyenkor a grep A jelenlegi korszerû operációs rendsze- most csak a legfontosabbakra térünk ki blokkolásra kerül, amíg a cat folyamat- rek szinte kivétel nélkül a megszakít- részletesebben. tól újabb adat nem érkezik. (A folya- ható ütemezés elvét alkalmazzák. Itt az matok közti adatcserével – IPC – követ- ütemezõnek rendszeres idõközönként Folyamatállapotok kezõ számunkban részletesen foglal- lehetõsége nyílik átadni a futási lehe- A folyamatok hagyományosan három- kozunk majd.) tõséget egy másik folyamat számára. féle állapotban létezhetnek: futó, futásra Most nézzük meg, milyen folyamat- Ez már valóban hatékonyabb megoldás, kész és blokkolt állapotban. Az elsõ állapotokról beszélhetünk a Linux ám ennek is akadnak árnyoldalai. állapot azt jelenti, hogy az adott folya- esetében. A Linux nem tesz különbséget Például gondoskodnunk kell arról, mat jelen pillanatban fut, azaz õt illeti a futó és a futásra kész állapot között, hogy úgynevezett versenyhelyzetek meg a processzor használatának joga. mindkét helyzetet „running”-nak (futó- ne forduljanak elõ, mert ezek számos A futásra kész állapotba tartozó folya- nak) hívja. A blokkolt folyamatok „wai- kellemetlenség forrásai lehetnek matok futni szeretnének, habár erre ting” (várakozó) helyzetbe kerülnek. (a versenyhelyzetek fogalmával követ- nem õk kapták meg a lehetõséget. Lehetõségünk nyílik – szintén jelek kezõ számunkban foglalkozunk, most Amikor az üzemezõ úgy dönt, hogy a (signals) segítségével –, hogy egy folya- legyen elég annyi, hogy e jelenségek futó folyamat eleget használta a CPU-t, matot megállítsunk. Ekkor az úgyne- megakadályozása komoly kihívás az állapotát futásra készre változtatja, és vezett „stopped” (leállított) állapotba operációs rendszerek fejlesztõi – egy bizonyos algoritmus szerint – a kerül. Érdemes az eszünkbe vésni, hogy számára). többi futásra kész folyamat közül kivá- ez nem egyenlõ a folyamat megszün- Az utóbbi módszer megvalósítását a laszt egyet. A szerencsés „nyertes” hely- tetésével, ugyanis a folyamat bármikor gépszintû megszakítások (hardware zete ezután futóra változik. Elmond- újra elindítható arról a pontról, ahol interrupts) teszik lehetõvé. Akik elmé- hatjuk tehát, hogy az elsõ két állapot futását megszakítottuk. lyültek már a gépközeli programozás- logikailag ugyanaz. Említést érdemelnek még az úgyneve- ban, biztos tisztában vannak a megsza- Ám elõfordulhatnak olyan esetek is, zett zombifolyamatok. Ezek olyan ha- kítások fogalmával, ám a többiek ked- amikor bizonyos külsõ esemény bekö- lott folyamatok, amelyek megszünte- véért tegyünk egy kis kitérõt. A meg- vetkeztéig a folyamat nem képes foly- tésre kerültek, azonban valamilyen szakításoknak két fajtája van: a prog- tatni a munkát. Vegyük például a okból még mindig szerepelnek a ramszintû és a gépszintû. A különbség parancsértelmezõt, amelynek az a feladatmutató táblában. annyi, hogy a programszintû megsza- feladata, hogy fogadja és végrehajtsa a kítást egy program, a gépszintût felhasználó utasításait. A parancsértel- Ütemezõ, megszakítások pedig valamely a számítógépünkhöz mezõ addig nem képes dolgozni, amíg és egyéb nyalánkságok csatlakozó eszköz válthatja ki. Minket a felhasználó le nem üt egy billentyût, Annak eldöntése tehát, hogy a folya- most csak az utóbbi típus érdekel. tehát amíg ez az esemény be nem követ- matok közül ki mikor és mennyi ideig Az Intel (és a hasonló típusú) procesz- kezik, a folyamat blokkolódik. Feléb- használhatja a processzort (azaz futhat), szorokkal felszerelt PC-k általában redni csak akkor fog, miután a felhasz- az ütemezõ feladata. Nézzük, miképp 15 különbözõ sorszámú gépszintû náló megtalálta és megnyomta a keresett birkózhat meg ezzel a feladattal! megszakítással (IRQ) rendelkeznek, billentyût. Ekkor ismét futásra kész Az ütemeõ alapvetõen két módszere és egy IRQ-n egyszerre csak egy helyzetbe kerül, sõt, ha nincs nála fon- létezik. Az õsibb módszer az úgyneve- eszközt mûködtethetünk. tosabb (nagyobb fontosságú) folyamat, zett készre futtatás elve, amelynek A gépszintû megszakítást vagy valami- akár meg is kaphatja a processzor hasz- megvalósítása egyáltalán nem bonyo- lyen külsõ esemény (például billentyû- nálatának lehetõségét. Miután a pa- lult, viszont egy általános célú többfel- lenyomás, egy adatcsomag megérkezése rancsértelmezõ feldolgozta a beérkezett használós operációs rendszer „meghaj- a hálózatról stb.), vagy valamilyen kért adatot, a következõ billentyû lenyomá- tására” alkalmatlan. Nem véletlenül szolgáltatás teljesítése, például egy sáig ismét blokkolásra kerül. nem megszakítható ütemezésnek is lemezmûvelet befejezése válthatja ki. A folyamatok blokkolásának másik jel- nevezik, mivel a rendszer nem szól Mi történik megszakításkor? A pro-

www.linuxvilag.hu 2002. augusztus 49 Dobbantó

cesszor azonnal abbahagyja, amit éppen Láthattuk, hogy az eszközmeghajtók semmit sem tudnak a megszakításokról, tesz (például egy folyamat végrehaj- az ütemezõ feletti szinten helyezked- mivel azokat „elrejti” elõlük az alattuk tását). Megjegyzi, hogy „hol tartott”, nek el. Ezek az erõforrásaink kezelésé- lévõ szint. Az operációs rendszer összes majd a memória elején lévõ megszakí- ért felelõs eljárások szintén folyamat- további tulajdonsága legnagyobb mér- tásvektor-táblából kiolvassa az adott ként futnak, ám a felhasználói alkalma- tékben a folyamatkezeléstõl, pontosab- megszakításhoz tartozó kiszolgálóeljárás zásoknál jóval alacsonyabb szinten: ban az ütemezõtõl függ, amely az egész címét, amely megszakítás kezeléséért a rendszermag szintjén, úgynevezett megszakításkezelõ rendszerrel az ope- felelõs. Ezután megkezdõdik az eljárás magmódban. Ennek köszönhetõen, ha rációs rendszer legbelsõ magját alkotja. végrehajtása. Az itt leírt megoldás tel- némi megkötésekkel ugyan, de közvet- jes egészében gépi szinten zajlik, az lenül hozzáférhetnek a gép alkatrészei- Ütemezési algoritmusok operációs rendszer fejlesztõinek csak hez, és az ütemezõ is másképp bánik Az ütemezési algoritmus nem más, mint a kiszolgálóeljárás megírásával kell velük, mint a közönséges folyamatok- az a módszer, amelynek alkalmazásával bajlódniuk, illetve a megszakításvektor kal. Ezért megkülönböztetésképpen a az ütemezõ el tudja dönteni, hogy az

1. 2. 1. kép A folyamatfa, amelyben minden folya- matnak van szülõfolyamata, de elméletileg

© Kiskapu Kft. Minden jog fenntartva korlátlan számú gyermekfolyamata lehet. A gyermekfolyamatok is további folyamatokat hozhatnak létre. 2. kép A forgatás- (round robin) ütemezés: az ütemezõ sorban végigmegy az összes folyama- ton. Minden folyamat ugyanannyi ideig futhat, mint a többi. 3. kép Elsõbbségi ütemezés: az ütemezõ elsõként mindig a legmagasabb elsõbbségû tábla helyes beállításával. Az eljárás 3. folyamatokat futtatja, a többiekre csak ezután feladata végeztével „visszaküldheti” kerülhet sor. a processzort, hogy folytassa eredeti munkáját. Talán nem kell ecsetelnünk, hogy egy gépszintû megszakítás mennyire ked- elkövetkezõ néhány ezredmásodpercig vezõ alkalom arra, hogy a futási lehetõ- melyik folyamat lesz „méltó” a procesz- séget elvehessük a futó folyamattól, és szor birtoklására. Természetesen csak a átadhassuk egy másiknak. A dolgunk futásra kész állapotba tartozó folyama- csak annyi, hogy a kiszolgálóeljárás ne tok játszanak szerepet, a blokkoltakkal az eredeti helyre térjen vissza, hanem nem kell foglalkozni. az ütemezõt hívja meg, ami majd el- Sokféle ütemezési algoritmus létezik. dönti, mi legyen a továbbiakban. továbbiakban eszközvezérlõk-nek fogjuk Hogy melyik rendszer melyiket hasz- Felmerülhet a kérdés, hogy mi történik hívni õket, mivel az eszközvezérlõ és nálja, az a megoldandó feladattól függ. akkor, ha csak vad számításokat végzõ a folyamat közötti különbség valójában Mindenesetre van néhány alapelv, folyamatok futnak, amelyek semmiféle elhanyagolható. amelyhez ragaszkodni kell. eszközt nem használnak, így megszakí- Az eszközvezérlõk idejük nagy részét Az elsõ a hatékony CPU-kihasználás, tások sem igazán történnek. Szerencsére az adott rendszerhívásra várva blokkolt azaz úgy beosztani a folyamatokat, ekkor se lenne semmiféle gond, mivel a állapotban töltik. Amikor az megérkezik, hogy a lehetõ legkevesebb idõ teljen 8-as megszakításra egy valós idejû órát a kiszolgálóeljárás egy üzenetet küld a feladat megoldása szempontjából „kötöttek”, amely szabályos idõközön- nekik, amelynek hatására blokkolt álla- hasztalan tevékenységgel. Ilyen „hasz- ként megszakításokat vált ki. Hogy potból futásra kész helyzetbe kerülnek. talan tevékenységnek” számít például mekkora idõközönként, az számítógép- Amint az ütemezõ biztosítja nekik a a váltás két folyamat között, amely típusonként változik, sõt, bizonyos futási lehetõséget, elkezdik feldolgozni roppant idõigényes dolog, mivel pon- géptípusnál ezt az idõtartományt akár az eszköztõl kapott adatokat. Például tosan fel kell jegyezni, hogy az elõzõ programból is beállíthatjuk. Általában azt, hogy billentyûzetmegszakítás esetén folyamat hol tartott a futásban. Ha túl másodpercenként ötven vagy hatvan melyik billentyû lett lenyomva, ezt az gyakran váltogatunk folyamatokat, megszakítás történik. adatot továbbítják például a megfelelõ akkor több váltás lesz, azaz a processzor A fent leírtakból megállapíthatjuk, hogy parancsértelmezõ folyamatnak, amely idejének viszonylag nagy százalékát az operációs rendszer ütemezõ és meg- blokkolt állapotban – ki tudja, mióta – erre fogja pazarolni. Az sem jó, ha túl szakításkezelõ része egymással szoros már csak erre várt. ritkán váltunk, mert akkor egy folya- kapcsolatban áll és el nem választható. Most adtunk választ a cikkünk elején matnak sokat kell várnia, amíg ismét Ám még mielõtt rátérnénk magára az feltett kérdésre, hogy miért a folyamat- rákerül a sor. Ha csak számításokat ütemezõre, nézzük meg, mit is csinál kezelés a legfontosabb a Linuxhoz végzõ programokat futtatunk, az utóbbi egy gépszintû megszakításhoz tartozó hasonló felépítésû operációs rendszerek eset még nem is lenne annyira súlyos, kiszolgálóeljárás. Az elõzõ részben életében. Ezért. Az eszközmeghajtók is de egy felhasználói beavatkozást bemutattuk a Linux elvi felépítését. tulajdonképpen folyamatok, amelyek igénylõ alkalmazás (például egy játék-

50 Linuxvilág Dobbantó

program) esetében a felhasználó nem Ennél a fontossági (priority) ütemezés elvét alkalmazzuk. A felhasználói folya- biztos, hogy meg lenne elégedve a hasz- kicsit többre képes, ahol szintén minden matok esetében a forgatásos algoritmust nálhatóságával. folyamat egyenlõ, de egyesek egyen- alkalmazzuk. Ha nincs futtatható esz- A másik dolog, amire ügyelni kell, hogy lõbbek. Azaz a folyamatokat fontossági közvezérlõ vagy folyamat, az IDLE minden folyamat testvériesen részesed- sorrend – elsõbbség – szerint szervezzük. (tétlen) különleges folyamat kapja meg jen a rendelkezésre álló processzoridõ- Amelyik a legnagyobb elsõbbséget birto- a vezérlést. Ennek nincs más dolga, mint bõl. Egyrészt ne forduljon elõ, hogy kolja, az kapja meg gyakrabban a pro- addig unatkozni, amíg nem találunk az algoritmus hibájából egy folyamat cesszort. A másik változata a sorsjáték- egy másik futásra kész folyamatot. sokkal több idõt kap, mint társai. ütemezés. Az összes folyamatnak kiosz- Sajnos nem szabadultunk meg ilyen A felhasználók biztosan ferde szemmel tunk egy adott számú sorsjegyet, ame- könnyen a folyamatoktól. A következõ néznének egy olyan rendszerre, ahol lyek közül az ütemezõ minden alkalom- részben még megtárgyalunk néhány például a pi kétmillió tizedesjegyig mal „kihúz” egyet. A szerencsés nyertes olyan fogalmat, amit nem árt, ha isme- tartó kiszámítása pár másodperc alatt (az a folyamat, amelyik a kihúzott sors- rünk (például a vezérlési szálakat), megvan, ellenben egy könyvtár listázá- jegyet birtokolja) fogja megkapni a lehe- valamint belekezdünk egy másik nagy sára perceket kell várni. Másrészt tõséget a futásra. A fontosabb folyamatok témakörbe: a folyamatok közötti kap- ügyelni kell arra is, nehogy egy-egy több sorsjegyet birtokolhatnak, ezáltal csolattartásba (IPC). folyamatot véletlenül „kifelejtsünk” nagyobb eséllyel indulhatnak a procesz- Garzó András a listából. Arra kell törekedni, hogy szorért való küzdelemben. © Kiskapu Kft. Minden jog fenntartva nagyjából mindegyikre ugyanannyiszor A Linux-rendszerben az eszközvezérlõk ([email protected]) Körülbelül kerüljön sor. rendelkeznek a legnagyobb fontossági három éve foglalkozik Linux- és más Ezek után nézzük, milyen ütemezési szinttel, így ha akad futásra kész eszköz- Unix-rendszerekkel. Legjobban az ope- algoritmusok vannak. A legegyszerûbb vezérlõ, akkor az ütemezõ mindig õket rációs rendszerek lelkivilága érdekli, a forgatás (round robin). Sorban végig- fogja kiválasztani. Fontos, hogy a folya- de nyitott egyéniség. Kedvenc étele megyünk az összes folyamaton, és matokkal ellentétben a eszközvezérlõk a palacsinta, és van egy Richard nevû minden folyamat egy meghatározott addig futnak, amíg nem blokkolódnak, macskája. Minden észrevételt, idõszeletet kap. azaz ebben az esetben a készre futtatás megjegyzést, levelet szívesen fogad.

Nézzünk képeket Linux alatt!

A Linux alatti képfeldolgozás egyelõre még gyerekcipõben jár, • Az utolsó elõtti ikonnal a Beállítások (Options) menüpontot már most is lehet azonban szinte bármilyen feladathoz jó minõségû érhetjük el közvetlenül, errõl lentebb még lesz szó. programokat találni. A mindennapi felhasználó mindenképpen • A sorban az utolsó ikon pedig a bal oldali eszköztárat lebeg- gyors, megbízható, kényelmesen beállítható és használható kép- teti, így szinte a teljes képernyõt használhatjuk a kép meg- nézegetõ programot szeretne. Aki régóta használ Linuxot vagy jelenítésére (leszámítva azt a kellemetlenséget, hogy az valamilyen Unixot grafikus felülettel, az biztosan találkozott már eszköztártól ilyenkor bizonyos képrészeket nem látunk). az xv programmal, ami igen nagy tudású képszerkesztõ és -nézõ A teljes képernyõs képnézéshez nyomjuk meg inkább a v program. Bár kitûnõen használható, most egy sokkal egyszerûbb betût, így a program valós teljes képernyõs módba kapcsol. és még inkább felhasználóbarát programmal ismerkedünk meg A szóköz billentyû elõre lapoz, a BASCKPACE pedig visszafele. dióhéjban: a gqview-val. Nagyon sok beállítási lehetõséget kínál, mégsem veszünk el a sûrû- jében. Nézzük az alapvetõ lehetõségeket: • A szöveges menüsor alatt látható ikonsorból a fontosabb lehe- tõségek azonnal elérhetõek, bekapcsolhatók. Balról az elsõ ikon A Beállítások az elõnézeti képek ki-, illetve bekapcsolását szabályozza. Ezt Itt történik a program igazi finomhangolása. A Szerkesztés, akkor érdemes használnunk, ha kevés kép van egy könyvtárban Beállítások (Edit, Options…) menüpontnál, vagy – mint az elõbb – ötszáz képnél már elég sokat kell várnunk, hogy mindet kicsi- is írtam –, az ikonsorban az utolsó elõtti (villáskulcs) ikonra ben is megnézhessünk –, vagy gyorsan szeretnénk valamit kattintva érhetjük el. megtalálni, de a fájl nevét nem tudjuk. E helyütt tehetjük meg az aprólékos beállításokat: mi legyen • A második ikon a házikó, értelemszerûen hazavezet bennünket az alapértelmezett könyvtár, mekkora elõnézeti képet készítsen a saját könyvtárunkba, így elkerülhetõ a könyvtárakon keresztüli (ez a lehetõség nálam nem mûködött, akármekkorára állítottam is, evickélés. mindig ugyanakkorák voltak a képek, csak a köztük lévõ távolság • A harmadik ikon a frissítés, ezzel újraolvastathatjuk a könyv- nõtt), hogyan jelenítse meg a képet – gyorsabban és rosszabb tárat és az éppen aktív képet. Ennek akkor lehet jelentõsége, minõségben vagy lassabban, de jobb minõségben –, különféle ha a képen egy külsõ programban változtatunk vagy új képet szûrési feltételeket is megszabhatunk, illetve megadhatjuk kedvenc mentünk az aktív könyvtárba. képszerkesztõnket, hogy a kívánt kép szerkesztését azonnal el • A következõ két ikon képei önmagukért beszélnek: az elsõvel tudjuk kezdeni. a képet tetszõleges méretûre nagyíthatjuk, a következõvel pedig kicsinyíthetjük. Csontos Gyula

www.linuxvilag.hu 2002. augusztus 51 Dobbantó

program) esetében a felhasználó nem Ennél a fontossági (priority) ütemezés elvét alkalmazzuk. A felhasználói folya- biztos, hogy meg lenne elégedve a hasz- kicsit többre képes, ahol szintén minden matok esetében a forgatásos algoritmust nálhatóságával. folyamat egyenlõ, de egyesek egyen- alkalmazzuk. Ha nincs futtatható esz- A másik dolog, amire ügyelni kell, hogy lõbbek. Azaz a folyamatokat fontossági közvezérlõ vagy folyamat, az IDLE minden folyamat testvériesen részesed- sorrend – elsõbbség – szerint szervezzük. (tétlen) különleges folyamat kapja meg jen a rendelkezésre álló processzoridõ- Amelyik a legnagyobb elsõbbséget birto- a vezérlést. Ennek nincs más dolga, mint bõl. Egyrészt ne forduljon elõ, hogy kolja, az kapja meg gyakrabban a pro- addig unatkozni, amíg nem találunk az algoritmus hibájából egy folyamat cesszort. A másik változata a sorsjáték- egy másik futásra kész folyamatot. sokkal több idõt kap, mint társai. ütemezés. Az összes folyamatnak kiosz- Sajnos nem szabadultunk meg ilyen A felhasználók biztosan ferde szemmel tunk egy adott számú sorsjegyet, ame- könnyen a folyamatoktól. A következõ néznének egy olyan rendszerre, ahol lyek közül az ütemezõ minden alkalom- részben még megtárgyalunk néhány például a pi kétmillió tizedesjegyig mal „kihúz” egyet. A szerencsés nyertes olyan fogalmat, amit nem árt, ha isme- tartó kiszámítása pár másodperc alatt (az a folyamat, amelyik a kihúzott sors- rünk (például a vezérlési szálakat), megvan, ellenben egy könyvtár listázá- jegyet birtokolja) fogja megkapni a lehe- valamint belekezdünk egy másik nagy sára perceket kell várni. Másrészt tõséget a futásra. A fontosabb folyamatok témakörbe: a folyamatok közötti kap- ügyelni kell arra is, nehogy egy-egy több sorsjegyet birtokolhatnak, ezáltal csolattartásba (IPC). folyamatot véletlenül „kifelejtsünk” nagyobb eséllyel indulhatnak a procesz- Garzó András a listából. Arra kell törekedni, hogy szorért való küzdelemben. © Kiskapu Kft. Minden jog fenntartva nagyjából mindegyikre ugyanannyiszor A Linux-rendszerben az eszközvezérlõk ([email protected]) Körülbelül kerüljön sor. rendelkeznek a legnagyobb fontossági három éve foglalkozik Linux- és más Ezek után nézzük, milyen ütemezési szinttel, így ha akad futásra kész eszköz- Unix-rendszerekkel. Legjobban az ope- algoritmusok vannak. A legegyszerûbb vezérlõ, akkor az ütemezõ mindig õket rációs rendszerek lelkivilága érdekli, a forgatás (round robin). Sorban végig- fogja kiválasztani. Fontos, hogy a folya- de nyitott egyéniség. Kedvenc étele megyünk az összes folyamaton, és matokkal ellentétben a eszközvezérlõk a palacsinta, és van egy Richard nevû minden folyamat egy meghatározott addig futnak, amíg nem blokkolódnak, macskája. Minden észrevételt, idõszeletet kap. azaz ebben az esetben a készre futtatás megjegyzést, levelet szívesen fogad.

Nézzünk képeket Linux alatt!

A Linux alatti képfeldolgozás egyelõre még gyerekcipõben jár, • Az utolsó elõtti ikonnal a Beállítások (Options) menüpontot már most is lehet azonban szinte bármilyen feladathoz jó minõségû érhetjük el közvetlenül, errõl lentebb még lesz szó. programokat találni. A mindennapi felhasználó mindenképpen • A sorban az utolsó ikon pedig a bal oldali eszköztárat lebeg- gyors, megbízható, kényelmesen beállítható és használható kép- teti, így szinte a teljes képernyõt használhatjuk a kép meg- nézegetõ programot szeretne. Aki régóta használ Linuxot vagy jelenítésére (leszámítva azt a kellemetlenséget, hogy az valamilyen Unixot grafikus felülettel, az biztosan találkozott már eszköztártól ilyenkor bizonyos képrészeket nem látunk). az xv programmal, ami igen nagy tudású képszerkesztõ és -nézõ A teljes képernyõs képnézéshez nyomjuk meg inkább a v program. Bár kitûnõen használható, most egy sokkal egyszerûbb betût, így a program valós teljes képernyõs módba kapcsol. és még inkább felhasználóbarát programmal ismerkedünk meg A szóköz billentyû elõre lapoz, a BASCKPACE pedig visszafele. dióhéjban: a gqview-val. Nagyon sok beállítási lehetõséget kínál, mégsem veszünk el a sûrû- jében. Nézzük az alapvetõ lehetõségeket: • A szöveges menüsor alatt látható ikonsorból a fontosabb lehe- tõségek azonnal elérhetõek, bekapcsolhatók. Balról az elsõ ikon A Beállítások az elõnézeti képek ki-, illetve bekapcsolását szabályozza. Ezt Itt történik a program igazi finomhangolása. A Szerkesztés, akkor érdemes használnunk, ha kevés kép van egy könyvtárban Beállítások (Edit, Options…) menüpontnál, vagy – mint az elõbb – ötszáz képnél már elég sokat kell várnunk, hogy mindet kicsi- is írtam –, az ikonsorban az utolsó elõtti (villáskulcs) ikonra ben is megnézhessünk –, vagy gyorsan szeretnénk valamit kattintva érhetjük el. megtalálni, de a fájl nevét nem tudjuk. E helyütt tehetjük meg az aprólékos beállításokat: mi legyen • A második ikon a házikó, értelemszerûen hazavezet bennünket az alapértelmezett könyvtár, mekkora elõnézeti képet készítsen a saját könyvtárunkba, így elkerülhetõ a könyvtárakon keresztüli (ez a lehetõség nálam nem mûködött, akármekkorára állítottam is, evickélés. mindig ugyanakkorák voltak a képek, csak a köztük lévõ távolság • A harmadik ikon a frissítés, ezzel újraolvastathatjuk a könyv- nõtt), hogyan jelenítse meg a képet – gyorsabban és rosszabb tárat és az éppen aktív képet. Ennek akkor lehet jelentõsége, minõségben vagy lassabban, de jobb minõségben –, különféle ha a képen egy külsõ programban változtatunk vagy új képet szûrési feltételeket is megszabhatunk, illetve megadhatjuk kedvenc mentünk az aktív könyvtárba. képszerkesztõnket, hogy a kívánt kép szerkesztését azonnal el • A következõ két ikon képei önmagukért beszélnek: az elsõvel tudjuk kezdeni. a képet tetszõleges méretûre nagyíthatjuk, a következõvel pedig kicsinyíthetjük. Csontos Gyula

www.linuxvilag.hu 2002. augusztus 51 Szaktekintély

Tartsunk lépést a Pythonnal: a 2.2-es változat A Python 2.2-es változata pótolja a nyelv néhány jól ismert hiányosságát, és pár jól használható új szerkezetet is bemutat.

Python 2.2-es 2001 végén jelent meg, és a 2.2.1-es hi- akkor különösen hasznos, ha különbözõ típusokat tartalmazó bajavító változatot a PythonLabs és a Zope Co. fej- lista elemein lépkedünk végig. A Python sorszámozott típusai- lesztõi közösen mostanában készítették el. A 2.2-es nak (listák, karakterláncok és úgynevezett tuple-ok) a kezelése teleA van új lehetõségekkel és képességekkel, amelyek közül is meglehetõsen egyszerû, akár egy for ciklussal végiglépked- nem egy jelentõs elõrelépés a nyelvben. Ezek a fejlesztések hetünk rajtuk anélkül, hogy bármiféle különleges dolgot kel- nagymértékben kitágítják a Python-fejlesztõk lehetõségeit. lene tennünk. A Python léptetõi sorszámozott típusokkal gond A Pythonnal egyszerû, ugyanakkor sokrétû fejlesztõeszközhöz nélkül mûködnek, de az új változattól kezdõdõen a nem sor-

© Kiskapu Kft. Minden jog fenntartva jutunk, amely a parancsnyelvek egyszerûségét a gépi kódban számozott típusok is könnyen kezelhetõk, a felhasználó által futó objektumközpontú nyelvek erejével egyesíti. A Jython létrehozott objektumokat is beleértve. A léptetõk segítségével segítségével (mely jelölés a Python egy Javára lefordított válto- bármilyen Python-típuson végiglépkedhetünk. zatát takarja) a Java-programozók egy új és könnyen használ- Nos, ez tényleg jól hangzik, de miért is van szükség léptetõkre ható alkalmazásfejlesztõ eszközzel ismerkedhetnek meg. a Pythonban? Erre különösen a PEP 234 tér ki, amely ezeket a Ha figyelemmel szeretnéd követni a mindennapi eseményeket, pontokat említi: olvasd a PEP-eket, vagyis a Python fejlesztésére irányuló • Bõvíthetõ léptetõfelületet hozni létre. javaslatok gyûjteményét, amelyeket azért hoznak létre, hogy • A listákon való léptetések frissítéséért. a Python-közösség egyetlen átgondolásra alkalmas ötlete se • A szótártípusok léptetésének jelentõs mértékû vesszen kárba. Mielõtt mérlegelni kezdenék egy változtatás felgyorsítására. szükségességét, tanulmányozzák a változtatással együttjáró • Egy valódi léptetõfelület létrehozására ellentétben az elta- gondokat és a lehetséges megoldásokat, valamint azok mód- karó tagfüggvényekkel, melyeket eredetileg az elemek szertani részleteit. Nemcsak a PEP-ek pontos részleteit, de véletlenszerû elérésére hoztak létre. jelenlegi állapotukat is pontosan megtudhatod a weboldalon • Egy visszirányú együttmûködést biztosító felület létrehozá- (lásd a Kapcsolódó címeket). Az egyeztetéseket követõen a sáért, amely a már létezõ felhasználói osztályokkal és objek- Python-változatok kiadása elõtt minden egyes PEP-rõl eldön- tumkiterjesztésekkel mûködik együtt – ezek sorszámozott tik, hogy érdemes-e az adott ötletet megvalósítani vagy sem. típusokat és hozzárendeléseket valósítanak meg. Például a 2.2-es változat (beleértve a 2.2.x-es alváltozatokat is) Egy tömörebb és olvashatóbb szerkezet létrehozásáért, amely elsõsorban öt PEP-re épül, melyek a következõk: 234, 238, nem sorszámozott elemeken is képes léptetést megvalósítani 252, 253 és 255. (például állományokon és hozzárendeléseken). A kezdõk számára a 2.2-es változattal elkezdõdött a Python Léptetõket kétféleképpen hozhatunk létre: vagy a beépített egész típusainak és kiterjesztett egész típusainak egyesítési iter() függvényen keresztül, vagy közvetlenül azokon az folyamata (integer és long integer). Ezentúl az egész számokkal objektumokon használhatjuk õket, melyekbe ezt a lehetõséget végzett számítások nem okozhatnak túlcsordulást, mivel ha beépítették. Például a listáknak van beépített léptetõi felülete, egy eredmény nem fér el az egész típus által megszabott tarto- amely nem változott, és a for mindegyikElem in Lista mányban, önmagától kiterjesztett egész típussá alakítódik. utasításnak megfelelõen használható. Az új változattal egyúttal az egymásba ágyazott érvényességi Az iter(objektum) függvény meghívásával az objektumnak körök is teljesen hatályba léptek, amelyek az eddigi két érvé- megfelelõ léptetõtípushoz jutunk. A léptetõknek egyetlen nyességi körre épülõ rendszert hivatottak leváltani (PEP 227). tagfüggvénye van, a next(), ami a következõ elemmel tér Bár ez a lehetõség már a 2.1-es változatban megjelent, most vissza. Az új StopIteration kivétel hivatott jelezni, ha a már az ott még kötelezõ from __future__ import vezérlés elérte a lista végét. nested_scopes utasításra sincsen szükség, mivel ez vált az Természetesen a léptetõk használata esetén is számolnunk kell alapértelmezett viselkedésformává. Az Unicode-támogatást bizonyos korlátozásokkal: nem lehet visszafelé léptetni, nem UCS-4-re fejlesztették (32-bites elõjel nélküli egésztípusok tá- lehet a készlet elejére ugrani, és a léptetõk másolása sem le- mogatása, bõvebben: PEP 261). Kevésbé jelentõs változásokon hetséges. Ha ugyanazon az objektumon szeretnél újra végig- ment keresztül a Python Standard Library, többek között bõ- ugrálni (vagy egyszerre több példányon), létre kell hoznod egy vült egy új e-mail csomaggal, egy XML-RPC-modullal, a fog- másik léptetõ objektumot. lalat (socket) modult képessé tették IPv6-kezelésre, és beleke- rült egy új, okos profiler is. Sorszámozott típusok A 2.2-es változat legjelentõsebb újításai a léptetõk és az elõállí- Mint már említettük, sorszámozott típusok esetén a léptetõk tók, amelyek módosítják az osztás mûveletjel tulajdonságait, az elvárásoknak megfelelõen mûködnek: valamint egyesítik a típusokat és az osztályokat. >>> myTuple = (123, ·xyz·, 45.67) Léptetõk >>> i = iter(myTuple) A léptetõk (iterators) segítségével a programozónak lehetõsége >>> i.next() nyílik sorban végiglépkednie egy adathalmaz elemein. Ez 123

52 Linuxvilág Szaktekintély

>>> i.next() tetõ next() tagfüggvényének a meghívása az egymás után ·xyz· következõ elemekért minden alkalommal a >>> i.next() megh vhat _elem() függvényt hívja meg, és amennyiben 45.67 a visszatért érték megegyezik a megadott ırszem értékkel, >>> i.next() a léptetõ egy StopIterator kivételt dob. Traceback (most recent call last): File "", line 1, in ? Szótárak StopIteration A szótárak és az állományok két típusa esetén történtek a léptetõk terén a legnagyobb változások. A szótár típus léptetõje Valódi program esetén a fenti kódrészletet egy try-except a típus kulcsain lépked sorban végig. A for mindenKulcs in blokkba ágyaztuk volna be. A sorszámozott típusok alapértel- myDict.keys() utasítás lerövidíthetõ for mindenKulcs in mezésben léptetõvel rendelkeznek, mint az a for ciklus myDict alakba, mint az az 1. listában is látható. esetén is látható: Emellett három új, léptetéssel kapcsolatos tagfüggvény is beve- zetésre került: myDict.iterkeys() – léptetés a szótár kul- for i in seq: csain, myDict.itervalues() – léptetés a szótár értékein és csinalj_valamit(i) myDict.iteritems() – léptetés a kulcs/érték párokon. Az in mûveletjel úgy módosult, hogy a segítségével ellenõriz-

Ha jobban megnézzük a fenti utasítást, látható, hogy valójában hetõ, hogy egy adott kulcs létezik-e a szótárban. Ez annyit tesz, © Kiskapu Kft. Minden jog fenntartva nem más, mint egy léptetõszerkezet: hogy a myDict.has_key(valamilyen_kulcs) kifejezés valamilyen_kulcs in myDict alakra egyszerûsíthetõ. fetch = iter(seq) while 1: Állományok try: Az állományobjektumokhoz egy olyan léptetõobjektum társul, i = fetch.next() mely a readline() tagfüggvényt hívja meg. Vagyis az in except StopIteration: mûveletjellel egy szöveges fájl sorain lépkedhetünk végig break – az eddig megszokott for egySor in myFile.readlines() csinalj_valamit(i) alak helyett a sokkal egyszerûbb egySor in myFile alakban:

Mivel a for ciklus önmûködõen meghívja a léptetõ next() >>> myFile = open(·config-win.txt·) tagfüggvényét, ezért a kódon nem szükséges változtatni. >>> for egySor in myFile: Az iter() beépített függvénynek egy másik formája is létezik, ... print egySor, az iter(megh vhat _elem, ırszem), amely az elõzõekhez # egy tovÆbbi œj sor beszœrÆsÆval az elızı hasonló léptetõvel tér vissza. A különbség annyi, hogy a lép- # sorzÆr vesszı feladatÆnak megvÆltoztatÆsa ... [EditorWindow] 1. lista Egy szótár léptetése font-name: courier new font-size: 10 >>> legends = { (·Poe·, · r ·): >>> myFile.close() (1809, 1849, 1976), ... (·Gaudi·, ·Øp tØsz·): Osztályok (1852, 1906, 1987), Saját léptetõk létrehozása osztályok esetén is lehetséges. Ilyen ... (·Freud·, ·pszichoanalitikus·): módon elkerülhetõ a __getitem__() osztály tagfüggvény (1856, 1939, 1990) } túlterhelése. A __getitem__() túlterhelésével az osztályhoz ... tartozó valamennyi elem bármely sorrend szerint kikérhetõ, >>> for eachLegend in legends: ezt azonban egyes objektumok logikailag nem teszik lehetõvé. ... print ·NØv: %s\tFoglalkozÆs: %s· % Ha a __getitem__() helyett léptetõt használunk, egyértel- eachLegend mûen megadhatjuk, hogy a felhasználó egy adott objektummal ... print · Sz letØsi idı: %s\tHalÆl: milyen mûveleteket végezhet. %s\tAlbum: %s\n· % Létrehozhatjuk egy osztály saját léptetési rendszerét, ha olyan legends[eachLegend] módon takarjuk el az osztály __iter__() tagfüggvényét, ... hogy az saját magát adja vissza, vagyis minden objektum saját NØv: Freud FoglalkozÆs: pszichoanalitikus magával tér vissza. Ezt követõen pedig a next() tagfüggvényt Sz letØsi idı: 1856 HalÆl: 1939 kell eltakarni: Album: 1990 def __iter__(self): NØv: Poe FoglalkozÆs: r return self Sz letØsi idı: 1809 HalÆl: 1849 Album: 1976 def next(self): # visszatØrØs a k vetkezı elemmel, NØv: Gaudi FoglalkozÆs: Øp tØsz # vagy StopIteration kivØtel dobÆsa. Sz letØsi idı: 1852 HalÆl: 1906 Album: 1987 Ezek alapján nézzünk meg egy egyszerû példát! Ezúttal egy sorszámozott listából térünk vissza egy véletlenszerûen kivá-

www.linuxvilag.hu 2002. augusztus 53 Szaktekintély

2. lista Osztályok léptetése 3. lista Léptetõobjektum létrehozása saját osztállyal

import random #!/usr/bin/env python class RandSeq: def __init__(self, seq): class AnyIter: # t bb elem lØptetØse self.data = seq def __init__(self, data, safe=0): self.safe = safe # legy nk def __iter__(self): # vatosak return self self.iter = iter(data) # a lØptetıvel

def __next__(self): def __iter__(self): # lØptetı- return random.choice(self.data) # osztÆly return self >>> from randseq import RandSeq >>> for eachItem in RandSeq((·kı·, ·pap r·, def next(self, howmany=1): # k l nleges ·oll ·)): # next()

© Kiskapu Kft. Minden jog fenntartva >>> print eachItem retval = [] oll for eachItem in range(howmany): oll try: kı pap r retval.append(self.iter.next()) pap r except StopIteration: oll # kivØtel dobÆsa tœl : # sok elem kØrØse esetØn if self.safe == 0: raise lasztott elemmel (2. lista). Ez a példa a sorszámozott típusok # "biztonsÆgos" zemm d: léptetõinek néhány nem szabványos alkalmazását mutatja be. # a kØrtnØl kevesebb elem Az sem nevezhetõ szokványosnak, hogy esetünkben ez a # visszaadÆsa léptetés végtelen. Mivel az elemeket szabálytalan sorrendben else: hívjuk meg, sosem futunk ki az elemekbõl, így a break StopIteration kivétel sem jelentkezik. return retval A 3. listában osztályunk felhasználásával egy léptetõobjektumot hozunk létre, de ahelyett, hogy egyszerre csak egy elemmel térnénk vissza, a next() tagfüggvényben értékként megad- típus esetén a léptetõ csak a éppen pillanatnyi elem sorszá- juk, hogy a tagfüggvény egyszerre hány elemmel térjen vissza. mát tárolja, így ha megváltoztatod a lista elemeit, az érintett Lássuk csak: elemeket a léptetõ figyelmen kívül hagyja. Ha kifutsz az elemekbõl, értelemszerûen StopIteration kivétel dobódik, >>> a = AnyIter(range(10)) amennyiben viszont új elemeket adsz a listához, a léptetés >>> i = iter(a) folytatható (4. lista). >>> for j in range(1,5): Ha egy szótár kulcsai között léptetsz, közben a szótárt nem >>> print j, ·:·, i.next(j) szabad megváltoztatnod! A szótár keys() tagfüggvénye által 1 : [0] visszaadott lista természetesen kivétel ez alól, mert teljesen 2 : [1, 2] független a szótár tartalmától. 3 : [3, 4, 5] A léptetõk ugyanakkor sokkal szorosabb kapcsolatban állnak a 4 : [6, 7, 8, 9] pillanatnyi objektummal, mint hinnénk, és nem hagyják, hogy az ilyen objektumokkal tudatlanul játszadozzunk: Változtatható objektumok és léptetõk Mielõtt továbblépnénk az elõállítókra, jegyezzük meg, hogy >>> myDict = {·a·: 1, ·b·: 2, ·c·: 3, ·d·: 4} nem éppen okos dolog akkor megváltoztatni az objektumok >>> for egyKulcs in myDict: tulajdonságait, amikor éppen valamilyen léptetõvel dolgozunk ... print egyKulcs, myDict[egyKulcs] rajtuk. Ez már a léptetõk feltûnése elõtt is nehézségeket oko- ... del myDict[egyKulcs] zott. Népszerû példa ennek bemutatására, ha egy listán próbá- ... lunk meg végiglépdelni és bizonyos feltételek teljesülése (vagy a 1 nem teljesülése) esetén egyes elemeket eltávolítani belõle: Traceback (most recent call last): File "", line 1, in ? for egyURL in osszesURL: RuntimeError: dictionary changed size during if not egyURL.startswith(·http://·): iteration mindenURL.remove(egyURL) # IGEN!! Ennek a figyelmességnek köszönhetõen a hibát okozó szer- A listát kivéve a sorszámozott típusok mindegyike megváltoz- kezetek egyszerûen elkerülhetõk. A léptetõkkel kapcsolatos tathatatlan, így csak a listákkal lehet gond. Egy sorszámozott teljes leírásért forduljunk a 234-es PEP-hez.

54 Linuxvilág Szaktekintély

A visszirányú együttmûködés biztosításáért (arra az esetre, 4. lista Példa a léptetõkre ha egy már korábban létezõ program felhasználja a yield kulcsszót mint azonosítót) az elõállítók használatát a from >>> langs = [·c·, ·perl·, ·tcl/tk·] __future__ import generators utasítással elõre kell >>> langIter =iter(langs) jelezni. A létrehozók elõbb-utóbb mindenképpen szabvánnyá >>> langs.append(·c++·) válnak (2.3?), így erre a késõbbiekben már nem lesz szükség. >>> langIter.next() A létrehozóknak létezik még egy a léptetõkhöz hasonló ·c· tulajdonsága: ha a vezérlés eléri a függvény végét vagy egy >>> langIter.next() return utasítást, és már nincs több átadandó érték, a lépte- ·perl· tõkhöz hasonlóan az elõállító is StopIteration kivételt dob. >>> langIter.next() Egy egyszerû példa: ·tcl/tk· >>> langs def egyszeruGen(): [·c·, ·perl·, ·tcl/tk·, ·c++·] yield 1 >>> langIter.next() # miutÆn a lØptetı yield ·2 --> punch!· # objektumot lØtrehoztuk ·c++· Most pedig hívjuk meg ezt a függvényt, és egy elõállító objek-

>>> langs.remove(·perl·) tumot fogunk visszakapni: © Kiskapu Kft. Minden jog fenntartva >>> langs.append(·ruby·) >>> langs >>> egyszG = egyszeruGen() [·c·, ·tcl/tk·, ·c++·, ·ruby·] >>> egyszG.next() >>> langIter.next() # nincs t bb elem 1 Traceback (most recent call last): >>> egyszG.next() File "", line 1, in ? ·2 --> punch!· langIter.next() >>> egyszG.next() StopIteration Traceback (most recent call last): >>> langs.append(·java·) # œj elem File "", line 1, in ? # hozzÆadÆsa a sor vØgØhez egyszG.next() >>> langIter.next() # lØptetØs folytatÆsa StopIteration ·java· Esetleg még találóbban: for mindenElem in egyszeruGen(): print mindenElem. Természetesen ez egy buta példa. Úgy értem, miért nem használunk inkább léptetõt 1. táblázat Léptetõk az elõállítók ellenében erre a célra? Egyszerûbben megérthetõ, hogy mire gondolok, ha egy függvény rugalmasságát igénylõ sorszámozott típuson Mi a t? t megadása A t.next() eredményeinek próbálunk meg léptetni ahelyett, hogy ugyanezt egyszerû sta- meghívása… tikus objektumokat tartalmazó sorszámozott listával tennénk. Iterator t = iter(obj) következõ elem (vagy A következõ példában olyan véletlenszerû léptetõt hozunk StopIteration kivétel) létre, amely egy sorszámozott típust vár értékként, és annak egy véletlenszerûen kiválasztott elemével tér vissza: Elõállító def t(...): az eltárolt veremkeret visszaállítása… következõ elem visszaadása … vagy from random import randint StopIteration exception def randIter(seq): while len(seq) > 0: yield seq.pop(randint(0, len(seq)-1)) Az elõállítók Az elõállítók a léptetõk alapötletébõl fejlõdtek ki. A fõ érv az elõ- Itt az a különbség, hogy minden elem, amellyel visszatérünk, állítók mellett az, hogy lehetõvé teszik a függvények egyes hí- egyben el is távolítódik, vagyis mintha a list.pop() és vásai közti állapotok elmentését. A statikus változók – a C függ- random.choice() függvényeket egyesítenénk: vényeiben megismertekhez hasonlóan – értékeiket képesek meg- õrizni a függvények egyes hívásai között. Ez részben megoldja >>> for mindenElem in randIter([123, ·xyz·, a gondot, de igazi megoldást egy olyan változó bevezetése jelen- 45.678, 9j]): tene, amely léptetõként képes mûködni, de két függvényhívás ... print mindenElem közt is megõrzi az állapotát, és ha újra meghívják, ugyanott tudja ... folytatni, ahol elõzõleg abbahagyta. Nos ez az, amit az elõállítók valójában tesznek. Megvalósítják és ugyanakkor ötvözik a lépte- ·xyz· tõk és a folytatható függvények mûködését. Ha meghívjuk õket, 9j bármikor ugyanott bírják folytatni, ahol a futásuk elõzõleg félbe- 45.678 maradt, mivel a folytatáshoz szükséges összes adatot tárolják, így 123 bármikor képesek a következõ elemet szolgáltatni. A feladat meg- valósításához egy új kulcsszó is bevezetésre került, a yield, Az 1. táblázat a léptetõk és az elõállítók közötti különbségeket amely nem valódi függvényvisszatérést valósít meg, hanem csak összegzi. Ha fellapozod a 234-es és 255-ös PEP-eket, a témával egy értéket ad át (a keretobjektumot leemeli a veremrõl). kapcsolatos további érdekességeknek is utánanézhetsz.

www.linuxvilag.hu 2002. augusztus 55 Szaktekintély

Az osztásjel megváltozott tulajdonságai Valószínûleg ennek a tulajdonságnak a léte a legvitatottabb az 2. táblázat Az osztásjel új tulajdonságai új Python-változatban. Természetesen számos érvet sorakoz- tathatunk fel ennek az új tulajdonságnak a megléte mellett, Mûveleti jel 2.1.x 2.2 vagy újabb 2.2 vagy újabb csakhogy ellene is akad egy-kettõ. Végül azok gyõztek, akik vagy régebbi („import division” („import division” valódi osztást szeretnének megvalósítani. Ahhoz, hogy megért- nélkül) megadásával) sük, mit is jelent ez a változás valójában, hozzunk létre (újra) / klasszikus klasszikus valódi néhány osztási alapszabályt, és határozzuk meg, hogyan mûködjön egész és valós számok esetén. // – kerekítéses kerekítéses

• Klasszikus osztás Ha egész számokat osztunk, úgy klasszikus osztás esetén a kezdetek óta hibás lenne, különösen azok számára, akiknek az eredmény is egész szám lesz, amely úgy jön létre, hogy a Python az elsõ programozási nyelvük, és nincsenek hozzá- a tizedesrészt az osztás levágja (lásd alább az Osztás kerekí- szokva az effajta osztáshoz. Ezt Guido van Rossum a What’s téssel címû részt). Ha valós számokat osztunk, az eredmény New in Python 2.2 (A Python 2.2 újdonságai) címû ZPUG- is valós szám lesz, mégpedig az osztás valódi végeredmé- beszélgetésben a következõképpen szemlélteti: nye (lásd a Valódi osztás részt). Lássuk csak, hogyan mûkö-

© Kiskapu Kft. Minden jog fenntartva dik az osztás napjainkban a Pythonban: def sebesseg(tavolsag, osszesIdo): arany = tavolsag / osszesIdo >>> 1 / 2 # egØsz szÆmok osztÆsakor # egØsz ØrtØket kapunk Ez a példafeladat rossz, mivel az eredménye teljes mértékben 0 a felhasznált numerikus típusoktól függ. Ha egész számokat >>> 1.0 / 2.0 # val s szÆmoknÆl adsz meg eredménynek, merõben más eredményhez jutsz, # az eredmØny is val s mintha valós típusokat használnál. Hogy eloszlasd a kétséget, 0.5 a következõ átalakításokat kell fejben elvégezned:

• Valós osztás >>> 1 == 1.0 Valós osztásról akkor beszélünk, ha egy osztás eredménye 1 a két szám valódi hányadosát adja vissza. A Python 3.0 >>> 2 == 2.0 közeledtével ezen a téren is nagy változásoknak nézhetünk 1 elébe. Jelenleg, ha valaki a valódi osztás lehetõségeit sze- >>> 1 / 2 == 1.0 / 2.0 # klasszikus osztÆs retné kihasználni, ki kell adnia a from __future__ 0 import division utasítást. Ennek következtében az osz- tásjel valódi osztást fog megvalósítani: Ha a Python újfajta osztását használod fel, ismét helyreáll a rend a világegyetemben: >>> from __future__ import division >>> >>> from __future__ import division >>> 1 / 2 # val s eredmØnyt ad vissza >>> 1 / 2 == 1.0 / 2.0 # val di osztÆs 0.5 1 >>> 1.0 / 2.0 # mint ahogyan ez is >>> 1 // 2 == 1.0 // 2.0 # kerek tØses 0.5 # osztÆs 1 • Osztás kerekítéssel Az új osztásjel (//) minden esetben egy lefelé kerekített Mindamellett, hogy az effajta megoldás tûnik igazinak és (helyesebben: a számegyenesen balra eltolt) egész számmal helyesnek, alkalmazása esetén sem kerülhetjük el korábbi kód- tér vissza, függetlenül a mûveletben résztvevõ értékek nu- jaink hibássá alakulását. Szerencsére ennek a Python fejlesztõi merikus típusától. Ez a mûveleti jel már a 2.2.-es változat- is tudatában voltak, és ez az újfajta osztási tulajdonság csak a ban is megtalálható anélkül, hogy a __future__-bõl bár- 3.0-s változattól kezdõdõen lesz az alapértelmezett, ami még milyen tulajdonságot be kellene illesztenünk: évekre van tõlünk. Azok, akik ezt az új osztási formát kívánják felhasználni, ezt a tulajdonságot beilleszthetik, vagy a Pythont >>> 1 // 2 # EgØsz szÆmok esetØn lefelØ a -Qnew kapcsolóval meghívva az újfajta osztást ugyancsak # kerek tett egØsz eredmØny. érvényre juttathatják. Létezik néhány kapcsoló, melyeket meg- 0 adva a Python figyelmeztet, ha a régi osztás tulajdonságaira >>> 1.0 // 2.0 # Val s szÆmok esetØn lefelØ építünk, így készítve fel minket a majdani Python 3.0-s idõkre. # kerek tett val s eredmØny. A 238-as PEP-bõl további adatokat tudhatsz meg, és a témával 0.0 kapcsolatban a  http://comp.lang.python csoportban folyt >>> -1 // 2 # Ennek az eredmØnye egy a heves vitákat sem árt átolvasgatni. A 2. táblázat összegzi az # szÆmegyenesen balra eltolt osztással kapcsolatos új és régi tulajdonságokat. # ØrtØk. -1 Típusok és osztályok összefésülése A típusok és osztályok összefésülése már jó ideje a Python Anélkül, hogy bármiféle vitába bocsátkoznánk ezzel a válto- kívánságlistáján várakozott. A programozók csalódottak voltak, zással kapcsolatban, az érzés olyan, mintha a Python osztásjele hogy a már létezõ típusokat (például: a listákat) nem tudták

56 Linuxvilág Szaktekintély

továbbszármaztatni, sem a tulajdonságaikat kibõvíteni. – A __getattribute__() különleges tagfüggvény A témával kapcsolatban ajánlatos mind a kapcsolódó PEP-eket, (a __getattr__() okosabb fajtája). mind Guido írását fellapozni, ami azok számára készült, akik gyorsan meg szeretnének ismerkedni ezzel az új tulajdonság- • Osztályleírók gal, anélkül, hogy a PEP-eken kellene átrágni magukat, és – Osztálytulajdonságok. esetleg elveszniük az ott felsorakoztatott megannyi részletben – Statikus tagfüggvények. (lásd a Kapcsolódó címeket). Mindezek szemléltetésére egy – Osztály tagfüggvények. ötletes példát is láthatunk, melyben a Python listáit bõvítjük – A szülõ tagfüggvényeinek meghívása. ki fejlett veremkezelési lehetõségekkel. – Együttmûködõ tagfüggvények. A stack2.py példaprogram megszületését egy korábbi léptetõs – Új gyémántdiagram nevû feloldás (new diamond példa motiválta (lásd a 6.2-es példát a Core Python Program- diagram name resolution). ming oldalon). – Korlátozott készletû osztálytulajdonságok gyenge kötésekkel. #!/bin/env python Az új stílusú osztályokkal és a típusok és osztályok egyesítésé- vel kapcsolatos tájékoztatásért fordulj a 252-es és 253-as ·stack2.py szÆrmaztat Øs kibıv t egy listÆt· PEP-ekhez vagy a korábban említett Guido-íráshoz.

class Stack(list): Összegzés © Kiskapu Kft. Minden jog fenntartva Amellett, hogy a Python új tulajdonságai egy csomó korábbi def __init__(self, *args): hibát orvosolnak, és nagymértékben elõrelendítik ezt az esz- list.__init__(self, args) közt, néhányan úgy gondolják, hogy ezek már sértik a Python # a sz lı osztÆly korábbi egyszerû mivoltát. Ha szigorúan nézzük a dolgokat, # lØtrehoz f ggvØnyØnek megh vÆsa talán helyt adhatunk ennek a kétségnek. Mégis azáltal, hogy eltüntetjük a korábbi zavaró hibákat és új tulajdonságokkal def push(self, *args): bõvítjük a Pythont, valószínûleg egy sokkal használhatóbb for eachItem in args: eszközhöz jutunk. Az új változások semmilyen hatással nincse- # egyszerre t bb elem nek a korábbi programokra, vagy amennyiben mégis – mint self.append(eachItem) az új osztásjel esetén –, úgy az alkalmazkodásra és az átállásra # is tÆrolhat még jócskán van idõnk. Végezetül pedig a Kapcsolódó címekben néhány komolyabb def pop(self, n=1): leírást találhatunk, úgymint Andrew Kuchlin „A Python 2.2 if n == 1: # egyetlen elem kiemelØse újdonságai” címû írását, valamint egy elõadást Guidótól, ame- return list.pop(self) lyet a még õsszel megrendezett Python-találkozón tartott. else: # t bb elem A Python 2.2.1-es változata letölthetõ a Python honlapjáról. # visszakØrØse Jó munkát mindenkinek! return [ list.pop(self) for i in range(n) ] Linux Journal 2002. július, 99. szám

Alább látható a legutóbbi példánk kimenete: Wesley J. Chun >>> from stack2 import Stack a „Core Python Programming” írója. Több >>> m = Stack(123, ·xyz·) mint egy évtizede foglalkozik programozással >>> m és oktatással. A Yahoo! „Mail” és „People” [123, ·xyz·] szolgáltatásai is részben az õ segítségével >>> m.push(4.5) jöttek létre. Jelenleg a Synarcnál, egy klinikai >>> m szolgáltatásokkal foglalkozó cégnél dolgozik, ahol [123, ·xyz·, 4.5] Pythonban fejlesztett alkalmazások segítségével a betegek >>> m.push(1+2j, ·abc·) panaszait elemezve próbálják megkönnyíteni a radiológián >>> m dolgozók munkáját. [123, ·xyz·, 4.5, (1+2j), ·abc·] >>> m.pop() ·abc· Kapcsolódó címek >>> m.pop(3) Dr. David Mertz – Charming Python: Iterators and simple [(1+2j), 4.5, ·xyz·] generators (A Python léptetõirõl és elõállítóiról), >>> m [123] 2001. szeptember.  http://www-106.ibm.com/developerworks/library/ Azon túl, hogy képesek vagyunk beépített típusokat származ- l-pycon.html?n-l-9271 tatni, érdemes még kiemelni az új stílusú osztályok egyes Wesley J. Chun – Core Python Programming a Prentice tulajdonságait: Hall kiadó gondozásában, 2001. Core Python Programming kiegészítõ honlap  • Osztálylétrehozó függvények típuskényszerítése http://starship.python.net/crew/wesc/cpp – Új __class__, __dict__ és __bases__ tulajdonságok.

www.linuxvilag.hu 2002. augusztus 57 Szaktekintély

autoSQL és autoXML: a Genome Projekt kódelõállítói Ezek az eszközök ismétlõdõ kódsorok tízezreinek megírásától mentettek meg minket.

datok mozgatása egyik forrásból a másikba általános Bevezetés az autoSQL-be esetben nem olyan bonyolult. Ha például van egy Az autoSQL SQL- és C-kódot készít az adatok adatbázisból TABULATOR-ral elválasztott adatokat tartalmazó állo- való kiolvasásához, illetve az oda való betöltéshez. Az autoSQL Amányunk, amit SQL relációs adatbázisba szeretnénk helyezni, használatával nem kell a fárasztó adatmeghatározásokat meg- egyszerûen írunk egy rövid SQL-parancsot, majd létrehozunk írnunk, a beolvasó és mentõ kódot is beleértve. Például a bön- például egy rövid C-programot, amely a forrásfájlból beolvassa gészõ közelítõleg harminc nyilvános és harminc kísérleti sávot az adatot és kiírja az adatbázisba. Csakhogy amikor nagy adat-

© Kiskapu Kft. Minden jog fenntartva bázisokkal dolgozunk, vagy mint a mi esetünkben, rettentõ nagyokkal, hirtelen azon kapjuk magunkat, hogy tucatnyi AdressBook.as forrásból származó gigabájtos nagyságrendû adattal van dol- 9 sor gunk. Az efféle kódok írása többé már nem jelent kiutat. (egy autoSQL-leírófájl) E feladat megoldásához mutatunk be most két eszközt, amelyek megszüntetik a gondokat. Együtt adatbázis-megha- tározásokat képesek készíteni SQL-hez, létrehozni C-fejléc- fájlokat, -függvényeket és -prototípusokat adatmeghatározá- AdressBook.as.sql AdressBook.as.c sainkhoz, megírják helyettünk a C-szerkezetekbe író és az 9 sor 129 sor onnan olvasó C-kódot, illetve a XML-értelmezõhöz tartozó (táblakészítés SQL-hez) (eljárások az adatok kezeléséhez) kódot is elkészítik.

A Human Genome böngészõ AdressBook.as.h Az emberi genom (human genome) olyan utasítás-kézikönyv, 53 sor amely a DNS-ünkben kódolódik. Körülbelül hárombillió kémiai (az adressBook felépítése és prototípusai) betûpárból áll, amelyeket általában kezdõbetûikkel jelölünk: G, C, A és T. A genomadat e betûk 24 hosszú szálából áll, ami nem olvasható igazán könnyen. A Human Genome Browser a Santa Egy autoSQL-leírófájl feldolgozása Cruz-i székhelyû Californiai Egyetem honlapja, amely szerte a világon számos tudósnak teszi elérhetõvé ennek a hegynyi tartalmaz. Minden egyes sáv a relációs adatbázis egy-egy adatnak a képi megjelenítését. A böngészõ az adatsort egy ma- táblájához van rendelve. Minden egyes modul, amely egy gasabb szintû jelölésformával ábrázolja – a genom egyes részei- sávtáblát a memóriába tölt, autoSQL-lel készült. hez tartozó feladatoknak megfelelõen. A felhasználók megke- reshetik az érdekesnek talált géneket, belenagyíthatnak, csato- XML-kapcsolat lást hozhatnak létre a genom adott részéhez, ami az idetartozó A projekt késõbbi részeiben elkezdtünk XML-t használni, hogy kutatások lapjára mutat, illetve a genom adatait összehasonlít- a japán kutatócsoporttal együtt tudjunk mûködni. Az XML a hatják más fajok adataival. A böngészõ bizonyos fajta jelölé- DAS-rendszeren keresztül (a Distributed Annotation System seket a genom koordinátahelyek alatt sávként jelenít meg. a genomadatok internetes átadásának formátuma) egyúttal a A Genome Browser HTML/CGI-felülettel bír, amely lehetõvé más oldalakkal való adatcserére is alkalmas. teszi, hogy a felhasználó megtekintse, illetve (a dinamikusan Az autoXML az XML DTD fájl alapján elkészíti az XML-értel- készített képtérkép (image map) segítségével) rákattinthasson mezõ számára a C-kódot. Mivel az XML-adatcsere még a SQL- a genom sávjaira. A sávok nagyítási beállításait, illetve sûrûsé- adatcserénél is feldolgozásigényesebb, az autoXML igen gét a felhasználók ûrlapmezõkön keresztül állíthatják be. hasznosnak bizonyult. A CGI forráskódja C-ben készült, a genomadat pedig SQL- adatbázisban tárolódik. Értékük a kódolás szempontjából Itt igen sok adatról van szó. A böngészõ forráskódjának kezel- Az autoSQL és az autoXML együtt felbecsülhetetlen értékû nie kell a gén-elõrejelzések (genom prediction) és az emberi, idõmegtakarító alkalmazásnak bizonyult. Az autoSQL a bön- illetve más fajok genomja közti hasonlóság formátumait. gészõprojekt létfontosságú igáslovává vált. A maga 1200 sorá- A dolgokat tovább bonyolítja, hogy legalább egy tucat külön- val a böngészõprogram felét készítette el: kódsorok tízezreit. féle külsõ forrásból dolgozunk, amelyek mind a saját külön Bár nem használunk annyi XML-kódot, mint SQL-t, mégis még forrásukat használják. Még ha nem is akarjuk ezeket az adat- az autoXML-lel is kezdünk beragadni. Egyetlen adatbeolvasó formátumokat belsõleg használni, akkor is meg kell írnunk a projektben, amely a japán Riken egérgénbejegyzéseket tartal- hozzájuk tartozó értelmezõket, hogy beolvashassuk, és a saját mazza, az autoXML körülbelül 1500 sornyi kódot készített formátumunkba menthessük õket. A kódelõállítókat körülbelül (saját maga csak 1200 soros). felerészben más csoportok állományainak beolvasását meg- Az autoSQL és autoXML futtatható állományait a könnyítõ feladatra használtuk.  http://www.soe.ucsc.edu/~kent/exe címen érhetjük el. A for-

58 Linuxvilág Szaktekintély

ráskód, a Linux végrehajtható állományok, és az ebben a cikk- char *name; ben szereplõ példák a 38. CD Magazin/autoSQL könyvtárában /* Name - first, last, both, we don·t találhatók meg. *care */ char *address; /* Street address */ autoSQL-áttekintés char *city; /* City */ Az autoSQL olyan program, amely egy adott objektummeg- unsigned zipCode; /* A zip code is always határozás alapján a megfelelõ SQL táblalétrehozó kódot és az *positive, so can be unsigned */ adatbeolvasáshoz, illetve mentéshez szükséges C-kódot ön- char state[3]; /* Just store mûködõen képes létrehozni (a folyamat lépéseit az ábrán *the abbreviation for the state */ találhatjuk). }; A meghatározó nyelv kicsit ugyan cikornyás, a legtöbb feladat esetében azonban bizonyítottan igen hatékony. Az autoSQL-t A C-ben az SQL-adatbázis egyetlen sorát általában egy idõben eredetileg relációs adatbázisokhoz fejlesztettük ki; késõbb érjük el. A sort karaktersorozatok tömbjeként kapjuk meg. kiderült, hogy olyan kódot készít, amelyet más egyértelmûen A C programtól függ, hogy ezeket az ASCII számmegfelelõket határozott formátumokból is be tud tölteni, feltéve, hogy alakítja-e át bináris számokká. Ez nem túl nehéz munka, szöveges állományról van szó. viszont miután begépeltünk húsz-harminc sort, amelyek mind nagyjából a következõképpen néznek ki:

Egy egyszerû példa © Kiskapu Kft. Minden jog fenntartva Képzeljünk el egy egyszerû címtárat, ahol csak a nevet, az point->x = atoi(row[1]); utcát, az irányítószámot és az országot tároljuk. Az autoSQL- point->y = atoi(row[2]);* meghatározás a következõképpen nézne ki: az autoSQL által készített két eljárást hamar megtanuljuk table addressBook értékelni. Lásd még: "A simple address book" ( void addressBookStaticLoad(char **row, string name; struct addressBook *ret); "Name - first, last, both, we don’t care" /* Load a row from addressBook table lstring address; "Street address" into ret. */ string city; "City" /* The contents of ret will be replaced uint zipCode; "A zip code at the */ is always positive, so can be unsigned" /* next call to this function. */ char[2] state; "Just store the abbreviation for the state" struct addressBook ) *addressBookLoad(char **row); /* Load a addressBook from row Ha egy kicsit úgy tûnik, mintha a nyelv a C-szerkezetek és az *fetched with */ SQL-táblameghatározások hibridje lenne, az azért van, mert /* select * from addressBook from amikor Jim elkészítette az autoSQL nyelvet, C-rõl éppen SQL- *database.*/ re váltott. /* Dispose of this with addressBookFree(). */ Ha a címtárpéldát átfuttatjuk az autoSQL-en, a program elkészíti az SQL-táblameghatározásokat: Az elsõ eljárást általában akkor használjuk, amikor egyszerre csak egyetlen elemet szeretnénk feldolgozni. Mivel dinami- #A simple address book kusan nem foglal memóriát, igen gyors. A második eljárás CREATE TABLE addressBook ( ellenben az adatszerkezetet dinamikusan foglalt memóriába name varchar(255) not null, # Name - menti. Mivel a C-szerkezet minden esetben tartalmaz egy next first, last, both, we don’t care (következõ) mezõt, ezt az eljárást címbejegyzéslisták kialakí- address longblob not null, # Street tásához is könnyen felhasználhatjuk. address Az egyetlen gond a dinamikus memóriahasználattal az, hogy city varchar(255) not null, # City nem szabad megfeledkezni a felszabadításáról. Bár az autoSQL zipCode int unsigned not null, # A zip code nem tud helyettünk emlékezni, képes olyan eljárásokat készí- is always positive, so can be unsigned teni, amelyek egy dinamikusan foglalt adatszerkezetet vagy state char(2) not null, # Just store ezek listáját szabadítják fel. A következõ két eljárás pontosan the abbreviation for the state Indices ezt teszi: PRIMARY KEY(name) ); void addressBookFree(struct addressBook **pEl); /* Free a single dynamically allocated illetve a C-szerkezetmeghatározásokat: * addressBook such as created with * addressBookLoad(). */ struct addressBook /* A simple address book */ void addressBookFreeList { (struct addressBook **pList); struct addressBook *next; /* Free a list of dynamically /* Next in singly linked list. */ * allocated addressBook·s */

www.linuxvilag.hu 2002. augusztus 59 Szaktekintély

feladatot el tudja végezni: 2. lista Az autoSQL-írásmód void addressBookOutput(struct addressBook *el, declarationList: FILE *f, char sep, char lastSep); declaration /* Print out addressBook. Separate fields declarationList declaration *with sep. Follow last field with lastSep. */

declaration: illetve makrókat, amelyek a vesszõs és tabulátoros változatok- declareType declareName comment ’(’ fieldList hoz kényelmes elérést adnak: ’)’ #define addressBookTabOut(el,f) declareType: addressBookOutput(el,f,’\t’,’\\n’); ’simple’ /* Print out addressBook as a line in ’object’ *a tab-separated file. */ ’table’ #define addressBookCommaOut(el,f) declareName: addressBookOutput(el,f,’,’,’,’);

© Kiskapu Kft. Minden jog fenntartva name /* Print out addressBook as a comma *separated list including final comma. */ comment: quotedString Az autoSQL egy olyan eljárást is készít, amely vesszõvel hatá- rolt listákat olvas. Mivel ezt az eljárást valószínûleg soha nem fieldList: fogjuk közvetlenül meghívni, a mezõk kicsit összetettebbek, field mint azok az egyszerû karaktersorozatok és számok, amelyeket fieldList field az adatbázisba mentünk. Ez az eljárás lehetõvé teszi, hogy az autoSQL olyan objektumokat kezeljen, amelyek további objek- field: tumokat tartalmazhatnak. fieldType fieldName ’;’ comment fieldType ’[’ fieldSize ’]’ name ’;’ Az objektumok típusai comment Az autoSQL három objektumtípust ismer: • Simple: olyan objektum, amely nem tartalmaz változó fieldName: méretû tömböt. name • Object: olyan objektum, amely tartalmazhat változó méretû tömböket. A következõ mutató önmûködõen beszúródik az fieldType: objektumnak megfelelõ C-szerkezet elsõ mezõjébe. ’int’ • Table: hasonló az objektumhoz, azonban a program C-meg- ’uint’ határozásokon kívül SQL-meghatározásokat is készít. ’short’ ’ushort’ A Simple objektum a program tömbmegadás-kezelésében ’byte’ különbözik a többitõl. A következõ mezõmegadás esetében ’ubyte’ ’float’ simple point[3] triangle; "A three sided figure" ’char’ ’string’ a három pont a memóriában C tömbként tárolódik. Ellenben ’lstring’ ha a szerkezetet a declareType declareName object point[3] triangle; "A three sided figure" fieldSize: number módon adjuk meg, a három pont a memóriában egyenként fieldName csatolt listaként jelenik meg.

Megjegyzések: A mezõk típusai • name: betûk és számok sorozata, amely betûvel kezdõdik A következõ alap mezõtípusokat támogatja: • • number: számjegyek sorozata int: 32-bites elõjeles egész; • • quotedString: bármilyen szöveg dupla idézõjelek közé zárva uint: 32-bites nem negatív egész; • short: 16-bites elõjeles egész; • ushort: 16-bites nem negatív egész; • byte: 8-bites nem negatív egész; Igazán kényelmes dolog, hogy kódolás nélkül tudunk adat- • ubyte: 8-bites nem negatív egész; szerkezetekbe adatbázismezõt beolvasni, de néha szerkezeteket • float: egyszeres pontosságú IEEE lebegõpontos szám; is ki kell tudnunk írni. Az autoSQL azt feltételezi, hogy az • char: 8-bites karakter (csak tömbben használható); adatszerekezeteket TABULATOR-ral vagy vesszõvel határolt for- • string: változó hosszúságú karaktersorozat, legnagyobb mátumban mentjük. Olyan eljárást készít, amely bármelyik hossza 255 bájt;

60 Linuxvilág Szaktekintély

3. lista autoXML-kód elõállítása

A k vetkezı tartalmœ polygon.dtdx fÆjl /* Load polyPolygon from file. */ struct polyDescription { struct polyDescription *next; char *text; }; void polyDescriptionSave(struct polyDescription *obj, int indent, FILE *f); Øs az alÆbbi parancssor /* Save polyDescription to file. */

**autoXml polygon.dtdx poly* struct polyDescription *polyDescriptionLoad(char *fileName);

a k vetkezı poly.h fÆjlt eredmØnyezi: /* Load polyDescription from file. */ © Kiskapu Kft. Minden jog fenntartva

/* poly.h autoXml generated file */ struct polyPoint #ifndef POLY_H { #define POLY_H struct polyPoint *next; double x; /* Required */ struct polyPolygon double y; /* Required */ { double z; /* Defaults to 0 */ struct polyPolygon *next; }; char *id; /* Required */ struct polyDescription *polyDescription; void polyPointSave(struct polyPoint *obj, /** Optional (may be NULL). **/ int indent, FILE *f); struct polyPoint *polyPoint; /* Save polyPoint to file. */ /** Non-empty list required. **/ }; struct polyPoint *polyPointLoad(char *fileName); /* Load polyPoint from file. */ void polyPolygonSave(struct polyPolygon *obj, int indent, FILE *f); #endif /* POLY_H */ /* Save polyPolygon to file. */

struct polyPolygon *polyPolygonLoad(char *fileName);

• lstring: változó hosszúságú karaktersorozat, legnagyobb meghatározásért (a teljes autoSQL nyelv megismeréséhez hossza kétbillió bájt. nézzük át a 2. listát!).

A Simple, Object és Table típusok is használhatók mezõként. autoXML-ismertetõ Az autoXML XML DTD fájl alapján hoz létre C-kódot az Állandó hosszúságú és változó tömbmegadások XML-értelmezõhöz. A DTD minden egyes mezõjéhez egy- Egy tömböt állandó vagy változó hosszúságúnak lehet meg- egy C-szerkezetet állít elõ, és az eredeti szerkezet minden adni. A változó hosszúságú tömböket úgy adjuk meg, hogy egyes tulajdonságához egy-egy mezõt készít. Alapértelme- tömb megadáskor a mezõ nevét zárójelek közé tesszük. Ennek zés szerint olyan értelmezõt állít elõ, amely figyelmen kívül a mezõnek a tömb elõtt kell meghatározva lennie. hagyja az olyan elemeket, amelyek nincsenek megadva a DTD-ben, de egyébként hitelesítõ értelmezõ is. Ha a Egy összetettebb példa -picky kapcsolót használjuk, teljes mértékben hitelesítõvé Képzeljük el, hogy éppen most készültünk el egy csodálatos (validating) válik. 3D-s modellezõ programmal. Az egyetlen gond, hogy az Az autoXML-értelmezõ a teljes fájlt a memóriába tölti. Ha ez adatokat most adatbázisba kellene menteni. Az 1. lista mutatja nehézséget okoz, az alacsonyabb szintû xap értelmezõt kell meg, hogyan építhetjük fel ezt az adatbázist autoSQL-lel. igénybe vennünk, amely nagyon hasonlít a gyakran használt A meghatározást threeD.as-ként mentve és futtatva az expat értelmezõhöz, de egy kicsit gyorsabb. autoSql threeD.as threeD Gyors XML- és DTD-ismertetõ Ha az eddig olvasott rövidítések valakit zavarba ejtettek, akkor utasítást máris megkaptuk: 393 sornyi – remélem – hibamentes valószínûleg nemigen hallott még az XML-rõl (eXtensible C-kódot és 14 sor SQL-t cserébe a mindössze 33 soros Markup Language). E nyelvnek tagalapú formátuma van.

www.linuxvilag.hu 2002. augusztus 61 Szaktekintély

Egyszerû példa egy ilyen XML-dokumentumra: Ha az alelemet semmilyen karakter nem követi, akkor az alelem pontosan egyszer szerepel. Az ATTLIST tulajdonsá- gokat ad meg és hozzárendeli õket valamelyik elemhez. Jó szokás, ha az ATTLIST -eket a megfelelõ ELEMENT mellett This is soooo square man tartjuk. Az ATTLIST a következõ mezõket tartalmazhatja: • elem: a vonatkozó elem neve • név: a tulajdonság neve • típus: általában CDATA . Lehet reference (hivatkozás) vagy date (dátum), viszont az autoXML nem kezeli õket. • alapértelmezés: itt találjuk a felhasználandó alapértelmezett értéket arra az esetre nézvést, ha a tulajdonság nem lenne XML-ben minden párok közt van. A tagokhoz jelen. A #REQUIRED kulcsszó ebben a mezõben azt jelenti, szöveg, tulajdonság és altag lehet hozzárendelve. A fenti hogy a tulajdonság megadása kötelezõ. A #IMPLIED kulcsszó példában a POLYGON két altagja a DESCRIPTION és a POINT , jelentése: az adott tulajdonság hiányozhat (ebben az esetben tulajdonsága az id, szövege pedig nincs. A DESCRIPTION – miután az autoXML beolvasta – az értéke NULL vagy zérus). tagnak van szövege („This is soooo square man”), viszont nincs

© Kiskapu Kft. Minden jog fenntartva altagja és tulajdonsága. A POINT az x és y tulajdonságokkal bír. Az autoXML kiegészítései és korlátai A POINT egyben egy XML-rövidítést is bemutat: a kizárólag Az autoXML az ATTLIST kulcsszót az INT vagy FLOAT típu- tulajdonságokat tartalmazó tagokat sokkal bõvíti ki, hogy karakteres érték helyett számtípus is formában is lehet írni, a megadható legyen. Ennek megfelelõen a #PCDATA helyén a rövidítéseként. #INT vagy a #FLOAT jelöléseket is használhatjuk, ha a szöveg- Az XML sokban hasonlít a HTML-re, de jelentõs különbségek mezõbe számszerû adatot szeretnénk helyezni. Ha ezeket a is akadnak. XML alatt minden egyes tulajdonságnak idézõjelek kiterjesztéseket használjuk, DTD fájlunkon inkább a .dtdx közt kell szerepelnie, míg HTML-ben ezek elhagyhatók. A ta- kiterjesztést alkalmazzuk az egyszerû .dtd utótag helyett. goknak XML alatt szigorúan keretet kell alkotniuk, míg a Jelenleg az autoXML csak akkor kezeli a DTD-megjegyzéseket, HTML megengedi, hogy a tagokat megnyissuk és ne zárjuk le. ha egymagukban állnak az adott sorban. Az autoXML elvárja, HTML-ben a tagok elõre megadottak, XML alatt a meghatáro- hogy minden ELEMENTS és ATTLIST meghatározás egyetlen zásaik tõlünk függenek. sorban férjen el. Továbbá nem kezeli a hivatkozó adattípust XML alatt két módon adhatunk meg tagokat: DTD fájllal azon túl, hogy a hivatkozási azonosítót szövegként menti. avagy XML-sémák alapján. Mindkét módszer mellett és ellen A 3. listában egy teljes, autoXML által készített forráskódpéldát is szólnak érvek. A DTD fájlok viszonylag egyszerûek és igen figyelhetünk meg. A 3. listában látható .h fájlon kívül az sok értelmezõ és XML-böngészõ felismeri õket. Másrészrõl, a autoXML a megfelelõ .c fájlt is elkészíti. Minden XML-fájlnak DTD fájlok nem tudják leírni, hogy egy bizonyos tulajdonság egy fõ objektummal kell bírnia. Jelen esetben ez a fõ objektum számformátumú-e. Az XML-sémák összetettebbek: maguk is a POLYGON (a DTD jelen formájában nem teszi lehetõvé, hogy XML formátumban íródtak, ami bizonyos szempontból nem egy fájlban több mint egy sokszögünk legyen). A fenti DTD-t rossz. Egyelõre azonban nem olyan széles körben támogatot- figyelembe vevõ XML-fájlokat a polyPolygonLoad() tak. Jelenleg az autoXML is csak DTD fájlokkal mûködik, függvénnyel tölthetjük be, majd a polyPolygonSave néhány egyszerû kiegészítéssel. függvénnyel menthetjük vissza. Íme, a fenti POLYGON formátumot leíró DTD: Mint láthattuk, az autoSQL és autoXML jól mûködik az adatok széles skáláján, legyen az címtár vagy akár génkövetés. Remél- jük, ezeket az eszközöket a saját projektjeidben is hasznosnak fogod találni.

A kapcsolódó címek, valamint az 1. lista megtalálható a 38. CD Magazin/autoSQL könyvtárában. Linux Journal 2002. július, 99. szám Jim Kent A DTD két f meghatározástípussal rendelkezik: az ELEMENT PhD-fokozattal bíró kutató, a Human Genome és ATTLIST (vagy attributes) kulcsszóval. Az element Projectben végzett munkájáról a New York meghatározás tartalmazza az elem nevét és az alelemek záró- Times, a San Francisco Chronicle és más jeles listáját, ez utóbbi elhagyható. Az alelemeknek valahol médiumok közöltek cikkeket. Jelenleg a fajok meg kell lenniük adva a DTD-ben, kivételt képez a #PCDATA közti genom-összehasonlításon dolgozik. alelem, amely azt jelzi, hogy az elem a tagjai között szöveget tartalmazhat. Minden alelem megadását az alábbi karakterek Heidi Brumbaugh egyike követheti: a késõ ’80-as évek óta végez írói tevékenységet a számítógépes kiadás iparágában. • ?: az alelem elhagyható. A projektjeihez vezetõ hivatkozások, illetve • +: az alelem legalább egyszer elõfordul. írásai a  http://www.heidi.to címen érhetõk el. • *: az alelem 0 vagy több esetben ismétlõdik.

62 Linuxvilág Szaktekintély

Clipper-programok Linux alatt (2. rész) A Clip fejlesztõi környezetrõl szóló sorozatunkat további adatbázis-kezelõk ismertetésével folytatjuk.

clip az Oracle-, PostgreSQL- és MySQL-adatbázisok elérését is lehetõvé teszi. Nagy örömmel vettem észre, 3. lista A párhuzamos példaprogramok megjegyzésekkel hogy milyen egyszerû is kedvenc adatbázis-kezelõm, Aa PostgreSQL elérése a clip programokból. Ennek az illesztés- // A pÆrhuzamos programozÆs bemutatÆsa. nek a megismerése két szempontból is tanulságos: local id1, id2 • Példát láthatunk rá, hogyan lehet egy összetettebb C-illesz- // Ezek tÆroljÆk a feladatazonos t kat. tõfelületet a cliphez illeszteni (lásd a cliplibs/clip-postgresql

könyvtár pg_clip.c forrását). id1:=start("f1") // Ind tjuk az f1 f ggvØnyt. © Kiskapu Kft. Minden jog fenntartva • Elemezhetjük, hogyan érdemes egy ilyen C nyelvû felületre id2:=start("f2") // Ind tjuk az f2 f ggvØnyt. barátságosan kezelhetõ osztályrendszert kialakítani az illesztés bonyolultabb részleteinek eltakarásával. // Ez a for ciklus a program fıszÆla. for i=1 to 10 Az adatbázis-kezelés alapja – az ADO és más rendszerekhez hasonlóan – a connect és a recordset osztályok haszná- ? ’main: send to ’, id1, i, latára épül. Egy kapcsolatobjektum (session vagy connect) TaskSendMsg(id1, i) // Az i ØrtØkØt létrehozása a következõ függvényhívással valósítható meg: // elk ldj k ? ’main: send to ’, id2, i, // Egy œj kapcsolatobjektum lØtrehozÆsa TaskSendMsg(id2, i) // mindkØt szÆlnak LOCAL conn // Ez lesz a kapcsolatobjektum conn := ConnectNew("PG","localhost", "5432", sleep(1) // lemondunk a vezØrlØsrıl "postgres","111111","imiadatok") (az nzı viselkedØs elker lØse) next i Az osztálylétrehozónak átadott értékek jelentése: ? • A PG azt jelzi, hogy egy PostgreSQL adatbázis-kapcsolatot return szeretnénk. // Itt van vØge a fıszÆlnak Øs egyben • A második kapcsoló az adatbázis-kezelõ gép IP-címe vagy // a programnak is. DNS neve. • A harmadik helyen adjuk meg a használni kívánt kaput. // Az elsı szÆl. • A negyedik és ötödik érték a felhasználónév és a jelszó. function f1 • Utolsóként az adatbázis neve áll. local m

A conn objektumot a conn:Destroy() hívással szüntethet- while .t. jük meg. A conn objektumon keresztül kezelhetjük az m:=TaskGetMsg() // VÆr, am g meg nem adatbázissal fenntartott munkafolyamatot, segítségével // kapja (blokkol dik a h vÆs), ? ’f1: got’, m // Amikor az adatot megkapja, ki rja. Egy kedves olvasónk levelébõl end

A fentiekkel összhangban a Clippert (illetve a saját változatunkat, // Ez a mÆsik szÆl algoritmusa. a CCC-t) nem régi programok feltámasztására használjuk, hanem function f2 újak írására. A CCC különösen alkalmas kiszolgálóprogramokhoz. local m Egy kiragadott példa, amire mostanában szakmai berkekben elis- merõen szoktak hümmögni: a CCC-ben készült banki számlave- while .t. zetõ rendszerünkre épülõ (szintén CCC-ben írt) XMLRPC-kiszol- // Nem blokkol, de ha van ØrtØk, gálók nyújtanak tranzakciós felületet az Electra elektronikus banki // kiolvassa, majd a kØpernyıre rja rendszernek. Ugyanezek az XMLRPC-kiszolgálók biztosítanak m:=TaskPeekMsg() lekérdezési felületet az Apache PHP modulja által futtatott ügyfél- ? ’f2: got’, m programoknak. Ha másik cikket nem is érdemes írni, annak // NØha le kell mondani a processzorr l, örülnék, ha a lapban valahol megjelenne az következõ hivatkozás: // hiszen aTaskGetMsg() aszinkron f ggvØny.  http://www.comfirm.hu. Itt sok leírás található a CCC-rõl, sleep(0.5) maga a program is letölthetõ, bárki kedvére használhatja. Vermes Mátyás end

www.linuxvilag.hu 2002. augusztus 63 Szaktekintély

// VØgiglØpdel nk az SQL-mutat (cursor) 4. lista Kép létrehozása // seg tsØgØvel Øs ki rjuk az elsı oszlopot local data // KØplØtrehozÆs DO WHILE !rs:Eof() // data := rs:Read() #define PI 3.14159265358979323846 // Az eredmØnytÆbla elsı oszlopÆnak #include "gdinfo.ch" //kØpernyıre listÆzÆsa ? local gd, red, white, black, blue, yellow, fon PADR(data[HASHSTR(UPPER(rs:FieldName(1)))]) clear screen rs:Skip() ENDDO im=GdImageNew(200, 200) rs:Destroy() // Egy res vÆszon lØtrehozÆsa white=im:newColor(255, 255, 255) Rugalmas lehetõség a conn:Command(sql) tagfüggvény, // a hasznÆlni k vÆnt sz nek amellyel tetszõleges SQL-parancs (insert, update, delete, black=im:newColor() commit) adható ki: red=im:newColor(255) // piros

© Kiskapu Kft. Minden jog fenntartva blue=im:newColor(,,255) // kØk conn:Command("insert into telefonok yellow=im:newColor(255, 255) // sÆrga values(’KovÆcs JÆnos’, ’123456789’") fon=im:newColor(0xDE,0xEF,0xF5) conn:Command("commit") // a clip ezt az rÆsm dot is ismeri im:fill(0, 0, fon) A PostgreSQL-programozás elmélyítésére ajánlom a im:filledArc(100, 100, 45, 45, yellow) cliplibs/clip-postgresql/example könyvtárban található my_psql.prg programot, ami egy mini SQL-konzolt valósít luch=GdImageNew(3, 3) meg clipben. A PostgreSQL modult használó programok luch:fill(0, 0, luch:newColor(255, 255)) fordításakor a clip parancssorban vagy a Makefile-ban a -lclip-postgres kapcsolót is meg kell adni. im:setBrush(luch) cx =100 Párhuzamos programozás cy = 100 A clip lehetõvé teszi, hogy a vele fejlesztett programok többszá- // A napocska sugarainak kirajzolÆsa lúak legyenek. A forrásfájl könyvtárában e lehetõség megvalósí- for i=0 to 180 step 45 tását a _thread.c fájl tartalmazza. x1 = cos(PI*i/180) * 60 + cx A clip csomagban néhány példaprogram is található, amelyek y1 = sin(PI*i/180) * 60 + cy mutatják be az alaplehetõségeket. A 4. listában látható kis x2 = cos(PI*(i+180)/180) * 60 + cx program is ebbõl a gyûjteménybõl származik, elláttam azon- y2 = sin(PI*(i+180)/180) * 60 + cy ban néhány im:line(x1, y1, x2, y2, magyarázattal. GDSTYLE_BRUSHED) Az ottani ma- next gyarázatok, remélem, elégsé- // A szemek gesek a program im:filledArc(93, 90, 6, 6, blue) mûködésének im:filledArc(107, 90, 6, 6, blue) megértéséhez. Az f1 függvény im:string("Ez a jelem!", 50, 50, azért nem lesz GDFONT_LARGE, black) önzõ, mert néha im:stringVector("", 50, 150, 300, 0, black) blokkolódhat. // A megadott fÆjlba mentj k a kØpet Ez az f2-re nem // (PNG t pus) igaz, hiszen a im:toPNG("kepem.png") TaskPeekMsg return .t. aszinkron vég- 1. rehajtású, így szükség van tetszõleges SQL-parancsot adhatunk ki. A telefonok táblához a szál idõnkénti közvetlen altatására (sleep). A fenti példa a szá- például az alábbi módon hozhatunk létre rekordkészletet: lak közti kapcsolattartásra egy egyszerû megoldást is bemutat.

/ A select... parancs hasznÆlata Hálózatos alkalmazások készítése LOCAL rs A clip rendszer egy alapszintû hálózatkezelõ részt tartal- LOCAL sql := "select * from telefonok" maz. Megfigyelésem szerint ez a modul még jelentõs rs := conn:CreateRowset(sql) fejlesztésre szorul, de külsõ C/C++ eljárások használatával // LØtrehozza a rekordkØszlet objektumot már most is teljes értékû programokat írhatunk. Nézzünk egy egyszerû clipprogramot, ami kapcsolatba lép egy webki- Ezek után a rekordkészlet a szokásos módon kezelhetõ: szolgálóval és egy érték nélküli GET kérést küld neki, majd

64 Linuxvilág Szaktekintély

a kapott választ a képernyõre írja: ? msg2 // ki rjuk a kØpernyıre. // httpteszt.prg ? procedure main( ipcim ) buff="GET "+chr(10)+chr(13) A fordítás és összeszerkesztés a clip -e -M titok.prg eredmeny=space(1000) segítségével lehetséges. sock = tcpconnect( ipcim, 80 ) // Kapcsol dÆs a 80-as kapura A gzip és bzip2 használata tcpwrite(sock, @buff, len(buff)) Tegyük fel, hogy a csomag.gz fájl egy gzip-pel tömörített fájl. // Adatk ldØs a TCP-foglalaton kereszt l Ezt a h:=gzipOpen("csomag.gz", "rwb") függvénnyel tcpread(sock, @eredmeny, 1000 ) megnyithatjuk, amelyben a h a fájlkezelõ. A fájlt // A vÆlasz olvasÆsa gzipWrite(h, msg) és gzipRead(h, @msg1) függvények- tcpclose(sock) kel írhatjuk, olvashatjuk. A fájlkezelõ mûveletek befejezéseként // A TCP-foglalat lezÆrÆsa tömörített fájlunkat a gzipClose(h) hívással zárhatjuk le. ? eredmeny A bzip2 formátumra is hasonló eljárások léteznek. Akit részlete- ? sebben is érdekel, nézze át a clip-bzip2 és a clip-gzip könyv- return tárak tartalmát! © Kiskapu Kft. Minden jog fenntartva A programot a clip -e httpteszt.prg paranccsal kell Dinamikus képlétrehozás lefordítani. A -M kapcsolót azért hagyhattuk el, mert main Webes alkalmazásokban gyakori lehetõség egy kép háttérben eljárást elkészítettünk, azaz nem kérjük annak önmûködõ lét- való létrehozása, így minden laplekérés alkalmával annak rehozását. A ./httpteszt 127.0.0.1 parancs például idõszerûsített változatát láthatjuk. Ilyen eset például az, amikor a helyi gép a feltett kérdésre küldött Igen, Nem, Nem tudom válaszokat nyitóoldalát számoljuk, majd ezt az eloszlást egy oszlopdiagramban meg kéri le. szeretnénk jeleníteni. A 4. listán lévõ látható példaprogram A TCP/IP-fog- egy napocska ábráját (kislányom óvodai jele) hozza létre, fel- lalat (socket) tüntetve benne az „Ez a jelem!” szöveget is. A program által illesztés a _tcp.c létrehozott képet a 1. ábra mutatja. forrásfájlban A program im:toPNG() sora helyett más képformátumokat lett megvaló- is használhatunk (például toJPEG()). sítva. Érdekes lehet a követ- További lehetõségek kezõ, clipbeni A clip számos további, a fentiekben nem részletezett szolgál- osztályként tatással bír. Ezek közül nagyon fontosak a grafikus felhasználói megvalósított felület létrehozását, az üzleti grafikát (lásd 2. ábra), a DBF fájlok modulok for- SQL-értelmezõjét (interpreter) és a szabványos kifejezéseket ráskódjának kezelõ (forrása _regex.c) alrendszerek. 2. tanulmányo- Befejezésül fontos kiemelni, hogy ez a rendszer folyamatos zása: SMTP- fejlesztés alatt áll, a fejlesztõk honlapját néhány hetente érde- A Clip üzleti grafikája protokoll, mes megtekinteni, mert könnyen lehet, hogy a programozók HTML-, illetve valami új és érdekes modult illesztettek hozzá a már most is CGI-támogatás (elemzõ és HTML-létrehozó lehetõségek), URL- gazdag lehetõségeket nyújtó környezethez. osztály, aminek a használata hasonló a Java URL class-éhoz. A cikkhez tartozó listák megtalálhatóak a 38. CD Titkosítás Magazin/Clipper könyvtárában. Számos esetben szükségünk lehet rá, hogy értékes adatainkat titkosítsuk. A cliplibs/clip-crypto könyvtár crypto.c modulja Irodalomjegyzék remek megoldást kínál erre, egyúttal újabb példát láthatunk 1. A clip hálózaton található leírása külsõ C-függvények illesztésére. Nézzük meg, hogyan is hasz-  http://www.english.itk.ru/clipper/ nálhatjuk ezt az eszközt rendszerünkben! 2. Endrõdi Tamás: Korszerû programozás a Clipper 5.01-ben és a CA Clipperben, 1993 // titok.prg  http://www.gdf.hu/IAI/Segedletek/Segedlet009Fo.htm msg:=’Kedves BarÆtom!’ 3. Dr. Dedinszky Ferenc: Clipper 5 ComputerBooks, 1992 // Ez a ny lt sz veg, amit titkos tani akarunk. 4. Molnár Lajos-Molnárné Nagy Anikó: Clipper kézikönyv key=’asdf’ Novotrade, 1989 // A titkos tÆshoz hasznÆlt kulcs. msg1:=evp_encrypt(msg, key) Nyíri Imre // msg1 a titkos tott sz veget tartalmazza ([email protected]) jelenleg a MOL Rt.-nél ? msg1 dolgozik. Informatikai vállalkozásában // ki rjuk a kØpernyıre az Internet, a Linux, valamint a Java prog- msg2:=evp_decrypt(msg1, key) ramozás gyakorlati hasznosításával fog- // visszakapjuk az eredeti sz veget lalkozik, örök szerelme a C++ maradt.

www.linuxvilag.hu 2002. augusztus 65 Szaktekintély

A névkiszolgálókról A névkiszolgálók az Internet (egyik) alapkövének számítanak, jó kiszolgálóprogramot találni azonban nem egyszerû. Vizsgáljuk meg, hogy pontosan mi a DNS szerepe, és milyen kiszolgálóprogramok közül választhatunk, amelyek megfelelnek a követelményeknek.

névkiszolgálóknak alapvetõen két dolgot kell tudniuk: minden szolgáltató alkalmaz gyorstárakat, ezzel is csökkentve IP- (hálózati) címekhez nevet és a nevekhez hálózati a hálózati terhelést és gyorsítva a forgalmat. Mint mindennek, címeket rendelniük. Az emberek könnyebben jegyez- ennek is megvan a maga rossz oldala. Elég csak arra gondolni, nekA meg neveket, mint számsorozatokat, ezért az Interneten is hogy ha levélkiszolgálónkon pont IP-címet váltunk, egy napig

© Kiskapu Kft. Minden jog fenntartva nevek alapján tájékozódunk. A számítógépek viszont a neveket biztosan akadozva érkeznek a levelek, mert – amíg a gyors- nem ismerik, csak a számokat, amelyek a kívánt célállomáshoz táruk nem frissül – a nem a saját zónánkat karbantartó szol- irányítják ügyfélgépek kéréseit. Ezt folyamatot, azaz a nevek gáltatók mögött lévõ ügyfelek nem fognak minket elérni. IP-címekre való leképezését névfeloldásnak nevezik. Nagyon A névkiszolgálóknak van még egy különleges fajtája. Sokan röviden ebbõl áll a névkiszolgálók szerepe. Tekintsük át, vannak, akik szolgáltatásokat szeretnének futtatni a gépükön, miként osztályozhatjuk a kiszolgálókat mûködésük szerint: azonban állandó IP-címmel nem rendelkeznek, ami viszont szükséges hozzá. Számukra a dinamikus névkiszolgálók jelent- Gyorstár: az ügyfelek számára a már feloldott nevekhez hetnek megoldást. A használathoz szükség van egy többé-ke- tartozó IP-számokat tárolja, hogy a névfeloldás folyamata vésbé állandó vonalra: ez azt jelenti, ajánlott, hogy a dinami- gyorsabb legyen. kusan kiosztott IP-cím csak 1-2 naponta változzon. A dinamikus névkiszolgálók ugyanis nagyon kis idõközönként frissítik az Rekurzív névkiszolgáló: nem rendelkezik a hiteles információ- adatokat, például négyóránként. Ekkor az összes nagyobb val, azaz nem ennél a kiszolgálónál találhatók meg az adatok névkiszolgáló is rá lesz kényszerítve, hogy ha a tárolt adat érvé- a tartományról. Ha gyorstárában az adat fellelhetõ, akkor visz- nyessége már lejárt a gyorstárban, a hiteles kiszolgálót megkér- szaadja. Ellenkezõ esetben egy másik kiszolgáló felé irányít, dezze a pillanatnyi IP-címrõl. A cím tárolása a következõképpen amely meg tudja mondani, hová kell fordulni a válaszért, de történik: a változó címû gépeken egy ügyfélprogram fut, mely legalábbis közelebb jutunk hozzá. jelenti, hogy az általunk használni kívánt névhez jelenleg milyen IP tartozik. Ilyen nemzetközi kiszolgáló a DynDNS.org Hiteles (authoriative) névkiszolgáló: az a névkiszolgáló, amely is. Akár saját magunk is kialakíthatunk ilyen szolgáltatásokat. az adott zónát – a keresett tartomány is ebben található – kar- Hogy mi kell hozzá? A BIND, egy ddt-server elnevezésû bantartja, tehát nála van az elsõdleges adat. Ha az a cím, amit kiszolgálóprogram és PostgreSQL adatbázis. Az ügyfeleknek az ügyfél keres, még egyetlen gyorstárban sem található meg, pedig a ddt-client programot kell futtatniuk, ha az adatokat a keresés végül ide jut el. át akarják adni a kiszolgálónak. A ddt-server adatbázisban Egy névfeloldás – például  http://www.linux.hu cím keresé- tárolja a felhasználók adatait és jelenlegi címüket, és ebbõl sénél – a következõképpen néz(het) ki: frissíti fel a BIND beállítófájljait. Debian alatt e környezet kia- lakításához minden csomag megtalálható. • Az ügyfél az elõtte lévõ gyorstárat lekérdezi, hogy a névhez A kiszolgálókat azonban – ha egy adott tartományra nézve tartozó cím elérhetõ-e. vizsgáljuk a szerepüket – másként is osztályozhatjuk: • Ha a gyorstár nem találta meg az adatot, az elsõ rekurzív névkiszolgálóig jut el. Elsõdleges névkiszolgáló: egy adott tartományért felel, a • Ez a névkiszolgáló, ha az adat nincs a birtokában, a köz- tartományon belüli IP-cím-név hozzárendelés elsõ számú ponti (root) kiszolgálók címét adja meg. meghatározója. • A kérés az egyik központi kiszolgálóhoz jut, ahonnan visz- szajön, hogy honnan szerezhetõ adat a .hu tartományhoz. Másodlagos névkiszolgáló: a másodlagos névkiszolgáló fela- • Az újabb kiszolgáló nem tud felvilágosítást adni a linux.hu data, hogy az elsõdleges kiesése esetén is mindenki lekérdez- tartományról, azonban meg tudja mondani, hogy ki a hesse a tartomány(ok) gépeihez tartozó címeket, illetve neve- tartomány felelõse. ket. Csak átveszi az adatokat az elsõdleges kiszolgálóról, a • A linux.hu-ért (is) felelõs kiszolgáló meg tudja mondani, tartományokat beállító fájlokban semmilyen változtatás nem hogy hol található meg a  www.linux.hu. kerül érvényesítésre, tehát semmiféleképpen nem térhet el az • A gyorstár az adatot visszaadja az ügyfélnek. elsõdleges névkiszolgálótól. • Az ügyfél eljut a keresett helyre. A névkiszolgálás másik fontos tulajdonsága, hogy a hálózaton Bár a folyamat hosszúnak tûnhet, a mindennapi életben ta- lévõ számítógépeket feladat szerint is megkülönbözteti. pasztalhatjuk, hogy nem ennyire rossz a helyzet, hiszen a Közülük minden tartománynak kötelezõ bizonyos bejegyzé- weboldalak gyorsan bejönnek, a levelek sebesen letöltõdnek. sekkel (rekordokkal) rendelkeznie – a zónákat ilyen rekordok Mindez nagy mértékben annak köszönhetõ, hogy csaknem alkotják. Nézzük át a legfontosabbakat!

66 Linuxvilág Szaktekintély

• A rekord – egy hálózati számítógép és a nevéhez rendelt IP- ramban alkalmazott módszereket, és követendõ útnak a cím. Ilyen A rekord például a www.lsc.hu vagy a mail.linux.hu szabványok – amelyeket nagyrészt valóban az ISC, a BIND-ot hálózati név is a hozzájuk tartozó IP-számmal együtt. fejlesztõcég alkalmazottai írtak – elvetését tartja. A program • PTR rekord – a reverz rekord, amely azt mutatja meg, hogy maga biztonságos, az általa használt memória mennyisége egy hálózati címhez mely nevek tartoznak. Sok szolgáltatás állítható, a beállítófájl formátuma egyszerûbb a BIND-énál. gyakran visszaellenõrzi, hogy ez a név megegyezik-e azzal, Sajnálatos módon a fejlesztõ senki véleményét nem hajlandó amelyet a kapcsolódást kezdeményezõ gép IP-címéhez meghallgatni – ez a véleményem – és elég kellemetlen a viszonyítva a kapcsolódó alkalmazás mondott, vagyis ha stílusa. Az alkalmazás maga azonban kitûnõ, bár van, aki én a 192.168.0.12-es IP-címrõl jövök és azt állítom felhasználási szerzõdési okok miatt nem használja. Nyílt, magamról, hogy a gép neve tigris.intranet, de visszaelle- de bizonyos értelemben nem szabad program. Többen is nõrzéskor kiderül, hogy a 192.168.0.12-es címhez a írtak hozzá bõvítményeket, amelyek hivatalosan nem kerül- malacka.intranet név tartozik, a kiszolgálóprogram meg- hetnek bele az alkalmazásba, illetve a módosításokkal együtt tagadhatja a szolgáltatást, feljegyezheti ezt a naplóba stb. nem is terjeszthetõk – a fentebb említett fejlesztõi hozzáállás • NS – a hozzárendelt zóna (tartomány) névkiszolgálójára és felhasználási szerzõdésbeli gondok miatt. Teljes körû mutat. megoldást nyújt a gyorstártól a hivatalos névkiszolgálásig. • MX – egy adott tartománynak mi a levélkiszolgálója, hova Webalapú beállítófelület és számos egyéb hasznos eszköz kell küldeni a leveleket. Számok állnak mellette, melyek is elérhetõ hozzá.

a preferenciát jelzik. Érdekesség, hogy ebben az esetben  http://www.djbdns.org © Kiskapu Kft. Minden jog fenntartva minél kisebb a szám, annál nagyobb elsõbbséget élvez a hozzá tartozó számítógép. Ha tehát a mailszerver.hu tarto- MaraDNS mányra levél érkezik, akkor a levelek elõször a 0-s MX Fejlesztésének kezdete a BIND gyengélkedése és a djbdns rekorddal rendelkezõ mx.lsc.hu számítógép felé irányulnak. felhasználási szerzõdés gondjai miatt kezdõdött el. Beállító- Ha a gépet vagy a rajta futó levélkiszolgálót nem lehet állománya kísértetiesen hasonlít a djbdns-ére. Az egyetlen elérni, az ügyfelek a 10-es MX rekorddal rendelkezõ érv, amit fel lehet hozni ellene, az, hogy még nem sokan pooh.lsc.hu-nak próbálják a leveleket eljuttatni. használják, így nem létezik a széles körû használatból adódó • CNAME – „becenév”. A szakirodalom a fenti megoldás kipróbálás és hibakeresés elõnye. Megbízhatóan mûködik és helyett inkább több A rekord használatát javasolja egy IP- teljes körû szolgáltatást képes nyújtani, továbbá a felhasználási címre – tehát inkább mutasson A rekorddal ugyanarra az szerzõdéseket is figyelembe vevõ felhasználókat is maradék- IP-címre a www.lsc.hu és a www.mailszerver.hu, ahelyett, talanul kielégíti. hogy hivatalosan az egyik kapja meg az IP-címet, a másik  http://www.nsmarad.org pedig csak hivatkozik a másik nevére, hogy így oldódjon fel az IP-cím. Webalapú és grafikus beállítóprogramok A Webmin webalapú beállítófelülettel a BIND 8-as változatához A programválasztékról rendelkezik. BIND  http://www.webmin.com Ez a kiszolgáló hosszú múltra tekinthet vissza és rossz a meg- A MyWebDNS a BIND beállításához használható webes esz- ítélése. Mai napig az alapértelmezett névkiszolgáló a telepí- köz. Elõnye – szerintem – az, hogy a beállításokat MySQL-ben téseknél, de ehhez a nagy vetélytárs, a djbdns felhasználói tartja, így ha a teljes adatbázist biztonsági másolatként használt szerzõdésének is köze van. A BIND legújabb, 9-es változatát az gépre replikáljuk, egy esetlegesen fellépõ hiba esetén az eredeti alapoktól újraírták és nem foltozták, mint tették azt a 4-es állapot sokkal könnyebben visszaállítható. Az Apache kiszol- változatból kiinduló 8-as esetében. A beállítása kicsit nehézkes gálón kívül szükséges telepíteni a PHP-t és a MySQL-t is. és nagyon kényes a formai dolgokra. A Sendmail után talán  http://mywebdns.sourceforge.net/ ebben lehet a legtöbb biztonsági hibát találni. A 9-es változat Az ANK_djbdns a bjdbdns-hez készített webalapú beállító sokáig hibátlannak tûnt, a késõbbiek folyamán azonban ebben eszköz. Ennek is elõnyére válik, hogy a beállításokat adatbá- is „szeplõkre” bukkantak, bár közel sem olyan súlyosra, mint zisban tartja. Apache-n és MySQL-en kívül Apache-perl szük- az elõzõ változatokban. Ezek ellenére nagyszámú szabványt séges hozzá. támogat és törekszik a biztonságra, jó példa erre a hitelesített  http://www.nobol.com.br/dns/index.html DNS-válaszok bevezetésének próbája is. Ebben a kiépítésben a DNS-kiszolgálók ugyanúgy egy tanúsítvánnyal rendelkezné- Remélem, írásom által kicsit jobban kiismerhetõvé vált az nek, mint a webkiszolgálók, ily módon biztosítva, hogy a Internet, és mindenki ki tudja választani az általa legjobbnak válasz jó. Biztonsági hibái mellett memóriahasználata sem tartott alkalmazást. Én személy szerint a djbdns-re esküszöm, a legkiemelkedõbb, de ezen is próbálnak javítani, eredmény bár vannak vele kapcsolatban – nem a felhasználási szerzõ- egyelõre nem annyira látszik, viszont biztató jelek is megfi- déssel összefüggõ – kifogásaim. Jelenleg a MaraDNS-t próbá- gyelhetõk a fejlõdésében. Teljes körû megoldást nyújt a gyors- lom ki, hogy mennyire bírja a terhelést. Amint érdemlegeset tártól a hiteles (authoritative) névkiszolgálásig, több grafikus és tudok róla nyilatkozni, ígérem, megteszem. weben keresztül használható beállítóprogram is elérhetõ hozzá. DNS & BIND címmel könyvet is olvashatunk a témában a  http://www.isc.org/products/BIND/ címen. Deim Ágoston ([email protected]) Kedveli a sört, szereti a futást és imádja DJBDNS Szabó Lõrinc verseit. Nem hisz vakon egyik A Qmail levélkiszolgáló írója által írt névkiszolgáló, amelyet rendszerben sem. Vonzódik a BSD-hez is. a szerzõ – szerénységéhez illõen – saját magáról nevezett el. Tagja az LME-nek és a MBE-nek. Mottója: A BIND-tól alapjaiban eltér, kétségbe vonva a másik prog- a gép nem lehet fontosabb az embernél.

www.linuxvilag.hu 2002. augusztus 67 Szaktekintély

Könnyû álmok (13. rész) A titkosítás titokzatos titkai…

bben a hónapban egy kis kitérõt teszünk. Utolsó két titkosító cikkünk az Interneten leggyakrabban használt háló- algoritmusok alapvetõ zati protokollok sajátosságait tárta fel. Ebbe az irányba tulajdonsága, hogy a kulcs ismerete nélkül a nyílt szöveget Ehaladva mindenképpen szót kell ejtenünk azokról a proto- a kriptoszövegbõl még az algoritmus ismeretében sem lehet kollokról és protokollkiegészítésekrõl, amelyek az átvitt ada- visszanyerni. tokat valamilyen formában titkosítják. Az elkövetkezõ A jobb érthetõség végett szerepeljenek a kapcsolattartás lépései néhány cikk a titkosításról és annak gyakorlati alkalmazásai- a fenti kifejezések használatával: ról szól. A téma elérhetõ szakirodalma kimerítõ, sõt magyar

© Kiskapu Kft. Minden jog fenntartva nyelvû források is léteznek, ennek ellenére a felhasználók • A küldõ egy üzenetet megbízhatatlan (lehallgatható) jelentõs része úgy tekint a kriptográfiára, mint az ûrtudo- csatornán szeretne a fogadónak továbbítani. mányra – messzirõl. A titkosítás tudományának eredményei- • A nyílt szöveget valamilyen eljárással, a kulcs segítségével ben vakon bízik, de a mögötte dolgozó algoritmusok és titkosítja, így elõáll a kriptoszöveg. eljárások nagyfokú bonyolultsága visszariasztja a közelebbi • A kriptoszöveget már nyugodtan elküldheti a megbízhatat- ismeretségtõl. Fontosnak tartjuk, hogy végre egy olyan össze- lan csatornán a fogadónak, mivel azt – reményeink szerint – foglaló szülessen, amely nem igényel komoly matematikai más nem tudja elolvasni. elõképzettséget, de a fontosabb eljárások alapelveit mégis • A fogadó a kapott kriptoszöveget a kulcs segítségével meg lehet belõle érteni. Tévedés ne essék, ez a pár oldal a visszafejti (amely nem feltétlenül egyezik meg a titkosító tárgyalt téma pontos, mérhetõ adatokra alapozott leírása és kulccsal), így a nyílt szöveget már elolvashatja. bizonyítása híján csak tudományos ismeretterjesztõ cikknek tekinthetõ. Reméljük azonban, hogy az itt leírtak sokakban A titkosító eljárások kezdetben semmilyen kulcsokat nem kedvet ébresztenek a titkosítás tudományának behatóbb igényeltek, de a népek hamar rájöttek, hogy az ilyen eljárások tanulmányozására. Az érdeklõdõk az ajánlott irodalomban megbízhatósága nem kielégítõ, ráadásul megfejtésük esetén minden kérdésére kimerítõ választ találnak. Akik pedig nem nehéz õket lecserélni. A késõbbiekben olyan eljárások kidol- válnak kriptográfussá, azok betekintést nyernek ebbe a gozására törekedtek, ahol a titkosítás megfejtéséhez egy tit- komoly és érdekes tudományba. Helyezkedjenek el kényel- kos szó vagy könyv, illetve valamilyen eszköz birtoklására mesen, és jó szórakozást! is szükség volt. Az ilyen eljárások nagy elõnye, hogy ha nem az algoritmus hibás, hanem csak a titkos „kulcs” vált ismertté, A titkosításról általában annak cseréjével a titkosság helyreállt. A haladó titkosító A titkosítás szép, hosszú története helyhiány miatt ma kimarad. eljárások is használnak ilyen kulcsokat, de itt a kulcs már Inkább foglalkozzunk a gyakorlattal. Igyekszünk csak arról valamilyen elõre meghatározott tulajdonságokkal bíró adat- szólni, ami mûködésének megértéséhez elengedhetetlenül halmaz, amely elengedhetetlen az algoritmus végrehajtá- szükséges. Mi is a titkosítás? Az adatok titkosságával, hitelessé- sához. A korábbi kulcsalapú módszerek mai megfelelõi, gével és védettségével foglalkozó tudomány. Két alapvetõ ága a szimmetrikus titkosítási eljárások egyetlen titkos kulcsot van: a kriptográfia, amely a korábban felvetett kérdések meg- használnak. E módszerek komoly hátránya, hogy a küldõnek oldásával foglalkozik; és a kriptoanalízis, amelynek a célja a és a fogadónak elõre meg kell állapodnia a kulcsban. Itt kriptográfia által adott megoldások hibáinak feltárása. A krip- a kulcs biztos továbbítása jelenti a gondot. Ennek kiküszöbö- tográfia további két fontosabb részre osztható. Az egyik ága a lésére hozták létre az aszimmetrikus algoritmusokat, amelyek titkosító algoritmusokkal foglalkozik, a másik azok használati már nem igénylik a titkos kulcscserét. Mindkét félnek van körülményeivel, ahol ezen eljárásokat összefoglaló néven egy titkos és egy nyilvános kulcsa, és ezen kulcspár segítségé- kriptográfiai protokolloknak hívják. vel meg tudják oldani a kulcscserét, adott esetben magát az adatátvitelt is. A fent leírtak kissé „matematikusabb” írás- A kriptográfia alapfogalmai móddal így néznek ki: A kriptográfiának, mint minden tudománynak, megvannak a saját szakkifejezései. Ezeket a késõbbiek egyértelmûsége Szimmetrikus eljárások (egyetlen kulccsal) és a vonatkozó szakirodalom értõ tanulmányozásához elõ- • E(p,k) = c nyös megismerni. Az adatok továbbítása általában két fél • D(c,k) = p között történik: a küldõ (sender) és a fogadó (receiver) között. Az átvivendõ szöveg eredeti formájában a nyílt szöveg (plain- tehát text), titkosítva pedig kriptoszöveg (ciphertext). A nyílt • D(E(p,k),k) = p szöveget kriptoszöveggé alakító eljárás a titkosítás (encryp- tion), ellentéte pedig a visszafejtés (decryption). A korszerû ahol titkosító eljárások egy vagy több úgynevezett kulcsot (key) • E – titkosítás (encrypt) használnak. A kulcs egy, az algoritmus által megkövetelt • D – visszafejtés (decrypt) módon elõállított, általában kis méretû adatdarab. A jó • p – nyílt szöveg (plaintext)

68 Linuxvilág Szaktekintély

Eltolási táblázat az angol ábécére: abcdefghijklmnopqrstuvwxyz A betûhelyettesítõ táblázat abcdefghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyzabcd bcdefghijklmnopqrstuvwxyza cdefghijklmnopqrstuvwxyzab A nyílt szöveg: defghijklmnopqrstuvwxyzabc Kínos, ha az embert fejbe vágják egy lédús citromszelettel, amit egy efghijklmnopqrstuvwxyzabcd aranytéglára erõsítettek. fghijklmnopqrstuvwxyzabcde ghijklmnopqrstuvwxyzabcdef A kriptoszöveg: hijklmnopqrstuvwxyzabcdefg omrsw, le ed iqfivx jinfi zekneo ikc pihyw gmxvsqwdipixxip, eqmx ijklmnopqrstuvwxyzabcdefgh ikc evercxikpeve ivswmxixxio. jklmnopqrstuvwxyzabcdefghi klmnopqrstuvwxyzabcdefghij 1. ábra lmnopqrstuvwxyzabcdefghijk A Caesar-féle titkosítás mûködése mnopqrstuvwxyzabcdefghijkl nopqrstuvwxyzabcdefghijklm opqrstuvwxyzabcdefghijklmn • c – kriptoszöveg (ciphertext) © Kiskapu Kft. Minden jog fenntartva • k – kulcs (key) pqrstuvwxyzabcdefghijklmno qrstuvwxyzabcdefghijklmnop Aszimmetrikus algoritmusok (több kulccsal) rstuvwxyzabcdefghijklmnopq • E(p,k1) = c stuvwxyzabcdefghijklmnopqr • D(c,k2) = p uvwxyzabcdefghijklmnopqrst vwxyzabcdefghijklmnopqrstu tehát wxyzabcdefghijklmnopqrstuv • D(E(p,k2),k1) = p xyzabcdefghijklmnopqrstuvw yzabcdefghijklmnopqrstuvwx A lenyomatokról (hash) zabcdefghijklmnopqrstuvwxy És most valami egészen más. A titkosítás kihívásainak megol- dása közben olyan eljárások kidolgozása is szükségessé vált, A nyílt szöveg: amelyek egy adathalmazról (akár egy nyílt szövegrõl) képesek Frodó úr szerzett egy gyûrût, és mindenhová magával hurcolta, lenyomatot (hash) képezni. Ezt az eljárást egyirányú függvény- ha kellett, ha nem. nek vagy kriptográfiai ellenõrzõösszeg-képzésnek, magát a lenyomatot pedig más néven kivonatnak, ujjlenyomatnak vagy A titkosító jelszó: kriptográfiai ellenõrzõ összegnek is hívják. Mire jó ez a gyakor- cirok se prucirok sep ruciro ks epruciroks eprucir oksepruc ir latban? Tételezzük fel, hogy van egy olyan eljárásunk, amely- oksepru ci rok nek segítségével egy tetszõlegesen nagy méretû adatot át tudunk alakítani egy olyan lényegesen kisebb kötött méretûvé, A titkos szöveg: amelyre igazak az alábbi állítások: hzfry mv hqythvhd wkn xswzlh, ok qxexgvycfs qpxuxic vejgdcnc, pr yodptkn, ji esw. • A lenyomatból az eredeti adatra vonatkozóan semmilyen következtetést nem lehet levonni, vagyis egyirányú. • Nagyon nehezen található olyan másik adat, amelynek 2. ábra De Vignére többábécés módszerének mûködése lenyomata megegyezik az eredeti adat lenyomatával, tehát nagymértékben ütközésmentes. a lenyomat az esetek jelentõs részében nagyobb, mint az • Az eredeti adat kismértékû változása nagy változást okoz eredeti adat, a leképezéssel – leegyszerûsítve – egy nagyobb a lenyomatban. Ezt a szakirodalom lavinahatásnak hívja. elemszámú halmaz elemeit képezzük le egy kisebb elem- számú halmazba. Elkerülhetetlen tehát, hogy a kiinduló Ha ilyen eljárással képzünk lenyomatot a nyílt szövegrõl, halmaz több eleméhez is ugyanaz az eredmény tartozzon. a lenyomat titkosított változatát az átvitt szöveg mellé Ezt nevezik lenyomatütközésnek. csatolva a másik oldal meggyõzõdhet róla, hogy az üzenetet valóban mi küldtük, és az átvitel során az nem módosult. Egyszerû titkosító algoritmusok Sokakban felmerülhet a kérdés, hogy miért nem a teljes A korszerûbb, összetettebb megoldások megértéséhez szükség átvivendõ adatot titkosítottuk. Ennek két oka van: az egyik, van az egyszerûbb eljárások és hibáik ismeretére. A titkosítás hogy bizonyos esetekben az üzenet titkosítására nincs használatának kezdeteinél a tudományok nem álltak még a szükség, csak feladójának egyértelmû azonosítása a cél. mai szinten. Az akkoriban feltörhetetlennek tûnõ algoritmu- A másik ok, hogy a titkosító algoritmusok jelentõs része sokat a tudomány folyamatos fejlõdésének eredményeképpen nem gyors, sõt kifejezetten lassú. Egy mai átlagos gépen ma könnyedén fel tudjuk törni. A titkosítás elmélete és gyakor- a késõbb tárgyalt RSA algoritmus alkalmazása egy 10 MB lata a matematika, az információelmélet és az algoritmuselmé- méretû állományra néhány perc. let fejlõdésével folyamatosan változik, fejlõdik. A fontosabb A jó lenyomatképzõ algoritmusok fontosabb elvárt tulaj- korai titkosítási módszereknek és hibáiknak alapos megismeré- donságait fent már felsoroltuk. Tisztázzuk azonban, hogy sével lényegesen jobban átlátható, hogy milyen típusú táma- pontosabban mit jelent az ütközésmentes kifejezés. Mivel dásokkal kell számolnia a titkosítással foglalkozónak.

www.linuxvilag.hu 2002. augusztus 69 Szaktekintély

1. lista Mini titkosítónk: megatitok_3000.pl

#!/usr/bin/perl -w { if(defined($opts{e})) sub help(); { use Getopt::Std; # encrypt my %changetable = ( "Æ" => "a", "Ø" => "e", print(chr(((ord($l)-97 + "" => "i", " " => "o", ord(substr($pwd, $letters % $plen, "o" => "o", " " => "o", "œ" => "u", "u" 1))-97) % 26)+97)); => "u", " " => "u", } "`" => "a", " " => "e", "˝" => "i", " " else => "o", "O" => "o", { "" => "o", " " => "u", "U" => "u", " " # decrypt => "u" ); my $char = ord($l)-97 - ord(substr($pwd, $letters % my %opts; $plen, 1))+97;

© Kiskapu Kft. Minden jog fenntartva getopts("edp:", \%opts); if ($char < 0) if (! defined($opts{p})) { { $char += 26; print("A jelsz sajnos nincs megadva.\n"); } help(); print(chr($char+97)); } } $pwd = $opts{p}; $letters++; $plen = length($pwd); } else if (! (defined($opts{e}) or defined($opts{d}))) { { print($l) $opts{e}=1; } } } elsif (defined($opts{e}) and defined($opts{d})) print("\n"); { } print("Egyszerre nem tudok titkos tani Øs visszafejteni.\n"); sub help() help(); { } print < [-e|-d] my $letters = 0; A program Blaise De VigenØre titkos t while(<>) algoritmusÆval titkos t vagy fejt { vissza, a megadott jelsz val. A jelsz t chomp; a -p paramØterben kell megadni, a for ($i=0; $i

Julius Ceasar eljárása látható azonban ennek a módszernek a hibája. Mivel a nyílt A következõ eljárást a történelemkönyvek szerint Julius szöveg bizonyos szabályosságokat mutat, a módszer viszony- Caesar alkalmazta elõször, ezért róla nevezték el. Meglepõ lag könnyen felismerhetõ, megfejthetõ. Minden nyelvre módon a neve: Ceasar-féle titkosítás. Lényege a következõ: jellemzõ például a betûk elõfordulási valószínûsége, a betû- a nyílt szöveg betûit úgy titkosítjuk, hogy azokat az ábécé többszörözõdések, a betûkettõsök és -hármasok átlagos szerint megadott betûvel eltoljuk. Ha az eltolás négy betû, száma. Mivel maga az alapmódszer csak a betûk számának akkor a nyílt szöveg „a” betûjébõl a kriptoszövegben „e” betû megfelelõ eltolási lehetõséget kínál, a titok próbálgatással lesz, a „b”-bõl „f”, és így tovább. Ennél az algoritmusnál a hamar kideríthetõ. Ha nem egyszerûen eltoljuk a betûket, kulcs az eltolás mértéke, jelen példánkban a négy. Az így hanem a helyettesítésnél valamilyen véletlenszerû sorrendet kapott kriptoszöveg elsõ ránézésre betûk összefüggéstelen használunk, az a próbálgatásos feltörést kissé nehezebbé teszi halmaza. Ezt az eljárást szemlélteti az 1. ábra. Az ábrán is jól (a lehetõségek száma: hozzávetõleg a 25 faktoriálisa).

70 Linuxvilág Szaktekintély

De Vignére többábécés módszere Kis ábécé Kis ábécé Ékezetes betûk Többek közt a fent ismertetett eljárás néhány továbbfejlesztett szóköz nélkül szóközzel szóköz nélkül változatát ismertette Blaise De Vigenére a középkorban. Az õ eljárásának az a lényege, hogy a nyílt szöveg betûinek helyette- sítése a szövegben elfoglalt helyüktõl is függ. Ehhez egy betû- A 11,55 10,07 9,35 táblázatot állít fel, amely egymás alatt az újra és újra eggyel Á -- 3,72 eltolt ábécét tartalmazza. Az eljárás mûködési elvét a 2. ábra 1. listán B 2,38 2,12 1,72 és az látható egyszerû kis Perl-program szemlélteti. A nyílt szöveg minden betûjének egy jelszóbetût feleltet meg. C 0,63 0,54 0,60 Amennyiben a jelszó rövidebb, mint a titkosítandó szöveg, a D 1,79 1,42 1,71 jelszó ismételgetésével nyújtja meg a megfelelõ hosszúságúra. A kriptoszöveg egy betûjét a táblázatban a nyílt szöveg megfe- E 14,26 11,86 9,71 lelõ betûje és a hozzá tartozó jelszóbetû határozza meg. Ez É -- 3,87 a gyakorlatban azt jelenti, hogy a jelszó betûi határozzák meg, F 0,94 0,83 0,88 hogy az adott betû melyik eltolási táblázat szerint lesz módosítva. Ez az eljárás kismértékben képes elfedni a nyílt szöveg szabály- G 3,22 2,87 3,55 szerûségeit, de megadott felhasználása sem védett a statisztikai

H 1,68 1,37 1,23 alapú támadások ellen. Egyértelmû, hogy ha a titkos kulcsszót © Kiskapu Kft. Minden jog fenntartva ismételgetve használjuk a betûk eltolásának meghatározására, I 5,48 4,84 4,39 akkor a betûk minden ismétlésnél a korábbival megegyezõen J 1,05 0,90 1,21 lesznek eltolva. Ha tehát meg tudnánk határozni a titkos jelszó hosszát, akkor minden periódusra meghatározhatnánk a koráb- K 5,84 5,26 5,35 biakban említett betûvalószínûségeket, így a nyílt szöveg – és L 6,23 5,44 6,30 ezáltal a jelszó – minden egyes betûjét meg tudnánk határozni. M 3,65 3,29 3,92 Ennek kivitelezése a következõ: mivel a módszer a betûk elõfor- dulási valószínûségét a kriptoszövegben egyenletesebbé teszi, N 5,47 4,69 5,47 ha meg tudnánk határozni, hogy a szöveg milyen periódusai O 6,87 6,04 4,47 térnek el leginkább az egyenletestõl – tehát mely szakaszok mutatják a leginkább a természetes nyelv jellegzetességeit –, Ö - - 2,14 akkor megtudnánk a jelszó hosszát. Rendre meghatározzuk P 1,09 0,88 1,04 minden második, harmadik, negyedik stb. betû csoportjának Q 0,00 0,00 0,00 betûeloszlását, és amelyik a legjobban egyezik a természetes nyelv betûeloszlásával, annál ellenõrizzük, hogy a periódus R 3,76 3,23 4,22 minden betûcsoportja a magyar nyelv betûvalószínûségeit S 5,89 5,10 6,57 hozza-e. A fenti elemzés csak akkor tud a megfelelõ hatékony- sággal mûködni, ha elegendõ kriptoszöveg áll a rendelke- T 7,35 6,12 7,87 zésünkre. Nagy elõnye, hogy nemcsak ezt a klasszikus eljárást U 2,47 2,24 1,29 lehet hatékonyan törni vele, hanem egy általánosabb módszert Ü -- 0,93 is. Ha ugyanis a titkosító táblázat soraiban nem eltolt, hanem kevert betûk vannak, az egyes sorok betûsorrendjét is meg V 1,66 1,42 1,81 kell találnunk. Ezt pedig a jelszó minden betûjére el kell végez- W 0,00 0,00 0,00 nünk. Ennél a módszernél lényegesen jobb védettséget ad, ha az elsõ, a jelszóval titkosított blokkot használjuk fel mint a X 0,02 0,01 0,01 soron következõ blokk jelszavát és így tovább. Nagyon hasonló Y 1,92 1,64 2,21 alapelven mûködnek a modern szimmetrikus algoritmusok is. Z 4,79 4,14 4,46 Mini titkosítónk Szóköz - 13,70 - Az 1. listán látható példaprogram nagyon egyszerû megvalósí- tása a fent tárgyalt De Vignére-féle algoritmus egy formájának. Az egyszerûség kedvéért csak a betûket titkosítja vagy fejti A magyar nyelv betûgyakoriságai 10 000 betûs újságszöveg alapján vissza, az egyéb karaktereket figyelmen kívül hagyja. További egyszerûsítés, hogy minden betût kisbetûssé alakít és az ékeze- tes betûket ékezetmentesekre cseréli le. Használata nagyon Ezt a módszert nevezik egyábécés titkosítási módszernek. egyszerû. A program a -p kapcsoló után várja a titkosító jel- A módszer használata mellett a küldõ és a fogadó oldaláról szót, ha mást nem adunk meg, akkor titkosít. Ha a -d kapcso- a hozzárendelési táblázatnak ismertnek kell lennie (ebben az lót is megadjuk, akkor a megadott jelszó felhasználásával esetben a táblázat a kulcs). A módszer hibája, hogy nem fedi visszafejti a kriptoszöveget. A nyílt vagy kriptoszöveget a szab- el a nyílt szöveg szabályszerûségeit. Mivel minden betûírásos ványos bemenetén várja, és a szabvány kimenetén jelenik meg nyelvben meghatározhatók a betûk elõfordulási valószínû- az eredmény. Ez az egyszerû program így elég karcsú, de kis ségei, a titokfejtõnek nem kell próbálgatással piszmognia. módosítással tökéletes titkosító készíthetõ belõle. Elegendõ úgy Nem kell mást tennie, mint meghatározni az egyes betûk átírni, hogy a jelszót egy állományból vegye. Az állományban (jelek) számát a kriptoszövegben, és azok elõfordulási arányai lévõ jelszónak természetesen meg kell felelnie a korábban leírt alapján a titkosítási táblázat könnyen létrehozható. feltételeknek. További érdekesség, hogy ha egyetlen betûs

www.linuxvilag.hu 2002. augusztus 71 Szaktekintély

titkosító jelszót választunk, a korábban leírt Caesar-féle eljárást Ezért csak ennek a lehetõségnek a mérlegelése után szabad kapjuk, mivel minden betût ugyannyival tolunk el. felhasználni. Abban az esetben, ha a kissé bizonytalanabb mi- A program használatával lelkes olvasóink érdekes feladat elé nõségû, de nagy teljesítményû véletlenszám-elõállító nem felel állíthatják magukat: írjanak programot a korábban ismertetett meg, a kereskedelemben is kapható eszközök használhatók. fejtési eljárás önmûködõvé tételére. Ennek megkönnyítésére Ezek az egyedi eszközök éppen erre a feladatra vannak kifej- táblázatunkban közöljük a magyar nyelv betûgyakoriságait, lesztve – valamilyen fizikai folyamat véletlenszerûségén alapulva a következõ forrás alapján: [fulop]. Vájt fülûek természetesen állítanak elõ nagy mennyiségû, jó minõségû véletlen számot. maguk is elkészíthetik a betûgyakorisági táblázatot az Interne- ten található bõséges magyar nyelvû írott anyag és egy egysze- Még egy kis véletlen átkulcsolás, zárszavak rû kis program segítségével. Az Igazi Perl-guru így oldaná meg: Tételezzük fel, hogy elõállítottuk a megfelelõ tulajdonságokkal bíró kulcsot. Mind a küldõnek, mind a fogadónak a kulcs birto- perl -ne ’@l=split(//); kában kell lennie. A kulcs továbbítása azonban ugyanazt a gon- dot veti fel, mint az eredeti üzeneté. Meg kell találni hozzá a foreach(@l){if(/[[:alpha:]ØÆ ıœß `˝ ]/) megfelelõen biztonságos csatornát. Így hiába a tökéletes titko- {print"$_\n";}}’ nagy_magyar_szoveg.txt | sítási módszer, ha a gyakorlatban nehezen használható. Talán sort | uniq -c > atya_betugyakorisag.txt egyetlen dologra jó lehet: ha a nyílt szöveget visszük át véletlen átkulcsolással, a kulcsot pedig valamilyen más algoritmussal

© Kiskapu Kft. Minden jog fenntartva A tökéletes titkosítás titkosítjuk, némi védelmet nyerünk, mivel a véletlen kulcsnak A klasszikus Vigénere-féle módszerrel az a baj, hogy a jelszó nincsenek statisztikai módszerekkel támadható sajátosságai. adott hosszúságú, így a támadó a periodikusságot kihasználva A cikksorozat további részeiben szót ejtünk a legfontosabb megfejtheti a titkot. A feladat megoldása egyszerû, mint a szimmetrikus (egykulcsos) titkosító algoritmusokról, a DES-rõl pofon. Minden üzenet továbbítására egyszer használatos jel- és leszármazottairól, valamint az új szabványnak tekinthetõ szót használjunk, amely hosszát tekintve nem rövidebb, mint AES-rõl. Utána kerül sorra az aszimmetrikus csapatból a Diffie- maga az üzenet, és betûi semmilyen módon nem függenek Hellman javasolta módszer, az RSA és a DSA algoritmus. egymástól. Ez az egyszerû, mégis zseniális megoldás 1917-ben született meg Gilbert Vernam fejében. A szakirodalomban Irodalomjegyzék véletlen átkulcsolásnak (one time pad) vagy Vernam-féle titko- Néhány fontosabb könyv és honlap a téma behatóbb sítóeljárásnak (Vernam cipher) hívják, és húsz esztendõvel tanulmányozásához: késõbb matematikai módszerekkel is bebizonyították, hogy [kahn] Kahn, David: The codebreakers, McMillan, New York, valóban nagyon jó. Sõt: tökéletes. Ezt a titkosítást semmilyen 1996; ISBN: 0684831309 módszerrel nem lehet feltörni, ugyanis a véletlen jelszó olyan [schneier] Bruce Schneier: Applied Cryptography (second szinten függetleníti a kriptoszöveget a nyílt szövegtõl, hogy edition), John Wiley & Sons, 1995; ISBN: 0471117099 köztük semmilyen összefüggés nem tárható fel. Van azonban [cryptweb1] Cryptography and Information Security Group néhány bökkenõ.  http://theory.lcs.mit.edu/~cis/homepage.html [cryptweb2] John Savard: Cryptographic Compendium A véletlenszámokról  http://home.ecn.ab.ca/~jsavard/crypto/entry.htm A feltételeknek megfelelõ kulcsok elõállítása egyáltalán nem [rand] Internet RFC 1750 – A véletlenszám–generálásról egyszerû, hiszen véletlen számok olyan sorozatát kellene [krithun1] Ködmön József: Kriptográfia, ComputerBooks, 1999; elõállítani, amelyek függetlenek egymástól. Mindezt általában ISBN: 9636182248 számítógéppel, amely – ebbõl a szempontból – túlzottan szabá- [krithun2] Nemetz Tibor és Vajda István: Algoritmikus lyos mûködésû szerkezet. A megfelelõ véletlen számok, vélet- Adatvédelem, Akadémiai Kiadó, 1991; ISBN: 9630560933 lenszám-sorozatok elõállítása a titkosítás nagyon sok modern [fulop] Fülöp Géza: Az információ, ELTE Könyvtártudományi alkalmazásánál elengedhetetlen, így a titkosítás elmélete – Informatikai Tanszék, 1996 komoly figyelmet szentel ennek a témakörnek [rand]. A Unix-  http://www.mek.iif.hu/porta/szint/tarsad/konyvtar/informat/ rendszerek általában úgy segítik e kérdés megoldását, hogy azinform/ a felhasználói, hálózati és egyéb tevékenység véletlenszerû adatait gyûjtik, és két különleges eszközön keresztül elérhetõvé teszik. Ezek a /dev/random és a /dev/urandom. A kettõ közti Mátó Péter ([email protected]), különbség, hogy a random nagyon jó minõségû véletlen ada- informatikus mérnök és tanár. tokat ad, de a teljesítménye behatárolt. Addig nem lehet vélet- Biztonsági rendszerek ellenõrzésével len adatokat kiolvasni belõle, amíg nincs elegendõ véletlen forrásadat (például felhasználói billentyûleütések). Így ezt nem és telepítésével, valamint oktatással célszerû olyan alkalmazásnál használni, ahol nagy mennyiségû foglalkozik. 1995-ben találkozott véletlenszámra van szükség, és a véletlenszám-elõállító idõ- elõször linuxos rendszerrel. Ha teheti, szakos bedugulása az alkalmazás mûködésképtelenségét okoz- kirándul vagy olvas. hatja. Ha nagy mennyiségû véletlenszámra van szükség, az urandom eszköz használható. Borbély Zoltán ([email protected]), Sajnos, itt is igaz az általános igazság: a mennyiség növelése okleveles mérnök-informatikus. szinte minden esetben a minõség romlásával jár. Az urandom Fõként Linuxon futó számítógépes eszköz nem tud kifogyni. biztonsági rendszerek tervezésével és Az általa szolgáltatott véletlen számok esetében azonban nem fejlesztésével foglalkozik. lehetetlen, hogy valamilyen külsõ körülménnyel (például A 1.0.9-es rendszermag ideje óta szélsõséges méretû, állandó hálózati terhelés) befolyásolhatóak. linuxozik. Szabadidejét barátaival tölti.

72 Linuxvilág Szaktekintély

Az X beállítása

A mostani részben gyors áttekintést adunk a különbözõ X-beállító eszközökrõl.

inden Linux-változat ren- zetben jeleníti meg az eszközök, illetve Debian/GNU M delkezik egy segédprog- a programok, könyvtárak egymáshoz Az X beállításához talán a leggyorsabb rammal, amivel grafikus való viszonyát. Mindent közvetlenül és az egyik legegyszerûbb „program” felületünket (többé-kevésbé) könnyedén adhatunk meg, amit leginkább az – már ha annak lehet nevezni – a dpkg. beállíthatjuk. Az elsõ program, amely XF86Config-4 fájl szerkesztéséhez tud- Ezzel a programmal minden telepített minden Linuxban, illetve minden olyan nék hasonlítani. csomagot újra meg újra beállíthatunk, operációs rendszerben megtalálható, amin fut valamelyik 4.x sorozatú X, 1. 2. az xf86cfg. © Kiskapu Kft. Minden jog fenntartva

Az xf86cfg Ez a program alapértelmezettként min- den Linux-változatban elérhetõ, így nyugodt szívvel kezdem a beállítóprog- ramok bemutatását ezzel a kicsi, elsõre ijesztõ, ámde nagyon gyorsan kezessé váló grafikus programmal. Karakteres felületen adjuk ki az xf86cfg paran- csot, és ha szerencsénk van, az 1. képen láthatóhoz hasonló grafikus felületû 3. ablakot kapunk. Itt elvégezhetjük a szükséges beállításokat – ez nemcsak azt jelenti, hogy X-ünk mûködni fog, bár nem teljes sebességgel, hanem igenis azt, hogy nincs vakrepülés, semmi sincs a véletlenre és az önmûködõ progra- Miután végeztünk a beállításokkal, a mokra bízva, így bátran állítom, hogy Quit gombra kattintva lépjünk ki – itt, a grafikus felület teljesen testreszabható ha akarjuk, menthetjük a változásokat. vele. Alapértelmezettként a Configure 4. Layout menüpont aktív, itt mindenféle Az xf86config eszközt a rendszerünkhöz adhatunk Az elõbbi program kistestvére, karakte- (egér, billentyûzet, grafikus kártya és res felületen kérdések tömkelegét intézi monitor). Ha az egérrel megállunk egy a felhasználóhoz, ezekre válaszolva eszköz felett, a program önmûködõen juthatunk el a megfelelõ beállítófájlhoz. megjeleníti a nevét és fontosabb beállítá- Bizony, elég spártai, de jól használható sait (feltéve, hogy már megtettük a beál- eszköz, és ha valamit elrontunk, sincs lításokat). Az eszközön a jobb egér- nagy gond, mivel az újabb indításkor gombbal kattintva elérhetõvé válik a felajánlja a meglévõ XF86Config-4 fájl beállítómenü, ahol az eszköznek megfe- beállításainak a használatát, így csak a lelõen szabhatjuk testre a jellemzõket. szükséges értékeket kell megváltoztatni A monitor frissítési frekvenciáját, a gra- (lásd 3. kép). így ha a grafikus részt szeretnénk fikus kártya fajtáját, a billentyûzet faj- beállítani vagy módosítani, adjuk ki a táját, kiosztását, illetve az egér csatoló- Egyéb lehetõségek felületét, protokollját és a harmadik Ha gyorsan szeretnénk használható dpkg-reconfigure xserver- gomb használatát itt tudjuk könnyedén beállítófájlhoz jutni, az X -configure xfree86 módosítani. paranccsal elkészíthetjük, ez a fájl A következõ menüpont a Configure azonban még igencsak foghíjas lesz, parancsot. Ekkor menüvezérelt felületet Screen, ahol a képernyõ(k) felbontását úgyhogy a testreszabást így sem kapunk, amelyben a fontosabb és a színmélységét szabályozhatjuk. kerülhetjük el. beállításokon ugyancsak Ennek a két menüpontnak a segítségé- Több monitor egyidejû használatá- végiglépdelhetünk. Meglehetõsen jó vel a grafikus felületet hatékonyan hoz a 41. oldalon található cikkünket eredményeket érhetünk el vele. testreszabhatjuk. ajánlanám, amelyben a szerzõk rész- Jó szórakozást és bíbelõdést! Igen érdekes menü az Expert Mode: letesen végigvezetnek bennünket mint azt a 2. képen láthatjuk, faszerke- a folyamaton. Csontos Gyula

www.linuxvilag.hu 2002. augusztus 73 Szaktekintély

A régi gépek sem rossz gépek (2. rész) A „komondor” számítógépek lelkivilága Linux alatt.

int azt sorozatunk elsõ részében is írtam, a régebbi A programok vagy .tap, vagy .d64 kiterjesztéssel vannak gépekre készült programok futtatásába fogom egy ellátva, a .tap a kazettát jelöli, a .d64 pedig a lemezegységet kicsit beleásni magam. Rövidke írásaimban mind- (elég vicces, hogy amikor .tap fájlt akarunk betölteni, kiírja, Mazoknak próbálok segítséget nyújtani, akik néha nosztalgiázni hogy PRESS PLAY ON TAPE). A programokat legegyszerûbben kívánnak, esetleg jó öreg gépükre írtak egy programot, amit a parancssorban megadva futtathatjuk: nincs kedvük újraírni, viszont szeretnék használni. x64 F1.tap A címbõl is kiderülhet, hogy mostani írásomban a Commodore ekkor az emulátort elindítva a program betöltõdése is meg- számítógépekre készült programok

© Kiskapu Kft. Minden jog fenntartva futtatásával foglalkozom, ezek közül is leginkább a C64-gyel. Az itt leírtak természetesen a C128-as és a VIC20-as gépeknél is mûködnek. A VICE Commodore emulátor A rövidítés a Versatile Commodore Emulator (Sokoldalú Commodore Emulátor) rövidítése – ami igaz is, hiszen szinte az összes Commodore gépet képes utánozni. Ehhez azonban szükség van az egyes gépek programagyára, vagyis a ROM-ban tárolt adatokra. Ez minden géphez más és más, például a C64-es ROM-készlettel nem futtathatunk 128-asra írt programokat. A program legfrissebb változatának forráskódja, illetve rpm, deb csomagok is megtalálhatóak a 38. CD Magazin/Emulator könyvtárában. Nézzük, mi is szükséges a környezet kialakításához! A legfon- tosabb a VICE-emulátor, ezt a legtöbb Linux-változathoz elõre lefordított és megfelelõen csomagolt állapotban megtalálhatjuk, így telepítése nem jelenthet gondot. Ha mégsem találnánk meg a megfelelõt, akkor a CD-n lévõ forrásból fordíthatunk egyet magunknak. Nagyon fontosak a ROM fájlok is, ezek közül az alábbiakat kell beszereznünk:

A VIC20 és a C64, a ROM-készlet az alábbi fájlokat tartalmazza: • kernal, a Kernal ROM (8 KB) • basic, a Basic ROM (8 KB) • chargen, a karakter-elõállító (character generator) ROM (4 KB)

A C128 ROM készlete: • kernal, a Kernal ROM (8 KB) kezdõdik. Természetesen a jó öreg LOAD parancsot is használ- • basic, a Basic + Editor ROM (32 KB) hatjuk, én azonban az elõzõt javaslom. • chargen, a karakter-elõállító (character generator) ROM (4 KB) Ha C128-as programot kívánunk futtatni, az x128, ha VIC20- ast, akkor pedig az xvic parancs futtatásával tehetjük meg. Mivel sehol sem leltem utalást ezeknek a fájloknak a felhasz- A képen látható a The way of the exploding fist karatejátékkal nálási korlátaira, nem kerültek fel a CD-re, de az Interneten annak idején hatalmas botkormánytörõ versenyeket rendeztek. bárki megtalálhatja õket. Kellemes nosztalgiázást! Miután telepítettük a VICE-t, és megszereztük a szükséges A VICE honlapjai  http://viceteam.bei.t-online.de/ ROM-fájlokat, kernal, basic és chargen néven másoljuk be (Debian/GNU alatt) a /usr/lib/vice megfelelõ alkönyvtárába (ha C64-es programokat akarunk futtatni, akkor a hozzá tar- Csontos Gyula tozó ROM-fájlokat a /usr/lib/vice/C64-es könyvtárba rakjuk). ([email protected]) a Linuxvilág A harmadik nagyon fontos dolog, hogy legyen programunk, szakmai és CD-szerkesztõje. Szabadidejében amit futtatunk, enélkül ugyanis nem sok értelmük lenne az szívesen mászik hegyet és kerékpározik. elõbbi lépéseknek. A programok legátfogóbb tárháza a  http://www.lemon64.com/ címen érhetõ el.

74 Linuxvilág Kovácsmûhely

Zope lapsablonok Fedezzük fel, hogyan készíthetünk hasznos és együttmûködõ dinamikus weblapokat ZPT-tulajdonságok és HTML együttes felhasználásával.

web hõskorában csaknem minden weblapkészítõ a tervezõknek és a fejlesztõknek egyben valamilyen programozó volt. Biztosak lehe- egyaránt lehetõvé teszi a weblapok tünk benne, hogy minden webmester saját maga te- kialakítását. A DTML hatékony, rugalmas és könnyen Alepítette a webkiszolgálóját, tudta, hogyan kell kézzel HTML-t megérthetõ (legalábbis akkor, ha valaki programozó). készíteni, és a legfontosabb CGI-parancsfájlokat is meg tudta Amennyiben valaki nem programozó, elõfordulhat, hogy írni magának. a DTML is kissé nehezen érthetõ a számára, különösen, ha Idõvel azonban számos szerkesztõ, tervezõ, illetve más nem eredményeket kér le egy adatbázisból (mint azt a múlt hónap- programozó szakember is részesévé vált a webfejlesztés folya- ban láthattuk). Továbbá a HTML-szerkesztõk nemigen tudják, matának. Bár gyakran megvolt a lehetõség, hogy õket is meg- hogy mihez kezdjenek a DTML-tagokkal, ami könnyen tanítsák a HTML nyelv használatára, a HTML csak statikus vezethet a DTML-lapok akaratlan összezavarásához. weboldalak készítéséhez volt elegendõ. Ezen okok miatt a Zope Corporation (korábban Digital A dinamikus oldalak azonban, amelyek akkoriban szinte kivé- Creations), amely a nyílt forráskódú Zope alkalmazáskiszol- tel nélkül CGI-parancsfájlokon keresztül készültek, egészen gálót fejleszti, most arra ösztönzi a fejlesztõket, hogy próbálják másképp mûködnek. Ha ugyanis a tervezõ meg szeretné vál- ki a Zope Page Templates (ZPT, azaz Zope lapsablonok) elneve- toztatni egy statikus lap háttérszínét, egyszerûen csak módo- zésû, új sablonmegközelítést, amely képes megoldani a gondok sítja a megfelelõ HTML-fájlokat (vagy manapság egy globális nagy részét. Ebben a hónapban a ZPT-t fogjuk megvizsgálni, stíluslapot), és már készen is van. Ha ez a tulajdonság azonban végigvéve, hogy milyen lehetõségeket kínál a dinamikus egy CGI-programban rejtezik, a tervezõnek a programozótól oldalak készítésére. kell kérnie a lap megváltoztatását. Ez a megoldás senkinek sem jó: a tervezõ nem tud új ötleteket próbálgatni, a programozó Mi is a ZPT? pedig apró és idegesítõ változtatásokat kénytelen végezni, A ZPT három dolgot használ ki: miközben a többi programozói munka szünetel. • a HTML XML formátumban is leírható, amit gyakran Néhány éve erre a gondra a legelterjedtebb megoldás az úgy- XHTML-ként emlegetnek; nevezett sablonok használata, amelyek valójában a HTML és • az XML lehetõvé teszi, hogy elkülönített névterek programozási nyelv keverékei. A talán legismertebb üzleti segítségével a különbözõ dokumentummeghatározások példa az ilyen sablonokra a Microsoft Active Server Pages tagjait és tulajdonságait összekeverjük; (ASP) nyelve, de a Sun JavaServer Pages (JSPs) szintén igen • a WYSIWYG HTML-szerkesztõk az általuk fel nem ismert népszerû. A nyílt forrású programok fejlesztõi számos saját, tulajdonságokat általában figyelmen kívül hagyják magas minõségû sablonmegvalósítást készítettek, ideértve a (de azért megõrzik). HTML::Masont (amely mod_perl-lel mûködik a legjobban ), a PHP-t (kifejezetten websablonokhoz készült nyelv) és ADP-t A ZPT így magát a HTML-meghatározást módosítja azáltal, (az AOLServer-hez hozták létre). hogy más névtérben elhelyezkedõ tulajdonságokat ad hozzá. Az ilyen sablonok mögött meghúzódó alapelképzelés igen Mivel ezek a tulajdonságok egy másik névtérben találhatók, egyszerû: alapértelmezés szerint minden statikus HTML, XML és XHTML alatt teljesen törvényszerûek. Minthogy kivéve, ami valamilyen különleges zárójelek közé kerül. tulajdonságokról és nem tagokról van szó, a legtöbb HTML- Amikor a tervezõ ilyen sablonokkal dolgozik, általában csak szerkesztõ figyelmen kívül hagyja õket, és a tagot úgy jeleníti annyit kell mondani neki: „Mindent módosíthatsz, ami nincs meg, mintha a tulajdonság nem is létezne. Mivel a böngészõk <% és %> jelek között.” Tulajdonképpen ez a legtöbb esetben figyelmen kívül hagyják azokat a tulajdonságokat, amelyeket igen jól mûködik. nem ismernek fel, a ZPT-lapokat akkor is meg tudják jeleníteni, Csakhogy idõvel az ilyen típusú sablonok hátrányai is egyre ha azok elõtte nem mennek át a Zope-on. Más szavakkal: a inkább nyilvánvalóvá váltak. Például mi történik, ha egy olyan ZPT lehetõvé teszi, hogy a programozó egy olyan lapot építsen ciklust akarunk írni, ami adatbázisból lekért elemeken megy fel, amit a tervezõ bármilyen neki tetszõ eszközzel megnézhet végig, de tartalmuktól függõen minden elemet más és más és módosíthat. Természetesen a sablon dinamikus elemei csak háttérszínnel szeretnénk megjeleníteni? Ebben az esetben nem akkor kelnek életre, ha a lapot Zope-on keresztül nézzük. mondhatjuk meg a tervezõnek, hogy hagyja békén a kódot, A HTML-ben minden tulajdonságnak van egy neve és egy hiszen a kód és a HTML igencsak összefonódik. értéke, például a Az utóbbi néhány hónapban vizsgált Zope névre hallgató alkalmazáskiszolgáló ezt a gondot az általuk DTML-nek Reuven oldala próbálta áthidalni. Mint azt néhány hónapja láthattuk, a DTML egy HTML-szerû szerkezettel bíró nyelv, amely esetében a href tulajdonság értéke: © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. augusztus 75 Kovácsmûhely

http://www.lerner.co.il/ A dokumentum lehet, hogy rövidnek tûnik, de hatékonyan mutatja be a TAL és TALES rendszert, illetve azt, hogy mikép- A nevet és az értéket egyenlõségjel (=) választja el, ahol az pen használhatjuk õket ténylegesen egy dokumentumban. érték idézõjelek közé kerül. Mindez semmit sem változik a A dokumentum a következõ TAL-tulajdonságokat használja: ZPT-vel való munka során, eltekintve attól, hogy a tulajdonság neve TAL (Template Attribute Language, vagyis sablontulaj- • A tal:content tulajdonság: a tag tartalmát a TALES- donság-nyelv) formában van megadva. A TAL több különbözõ kifejezés értékével helyettesíti. Így a fenti példában például lehetséges tulajdonságnevet meghatároz, amelyek mindegyike az „A cím” szavak a template/title TALES-kifejezés megjelenítéskor a sablon valamilyen módon történõ megvál- értékével fognak helyettesítõdni, errõl azonban még bõveb- toztatására utasítja a Zope-ot. ben szót ejtünk. A és tagok tulajdon- A tulajdonságneveket a TAL határozza meg, de mi adja meg a ságaikkal együtt változatlanok maradnak, de a két tag tulajdonságértékeket? Ehhez a TALES-t (TAL Expression Syntax, közötti szöveg meg fog változni, amennyiben a Zope jele- azaz TAL kifejezésszabályok) használjuk. A TALES az adatok níti meg a sablont. számára számos forrást határoz meg, ideértve a Python-kifejezé- • A tal:replace tulajdonság: nagyon hasonló a seket és a környezõ Python-névtér értékeit. A TAL-ból származó tal:content-hez, de a tartalmat és az azt körbezáró tagot tulajdonságnév (amely azt mondja meg a ZOPE-nak, hogy is helyettesíti. Gyakran használják a taggal, amely a környezõ tagot hogyan kezelje) és a TALES tulajdonságérték voltaképpen az ilyen esetek kezelésére szánt helyfoglaló

© Kiskapu Kft. Minden jog fenntartva (amely azt mutatja meg a ZOPE-nak, hogy a TAL kifejezésben tag. Tehát az elsõ tagtól az utolsó tagig, milyen értéket használjon) együttese lenyûgözõ rugalmasságot ideértve a magukat a tagokat, minden a ad a sablonkészítéshez. Ráadásul azáltal, hogy a TAL és a TALES here/title_or_id TALES-kifejezéssel helyettesítõdik. közzétett és nyílt forrású formátum, bármikor bõvíthetjük, ha • A tal:condition tulajdonság: csak akkor jeleníti meg esetleg még meg nem valósított, különleges igényünk támadna. a tartalmát, ha az értéke igaz, azaz nem nulla, nem üres karaktersorozat vagy üres lista, és nem a ZPT beépített Néhány egyszerû példa nothing változója. Most hogy már ismerjük a ZPT mögött rejtezõ elméletet, ideje megismerkednünk a gyakorlati alkalmazással. Elsõ példánk az Észrevehettük, hogy a második tag két TAL-tulajdon- a vázdokumentum lesz, amit a Zope új sablon létrehozásakor ságot is tartalmaz: a tal:condition-t és a tal:replace-t. készít nekünk. Létrehozásához lépjünk a Zope-kiszolgáló Amikor a Zope egy adott tagon belül több TAL-tulajdonsággal /manage címére, és a jobb felsõ sarokban található Add product találkozik, elõször a meghatározásokat, azután a feltételeket, (termékfelvétel) listából a page-template (lapsablon) elemet majd az ismétlõ ciklusokat, végül pedig a content és válasszuk (ha semmiféle „page template”-et nem látunk a replace részeket hajtja végre (nem adhatunk meg content menüben, a ZPT-termék valószínûleg nincs feltelepítve – ilyen- és replace tulajdonságokat egyazon tagon belül, hiszen kor Zope-változatunkat frissítenünk kell egy újabbra, hogy logikailag kizárják egymást). A második tagban a használhassuk a ZPT-t). Mint azt már megszokhattuk a Zope Zope elhagyható sablonazonosítót ad meg, amennyiben a világában, ezután új termékünkhöz egy ID-t kell rendelnünk template/title TALES-kifejezés igaz. (tehát meg kell adnunk egy olyan egyedi karaktersorozatot, A content, replace és condition tulajdonságokon kívül amely a címben jelenik meg). Gépeljünk be valamilyen rövid a TAL további három tulajdonságot is meghatároz: nevet, majd kattintsunk az Add and edit pontra. Ha a fenti utasításokat egy DTML-dokumentum vagy tagfügg- • tal:repeat lehetõvé teszi, hogy végiglépkedjünk egy vény esetében követnénk, egy szerkesztõablakhoz jutnánk, lista elemein. Ha sablonunk egy keresés eredményét, amely a DTML vázát tartalmazza. Ugyanez a lapsablonok adatbázissorokat, esetleg egy könyvtár fájljait jeleníti meg, esetében is igaz, eltekintve attól, hogy a vázlat most könnyedén végiglépkedhetünk a tartalmon, több külön- egyértelmûen TAL- és TALES-kifejezéseket tartalmaz: bözõ módon jelenítve azt meg. • tal:attributes lehetõvé teszi, hogy helyettesítsük (vagy kibõvítsük) a befoglaló tag tulajdonságait. Például futásidõben is beállíthatjuk az anchor () tag href tulajdonságát, ha az adott <a> tagban a tal:attributes A c m tulajdonságot használjuk. A tulajdonságot a lap futásidejû kiértékelése során a TALES-kifejezés pillanatnyi értéke fogja meghatározni. • tal:define lehetõvé teszi, hogy új változókat állítsunk

be, amelyek azután a befoglaló tag belsejébõl elérhetõk Tartalom c m vagy azonos t lesznek. Ez változóérték másik TAL-tagokba kerülhet vagy elhagyhat sablon id TALES

A TAL-t kitárgyaltuk, jöjjenek a TAL-tulajdonságokhoz ren- delhetõ TALES-kifejezések! A TALES-kifejezések legegyszerûbb Ez itt egy LapSablon fajtája a „path expression” (útvonal-kifejezés), amely egy sablon Zope-objektumot ír le relatívan a sablonhoz, annak tárolójához id. vagy a lekérdezéshez képest. Az útvonal-kifejezések az URL- ekre hasonlítanak, azzal az eltéréssel, hogy a (/) gyökérobjek- tum helyett névvel kezdõdnek. Az útvonal-kifejezés utolsó

76 Linuxvilág Kovácsmûhely

tagja általában egy tulajdonság lesz, ami megjeleníthetõ zéseket készítsünk. A ZPT makró nyelvét METAL-nak nevezik, (a tal:content-tel), kipróbálható (a tal:condition-tel) és akárcsak a TAL vagy a TALES esetében, ezt is a HTML- avagy ismételhetõ (a tal:repeat-tel). tulajdonságok közt határozhatjuk meg, illetve hívjuk meg A ZPT vázdokumentum négy TALES útvonal-kifejezést használ: a metal: XML névtér alatt. A METAL makrók képesek foglala- tokat (slot) vagy értékeket meghatározni, amelyekhez további • here/title_or_id, amely az elhagyható title értékeket rendelhetünk. Nem nehéz elképzelni, hogyan tulajdonság értékét (amennyiben létezik), vagy a kötelezõ lehetne olyan makrót készíteni, amely a dokumentumokat id tulajdonságot (ha nincs cím megadva) adja át a a makró által nyújtott foglalatokba helyezve a teljes honlap- tal:replace tulajdonságnak. kinézetet kezelni képes. A makró meghatározása megváltozta- tása a teljes honlapkinézetet hatékonyan megváltoztatná. • template/title, amely a pillanatnyi sablon (elhagyható) címét adja át a tal:condition-nek, majd az azt követõ Összefoglalás tal:replace-nek. Amikor elsõ ízben hallottam a ZPT-rõl, biztos voltam benne, hogy ez is csak egy újabb sablonkészítési eljárás, amely • template/id, amely a pillanatnyi sablon id tulajdonságát semmilyen más módszerrel nem csereszabatos. Idõvel azonban jeleníti meg. meggyõzõdhettem róla, hogy a ZPT valóban ügyes és elegáns elképzelés, mégpedig az a fajta, amely a fejlesztõk és a terve-

A template -e kezdõdõ TALES útvonal-kifejezések magára zõk munkáját egyaránt megkönnyíti. Bár nem helyettesítheti © Kiskapu Kft. Minden jog fenntartva a sablonobjektumra hivatkoznak, míg a here szócskával kez- teljes mértékben a DTML-t, úgy érzem, DTML-kódjaim nagy dõdõk arra az objektumra értendõk, amelyre a sablont alkal- részét ki tudom váltani TAL-, TALES- és METAL-kifejezésekkel. mazzuk. Ez lehet maga a sablon, de akár egy teljesen más Nagyon várom már, hogy az elkövetkezõ hónapokban és objektum is. További relatív jelölések: request (a Zope HTTP- években láthassam e módszerek további fejlõdését és még jobb kérelem objektuma), repeat (a pillanatnyi tal:repeat cik- illeszkedését a Zope-hoz. lusadatok), options (a sablonnak átadott értékek) és container (a pillanatnyi objektum könyvtára). Linux Journal 2002. július, 99. szám A TALES útvonal-kifejezések nagyszerûek, néha azonban nem olyan rugalmasak, mint szükséges lenne. A TALES ezért lehetõvé teszi, hogy ha a TALES-kifejezést python: jelöléssel Reuven M. Lerner kezdjük, Python-kódot adjunk vissza. Például egy egyszerû ([email protected]) kisebb, webes és számítás eredményét a következõ kóddal foglalhatjuk a internetes módszerekkel foglalkozó tanács- sablonba: adó cég tulajdonosa és vezetõje. A cikk megjelenésének idõpontjában valószínûleg

2 + 2 = már végleg elkészült Core Perl címû  szÆm

könyvével, melyet idén jelentet meg a Prentice-Hall. Az ATF honlapon érhetõ el ( http://www.lerner.co.il/atf/). Létezik még egy string: TALES-elõtag is, amely azt jelenti, hogy az értéket egyszerû szövegként kell értelmezni. A szöve- ges kifejezések tartalmazhatnak $ (dollárjellel) kezdõdõ helyet- tesítendõ változóneveket is, hasonlóan a Perl- és parancsfájlok- Kapcsolódó címek ban megszokottakhoz. A változóneveket kapcsos zárójelekkel ({ és }) is körbekeríthetjük, valahogy így: ${x}. A  http://zope.org honlap szép mennyiségû ZPT-vel kapcsolatos adatot tartalmaz. A The Zope Book utóbbi Szabványos kinézet (Look and Feel) kiadásai (a korábbi változat a New Riders jóvoltából Amit eddig láthattunk, az mind igen szép a dinamikus tarta- nyomtatott formában is elérhetõ) két ZPT-rõl szóló lom-létrehozáshoz. De a DTML (vagy bármely más kifinomult fejezetet tartalmaznak, ideértve néhány TAL-, TALES- és kiszolgálóoldali makrónyelv) egyik legnagyszerûbb tulajdon- METAL-példát: sága, hogy a menüket az egyik dokumentumban adjuk meg,  http://www.zope.org/Members/michel/ZB/ZPT.dtml és a fejléceket egy másikban, a lábléceket pedig egy harmadikban,  http://www.zope.org/Members/michel/ZB/AdvZPT.dtml majd a további lapokban szükség szerint beolvassuk õket. DTML-ben jártas Zope-fejlesztõk számára készült ZPT- Az egyik megoldás, hogy három külön sablont készítünk bemutató írás található a következõ címen: (menu, header és footer) a pillanatnyi könyvtárban, és a követ-  kezõ TAL-kifejezésekkel importáljuk õket: http://www.zope.org/Wikis/DevSite/Projects/ZPT/ IntroductionForDTMLers A TAL, a TALES és a METAL meghatározása rövid, ide j n a men olvasható és a következõ helyen érhetõ el:  http://www.zope.org/Wikis/DevSite/Projects/ZPT/TAL, A TALES belenéz a pillanatnyi sablon tárolójába, lekéri a  http://www.zope.org/Wikis/DevSite/Projects/ZPT/TALES és menüobjektumot (ami történetesen maga is lapsablon),  http://www.zope.org/Wikis/DevSite/Projects/ZPT/METAL majd a tartalmát a jelenlegi dokumentum tagjainak A meghatározások az idõk során jó néhány változáson helyére illeszti. keresztül mentek, ezért lehetõleg mindig a legfrissebb A DTML rugalmasságát makrók alkalmazásával is kihasznál- változatot olvassuk el. hatjuk. A makrók gyakran szerepelnek programozási nyelvek- ben, és lehetõvé teszik, hogy futásidõben kiértékelhetõ kifeje-

www.linuxvilag.hu 2002. augusztus 77 Fogadó a Linuxhoz

A mûvészet csupán mesterséges valóság Tájképek, holdbéli tájak, birkanyájak elõállítása a munkaasztalunkon.

rançois, azt hiszem errõl az 1999-es évjáratú Cote-Rotie-ˆ ˆ Az eredményként elõállt futtatható állományt ezután tetszés ról a DTD-ben, hogy páratlan. Egy ilyen finom bor szerinti könyvtárba másolhatjuk (esetleg a /usr/local/bin alá). kortyolgatása a létezés egy új dimenziójába repíti az A program parancssori kapcsolóival sokféle módon állíthatjuk embert.F Természetesen nem a szó szoros értelmében, François: be a kimenetet, mód van azonban arra is, hogy egyszerûen az ez csak amolyan szófordulat, bók, amellyel egy ilyen kitûnõ xmountains & parancsot begépelve gyönyörködjünk a lát- bor kereskedõjének fejezem ki az elismerésemet. Hiszen még ványban. Egészképernyõs ablak jelenik meg egy véletlenszerû- mindig itt vagyok veled ebben az étteremben és éppen az e en elõállított tájképpel. Tíz másodpercenként a tájkép balra havi menüt nézegetem, melynek középpontjában a mester-

© Kiskapu Kft. Minden jog fenntartva séges alkotások állnak. A valóság és az érzékelés teljességgel személyes élményeken alapul, mon ami, olyan élményeken, amelyeket minden Linux- felhasználó felfedezhet magának, ha úgy kívánja. A Linux-fel- használók egyik nagy kincse az a szabadság, amit a rendszer a tehetséges programozóknak világszerte biztosít ahhoz, hogy különbözõ futtatási módot, környezetet hozzanak létre a számí- tógépes munka vagy a játékok számára. Így azok, akik hozzám hasonlóan csak használják, elõkészítik és felszolgálják ezeket az alkotásokat, szintén osztozhatnak ezekben az elképzelésekben. François, merre jársz, mon ami? Úgy látom, kicsit elkalan- doztak a gondolataid. Á, mes amis! Isten hozott titeket Chez Marcelnél! Észre sem vettem, hogy már itt vagytok! François, siess, hozz még ebbõl a csodálatos borból a vendégeinknek, immédiatement! Foglaljatok helyet, helyezzétek magatokat kényelembe! François perceken belül hoz még ebbõl az 1999-es Cote-Rotie-ból,ˆ ˆ amit éppen kóstolgattam, izé, illetve minõségi 1. kép Egy hegyvidéki virtuális valóság vizsgálatnak vetettem alá. Talán furcsán hangzik, mes amis, de François és én éppen a valóság és az érzékelés sajátosságairól elmozdul, és az ablakban a frissen megjelenített új terepsza- folytattunk eszmecserét. kasz válik láthatóvá. A beállítási lehetõségek megtekintéséhez a Soha nem fogom elfelejteni életem elsõ fraktál tájképét… -h kapcsolót használhatjuk. Az 1. képen figyelhetjük meg, A hegyvidék lélegzetelállító látványa, a hófödte csúcsok és a hogyan fest az xmountains egyik kimenete. köztük megbúvó hegyi tavacskák: ezek segítettek megérteni Az általunk használt ablakkezelõtõl függõen az xmountains a matematika igazi szépségét. Ha valami olyan bonyolult do- olyan módosítására is lehetõség nyílik, hogy közvetlenül a log, mint egy tájkép, egy páfrány levele vagy egy csillagrend- háttérre írjon és így egy folyamatosan változó fraktál tájképet szer, és matematikai mûveletek sorozatának folytonos adjon kimenetként. Alapértelmezés szerint a kód ezt nem ismétlésére vezethetõ vissza, akkor létezik a világegyetemnek engedi, és nem is mûködik jól minden ablakkezelõvel, ezért valami vitathatatlanul tökéletes szépsége. a szerzõ ezt a beállítást nem engedélyezi a program számára. Egy programocska, az xmountains használatával saját Én úgy öntöttem, hogy mégis megteszem az ehhez szükséges magunk is készíthetünk ilyen álomszerû tájképeket. Láto- változtatásokat. Elõfordulhat, mes amis, hogy ti is ki szeretné- gassuk meg a szerzõ, Stephen Boot honlapját tek majd próbálni mindezt. Nagyon egyszerû dologról van ( http://www.epcc.ed.ac.uk/~spb/xmountains), és töltsük le szó: a Makefile PROJECT_DEFINES = sorát kell megkeres- a program legfrissebb változatát. Készítsük el a saját kis „való- nünk és az alábbi formára hoznunk: ságunkat”, alakítsunk rajta egy cseppet, azután ékesítsük vele az asztalunkat. PROJECT_DEFINES = -DVROOT Itt az ideje, hogy kicsomagoljuk és lefordítsuk a forráskódot! Figyeljük meg, hogy egy ideiglenes könyvtárat hoztam létre, Ezután adjunk ki egy make clean parancsot, amit egy make amelybe kibontottam a forráskódot. A fájlok sajnos nem a saját követ, és a programot futtassuk újra a -b kapcsolóval. Az így könyvtáraikkal lettek mentve. Az xmountains lefordítása az kapott pontkép asztalunk hátterébe íródik. A KDE alatt az alábbi egyszerû lépésekbõl áll: eredmény nem túl szép, viszont Window Maker-rel minden csodálatosan mûködik. Ahogy mondani szokás, mes amis, mkdir temp_dir a mérföldek különbözõ hosszúságúak lehetnek. cd temp_dir A tájképek megalkotása csak a programok egyik fajtája, tar -xzvf xmountains_2.6.tar.gz amelyek fraktálok segítségével hoznak létre mûvészi képeket. xmkmf Ha éppen csak bele szeretnénk kóstolni a témába és egy sze- make met gyönyörködtetõ kütyüt szeretnénk létrehozni, valószínû-

78 Linuxvilág Fogadó a Linuxhoz

programokat egyszerre látjuk futni. Linux-rendszerünk igazi aranybánya, ha szürrealisztikus tája- kat elõállító programokat keresünk. Egy újabb csomag, ami a rendszer telepítésekor valószínûleg a gépünkre került: a netpbm vagy netpbm-progs. A csomag részeként találjuk meg a pgmcrater nevû programot, amely fraktálok segítségével kráterekkel teletûzdelt terepet hoz létre, így a mûvelet végén

2. kép Fraktálok, amennyire az aranyos kütyü láthatja © Kiskapu Kft. Minden jog fenntartva leg még programtelepítésre sincs szükségünk. A legtöbb Linux- terjesztés része egy xscreensaver nevû csomag, amely képer- nyõvédõk gyûjteménye. Ha esetleg még nem tudnánk, minden egyes képernyõkímélõ egy-egy önálló, meghatározott képes- ségekkel rendelkezõ program. Például a drift egy rekurzív fraktál lángokat létrehozó program. Akár az xscreensaver 3. kép Ez most a Hold vagy a pgmcrater? segítségével, akár közvetlenül, önálló programként elindítható:

/usr/X11R6/lib/xscreensaver/drift -background "Wheat"

A parancs egy ablakot nyit meg, amelyben a fraktál lángok szün- telenül lobognak a búzaszínû háttér elõtt. Az alapértelmezett hát- térszín a fekete, azonban játszhatunk is a színekkel. Ha nagyobb ablakot (például 800×600 felbontásút) szeretnénk, próbáljuk ki a programot a -geometry 800 600 kapcsoló hozzáadásával. Emlékszünk még, hogy az xmountains bemutatásakor a háttérrõl is szó volt ? Ami az ablakkezelõket illeti, ugyanaz a szabály vonatkozik rájuk is, azonban a programot a -root kapcsolóval is futtathatjuk – állandóan változó háttérképet hozva létre:

/usr/X11R6/lib/xscreensaver/drift -root

Vágyódunk a természet hívó szava után? Talán a hegyeket nem szeretjük annyira, az erdõ vad szépségét viszont annál inkább. Talán az asztalunk sarkán lévõ kis ablak éppen a soron követke- 4. kép Különös, új világok – rád várnak, hogy megalkosd õket zõ – próbáljuk ki a forest-et ugyanebbõl a csomagból. A futtatha- tó fájl elérési útvonala a telepítéstõl függõen különbözhet. Pró- mesterséges holdbéli tájon találjuk magunkat (miként a 3. képen barendszeremen mindez a /usr/X11R6/lib/xscreensaver is látható). Próbáljuk ki az alábbi módon: útvonalon érhetõ el. pgmcrater -x 800 -y 600 > crater.out forest -geometry 300 200 convert crater.out crater.jpg

Ha meguntuk, próbáljuk ki a hopalong-ot, és kísérletezzünk A második parancs az ImageMagic készlet része. A pgmcrater fraktál platánfákkal. Esetleg indítsuk el a julia-t néhány mozgó a képeket nyers grafikus formában hozza létre, amely egy ideigle- julia fraktál elõállításáért. Az meg micsoda? – kérdezhetitek jo- nes fájlba íródik. Ezután a nyers képállományt jpeg formátumúra gosan. Nos, a leírás szerint a program „if utasításokat használ alakítom, hogy asztalom háttérképeként használhassam. Melles- {w0 = sqrt(x-c), w1 = -sqrt(x-c)} véletlenszerû iterá- leg ez a két parancs az alábbi módon akár össze is vonható: cióval a juliahalmaz pontjainak megszerkesztéséhez, a halmaz szinuszosan változó értékeivel és ezeknek az értékeknek a kör- pgmcrater -x 800 -y 600 | convert körös felrajzolásával” (milyen jó, hogy megkérdeztétek, ugye?). - crater.jpg Az xscreensaver által kínált lehetõségeket zárjuk azzal, hogy az egyik kedvencemet, az imsmap-et vizsgáljuk meg. A 2. kép Mielõtt továbbmennénk, vessünk egy pillantást a netpbm- bepillantást enged kissé zsúfolt asztalomra, ahol ezeket a progs még egy tagjára, amelyet különösen kedvelek, és amely-

www.linuxvilag.hu 2002. augusztus 79 Fogadó a Linuxhoz

nek a neve ppmforge. Ez a program bolygók, csillagos égboltok és felhõk „fraktálhamisítványait” hozza létre (a kifejezés Richard F. Voss-tól származik). A képek meglepõen valószerûek (olyan valóságosak, amennyire egy számítógép alkotta bolygó egyáltalán lehet), igazi mestermûvek. A program lehetõséget ad a – a terep magasságának függvényében – a fagyott képzõd- mények mennyiségének, a bolygó napjához viszonyított dõlés- szögének, a sarki jég mennyiségének, valamint a napos és sötét bolygófél határvonalát meghatározó napszak megadására. Minderre a következõ parancs mutat példát:

ppmforge -hour 10.5 -glaciers .5 -tilt 23.5 -ice .5 -width 800 -height 600 -stars 70 | display - 5. kép Vajon Linux-rendszered is elektronikus birkákról álmodik?

A 4. kép az egyik ilyen módon elõállított világ egy pillanatképét hogy képernyõvédõként használnánk – ehhez egyszerûen mutatja. Az eredményként kapott képet az ImageMagic kép- az electricsheep parancsot kell begépelnünk. Ebben a

© Kiskapu Kft. Minden jog fenntartva megjelenítõjébe irányítottam ahelyett, hogy minden egyes módban a hátteret foglalja el, ezért mûködõ ablakainkat való- alkalommal egy rögzített képbe alakítanám át. Így a jobb egér- színûleg kis méretûre kell összecsuknunk. A --help kapcsoló gombbal a képre kattintva a pillanatnyi állapotot bármikor segítségével listát kérhetünk a beállításokról. Az xscreensaver a kívánt formában menthetem. Azok számára, akiknek a fel- csomag részét képezõ képernyõvédõként való használathoz hõkkel teletûzdelt kék ég jelenti a háttérképek netovábbját, a .xscreensaver fájlt oly módon szükséges módosítani (vagy a ppmforge szintén tartogat egy ügyes fogást. Próbáljuk ki létrehozni), hogy az electric sheep szerepeljen a felsorolt prog- a parancsot ezzel a beállítással: ramok között. A következõ példában a várakozási idõt is beállítottam, mégpedig két percre: ppmforge -clouds -width 800 -height 600 | display - timeout: 0:02:00 lock: True Mint látható, az ihletért nem kell a munkaasztalunknál lockTimeout: 0:02:00 messzebbre menni. François, a vendégeink szomjasak, tölts programs: \ nekik, légy oly kedves! electricsheep --nick "ChefMarcel" \n Szerény konyhafõnökötök egyik kedvenc filmje a Szárnyas fejvadász – amely Philip K. Dick „Álmodnak-e az androidok Ezután indítsuk el az xscreensavert az xscreensaver -nosplah elektromos bárányokról” címû regényén alapul –, a mû egy & paranccsal, és várjunk. Az 5. kép a szerény konyhafõnökötök lehetséges valóság lenyûgözõ képe. Dick regénye az ihletõje képernyõjén megjelent rengeteg birka egyikével kérkedik. a választható valósággal történõ következõ találkozásunknak, Az álmokról beszélgetve, mes amis, az idõ elszaladt, nemsokára amely Scott Drave elektronikus birkája. Amikor már minden öt- zárnunk kell. Hogy minél jobban aludjatok az éjjel, François letbõl kifogytunk, engedjük el a billentyûzetet, várjuk meg en- még egyszer teletölti poharaitokat. François, s’il vous plaît. nek az elragadó képernyõvédõnek a megjelenését, és készül- Ahogy máskor is, igazi öröm volt számomra, hogy ellátogat- jünk fel egy kis elektronikus álmodozásra. Elöljáróban csak tatok. Mondjam azt, hogy álomszerû? Non. annyit: amikor a képernyõvédõ elindul, a képernyõ egy percre Ürítsük poharainkat. Élvezzétek az utolsó cseppeket. Viszont- elsötétül, amíg a program a kiszolgálóhoz csatlakozik. Ezután látásra a következõ hónapban! A votre santé! Bon appétit! egy eleven „birka” jelenik meg, amely valójában egy mozgó fraktálkép, amelyet a hálózatba kötött ügyfélgépek együttes Linux Journal 2002. július, 99. szám erõfeszítései hoznak létre. Minden 15 másodpercben új birka (az eredményként kapott mozgás) jön létre, folyamatosan a Marcel Gagné nap 24 órájában. Nehéz azt állítani, hogy ez is olyan hasznos, ([email protected]) a Salmar Consulting mint a Seti@HOME projekt (az elektronikus bárány ötletének Inc, egy rendszerépítéssel és hálózati tanács- egy másik része), de elég dögös, nem? adással foglakozó cég elnöke, valamint az A nagyfelbontású animációk elõállítása nagysebességû világ- Addison Wesley kiadásában megjelent, s hálós kapcsolatot igényel, a modem által elérhetõ 56 K sávszé- hamarosan a Kiskapu Kiadó gondozásában lesség kevésnek bizonyulhat. Ha bele szeretnénk kóstolni, megjelenõ Linux-rendszerfelügyelet címû könyv szerzõje. kezdetnek a  http://electricsheep.org címet ajánlom megláto- gatásra egy másolat beszerzése érdekében. Ezután a kicsoma- golás és fordítás az alábbi módon történhet: Kapcsolódó címek  tar -xzvf electricsheep-2.1.tar.gz.html Elektronikus birka http://electricsheep.org  cd electricsheep-2.1 ImageMagick http://www.imagemagick.org ./configure Marcel borlapja  http://www.marcelgagne.com/nfwine.html make Netpbm-eszközök  http://sourceforge.net/projects/netpbm su -c "make install" Az xmountains honlapja  http://www.epcc.ed.ac.uk/~spb/xmountains A programot el is indíthatjuk és ki is próbálhatjuk anélkül,

80 Linuxvilág Falatka

Mérnökök???

Néhány szó a mérnökök egyik új típusáról, akik nélkül remekül meglennénk.

ervezés – e tevékenységhez mindig legalább egy mér- vagyok. Nézegetni mindenesetre jó. A futtatáshoz T nöknek kell tartoznia. Esetünkben talán többes számban szükséges: webkiszolgáló PHP- és GD-támogatással, kellene beszélni róluk. Vannak a gépészmérnökök, akik internet-hozzáférés a NetGeo oldalának eléréséhez. megtervezik a számítógépek házait, és akik gondoskodnak  http://www.xpenguin.com/ip-atlas.php arról, hogy minden új ház kinyitása legalább félórás fejtöréssel járjon. Vannak még az elektromérnökök, akik gyorsabb, olcsóbb iftop és jobb áramköröket terveznek, és természetesen nem szabad A topra hasonlító segédprogram, amely figyeli a kiválasztott elfeledkezni a rendszermérnökökrõl sem, akik a rendszereket, hálózati kapcsolatokat, illetve alapértelmezettként az eth0 vagy legalábbis a programokat tervezik. Szeretnék azonban csatolót. Egy VT (VC) vagy egy Xterm ablakban jeleníti meg az bevezetni egy új kategóriát: a ballasztmérnökökét. élõ kapcsolatokat. Ha hirtelen – és valós idõben – kell meg- A ballasztmérnökök munkája abból áll, hogy mi bármilyen lesned, hogy mi minden halad át a gépeden, akkor jó, ha erõs gépet veszünk is, mondjuk egy tuningolt Pentium IV-est kéznél van. A futtatáshoz libpthread, libm és glibc szükséges. 1,8 GHz-es órajellel, 512 MB memóriával, vízhûtéssel – bekap-  http://www.ex-parrot.com/~pdw/iftop csoláskor szinte érezzük a dobozban feszülõ erõt –, az egész úgy mûködjön, mintha egy 16 MB memóriával megtûzdel OpenGrade 486-os elõtt ülnénk. Tanároknak készült alkalmazás, amely egy könnyen és gyorsan Elsõként a Gnome- és KDE-tervezetek vezetõit szeretném eme használható szöveges és egy grafikus felülettel egyaránt ren- megtisztelõ címre jelölni. Jómagam a Blackboxot (indítása delkezik. A grafikus felület használatához Tk szükséges, ami- nagyjából két másodpercig tart) és a Sylpheedet használom nek a telepítésével ugyan külön meg kell küzdeni, viszont (gyakorlatilag pillanatok alatt elindul). A legnagyobb dög, amit általa a szövegesnél is könnyebben használható felülethez használok, a Netscape, de sajnos ez az egyetlen olyan böngé- jutunk. Nem próbáltam ki ugyan, de ha az OpenGradenek szõ, amely a CSS-2 kezelésére teljes körûen alkalmas, de hely- helyet adó gépen webkiszolgáló is fut, a hallgatók jegyeiket zetét a CrossOver beépülõ modul is rontja. Gyakorlatilag bár- jelszóval védett módon érhetik el. A futtatáshoz szükséges: melyik irodai csomagot felhozhatnám példaként, ám ezeknél Perl; Tk; valamint a Term::ReadKey, Date::Calc, Tk::FileDialog nem meglepetés a lassúság – bár hozzá kell tennem, az Applix és Net::FTP Perl modul. mindig pillanatok alatt indult, és szélsebesen futott. Egyszer,  http://www.lightandmatter.com/ogr/ogr.html ha lesz egy kis idõm, felteszek egy régebbi rendszert egy újabb gépre, és kipróbálom, hogy egyrészt egyáltalán fut-e, másrészt OpenTRS milyen gyorsan teszi. Az Open Ticket Request System (OTRS) egy olyan webalapú Nem vagyok én sem a fejlõdés ellen. Alig várom, hogy meg- címkézõrendszer, amely fogadja az OTRS felhasználóhoz befu- vehessek egyet a Think Geek ( http://thinkgeek.com) tó leveleket, és megoldandó feladatokként sorba állítja õket. Cappuccino GG-1 nevû kisméretû számítógépei közül – ráköt- A fejlesztések nyomán idõvel telefonos várakozási sorral is ném egy akkumulátorra –, hogy legyen egy olyan készülékem, együtt tud majd mûködni. A rendszerrel nyomon követhetjük ami kivetíti elém a billentyûzetet, és érzékeli, hogy éppen hol az ügyfelektõl és a különféle rendszerektõl befutó hívásokat vannak az ujjaim; és felvehessek egy olyan pehelysúlyú sze- és leveleket. A fejlesztõ többek között lehetõvé tette a levélben müveget, amelynek a használata közben úgy érzékeljük, hogy történõ válaszadást is, valamint a belsõ és nyilvános feljegy- egy 20 hüvelykes képernyõ elõtt ülünk. Egyedül egy vezeték zések készítését is. A futtatáshoz szükséges: Perl; és több Perl nélküli hálózati kártya hiányzik, talán a Cappuccino ethernet- modul: Unix::Syslog, CGI, MIME::Words, Mail::Internet, csatolóját ki kellene szedni, és berakni egy másikat a helyére. MIME::Parser, DBI, DBD::mysql, Digest::MD5; webkiszolgáló; Mobil és szabad leszek, mint a madár, és csak másfél kilónyi SMTP (pl.: Sendmail) és Procmail. cuccot kell majd cipelnem.  http://otrs.org

IP-Atlas Ennyit erre a hónapra. Webes parancsfájl, amely miután kapott egy IP-címet – alapér- telmezett esetben az eth0 címét –, megmutatja a hozzá tartozó Linux Journal 2002. július, 99. szám gép helyét a világtérképen. Az IP-t a NetGeonak küldi tovább, amely visszaadja a feltételezett tartózkodási hely hosszúsági és szélességi adatait. Végül is pontos, ám az egész eljárás azon David A. Bandel feltételezésre épül, hogy az IP-címet birtokló vállalkozás helyén ([email protected]) jelenleg Panamában található az azt használó számítógép is. Az én kiszolgálóim pél- él, Linux- és Unix-tanácsadással foglalkozik. dául Panamában vannak, ám texasinak látszanak. A szolgálta- Társszerzõje a Que Special Edition: Using tóm vonalai valóban Texasba vezetnek, és ugyan itt lent is meg- Caldera OpenLinux címû könyvnek. lehetõsen meleg és száraz az idõjárás, azért mégsem Texasban © Kiskapu Kft. Minden jog fenntartva

www.linuxvilag.hu 2002. augusztus 81