LINUXZONE






 >> Hlavní stránka

(1751/28.09.2010)


 >> Administrace

(161/05.08.2010)


 >> Literatura

(312/14.09.2010)


 >> Bezpečnost

(347/17.09.2010)


 >> Programování

(307/19.04.2010)


 >> Distribuce

(98/16.09.2010)


 >> Síťování

(86/03.06.2010)


 >> Lokalizace

(10/15.09.2004)


 >> Aplikace

(176/12.08.2010)


 >> Multimedia

(32/31.03.2006)


 >> Hardware

(45/02.03.2007)


 >> Začínáme

(229/09.09.2010)


 >> Aktuálně

(564/20.09.2010)


 >> RELAX

(213/28.09.2010)


 >> Jinde vyšlo

přehled ostatních serverů




 Coolhousing




Coolhousing - Vas poskytovatel dedikovanych serveru




 Přihlášení




Login:
Heslo:
 uložit v prohlížeči


Nejste-li ješte zaregistrováni, můžete tak učinit zde.





 Vyhledávání




Hledaný výraz:
v klíčových slovech
v titulku
v anotaci
v textu








 Reklama









 Servis




*   Vaše náměty a připomínky
Máte k Linuxzone.cz nějaké připomínky nebo náměty? Našli jste na stránkách chybu? Dejte nám o tom vědět pomocí formuláře nebo v diskuzi.
Komentářů: 60
*   Podpořte Linuxzone.cz
Chcete podpořit náš server umístěním odkazu nebo zveřejněním backendu? Zde najdete vše potřebné.
*   Pište pro Linuxzone.cz
Máte zájem podílet se na obsahu Linuxzone.cz ať už jako redaktoři nebo i jinak? Dejte nám o sobě vědět!





 Aktuálně z bezpečnosti




-- 
6.12.2005, 19:01
Na serveru informit.com vyšla ukázková kapitola týkající se práce s řetězci z knihy Secure Coding in C and C++. (lz)

-- 
3.12.2005, 12:34
Bugtraq: Format String Vulnerabilities in Perl Programs. (lz)

-- 
3.12.2005, 12:32
Linux Advisory Watch December 2nd 2005. (lz)

-- 
23.10.2005, 13:28
Rozhovor na téma klasické zálohování versus CDP. (lz)

-- 
23.10.2005, 13:24
Linux Advisory Watch October 21st 2005. (lz)

další >>





 Aktuálně o software




-- 
6.12.2005, 19:07
Potřebujete-li pod linuxem rozchodit bezdrát založený na čipsetech Broadcom 43xx, konečně existuje linuxový ovladač. (lz)

-- 
6.12.2005, 19:04
Byla uvolněna verze Xen 3.0.0 virtualizační technologie XEN. (lz)

-- 
6.12.2005, 18:59
Byla uvolněna verze X11R6.9/X11R7 RC 3 grafickérho rozhraní X Window System. (lz)

-- 
3.12.2005, 12:45
Co je nového okolo projektu Amanda (open source zálohovací software)? Více na osnews.com. (lz)

-- 
3.12.2005, 12:40
Jak to akuálně v linuxu vypadá s podporou SATA.. (lz)

další >>





 Aktuálně z IT




-- 
3.12.2005, 12:51
Novellu se daří prodej linuxových produktů, oproti loňskému roku se Novell dočkal výrazného nárůstu. (lz)

-- 
3.12.2005, 12:48
Třetí verzi licence GPL by měla být publikována během jara 2007. (lz)

-- 
23.10.2005, 13:20
V Peru nyní mají zákon, který umožňuje nasazení open source software ve vládní správě. (lz)

-- 
23.10.2005, 13:14
Proč se Microsoft bojí Google? (lz)

-- 
27.9.2005, 22:01
Peru má zákon podporující free software. (lz)

další >>





 Nejčtenější články









 Nejlepší články









 Anketa




Používáte nějaké rozšíření bezpečnostního modelu linuxového jádra?

Openwall (17%)

LIDS (11%)

Pax/Grsecurity (3%)

SELinux (6%)

RSBAC (1%)

jiné (1%)

používám standardní jádro (62%)







Linuxzone.cz - server o Linuxu pro programátory, administrátory a fanoušky.
Provozuje společnost Impossible.
ISSN: 1213-8738





Kam se vytrácí UNIX?

Chtěl bych v tomto článku upozornit na to, že nám UNIXy stále více windowsovatí, a zamyslet se nad tím, zda to je nebo není dobré. V příkladech budu odkazovat zejména na některé Linuxové distribuce, protože jiné UNIXové systémy jsem přestal sledovat už před mnoha lety. Nicméně z doslechu vím, že i tam je inklinace k windowsoidnímu myšlení velmi podobná.

S UNIXovými systémy jsem se setkal před asi deseti lety a byl jsem unesen myšlenkovým bohatstvím, otevřeností systému a principy fungování. Mezi základní přednosti jsem řadil princip "v jednoduchosti je síla". Uživateli se nabízel příkazový řádek s obrovskými možnostmi a sada nástrojů -- jednoduchých prográmků, z nichž každý byl utvořen proto, aby dělal jednu speciální věc. A tuto věc dělal dobře. Každý jednotlivý prográmek měl dokonalou dokumentaci: tzv. manovou stránku, ze které se člověk mohl dočíst principy, jak věci fungují, a nikoli jen způsob použití bez hlubšího pochopení pozadí.

Kreativní uživatel dostal v těchto malých prográmcích do rukou neomezené možnosti, protože k dosažení svého cíle mohl rozložit úlohu na jednotlivé podúlohy, na každou z nich vybrat specializovaný program a tyto programy podle potřeby řetězit. Naopak uživatel, který se s počítačem moc nekamarádí a kterému se klepe ruka, když má uchopit myš, byl rovněž nadmíru spokojen. Svou komunikaci s počítačem si mohl napsat do notýsku jako jednoznačné textové pokyny, které mu administrátor jednou pro vždy nadiktoval. Například chci poštu: "za login: napíšu své jméno, Enter, objeví se Password:, napíšu heslo, Enter, objeví se $. Napíšu pine, Enter, pak I a šipkami se posunuji v nabídce pošty. Enter pro prohlížení dopisu, R pro odpověď, C pro nový dopis a I zpět k nabídce...". Takový uživatel navíc nemusel mít obavu, že něco pokazí, protože na zprovoznění a udržování systému měl svého administrátora, který si samozřejmě heslo roota nechal pro sebe. Po zprovoznění systému se administrátor o věc příliš starat nepotřeboval. Největším nebezpečím laického uživatele byla možnost, že si vymaže poštu nebo jinou svou práci, kterou ještě bude potřebovat. Kdyby se to přeci jen stalo, mohl se obrátit na svého administrátora, který by nejprve příkazy grep, find a jim podobnými zjistil, zda se ta informace třeba jen někam nezatoulala. Pokud ne, pak by to vytáhl ze záloh, z jakýchsi pásek, o nichž uživatel nemusel mít nejmenší tušení. O principech automatu, který si administrátor na zálohování přes síť vymyslel, nemusel rovněž uživatel vůbec nic vědět. Uživatel se pouze mohl poněkud podivit, že administrátor na řešení problému s počítačem na jeho stole nemusí zvednout zadek ze židle v administrátorské pracovně a všechno řeší z jediného místa. Ale i na tyto podivnosti si uživatel velmi brzo zvykl. Často také uživatel měl (aniž by to potřeboval vědět) na svém stole jen levný terminál. Hardwarové či softwarové upgrady dělal administrátor jednou za čas na aplikačním serveru pro všechny uživatele na pracovišti naráz.

Asi je zřejmé, proč jsem věnoval tolik místa na popis ideální symbiózy mezi uživatelem a administrátorem. Domnívám se, že pro takovou symbiózu byl původně UNIX navržen. Dnes se ovšem počítače prodávají jako tzv. "osobní" (zkratka PC) a to je tragédie jednak pro laické uživatele, kteří počítačům nechtějí rozumět, a jednak pro administrátory, kteří musejí tato PC u uživatelů cyklicky a neustále zprovozňovat. Na otázku, co s tím uživatel udělal, že to nefunguje, dostane administrátor odpověď typu: "já přesně nevím, kliknul jsem na takový obrázek, teď už ho tu nevidím, taky se objevilo jakési okénko, to už tady taky není...". Že by administrátor mohl napsat history a podívat se, co jednoznačně uživatel páchal, o tom si musí nechat jenom zdát. Tápající uživatel, který není schopen rekonstruovat svou činnost a může ve svém systému nadělat velké škody, společně s nevrlým administrátorem, který je odsouzen k tupému klikání myší bez tvůrčí iniciativy a k neustálému instalování systému znova a znova, tak to je konstelace, kterou určitě nezávidíme ani jednomu ze zúčastněných.

Architekti strategie osobních počítačů zřejmě měli na mysli, že softwarové vybavení bude mít tak intuitivní uživatelské rozhraní, že veškerou činnost s počítačem zvládne kdokoli bez pomoci administrátora. Důsledky této strategie jsou katastrofální. Většina složitosti používaného softwaru se zaměřuje na to, aby byl použitelný laickým uživatelem, a původní poslání, které má ten software řešit, se jaksi vytrácí. Dokumentace k tomu, jak to vlastně funguje, buď neexistuje nebo je velmi těžko dostupná. Myslím si, že je čas, abych začal být konkrétní.

Uživatelům notebooků na našem pracovišti jsem doporučil instalovat jednu novodobou linuxovou distribuci (nebudu jmenovat). Kromě laických uživatelů tu máme ještě takové, kteří získali určité zkušenosti s klikáním v dialogových okénkách a pak tu jsem já přes UNIXy. Takže tu máme laiky, klikače a UNIXového administrátora. Laik samozřejmě není ochoten distribuci instalovat a nikdy nebude, třebaže se instalace distribuce snaží být co nejpřítulnější. Naštěstí to zvládli klikači, které musel laik o tuto práci požádat. Pak ale narazili na problémy. Problémů bylo více, ale zastavím se pro ilustraci jen u jednoho z nich. Klikači nebyli schopni rozjet tiskárnu, která ve staré verzi linuxové distribuce fungovala. Kdysi jsem ji zprovoznil svými vlastními skripty spouštěnými na úrovni tiskového démona. Řekl jsem si, že když ta nová distribuce chce být tak přítulná, pak by to měli ti klikači zvládnout (že by to měl zvládnout samotný uživatel laik jsem samozřejmě nepředpokládal). Když už klikači řešili problém několik dní, přišli mi předvést, jak to dělají. Na obrazovce se objevovaly a zase mizely jakési obrázky a dialogová okénka. Principy, podle kterých to funguje, nebyly vůbec k dohledání. Několikrát zopakovali tanec s těmi okénky, a tiskárna pořád tiskla nesmysly. Nic více dělat nemohli.

Tak jsem je požádal o příkazový řádek a začal zkoumat, jak to funguje. Byl jsem zhrozen. Tiskový démon volal asi pětsetřádkový skript, jehož činnost nebyla nikde dokumentovaná! Číst ten skript a laborovat s tím, co dělá, bych sice mohl, ale ztratil bych tím plno drahocenného času. Tak jsem na ten skript aplikoval rm. Skřípal jsem zuby, když se mě to ptalo "opravdu ten skript chcete vymazat?". Že se implicitně předpokládá, že root je duševně méněcenný, a proto se mu aliasuje rm na rm -i, mě mírně znepokojilo. Když napíšu rm, mám na mysli rm, nebo si autoři distribuce myslí, že ne? Odkud asi tyto móresy přicházejí? Po úspěšné anabázi s mazáním skriptu jsem jej nahradil svým jednořádkovým skriptem, který volá Ghostscript s příslušnými parametry, a tiskárna se rozjela.

Jiná příhoda. Jsem zvyklý používat na prohlížení textových souborů less. Ve zmiňované "novodobé" distribuci jsem se chtěl podívat do fontu *.pfa pomocí less a neviděl jsem lautr nic. Po chvíli pátrání jsem objevil, že novodobý less má zapnutý preprocesing, který je realizován několikasetřádkovým skriptem. Ten skript se snaží přijít na to, jakého typu prohlížený soubor je, a podle toho jej textově zobrazit. V případě fontu *.pfa se ten skript domníval, že to je PostScript (podle prvních dvou znaků v souboru "%!") a poštval na to program ps2ascii. Osobně nenávidím programy, které se snaží být chytřejší než uživatel. Popisovaný skript se o to zjevně snažil. Okamžitě jsem jej samozřejmě zlikvidoval. Programy mají dělat jen to, na co jsou určeny, a nefušovat do cizího! Když bych chtěl číst obsah PostScriptového dokumentu na terminálu, napíšu ps2ascii file.ps | less, zatímco pokud se chci podívat, jak je ten PostScript udělaný, napíšu less file.ps. To přeci dopředu ten less nemůže vědět, co mám jako uživatel za lubem!

Momentálně se snažím zprovoznit nový aplikační server, jehož aplikace a často i celé Window managery budou promítány na X terminálech. Myslel jsem si, že se pomocí dokumentace něco dozvím třeba o KDE, abych mohl jako administrátor modifikovat a kontrolovat implicitní nastavení při prvním spuštění uživatelem. Manové stránky nikde. Html stránky generované z docbooku existují, ale dokumentují chování prostředí z pohledu uživatele a ne administrátora. Není tam psáno, jaké mají programy volby příkazového řádku, s jakými konfiguračními soubory spolupracují a v jakém jazyku ty konfigurační soubory jsou psány. Není nikde psáno, co se při prvním startu kopíruje do domovského adresáře uživatele, kam se to kopíruje a jak to funguje. Pravda, html stránky jsou na rozdíl od manových stránek hypertextové, ale pokud v nich není požadovaný obsah, jsou administrátorovi k ničemu. Ne náhodou mají manové stránky pevně volenou strukturu a nutí programátora sdělit v nich podrobnosti, jak spolupracuje jeho program se systémovým prostředím. Zdá se mi to tisíckrát lepší, než zmíněné html stránky o ničem. Co dělá startkde? Jaké má volby? Jak fungují démoni, kteří jsou při spuštění startkde inicializováni? Jaké mají volby? To se z dokumentace administrátor nedozví, ledaže by četl zdrojové kódy KDE. Takto špatně dokumentovaný program by před deseti lety nikoho nenapadlo ani zveřejnit.

Jak vidíte, osobně dávám přednost dobře dokumentovaným malým a jednoduchým programům před nedokumentovanými obludami, které se snaží být inteligentnější než uživatel, kde jen výrobce či autor možná ví, co to dělá. Oč by byl život jednodušší, kdyby energie vývojářů směrovaná na vymýšlení automatů, co za jistých okolností udělají něco samy bez nutnosti, aby uživatel o tom věděl, byla raději přesměrována na dokumentování toho, jak věci fungují a co je třeba udělat. Uvedu další příklad.

Čistě z principiálních důvodů jsem se začal jednou zajímat u jednoho dodavatele tiskáren, jak si to představují, když na svých letácích píší, že jejich tiskárna podporuje (mimo jiné) Linux. Očekával jsem, že se dozvím, jak jejich softwarová podpora spolupracuje s Ghostscriptem a jak to mají udělané. Chyba lávky. Dozvěděl jsem se, že mají tzv. "ovladač", který funguje v Mandrake verze té a té, RedHatu verze té a té a v SuSE verze oné. To mi připadalo jako neúplná informace, tak jsem si ten "ovladač" stáhl a začal jej zkoumat. Po rozbalení staženého tar.gz se objevilo README a skript install. README pouze říkalo, že se má spustit install. Podíval jsem se tam, a vidím, že po prvních asi 50 řádcích pokračuje binární smetí. Z těch úvodních řádků zjišťuji, že to binární smetí je ve formátu tar.gz a že jde o to rozbalit a spustit jakýsi program. Mám rád věci pod vlastní kontrolou, tak jsem odmazal těch 50 řádků, zbytek nazval tar.gz a aplikoval zcat | tar. Rozbalil se adresář s binárním instalačním programem a vedle byl rpm balíček. Dáreček byl tedy dodán ve třech obalech! Jen tak z recese jsem zkusil spustit ten instalační program. Vyštěklo na mě grafické okénko, které hned spadlo a program prohlásil, že musím být root, abych mohl pokračovat. Odmítám spouštět jako root nedokumentované programy, u nichž nemám žádnou jistotu, co udělají. A co by si ten program počal, kdybych zrovna neměl nahozená X11? Tato koncepce mi připadala velmi windowsoidní. No nic, podíval jsem se do toho rpm pomocí rpm2tgz a studováním skriptů jsem zjistil, že podstatou slavného "ovladače" je binární program linkovaný s libc.so.6, který na vstupu čte výstup z gs -sDEVICE=ppmraw a svůj výstup (zřejmě interní jazyk tiskárny) posílá na tiskárnu. Kdyby byl v balíčku připojen jen tento program a tato informace, bylo by vše jasné a každý by s tím naložil podle své potřeby. Ukázalo by se, že to není použitelné jen ve vyjmenovaných distribucích a jejich verzích, ale na každém i386 Linuxu s knihovnou libc.so.6 a že pro instalaci ani provoz nepotřebuji mít funkční grafiku.

Na závěr si neodpustím poznámku o bootu počítače s novodobými distribucemi. Chápu, že rozdělení bootovacích skriptů na systém linků v jednotlivých runlevelech umožňuje jednotlivým balíčkovacím programům zařazovat a mazat z bootovacího procesu skripty nahazující potřebné démony bez nutnosti, aby tomu uživatel rozuměl. Ale to je přesně to, co se mi nelíbí. Domnívám se, že je jednodušší a vůči uživateli férovější napsat do dokumentace: "chcete-li spustit náš program, pak v příkazovém řádku napište to a to a chcete-li, aby věc fungovala hned po bootu, napište si do rc skriptů jeden řádek vypadající takto". Každý si pak vědomně a pod vlastní kontrolou zařídí, aby to po případném bootu bylo nahozeno. Když pak program chce odinstalovat a případně zapomene na zásah do rc skriptu, pak se neděje žádná tragedie: píše mu to na obrazovku "file not found" a on si asi rychle vzpomene, kde je problém. Představte si to, jak věc může být přehledná a hlavně jednoduchá, pokud máme celý bootovací proces v jednom nebo dvou skriptech a ručně tam přidáváme nebo odebíráme řádky. Cílem bootu je namontovat filesystémy, konfigurovat zařízení a nahodit démony. To se dá udělat velmi rychle a jednoduše, zatímco velebné vypisování vzkazů OK (obvyklý boot v běžných distribucích) a spouštění démonů pomocí zbytečně složitých skriptů trvá asi desetinásobný čas. U starých 486, které používám hlavně jako X terminály, bych se bootu se vzkazy OK vůbec nedočkal v rozumném čase. Stejně tak vypínání počítače lze provést rychle: poslat všem procesům signál 15, pak těm houževnatějším signál 9, pak odmontovat filesystémy a napsat: system halted. To běžně trvá dvě vteřiny, zatímco vypínání s postupným shazováním démonů a vypisováním vzkazů OK trvá kolem dvaceti vteřin. Kolik zbytečně promarněného času už strávilo tisíce uživatelů při čekání na možnost vypnout svůj počítač!

Když jsem v poslední době viděl, jak počítač při bootu promítá na obrazovce jakési zbytečné hýbací obrázky, aby "potěšil a zabavil uživatele", udělalo se mi už hodně špatně. Domnívám se, že toto napodobování windowsoidní filosofie v UNIXu je cesta do pekel.

UNIX byl navržen před třiceti lety jako jednoduchá alternativa k tehdy vyvíjenému a zbytečně složitému systému Multics. Ostatně to je slyšet i v názvu tohoto systému. Společně k UNIXu neoddělitelně patří jazyk C a zvládnutí programovacích principů tohoto jazyka teprve umožní hlubší pochopení principů UNIXu. To od laického uživatele nemůžeme očekávat. Nechme tedy laickým uživatelům možnost pracovat s rozhraním, jaké jim připraví jejich administrátoři, a zaměřme se na dokonalou dokumentaci pro administrátory. Chceme-li spotřebitelům IT nabídnout alternativu k Microsoftímu softwaru, nemůžeme se snažit jim za každou cenu nabízet něco, co už v Microsoftím pojetí dávno znají. Ponechme, prosím, i dnešním systémům UNIX svou jednoduchost a přímočarost. Právě v tom je jejich síla.

Autor: Petr Olšák, 09. 04. 2002, 00:00
Sekce Aktuálně, Komentářů: 33
Průměrné hodnocení: 0,13

o Poslat e-mailem
o Tisk článku
o Uložit do profilu


 Přispějte nám




Líbil se Vám tento článek? Můžete ho ocenit zavoláním na tel. číslo 906 460 134.
Cena hovoru za 1 minutu je 46 Kč.





 Hodnocení článku




Článek hodnotím jako:  [1] výborný   [2] dobrý   [3] průměr   [4] špatný   [5] hrůza  





 Komentáře




--

:(){ :|:& };:, 01. 10. 2007 16:34
Vyborny clanek












--

Martin Podhola, 19. 10. 2005 10:47
Pro autora:












--

Dejf, 23. 05. 2002 21:48
Vec je relativni












--

UNIX, 13. 05. 2002 14:37
UNIX UNIX












--

ZW, 24. 04. 2002 15:01
Nemám rád WinLinux












--

sasa, 24. 04. 2002 13:53
pro adminy i pro bfu












--

xChaos, 17. 04. 2002 23:49
Autor ma v podstate pravdu












--

Mti, 15. 04. 2002 14:38
Opravdu to chce












--

jaro, 12. 04. 2002 18:37
aj oni uz maju...:-)












--

vrsansky, 12. 04. 2002 10:37
moj nazor












--

Zz, 11. 04. 2002 13:32
pekny clanok ale!












--

burlog, 11. 04. 2002 11:22
To: Peter












--

Peter, 11. 04. 2002 10:09
To: Burlog












--

Petr Olsak, 10. 04. 2002 18:33
Re: otazka pro autora












--

Burlog, 10. 04. 2002 10:38
Otazka pro autora












--

BruXy, 10. 04. 2002 08:42
to Ad boot a halt












--

tomash01@volny.cz, 09. 04. 2002 23:48
poznamky autorovi - sqely clanek












--

L.Lunak, 09. 04. 2002 18:52
TO: Jan Spurny












--

L.Lunak, 09. 04. 2002 18:45
TO: Jan Spurny












--

L.Lunak, 09. 04. 2002 18:42
Test












--

Peter, 09. 04. 2002 16:17
Ad boot a halt












--

Jan Spurny, 09. 04. 2002 11:12
windowsovateni neni nezbytne












--

mity, 09. 04. 2002 10:35
nabidka a poptavka












--

L.Lunak, 09. 04. 2002 10:33
Autor se na to diva nejak divne












--

Lukáš Tinkl, 09. 04. 2002 10:01
Ad: neexistence dokumentace ke KDE












--

Luk, 09. 04. 2002 09:24
Prakticky vzato...












--

Zdenek, 09. 04. 2002 08:28
LFS












--

Karel, 09. 04. 2002 07:45
Nebude to tak spatne... :-)












--

Pavel Janík, 09. 04. 2002 07:34
ad distributoři












--

Kare, 09. 04. 2002 07:07
Je to v poriadku.












--

Frn, 09. 04. 2002 06:45
Podle me je to spravny vyvoj












--

petrch, 09. 04. 2002 01:13
ale jak na to? :)












--

Petr Pechacek, 09. 04. 2002 00:15
Problem Windowsovani















PŘIDAT KOMENTÁŘ ZOBRAZ VŠE >>










2002 © Impossible, s.r.o.   >> Kontaktujte redakci >> Právní upozornění >> Reklama