03–04/99Linuxove´noviny

U´ vodem Mı´t svuj˚ vlastnı´sen... ehm, firewall Pavel Janı´k ml., 10. dubna 1998 Jisteˇ jste se dostali nebo tˇreba dostanete do situace, kdy Dva mesı´ceˇ ubehlyˇ jako voda a opetˇ je tu dalsˇı´ cı´sloˇ Linuxo- va´s nekdoˇ vyzve, abyste vyrobili z Linuxu zabezpeceny´po-ˇ vy´ch novin, ktere´va´m pˇrina´sˇejı´ty nejzajı´mavejsˇı´informaceˇ cı´taˇ cˇ — firewall. Na´stroje i podpora pˇrı´mo v kernelu na to ze svetaˇ Linuxu a vubec˚ denı´kolemˇ nej.ˇ To vsˇenezanese- existujı´, ale nejvetsˇı´proble´mˇ je s definova´nı´m vsˇechpo- ne´komercnı´miˇ dezinformacemi a novina´ˇrsky´m hyenismem tˇrebny´ch pra´v pro vstup/vy´stup do vnitˇrnı´sı´te,ˇ ktera´je po- (© DusˇanKory´tko:-) — pouhe´ ciste´informace.ˇ tˇreba hlı´dat. Pro ˇresˇenı´tohoto u´kolu ma´te nynı´pomocnı´- Co va´m tedy pˇrina´sˇı´toto cı´slo?ˇ Pˇredevsˇı´m je nutno kon- ka, skript jme´nem Mason (1), ktery´doka´zˇe ˇresˇitvsˇepo- statovat, zˇe je zameˇˇreno na prakticke´ota´zky dnesˇnı´ho li- tˇrebne´. Skript vyuzˇı´va´logu˚ od programu˚ ipchains a ip- nuxove´ho zˇivota, tedy na programova´nı´webovy´ch aplikacı´, fwadm, sleduje provoz na sı´ti, ma´podporu pro PPP spojenı´ bezpecnost,ˇ framebuffer a dalsˇı´. Ale postupne:ˇ a spoustu dalsˇı´ch uzˇitecny´chˇ vlastnostı´. S jeho pomocı´lze Jako v kazˇde´m cı´sleˇ na´m Radek Vybı´ral pˇredstavı´nej- snadno sestavit potˇrebna´pravidla pro provoz firewallu. novejsˇı´programyˇ pro v rubrice Cerstve´masoˇ pro Li- nux. Pokud va´s nektery´pˇ ˇredstaveny´program zaujme, na- pisˇtena´m o tom. Vzˇdyt’ pˇreci psa´t v TeXu je tak snadne´ David Rohleder si na chvı´li odpocalˇ od pˇrekladu Pac- kages v Debianu a pˇrecetlˇ si knihu „Bezpecnostˇ v Unixu TkLATEX (2) je WYSIWYG nadstavba nad LATEXem, kte- a Internetu v praxi“. O svy´ch za´zˇitcı´ch se s na´mi podelı´ˇ ra´velmi usnadnujeˇ psanı´textu.˚ Umozˇnujeˇ vkla´dat nejpou- v cla´nkuˇ Recenze: Bezpecnostˇ v Unixu a Internetu v praxi. zˇı´vanejsˇı´forma´tovacı´znaˇ ckyˇ pˇrı´mo z menu. Pokud se pˇreci Ro´bert Dobozy se ujal rubriky Linux Journal, a tak si jen dostanete do situace, zˇe editor nestacı´,ˇ lze dokument opetˇ muzˇete˚ pˇrecı´st,ˇ co se v nejctenˇ ejsˇı´mˇ linuxove´m perio- editovat v klasicke´m mo´du. S pomocı´toho editoru muzˇete˚ diku objevilo v uplynuly´ch mesı´cı´chˇ (viz cla´nkyˇ Linux Jour- vkla´dat i ty nejslozˇitejsˇı´matematicke´vzorce.ˇ nal — marec a Linux Journal — aprı´l). Nathan L. Cutler dokoncilˇ pˇreklad u´vodnı´ho dokumentu ke kernelu 2.2 (Ba´jecny´svˇ etˇ ja´dra v. 2.2 (pokracova´nı´)ˇ ), a tak si jej muzˇete˚ pˇrecı´stˇ i vy, kdozˇnevla´dnete anglictinou.ˇ S novy´mi kernely souvisı´i mozˇnost zprovoznit vasˇinovou a jisteˇ skvelouˇ grafickou kartu v X Window syste´mu pomocı´ tzv. framebufferu. Jak na to popisuje Robert Vojta v cla´nkuˇ Nove´graficke´karty a Xka. Toto cı´sloˇ je zameˇˇreno na web a na vy´voj aplikacı´pro web. Hlavnı´mi cla´nkyˇ jsou Zope MilosˇePrudka,˚ Co je to HTTP a HTML? a Popis knihovny cgihtml, aneb jak na CGI z C Marka Sezemske´ho. Dalsˇı´m zajı´mavy´m cla´nkemˇ je Rychlo-sˇkolickaˇ pro Ma- kefile Marka Sezemske´ho. No a nakonec jsem si samozˇrejmeˇ nechal nejctenˇ ejsˇı´ˇ rubriku Linxovy´ch novin :-) Zasma´li jsme se! je opetˇ na sve´m mı´steˇ a v tomto cı´sleˇ dokonce i s cla´nkemˇ Ve-ˇ rosˇeKaplana o veˇcne´rivalitˇ eˇ Pythonu a Perlu (a nejen o tom). Pˇreji pˇrı´jemne´poctenı´aˇ nezapomenteˇ na´m napsat, co va´m v Linuxovy´ch novina´ch chybı´. Nebo je vsˇeskvele´?ˇ Tak to je dobˇre :-) P.S.: Uvidı´me se na Prudke´’99... MP3 Radio? Ale jiste,ˇ ozvalo se ze slucha´tka

Pokud ma´te uzˇnejakouˇ sbı´rku skladeb v popula´rnı´m for- Cerstve´masoˇ pro Linux ma´tu MP3, pro pˇrehra´va´nı´musı´te mı´t soubory MP3 pˇrı´- Radek Vybı´ral, 15. dubna 1999 stupne´na CD-ROM nebo na disku. IceCast (3) je server pro vysı´la´nı´MP3 hudby prostˇrednictvı´m protokolu HTTP. Jizˇpodruhe´se na tomto mı´steˇ setka´va´te s nadı´lkou soft- Takzˇe si muzˇete˚ vyrobit MP3 ra´dio, ktere´mohou vyuzˇı´vat waru, ktery´je mozˇne´provozovat pod operacnı´mˇ syste´mem take´vasˇikolegove´v pra´ci. Na server muzˇe˚ by´t napojeno Linux. Rozsˇı´ˇrenı´m oproti minule´mu dı´lu bude take´uvede- vı´ce zdroju,˚ jako napˇrı´klad vy´stup z radiokarty a podobne.ˇ nı´softwaru, ktery´je anoncova´n v diskusnı´skupineˇ syste´mu Urcitˇ eˇ stojı´za pozornost, doporucujiˇ z vlastnı´zkusˇenos- UseNet News: comp.os.linux.announce, zkra´ceneˇ c.o.l.a. ti!

Linuxove´noviny pˇripravuje a vyda´va´ Ceske´sdruzˇenı´uzˇivatelˇ u˚ operacnı´hoˇ syste´mu Linux Linuxove´noviny 03–04/99

Pla´novacˇ projektu˚ na WWW pocesˇtit,slovenskyˇ uzˇby melˇ mluvit a ma´me vy´borny´vy´- vojovy´na´stroj. Pokud pracuje na vetsˇı´mˇ projektu vı´ce lidı´, pˇrı´padneˇ delı´teˇ u´koly mezi skupinu lidı´, je onShore TimeSheet (4) software WYSIWYG editor Ted urceny´pˇ ˇresneˇ va´m. Muzˇete˚ sledovat casove´plnˇ enı´jednotli-ˇ vy´ch u´kolu,˚ generovat pˇrehledy u´kolu˚ a informovat spra´vce Potˇrebujete editor, ktery´umı´ cı´stˇ a zapisovat v RTF forma´- projektu˚ prostˇrednictvı´m e-mailu. tu kompatibilnı´m s Microsoft Wordem, tisknout na post- scriptove´tiska´rne,ˇ pracovat s tabulkami, ukla´dat v HTML Kryptovane´spojenı´s NT serverem! forma´tu a za´rovenˇ ma´by´t snadno ovladatelny´? Pak jed- nodusˇezadejte adresu (8), na ktere´naleznete editor Ted. Pokud jste slysˇelio technologii PPTP (Point-to-Point Tun- Ke spusˇtenı´potˇ ˇrebujete emulaci prostˇredı´Motif, ktere´lze neling Protocol), tak jisteˇ vı´te, zˇe je vy´sadou svetaˇ Win- take´bez proble´mu sta´hnout z (9). dows, zˇe komunikuje pra´veˇ prostˇrednictvı´m tohoto proto- kolu. Od te´to chvı´le to neplatı´, protozˇe se nasˇlaskupina CGI skripty v Perlu bezˇı´!ˇ lidı´, kteˇrı´pod licencı´GPL napsali serverovou i klientskou implementaci tohoto protokolu s na´zvem PoPToP (5). Po Pokud pouzˇı´va´te na webove´m serveru CGI skripty napsa- ˇ ˚ nainstalova´nı´serverove´ ca´sti na Linux se muzˇete bez pro- ne´v Perlu, ktery´se vetsˇinouspousˇtı´prostˇ ˇrednictvı´m sys- ˇ ble´mu pripojit s klienty z Windows a naopak. te´movy´ch vola´nı´a pˇri vetsˇı´za´tˇ ezˇiˇ znacnˇ eˇ zatezˇujeˇ server, ma´te o jednu starost me´ne.ˇ Stacı´nainstalovatˇ SpeedyCGI Linuxove´soubory ke mne!ˇ (10), ktere´zabezpecı´permanentnı´spusˇtˇ enı´interpretuˇ Per- lu, takzˇe dojde k podstatne´mu zrychlenı´behuˇ skriptu.˚ In- Jisteˇ se va´m asi nekdyˇ stalo, zˇe jste zrovna ve chvı´li, kdy stalace je velice jednoducha´, stacı´ˇ vymenitˇ jeden ˇra´dek, jste nuceni pracovat s Billovy´mi oky´nky (Win95), potˇre- mı´sto ˇ bovali soubor umı´steny´naˇ diskove´oblasti Linuxu. Resˇe- #!/usr/bin/perl nı´m bylo ukoncitˇ pra´ci, nabootovat Linux, pˇrekopı´rovat soubor na diskovou oblast citelnouˇ pod Win95, kterou Li- vlozˇit nux bez proble´mu cteˇ i zapisuje, a zase rebootovat zpa´tky #!/usr/local/bin/speedy do Win95. K vyˇresˇenı´tohoto proble´mu je mozˇne´pouzˇı´t pro- gram LREAD (6), ktery´umozˇnujeˇ ctenı´filesyste´muˇ ext2 ze na zaca´tekˇ kazˇde´ho skriptu. syste´mu˚ DOS a Windows (3.x, 9X, NT). Program je urcenˇ pro pˇrı´kazovou ˇra´dku, ale v poslednı´verzi pˇribyla mozˇnost Ma´te na disku citliva´data? Zakryptujte je! prohlı´zˇet obsah adresa´ˇru˚ ve webovske´m prohlı´zˇeci,ˇ proto- zˇe do programu byl integrova´n web server. Doporucujı´ˇ ctyˇ ˇri Stacı´kˇ tomu nainstalovat PPDD driver (11), ktery´se tva´ˇrı´ z petiˇ uzˇivatelu˚ Win95 :-) jako dalsˇı´zaˇrı´zenı´, na ktere´m je mozˇne´vyrobit ext2 file- syste´m. Vsˇechnysoubory ulozˇene´na tomto zaˇrı´zenı´jsou kryptova´ny pomocı´algoritmu blowfish.

Vyvı´jet aplikace pod Linuxem? Zˇa´dny´proble´m!

Pokud se zaby´va´te vy´vojem aplikacı´pro Linux, mozˇna´jste zatouzˇili po nejake´mˇ pekne´mˇ integrovane´m prostˇredı´pro Dalsˇı´vy´voja´ˇrsky´na´stroj vy´voj, necoˇ jako majı´nejmenovane´operacnı´syste´my.ˇ I zde je pomoc jednoducha´, stacı´ˇ mı´t nainstalova´no prostˇredı´ Rodinu vy´voja´ˇrsky´ch na´stroju˚ se snazˇı´rozsˇı´ˇrit TCL Develo- KDE a muzˇete˚ si sta´hnout Kdevelop (7). Prostˇredı´umozˇ- per Studio (12). S tı´mto na´strojem muzˇete˚ pomernˇ eˇ snadno nujeˇ na´vrh aplikacı´pomocı´popula´rnı´ch wizardu,˚ integro- vyvı´jet aplikace v popula´rnı´m prostˇredı´TCL. Editor umozˇ- vany´editor ma´dobrou pomucku˚ v podobeˇ syntax high- nujeˇ vı´cena´sobnou editaci souboru,˚ syntax highlighting, lightingu neboli zvy´raznenı´ko´du.ˇ Zby´va´uzˇjen prostˇredı´ funkci Undo a zarovna´va´nı´ko´du. Vsˇechnyzdrojove´soubo-

2 Linuxove´noviny 03–04/99 ry muzˇete˚ take´spravovat pomocı´Project Managera a mozˇ- 9 LessTif nostı´vypsa´nı´ladı´cı´ch informacı´do zvla´sˇtnı´ho okna. Vsˇichni http://www.lesstif.org programa´toˇri vsˇechzemı´, STAHUJTE! 10 SpeedyCGI http://www.daemoninc.com/speedycgi/ 11 PPDD Stahova´nı´programu˚ nacasovat:ˇ TEDˇ ftp://ftp.gwdg.de/pub/linux/misc/ppdd/ 12 TCL Developer Studio Stahujete take´obcasˇ programy z Internetu? Pokud ano, http://www.star.spb.ru/~small/tcldev/ pak jisteˇ zna´te proble´my s tı´m, zˇe se stahova´nı´pˇrerusˇı´, 13 WebDownloader soubor je nekompletnı´. Vecerˇ jsou vetsˇinoulinkyˇ volnejsˇı´ˇ http://www.krasu.ru/soft/chuchelo/ a tak je mozˇne´prove´st download vecer.ˇ Pokud zna´te pro- 14 KisoCD gram GetRight pro Windows, pak jisteˇ nemusı´m nic do- http://www.uni-karlsruhe.de/~um12/kisocd-index.html da´vat, pˇresneˇ tyto sluzˇby zajisˇt’uje WebDownloader (13). Program vyuzˇı´va´graficke´ho prostˇredı´GTK knihoven, tak- zˇe pra´ce s nı´m je velice pˇrı´jemna´. Recenze: Bezpecnostˇ v Unixu a Internetu v praxi David Rohleder, 8. bˇrezna 1999

Na konci minule´ho roku vysˇlonekolikˇ knih ty´kajı´cı´ch se problematiky pocı´taˇ cove´bez-ˇ pecnosti.ˇ Ra´d bych napsal pa´r slov o nejob- jemnejsˇı´zˇ nich. Je to pˇreklad druhe´ho vyda´- nı´knihy Practical UNIX & Internet Securi- ty od Simsona Garfinkela a Gene Spafforda, ktery´vysˇelpod cesky´mˇ na´zvem Bezpecnostˇ v Unixu a Internetu v praxi. Pˇreklad vyda- lo v poslednı´dobeˇ velmi aktivnı´nakladatelstvı´Computer Press. Tato kniha cı´tajı´cı´vı´ceˇ nezˇ900 stran je v oblasti unixove´ bezpecnostiˇ opravdovou biblı´. Autoˇri se snazˇı´sezna´mit cte-ˇ na´ˇre s celou sˇı´ˇrı´problematiky bezpecnostiˇ unixovy´ch syste´- mu,˚ od za´kladnı´ho vysvetlenı´bezpeˇ cnostnı´chˇ opatˇrenı´v sy- ste´mu, pˇres fyzickou bezpecnost,ˇ za´lohova´nı´a bezpecnostˇ jednotlivy´ch programu˚ azˇpo pra´vnı´problematiku. Kniha nenı´jen suchy´m popisem ruzny´ch˚ syste´mu˚ bez- pecnosti,ˇ jejı´tvurci˚ jsou odbornı´ci se znacnouˇ praxı´, a tak je kniha prolozˇena ruzny´mi˚ zajı´mavy´mi pˇrı´behyˇ a historkami ze zˇivota. Vypalova´nı´CD je pˇreci za´bava Te´maticky je cely´text rozdelenˇ do sˇesti ca´stı´aˇ nekolikaˇ pˇrı´loh. Pokud vytva´ˇrı´te a vypalujete CD-ROM disky, pak jisteˇ po- Ca´stˇ prvnı´— Za´klady pocı´taˇ cove´bezpeˇ cnostiˇ popisuje uzˇı´va´te ˇra´dkove´utility mkisofs a cdrecord. Ne vsˇemse vznik a historii operacnı´hoˇ syste´mu Unix a obsahuje vy- ovsˇemzda´pra´ce s temitoˇ programy pohodlna´, a proto je svetlenı´nˇ ektery´chˇ za´kladnı´ch termı´nu.˚ Venujeˇ se take´vol- mozˇne´spustit grafickou nadstavbu nad temitoˇ programy beˇ bezpecnostnı´strategieˇ a managementu rizik. s na´zvem KisoCD (14). Jak na´zev napovı´da´, jedna´se o pro- Ca´stˇ druha´— Zodpovednostˇ uzˇivatelu˚ se venujeˇ uzˇivatel- gram bezˇı´cı´podˇ prostˇredı´m KDE, s jehozˇpomocı´muzˇete˚ sky´m u´ctˇ um,˚ uzˇivatelum,˚ skupina´m a superuzˇivateli. Sou- vytva´ˇret image pohodlneˇ a pˇrehledneˇ pomocı´menu. ca´stı´jeˇ take´popis unixove´ho souborove´ho syste´mu vcetnˇ eˇ nektery´chˇ nestandardnı´ch rozsˇı´ˇrenı´(ACL — „seznam ˇrı´ze- 1 Mason nı´pˇrı´stupu“). Pomernˇ eˇ velka´ ca´stˇ te´to kapitoly je venova´-ˇ http://users.dhp.com/~whisper/mason/ na kryptografii. Na te´meˇˇr padesa´ti strana´ch jsou rozebra´- 2 TkLATEX ny za´klady symetricky´ch a asymetricky´ch sˇifer, digita´lnı´ch http://gaia.univ-rennes1.fr/tklatex/ podpisu˚ a hashovacı´ch funkcı´. 3 IceCast Ca´stˇ tˇretı´ — Bezpecnostˇ syste´mu se venujeˇ za´klad- http://icecast.org/ nı´m bezpecnostnı´mˇ praktika´m, ke ktery´m patˇrı´za´lohova´- 4 onShore TimeSheet nı´, ochrana u´ctˇ u,˚ kontrola integrity a protokolovacı´mecha- http://www.onshore-timesheet.org/ nismy. Ca´stˇ je take´venova´naˇ fyzicke´a persona´lnı´bezpec-ˇ 5 PoPToP nosti pocı´taˇ covy´chˇ syste´mu,˚ cozˇje zajı´mave´zejme´na pro http://www.moretonbay.com/vpn/pptp.html spra´vce vetsˇı´chˇ syste´mu.˚ 6 LREAD Ca´stˇ ctvrta´—ˇ Bezpecnostˇ sı´teˇ a Internetu popisuje pro- http://www.it.fht-esslingen.de/~zimmerma/lread.htm ble´my, ktere´vznikajı´pˇri pˇripojenı´pocı´taˇ ceˇ k nektere´muˇ 7 Kdevelop z druhu˚ sı´tı´, telefonnı´sı´tı´ pocı´najeˇ a Internetem konce.ˇ http://www.cs.uni-potsdam.de/~smeier/kdevelop/index.html Jsou zde dosti podrobneˇ popsa´ny syste´my UUCP, WWW, 8 Ted RPC, NFS, NIS, NIS+ a Kerberos. http://www.nllgg.nl/Ted/ Ca´stˇ pa´ta´ — Pokrocila´ˇ te´mata pˇredstavuje syste´my

3 Linuxove´noviny 03–04/99

ochrany vnitˇrnı´ch sı´tı´pˇred vnejsˇı´sı´tı´.ˇ Jsou to pˇredevsˇı´m necoˇ o Linuxu pˇrecetl,ˇ zkusil jej a zcela propadl jeho kouz- firewally, wrappery a proxy a ca´stˇ je take´venova´naˇ proble- lu. Nevlastnı´m zˇa´dny´server a Linux ma´m zatı´m pouze do- matice tvorby suid programu.˚ ma na sve´m pocı´taˇ ci.ˇ Mysˇlenka,zˇe stovky programa´toru˚ Ca´stˇ sˇesta´— Postup pˇri napadenı´. Byli jste u´spesˇnˇ eˇ napa- cele´ho svetaˇ se spojily pomocı´Internetu a vy´sledkem jejich deni? Tak toto je kapitola pˇresneˇ pro va´s. I kdyzˇdoporucujiˇ pra´ce je operacnı´syste´mˇ vy´borne´kvality, patˇrı´podle me´- pˇrecı´stˇ pˇred tı´m nezˇse to stane. Jsou zde probra´ny postu- ho na´zoru do oblasti sci-fi. A pˇrece Linux je tady, neky´mˇ py pˇri napadenı´od odhalenı´pruniku,˚ zastavenı´u´toku, azˇpo obdivovany´, neky´mˇ zatracovany´, ale jizˇuzna´vany´vetsˇinouˇ zotavenı´se. Rovnezˇjsouˇ zde shrnuty mozˇnosti vyuzˇitı´pra´v- firem, ktere´v pocı´taˇ cove´mˇ svetˇ eˇ necoˇ znamenajı´. nı´ch cest k potresta´nı´u´tocnı´ka.ˇ Bohuzˇel se vztahuje pouze Jesˇteˇ se vra´tı´m k akci v Ostrave.ˇ Pˇrisˇeljsem trochu poz- na USA, takzˇe nasˇinecasi nebude schopen vyuzˇı´t sluzˇeb FBI de,ˇ vsˇejizˇprobı´halo a ocitl jsem se v atmosfe´ˇre pˇripomı´- nebo tajne´sluzˇby. Uzˇjste pˇrecetliˇ skoro celou knihu a jesˇteˇ najı´cı´mi nejvı´c studentska´le´ta. Po pˇra´telske´m rozhovoru nejste paranoidnı´? Nevadı´, i na tuto mozˇnost autoˇri mysleli s linuxovy´mi odbornı´ky se nektere´me´„za´kysy“ˇ v konfigu- a na za´verˇ zaˇradili kapitolku o tom, komu muzˇete˚ veˇˇrit. raci Linuxu staly minulostı´. Za mı´rny´penı´z jsem obdrzˇel V pˇrı´loha´ch jsou pak uvedeny informace o dulezˇity´ch˚ CD s nejnovejsˇı´verzı´Linuxuˇ a druhe´s nekolikaˇ aplikace- souborech v syste´mu, sı´t’ovy´ch portech a dalsˇı´ch tisˇteny´chˇ mi, u ktery´ch stahova´nı´z Internetu po komutovane´lince se a elektronicky´ch zdrojı´ch informacı´. mi zda´lo slovy klasika „ˇresˇenı´m ponekudˇ nesˇt’astny´m“. Ve- lice cenne´bylo take´setka´nı´s bezˇny´miˇ uzˇivateli, kteˇrı´jsou Hodnocenı´? na tom se znalostı´Linuxu podobneˇ jako ja´. Jako reakci na vy´zvu jednoho z poˇradatelu˚ te´to akce pˇri- Autorum˚ se opravdu podaˇrilo obsa´hnout velkou ca´stˇ pro- pojuji pa´r pozna´mek k my´m proble´mum˚ s Linuxem: blematiky bezpecnostiˇ unixovy´ch syste´mu.˚ Nezacha´zejı´si- 1. Nejvetsˇı´ˇ proble´m, na ktery´ jsem narazil, byl pro- ce pˇrı´lisˇdo podrobnostı´, a take´zde nenajdete na´vody pro ble´m s cesˇtinou,ˇ pˇredevsˇı´m s pocesˇtˇ enı´mˇ syste´- u´toky na pocı´taˇ cove´syste´my,ˇ ale prezentujı´mnozˇstvı´me- mu X a StarOffice. Proble´my jsou na Internetu chanismu,˚ jak se temtoˇ u´tokum˚ bra´nit. skveleˇ dokumentova´ny, nejle´pe je zacı´tˇ na adre- Vetsˇinate´matˇ je probra´na opravdu peclivˇ e,ˇ jistou vy´jim- se http://www.penguin.cz/czech-howto, pˇresto ku podle mne pˇredstavuje popis syste´mu Kerberos a fi- mohou pˇredstavovat pro zacı´najı´cı´hoˇ uzˇivatele nemi- rewallu.˚ ly´re´bus. Idea´lnı´m ˇresˇenı´m by byla distribuce Linuxu, U Kerbera chybı´podrobnejsˇı´popisˇ cele´ho syste´mu. Bez ktera´by melaˇ i v „X-ech“ tento proble´m zcela vyˇresˇeny´. tohoto vysvetlenı´nenı´te´mˇ eˇˇr mozˇne´plneˇ pochopit vy´hody jeho pouzˇitı´. 2. Doma jsem trochu za´pasil s „rozcha´zenı´m“ zvukove´kar- U ca´stiˇ popisujı´cı´konstrukci firewallu˚ mi chybeloˇ vysvet-ˇ ty. Ma´m SB AWE 32. Dnes vı´m, zˇe staciloˇ pouze v kon- lenı´za´kladnı´ch pojmu,˚ napˇr. hlavicekˇ TCP/IP, a pˇresto au- zole napsat „setup” a nechat se ve´st konfiguracnı´mˇ pro- toˇri operujı´s vyuzˇitı´m nektery´chˇ dost specia´lnı´ch polı´. Po- gramem, ktery´nenı´slozˇitesˇı´nezˇtˇ ˇreba u Duke Nukema kud se tedy chcete o firewallech dozvedˇ etˇ vı´ce, doporucu-ˇ 3D. ji jinou knihu (napˇr. Chapman, Zwicky: Firewally, principy 3. Zatı´m bohuzˇel pod Linuxem chybı´100% cesky´neboˇ po- budova´nı´a udrzˇova´nı´nebo Bellovin, Cheswick: Firewally cesˇtˇ eny´kancela´ˇ ˇrsky´balı´k za pˇrijatelnou cenu. Takova´ a bezpecnostˇ Internetu). linuxova´„Kancela´ˇr 602“ by se mi (a myslı´m, zˇe neje- Pˇreklad a sazba pˇrekladu si take´zaslouzˇı´nekolikˇ vy´tek. nom mi) dost hodila. Pouzˇı´va´m StarOffice 5.0, doplne-ˇ V pˇrekladu je pomernˇ eˇ dost chyb, v nektery´chˇ pˇrı´padech ny´modulem pro pˇrevod diakritiky CPcode od pa´nu˚ Ju- jsou takove´ho charakteru, zˇe to znemozˇnujeˇ pochopenı´tex- ruse a Krisˇtofa.Azˇna mı´rne´proble´my s nektery´miˇ ne- tu. Za´menaˇ mocnitelu˚ u syste´mu asymetricke´kryptografie cesky´miˇ fonty a s obcasny´mˇ pada´nı´m programu pˇri tis- je toho jasny´m pˇrı´kladem. ku to docela jde. Pˇrestozˇe program cteˇ vy´borneˇ doku- Prvnı´(a dosti va´zˇne´) chyby se pˇrekladatel nebo sazecˇ do- menty napˇr. Wordu 6.0 nebo Wordu 95, s Wordem 97 si pustil jesˇteˇ pˇred samy´m zaca´tkemˇ knihy — v tira´zˇi. Nejenzˇe zatı´m moc nerozumı´. zmenilˇ autory knihy, dokonce pˇrelozˇil text „Practical UNIX & Internet Security“ do cesˇtinyjakoˇ „Microsoft Exchange 4. Existuje sice spousta Window manageru,˚ ale mneˇ se in Business“ :-( nejvı´c zamlouvajı´KDE a Gnome. Melˇ jsem dˇrı´ve kom- Mezi chyby sazeceˇ bych zaˇradil vy´berˇ fontu˚ v pˇrı´kla- binace Afterstepu a panelu z Gnome, dnes pouzˇı´va´m dech tak, zˇe se sle´vajı´pomlckyˇ a te´meˇˇr nenı´mozˇne´roz- asi me´neˇ obvyklou kombinaci KDE a panelu z Gnome. poznat zpetne´apostrofyˇ od apostrofu˚ norma´lnı´ch. V jed- Idea´lnı´by bylo, kdyby si uzˇivatel mohl behemˇ instalace nom z vlozˇeny´ch cla´nkˇ u˚ chybı´poslednı´ ˇra´dek. A rozdelenı´ˇ syste´mu vybrat jaky´Window manager pouzˇije a nebylo slova Berkele-y nepusobı´take´nejlepsˇı´m˚ dojmem. mu nabı´dnuto jen uzˇivatelsky dost nevlı´dne´fvwm ne- Pˇres vsˇechnytyto vy´hrady si myslı´m, zˇe by tato kniha bo nezvykly´Afterstep. V tomto pˇrı´padeˇ touzˇebneˇ oce-ˇ rozhodneˇ nemelaˇ chybetˇ v knihovnicceˇ zˇa´dne´ho spra´vce ka´va´m novy´RedHat s WM Gnome (datum vyda´nı´je unixove´ho syste´mu. ohla´sˇenofirmou Red Hat na 15.4.1999). Celkove´hodnocenı´: 4/5 5. Pˇri instalaci programu˚ stazˇeny´ch z Internetu ma´m ob- vykle potı´zˇe s nespra´vnou verzı´programem pozˇadova- ne´knihovny. V Linuxu jsem se nasˇtestı´nesetkalˇ s bezˇ-ˇ Odezva uzˇivatele Linuxu nou praxı´pod Windows, tedy zˇe va´m nejaky´agresivnı´ˇ Lubomı´r Cevela,ˇ 28. bˇrezna 1999 program pˇrepı´sˇesyste´move´knihovny. To pak vede k ne- spra´vny´m funkcı´m syste´mu, pˇrı´padneˇ dalsˇı´ch aplikacı´. Jsem jednı´m z u´castnı´kˇ u˚ akce „Linux pod stromecek“,ˇ kte- Ocenı´m, kdyzˇautor programu pˇripojı´k programovy´m ra´se konala v Ostraveˇ dne 13.12.1998. Nepatˇrı´m asi mezi souborum˚ i stra´nku s odkazy na potˇrebne´knihovny, typicke´uzˇivatele tohoto syste´mu. Asi pˇred rokem jsem si eventuelneˇ nabı´dne staticky linkovanou verzi.

4 Linuxove´noviny 03–04/99

6. Vytisknout necoˇ z Linuxu, pokud zrovna nema´te post- Instalace scriptovou tiska´rnu (ma´m Canon BJC-240) by´va´nekdyˇ rovnezˇhlavolam.ˇ Instalace je pomernˇ eˇ jednoducha´, a proto jen naznacı´m,ˇ co va´s ceka´.ˇ Nejprve musı´te zjistit, zda ma´te na pocı´taˇ ciˇ Py- Na za´verˇ chci pˇripojit podekova´nı´lidem,ˇ kteˇrı´se podı´lejı´ thon. Pokud ne, nainstalujte jej, nebo si sta´hneteˇ distribuci na vytva´ˇrenı´, dokumentaci a dalsˇı´ch vecechˇ souvisejı´cı´ch Zope s integrovany´m Pythonem. (Jestli si chcete vyzkousˇet s Linuxem, protozˇe bez nich by opravdu patˇril tento syste´m Zope na Windows jesˇteˇ pˇred tı´m, nezˇjej pustı´te na va´sˇli- do oblasti vedeckofantasticke´literatury.ˇ nuxovy´server, sta´hneteˇ si z (1) bina´rnı´distribuci Zope pro Windows. Tato distribuce obsahuje i Python, a instalace je trivia´lnı´. Distribuce obsahuje i jednoduchy´, ale postacujı´cı´ˇ webserver, takzˇe po spusˇtenı´Zopeˇ stacı´jenˇ nasmerovatˇ va´sˇ Zope webserver na pˇrı´slusˇny´port a adresa´ˇr na localhost). Jakmi- MilosˇPrudek,˚ 11. dubna 1999 le ma´te Python, muzˇete˚ nainstalovat Zope, a pˇripravit jej na spolupra´ci s vasˇı´m webserverem. Tady se bude postup U´ vod lisˇitpodle toho, jaky´webserver pouzˇı´va´te. Pro Apache sta- cı´nastavitˇ pˇrı´slusˇne´ RewriteRule, pˇresneˇ jak je popsa´- Kazˇdy´spra´vce webu, ktery´usiluje o interaktivitu s uzˇivate- no v dokumentaci Zope. Samozˇrejmeˇ musı´te mı´t v Apachi lem, se jednoho dne musı´zamyslet nad pˇrechodem na dy- zakompilovany´modul mod rewrite (ja´jsem nemelˇ :-) namicke´generova´nı´stra´nek. Za´kladnı´m na´strojem pro dy- a pak uzˇstacı´poslatˇ signa´l -HUP procesu httpd, a nasme-ˇ namicke´stra´nky jsou CGI skripty. Urcita´vy´hodaˇ CGI skrip- rovat prohlı´zˇecˇ na http://ip adresa serveru/Zope. tu˚ je v tom, zˇe muzˇete˚ pouzˇı´t programovacı´jazyk, ktery´uzˇ Pokud se va´m nepodaˇrı´instalace napoprve´, bude pes umı´te (C++, Perl). Jejich hlavnı´nevy´hodou by´va´nutnost pravdepodobnˇ eˇ zakopa´n v pˇrı´kazu RewriteRule. Na- vyvolat novou instanci pro kazˇdy´skript. Z toho vyply´va´vet-ˇ nesˇtestı´modulˇ mod rewrite je velice mocny´a slozˇity´, tak- sˇı´spotˇreba pametiˇ a syste´movy´ch prostˇredku.˚ zˇe spı´sˇnezˇmetodu pokusu˚ a omylu˚ doporucujiˇ nahle´dnout Rychlejsˇı´a u´spornejsˇı´ˇ ˇresˇenı´je pouzˇitı´jazyka, ktery´je do dokumentace. Ta je dı´ky Bohu perfektnı´a obsahuje i od- pˇrı´mo vlozˇen do zdrojove´ho HTML textu. Na serveru bezˇı´ˇ kaz na hromadu pˇrı´kladu.˚ Kdyzˇbudete sˇikovnı´, budete mı´t interpret, ktery´ cteˇ HTML text, prova´dı´pˇrı´kazy, ktere´jsou instalaci hotovou nejpozdejiˇ za hodinu. mu urceny,ˇ a uzˇivateli je pak servı´rova´no „ciste´“ˇ HTML, tj. bez pˇrı´kazu˚ urceny´chˇ pro interpret. Tuto technologii po- Popis rozhranı´ uzˇı´va´napˇrı´klad ASP, vytvoˇrene´firmou Microsoft. Bohuzˇel, ASP je proprieta´rnı´ ˇresˇenı´, za´visle´na webove´m serveru IIS Na rozdı´l od komercnı´chˇ produktu,˚ jako je ColdFusion, ne- te´to firmy. Ve svetˇ eˇ Linuxu existuje velmi dobra´alternati- ma´Zope klientskou ca´st.ˇ Mı´sto toho se vesˇkera´komunika- va: PHP3. Tento jazyk nabı´zı´prakticky stejne´mozˇnosti ja- ce dela´pˇ ˇres webove´rozhrannı´. Na jedne´straneˇ to znamena´ ko ASP, ale nenı´va´za´n na platformu MS Windows. PHP3 je plnou platformnı´neza´vislost (Zope server je na Linuxu, ale popula´rnı´zvla´sˇt’ v kombinaci s Open Source databa´zovy´mi ovla´da´te jej z Windows nebo jine´ho OS), na druhe´straneˇ SQL syste´my, jako je MySQL a Postgres. to rozhodneˇ nenı´tak rychle´a pohodlne´. Uzˇjen proto, zˇe Na´vrh stra´nek pomocı´PHP3 nebo ASP ale nenı´zrov- web prosteˇ nepodporuje akce „drag and drop“. Komunika- na snadny´, a pˇripomı´na´vsˇechno,jen ne WYSIWYG. Me- ce pˇres web je take´o necoˇ pomalejsˇı´nezˇpˇrı´ma´manipulace zi komercnı´ˇ ˇresˇenı´, ktere´se snazˇı´tento proble´m ˇresˇitau- na loka´lnı´m stroji, ktera´se pouzˇı´va´u komercnı´chˇ ˇresˇenı´. tomaticky´m generova´nı´m ASP stra´nek s vizua´lnı´m syste´- mem na´vrhu a programova´nı´patˇrı´napˇrı´klad syste´my Sun Microsystems NetDynamics a Allaire ColdFusion. Tyto po- mernˇ eˇ silne´na´stroje jsou bohuzˇel dosti drahe´, a navı´c se snazˇı´programa´tora pˇriva´zat k proprieta´rnı´platforme.ˇ Prv- nı´a zatı´m zˇrejmeˇ jedinou alternativou k temtoˇ syste´mum˚ je pra´veˇ Zope. Historie syste´mu Zope je pomernˇ eˇ zajı´mava´z licencnı´-ˇ ho hlediska. Firma Digital Creations vyvı´jela tento syste´m (tehdy jesˇteˇ pod na´zvem Principia) jako proprieta´rnı´a te- dy bez zveˇrejnenı´zdrojovy´chˇ ko´du.˚ V souvislosti s kapita´lo- vou injekcı´, kterou neda´vno zı´skala, pˇresˇlapo dohodeˇ s in- vestorem na model Open Source. Zpoca´tkuˇ ale vyzˇadovala, aby kazˇdy´website postaveny´na Zope uva´delˇ ikonku s od- kazem na Digital Creations. Na na´tlak uzˇivatelu˚ od tohoto pozˇadavku poca´tkemˇ tohoto ruku upustila, a nynı´je Zope oficia´lneˇ pod licencı´GPL. Kromeˇ vlastnı´ho Zope existuje mnozˇstvı´uzˇivatelsky´ch nadstaveb, jako jsou databa´zove´adapte´ry (tedy rozhran- nı´) pro MySQL, Postgres, Oracle atd., a Digital Creations pokracujeˇ ve vy´voji vytva´ˇrenı´m dalsˇı´ch aplikacnı´chˇ syste´mu˚ Za´kladnı´jednotkou pˇri pra´ci se Zope je Folder (adresa´ˇr, nad Zope. Tyto syste´my (napˇrı´klad ZTables pro komunika- slozˇka). Existujı´obycejne´folderyˇ a specia´lnı´foldery. Jsou ci s .dbf soubory a dalsˇı´databa´zove´u´koly) se uzˇproda´- dva druhy specia´lnı´ch folderu:˚ Control Panel (jeden pro ce- vajı´, ale cı´lem Digital Creations je po urcite´dobˇ eˇ pˇreve´st ly´syste´m), a acl users (muzˇe,˚ ale nemusı´by´t v kazˇde´m fol- i tyto doplnkyˇ na Open Source — a zacı´tˇ jine´nadstavbove´ deru). Na obra´zku je za´kladnı´vzhled Zope, vcetnˇ eˇ speci- syste´my. a´lnı´ch folderu,˚ folderu QuickStart (rychly´u´vod do Zope),

5 Linuxove´noviny 03–04/99 folderu˚ ktere´jsem vytvoˇril v ra´mci pokusu˚ se Zope (Pluto- Z SQL Method nia a Znalosti), standardnı´hlavickyˇ a paticky,ˇ standardnı´ chybove´zpra´vy, a modulu fsimport, ktery´popı´sˇunı´zˇe. umozˇnujeˇ pra´ci s SQL, a to tak dukladn˚ e,ˇ zˇe si popis ne- Vsˇechnyprvky vasˇehowebu se ukla´dajı´do obycejny´chˇ cha´m na dalsˇı´pokracova´nı´.ˇ folderu,˚ a to jako objekty DTML document, DTML me- thod, Folder, Image, File, Session, Principia Draft, Exter- fsimport nal Method, Mail Host, Z Gadfly Database, Z SQL Me- thod, Z Search Interface. Kromeˇ toho muzˇete˚ kra´tke´u´se- Pˇrepisovat va´sˇstaticky´web by bylo protivne´a zdlouha- ky HTML ko´du ukla´dat do Properties. Nektere´tytoˇ prvky ve´. Museli byste do Zope zadat vsˇechnyHTML stra´nky popı´sˇunı´zˇe. a vsˇechnyobra´zky. Proto se bude urcitˇ eˇ hodit pythonov- ska´externı´metoda (cti:ˇ doplnekˇ do Zope), ktera´udela´ˇ Folder automaticky´import adresa´ˇre do Zope. Utilita se jmenuje fsimport.py, a musı´te si ji sta´hnout zvla´sˇt’ z webu Zope Za´kladnı´stavebnı´prvek Zope. Pˇripomı´na´bezˇny´adresa´ˇ ˇr fi- a umı´stit na server do adresa´ˇre /Extensions. Pak ji jesˇ- lesyste´mu, ale ma´podstatneˇ propracovanejsˇı´syste´mˇ pra´v, teˇ musı´te pˇridat do Zope, jako External Method (napisˇte ktery´si promı´tnete klepnutı´m na za´lozˇku Security. Folder „fsimport“ do vsˇechkolonek). Nejle´pe do koˇrenove´ho adre- ma´29 pra´v (linuxovy´filesyste´m ma´tˇri: read, write, execu- sa´ˇre, protozˇe dı´ky dediˇ cnostiˇ bude viditelna´i ve folderech te). V kazˇde´m folderu muzˇete˚ definovat libovolny´pocetˇ uzˇi- nizˇsˇı´ch u´rovnı´. vatelu,˚ nebo skupin uzˇivatelu˚ (takzvane´role), a nastavit Pˇredpokla´dejme, zˇe va´sˇstaticky´web se nacha´zı´ve fi- nejen co muzˇe˚ ktera´skupina uzˇivatelu˚ delat,ˇ ale take´kte- lesyste´mu na /home/ja/mujweb/, a zˇe ma´te v Zope vy- ra´pra´va jsou zdedˇ enaˇ z nadˇrı´zene´ho folderu. Implicitneˇ se tvoˇreny´folder /uzivatele/katka. Da´le pˇredpokla´da´me, pra´va dedı´smˇ eremˇ dolu.˚ Dı´ky temtoˇ mozˇnostem lze z ko- zˇe Zope se nacha´zı´na http://www.kdesi.cz/Zope. Na- ˇrenove´ho folderu udelatˇ nekolikˇ folderu,˚ ktere´odpovı´dajı´ smerujteˇ va´sˇbrowser na: napˇrı´klad divizı´m firmy, a z nich vytvoˇrit dalsˇı´foldery po- http://www.kdesi.cz/Zope/uzivatele/katka/\ dle oddelenı´jednotlivy´chˇ divizı´. Nektery´mˇ oddelenı´mˇ pˇri- fsimport?fsdir=/home/ja/mujweb/ tom muzˇete˚ dovolit vytva´ˇrenı´vlastnı´ch folderu.˚ Jiny´mi slo- vy muzˇete˚ delegovat pravomoci (a odpovednost)ˇ na uzˇiva- a Zope se postara´o zbytek. To jest, bud’ provede import tele. Kazˇdy´uzˇivatel je identifikova´n jme´nem a heslem. a zobrazı´strucnouˇ hla´sˇku,nebo na va´s vyplivne deset ˇra´d- Vzhledem k tomu, zˇe k ovla´da´nı´Zope muzˇete˚ pouzˇı´t li- ku˚ o chybe.ˇ Pokud nastane chyba, je proble´m v tom, zˇe bovolny´browser, nic nebra´nı´tomu, aby do vasˇehowebu musı´te mı´t pra´va world searchable po cele´cesteˇ azˇk im- pˇrispı´vali lide´geograficky libovolneˇ vzda´lenı´. portovane´mu webu. Utilitku fsimport budete asi pouzˇı´vat i pˇri dalsˇı´ch DTML Document u´prava´ch. Urcitˇ eˇ bude rychlejsˇı´navrhnout noveˇ pˇrida´vane´ stra´nky v dobre´m vizua´lnı´m HTML editoru, a pak vta´hnout je v podstateˇ HTML dokument s vlozˇeny´mi DTML pˇrı´ka- do sta´vajı´cı´struktury. zy. Cozˇnenı´definice kruhem :-) DTML je jazyk s podob- ny´mi mozˇnostmi jako ma´PHP3, do HTML se vkla´da´jako Undo, Sessions, Upload pozna´mka. Muzˇete˚ prova´detˇ bezˇne´operaceˇ s promenny´mi,ˇ vkla´dat u´seky z jiny´ch DTML dokumentu,˚ pouzˇı´vat SQL Zope si pamatuje vsˇe,co mu udela´teˇ a vsˇemuzˇete˚ vra´- a podobne.ˇ Kompletnı´popis jazyka je nad ra´mec tohoto tit zpet.ˇ Protozˇe je to vı´ceuzˇivatelsky´syste´m, pamatuje si u´vodnı´ho cla´nkuˇ (a pravdepodobnˇ eˇ i nad ra´mec jaky´chko- i pachatele. Pˇrı´klad ˇra´dku v zˇurna´lu: liv na´sledujı´cı´ch cla´nkˇ u˚ :-), ale jazyk je vcelku dobˇre zdo- /ppm/nabidky/thumb/manage_addImage by prudek\ kumentova´n pˇrı´mo na domovsky´ch stra´nka´ch Zope. on Mar 15 at 22:56:02 DTML pˇrı´kazy jsou velice podobne´ jazyku Python, a v pˇrı´padeˇ potˇreby muzˇete˚ do DTML dokumentu˚ vkla´- Muzˇete˚ vra´tit jednu z akcı´, vı´ce akcı´, a dokonce nespoji- dat pˇrı´mo pˇrı´kazy Pythonu. tou mnozˇinu akcı´. Kazˇdy´DTML dokument ma´petˇ pra´v, ktera´muzˇete˚ na- Kdyzˇ spustı´te Session, muzˇete˚ delatˇ u´pravy websitu, stavit, vcetnˇ eˇ pˇriˇrazenı´k rolı´m. ktere´se objevujı´pˇrı´mo na webu, ale jen va´m. Zbytek svetaˇ vidı´puvodnı´verzi.˚ Jakmile jste spokojeni, provedete apli- Structured Text kaci zmenˇ do „zˇive´ho“ syste´mu. Hotove´stra´nky muzˇete˚ do Zope pˇridat vy´sˇepopsanou Ba´jecny´vyna´lezˇ Zope je Structured Text, ktery´umozˇnu-ˇ utilitou fsimport.py, cozˇovsˇemvyzˇaduje pˇrı´stup k file- je zapsat bezˇne´forma´tova´nı´HTMLˇ uzˇivatelsky pˇrı´tulny´m syste´mu (tˇreba i zprostˇredkovany´pˇres ftp). Jednotlive´sou- zpusobem.˚ Napˇrı´klad mı´sto tucny´textˇ napı´sˇe- bory muzˇete˚ pˇrı´mo uploadovat pˇres browser (ciliˇ odkudko- te prosteˇ *tucn´yˇ text*. Mı´sto sklonen´yˇ text liv) klepnutı´m na za´lozˇku Upload. Pozor, nefunguje v MSIE ˇ stacı´jenˇ **sklonen´ytext**ˇ . Celkem je k dispozici 3.0x, zˇrejmeˇ kvuli˚ sˇpatne´implementaci JavaScriptu. Re- okolo deseti ekvivalentu˚ ruzny´ch˚ HTML pˇrı´kazu.˚ Dı´ky jed- cenoˇ reklamnı´m heslem Paegasu: O duvod˚ vı´c procˇ neby´t noduche´mu za´pisu se va´m podaˇrı´pˇresvedˇ citˇ i sekreta´ˇrku, s nimi :-) aby pˇrispı´vala do vasˇehowebu. Stacı´kdyzˇuka´zˇete,ˇ o kolik sekund je rychlejsˇı´zma´cknoutˇ dveˇ hvezdiˇ cky,ˇ nezˇnapˇrı´klad WebDAV v MS Wordu pracneˇ mysˇı´jezdit na ikonu tucne´hoˇ pı´sma. Dı´ky syste´mu pra´v se nemuzˇe˚ sta´t, zˇe by uzˇivatel nechte-ˇ je protokol vyvinuty´puvodn˚ eˇ Microsoftem. Je to syste´m neˇ porusˇilcelkovou strukturu webu (tedy, pod podmı´nkou pro inteligentnı´komunikaci mezi tvurcem˚ obsahu a webo- zˇe ma´te ta pra´va spra´vneˇ nastavena´ :-) vy´m serverem. Podporuje vı´ceuzˇivatelky´pˇrı´stup, drag and

6 Linuxove´noviny 03–04/99

drop, klepnutı´na prave´tlacı´tkoˇ pro zobrazenı´vlastnostı´. nesie v znamenı´internacionaliza´cie a novovznikaju´cich tr- Strucnˇ eˇ ˇrecenoˇ je o hodneˇ lepsˇı´nezˇftp. Takova´ ˇresˇenı´sice hov. David Cinege v cla´nkuˇ „The Linux Router Project“ uzˇexistujı´pro komercnı´webove´servery,ˇ ale jsou proprie- (The Cutting Edge, 14) popisuje, ako uzˇz na´zvu vyply´va, ta´rnı´. Protozˇe WebDAV je volneˇ pouzˇitelny´, jedna´se o stan- vlastnosti, pouzˇı´vanie, vy´hody a spoˆsob fungovania distri- dard, ktery´pravdepodobnˇ eˇ pˇreva´zˇı´. Zajı´mave´je, zˇe Zope bu´cie Linuxu s na´zvom Linux Router Project (1). Pre ty´ch se zˇrejmeˇ stal prvnı´m funkcnı´mˇ serverem normy WebDAV. coˇ esˇtenevedia, je to jednodisketova´distribu´cia Linuxu ur- Tedy asponˇ podle informacı´na domovske´stra´nce, proto- cena´hlavneˇ pre pra´cu v sieti. zˇe oficia´lnı´release jesˇteˇ nenı´. Za´jemci ale mohou sta´hnout V tretej castiˇ cla´nkuˇ „Creating a Web Based BBS“ (At pracovnı´verzi z CVS. the Forge, 22) na´s R. M. Lerner obozna´mi s ty´m ako sa Informace o WebDAV najdete v RFC 2518 a na (2). Dobry´ da´pomocou MySQL a Perlu implementovat’ jednoduche´ cla´nekˇ o WebDAV a Zope je na (3). WWW diskusne´fo´rum s vyhl’ada´vanı´m. Zdrojove´texty moˆ- zˇete na´jst’ tu (2). Zope zevnitˇr Nosny´m cla´nkomˇ tohto cı´slaˇ je asi „Alphabet Soup: The Internationalization of Linux, Part 1“ (Feature, 30) od pa´na ’ Zope je napsa´no v jazyku Python. Rı´ka´se,ˇ zˇe nemusı´te by´t Turnbulla. Moˆzˇete tu na´jst popis problematiky, ktora´su´visı´ bla´zen abyste mohl pouzˇı´vat pocı´taˇ ce,ˇ ale rozhodneˇ to ne- s internacionaliza´ciou a lokaliza´ciou roˆznych castı´Linuxu.ˇ ˇ nı´na sˇkodu.Tote´zˇse da´ ˇrı´ct o pouzˇı´va´nı´Zope a znalosti Teda poviem va´m, tı´ Cı´naniaˇ a Japonci to maju´OMNOHO Pythonu. I kdyzˇse da´Zope pouzˇı´vat, anizˇbyste umeliˇ Py- komplikovanejsˇieako my. Online verziu oboch castı´ˇ cla´nkuˇ ’ thon, v soucasnostiˇ se va´m bude Python hodit v mnoha moˆzˇete na´jst aj na WWW stra´nkach Linux Journalu (3), (4). ’ ˇ pˇrı´padech, protozˇe existuje mnoho u´kolu,˚ ktere´bez kous- Vedeli ste o tom, zˇe Linux vie riadit auto? Ze nie? No ku programu v Pythonu prosteˇ neudela´te.ˇ Nasˇtestı´jeˇ to do neda´vna som to nevedel ani ja, ale M. Bertozzi, A. Bro- kvalitnı´, objektoveˇ orientovany´jazyk, ktery´se da´pomernˇ eˇ ggi a A. Fascioli z Parmskej univerzity ma v cla´nkuˇ „Auto- rychle zvla´dnout. nomous Vehicles“ (Feature, 40) o tom presvedcili.ˇ Vraj na´m na to stacı´Pentiumˇ MMX a 32 MB pama¨te. Takto riade- ne´auto doka´zalo prejst’ viac ako 2000 km po taliansky´ch Dalsˇı´dokumentace cesta´ch, pricomˇ dosahovalo priemernu´ry´chlost’ od 80,2 azˇ po 89,8 km/h a maxima´lnu ry´chlost’ azˇ123 km/h. Viac in- Zope se vyvı´jı´natolik rychle, zˇe dokumentace je trochu po- forma´ciı´, ako aj video z cesty moˆzˇete na´jst’ na ARGOvej zadu za programova´nı´m. Da´se nicme´neˇ ˇrı´ct, zˇe podstatne´ domovskej stra´nke (5). veciˇ jsou zdokumentovane´, a vsˇeje k nalezenı´na domovske´ Po precı´tanı´„Internationalizingˇ Messages in Linux Pro- stra´nce. FAQ teprve vznika´, ale pracovnı´verze nenı´k za- grams“ (Feature, 46) od P. de Maura som konecneˇ pocho- hozenı´; najdete ji na (4). pil, ako sa pouzˇı´va GNU gettext a ako mozˇem vytvorit’ pro- Sta´vajı´cı´dokumentace je bohuzˇel trochu podivneˇ forma´- gram, ktory´bude vediet’ komunikovat’ v roˆznych jazykoch. tovana´, a nepˇrehledna´. Neda´se napˇrı´klad srovnat s HTML Ak neviete coˇ si ma´te dnes ra´no na seba obliect’, tak si sku´s- dokumentacı´k serveru Apache. Pˇresto je plneˇ pouzˇitelna´. te obliect’ pocı´taˇ c.ˇ Ano pocı´taˇ c.ˇ Dr. S. Mann na´s v „Media- Dalsˇı´m perfektnı´m zdrojem informacı´je emailova´konferen- ted Reality: University of Toronto RWM Project“ (Feature, ce (5), ktera´ma´v soucasne´dobˇ eˇ pˇres tˇricet zpra´v denne.ˇ 50) obozna´mi o tzv. WearCompe, ktory´umozˇnujeˇ vytvorit’ Autor je zamestnancemˇ spolecnostiˇ Sonet Online si tzv. persona´lnu realitu resp. sprostredkovanu´realitu. Im- s.r.o. (6). plementa´cia ma´podobu okuliarov, ktore´sprostredku´vaju´ a upravuju´to coˇ cez nich vidiet’. Ty´m umozˇnuju´odfiltro-ˇ 1 Zope ’ http://www.zope.org vat nechcene´obrazy (napr. reklamu). WearComp sa da´pri- pojit’ k Internetu 2Mbps ra´diovou linkou a tak umozˇnujeˇ 2 WebDAV ’ http://www.ics.uci.edu/pub/ietf/webdav/ zdiel’at virtua´lnu realitu s iny´mi osobami. Ako obyvatel’a by´valeho „vy´chodne´ho bloku“ ma mierne zarazila naznace-ˇ 3 Cla´nekˇ o WebDAV a Zope na´mozˇnost’ monitorovanie a riadenia toho, coˇ dana´osoba http://webserver.cpg.com/wa/4.4/ vidı´(Vel’ky´brat pricha´dza?), ale mysˇlienkaje to rozhodne 4 Zope FAQ zaujı´mava´a urciteˇ by nasˇlauplatnenie aj v bezˇnom zˇivote. http://zdp.zope.org Viac informa´cii moˆzˇete na´jst’ na domovskej stra´nke Wear- 5 Konference o Zope compu (6). mailto:[email protected] V cla´nkuˇ „Polyglot Emacs 20.4“ od J. Babcocka sa doz- 6 Sonet Online, s.r.o vieme, zˇe Emacs s Mule rozsˇı´renı´m je naozaj nevsˇedny´na´- http://www.sol.cz stroj aj na pı´sanie viacjazycny´chˇ textov a pre preklad napr. z japoncinyˇ do anglictiny.ˇ Pokial’ sa zaujı´mate o bezpec-ˇ nost’ pocı´taˇ cov,ˇ tak va´s iste zaujmu´D. Corcoran, D. Sims Linux Journal — marec a B. Hillhouse v „Smart Cards and Biometrics: Your Key Ing. Ro´bert Dobozy, 9. dubna 1999 to PKI“. Precı´tateˇ si tu o tom ako sa daju´inteligentne´kar- ty a biometria pouzˇit’ na autentiza´ciu pouzˇı´vatel’ov. Pouzˇı´- Po dlhom caseˇ zacinameˇ znova v Linu- va sa na to inteligentna´karta s cı´taˇ comˇ odtlackovˇ prstov. xovy´ch novina´ch s prehl’adom zaujı´mavostı´ Dokonca existuju´aj modely, ktore´vedia zistit’ ciˇ je dany´ a noviniek v Linux Journale. Rozhodol som odtlacokˇ z ozajstne´ho prstu (nie zo siliko´nove´ho odtlacku)ˇ sa ponatˇ ’ to tak, aby z toho mali niecoˇ aj alebo dokonca ciˇ je dany´prst zˇivy´alebo nie. Pre Linux exis- tı´, ktorı´nemaju´mozˇnost’ tento casopisˇ cı´-ˇ tuje projekt s na´zvom MUSCLE (7), ktory´sa snazˇı´vytvorit’ tat’. Pre lepsˇiuorienta´ciu v casopiseˇ budem manazˇe´r pre cı´taˇ ckyˇ smart kariet. v za´tvorka´ch uva´dzat’ na´zov a cı´sloˇ strany. Dalejˇ si tu moˆzˇete precı´tatˇ ’ interview s Chrisom Brow- Pa¨t’desiatedeviate cı´sloˇ Linux Journalu sa nom z Learning Tree International, ktore´robı´linuxove´kur-

7 Linuxove´noviny 03–04/99 zy (Interview, 72), prehl’ad dvoch linuxovy´ch aplika´ciı´, kto- re, 42) od M. Gagne´ho. Tento sexy vyzeraju´ci pocı´taˇ cˇ (je re´sa pouzˇı´vaju´v programe Medzina´rodnej vesmı´rnej sta- na oba´lke tohto cı´sla)ˇ o vel’kosti prerastene´ho walkmana nice (Forum, 74) na riadenie automaticke´ho vesmı´rneho ma´v sebe 275MHz StrongARM, 64MB pama¨te a azˇ6GB modulu ATV. Samozrejme tu nechy´baju´ani recenzie knı´h disk. a prehl’ady novy´ch produktov ako aj ine´drobne´ cla´nkyˇ a ko- Ak va´m uzˇva´sˇ100Mbitovy´Ethernet nestacı´aˇ nema´- pec rekla´m. Niektore´ cla´nkyˇ z tohto cı´slaˇ moˆzˇete na´jst’ on- te na ATM, tak by ste mali zva´zˇit’ FlowNet (12). Popi- line na stra´nkach linuxjournal.com (8). suju´ho E. Gat a M. Ciholas v cla´nkuˇ nazvanom „FlowNet: An Inexpensive High-Performance Network“ (Feature, 46). 1 Linux Router Project Ide o spı´nanu´siet’ na princı´pe ATM, ktora´vie spracova´vat’ http://www.linuxrouter.org Ethernetove´ra´mce a bezˇı´ry´chlost’ou azˇ500Mbps. Uvidı´- 2 Zdrojove´texty me do akej miery a ciˇ sa im podarı´uviest’ tu´to technolo´giu ftp://ftp.ssc.com/pub/lj/listings/issue57/3193.tgz do komercne´hoˇ pouzˇitia. Siet’ove´pocı´taˇ ceˇ — NC su´(alebo 3 Online verze cla´nkuˇ boli?) hit. B. Vincent hovorı´v „Using Linux with Network ftp://ftp.ssc.com/pub/lj/listings/issue58/3252.tgz Computers“ (Feature, 50) o svojej sku´senosti so siet’ovy´m 4 Online verze cla´nkuˇ pocı´taˇ comˇ (samozrejme bezˇiacim pod Linuxom) od firmy ftp://ftp.ssc.com/pub/lj/listings/issue59/3296.tgz Neoware Network Computers. 5 ARGO Vedeli ste o tom, zˇe v AWKu moˆzˇete pı´sat’ skripty, ktore´ http://millemiglia.ce.unipr.it/ARGO/ komunikuju´po sieti? Presvedcı´va´sˇ o tom J. Kahrs v „Net- 6 WearComp work Administration with AWK“. Potrebujete k tomu GNU http://wearcam.org/ AWK 3.1. Ako prı´klad je tu finger na 7 riadkov alebo skript 7 Muscle na cı´tanieˇ WWW stra´nok na 8 riadkov. Samozrejme nema´ http://www.linuxnet.com/smartcard/ to siet’ovu´funkcnostˇ ’ Perlu alebo Ce´cka,ˇ ale na jednoduche´ 8 Linux Journal 59 a jednou´celove´skriptyˇ sa to celkom hodı´. http://www.linuxjournal.com/issue59/ Ty´ch coˇ sa snazˇia pod Linuxom robit’ 3D anima´cie urci-ˇ te zaujme popis programu Blender od B.Crowdera (Forum, 70). Je to profesiona´lne vyzeraju´ce 3D modelovacie a ren- Linux Journal — aprı´l derovacie prostredie. Stiahnut’ si to moˆzˇete z oficia´lnych ’ Ing. Ro´bert Dobozy, 9. dubna 1999 stra´nok Blenderu (13), prı´padne si moˆzˇete asponˇ pozriet anima´cie vytvorene´ty´mto programom (14), (15). Aktua´lne, sˇest’desiate cı´sloˇ sa zameriava V cla´nkuˇ „Cood Ol’ sed“ (Take Command, 84) H. de Vre- na network computing. Ak sa chcete do- ught poukazuje na niektore´za´kladne´vlastnosti programu zvediet’ coˇ je to Frame Buffer, na coˇ to je sed a na mozˇnosti ich vyuzˇitia. dobre´a ake´su´jeho vy´hody a nevy´hody, tak Dalejˇ si v tomto cı´sleˇ moˆzˇete precı´tatˇ ’ interview s Johnom si nezabudnite precı´tatˇ ’ cla´nokˇ J.Pranevicha Ousterhoutom, autorom Tcl/Tk (Interview, 74), recenziu s na´zvom „Linux 2.2 and the Frame Buffer prostredia CDE od Xi Graphics (Review, 58), recenziu knihy Console“ (Kernel Korner, 12). Linux for Dummies — Quick Reference, 2nd Edition (Re- Je Perl va´sˇobl’u´beny´programovacı´na´- view, 60), recenziu OpenGL 3D nadstavby do Matlabu s na´- stroj? Ak a´no, tak nevynechajte popis ako pı´sat’ efektı´vne zvom Conix 3-D Explorer (Review, 62) a recenziu knihy Perl CGI skripty s mod perl a Apache. Napı´sal ho R. M. Lerner Cookbook vydavatel’stva O’Reilly (Review, 78). a ma´na´zov „Writing Modules for mod perl“ (At the Forge, (Ak toto cı´taˇ niekto z ComputerPressu, tak tu´to knihu by 18). O apacovskomˇ module mod perl sa urciteˇ dozviete som ra´d videl aj na nasˇomtrhu v ceskomˇ alebo slovenskom viac na jeho domovsky´ch stra´nkach (1) alebo (2). preklade). Niektore´ cla´nkyˇ z tohto cı´sla,ˇ ako aj druhu´ castˇ ’ Kto z va´s nepoculˇ o sla´vnom COAST laborato´riu (3)? Alphabet Soup a nejake´d’alsˇie cla´nkyˇ moˆzˇete na´jst’ online Pra´ve o nomˇ pı´sˇeS. Nystrom v „Security Research La- na stra´nkach linuxjournal.com (16). boratory and Education Center“ (The Cutting Edge, 28). Z laborato´ria momenta´lne vznika´centrum s na´zvom Cen- 1 Perl.Apache.org ter for Education and Research in Information Assurance http://perl.apache.org and Security — CERIAS (4). Toto vsˇetkovedie profesor 2 ModPerl Gene Spafford (a´no TEN Gene Spafford) a prebieha tam http://www.modperl.com niekol’ko zaujı´mavy´ch projektov. Napr. Intrusion Detection 3 COAST autonomous agents — AAFID (5), uzˇv podstate zastaveny´ http://www.cs.purdue.edu/coast/ a skomercializovany´Tripwire (6), MUSCLE — smart karty 4 CERIAS a biometria v linuxovom prostredı´(7), databa´za bezpec-ˇ http://www.cerias.purdue.edu/ nostny´ch proble´mov a ine´. 5 AAFID Linuxovı´zaciatoˇ cnı´ciˇ sa v cla´nkuˇ (8) od V. Veselovkeho http://www.cs.purdue.edu/coast/projects/autonomous-agents.html (Linux Apprentice, 36) docı´taju´zaujı´mave´informa´cieˇ o ko- 6 Tripwire existencii Linuxu a Windowsov na jednom disku a o pouzˇitı´ http://www.tripwiresecurity.com/ programu FIPS. Na d’alsˇı´ch strana´ch robı´Ch. Curley recen- 7 MUSCLE ziu zaujı´mave´ho produktu na za´lohovanie, nie len Linuxu, http://www.linuxnet.com/ s na´zvom Arkeia od firmy Knox Software (Review, 38). Vy- 8 Linux Dual Boot zera´to robustne a funguju´co, takzˇe ja si jeho free verziu asi Windows/Linux Dual Boot vysku´sˇam.Ak ma´te za´ujem, tak to rastie na domovsky´ch 9 Knox stra´nkach firmy Knox (9). Pokial’ va´s zaujı´maju´nevsˇedne http://www.knox-software.com/ vyzeraju´ce ale za to perfektne funguju´ce pocı´taˇ ce,ˇ precı´taj-ˇ 10 Corel te si recenziu Corelovske´ho (10) NetWindera (11) (Featu- http://www.corelcomputer.com/

8 Linuxove´noviny 03–04/99

11 Netwinder knihovnou svgalib pro grafiku na konzoli a specializovany´m http://www.netwinder.org/ X serverem pro „okennı´“ grafiku. Tento provizornı´syste´m 12 FlowNet castoˇ vyzˇadoval opakova´nı´konfiguracnı´chˇ u´daju˚ a kazˇda´ http://www.flownet.com/ jeho souca´stˇ podporovala pouze omezenou podmnozˇinu ti- 13 Blender sı´cu˚ bezˇnˇ eˇ dostupny´ch a pouzˇı´vany´ch video zaˇrı´zenı´. http://www.blender.nl/ Vzhledem k novosti te´to feature nenı´v tuto chvı´li jas- 14 Animace ne´, zda opravdu posune dosavadnı´„status quo“ zalozˇeny´ http://www.unm.edu/~kholland/blender.html na dualite.ˇ Bohuzˇel muzˇe˚ trvat azˇrok po release verze 2.2 15 Animace nezˇnovy´syste´m bude podporovat ty karty a technologie, http://members.xoom.com/blender/ jejichzˇfunkcnostˇ pod Linuxem dnes povazˇujeme za samo- 16 Linux Journal 60 zˇrejmou. Dle me´ho je to krok spra´vny´m smerem,ˇ ale zdrzˇı´m http://www.linuxjournal.com/issue60/ se konecne´hoˇ posudku, dokud nebude jasne´, do jake´mı´ry hodlajı´Linus a ostatnı´vy´voja´ˇri tuto feature prosadit. Jako vedlejsˇı´u´cinekˇ te´to nove´feature, kernel nynı´ob- sahuje primitivnı´podporu multiheadingu (vı´ce graficky´ch Ba´jecny´svˇ etˇ ja´dra v. 2.2 (pokracova´nı´)ˇ adapte´ru˚ v jedne´masˇine)ˇ u nektery´chˇ typu˚ zaˇrı´zenı´. V sou- pˇrelozˇil Nathan L. Cutler, 8. bˇrezna 1999 casne´dobˇ eˇ je tato podpora omezova´na na urcite´vy´stupyˇ v textove´m mo´du, ale je rozumne´oceka´va´nı´,ˇ zˇe tato velmi Za´lohovat? Ja´? nova´funkce linuxove´ho kernelu „dozraje“ behemˇ vy´vojo- vy´ch cyklu˚ 2.2.x a 2.3.x. Subsyste´m obsluhy pa´skovy´ch a jiny´ch za´lohovacı´ch zaˇrı´- Sem patˇrı´i zmı´nka o tom, zˇe s verzı´2.2 je mozˇne´odstra- zenı´se oproti verzi 2.0 zmenilˇ jen ma´lo. Za zmı´nku sto- nit podporu „virtua´lnı´ch“ termina´lu˚ z kernelu. To umozˇnujeˇ jı´pˇredevsˇı´m pˇrida´nı´novy´ch ovladacˇu˚ (tedy podpory dˇrı´ve usˇetˇrit jesˇteˇ vı´ce pametiˇ tam, kde je jı´nedostatek. nepodporovany´ch zaˇrı´zenı´) a podstatne´zlepsˇenı´fungova´- Acˇ si to majitele´bezˇny´chˇ desktopu˚ stezˇı´umˇ ejı´pˇ ˇredsta- nı´u techˇ za´lohovacı´ch zaˇrı´zenı´, ktera´se pˇripojujı´k ˇradiciˇ vit, Linux nynı´bezˇı´jesˇtˇ eˇ le´pe na syste´mech bez jake´hoko- disketovy´ch mechanik (vcetnˇ eˇ IOMEGA DITTO). liv videa. Vedle mozˇnosti pˇrihla´sˇenı´po se´riovy´ch a sı´t’ovy´ch Jako ˇresˇenı´ za´lohova´nı´ dat naby´vajı´ pˇrepisovatelne´ linka´ch, cozˇobsahovaly i Linux 2.0 a pˇredchozı´verze ja´dra, CD-ROM mechaniky v poslednı´dobeˇ na vy´znamu a Linux nynı´je mozˇne´pˇresmerovatˇ vesˇkera´kernelova´hla´sˇenı´(dˇrı´- 2.2 je podporuje (bud’ pˇrı´mo v ja´dˇre nebo prostˇrednictvı´m ve poslana´pˇrı´mo na konzoli pˇred inicializacı´jake´hokoliv emula´toru SCSI). Jsou zde vsˇakurcite´„nedodˇ elky“ˇ (po- hardwaru) na se´riove´zaˇrı´zenı´. drobnosti viz dˇrı´ve uvedene´pojedna´nı´o CD-ROM mecha- nika´ch). Sı´te:ˇ Ethernet, ISDN a modemy

Pa´kove´ovladace,ˇ mysˇia vstupnı´zaˇrı´zenı´ V te´to oblasti valne´zkusˇenostinema´m; jizˇnekolikˇ let pouzˇı´- va´m stejne´sı´t’ove´karty ve vsˇechsvy´m masˇina´ch. Nemusı´te Joysticky nacha´zejı´v 2.2 lepsˇı´podporu, vcetnˇ eˇ ˇrady novy´ch vsˇakby´t Alanem Coxem, abyste poznali, zˇe se s Linuxem ovladacˇu˚ a podpory joysticku˚ s pˇrehnany´mi poctyˇ tlacı´tek.ˇ 2.2 prudce zvy´sˇilpocetˇ podporovany´ch zaˇrı´zenı´Ethernet Ma´te-li joystick, pod Linuxem 2.2 ho s nejvetsˇı´pravdˇ epo-ˇ a ISDN. Podporu rovnezˇnasˇla,jakˇ mi bylo ˇreceno,ˇ i novejsˇı´ˇ dobnostı´rozchodı´te. ˇresˇenı´jako napˇr. kabelove´modemy. Podpora mysˇı´v 2.2 nevykazuje oproti verzi 2.0 podstatne´ Jedine´, na co si mohu stezˇovatˇ v te´to oblasti, je pˇretrva´- rozdı´ly. (Jako u verze 2.0 jsou v podpoˇre mysˇı´urcite´nesrov-ˇ vajı´cı´absence podpory tzv. Winmodemu.˚ Ne zˇe bych z toho nalosti, ktere´budou muset by´t ˇresˇenyv budoucnu. Z vetsˇı´ˇ vinil Linux — vy´roba modemu,˚ ktere´jsou z 80 % software, ca´stiˇ jsou mysˇiovla´da´ny mimo ja´dro prostˇrednictvı´m dae- je sˇpatneˇ v kazˇde´m pˇrı´padeˇ — ale idealista ve mneˇ doufa´, mona. Ze zcela zˇrejmy´ch duvod˚ u˚ vsˇaknektere´ovladaˇ ciˇ my- zˇe jednoho dne budou tito malı´d’a´blı´ci podporova´ni stejneˇ sˇı´za´mernˇ eˇ emulujı´microsoftı´standardnı´mysˇ.Bylo by hez- jako jejich pouzˇı´vatelnejsˇı´bratranci.ˇ ke´, kdyby se tato ota´zka definitivneˇ vyˇresˇila,bud’ tak nebo onak.) Vsˇimneteˇ si, zˇe — ackolivˇ to nenı´vy´hradneˇ ota´zka Radiovı´amate´ˇri jsou take´lide´ kernelu — novejsˇı´verzeˇ XFree86, nejpopula´rnejsˇı´GUIˇ pod Linuxem, podporujı´mysˇise „spinning wheel extension“ od Jizˇv doba´ch pˇred verzı´2.0 byl Linux jednı´m z ma´la deskto- Microsoftu. (Vetsˇinalinuxovy´chˇ aplikacı´vsˇaknenı´schopna povy´ch OS, ktere´v sobeˇ zahrnovaly pˇrı´mou podporu pou- tuto novou feature vyuzˇı´t — zatı´m.) Da´le Linux 2.2 podpo- zˇitı´amate´rske´ho radia s pocı´taˇ ci.ˇ (Ve skutecnostiˇ moc ne- ruje nekolikˇ dalsˇı´ch vstupnı´ch zaˇrı´zenı´, vcetnˇ eˇ nektery´chˇ di- rozumı´m tomu, co to obna´sˇı´, ale zda´se by´t popula´rnejsˇı´ˇ gitizer pads. Pokud vasˇezaˇrı´zenı´emuluje mysˇ,cozˇje stan- mimo USA.) Linux 2.2 pˇrina´sˇı´velke´mnozˇstvı´zlepsˇenı´to- dardnı´chova´nı´, pak je jizˇpodporuje Linux 2.2 a dokonce hoto subsyste´mu, vcetnˇ eˇ schopnosti vytvoˇrit sı´t’ nekolikaˇ i 2.0. stroju˚ jen pomocı´radiovy´ch vln, ale nenı´to moje parketa. Uvı´ta´m vesˇkere´na´metyˇ a pˇrı´spevkyˇ do te´to kategorie. Video Svetove´filesyste´myˇ Snad nejpˇrekvapivejsˇı´aˇ technicky nejpokrocilejsˇı´novy´pr-ˇ vek ja´dra verze 2.2 je ovladacˇ konzole — tzv. framebuffer Linux 2.2 ma´sˇiroke´spektrum novy´ch filesyste´mu˚ a typu˚ (nazy´va´n zkratkou „fbcon“). partition k zajisˇtenı´vˇ etsˇı´interkonektivity.ˇ Krom toho dosˇlo Dˇrı´ve linuxove´ja´dro (u stroju˚ na ba´zi procesoru˚ ) k aktualizaci mnohy´ch Linuxem podporovany´ch filesyste´- komunikovalo s video zaˇrı´zenı´mi pouze v textove´m mo´du. mu˚ (vcetnˇ eˇ tech,ˇ ktere´zde vubec˚ neuva´dı´m) a byl vypraco- Graficka´podpora byla zajisˇtenaˇ dvemaˇ dalsˇı´mi syste´my: va´n novy´syste´m dcache pro znacnˇ eˇ zvy´sˇenouvy´konnost.

9 Linuxove´noviny 03–04/99

(Pˇrı´slusˇna´aktualizace byla dokonce podmı´nkou zahrnutı´ ktere´zˇa´dne´zlepsˇenı´nepotˇrebujı´. (Kazˇdy´z techtoˇ ovladacˇu˚ vsˇechdotceny´chˇ ovladacˇu˚ do verze 2.2.) vsˇakbyl tak ciˇ onak aktualizova´n.) FanousˇciMicrosoftu jisteˇ uvı´tajı´skutecnost,ˇ zˇe Linux uzˇ Zde vsˇakseznam nekoncı´.ˇ Linux 2.2 obsahuje vy´borne´ umı´ cı´stˇ (a mozˇna´i psa´t) partisˇnyve forma´tu NTFS (Win- nove´ ˇresˇenı´podpory sı´tı´(networking core), nove´ ˇresˇenı´tun- dows NT) a FAT32 (Windows 98 a pozdejsˇı´mutaceˇ Windows nelingu, u´plneˇ novy´syste´m — s na´zvem ipchains — pro 95). Linux 2.2 za´rovenˇ umı´i microsoftı´syste´m Joliet umozˇ- firewally a routova´nı´, mozˇnost omezovat tok dat a celou ˇra- nujı´cı´dlouhe´na´zvyˇ souboru˚ na CD-ROMech. V neposlednı´ du dalsˇı´ch vecı´.ˇ Je to prosteˇ u´zˇasne´, ke´zˇbych byl schopen ˇradeˇ Linux rovnezˇumı´pracovatˇ s novy´m typem extended to vsˇechnosledovat. partition — „vyna´lezem“ Microsoftu. Ve vy´voji jsou ovlada- Protokoly pro sdı´lenı´ souboru˚ a tiska´ren byly rovnezˇˇ ciˇ pro ctenı´aˇ psanı´komprimovany´ch disku˚ typu Microsoft zlepsˇeny a znacnˇ eˇ rozsˇı´ˇreny. V podpoˇre SMB (protokol a Stacker. Tyto ovladaceˇ vsˇakzatı´m nejsou souca´stı´ja´dra.ˇ umozˇnujı´cı´pˇ ˇrı´stup na sdı´lene´filesyste´my pod Windows) Za u´celemˇ zlepsˇenı´konektivity s Macy byl zapracova´n byly provedeny opravy chyb a jine´aktualizace. V pˇrı´pade,ˇ ovladacˇ HFS pro ctenı´aˇ psanı´disku˚ v Macintosˇı´ch. HFS+ zˇe jste fanousˇciNetWaru (o cemzˇlzeˇ s u´spechemˇ pochy- a starsˇı´ filesyste´my na Macı´ch nejsou zatı´m podporova´- bovat), bude pro va´s dobra´zpra´va, zˇe Linux 2.2 obsahuje ny. Kernel noveˇ umı´ cı´stˇ partition tabulky Macintoshe, cozˇ v te´to oblasti celou ˇradu zlepsˇenı´, vcetnˇ eˇ dvou druhu˚ dlou- umozˇnujeˇ mountovat disky Mac SCSI bez pomocı´specia´l- hy´ch na´zvu˚ NCP. NFS byl take´zlepsˇenna u´rovni serveru nı´ho SW. i klienta. Navı´c ti sˇprtiu CMU prova´dejı´mravenˇ cı´pra´ceˇ Je to sice smutne´, ale uzˇivatele´OS/2 sta´le nebudou moci na vy´voji nove´ho distribuovane´ho sı´t’ove´ho filesyste´mu pod psa´t na sve´partisˇnyve forma´tu HPFS. Ovladacˇ HPFS byl na´zvem Coda. Tento filesyste´m podporuje velky´pocetˇ vy- obohacen o podporu nove´ho syste´mu dcache, ale celkova´ soce zˇa´dany´ch features vcetnˇ eˇ disconnectovany´ch operacı´ „genera´lnı´oprava“, ve kterou nekteˇ ˇrı´doufali, se bohuzˇel pro laptopy, velmi propracovane´ho syste´mu cache a zlep- nedostavila. sˇene´bezpecnosti.ˇ Pokud jesˇteˇ jsou nejacı´uzˇivatele´Amigy,ˇ budou potesˇe-ˇ Souvisejı´cı´m vylepsˇenı´m v Linuxu 2.2 je ovladac,ˇ kte- ni zpra´vou o tom, zˇe ovladacˇ FFS prodelalˇ nekolikˇ men- ry´umozˇnı´sdı´lenı´a vzda´lene´mountova´nı´cely´ch diskovy´ch sˇı´ch zmenˇ oproti verzi 2.0. Toto muzˇe˚ by´t obzvla´sˇt’ uzˇitec-ˇ image po sı´ti. ne´v pˇrı´pade,ˇ zˇe nova´generace Amig na ba´zi PPC bude pouzˇı´vat stejny´diskovy´forma´t. Cozˇe?! Evropa je obydlena´? V oblasti konektivity s jiny´mi UNIXy udelalˇ Linux 2.2 velke´pokroky. Sta´le je souca´stı´Linuxuˇ 2.2 filesyste´m UFS, Linux 2.0 je pˇrekvapiveˇ velmi internaciona´lnı´OS s podpo- ktery´se pouzˇı´va´v syste´mech odvozeny´ch od BSD, vcetnˇ eˇ rou mezina´rodnı´ch kla´vesnic a podobne.ˇ Linux 2.2 k tomu- Solarisu a free verzı´BSD. Linux 2.2 nynı´umı´ cı´stˇ forma´ty to za´kladu doda´va´schopnost pouzˇitı´nektery´chˇ codepage partition tabulek provozovane´FreeBSD, SunOS a Solari- UNICODE pro konverzi na´zvu˚ souboru˚ do native forma´tu sem. Pro UNIXy podobne´SysV Linux 2.2 nabı´zı´ponekudˇ Linuxu. (V soucasne´dobˇ eˇ jediny´mi filesyste´my, ktere´tyto vylepsˇenouverzi SysV FS. Linux 2.2 za´rovenˇ umı´ cı´stˇ dis- codepage UNICODE pouzˇı´vajı´jsou VFAT a Joliet (rozsˇı´ˇrenı´ ky RiscOS od Acorna. V neposlednı´ ˇradeˇ Linux 2.2 v sobeˇ ISO 9660 pro CD-ROMy), oba od Microsoftu.) obsahuje aktualizovanou verzi sta´le popula´rnı´ho filesyste´- mu Minix, ktery´nale´za´uplatnenı´uˇ mensˇı´ch disku˚ a disket ve vetsˇinˇ eˇ UNIXu.˚ Pˇri tolika ruzny´ch˚ vza´jemneˇ nekompa- A v neposlednı´ ˇradeˇ tibilnı´ch forma´tech se clovˇ ekˇ nestacı´divit,ˇ zˇe se nekomuˇ podaˇrilo dota´hnout vubec˚ nejakouˇ pra´ci. Kromeˇ vy´sˇeuvedeny´ch Linux 2.2 pˇrina´sˇı´ ˇradu dalsˇı´ch ovla- Dalsˇı´novinkou je odstranenı´podporyˇ extended disku˚ dacˇu˚ a novot, ktere´sice nezapadajı´do zˇa´dne´kategorie, ale (tento forma´t se provozoval s o mnoho starsˇı´mi verzemi Li- stojı´za povsˇimnutı´: nuxu) a jejı´nahrazenı´filesyste´mem second extended, ne- Ovladacˇ loopback, umozˇnujı´cı´mountova´nı´aˇ manipulaci boli ext2. (Tento krok by nemelˇ nikomu vadit, nebot’ ext2 je s diskovy´mi image jako kdyby byly fyzicke´disky, byl zlepsˇen daleko lepsˇı´nezˇjeho pˇredchudce.)˚ V za´jmu zlepsˇenı´podpo- hned nekolikaˇ zpusoby.˚ Z techtoˇ vylepsˇenı´uzˇivatele´bezpo- ry initial ramdisku˚ byl vyvinut filesyste´m romfs s naprosto chyby ocenı´zvy´sˇenoupodporu sˇifrova´nı´a mountovanı´za- minima´lnı´mi pametˇ ’ovy´mi na´roky. sˇifrovany´ch pevny´ch disku˚ a diskovy´ch image. Byt’ to nenı´pˇrı´mo filesyste´mem, souca´stı´Linuxuˇ 2.2 je Navı´c je zde podpora initial ramdisku,˚ ktere´pˇrina´sˇı´vetsˇı´ˇ mozˇnost transparentneˇ spojit nekolikˇ disku˚ do jednoho file- pruzˇnost pˇri bootova´nı´Linuxu. napˇr. umozˇ- syste´mu. V soucasne´dobˇ eˇ je tato podpora k dispozici v mo´- nujeˇ v distribuci mı´t kernel bez jaky´chkoliv zabudovany´ch dech RAID 0, 1, 4 a 5, jakozˇto i v jednoduche´m linea´rnı´m ovladacˇu˚ a pozdejiˇ nata´hnout ovladaceˇ podle konkre´tnı´po- mo´du. tˇreby. (Dˇrı´ve musel ovladacˇ bootovacı´ho me´dia nutneˇ by´t v kernelu, aby bylo mozˇno ovladaceˇ dalsˇı´ch zaˇrı´zenı´nacı´stˇ z pevne´ho disku.) Tuto feature ocenı´zvla´sˇteˇ ti, kdo ma- Podpora sı´tı´II: Pod kapotou jı´zaˇrı´zenı´Plug-and-Play, ktera´jsou nepˇrı´stupna´, dokud se nespustı´pˇrı´slusˇna´user-mode utilita. Co se ty´ceˇ protokolu˚ dosˇlok mnoha vecem,ˇ ktery´m pros- Linux 2.2 take´disponuje ovladacem,ˇ umozˇnujı´cı´mˇ pˇrı´- teˇ dostatecnˇ eˇ nerozumı´m. Objevily se IPv6 (Internet pro- stup do pametiˇ CMOS na desce, cozˇ muzˇe˚ by´t uzˇitec-ˇ tokol dalsˇı´generace) a SPX (rozsˇı´ˇrenı´IPX). Dosˇlorovnezˇˇ ne´v nektery´chˇ aplikacı´ch. (Bohuzˇel, podobny´ovladacˇ pro ke zlepsˇenı´DDP, cozˇje nejrozsˇı´ˇrenejsˇı´protokolˇ u sı´tı´Ap- BIOS flash RAM se do verze 2.2 nedostal, takzˇe k aktu- pleTalk. Navı´c, jak se dalo cekat,ˇ byla zlepsˇenapodpora alizaci BIOSu bude i nada´le nutne´restartovat z diskety sta´vajı´cı´ch protokolu.˚ Ke´zˇbych melˇ potˇrebu necoˇ z toho s MS-DOSem.) pouzˇı´vat... Linux v minulosti pouzˇı´val metodu natahova´nı´a odstra- U me´neˇ na´kladny´ch ˇresˇenı´se toho moc nezmenilo.ˇ PPP, nenı´ovladaˇ cˇu,˚ nazvanou kerneld, ktery´byl napul˚ uzˇiva- SLIP, CSLIP a PLIP jsou i nada´le k dispozici. Asi jsou veci,ˇ telsky´a napul˚ kernelovy´. Tato metoda byla dobra´, ale ma´lo

10 Linuxove´noviny 03–04/99 vy´konna´. Proto kerneld z verze 2.2 vypadl a byl nahrazen v adresa´ˇri /usr/src/linux/arch/i386/boot a jme- novy´m 100% kernelovy´m ˇresˇenı´m s na´zvem kmod. nuje se bzImage. Nove´ ja´dro pˇrekopı´rujte do adresa´ˇre /boot a pˇrejmenujte na nejaky´inteligentnı´na´zev,ˇ tˇreba bzImage-2.2.2-ac5 (v na´sledujı´cı´h ca´stechˇ textu bu- du pˇredpokla´dat, zˇe ho ma´te pojmenova´jako tento pˇrı´- Nove´graficke´karty a Xka klad). Da´le do souboru /etc/lilo.conf vlozˇı´me na´sle- Robert Vojta, 13. bˇrezna 1999 dujı´cı´ ˇra´dky:

V dnesˇnı´uspechane´dobˇ eˇ se graficke´karty vyvı´jejı´neuve-ˇ image=/boot/bzImage-2.2.2-ac5 ˇritelny´m tempem a programa´toˇri kteˇrı´majı´necoˇ spolecne´-ˇ label=linux-2.2.2-ac5 ho s XFree86 nestı´hajı´vyvı´jet nove´a nove´ovladace.ˇ Je to root=/dev/hda2 zpusobeno˚ vytı´zˇenostı´programa´toru˚ XFree86 a take´tı´m, zˇe read-only vetsˇinafiremˇ zaby´vajı´cı´ch se vy´robou karet uvolnujeˇ speci- vga=794 fikaci dosti pozde.ˇ Proto je tu pro na´s chuda´ky, co ma´me Samozˇrejmeˇ zˇe ˇra´dek root=/dev/hda2 bude za´- nove´zˇelezo, na´vod na to, jak zprovoznit Xka pod operac-ˇ visly´ na tom, kde ma´te nainstalova´n root filesystem nı´m syste´mem Linux. vasˇeho Linuxu a polozˇku VGA si nastavı´te na jed- nu z hodnot, ktere´ naleznete v na´sledujı´cı´ tabulce: Co je potˇreba? Barvy 640x480 800x600 1024x768 1280x1024 1600x1200 Co k tomu potˇrebujete? Prvnı´vecˇ je nove´ja´dro (1), a to 256 769 771 773 775 796 minima´lneˇ verze 2.1.112, novejsˇı´XFree86ˇ (2) (doporucujiˇ 32768 784 787 790 793 797 3.3.3.1) a poslednı´vecˇ je vasˇegraficka´karta, ktera´musı´by´t 65536 785 788 791 794 798 kompatibilnı´se standardem VESA, a to minima´lneˇ verze 16.8M 786 789 792 795 799 2.0. Takzˇe ted’ vı´me, co k tomu potˇrebujeme, a muzˇeme˚ se pustit do konfigurace vasˇehostroje. Toto rozlisˇenı´a barevna´hloubka se bude pouzˇı´vat pro textovou konzoli a Xka za´roven.ˇ Pokud uvedete do polozˇ- ky VGA hodnotu ASK nebude va´m umozˇnenoˇ spousˇtetˇ Konfigurace ja´dra Xka. Nynı´ma´me upraven konfiguracnı´souborˇ lilo a po- kud chceme, aby syste´m akceptoval zmeny,ˇ musı´me spus- Ja´dro rozbalı´me do adresa´ˇre /usr/src a vytvoˇrı´me tit /sbin/lilo. Pra´veˇ ted’ je va´sˇsyste´m pˇripraven na re- symbolicky´ link , ktery´ bude ukazo- /usr/src/linux start, zkuste to a muzˇete˚ se kochat maly´m logem tucˇna´kaˇ vat na nasˇenoveˇ rozbalene´ja´dro. Pˇrejdeme do adresa´ˇre pˇri startu syste´mu. /usr/src/linux a spustı´me konfiguraci ja´dra a to pomo- cı´pˇrı´kazu make . Ja´dro si nastavte dle vlast- nı´ch pˇredstav a azˇto budete mı´t hotove´, musı´te jesˇteˇ pro- Jak upgradovat na XFree86 3.3.3.1 ve´st na´sledujı´cı´veci:ˇ Z archivu XFree (3) si sta´hneteˇ bina´rky poslednı´ho XFree • v menu Code Maturity Level zasˇkrtneteˇ polozˇku Enable a ze souboru RELNOTES muzˇete˚ vycı´st,ˇ jak prove´st up- the prompt for development and/or incomplete drivers. grade nebo novou instalaci XFree. Azˇprovedete upgrade, • v menu Console Drivers zasˇkrtneteˇ na´sledujı´cı´polozˇky ujisteteˇ se, zˇe ma´te vytvoˇren link z /usr/X11R6/bin/X na /usr/X11R6/bin/XF86_FBDev a pokud ne, proved’te • VGA Text console na´sledujı´cı´pˇrı´kaz: • Video selection support ln -s /usr/X11R6/bin/XF86_FBDev /usr/X11R6/bin/X • Support for frame buffer devices • VESA VGA Graphics console Jak nastavit zaˇrı´zenı´/dev/fb0?

• Advanced low level drivers Kernel s podporou framebufferu je instalova´n, ale jesˇteˇ zby´- • Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp a 32bpp va´zprovoznit zaˇrı´zenı´ /dev/fb0, ktere´umozˇnujeˇ X serve- packed pixel drivers ru zapisovat pˇrı´mo do pametiˇ graficke´ho adapte´ru. Vytvo- ˇrı´me znakove´zaˇrı´zenı´s hlavnı´m (major) cı´slemˇ 29 a ved- • VGA Character/attributes support lejsˇı´m (minor) cı´slemˇ 0. Da´se to pomocı´pˇrı´kazu mknod /dev/fb0 c 29 0. Pro zpetnouˇ kompatibilitu je dobre´ Nynı´muzˇeme˚ opustit konfiguracnı´programˇ a pustit se vytvoˇrit symbolicky´link /dev/fb0current, ktery´ukazu- do dalsˇı´ho kroku. je na /dev/fb0 (ln -s /dev/fb0 /dev/fb0current). Pokud ma´te v syste´mu vı´ce ruzny´ch˚ graficky´ch adapte´ru˚ Kompilace a instalace ja´dra (a monitoru),˚ musı´te instalovat dalsˇı´znakove´zaˇrı´zenı´. Vy- tvoˇrı´me ho stejny´m zpusobem˚ jako pro prvnı´kartu, ale Nynı´ ma´me nastavene´ nove´ ja´dro a muzˇeme˚ se pus- s tı´m rozdı´lem, zˇe vedlejsˇı´(minor) cı´sloˇ bude 32, u tˇretı´ tit do kompilace. Nove´ja´dro vytvoˇrı´me sledem na´sledu- karty 64 atd. jı´cı´ch pˇrı´kazu:˚ make dep, make clean a make bzI- mage. Pokud vsˇechny kroky prosˇly, vytvoˇrı´me jesˇteˇ mo- Jak nastavit XF86Config? duly, a to na´sledujı´cı´m zpusobem:˚ make modules, ma- ke modules install. Nynı´ma´me zkompilovane´ja´dro Poslednı´krok je nastavit konfiguracnı´souborˇ Xek, aby ak- a nainstalovane´ moduly. Nasˇe nove´ ja´dro se nacha´zı´ ceptoval novy´framebuffer server. Tento soubor se povetsˇi-ˇ

11 Linuxove´noviny 03–04/99 nou nale´za´v adresa´ˇri /etc/X11 a jmenuje se XF86Config. u´plneˇ technicky a pˇresne,ˇ mozˇna´nekdeˇ „odlı´tnu“, takzˇe se Pro na´s jsou kriticke´tˇri sekce toho souboru, a to: Monitor, prosı´m, va´zˇenı´odbornı´ci, moc nezlobte. Device a Screen. Proved’te nastavenı´podle na´sledujı´cı´ch ˇra´dku:˚ Co je HTTP? Section "Monitor" Identifier "My Monitor" HTTP (HyperText Transfer Protocol) je protokol (podobneˇ EndSection jako FTP a dalsˇı´), ktery´se pouzˇı´va´na Internetu snad nej- castˇ eji.ˇ Pomocı´nejˇ putujı´data od webove´ho serveru k va´m Section "Device" domu.˚ Jeho cinnostˇ je na´sledujı´cı´: po nava´za´nı´spojenı´k ser- Identifier "My Video Card" veru (napˇr. www.linux.cz) klient (Netscape, Lynx) odesˇle EndSection tzv. pozˇadavek (request), ktery´vypada´takto: GET /index.html HTTP/1.1 Section "Screen" Connection: close Driver "FBDev" User-agent: Lynx/2.8 Device "My Video Card" ´ Monitor "My Monitor" Subsection "Display" Jestli si chcete vyzkousˇetchova´nı´web serveru, zkus- Depth 16 te si tohle napsat do telnetu, ktery´ spustı´te jako tel- Modes "default" net www.nekde.czˇ 80, cozˇva´m otevˇre spojenı´na ser- EndSubsection ver pˇres port 80 (neboli http). Ale zpa´tky k te´matu: EndSection Prvnı´ ˇra´dek je povinny´. Uda´va´ metodu pˇrenosu (jedno z GET/POST/HEAD: tyto metody jsou z hlediska CGI Jedno upozornenı´:ˇ v ca´stiˇ Display (nale´za´se v ca´stiˇ Scre- podrobneˇ rozebra´ny v Popis knihovny cgihtml, aneb jak en) se musı´barevna´hloubka shodovat s barevnou hloub- na CGI z C), cestu k souboru (/index.html, /, /archiv, kou, kterou ma´te nastavenou v konfiguracnı´mˇ souboru lilo atd.) a verzi protokolu HTTP (zde 1.1). Dalsˇı´ ˇra´dky jsou (vga=). Pokud to nebude souhlasit, X server se nespus- nepovinne´, ale uvedl jsem asi ty nejfrekventovanejsˇı´.ˇ Po- tı´. Nesnazˇte se take´menitˇ ca´stˇ Modes na nejake´rozlisˇe-ˇ kud ma´ Connection hodnotu Keep-alive, server po vy- nı´, protozˇe rozlisˇenı´ v ktere´m se budou pousˇtetˇ Xka je ˇrı´zenı´pozˇadavku (tj. odesla´nı´souboru neuzavı´ra´spojenı´, nastaveno na stejne´m mı´steˇ jako barevna´hloubka (tedy ale ceka´naˇ dalsˇı´pozˇadavek. Pˇri hodnoteˇ close se spojenı´ v /etc/lilo.conf). uzavˇre. Takzˇe keep-alive va´m sˇetˇrı´ casˇ a tak trochu i penı´- ze. Pomocı´ User-agent klient identifikuje sa´m sebe. Dal- sˇı´mozˇne´parametry jsou napˇr. Last-Modified — datum Za´verˇ modifikace souboru (pro u´celyˇ cache), pˇrı´jı´mane´typy dat (Accept-Content), a dalsˇı´. Zde platı´, zˇe co server nezna´, Doufa´m, zˇe vetsˇinˇ eˇ lidı´pomohl tento cla´nekˇ vyˇresˇitpro- ignoruje. Poslednı´pra´zdny´ ˇra´dek je povinny´, jinak by ser- ble´m s jejich novou grafickou kartou a pra´veˇ spokojeneˇ po- ver nepoznal, kde klient zakoncı´sve´pˇ ˇra´nı´. Po ukoncenı´po-ˇ uzˇı´vajı´Linux a jeho Xka. Pokud mi casˇ dovolı´, budu aktu- zˇadavku (onı´m pra´zdny´m ˇra´dkem) server odesˇleodpovedˇ ’ alizovat noveˇ vzniklou stra´nku o tomto proble´mu na me´m (reply). Ta ma´tento tvar: stroji (4). HTTP/1.1 200 OK 1 Ceske´zrcadloˇ zdrojovy´ch textu˚ ja´dra Content-length: 120 ftp://ftp.cz.kernel.org/pub/linux/kernel/ Content-type: text/html 2 XFree ´ http://www.xfree86.org/ <...vlastn´ıdata (soubor)...> 3 XFree Prvnı´ ˇra´dek vracı´verzi HTTP na serveru (zde opetˇ 1.1), ftp://ftp.xfree86.org/pub/XFree86/3.3.3.1/binaries/ ko´d chyby resp. u´spechuˇ (200) a textovy´popis ke ko´du 4 Devil (zde „OK“). Cı´selny´chˇ ko´du˚ je mnoho, ale dajı´ se rozli- http://devil.mendelu.cz/vesafb sˇitpomocı´stovek: ko´dy 1xx jsou informativnı´, 2xx znacı´ˇ u´spech,ˇ 3xx je pˇresmerova´nı´,ˇ 4xx chyba ze strany klienta a 5xx chyba serveru. Content-length je de´lka odesla- ny´ch dat. Pocı´ta´seˇ bez de´lky hlavickyˇ (takzˇe po pra´zdne´m Co je to HTTP a HTML? ˇra´dku — prosteˇ pouze data). Content-type je typ dat. Marek Sezemsky´, 20. bˇrezna 1999 text/html je HTML soubor, text/plain je cisty´ASCIIˇ text. a jsou obra´zky. Techtoˇ typu˚ Toto melˇ by´t puvodn˚ eˇ cla´nekˇ o programova´nı´CGI z jazy- image/gif image/jpeg je opravdova´spousta a v ruzny´ch˚ situacı´ch lze pouzˇı´t i mas- ka C. Vzhledem k tomu, zˇe jsem „kratsˇı´sezna´menı´s HTTP ku: takzˇe znamena´„vsˇechnyobra´zky“. Dulezˇite´je˚ a HTML“ ponekudˇ pˇreta´hl, rozhodl jsem se k radika´lnı´mu image/* i to, zˇe klient nerozlisˇujepˇrı´ponu u souboru,˚ takzˇe pokud si za´sahu a jeden cla´nekˇ rozdelilˇ na dva kusy. Tohle muzˇete˚ ˇreknete napˇr. „http://www.sezi.cz/cgi-bin/counter“, muzˇete˚ bra´t jako zjednodusˇeny´popis toho, jak je mozˇne´, zˇe Net- si nata´hnout obra´zek (pocitadlo),ˇ ale i jinou stra´nku apod. scape (pro zatvrzele´Lynx) zobrazuje webove´stra´nky plne´ Nynı´se podı´va´me, co se skry´va´za typem text/html. grafiky (uzˇne Lynx :-) a odkazu.˚ Samo sebou, zˇe po doctenı´seˇ muzˇete˚ pustit i do dru- he´ ca´sti,ˇ a to do popisu knihovny cgihtml pro zpracova´nı´ Co je HTML? formula´ˇru˚ na Internetu (prosteˇ programova´nı´CGI). Jen tak mimochodem: nekladu si za cı´l popisovat vsˇe HTML je HyperText Markup Language, neboli hypertexto-

12 Linuxove´noviny 03–04/99

vy´jazyk znacekˇ (tagu).˚ Je to forma´t souboru˚ pouzˇı´vany´ch

    pˇreva´zˇneˇ na Internetu. Do takove´ho souboru muzˇete˚ vlo-
  • Poloˇzka1 zˇit odkaz na jiny´soubor, menitˇ forma´tova´nı´, vkla´dat obra´z-
  • Poloˇzka2 ky a spoustu dalsˇı´ch vecı´.ˇ Tyto veciˇ prova´dı´te pomocı´tzv.
  • Poloˇzka3 znacekˇ (tagu).˚ Vetsˇinatˇ echtoˇ tagu˚ je pa´rova´(budu pouzˇı´-
vat anglicky´tag mı´sto ceske´znaˇ cky,ˇ pˇripada´mi to lepsˇı´). Na jazyce HTML je kra´sne´to, zˇe to co nezna´te (nezna´pro- hlı´zˇec),ˇ prosteˇ ignoruje. Takzˇe text v dokumentu je vzˇdy Formula´ˇre zobrazen, ale pokud ma´te starsˇı´verzi prohlı´zˇece,ˇ pˇrijdete napˇr. o specia´lnı´forma´tova´nı´, efekty nebo ruzne´blbinky˚ se Nejdulezˇit˚ ejsˇı´vˇ HTML, pokud se dı´va´me z pohledu CGI, scripty (JavaScript). Na sˇkoduje to tehdy, kdyzˇma´te nekdeˇ jsou formula´ˇre. Formula´ˇr zacı´na´pa´rovouˇ znackouˇ
. pˇreklep (mı´sto tˇreba ) a HTML stra´nka se Jejı´parametry jsou action, ktery´obsahuje URL na CGI va´m chova´ponekudˇ divne.ˇ Nejkratsˇı´HTML dokument vy- program, ktery´bude zpracova´vat data z prvku˚ formula´ˇre. pada´takhle: Da´le je to polozˇka method, ktera´uda´va´zpusob˚ dopravenı´ dat k CGI. Zde se pouzˇı´va´ get nebo post. Vy´hody a nevy´- hody obou si popı´sˇemeve cla´nkuˇ Popis knihovny cgihtml, Titulek stranky´ aneb jak na CGI z C. Pro vstupnı´prvky formula´ˇre (napˇr. va´znackaˇ . Jejı´m parametrem jsou type, name ...text dokumentu... a popˇr. value. Parametr type uda´va´typ vstupu (text / heslo / tlacı´tkoˇ / checkbox / radiobox). name je jme´no pro hodnotu, na ktere´se odkazujeme z CGI. Do value mu-˚ zˇete zadat poca´teˇ cnı´hodnotuˇ vstupu. Vsˇeobjasnı´pˇrı´klad Jako barva se uva´dı´anglicky´na´zev (white, black), nebo (z ktere´ho urcitˇ eˇ mnohe´dalsˇı´pochytı´te). Jako prvnı´si ro- hexadecima´lnı´vyja´dˇrenı´#RRGGBB. Napˇr. modra´je tedy zebereme jednoduchy´dotaznı´k: od uzˇivatele (surfaˇre Inter- #0000FF. Mezi dalsˇı´tagy patˇrı´nadpisy: netem) si zjistı´me nejake´informaceˇ (jme´no, vek,ˇ pohlavı´...) a pˇrı´padneˇ zapı´sˇemena serveru do souboru. Zdrojovy´for-

text nadpisu

mula´ˇr by vypadal asi tak, jako na vy´pisu Pˇrı´klad formula´-

text nadpisu

ˇre. (nezapomente,ˇ zˇe se to cele´musı´vlozˇit nekamˇ do html ... souboru, tohle by nemeloˇ by´t jako samostatny´soubor (uzˇ
text nadpisu
pro tu estetiku :-)).
text nadpisu
Tı´mto bychom meliˇ pojmy jako HTTP a HTML rozebra- ne´. Pokud se chcete tomuto te´matu venovatˇ i nada´le, do- Styl je nejvetsˇı´(ma´tuˇ cne´velike´fonty),ˇ a

porucujiˇ studium RFC dokumentu.˚ Pro HTTP/1.0 a HTML nejmensˇı´ (opravdu malinky´). Odsazenı´ nove´ho ˇra´dku se 2.0 (poslednı´verze jsou 1.1(1.2?) a 4.0) jsem nejaka´(znaˇ c-ˇ prova´dı´tagem , novy´odstavec vytvoˇrı´me pomocı´ .

neˇ obstarozˇnı´) RFC nasˇelu sebe v archiva´liı´ch, takzˇe se Odkaz na jiny´soubor (dokument) vlozˇı´me pomocı´: muzˇete˚ kochat: (1) a (2). Podtrˇzen´ytext odkazu k tomuto cla´nkuˇ spolu s testovacı´mi CGI programy, takzˇe pokud se chcete kouknout, jak vypada´takovy´(3), dle li- Adresu u href tvoˇrı´tzv. URL (tusˇı´m Universal Resource bosti. Locator), cozˇje jakoby adresa dokumentu. Je tvoˇrena pro- 1 RFC-1945-HTTP tokolem (http://, ftp://), serverem adresa.cz a souborem http://www.sps-jia.cz/~sezi/rfc-1945-http.txt /soubory/soubor.html. Jednoduche´jako facka. Podob- 2 RFC-1866-HTML neˇ jako odkaz vlozˇı´me i obra´zek. Vsˇimneteˇ si parametru http://www.sps-jia.cz/~sezi/rfc-1866-html.txt alt: jeho hodnota je v u´vozovka´ch, aby bylo jasne´, ze vı´- 3 formula´ˇr ceslovny´text nenı´dalsˇı´parametr. To platı´v cele´m HTML. http://www.sps-jia.cz/~sezi/form1.html Kde jsou mezery, tam taky uvozovky. ´ z C Sˇı´ˇrka a vy´sˇkajsou v pixelech. Jako obra´zky na webu se Marek Sezemsky´, 23. bˇrezen 1999 pouzˇı´vajı´(takˇrka jedinne)ˇ GIF a JPEG. Chysta´se i novy´ PNG, ale bohuzˇel se pˇres sve´kvality zatı´m moc nerozsˇı´ˇril. Pa´r slov u´vodem Onen alt obsahuje text, ktery´je „pod obra´zkem“ — tedy pokud se jej napˇr. nepodaˇrı´nacı´st.ˇ S grafikou bud’te velice Jestli chcete zvla´dat (a ovla´dat) CGI na Internetu, a to stˇrı´dmı´: foto autora ve forma´tu A4 je sice vecˇ hezka´, ale z jazyka C, tak to cteteˇ ten spra´vny´ cla´nekˇ (ve spra´vny´ch nikdo nemusı´ cekatˇ pul˚ hodiny na 100 kilo, aby videlˇ ten va´sˇ novina´ch ;-)). Ale procˇ C a ne Perl, ktery´se pro CGI pou- ksi** ;-). Pokud uzˇneco pouzˇı´va´te, nezapomenteˇ na to, zˇe zˇı´va´dosti hojne?ˇ Proti Perlu (ani jiny´m jazykum)˚ rozhodneˇ web je tady hlavneˇ pro informace, pak pro Linux, a naposled nic nema´m, zcela jisteˇ jsou velice vy´konne´a pouzˇitelne´— pro modelky :-). zvla´sˇt’ Perl, ale v C uzˇnejaky´tenˇ mesı´cˇ dela´m,ˇ a tak je pro Seznamy vytvoˇrı´te snadno (kdyzˇmı´sto

    pouzˇijete mne snazˇsˇı´se naucitˇ pouzˇı´vat nejakouˇ tu knihovnu, nezˇse
      , dostanete cı´slovany´seznam):ˇ ucitˇ Perl (i pˇres jeho jednoduchost ;-)). Navı´c pouzˇı´va´nı´C

      13 Linuxove´noviny 03–04/99

      Jmeno´
      ´
      Vekˇ
      Pohlav´ı
      Muˇz
      Zenaˇ
      Zajmy´
      Sport
      Televize
      Sex
      Poc´ıtaˇ ceˇ
      Vlastn´ımInternet
      Poznamky´
      ˇ

      Vy´pis c.ˇ 1: Pˇrı´klad formula´ˇre se mi zda´takove´„univerza´lnejsˇı´“ˇ (ted’ se asi Perla´ci smejı´,ˇ Prosteˇ vy´stupem muzˇe˚ by´t cokoliv. Napsal jsem rozhranı´: ale je to muj˚ skromny´na´zor a nikdo mi ho neveme). Takzˇe to z toho duvodu,˚ zˇe se nejedna´o zˇa´dny´novy´typ spustitel- bychom za sebou meliˇ ota´zky jazyka a jdeme da´l. ny´ch souboru,˚ nebo snad o neco,ˇ co se kompiluje k serveru (cozˇu MS IIS ani nejde ;-)). CGI programem se rozumı´ jaka´koliv aplikace, schopna´zpracovat vstup z formula´ˇre, CGI: O co jde? a posle´ze necoˇ kloudne´ho poslat na vy´stup klientovi. Ony parametry se CGI programu pˇredajı´pomocı´hodnot pro- O vzniku CGI bych moc ra´d psal ono „v da´vny´ch doba´ch menny´chˇ prostˇredı´(envrionmentu), ktere´nastavı´server. Internetu“, ale bohuzˇel nemohu, nebot’ bohuzˇel ani netu- Prosteˇ pomocı´toho, kde ma´te PATH, HOME, MAIL a dalsˇı´ sˇı´m, jak to tehdy vypadalo. Ale jedno vı´m jiste:ˇ CGI zna- (pro necha´pave´: v shellu zkuste set a uvidı´te). Takzˇe server mena´Common Gateway Interface. Pokud bych se pokusil nastavı´nekolikˇ hodnot tohoto prostˇredı´, do ktere´ho mimo o pˇreklad, vzniklo by Spolecne´Bra´nove´Rozhranı´.ˇ Bohuzˇel, jine´vlozˇı´i parametry z CGI, spustı´program a jeho vy´stup tohle nic moc neˇrı´ka´, takzˇe to vysvetlı´m:ˇ CGI je rozhra- pote´odesˇleklientovi. Zpravidla je tento vy´stup odesı´la´n azˇ nı´, pomocı´ktere´ho Web server spousˇtı´aplikace a jejich vy´- po ukoncenı´CGIˇ programu, lze jej ale odesı´lat i postup- stup posı´la´pˇres Internet klientovi. Tı´mto vy´stupem muzˇe˚ ne.ˇ Ale to vsˇesi osvetlı´meˇ pozdeji.ˇ Takzˇe ty promenne´pro-ˇ by´t GIF(JPEG) obra´zek v pˇrı´padeˇ pocı´tadlaˇ nebo reklamy, stˇredı´. Vı´me zˇe je server nastavı´. Ale ktere´? To same´jsem si HTML soubor pokud se jedna´napˇrı´klad o vy´sledek hleda´nı´. ˇrı´kal pˇri psanı´pˇredchozı´vetyˇ (opravdu). Resˇenı´mˇ je tako-

      14 Linuxove´noviny 03–04/99 vy´maly´testovacı´program. Jmenuje se test.cgi.c, takzˇe ku) a v logu se zobrazuje pouze URL na CGI. Asi se pta´te, po pˇrelozˇenı´u GNU C s parametrem -o ma´me test.cgi. jak je to mozˇne´? Velice snadno. Jak vı´te, klient pˇri pozˇa- davku o stra´nku (obra´zek, ...) odesˇlev prvnı´ ˇra´dce text #include GET, ktery´na´sleduje URL dokumentu rozsˇı´ˇrene´o parame- try pro CGI program. U metody POST odesı´la´ POST ;-), int main(int argc, char **argv, char **env) a pote´opetˇ URL. Zakoncı´toˇ verzı´HTTP. Jako dalsˇı´ ˇra´dek { pˇrida´ Content-length a de´lku pozˇadavku, ktery´odesˇle int i = 0; za pra´zdny´m ˇra´dkem. Pro na´zornost: Klient: POST /test.cgi HTTP/1.1 Content-length: 10 printf("Content-type: text/plain\n\n"); name=marek Server: HTTP/1.0 200 OK (zde zacı´na´vy´stupˇ z CGI): while ( env[i] != NULL ) Content-type: text/plain printf("%s\n", env[i++]); data odeslana´CGI programem a pro GET: Klient: GET /test.cgi?name=marek HTTP/1.1 return (0); Server: HTTP/1.0 200 OK (zde zacı´na´vy´stupˇ z CGI): } Content-type: text/plain data odeslana´CGI programem Vy´pis c.ˇ 2: Program test.cgi.c Takzˇe metody pˇrenosu ma´me za sebou a ted’ se vra´tı´- me k promenny´mˇ prostˇredı´. Jako hlavnı´na´s bude zajı´mat Jelikozˇse jedna´o C program, stacı´hoˇ pˇrelozˇit a po- REQUEST METHOD. Obsahuje na´zev zpusobu˚ pˇreda´nı´ te´zkopı´rovat tak, aby ho webserver „videl“.ˇ Takzˇe pokud parametru:˚ GET nebo POST. Dalsˇı´je QUERY STRING. jste root, bude to asi (u RedHatu)˚ /home/httpd/, po- Zde jsou v pˇrı´padeˇ GETu umı´stenyˇ parametry pro CGI kud nema´te to sˇtestı´by´tˇ root, ale ma´te to sˇtestı´aˇ jste (jmeno=Marek&prijmeni=Sezemsky). Pokud pouzˇijete uzˇivatel Linuxu, zkuste ve vasˇem domovske´m adresa´ˇri POST, je QUERY STRING pra´zdny´ a parametry jsou necoˇ jako public_html, nebo html. Pote´ stacı´ˇ spus- na stdin (takzˇe pouzˇijete gets()). Zajı´mave´jsou i REMO- tit Lynx nebo Netscape (popˇrı´padeˇ necoˇ z KDE) a na- TE HOST a REMOTE ADDR, ktere´ obsahujı´ jme´no (li- psat URL nasˇehosouborku. Takzˇe u meˇ (ja´== root ;-)) nux.sezi.cz) a IP adresu (10.0.0.1) pocı´taˇ ce,ˇ odkud byl CGI je ulozˇen jako /net/httpd/html/test.cgi a z Lynxe vyvola´n (klient). To se da´vyuzˇı´t v pˇrı´padeˇ logova´nı´za´zna- http://www.sezi.cz/test.cgi. Nenı´to klasicke´ulo- mu˚ o pˇrı´stupech. Toliko ty promenne´,ˇ ktere´pouzˇı´va´m. Po- zˇenı´v /cgi-bin, ale nechce se mi to psa´t tak dlouze. kud si spustı´te moje testovacı´CGI (samozˇrejmeˇ pˇres web U programu si vsˇimneteˇ prvnı´ho vypisovane´ho ˇra´dku. a ne z shellu), spatˇrı´te vsˇechnyhodnoty, ktere´jsou defino- Pokud jste cetliˇ Co je to HTTP a HTML?, tak jisteˇ vı´te, va´ny a ktere´tedy muzˇete˚ pouzˇı´t. Ale pozor na to, zˇe starsˇı´ zˇe Content-type oznacujeˇ co za data to leze ke klientovi. servery, popˇrı´padeˇ servery od Microsoftu˚ nemusı´podporo- text/plain znacı´textovy´soubor,ˇ pokud bychom uvedli vat vsˇe. text/html, jde o HTML soubor. Odesı´lat muzˇete˚ klidneˇ i obra´zek nebo video — to za´lezˇı´na va´s. Nenechte se zmy´lit dvojicı´novy´ch ˇra´dku˚ — po ukoncenı´hlaviˇ ckyˇ dokumentu Knihovna cgihtml MUSI´ na´sledovat pra´zdny´ ˇra´dek, jinak klient nepozna´, kdy koncı´hlaviˇ ckaˇ a zacı´najı´data.ˇ Takzˇe uzˇvı´me, jak se CGI spousˇtı´, jak mu server pˇreda´va´ Zatı´m pouze CGI spousˇtı´me, ale to jisteˇ nestacı´.ˇ Bu- parametry a ruzne´informace,˚ ale poˇra´t nevı´me, jak vydolo- de potˇreba mu nejakˇ pˇredat ony parametry, se ktery´- vat nejake´vˇ programu pouzˇitelne´hodnoty. Ma´me dveˇ mozˇ- mi se bude pracovat. A to pomocı´ formula´ˇre z HTML nosti: bud’ si vytvoˇrı´te (ano, je to na va´s) novou knihovnu, stra´nky. Ve formula´ˇrı´ch jsou vstupnı´ pole (prvky), ktera´ ktera´bude obsluhovat vsˇeod nactenı´vstupnı´chˇ parametru˚ majı´ sva´ jme´na (u parametr name) a hodno- z env[], pˇres kontrolu vstupu, azˇpo upload souboru˚ (ano, ty (value). Ty se do CGI pˇredajı´ jako rozsˇı´ˇrenı´ URL. i to lze pˇres CGI vytvoˇrit). Uzˇasi tusˇı´te, zˇe tohle nebude Takzˇe napˇr program test.cgi na www.sezi.cz s para- cesta, po ktere´se vyda´me. Takzˇe zkuste navsˇtı´vit stra´nku metrem jmeno, ktery´ ma´ hodnotou Marek se spustı´ E.E.Kima, na ktere´si obstara´te knihovnu (1). Ve forma´tu jako http://www.sezi.cz/test.cgi?jmeno=Marek. .tar.gz ma´pouze pa´r desı´tek kB, a to vcetnˇ eˇ dokumentace Pokud bychom meliˇ jesˇteˇ prijmeni s hodnotou Sezem- a pˇrı´kladu.˚ Lze spustit jak pod Linuxem (takzˇe Unixem), sky, pak by URL vypadalo takhle: tak i pod Windows. Behemˇ tˇrı´mesı´cˇ u˚ se mi velice osvedˇ cilaˇ a dobˇre se s nı´pı´sˇoui ty nej-CGI aplikace, mezi ktere´pat- http://www.sezi.cz/test.cgi?jmeno=Marek\ ˇrı´i onen upload. Samozˇrejmostı´je schopnost nacı´stˇ data &prijmeni=Sezemsky z HTML formula´ˇru,˚ a to jak pˇres GET, tak i pˇres POST, da´le obsahuje i pa´r funkcı´obsluhujı´cı´ch HTML, a dalsˇı´. Rozhod- Pokud ale uzˇivatel do formula´ˇre zada´jine´znaky nezˇabe- neˇ inteligentnı´vlastnostı´je ta, zˇe pokud je CGI program cedu a cı´slaˇ (napˇr. ceske´ha´ˇ ckyˇ a ca´rky),ˇ parametry jsou vyuzˇı´vajı´cı´tuto knihovnu spusˇtenˇ z termina´lu (tj. klasicky´ klientem konvertova´ny do podoby , kde XX je hexa- %XX shell, X-Win, MC, ...) pozˇa´da´si o parametry. Po jejich za- decima´lnı´ko´d znaku (dvouznakoveˇ — %01 a ne %1). Ten- da´nı´program prosteˇ jede da´l a nevı´, jestli jede pˇres web, to styl pˇreda´va´nı´parametru˚ (pˇrı´mo v URL) se nazy´va´GET nebo shell. Dobˇre se s tı´m testuje a ladı´, nebod’ webser- (u parametr ). Ma´nekolikˇ nedostatku:˚ ma-

      method ver pˇri chybeˇ v CGI (core dump a pod.) zobrazı´pouze nic xima´lnı´ de´lka vstupu je necoˇ kolem 240 bajtu˚ (nerucı´mˇ neˇrı´kajı´cı´5xx Server error. za spra´vnost) a takovy´to pozˇadavek se objevı´v logu ser- Pra´ce s knihovnou cgihtml je velice jednoducha´a naucı´teˇ veru, cozˇje nevhodne´napˇr. pro pˇreda´va´nı´hesel, cı´selˇ kre- se ji ovla´dat behemˇ hodinky. Knihovna obsahuje nekolikˇ ditnı´ch karet apod. Druhou metodou je POST. Ten odstra- ca´stı´:ˇ nujeˇ oba nedostatky: velikost vstupu je (teoreticky) neo- mezena´(pˇrenesl jsem trochu pˇres 3MB a vsˇebylo v poˇra´d- • cgi-lib: obstara´va´vsˇekolem CGI

      15 Linuxove´noviny 03–04/99

      • html-lib: vsˇekolem HTML (nemusı´te pouzˇı´vat) Ihned na zaca´tkuˇ je vkla´da´nı´ hlavickovy´chˇ soubo- ru.˚ Jeden syste´movy´ a dva z cgihtml. Funkce ma- • cgi-llist: vsˇekolem seznamu CGI parametru˚ (nemusı´te in() pouzˇı´va´dveˇ promenne´:ˇ cgi_data, cozˇje seznam pouzˇı´vat) s CGI parametry a status — na´vratovou hodnotu pro • string-lib: ˇretezceˇ (take´nenı´potˇreba) read_cgi_input(). Vsˇimneteˇ si i konstrukce switch, dı´- ky ktere´muzˇete˚ CGI rozvetvitˇ pˇrehledneˇ a jednodusˇepo- Ze zaca´tkuˇ bude asi nejlepsˇı´nejaky´uka´zkovy´pˇ ˇrı´klad, dle status-u v pˇrı´padeˇ zˇe zna´te mozˇne´poctyˇ parametru˚ ktery´si popı´sˇeme: jdoucı´do CGI. read_cgi_input() totizˇvracı´-1 v pˇrı´- #include padeˇ chyby ctenı´(napˇ ˇr. nespra´vneˇ ko´dovane´parametry), #include "cgihtml/cgi-lib.h" nulu pokud nebyl zada´n zˇa´dny´parametr a ve vsˇechostat- #include "cgihtml/html-lib.h" nı´ch pˇrı´padech pocetˇ parametru.˚ Jako prvnı´se ale vyko- na´vajı´ html_header() a html_begin(). Prvnı´ odesˇle int main() HTTP hlavickuˇ („Content-type: text/html“).Druha´ { zacneˇ HTML dokument s titulkem (cozˇje parametr). Ta- llist cgi_data; kove´„uklı´zecı´“ jsou html_end() a list_clear(), kte- int status; re´ukoncı´HTMLˇ dokument a uvolnı´dynamicky alokovane´ pole uvnitˇr cgi_data. Nenı´na sˇkodusi tyto dveˇ funkce html_header(); definovat jako exit funkce (viz atexit(3)). html_begin("Pokusna stranka"); Pro pˇrı´stup k CGI parametrum˚ pouzˇijeme funkci cgi_val(), ktera´ma´dva parametry: jme´no pole s CGI switch ( status = read_cgi_input(&cgi_data) ) { (cgi_data) a jme´no parametru z formula´ˇre („prijmeni“). case -1: Funkce vracı´textovou podobu parametru: takzˇe pro vola´- printf("Chyba v CGI vstupu
      \n"); nı´ cgi_val(cgi_data, "prijmeni") by hodnota vra´- break; cena´funkcı´byla „Sezemsky“. Da´vejte si pozor i na to, zˇe u read cgi input(), a u list clear() jsou parametry ukazate- case 0: le a u cgi val() a ostatnı´ch nejsou. Dalsˇı´uzˇitecnouˇ funkcı´je printf("Bez parametru
      \n"); i cgi_val_multi(), ktera´vracı´pole hodnot (char **), break; ktere´majı´shodne´jme´no. Doporucujiˇ si i nekdeˇ v programu definovat makro tˇreba CGI, ktere´va´m zjednodusˇı´pˇrı´stup default: k CGI hodnota´m. printf("Pocet parametru: %d.
      \n", status); #define CGI(Name) cgi_val(cgi_data, Name) break; } Toto samozˇrejmeˇ nenı´kompletnı´popis knihovny, ale pro za´kladnı´pouzˇı´va´nı´bohateˇ postacı´.ˇ Pokud ma´te za´jem si html_end(); knihovnu nastudovat celou, stacı´siˇ pˇrecı´stˇ rozsa´hlou do- list_clear(&cgi_data); kumentaci pˇrilozˇenou u knihovny. Nynı´si dodela´meˇ onen pˇrı´klad s formula´ˇrem z cla´nkuˇ return (0); Co je to HTTP a HTML?. Pro shrnutı´: parametry „jmeno“, } „vek“, „pohlavi“, „zajmy“, „inet“ a „pozn“. S temitoˇ para- metry nebudeme pro uka´zku nic delat,ˇ ale dı´ky jazyku C se Vy´pis c.ˇ 3: Program priklad1.cgi.c dajı´snadno ulozˇit do souboru....

      Pa´r ˇra´dek pro neznale´: Knihovnu pˇrelozˇı´te pomocı´pˇrı´- Slozˇitejsˇı´kousky:ˇ upload kazu make v adresa´ˇri knihovny (napˇr. cgihtml-1.69). Ten zkompiluje jednotlive´.c soubory a vytvoˇrı´statickou knihov- Jak na to? Velice snadno. Do formula´ˇre se vlozˇı´tag nu cgihtml.a (necoˇ kolem 50kB), kterou slinkujete s Vasˇı´m CGI programem. Takzˇe pokud knihovna je v podadresa´ˇri cgihtml, pro pˇrelozˇenı´nasˇehopˇrı´kladu stacı´prove´st:ˇ Cozˇv klientovi vyjde jako textovy´ ˇra´dek a tlacı´tkoˇ na vy- $ make -C cgihtml # Zkompletuje knihovnu hleda´nı´souboru. Po stisku odesı´lacı´ho tlacı´tkaˇ se uzˇiva- $ gcc -o priklad1.cgi priklad1.cgi.c\ telem vybrany´soubor prosteˇ posˇleCGI skriptu. Knihovna cgihtml/cgihtml.a cgihtml si jej prosteˇ ulozˇı´do adresa´ˇre definovane´ho z Make- file (stanadartneˇ je to /tmp), a jeho jme´no ulozˇı´do CGI pro- Pro dalsˇı´programy stacı´samozˇ ˇrejmeˇ uve´st pouze dru- menne´.ˇ Takzˇe takova´plna´cesta je „/tmp“+cgi val(cgi data, hy´ ˇra´dek. Pokud va´s desı´velikostˇ vy´sledne´ho .cgi ktera´ko- „soubor“). Pote´stacı´souborˇ pˇresunout, vymazat, zobrazit, luje kolem 40kB, stacı´souborˇ „odstripovat“ pomocı´ strip prosteˇ cokoliv. priklad1.cgi, cozˇsoubor podstatneˇ zesˇtı´hlı´na nejaky´chˇ 13kB, a to je skutecne´nicˇ (nestripujte knihovnu). Takzˇe prvnı´kompilaci ma´me za sebou a muzˇeme˚ program spus- Slozˇitejsˇı´kousky:ˇ postupne´zobrazova´nı´vy´stupu tit. Cinnostˇ programu je opravdu velice minima´lnı´: pou- ze si zjistı´, zda byl spusˇtenˇ s parametry nebo ne, a vypı´sˇe Pˇrı´klad: na sve´webove´stra´nce ma´te instalovany´vyhleda´- na to svuj˚ na´zor. Pˇri spousˇtenı´zˇ webove´ho klienta se jevı´ vac,ˇ ale jeho odezvy nejsou nejrychlejsˇı´, takzˇe si uzˇivatel u´plneˇ norma´lne,ˇ ale zkuste jej spustit z shellu: pˇri vola´nı´ muzˇe˚ myslet, zˇe se nekdeˇ stala chyba (ja´vı´m, je to blbe´, f-ce read_cgi_input() se ohla´sı´dˇrı´ve zminovana´vy´ho-ˇ ale nic jine´ho meˇ nenapadlo). Takzˇe ono vyhleda´vadlo by da cgihtml knihovny: vstup muzˇete˚ zadat rucnˇ e!ˇ Ale dost meloˇ vypsat hlavicku,ˇ aby uzˇivatel videl,ˇ zˇe se necoˇ dejeˇ chva´ly a pojd’me si jej rozebrat ˇra´dek po ˇra´dku. a pote´postupneˇ vyhleda´vane´stra´nky (pokud pujde˚ ˇra´do-

      16 Linuxove´noviny 03–04/99

      #include #!/bin/sh #include "cgihtml/cgi-lib.h" #include "cgihtml/html-lib.h" echo "HTTP/1.0 200 OK" echo "Content-type: text/plain" #define CGI(Name) cgi_val(cgi_data, Name) echo int main(void) echo "Snek.cz:ˇ velice pomal´yvyhledava´ c"ˇ { echo "byl zadan´ dotaz na slovo: linux" llist cgi_data; echo echo "Odkaz #1: http://www.linux.org/" html_header(); sleep 2 html_begin("V´ystupz formula´re");ˇ echo "Odkaz #2: http://www.linux.cz/" sleep 2 switch ( read_cgi_input() ) { echo "Odkaz #3: http://www.linux.sk/" case -1: sleep 2 h1("Chybn´yvstup"); echo break; echo "Nalezeny 3 odkazy" echo "(C) Marek Pomal´y,1999\ case 0: Optimalizovano´ na rychlost." h1("Nelze spoustˇ etˇ CGI bez parametr˚u"); break; Vy´pis c.ˇ 5: nph-search.cgi

      /* jmeno, vek, pohlavi, zajmy, inet, pozn */ Rychlo-sˇkolickaˇ pro Makefile case 6: Marek Sezemsky´, 27. bˇrezna 1999 printf("

      Formula´rˇ pro %%s

      ", CGI("jmeno")); Kdyzˇjsem v Linuxu zacı´nalˇ psa´t vlastnı´programy v ce´c-ˇ /* .... zpracovav´ an´ıvstupn´ıch´udaj˚u...´ */ ku, pro kompilaci stacilˇ jeden ˇra´dek v shellu. Jak jsem za- break; calˇ zpˇrehlednovatˇ (a komplikovat) do vı´ce souboru,˚ bohateˇ stacilˇ script, ktery´natvrdo vsˇezkompiloval a slinkoval. Bo- default: huzˇel je to funkcnı´,ˇ ale pomale´a nepˇrehledne´ ˇresˇenı´. Pro h1("Zkuste kompilace maly´ch i obrovsky´ch (ja´dro, apache, sendmail) spravn´yformul´ a´r");ˇ programu/knihoven˚ se prosteˇ pouzˇı´va´pouze a jedineˇ Ma- break; kefile. } return (0); Jak to pracuje? } Makefile je sa´m o sobeˇ textovy´soubor, ve ktere´m jsou po- Vy´pis c.ˇ 4: Pˇrı´klad formula´ˇre jesˇteˇ jednou psa´ny za´vislosti ruzny´ch˚ souboru˚ na jiny´ch souborech. Pro- gram, ktery´s nı´m umı´zacha´zet se jmenuje „make“. Ten pˇri veˇ o desetiny sekund, tak se nic nedeje,ˇ ale pokud prohle- sve´m spusˇtenı´hleda´vˇ aktua´lnı´m adresa´ˇri soubor Makefi- da´va´te napˇr 10GB :-O, nebo ma´te HODNEˇ pomale´vyhle- le, makefile a nebo GNUmakefile. Pokud jej nalezne, da´va´nı´, muzˇe˚ to by´t i minuta 8-O). CGI by se meloˇ jme- zkontroluje data souboru˚ a podle za´vislostı´v nemˇ defino- novat jako nph-jme´no cgi. Tohle nejspı´sˇza´lezˇı´na serveru, vany´ch provede akci, ktera´pˇrı´slusˇı´te´ktere´za´vislosti. Ctˇ eteˇ ale u Apache je to takto. Tyto soubory pak server inter- da´l, pochopı´te. pretuje postupne.ˇ U Lynxe to asi neuvidı´te, ale na Mozille je to videtˇ (pouzˇı´va´m shella´cky´script, aby bylo videt,ˇ zˇe Forma´t souboru Makefile nepotˇrebujete nutneˇ nejakouˇ knihovnu). Script si ulozˇte tˇreba jako nph-search.cgi a zkuste si jej. Uvedu pˇrı´klad pro vysvetlenou:ˇ pı´sˇeteprogram ktery´pra- Tı´mto bych zakoncilˇ tuto rychlokuchaˇrku pro CGI. Byl cuje s Internetem. Krom programu samotne´ho potˇrebu- to skutecnˇ eˇ jen skromny´text, a zdaleka neobsahuje vsˇe jete knihovnu pro sı´teˇ a uzˇivatelske´rozhranı´. Program je (zvla´sˇteˇ o knihovneˇ cgihtml, bezpecnost),ˇ ale pro za´klad- v main.c, sı´teˇ v net.c a komunikaci s uzˇivatelem obstara´ nı´pouzˇı´va´nı´a sezna´menı´to snad bohateˇ stacı´.ˇ Pokud ma´- gui.c. Existujı´take´halvickove´souboryˇ net.h a gui.h. te nejake´dotazy,ˇ popˇrı´padeˇ pˇripomı´nky, nebo ma´te nejake´ˇ Program pouzˇı´va´funkce z net.c a gui.c, takzˇe si inkluduje proble´my, napisˇtemi na (2). Snad va´m pomuzˇu.˚ i hlavicky.ˇ Makefile pro tento projekt vypada´asi takto: 1 cgihtml # Program (C) Sezi, 1999 http://www.eekim.com/software/cgihtml/ # 2 [email protected] mailto:[email protected] program: main.o net.o gui.o $(CC) -o $@ main.o net.o gui.o main.o: main.c net.h gui.h net.o: net.c net.h gui.o: gui.c gui.h

      17 Linuxove´noviny 03–04/99

      Vytvoˇrte si tento Makefile a vy´sˇezmı´nene´soubory.ˇ Mo- ... endif. Prvnı´je na test definice makra, druhy´porov- hou by´t pra´zdne´, ale main.c musı´obsahovat f-ci main() na´va´vy´razy. Koho to zajı´ma´, necht’ pohle´dne do Makefile (klidneˇ i pra´zdnou). u ja´dra, kde jsou obeˇ podmı´nky a spousta dalsˇı´ho na´zorneˇ Ale ted’ jizˇna Makefile: prvnı´dva ˇra´dky jsou komenta´ˇre pouzˇı´va´ny. Nevysvetlujiˇ to proto, jelikozˇma´lokdo necoˇ z to- (hojneˇ pouzˇı´vejte). Tˇretı´ ˇra´dek popisuje to hlavnı´: na cemˇ ho pouzˇı´va´(kromeˇ Linuse). Ale jejich pouzˇitı´je skutecnˇ eˇ je za´visly´’program’: soubory main.o net.o gui.o. Na´sledujı´cı´ jednoduche´. ˇra´dek je pˇrı´kaz, ktery´se provede pokud bude nektery´sou-ˇ bor novejsˇı´hoˇ data nezˇ’program’. $(CC) znamena´’makro s jme´nem CC’ a $@ se rozvine jako text pˇred dvojteckouˇ Parametry programu make (takzˇe ’program’). Tyto (a dalsˇı´) makra si rozebereme poz- deji,ˇ prozatı´m stacı´vˇ edˇ et,ˇ zˇe $(CC) je jme´no kompila´toru. Ackolivˇ se to nezda´, program make ma´mnoho parametru.˚ POZOR: Pˇrı´kaz v Makefile musı´zacı´natˇ tabula´torem! Po- Jejich pouzˇitı´je vysvetlenoˇ v manua´lu (pod make(1)). Pı´sˇe kud pouzˇijete mezery, make to nezbasˇtı´a posˇleva´s nekam.ˇ se tam sice necoˇ o rozsa´hlejsˇı´dokumentaci, ale popis para- Dalsˇı´ ˇra´dky definujı´za´vislosti jednotlivy´ch .o souboru.˚ Tak- metru˚ v man-u stacı´bohatˇ e.ˇ Abych nezdrzˇoval, popı´sˇujen zˇe pokud ma´te vytvoˇreny soubory vcetnˇ eˇ Makefile, zkuste ty dulezˇit˚ ejsˇı´.ˇ spustit „make“. Pravdepodobnˇ eˇ uvidı´te tyto ˇra´dky: -C

      : pˇred nacı´ta´nı´mˇ Makefile se pˇrepne do adre- sa´ˇre . Pokud je zada´no vı´ce parametru˚ (napˇr: „-C / $ make -C etc“ je to tote´zˇjako „-C /etc“. Pouzˇı´va´se pˇri rekur- cc -c main.c -o main.o sivnı´m vola´nı´make. cc -c net.c -o net.o -f : pouzˇije soubor <file> mı´sto vyhleda´vane´ho cc -c gui.c -o gui.o Makefile. cc -o program main.o net.o gui.o -j : pocetˇ soubezˇny´chˇ procesu˚ — (nejen) pro $ SMP. -n: nevykona´va´pˇrı´kazy, pouze je vypisuje. Jelikozˇmake nenalezl zˇa´dny´z souboru˚ .o, prosteˇ po- -s: tiche´(silent) vykona´va´nı´(nevypisuje pˇrı´kazy). stupoval po za´vislostech a zkompiloval soubory uvedene´ Makefile se samozdˇrejmeˇ nemusı´ pouzˇı´vat pouze pro na poslednı´ch 3 ˇra´dka´ch. Pote´vykonal ˇra´dku ’program’. Po- programy v C/C++, stejneˇ dobˇre zvla´da´i ostatnı´progra- kud zkusı´te zmenitˇ datum u gui.c („touch gui.c“) a opetˇ movacı´jazyky a dalsˇı´funkce, ve ktery´ch se kontroluje za´- spustı´te make, zkompiluje se pouze gui a program se cely´ vislost souboru˚ na casechˇ modifikace, je to opravdu skvela´ˇ slinkuje. pomucka.˚ $ touch gui.c Doufa´m, zˇe va´m tento cla´nekˇ pomohl pˇri pronika´nı´ $ make do programa´torsky´ch za´koutı´Linuxu. Pokud ma´te za´jem, cc -o gui.o gui.c po vstˇreba´nı´techtoˇ informacı´si pˇrectˇ eteˇ dalsˇı´ cla´nek,ˇ ten- cc -o program main.o net.o gui.o tokra´t o automatizaci tvorby Makefile (v Linovy´ch novi- $ na´ch ze srpna a za´ˇrı´. Nynı´si zkuste touch na nejaky´hlaviˇ ckovy´souborˇ (napˇr. net.h) a pote´opetˇ make. Nynı´se jizˇpˇrelozˇı´net.c i main.c, ’ nebot ten je na net.h za´visly´te´zˇ. Nynı´rucnˇ eˇ vymazˇte „pro- Zasma´li jsme se! gram“ plus vsˇechny.o soubory a zkuste „ “. make net.o Pavel Janı´k ml., 1. dubna 1998 Pˇrelozˇı´se pouze net.o a vsˇeostatnı´se necha´na pokoji. Make si totizˇpˇri spusˇtenı´bezˇ parametru˚ vezme prvnı´za´- I v tomto cı´sleˇ jsme nezapomneliˇ na nasˇinejctenˇ ejsˇı´rubri-ˇ vislost a tu zpracova´va´. Parametrem lze ale zadat, kterou ku :-). Tato je ponekudˇ jina´— je kompletneˇ naplnenaˇ ca´stˇ Makefile bude zpracova´vat (net.o). Ale v Makefile ne- pˇrı´spevkyˇ ctena´ˇ ˇru˚ vsˇechmozˇny´ch i nemozˇny´ch konferencı´ musı´by´t uvedeny pouze soubory: zkuste si na konec nasˇe- a hlavneˇ (cozˇmne nejvı´ce tesˇı´)ˇ od va´s, ctena´ˇ ˇru˚ Linuxovy´ch ho Makefile pˇripsat na´sledujı´cı´ ˇra´dky (nezapomenteˇ na ta- novin. Ale zacnˇ eme,ˇ jisteˇ va´s nezajı´majı´vy´levy me´dusˇe,ale bula´tor), rubrika samotna´... clean: Vrhnemeˇ se tedy nejdˇrı´ve do svetaˇ signatur. Michal Sˇafra´nek pravdepodobnˇ eˇ jesˇteˇ zˇa´dnou dı´vku nenasˇel.Procˇ Tab rm -f *.o program si to myslı´m? Inu kdyzˇma´nekdoˇ v signatuˇre na´sledujı´cı´ text, nenı´se cemuˇ divit. a spustit „make clean“. Vymazˇou se soubory vznikle´ kompilacı´. Takzˇe uzˇvı´me, zˇe pokud za dvojteckouˇ nenı´uve- den zˇa´dny´soubor, pˇrı´kaz se provede vzˇdy. Hleda´m dı´vku, ktera´doka´zˇe nakonfigurovat Nynı´zpetˇ k makrum.˚ Makra se definujı´jako jmeno´ = sendmail a nenı´jenom .jpg hodnota a odkazy na neˇ jsou jako $(jmeno)´ . Takove´za´- kladnı´a univerza´lnı´jsou CC (kompila´tor) a CFLAGS (volby (Pozn. redakce: omlouva´me se temˇ dı´vka´m, ktery´m jsem ke kompila´toru). Pokud si napˇr. na zaca´tkuˇ Makefile nasta- ukˇrivdil. Pokud se tak nektera´sleˇ cnaˇ cı´tı´, prosı´m napisˇte vı´te CC na gcc, tak se mı´sto kompila´toru CC pouzˇije GCC. mi:-)) Stejneˇ tak CFLAGS. To samozˇrejmeˇ i pro ˇra´dky, kde to- Windows jsou veˇcne´te´ma...ˇ to makro nenı´uvedeno. Ale pokud se rozhodnete a tato makra pˇredefinujete, tak se v nasˇempˇrı´kladu v sekci „pro- gram“ nebude bra´t v potaz makro CFLAGS, protozˇe nenı´ Vzhledem k drobny´m technicky´m proble´mum˚ uvedeno v pˇrı´kazu. se distribuce nove´ho syste´mu Windows 2000 Da´le fungujı´i pˇrı´kazy include (vlozˇenı´jine´ho soubo- odkla´da´na prvnı´kvarta´l roku 1901. ru), ifdef ... else ... endif a ifeq ... else

      18 Linuxove´noviny 03–04/99

      Customer: “I’ve just installed Windows 98...” Tech Support: “And?” Customer: “The > > What is the newest version of RedHat computer stopped working.” Tech Support: > > Linux? is it 5.2? “You already said that...” > > When will the next version come? > > This newsgroup is for *ANNOUNCEMENTS*, > not questions! > Remember, he just announced that people are *Stupid*.

      Kdyzˇjsem si kompiloval novou verzi balı´ku gettext, trosˇ- ku mne zarazila na´sledujı´cı´hla´sˇka:

      WARNING: Warnings can be ignored. :-)

      No nelekli byste se taky? Je libo novy´operacnı´syste´m?ˇ V konferenci linux-kernel se take´zˇiveˇ diskutovalo (a sta´le jesˇteˇ diskutuje) na te´ma GNU a Linux resp. GNU/Linux apod. Jisteˇ to zna´te... V jedne´z odpovedı´seˇ take´objevil na´sledujı´cı´pˇrı´spevekˇ ty´kajı´cı´se programu /bin/false:

      #!/bin/sh usage="Usage: $0 [OPTION]... Exit unsucessfully. --help display this help and exit --version output version information and exit Report bugs to sh-utils-bugs@.ai.mit.edu" case $# in 1 ) case "z${1}" in z--help ) echo "$usage"; exit 0 ;; z--version ) echo "false (GNU sh-utils) 1.16"; exit 0 ;; * ) ;; esac ;; * ) ;; esac exit 1

      It caught me as a surprise to see that true and false are such a bloats. And even such a simple My operating system unders˜1 long filena˜1, program as false has a bug: try and yours? false --help --version Not that this is a serious bug ;)

      Stano Meduna si vsˇimlzajı´mave´ho threadu v konferenci redhat-announce: A co k tomu poznamenal Linus?

      19 Linuxove´noviny 03–04/99

      If the telephone is such a great idea, why are A zero-length /bin/true does not work reliably, there so few books explaining how to use it? and never has. However, making it do anything but a simple Podobna´odpovedˇ ’: “exit 0” is horrible. Anybody who really thinks /bin/true should report a version number and a help string (or even a copyright notice) There are more books about Windows than needs to get his head examined. about Linux. Yes, the FSF coding style says it should do it. But you should never let rules overrule Autor melˇ signatuˇre napsa´no: common sense — if you do, you end up doing stupid things (this is especially true of the Python: executable pseudo-code; Perl: FSF codingstyle — see the kernel executable line noise Documentation/CodingStyle about some other issues). Jina´odpovedˇ ’:

      A nakonec jsem si nechal velice vtipny´(da´my prominou) Python is just tooooo easy for most tasks. You pˇrı´spevekˇ z konference linux-kernel. Zacaloˇ to nevinne...ˇ really don’t need any books. If you were asked to write a book on it you would be rather With all the recent press about Linux, it’s stuck, other than repeating the excellent texts a good thing Linus’ name isn’t Peter. already out.

      Hans Peter Anvin si nebyl jisty´, jak to autor myslel a tak Jedna z veselejsˇı´ch odpovedı´:ˇ se pta´na duvod:˚ A Dead Python is still more useful than a Perl. And what’s wrong with being named Peter? Thread pokracuje:ˇ A Richard B. Johnson odpovı´da´: A perl script is like a pet alligator. It’s cute If linus was peter, Linux would be called penix? when it’s small, but it keeps growing... :) (just guessing) ;) Zatı´m poslednı´(zajı´mavejsˇı´)ˇ pˇrı´spevek:ˇ

      “Python is the first scripting language good enough to criticise”. :-) Is Python dying? VerosˇKaplan,ˇ 31. bˇrezna 1999 Doufa´m, zˇe se alesponˇ nekdoˇ pousma´l, pokud dojdou nejake´dalsˇı´pˇ ekne´pˇ ˇrı´spevky,ˇ da´m vedˇ et.ˇ I v newsove´ skupineˇ comp.lang.python je obcasˇ veselo. V poslednı´dobeˇ se objevil dotaz „Is Python dying?“. Au- tor pı´sˇe,zˇe ma´ra´d Python, lecˇ nepotkal moc knih o Pytho- nu, pˇrestozˇe existujı´knihy o Perlu, Jave,ˇ C, C++ a dokonce i Tcl/Tk. Pravdepodobnˇ eˇ nejpodstatnejsˇı´dotazˇ z cla´nkuˇ je:

      If Python is such a great language, why are there only 2 books (versus over 60 for Perl) and so few people talking about it?

      Odpovediˇ na sebe nenechaly dloho cekatˇ a nektere´ˇ jsou docela zajı´mave´: (rozhodneˇ nechci zvednout flamewar o tom, co je lepsˇı´)

      Python grew up in Academia, not on UseNet. Perl requires more books (this sounds silly, but... YOU try learning by reading someone else’s scripts :-) There is a wider range of introductory documentation for Python that is freely available.

      Dalsˇı´odpovedˇ ’ na dotaz o kniha´ch znela:ˇ

      20 Linuxove´noviny 03–04/99

      Linuxove´noviny a jejich sˇı´ˇrenı´

      Linuxove´noviny vyda´va´ Ceske´sdruzˇenı´uzˇivatelˇ u˚ operacnı´hoˇ syste´mu Linux (1) pro sve´pˇrı´znivce a sympatizanty. Vlastnı´- kem autorsky´ch pra´v k tomuto textu jako celku je Pavel Ja- nı´k ml. ([email protected]). Autorska´pra´va k jednotlivy´m cla´nkˇ um˚ zusta´vajı´jejich˚ autorum.˚ Tento text muzˇe˚ by´t sˇı´ˇren a tisˇtenˇ bez omezenı´. Pokud pouzˇijete ca´stˇ nektere´hoˇ cla´nkuˇ zde uveˇrejnene´hoˇ v jiny´ch dı´lech, musı´te uve´st jme´no autora a cı´slo,ˇ ve ktere´m byl cla´nekˇ uveˇrejnen.ˇ Linuxove´noviny jsou otevˇreny kazˇde´mu, kdo by chtelˇ na- sˇim ctena´ˇ ˇrum˚ sdelitˇ necoˇ zajı´mave´ho. Pˇrı´spevkyˇ (ve forma´- tu ciste´hoˇ textu v ko´dova´nı´ISO 8859-2) posı´lejte na adresu (2). Autor nema´na´rok na financnı´odmˇ enuˇ a souhlası´s pod- mı´nkami uvedeny´mi v tomto odstavci. Vydavatele´si vyhrazujı´ pra´vo rozhodnout, zda Va´sˇpˇrı´spevekˇ uveˇrejnı´, ciˇ nikoli. Registrovane´zna´mky pouzˇite´v tomto textu jsou majetkem jejich vlastnı´ku.˚ Chtelˇ bych podekovatˇ Fakulteˇ informatiky Masarykovy university v Brne,ˇ INET, a.s., Juraji Bedna´rovi, Milanu Sˇor- movi za poskytnutı´diskove´ho prostoru pro Linuxove´noviny. Linuxove´noviny muzˇete˚ najı´t na akademicke´sı´ti TEN-34 CZ (3), na sı´ti IBM Global Network na adrese (4), na serveru Gymna´zia Vı´denska´vˇ Brneˇ (5) na serveru casopisuˇ Neta´cikˇ (6), ktery´je pˇripojen do slovenske´ho SIXu, pˇrı´padneˇ na ser- veru Mathew (7). Linuxove´noviny jsou k dispozici take´ve forma´tu HTML na adrese (8) nebo take´na slovenske´m serveru (9).

      1 Ceske´sdruzˇenı´uzˇivatelˇ u˚ operacnı´hoˇ syste´mu Linux http://www.linux.cz/czlug 2 Adresa redakce mailto:[email protected] 3 Linuxove´noviny na sı´ti TEN 34-CZ ftp://ftp.fi.muni.cz/pub/linux/local/noviny 4 Linuxove´noviny na sı´ti IBM Global Network ftp://ftp.inet.cz/pub/People/Pavel.Janik/noviny 5 Linuxove´noviny na komercnı´sı´tiˇ CESNET http://www.gvid.cz/linux/noviny/ 6 Slovenske´zrcadlo Linuxovy´ch novin ftp://netacik.sk/pub/linux/cz-noviny 7 Linuxove´noviny — Mathew http://www.mathew.sk/noviny 8 Linuxove´noviny ve forma´tu HTML http://www.linux.cz/noviny 9 Linuxove´noviny ve forma´tu HTML na Slovensku http://noviny.demax.sk/

      Sˇe´fredaktor: Pavel Janı´k ml. mailto:[email protected] sazba: Ondˇrej Koala Va´cha mailto:[email protected] jazykove´korekce: Bohumil Chalupa mailto:[email protected] pˇreklady: HanusˇAdler mailto:[email protected] pˇrevod do HTML: Pavel Juran mailto:[email protected]

      21