Internetovy kurz zakladu operacniho systemu Linux

Obsah
1. Uvod
2. Instalujeme Linux
3. Zakladni orientace v systemu
3.1 Zakladni prikazy pro praci se soubory
3.2 Struktura adresaru
4. Sprava uzivatelskych kont
5. Montuji, montujes, montujeme
5.1 Prikazy mount, umount
5.2 Soubor fstab
6. Baliky
6.1 Instalace, ruseni a upgrade baliku v systemu RedHat Linux
6.2 Instalace, ruseni a upgrade baliku v systemu Debian GNU/Linux
6.3 Instalace baliku tar.gz
7. X-Window
7.1 Konfigurace XServeru
7.2 Spravci oken (Window Managers)
7.3 Konfigurace Window Manageru FVWM2
8. Nastaveni tiskarny
8.1 Soubor printcap
8.2 Rizeni tiskove fronty
9. Prikazove interpretery (bash, tcsh)
10. Zavadec systemu LILO
11. Kompilace jadra
11.1 Priprava prekladu jadra
11.2 Konfigurace a praklad jadra a modulu
12. Linux na siti
12.1 Protokol TCP/IP
12.2 Ethernet
12.3 PPP - Modemem do sveta
12.4 PLIP - Domaci paralelni minisit
13. M$-DOS a M$-Windows pod Linuxem
14. Pocesteni Linuxu
14.1 Konzola
14.2 XWindow


1. Uvod

Co je to Linux?
Na domovske strance systemu Linux na Helsinske univerzite se muzeme
docist, ze jde o "implementaci specifikace POSIX s rozsirenimi BSD a
System V". Receno lidsky, jde vlastne o Unix napsany od zakladu znovu.
Autorem prvnich jader a nyni vedoucim vyvoje jadra je Linus Torvalds,
ktery si "pry" chtel jen vyzkouset, jak funguje chraneny mod procesoru
Intel 80386.

Procesory firmy Intel nejsou, samozrejme, jedinou platformou, na ktere
v soucasne dobe Linux bezi. Podporovany jsou i procesory Motorola
(Apple, Amiga, Atari), DEC Alpha, SPARC, MIPS a mnoho dalsich.

Operacni system Linux je siren pod licenci GNU General Public Licence,
ktera umoznuje jak volne sireni tak i komercni vyuziti. Kazdy uzivatel
ma podle teto licence tez narok na zdrojovy kod. Presne zneni teto
licence muzete najit na adrese "ftp://prep.ai.mit.edu/pub/gnu/COPYING".
Pokud date radeji prednost ceskemu prekladu, hledejte na adrese
"http://www.freesoft.cz/gplcz.html".

Pod pojmem "operacni system" se ale vetsinou nemysli jen hole jadro,
ale cely soubor programovych baliku, ktere teprve daji celemu systemu
urcitou funkcnost. Tento soubor baliku se nazyva distribuce a takovych
distribuci zalozenych na Linuxu je cela rada. Vzajemne se lisi
velikosti a rozsahem poskytovanych sluzeb. Vetsinou muzete najit
distribuce oznacovane jako "velke" (RedHat, Debian GNU/Linux, Caldera,
a dalsi), ktere pokryvaji siroke spektrum sluzeb, nebo distribuce
"male" (Monkey, Yggrasil, ...), ktere se velikosti vejdou na nekolik
malo disket a byvaji urceny k jednomu specialnimu ucelu (vetsinou
pripojeni k internetu).

Kde sehnat Linux?
Bohuzel, na uzemi Ceske Republiky se Linux siri zatim prevazne po
sitich. Postupne se ale objevuji firmy, ktere prodavaji ruzne
distribuce.
Samozrejme, diky tomu, ze je system Linux volne siritelny, je mozne
nalest ruzne distribuce na mnoha mistech Internetu. Kde tedy muzete
jednotlive distribuce nalezt?

Primarnim serverem distribuce RedHat je server (jak jinak)
"http://www.redhat.com". Tato distribuce je v Ceske Republice
zrcadlena napriklad na serveru fakulty informatiky brnenske Masarykovy
Univerzity "ftp://ftp.fi.muni.cz" nebo na serveru matematicko-
fyzikalni fakulty prazske University Karlovy
"ftp://sunsite.mff.cuni.cz". Tuto distribuci je tez mozno sehnat
(trochu paradoxne) v knihkupectvich s technickou literaturou. RedHat
Linux je velmi vyspela distribuce obsahujici sofistikovany system pro
spravu instalovanych baliku.

Distribuci Debian GNU/Linux je primarne mozno nalezt na serveru
"http://www.debian.org" nebo na nekterem zrcadle, z nichz nejblizsi je
nemecky server "http://www.de.debian.org" nebo rakousky server
"http://www.au.debian.org". Oficialnim zrcadlem v Ceske Republice je
server "http://www.debian.cz", kde je tez mozne najit mnoho informaci
o pocestovacich (resp. poslovenstovacich) snahach. Dalsim zrcadlem je
napriklad server Zapadoceske university "ftp://ftp.zcu.cz" nebo tez
server "ftp://sunsite.mff.cuni.cz".
Distribuce Debian GNU/Linux je podobna RedHatu. Je trochu vetsi (verze
2.1 obsahovala kolem 2500 baliku) a taktez obsahuje system pro spravu
baliku. Zajimavosti je, ze za touto distribuci nestoji zadna firma,
ale skupina dobrovolniku. Z toho tez vychazi motto teto distribuce:
"Users for users" (neco jako "Narod sobe").

Domovske stranky distribuce Slackware jsou umisteny na serveru
"http://www.slackware.com", samotnou distribuci tam ale nenajdete. Ta
je primarne umistena na serveru "ftp://ftp.cdrom.com". Distribuce je
zrcadlena napriklad na serveru Zapadoceske university
"ftp://ftp.zcu.cz" nebo na serveru "ftp://ftp.fi.muni.cz". Tato
distribuce je jedina, kterou je mozne instalovat i na DOSovky oddil.
Je proto zakladem mnoha malych distribuci (jako napriklad Monkey).
I tato distribuce obsahuje system pro spravu baliku. Neni vsak tak
kvalitni jako u predchozich dvou distribuci.

Vyse zminena distribuce Caldera je komercni. Pokud se ale chcete neco
dozvedet i o teto distibuci, zkuste adresu "http://www.caldera.com".

Linux v Cechach
Uz v uvodu byla zminena jedna ceska adresa a to
"http://www.freesoft.cz". Je to adresa Ceske nadace pro podporu free
softwaru.
I v Cechach ma Linux svou domovskou stranku. Je na adrese
"http://www.linux.cz". To je tez velmi dobre misto, pokud hledate
dokumentaci, programy, nebo se chcete s Linuxem jen trochu seznamit.
Funguje tez Ceske sdruzeni uzivatelu Linuxu (se strankami na adrese
"http://www.linux.cz/czlug"), ktere vydava magazin "Linuxove noviny"
(archiv na adrese "http://www.linux.cz/noviny").
Pokud jde o dokumentaci, vrele doporucuji server
"http://www.penguin.cz", kde jsou shromazdovany odkazy na dokumenaci
nejen k Linuxu, ale i k dalsim unixovym systemum.
O tom, ze free software nekvete jen v unixovych systemech se muzete
presvedcit na strance "http://www.gnu.cz", kde najdete recenze
nekterych volne siritelnych programu.


2. Instalujeme Linux

Instalace systemu Linux
Kdyz uz jsme konecne sehnali vsechno potrebne a pripravili fyzicky i
dusevne sebe i pocitac, muzeme zacit instalovat. Distribuce Linuxu
je mozne instalovat nekolika zpusoby. Muzeme instalovat z CD (coz je
asi nejbeznejsi), z disket (to bych rad videl :-) nebo i ze site
(i Internetu) pomoci protokolu FTP nebo NFS. Muzeme instalovat
i z disku (coz predpoklada, ze se nam na nej podarilo nejakym zpusobem
cast nebo i celou distribuci dostat).

Pokud instalujeme z CD, mame na vyber tri zpusoby, jak spustit
instalaci. To vetsinou zavisi na kvalitach naseho pocitace.
Prvni a nejjednodussi moznosti je bootovatelne (startovatele,
zaveditelne) CD. To ale predpoklada novejsi pocitac s BIOSem, ktery
tuto moznost podporuje (a to neni muj pripad).
Druhou moznosti je pouzit pripravene jadro a DOSovsky zavadec, ktery
byva na CD prilozen (na oficialnich CD urcite). Zavadec se jmenuje
"loadlin". Protoze ale pozaduje mnoho parametru, byva vetsinou
pripravena davka, ktera zavadec (a tim i instalaci) spusti.
V distribuci RedHat to je soubor "autoboot.bat", ktery najdete
v adresari "\DOSUTILS". V distribuci Debian je to adresar "\INSTALL"
a soubor "boot.bat".
Bohuzel ne vsechna CD jsou organizovana stejnym zpusobem. Informace
o adresarich tedy berte s rezervou. Uvedene programy by tam ale nekde
byt mely.
Treti moznosti (a jedinou, pokud chceme instalovat ze site) je
vytvoreni startovacich disket. Na CD a na distribucnich serverech byva
program "rawrite" spolu s obrazy (imagemi - hezka anglicka zkomolenina)
disket. V CD distribuci RedHat (mozna i dalsich) jsou to adresare
"\DOSUTILS", kde je program "rawrite.exe", a "\IMAGES", kde jsou
obrazy disket. V distribuci Debian 2.1 jsou potrebne programy a obrazy
ulozeny v adresari "\DISTS\SLINK\SLINK\DISKS-I3" nebo na CD v adresari
"\INSTALL". V prvnim adresari je kompletni soubor obrazu pro instalaci
z disket nebo ze site, v druhem je pouze to nejnutnejsi pro instalaci
z CD.

Kompletni postup instalace zde uvadet nebudu, protoze by to bylo
dlouhe a myslim, ze i zbytecne, nebot vetsina distribuci ma instalacni
program velmi dobre zpracovan. Zamerim se tedy jen na kriticka mista.

Prvnim kritickym mistem je urcite zalozeni oddilu pro Linux. V praxi
se doporucuje zalozit i swapovaci oblast a to cim vetsi, tim lepe.
Linux sice umi swapovat do souboru, ale je to pomalejsi. Maximalni
velikost jednoho swapovaciho oddilu je 128 MB, pricemz je mozno mit
az 256 oddilu. Vetsinou staci 8 az 64 MB podle predpokladaneho
zatizeni pocitace. Pokud mate vice jak 32 MB RAM, nemusite oddil
zakladat. Ja osobne bych doporucil 16 MB swapovaciho prostoru na
jakemkoliv pocitaci.
Nezapomente priradit oddilum spravny typ, tedy "Linux Native" nebo
"Linux" (cislo 83h mam takovy pocit) pro hlavni oddil a "Linux swap"
(cislo 82h) pro swapovaci oddil.
Ke kazdemu oddilu jeste budete muset uvest misto, kam se ma pripojit.
To se tyka hlavne systemu RedHat. V systemu Debian jste na to dotazani
dodatecne. Nutny je jeden oddil, ktery se bude pripojovat jako koren
("/" - lomitko). Pokud mate oddilu pro Linux vice, muzete jim
priradit dalsi cesty (treba "/usr", nebo "/home"), ale neni to nutne.
Cestu muzete priradit dokonce i oddilum jinych systemu. Takze si
treba pripojite DOSovsky oddil do adresare "/mnt/DOS". Tyto informace
se nezapisuji primo na disk, ale do specialniho souboru, o kterem
si povime nekdy priste.

Jednim z bodu instalace je nastavovani casoveho pasma. Neni az takovy
problem zvolit "Europe/Prague" (pripadne "Bratislava"), ale jedna
otazka pozaduje trochu vysvetleni. Byva pobliz tohoto dialogu a je u
ni zaskrtavaci policko. Je to neco jako: "Chcete zmenit cas na GMT?"
nebo "Nastavit HW hodiny na GMT?".
Linux totiz umi nastavit vnitrni hodiny na GMT (Greenwich Mean Time)
a pak mistni cas dopocitava. To je samozrejme velmi nevyhodne, pokud
vam na pocitaci soucasne s Linuxem bezi i DOS nebo Windows. Abych se
priznal, nikdy jsem neprisel na to, co ta otazka presne znamena, ale
vzdycky se mi podarilo odpovedet spravne.

Dalsi zadrhel se vyskytuje jen v instalaci Debianu. Je to v momente,
kdy muzete vybrat ovladace, ktere bude jadro pro spravnou funkci
potrebovat. Jsou tam mysi, CD-ROMky, sitove karty a ruzne jine veci.
Otazkou je, ktere vybrat. U sitovych karet je to jasne (tedy pokud
zname typ karty), problem nastava u zminenych CD-ROMek a mysi. Vsechny
ovladace pro CD-ROMky jsou totiz pro starsi typy, ktere potrebovaly
vlastni radic. Mate-li tedy CD-ROM pripojenou na (E)IDE nebo SCSI,
nemusite se timto vyberem zabyvat. Stejne tak uvedene mysi jsou
starsiho data a ovladac pro mysi, ktere se pripojuji pres seriovy
port, je uz obsazen v jadre.

A dostavame se k poslednimu zadrhelu a tim je volba baliku, ktere se
maji instalovat. Zde vede system RedHat, nebot ma baliky dostatecne
jemne roztridene do kategorii a take jich neni tolik jako v Debianu.
Vyber baliku je dostatecne jednoduchy a ke kazdemu baliku je dostupny
popis.
V distribuci Debian GNU/Linux je situace trochu slozitejsi, nebot
cela distribuce zahrnuje kolem 2500 (slovy dva a pul tisice) baliku.
Instalace tedy nabizi vyber skupiny baliku, ktere se budou instalovat
(Basic, Development, Office ...) a teprve potom je prikroceno k
vyberu jednotlivych baliku. Vybira se ze vsech, ale drive vybrana
skupina je uz oznacena. Pro zacatek je tedy vhodne vybrat nejakou
skupinu baliku a dalsi krok jednoduse preskocit.
Nejvetsi problemy patrne uzivateli v tomto bode zpusobi distribuce
Slackware, ktera sice ma baliky roztrideny do nekolika skupin podle
funkce, dovoluje i zvolit programy podle ucelu pocitace ("Server" nebo
tak neco). Problemem je ale volba jednotlivych baliku. Instalacni
program totiz vubec nehlida, jsou-li pro funkci programu nainstalovany
vsechny baliky a muze se vam velmi jednoduse stat, ze zapomenete
nejakou nutnou knihovnu.

Tim jsme prosli vsechna (aspon myslim) uskali instalace.
Jeste pred koncem musim dodat jednu vec, ktera se prilis k instalaci
nevstahuje. Jde o to, jak Linux ukoncit (napriklad za ucelem vypnuti
pocitace). K tomu ucelu slouzi prikazy "reboot" a "halt". Prvni z nich
zpusobi restart pocitace, druhy jeho zastaveni. Bohuzel tyto prikazy
ma k dispozici pouze superuzivatel (neboli "root"). Bezny uzivatel
muze pouzit kombinaci klaves "Ctrl-Alt-Del", ktera ma stejny efekt
jako prikaz "reboot".

A to uz je opravdu vsechno. Priste se pustime do objevovani systemu.


3. Zakladni orientace v systemu

3.1 Zakladni prikazy pro praci se soubory
Po te, co jsme system uspesne nainstalovali (coz v nekterych
pripadech muze znamenat i tri nebo ctyri instalace), muzeme zacit se
systemem pracovat. Vzhledem k tomu, ze v unixovych systemech
(a potazmo i v Linuxu) bran velky zretel na bezpecnost ulozenych dat,
musime se nejdrive do systemu prihlasit.
Jediny uzivatel, ktery ma hned po instalaci na systemu konto je
administrator (tim jste samozrejme vy), ktery ma jmeno "root".
Nektere instalace (Debian, u RedHatu si nejsem jisty) umozni zalozit
bezne uzivatelske konto, jako posledni krok instalace. Po zadani
jmena pozaduje system jeste heslo (ale proc vam to vykladam, kdyz se
vsichni umite prihlasit na FELIS).

Tak jsme se prihlasili, a vidime prikazovou radku. Co muzeme delat
dal? Muzeme si treba vypsat obsah adresare. Ovsem ne prikazem "dir",
ale prikazem "ls" jako LiSt. A pravdepodobne se neobjevi nic jineho
nez dalsi prikazova radka. To ovsem neznamena, ze tam zadne soubory
nejsou. Jsou jenom skryte (potvory). Uplny vypis adresare vcetne
skrytych souboru ziskame prikazem:

ls -la

coz znamena "list long all". Tim ziskame kompletni vypis, ktery bude
vypadat zhruba nasledovne:

total 5
drwx------ 2 root root 1024 Jan 30 19:45 .
drwxr-xr-x 3 root root 1024 Jan 28 22:00 ..
-rw-r--r-- 1 root root 208 Feb 23 1998 .bash_profile
-rw-r--r-- 1 root root 307 Dec 20 11:46 .bashrc

Skryte soubory, jak je videt z porovnani vypisu, se neoznacuji
nejakym specialnim atributem (jako v M$-DOSu), ale pouze tim, ze maji
jako prvni znak tecku.
Co znamenaji jednotlive polozky? Prvni je typ souboru a pristupova
prava, pak je pocet odkazu na soubor, skupina vlastnika, vlastnik a
zbytek uz je snad jasny (delka, datum, cas a nazev).
Typ souboru (jak je videt) je bud "d", pokud jde o adresar, nebo "-",
pokud jde o normalni soubor. Existuji jeste tri dalsi typy souboru,
ale ty probereme pozdeji.
Pristupova prava (retezec "rwxr-xr-x") urcuji prava pro cteni ("r"),
zapis ("w") a spusteni ("x") a nastavuji se pro vlastnika, skupinu a
zbytek sveta. Pravo "x" v pripade adresare neznamena spusteni, ale
povoleni vstupu do adresare.

Jak uz bylo receno (resp. napsano), existuje celkem pet ruznych typu
souboru. Jednim z nich je typ "l" neboli "link". Je to specialni typ
souboru, ktery funguje jako odkaz na jiny soubor. Muzeme pak system
jednoduse presvedcit o tom, ze nejaky soubor je na nekolika mistech
soucasne. Pro zakladani techto odkazu existuje prikaz "ln" ("LiNk" -
- kdo by to rekl?). Pro zalozeni noveho odkazu tedy napiseme:

ln -s <soubor_na_ktery_chceme_odkazat> <jmeno_odkazu>

Parametr "-s" udava, ze chceme zalozit tzv. symbolicky odkaz.
Existuje totiz jeste jeden typ odkazu tzv. "hard-links". Ty se
prestavaji pouzivat a vetsinou se uz nevyskytuji.

To by byly hlavni odlisnosti od systemu M$-DOS. Ostatni prikazy
(hlavne ty zakladni) maji bud stejne nazvy nebo se daji snadno
odvodit. Takze funkce prikazu "cd", "mkdir", "rmdir" tady vykladat
nemusim. Mel bych ale upozornit, ze mazani se neprovadi prikazem
"del", ale prikazem "rm" (jako "ReMove"). Uzitecny muze byt i prikaz
"pwd" (Present Working Directory), ktery vypise aktualni adresar.

Aby se uzivatel nemusel namahat se spoustou prikazu, objevil se i v
Linuxu manazer souboru. Jmenuje se Midnight Commander a (jak nazev
napovida) je obdobou DOSovskeho Norton Commanderu. Nebudu ho zde
popisovat, prohlednete si ho sami. Jeste bych mel napsat, ze se
spousti prikazem "mc". Pri prvnim spusteni vypisuje program nekolik
hlasek, ale ty je mozne cile ignorovat.

Na zaver bych chtel upozornit na program "man", ktery umoznuje
prohlizeni manualovych stranek. Spousti se prikazem:

man <jmeno_programu>

Je samozrejme mozne vyzadat si manualovou stranku programu "man":

man man

Na manualove stranky se budu v dalsich lekcich casto odkazovat.


3.2 Struktura adresaru
Ted, kdyz uz mame k ruce Midnight Commander, muzeme se rozhlednout po
disku. Z naseho domovskeho adresare (pro superuzivatele "root"), se
hrave dostaneme do korenoveho adresare. Zde je nekolik adresaru. Co
ale muzeme v tom kterem najit?

V adresari "bin" jsou zakladni spustitelne soubory.

V adresari "dev" jsou soubory zarizeni. Jsou to soubory, ktere
odkazuji na specialni mista v jadre a pameti, kde jsou ulozeny
ovladace pro dana zarizeni.
Kdybychom se podivali na pristupova prava techto souboru, objevime
posledni dva typy souboru (o tech jsme si psali :-) minule). Jsou to
typy "b" a "c". Je znamo, ze zarizeni se z pohledu systemu deli na
blokova a znakova. No a to oznacuje typ. "b" je blokove zarizeni jako
treba disk nebo disketova mechanika a "c" je znakove zarizeni
(terminal, paralelni port).

V adresari "etc" jsou ulozeny vsechny konfiguracni soubory. Kdykoliv
budete hledat konfiguracni soubor, je velmi pravdepodobne, ze bude
zde.

V adresari "home" jsou domovske adresare uzivatelu.

V adresari "lib" jsou ulozeny knihovny. V podadresari "modules"
muzeme najit moduly jadra. Moduly jsou casti jadra, ktere nejsou tak
dulezite, aby byly obsazeny v jadre. Jadro si je nacte, az kdyz jsou
potreba.

Do adresare "mnt" se vetsinou pripojuji dalsi mechaniky (CD-ROM,
disketova mechanika). Jak se mechaniky pripojuji, si povime nekdy
priste.

V adresari "proc" muzeme najit nejruznejsi informace o systemu.
Vsechno, co v tomto adresari najdete, je vytvareno dynamicky za behu
systemu.

V adresari "root" je domovsky adresar administratora.

V adresari "sbin" jsou ulozeny dalsi spustitelne soubory. Vetsinou
jde o programy pro administraci systemu jako je sprava kont apod.

V adresari "tmp" jsou docasne soubory.

V adresari "usr" jsou uzivatelske soubory a spousta dalsich adresaru,
na ktere se podivame pozdeji.

V adresari "var" jsou ruzne soubory jako napriklad kopie vypisu pri
startu systemu.

A ted tedy adresar "usr". Ten ma obdobnou strukturu jako korenovy
adresar. Zajimave jsou zde adresare "doc", "games" a "man". Tam jsou
dokumentace jednotlivych pragramu, spustitelne soubory her a
manualove stranky.

V korenovem adresari i v adresari "usr" muze byt samozrejme adresaru
vic, ale vetsinou nejsou vyznamne.

Tato adresarova strukura je pro unixove systemy zavazna. Dostanete-li
se nekdy k pocitaci, na kterem pobezi Linux nebo jiny unixovy system,
bude adresarova struktura vypadat, kdyz uz ne stejne, tak alespon
podobne.

Pokud jde o spustitelne programy, nemusime je hledat, abychom je
mohli spustit. Byva k nim nastavena cesta pomoci promenne PATH, ktera
ma obdobny vyznam jako v M$-DOSu.


4. Sprava uzivatelskych kont

Sprava uzivatelskych kont
Sprava uzivatelskych kont je na unixovych systemech (Linux nevyjimaje)
velmi dulezita cinnost, zvlaste pokud chceme svuj pocitac pouzit jako
internetovy server. Ale i na beznem pocitaci, ktery ani neni k siti
pripojen, je vhodne mit zalozeno krome administratorskeho i bezne
konto. Prava superuzivatele jsou totiz velmi siroka (jako "root" si
muzete dovolit vlastne vsechno), a proto je vhodne pro beznou praci
(kresleni obrazku, psani dokumentu) pouzivat bezny uzivatelsky ucet.
Nektere instalacni programy nabizeji zalozeni bezneho konta
automaticky. Ale i tak je dobre vedet, jak s konty manipulovat.

Muze se stat, ze po nainstalovani systemu mame k dispozici pouze
superuzivatelsky ucet, a proto je (z vyse uvedenych duvodu) vhodne
zalozit bezne konto. Je mozne pouzit program "useradd", kteremu jako
parametry zadame uzivatelovo jmeno a dalsi veci. Pokud tedy chceme
zalozit uzivateli "pepa" konto, zadame:

useradd -m pepa

Tim se zalozi uzivatelske konto, domovsky adresar a dalsi potrebne
nalezitosti. Parametr "-m" znamena, ze se maji do uzivatelova
domovskeho adresare nakopirovat zakladni konfiguracni soubory. Ty
byvaji ulozeny v adresari "/etc/skel". Mnoho veci je mozno dalsimi
parametry ovlivnit. Je treba mozne nastavit jmeno domovskeho adresare
nebo specifikovat, do kterych skupin ma uzivatel patrit. Ma-li tedy
nas uzivatel "pepa" patrit do skupin "users" a "gamblers", zadame:

useradd -G users,gamblers -m pepa

Uvedene skupiny uz musi existovat. K manipulaci se skupinami se
dostaneme pozdeji.
Druhou moznosti je program "adduser", ktery vykona stejnou funkci,
ale jednotlive parametry si vyzada interaktivne. Nektere volby je
mozne prednastavit v souboru "/etc/adduser.conf".
Treti moznosti (a ta je pouze v RedHat Linuxu) je graficka nadstavba,
ktera se spousti z prostredi X-Window.

Ted se dostavame k obracenemu problemu. Mame zlobiveho uzivalete a
chceme ho vyloucit z naseho pocitace. Pouzijeme k tomu prikaz
"userdel":

userdel pepa

Pokud pred uzivatelske jmeno pridame parametr "-r", smazeme mu vsechny
jeho programy.

Pokud chceme nasemu zlobivemu uzivateli jen zablokovat konto a ne ho
rovnou rusit, pujdeme na to jinak. Vsechny informace o uzivatelskych
kontech jsou ulozeny v souboru "/etc/passwd". Jednotlive polozky jsou
oddeleny dvojteckami. Napiseme-li do druhe polozky jako prvni znak
hvezdicku "*", nebude se moct dany uzivatel prihlasit do systemu.

Tim jsme probrali uzivatele, ale jak na skupiny? Podobne. Pro zalozeni
skupiny pouzijeme prikaz "groupadd", pro zruseni skupiny prikaz
"groupdel". Informace o skupinach jsou ulozeny v souboru "/etc/group".
Pokud pouzijeme pro zalozeni uzivatele prikaz "adduser" a zadame
neexistujici skupinu, zalozi se jak uzivatel tak skupina.

Abychom nemuseli pro zmenu nekterych parametru uzivatelskych kont
konto zrusit a znovu zalozit, muzeme pouzit program "usermod".
Totez plati pro skupinu. Program se jmenuje "groupmod".

Samozrejme je vhodne, aby mel kazdy uzivatel heslo. Program "adduser"
si zadani hesla vyzada automaticky. Pokud ale zakladame uzivatele
prikazem "useradd", musime mu heslo priradit rucne. Slouzi k tomu
program "passwd". Zadanim:

passwd pepa

muzeme zmenit heslo uzivateli "pepa". To muzeme samozrejme provest jen
jako superuzivatel, protoze pouze ten ma pristup k souboru
"/etc/passwd". Heslo muze mit i skupina.

Mel bych jeste dodat, ze pro zvyseni bezpecnosti systemu se hesla
koduji (a to pouze jednosmernym kodem) a ukladaji do specialniho
souboru "/etc/shadow". Pro skupinu je to soubor "/etc/gshadow".

Dalsi informace naleznete v manualovych strankach uvedenych programu.


5. Montuji, montujes, montujeme

5.1 Prikazy mount a umount
Jake asi musi byt zdeseni cloveka, ktery poprve usedne k Linuxu a v
hruze zjisti, ze tu nejsou zadne mechaniky A, B ani C natoz D? Tento
stav je vcelku pochopitelny u nekoho, kdo byl od utleho mladi
vychovavan na systemech firmy Micro$oft.
V systemu Linux jsou totiz vsechny mechaniky organizovany do jedineho
stromu, do jehoz jednotlivych vetvi se pripojuji. Bezne misto, kde se
da najit napriklad CD-ROMka, je v adresari "/mnt/cdrom" nebo "/cdrom".
Druhy uzas uzivatele nasleduje ve chvili, kdy vlozi do mechaniky CD a
zjisti, ze se v takovemto adresari vubec nic nezmenilo (tj. zustal
uplne prazdny). Ono je totiz nutne systemu rict, ze tam vubec nejake
CD je.
Pro takoveto cinnosti (tykajici se disket a CD, nebo i jinych veci -
- treba ZIPu) existuje prikaz (nebo spise program) "mount", ktery
pripoji zvolenou mechaniku do dane vetve adresaroveho stromu.
Disketovou mechaniku, oznacenou pod M$-DOSem A:, pripojime
nasledujicim prikazem:

mount -t msdos /dev/fd0 /mnt/floppy

Mozna to vypada desive, aspon mne to tak napoprve pripadalo, ale
je to celkem jednoduche. Znamena to, ze po programu "mount" chceme,
aby do vetve "/mnt/floppy" (ktera musi existovat!) pripojil zarizeni
"/dev/fd0" (coz je prvni disketova mechanika), na ktere je souborovy
system msdos-fat (parametry "-t msdos").
Oznaceni "/dev/fd0" je specialni soubor. Kdybyste se podivali do
adresare "/dev", tak tam najdete spoustu podobnych souboru, ktere
sice maji nulovou delku, ale system z nich dokaze zjistit, o jake
zarizeni jde. Neptejte se me jak (to by bylo na samostatnou
kapitolu). Vyznam nekterych souboru je v nasledujici tabulce.

/dev/fd0 Prvni disketova mechanika
/dev/fd1 Druha disketova mechanika
/dev/hda Prvni IDE disk (Master na prvnim IDE)
/dev/hda1 Prvni primarni oddil na prvnim IDE disku
/dev/hda2 Druhy primarni oddil na prvnim IDE disku
/dev/hda5 Prvni rozsireny oddil na prvnim IDE disku
/dev/hda6 Druhy rozsireny oddil na prvnim IDE disku
/dev/hdb Druhy IDE disk (Slave na prvnim IDE)
/dev/hdc Treti IDE disk (Master na druhem IDE)
/dev/sda Prvni SCSI disk
/dev/sda1 Prvni primarni oddil na prvnim SCSI disku
/dev/sda2 Druhy primarni oddil na prvnim SCSI disku
/dev/sdb Druhy SCSI disk
:
:

A tak dal. Myslim, ze system je jasny. Jednotku CD-ROM, ktera je
(dejme tomu) "/dev/hdc", muzeme tedy pripojit prikazem:

mount -t iso9660 /dev/hdc /mnt/cdrom

kde "iso9660" je souborovy system pouzivany pro datova CD.
Podobne muzeme pripojit partition "/dev/hda2" s Windows 95, treba do
"/mnt/Windows":

mount -t vfat /dev/hda2 /mnt/Windows

a mame pristup k windowsovskemu disku vcetne dlouhych jmen.

Druhou veci, kterou je pod Linuxem v souvislosti s disky a
mechanikami, nutne delat, je nezapomenout je odpojit pred vyjmutim
z mechaniky. To je kriticke zvlaste u disketovych mechanik, kde
muzeme disketu bez problemu a bez odpojeni vyjmout. U CD to nejde,
protoze Linux si mechaniku zamkne a dokud ji neodpojite, tak se
proste k CD nedostanete. U disket jde hlavne o to, ze Linux ma
bufferovany (jak ja nenavidim prejata slova) zapis a nasi neopatrnou
cinnosti bychom mohli o data prijit.
Takze, drive nez disketu vyjmeme z mechaniky, ji odpojime prikazem
"umount":

umount /dev/fd0

Tady uz nejsou potreba zadne dalsi udaje, nebot Linux si vede presnou
evidenci pripojenych mechanik.

Bufferovani je taky duvod, proc je nutne Linux (a nejen ten) spravne
ukoncit. Nejaka data, urcena k zapisu, by totiz jeste mohla byt
v pameti, a my bychom tim, ze pocitac proste vypneme, o ne mohli
prijit.

Dalsi informace o programech "mount" a "umount" muzete najit v
manualovych strankach.

5.2 Soubor "fstab"
Minule jsme si ukazali, jak se daji do adresaroveho stromu pripojit a
odpojit ruzne mechaniky nebo oddily (partitions) disku. (V linuxove
terminologii pro tyto ukony existuji velmi hezke vyrazy - mountovani
a odmountovani.) Existuje ale jeden zpusob, jak se zbavit te spousty
parametru u prikazu "mount". Jedna se o konfiguracni soubor "fstab",
ve kterem jsou shromazdeny popisy mechanik a diskovych oddilu spolu s
informacemi o souborovych systemech, vetvich, kam se maji pripojovat,
a dalsich.

Struktura souboru "fstab" vypada asi takto:

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/hda1 / ext2 defaults 0 1
/dev/hda2 none swap sw 0 0
proc /proc proc defaults 0 0

Jak vidite, je to celkem prehledna tabulka. Vyznam jednotlivych
polozek je nasledujici. V prvnim sloupci jsou uvedeny mechaniky nebo
diskove oddily, v druhem pak misto, kam se maji pripojit. Nasleduje
souborovy system a doplnujici nastaveni. Vyznam polozky "dump" neni
prilis dulezity (hlavne ja sam nevim, co znamena). Posledni polozka
"pass" muze nabyvat hodnot 0 nebo 1 a udava, jestli se ma ten ktery
souborovy system kontrolovat po spatnem vypnuti systemu.
Z toho je zrejme, ze (napriklad v prvnim radku) souborovy system
"/dev/hda1" (prvni primarni oddil na prvnim IDE disku - jak jsme si
rekli minule) se pripoji do adresare "/", coz je koren stromu,
a obsahuje souborovy system "ext2", coz je standardni Linuxovy system.
Zajimavy je druhy radek, ktery predstavuje informace o odkladaci
oblasti. Ten se samozrejme nikam nepripojuje, ale musi o nem system
vedet.

Uvedene tri zaznamy, by mely byt v souboru "fstab" hned pri prvnim
startu, nebot jsou zakladany pri instalaci systemu. Pokud jich je
vic, je to v poradku. Pokud jich je min, muzeme (ale take nemusime)
mit problem (treba jsme nezalozili odkladaci oblast).

Tak a ted k tomu hlavnimu. Jaky zaznam doplnit, aby Linux
zaregistoval a byl schopen pripojit napriklad CD-ROMku? To lze celkem
jednoduse zjistit z parametru, ktere jsme museli zadavat pri rucnim
(nebo tez manualnim) pripojovani.

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/hdc /mnt/cdrom iso9660 defaults 0 0

Tim jsme systemu oznamili, ze existuje zarizeni "/dev/hdc" se
souborovym systemem "iso9660", ktere je mozne pripojit do adresare
"/mnt/cdrom". Pro disketovou mechaniku je mozne pouzit nasledujici
radek.

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/fd0 /mnt/floppy msdos defaults 0 0

Tak ted uz system vi o vsech vecech, ktere ma, a nam staci pro
pripojeni urciteho zarizeni (treba CD-ROMky - "/dev/hdc") zadat:

mount /dev/hdc

Zbytek uz si system najde v souboru "fstab".

Vyskytuje se zde ale jeden problem. Pri startu se totiz system snazi
vsechna zarizeni uvedena v souboru "fstab" pripojit. To se mu
samozrejme nepovede, pokud jsme nahodou nezapomneli v mechanice
disketu a v CD-ROMce CD. Jak se toho zbavit? Nebo lepe, jak systemu
rict, ze si urcita zarizeni pripoji uzivatel sam?
Pro tento ucel existuje parametr "noauto", ktery se do zaznamu prida
nasledujicim zpusobem:

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/fd0 /mnt/floppy msdos defaults,noauto 0 0

Dalsimi uzitecnymi parametry jsou "user" a "ro".
Parametr "user" dava pravo pripojit dane zarizeni beznemu uzivateli.
Bez tohoto parametru ma toto opravneni pouze uzivatel "root".
Parametr "ro" oznacuje dane zarizeni jako "read-only", tedy pouze pro
cteni. Toto je vhodne uvest zvlaste u jednotky CD-ROM. Ne, ze by se
system bez tohoto parametru pokousel na CD zapisovat, to on si
zjisti, ze to nejde, ale vypise o tom otravnou zpravu.

Na zaver se zminim o jednom programu, ktery poskytuje k manipulaci se
souborem "fstab" graficke rozhrani.
Tento program se dodava k systemu RedHat Linux 5.x a spousti se
z prostredi X-Window. Poskytuje celkem prehledne zobrazeni zaznamu
o jednotlivych zarizenich a jejich editaci. Ta vsak uz tak prehledna
neni.
Po nekolikerem spusteni se program dokonce pokusil odstranit zaznam o
odkladaci oblasti (ze pry se nepouziva).
Ale mozna, ze tyto problemy uz vyvojari novejsich distribucich
odstranili.


6. Baliky

6.1 Instalace, ruseni a upgrade baliku v systemu RedHat Linux
Urcite se vam stalo (nebo se v nejblizsi dobe stane), ze jste chteli
do sveho systemu doinstalovat nejaky program. Instalace vybranych
baliku je sice soucasti instalace systemu (co by taky clovek delal s
holym systemem), ale kdyz nekdo instaluje system poprve, muze
prehlednout nejakou tu sikovnou utilitku (jak byste tento vyraz
prelozili do cestiny?) nebo uzitecny program. Urcite nebudete chtit
kvuli jednomu programu preinstalovavat cely system.

System RedHat Linux poskytuje pro tuto cinnost velmi uzitecny system
RedHat Package Manager (RPM), ktery nejen ze dokaze baliky
nainstalovat, ale i odinstalovat a upgradovat. K tomu si udrzuje
databazi instalovanych baliku s popisem jednotlivych souboru.
System navic hlida zavislosti mezi jednotlivymi baliky. Chcete-li
tedy nainstalovat program, ktery ke sve cinnosti vyzaduje urcitou
knihovnu, RPM vas na to upozorni. Naopak pokud chcete odinstalovat
nejaky nepotrebny program a system RPM zjisti, ze tim v systemu zbyde
neuzitecna knihovna, automaticky ji odinstaluje.

Ted se podivame, jak se to vlastne dela. Mejme tedy balik ve formatu
RPM (treba "ssh-1.2.21-1i.i386.rpm"), ktery chceme nainstalovat.
Zadame tedy:

rpm -i ssh-1.2.21-1i.i386.rpm

a pak uz se jen divame, jestli je vsechno v poradku. Jak uz to u
programu v unixovych systemech byva, jsou informacni vypisy velmi
strohe. Pokud tedy chceme o prubehu instalace zjistit vic, pridame
prepinac "-v". Pokud nam ani to nestaci, muzeme pouzit prepinac
"-vv".

Aby nemohlo dojit k poskozeni baliku, nebo lepe abychom si mohli byt
jisti, ze je instalovany balik v poradku, jsou v systemu RPM
implementovany jiste kontrolni mechanismy. Baliky RPM tedy obsahuji
informace o sve delce, 32-bitovy kontrolni soucet a elektronicky
podpis autora baliku.
Jestli neni balik poskozen muzeme zjistit prikazem:

rpm --checksig <balik>.rpm

U neposkozeneho baliku bude vypis vypadat nasledovne:

<balik>.rpm: size pgp md5 OK

coz znamena, ze vsechny nalezitosti (size - delka, pgp - podpis, md5
- kontrolni soucet) jsou v poradku. Ne kazdy balik musi obsahovat
vsechny tyto nalezitosti.

Pokud u nejakeho programu zjistime, ze je nam k nicemu, muzeme ho
velmi jednoduse odinstalovat:

rpm -e <balik>

A dostavame se k upgadovani baliku. Mohlo by se zdat, ze jde vlastne
jen o odinstalovani stare a nainstalovani nove verze. Tedy o prikazy:

rpm -e <balik>; rpm -i <balik>.rpm

Prikaz "rpm -U" se vsak chova trochu jinak. Prvni rozdil je v
zachazeni s konfiguracnimi soubory a druhy je v tom, ze v samotnem
baliku muze byt specifikovano, jak se ma upgrade provest.
RPM s konfiguracnimi soubory zachazi tak, aby byly (pokud mozno)
zachovany uzivatelske zmeny. Nejhorsi, co se muze stat, je, ze je
soubor prejmenovan. V zadnem pripade ale nezmizi z disku.

Na zaver bych se jeste zminil o grafickem rozhranni, ktere je v
systemu RedHat Linux prilozeno. Jedna se o program "glint", ktery ve
stylu windowsovskeho spravce zobrazuje informace o nainstalovanych a
nenainstalovanych balicich. Jeho prostrednictvim je mozne velmi
pohodlne baliky spravovat.
Program se spousti ze systemu X-Window.

Tim jsme probrali zakladni vlastnosti RedHat Package Manageru. Pro
dalsi informace doporucuji jednak manualovou stranku programu "rpm" a
jednak serial clanku Jana Kasprzaka, ktery vychazel v Linuxovych
Novinach od listopadu 1997 do prosince 1998.

6.2 Instalace, ruseni a upgrade baliku v systemu Debian GNU/Linux
System Debian Package Manager (DPKG), ktery je soucasti distribuce
Debian GNU/Linux, je obdobny systemu RPM. Oba systemy vznikaji
soucasne a vzajemne prebiraji kladne vlastnosti toho druheho. Do
systemu RPM byly podle DPKG implementovany zavislosti mezi baliky, do
systemu DPKG pribyl elektronicky podpis a MD5 soucet.

Instalace baliku systemem DPKG se provadi nasledujicim prikazem:

dpkg -i <balik>.deb

Tento system nerozlisuje mezi prvni instalaci a upgradem. Obe funkce
se tedy aktivuji stejnym prepinacem a je-li nalezen stejnojmenny
balik starsi verze, je proveden upgrade.

Odstraneni baliku je mozne provest dvema zpusoby. Pokud chceme na
disku ponechat konfiguracni soubory, pouzijeme prepinac "--remove":

dpkg --remove <balik>

Pokud chceme odstranit cely balik vcetne konfiguracnich souboru,
pouzijeme prepinac "--purge":

dpkg --purge <balik>

Mnoho uzitecnych informaci o baliku muzeme ziskat zadanim prikazu:

dpkg -s <balik>

Z vypisu se muzeme dozvedet napriklad, je-li balik nainstalovan, jakou
verzi mame instalovanu, kdo je jeho autorem (nebo spise maintainerem -
koordinatorem vyvoje) a ktere dalsi baliky je treba nainstalovat.
Navic se nam dostane zevrubneho popisu baliku.

Pro prehlednejsi manipulaci s baliky obsahuje system Debian GNU/Linux
program "dselect". Tento program bezi na textove konzoli a jeho
ovladani je pomerne jednoduche. Mel bych snad jen upozornit, ze baliky
pro instalaci se vybiraji klavesou "+", pro odstraneni klavesou "-"
(minus) a pro uplne odstraneni (vcetne konfiguracnich souboru)
klavesou "_" (podtrzitko).
Program "dselect" tez hlida zavislosti mezi baliky. Zvolite-li tedy
balik, ktery potrebuje ke sve funkci jine dosud nenainstalovane baliky,
dostane se vam obsahleho upozorneni a program vam nabidne seznam
potrebnych baliku.
Trochu problemem muze byt pro zacatecnika ukonceni vyberu. Tuto funkci
zde neplni klavesa "Esc", jak by se dalo predpokladat, ale (trochu
paradoxne) klavesa "Enter".
Program ma vestavenou napovedu, ktera dostupna klavesou "?".

Dalsi informace muzete nalest (jako obvykle) v manualovych strankach
programu "dpkg" a "dselect".

6.3 Instalace baliku tar.gz
Ackoliv maji baliky ve formatech RPM nebo DEB mnoho vyhod,
nejrozsirenejsi metodou distribuce baliku je format tar.gz. Jedna se
o baliky vytvorene programy "tar" a "gzip".
Program "tar" byl puvodne urcen pro zalohovani souboru na pasku
("Tape ARchiver") a jedine co udela, ze urcene soubory spoji do
jednoho a prida informace o nazvu, pristupovych pravech a podobnych
vecech. Takto ziskany soubor je pak programem "gzip" zkomprimovan.

Abychom takoveto baliky nainstalovali je nutne je nejdrive rozbalit
(nebo tez dekomprimovat) pomoci programu "gunzip". Muzeme pouzit:

gunzip balik.tar.gz
nebo
gzip -d balik.tar.gz

Po dokonceni je soubor "tar.gz" nahrazen souborem s priponou "tar".
Na ziskany soubor dale postveme program "tar", ktery ho rozdeli na
jednotlive soubory a umisti je do prislusnych adresaru. Pouzijeme
nasledujici syntaxi:

tar xf balik.tar

Parametry "xf" znamenaji: x ... eXpand (rozbal)
f ... File (Soubor)
Tim jsme balik nainstalovali.

Jinou moznosti je vyuzit vlastnosti programu "tar", ktery si umi
program "gunzip" zavolat. Pak je syntaxe:

tar xzf balik.tar.gz

Odinstalovani nebo dokonce update baliku tyto programy nepodporuji.
Chceme-li tedy odstranit urcity balik ze systemu, nezbyva nic jineho,
nez postupne projit vsechny adresare a soubory patrici k baliku
vymazat.

Jako vsechny unixove programy jsou i tyto skoupe na slovo. Abychom se
dozvedeli, co prave delaji, pridame programu "tar" parametr "v":

tar xzvf balik.tar.gz

Dalsi informace o programech "tar" a "gzip" (resp. "gunzip") najdete
v jejich manualovych strankach.

To byla obecna metoda, jak se vyporadat s baliky TGZ. Pokud ale
spravujete distribuci Slackware, mate k dispozici mocnejsi nastroj.
Tim je program "instpkg". Ten dovoluje baliky instalovat
a odinstalovavat. Bohuzel neumi upgrade a nekontroluje zavislosti,
coz je oproti systemum RPM a DPKG znacna nevyhoda.
Rad bych zde sice popsal, jak se s programem "instpkg" pracuje, jakou
ma syntaxi a tak dale (prakticky totez, co bylo uvedeno v minulych
dvou lekcich o RPM a DPKG), ale nemam s nim zadne zkusenosti a ani
moznost to nekde zjistit.

V posledni dobe se zacaly objevovat baliky s priponou "tar.bz2". Jde
prakticky o totez, jako je "tar.gz", jen je misto programu "gzip"
pouzit program "bzip2", ktery dosahuje lepsiho kompresniho pomeru
a tedy kratsich vyslednych souboru. Program "bzip2" by mel byt
soucasti vetsiny distribuci a po nainstalovani najdete jeho popis
v manualovych strankach.

Na zaver jednu poznamku. Existuje program, ktery dokaze konvertovat
formaty baliku. Jmenuje se "alien" a umi pracovat s formaty RPM, DEB
a TGZ. (Jeste umi format SLP (Stampede), ale s tim jsem se jeste
nesetkal.)


7. X-Window

7.1 Konfigurace XServeru
Asi kazdy uzivatel, zhyckany grafickymi systemy jinych firem, zatouzi
po necem podobnem i pod Linuxem. A bude mu vyhoveno. Linux totiz
poskytuje vlastni graficke rozhranni nazyvane obecne X-Window.
Cely system je rozdelen do dvou casti. Prvni cast (XServer) se stara o
fungovani potrebneho hardwaru. Ten nema vubec nic spolecneho s tim,
jak okenka na obrazovce vypadaji. O samotne prostredi se staraji
specialni aplikace (tzv. Window Managery). O tech si povime priste.
Ted se zamerime na to, jak vubec X-Window rozbehnout.

Nejdrive je samozrejme nutne jednotlive baliky systemu X-Window
nainstalovat. To se netyka distribuce RedHat, kde se X-Window
instaluji standardne vcetne spravneho XServeru (nekdy).
Budete potrebovat baliky s nasledujicim obsahem:
zakladni baliky (xbase, xcontrib), fonty (xfont-base, xfont-100dpi,
xfont-75dpi, xfont-PEX, xfont-scalable) a zaklad pro XServer
(xserver-common).
A nakonec budeme potrebovat jeden z baliku s XServerem:

xserver-svga XServer pro SVGA karty
xserver-vga16 XServer pro EGA/VGA karty
xserver-8514 XServer pro karty s chipsetem 8514/A
xserver-agx XServer pro AGX/XGA karty
xserver-i128 XServer pro Number9 Imagine 128
xserver-mach32 XServer pro karty s chipsetem Mach32
xserver-mach64 XServer pro karty s chipsetem Mach64
xserver-mach8 XServer pro karty s chipsetem Mach8
xserver-mono XServer pro monochromaticke karty
xserver-p9000 XServer pro karty s chipsetem P9000
xserver-s3 XServer pro karty s chipsetem S3
xserver-s3v XServer pro karty s chipsetem S3 ViRGE
nebo ViRGE/VX
xserver-w32 XServer pro karty s chipsetem W32, W32i
a W32p

Tady je videt, jak je dobre znat chipovou sadu sve graficke karty.
Pro vetsinu ISA karet je prijatelny SVGA server. Pokud mate strach,
ze system nebude vasi videokartu podporovat, tak se bojite zbytecne.
Seznam podporovanych chipovych sad cita pres 300 polozek. Pokud je
vase karta prilis nova (asi tak mesic nebo dva od uvedeni na americky
trh), bude s nejvetsi pravdepodobnosti podporovana v nejblizsi dobe.
Zcela urcite si nainstalujte VGA16 server. Vim, ze pracovat dnes
s pouhymi 16 barvami je otrava a nevypada to vubec hezky, ale tento
balik vyzaduji nektere konfiguracni programy, ktere nekdy byvaji
i jeho soucasti.
Nazvy uvedenych baliku berte se znacnou rezervou, protoze se lisi
jednak v ruznych verzich systemu X-Window a jednak v ruznych
distribucich.

Dale budeme potrebovat nejaky Window Manager. Nejcasteji se instaluje
"fvwm95", ktery je nastaven tak, aby se co nejvice podobal Windows 95.
Pokud nainstalujete vsechny baliky zacinajici na "fvwm", rozhodne
neudelate chybu.

Aby mohl XServer spravne fungovat, musi byt spravne nakonfigurovan.
Pokud jste vlastniky distribuce RedHat, nemusite si s timto bodem
prilis lamat hlavu, nebot nastaveni XServeru je soucasti instalace.
Je ale asi dobre vedet, kam sahnout, co udelat a co spustit, pokud
chceme neco upravit.
V distribuci RedHat je program "XConfigurator" (ktery je ostatne
spousten v ramci instalace). Ten dovoluje nastavit v textovem rezimu
ty nejdulezitejsi veci. Pokud navic vlastnite grafickou kartu na PCI,
dokaze si tento program sam zjistit jeji parametry.
V distribuci Debian je podobny program, ktery se jmenuje "XF86Setup".
Je graficky a dovoluje nastavit nejen parametry videokarty a monitoru,
ale i mysi a klavesnice. Celkem prekvapenim je, ze mezi podporovanymi
klavesnicemi je i ceska a slovenska.
Pokud ani jeden z techto programu nemate, existuje jeste jedna cesta,
ktera funguje vzdy a vsude. Je to program "xf86config". Pokud pravdive
odpovite na nekolik otazek tykajicich se vybaveni vaseho pocitace,
udela tento program stejnou praci jako oba predchozi. Pokud zalzete,
tak si nasledky prictete sami. Ja vas varoval.

Pro dodatecne nastaveni monitoru se v nekterych distribucich (urcite
to muzu rict jen o Debianu) pouziva program "xvidtune". Ten vam dovoli
jemne doladit polohu obrazu na monitoru (coz je vhodne zejmena u
starsich monitoru - Windows proste k 800x600 nedonutim, Linux klidne
bezi v rozliseni 1024x768). Program si kontroluje povolene kmitocty,
aby nahodou nedoslo k poskozeni monitoru.

Vsechny vyse zminene konfiguracni programy generuji soubor
"/etc/XF86Config" (pripadne "/etc/X11/XF86Config"). V tomto souboru
jsou popsany vlastnosti vaseho monitoru, graficke karty, mysi a
klavesnice. Navic je zde uvedena cesta, kde jsou ulozeny fonty.
Mel bych se zminit jeste o jednom dulezitem konfiguracnim souboru.
Je to soubor "/etc/X11/XServer" a je v nem na prvni radce uveden nazev
pouzivaneho XServeru.
Na tuhle chutovku jsem si sam nabeh'. Ve starsich verzich systemu
X-Window se ke spusteni pouzival link "/usr/X11R6/bin/X", ktery
ukazoval na prislusny XServer. Z linku se stal nadrazeny program,
ktery se rozhoduje prave podle obsahu souboru "/etc/X11/XServer".
A tak jsem temer pul roku blazene pouzival 16-ti barevny XServer a
hrozne se divil, jak priserne ty X-Window vypadaji.

A na zaver, jak se stalo dobrym zvykem, par odkazu na dokumentaci.
Manualove stranky k programum snad pripominat nemusim, mel bych ale
upozornit, ze existuje i manualova stranka "XF86Config", kde je uveden
popis syntaxe tohoto souboru. Racte si nastavit, co libo.

Priste si popiseme (od slova "popovidame") o Window Managerech.

7.2 Spravci oken (Window Managers)
Spravcu oken existuje hodne a vybrat ten spravny, ktery bude nejlepe
vyhovovat vasim pozadavkum je tezke. Castecne proto zde uvadim velmi
kratky seznam tech nejvyznamnejsich.

Jako prvni bych asi mel zminit spravce "twm" (Tab Window Manager) a
jeho nastupce "vtwm" (Virtual Tab Window Manager). Tento spravce je
totiz zakladem vetsiny ostatnich (napriklad "fvwm").
Mezi hlavni prednosti techto dvou spravcu patri velka
konfigurovatelnost. Manualova stranka s popisem syntaxe konfiguracniho
souboru ma pres 40 (slovy ctyricet) stranek. Mnoho dalsiho se da
zjistit i na adrese "http://www.visi.com/~hawkeyd/vtwm.html", kde je
umistena domovska stranka.

Mel bych asi rict, co znamena to slovo "Virtual". Nekterym aktivnejsim
jedincum se jiste muze stat, ze jim dojde volne misto na plose
obrazovky. V X-Window je tento problem vyresen tak, ze mame k dipozici
jednak vice obrazovek (zatim jsem se setkal maximalne s deviti) a
jednak vetsi plochu nez je rozliseni monitoru (to zabezpecuje XServer).
Takze i kdyz pracujete v rozliseni 800x600, muzete mit plochu tak
velkou, na kolik staci pamet vasi videokarty (s 2MB klidne 1600x1200
ve 256 barvach) a to cele treba sestkrat.

Uz minule jsem se zminil o spravci "fvwm95", ktery se snazi napodobit
prostredi Windows 95. Je ale nutne podotknout, ze to neni jediny adept
na post spravce oken. Pod samotnym nazvem "fvwm" se skryvaji jeste dva
dalsi. Jsou to starsi "fvwm" a novejsi "fvwm2". Tito spravci se ale
neomezuji na napodobeni jineho systemu, naopak dovoluji uzivateli
nastavit si prostredi podle sveho gusta. Samotne "fvwm95" vychazi
z "fvwm2". Nejdrive slo jen o upravu vzhledu, aby co nejvice odpovidal
Windows95, a posleze byl pridan TaskBar a podobne veci.
Domovske stranky techto projektu jsou k nalezeni na adresach
"http://www.hpc.uh.edu/fvwm" pro fvwm(2) a
"http://www.terraware.net/ftp/pub/Mirrors/FVWM95/fvwm95.html" pro
fvwm95.
A jeste jednu malickost. Mozna by vas zajimalo, co vlastne znamena
nazev "fvwm". Zde je vynatek z FAQ (Frequently Asked Questions), ktery
to vysvetluje:

Q) What does FVWM stand for?

A: "Fill_in_the_blank_with_whatever_f_word_you_like_at_the_time
Virtual Window Manager". Rob Nation (the original Author of FVWM)
doesn't really remember what the F stood for origninally, so we
have several potential answers:

Feeble, Fabulous, Famous, Fast, Foobar, Fantastic, Flexible,
F!@#$%, FVWM (the GNU recursive approach), Free, Final, Funky,
Fred's (who the heck is Fred?), Freakin', Father-of-all, etc.

Just pick your favorite (which will of course change depending on
your mood and whether or not you've run across any bugs recently).
I prefer Fabulous or Fantastic myself.

"Fvwm95" neni jedinym spravcem, ktery snazi napodobit jiny system.
Oblibenym tercem je i prostredi "NextStep", ktere imituji hned dva
managery. Jsou to "Window Maker" a "AfterStep". Hlavnim problemem
prvniho je barevna nenasytnost. 256 barev proste tomuto programu
nestaci. Na druhou stranu je toto rozhranni velmi propracovane a ma
nektere velmi uzitecne vlastnosti (treba moznost prilepit si menu na
pracovni plochu, ktere pak zustane otevrene i po vyberu). Vice najdete
na domovske strance "http://www.windowmaker.org".
Spravce "AfterStep" neni tak propracovany, za to se vyporada i s
256-ti barevnym rozlisenim. Vychazi z "fvwm", cemuz odpovida i styl
virtualnich ploch, ktere jsou ve "Window Makeru" reseny odlisne.
Domovska stranka je na adrese "http://www.afterstep.org".

Trochu lahudkou je window manager jmenem "Enlightenment" a hned
z pocatku je nutne rict, ze se nesnazi napodobit naprosto nic.
Graficka rozhrani, ktera jsou dodavana spolu s managerem,
nepripominaji naprosto nic znameho a urcite by se za ne nestydel ani
filmovy hacker v roce 2200. Rozhrani tedy neni moc promyslene, usporne
nebo intuitivni, ale zato je velmi efektni. Z toho bohuzel vyplyva
i velka barevna nenasytnost (ani zde 256 barev nestaci). Navic nejsou
ve valne vetsine pripadu pouzivana obdelnikova okna, ale vselijake
jine tvary, k cemuz je potreba rychla graficka karta.
Na vzdory tomu stoji tento manager zcela urcite za vyzkouseni. A jeste
domovska stranka. Ta je na adrese "http://www.enlightenment.org".

Zajimavym projektem je graficke prostredi "KDE" (K Desktop
Environment). Nejde jen o spravce oken, ale o cele prostredi, ktere
se nesnazi neco napodobovat, ale jde vlastni cestou. Soucasti systemu
je spravce souboru, postovni program, rada multimedialnich utilit a
dalsi uzitecne programy.
Nevyhodou tohoto prostredi je jeho pametova nenasytnost. Po spusteni
si vyhradi 43 MB a pouziva 21 MB. Pokud si tedy budete chtit tento
jiste zajimavy system vyzkouset, sezente si aspon 32 MB pameti RAM.
I kdyz na druhou stranu, na mych 16 MB se taky rozbehl. No, zkuste to.
Nebo se aspon podivejte na stranky "http://www.kde.org".

Pokud byste si chteli o Spravcich oken precist trochu (hodne) vic,
muzete se jednak podivat do Linuxovych Novin ze rijna 1998, nebo
zkuste adresu "http://www.plig.org/~xwinman".

7.3 Konfigurace Window Manageru FVWM2
Puvodne jsem chtel psat o nastavovani "fvwm95", ale, jak uz jsem
napsal minule, "fvwm95" vychazi z "fvwm2", takze to udelam obracene.

Naprosta vetsina unixovych programu se vyznacuje velkou
konfigurovatelnosti (celkem 19 pismen, takze neni nejdelsi). To plati
i o spravci oken "fvwm". Jeho konfiguracni soubory jsou ulozeny v
adresari "/etc/X11/fvwm2" (resp. "/etc/X11/fvwm95"). Hlavnim souborem
je "system.fvwm2rc" (resp. "system.fvwm95rc"). Uzivatel si muze
vytvorit svou vlastni konfiguraci v souboru ".fvwm2rc" ve svem
domovskem adresari.

Co vsechno je mozne v tomto souboru nastavit? Vlastne vsechno. Od
definice menu a poctu pracovnich ploch, pres tlacitkovou listu
(a taskbar v "fvwm95"), po definice horkych klaves a chovani mysi.
Je tedy mozne setkat se se dvema instalacemi "fvwm", z nichz se kazda
bude chovat a vypadat uplne jinak. To je, diky uzivatelskym
konfiguracnim souborum, mozne dokonce na jednom jedinem pocitaci.

Vzhledem k tomu, ze k nastaveni je toho opravdu hodne (Chcete pridat
novou vlastnost? Napiste si funkci.), zamerim se na to, co bude asi
vsechny zajimat nejvic. Je to menu.

Prvnim radkem, ktery zahaji definici menu, je prikaz "AddToMenu", za
ktery navazeme polozky. Muze to vypadat treba takto:

AddToMenu "StartMenu@linux-menu.xpm@^gray50^" \
"&Programs%programs.xpm%" Popup Programs
+ "&Documents%documents.xpm%" Popup Documents
+ "&Settings%settings.xpm%" Popup Settings
+ "&Find%find1.xpm%" Popup Find
+ "&Help%help.xpm%" Exec xman &
+ "&Run...%run.xpm%" Module FvwmForm RunDialog
+ "" Nop
+ "Sh&ut Down%shutdown.xpm%" Popup Shutdown

Polozka hned za klicovym slovem "AddToMenu" udava nazev menu. Ten pak
muze byt pouzit k volani z funkce nebo treba z taskbaru. Samotny nazev
se zde sklada ze tri veci, z nichz povinna je pouze ta prvni. Je to
samotny nazev "StartMenu", pak je odkaz na obrazek "@linux-menu.xpm@",
ktery bude vykreslen po leve strane menu (jen tak pro predstavu, je to
podobne jako napis, ktery vypisuji Win95 po leve strane menu Start), a
posledni je definice barvy "^gray50^", ktera se pouzije jako podklad
obrazku. Zpetne lomitko (back-slash) oznacuje, ze prikaz pokracuje na
dalsim radku. Zde je pokracovanim definice prvni polozky menu, ale
jinak to muze byt treba nadpis. Ten by se definoval takto:

"Start Menu" Title

Definice polozky ma opet nekolik casti. Tou prvni je titulek, ktery se
ma vypsat v menu. Zde se v nasem priklade vyskytuji dve casto
pouzivane speciality. Je to znak ampersand "&", ktery definuje horkou
klavesu pro volbu teto polozky, a odkaz na obrazek "%programs.xpm%",
ktery bude pouzit jako ikona a bude vykreslen vlevo od napisu.
Druhou casti je cinnost, ktera se ma vykonat pri zvoleni teto polozky.
Zde je to zobrazeni dalsiho menu "Popup", ktere se jmenuje "Programs".
Cinnost oznacena "Exec xman &" u polozky "Help" znamena, ze se ma
spustit program "xman". Symbol ampersand "&" zde znamena, ze se ma
aplikace spustit na pozadi (cimz se umozni zavreni menu).

Dale se v nasem prikladu vyskytuje cinnost "Module". Spravce oken
"fvwm" obsahuje nekolik pridavnych aplikaci, kterym se rika moduly.
Ty obstaravaji napriklad funkci taskbaru nebo tlacitkove listy.
Jeden z nich, volany prikazem "Module", umoznuje vypis jednoduchych
dialogu.

Dalsi zajimavosti je radek, ktery obsahuje prazdy titulek. Takovy
radek je spravcem interpretovan jako oddelovaci cara. Z toho vyplyva
i cinnost, ktera se ma pri jeho volbe provest. "Nop" cili nic.

Tim jsme probrali definici menu. Jen tak mimochodem, kdyz si zkusite
do souboru ".fvwm2rc" napsat menu, ktere jsem uvedl jako priklad,
zjistite, ze je stejne jako menu "Start" ve Windows95.

K dalsimu studiu bych doporucil jednak manualove stranky "fvwm2" a
"fvwm95" a jednak dokumentaci, ktera je ulozena v adresari
"/usr/doc/fvwm2" (pripadne "/usr/doc/fvwm95).


8. Nastaveni tiskarny

8.1 Soubor printcap
At chceme nebo nechceme, nekdy je potreba nekomu predvest nas textovy
vytvor a bud onen clovek nemuze k obrazovce, nebo nemuze obrazovka k
nemu. Pak nam nezbyva nez nejakym zpusobem procedit nas text skrz
tiskarnu na papir. Prave tim, jak dostat text na tiskarnu v Linuxu,
se budeme zabyvat v dnesni lekci.

Aby se jednotlivi uzivatele o tiskarnu nehadali, je mezi ne vlozena
fronta (tzv. spooler), kde se dokumenty shromazduji a po jednom
posilaji na tiskarnu. Primy pristup k tiskarne ma jen uzivatel "root",
ale zneuzivat jeho prav k vytisteni souboru by mohlo byt az nebezpecne.
Primy pristup je vhodne vyuzit maximalne k otestovani konfigurace.
Na druhou stranu je to prave uzivatel "root", ktery musi (nebo lepe by
mel, protoze ostatni uzivatele nemohou) nakonfigurovat tiskarnu (a to
nejlepe tak, ze spravne).

Nastaveni tiskarny je ulozeno v souboru "/etc/printcap" a zaznam v
tomto souboru vypada asi takto:

ljet|lp|ps|PostScript|600dpi 20MB memory|local|LPT1|:\
:lp=/dev/lp1:rw:\
:sd=/var/spool/lpd/ljet4:mx#0:mc#0:pl#72:pw#85:\
:lf=/var/log/lpd-errs:if=/usr/local/cap/ljet4:

Napoprve to vypada hruzostrasne. Abychom se v tom trochu vyznali,
popiseme si nyni format tohoto zaznamu.
Prvnim pravidlem pro syntaxi tohoto souboru je, ze kazdy radek
definuje jednu tiskarnu. To muze znit trochu divne, nebot nas priklad
je jedina definice a ma ctyri radky. Znak backslash "\" zde totiz
znamena, ze definice pokracuje na dalsim radku.
Jednotlive polozky se oddeluji dvojteckou ":".

Ted se pustime do popisu jednotlivych polozek.
Prvni polozkou zaznamu je vzdy jmeno tiskarny. Tech muze byt i vic,
pak se oddeluji svislou carou "|". Implicitni tiskarnu muzete nastavit
tak, ze ji date jmeno "lp". Nedoporucuje se, aby to bylo prvni jmeno v
seznamu.
Promenna "lp" udava zarizeni, ke kteremu je tiskarna pripojena. V
nasem prikladu je to zarizeni "/dev/lp1", ktere predstavuje druhy
paralelni port. (POZOR! Ten je na adrese 0x378, tedy LPT1.) Tato
promenna musi byt nastavena v kazde definici.
"rw" znamena, ze tiskarna (ale i port) umi komunikovat obema smery.
Promenna "sd" specifikuje adresar, kde se budou skladovat dokumenty
pro tuto tiskarnu. Mel by to byt podobny adresar, jaky je uveden v
nasem prikladu (tak hradu nebo hrade?). Nedoporucuje se, aby se
adresar jmenoval "/var/spool/lpd/lp", i kdyz je tiskarna nastavena
jako implicitni.
Parametr "mx" udava maximalni velikost ulohy. Nulova velikost znamena
bez omezeni.
Promenna "mc" nastavuje maximalni pocet kopii. A opet nulova hodnota
znamena bez omezeni.
Promenna "pl" specifikuje delku stranky v radkach.
Promenna "pw" nastavuje sirku stranky ve znacich.
Parametr "lf" udava soubor, do ktereho se budou zapisovat chybova
hlaseni (log-file).
A posledni promenna "if" nastavuje tzv. vstupni filtr.

Moznych parametru je samozrejme mnohem vic (v knize "Pouzivame Linux",
ze ktere to opisuji, zabira jejich castecny vycet dve stranky). Abych
to zbytecne neprotahoval, odkazu vas na manualovou stranku souboru
"printcap", kde najdete uplny seznam parametru.

Jeste bych se ale mel zminit o filtrech. Filtr je vlastne program,
ktery ma za ukol upravit dokument tak, aby jej tiskarna mohla
vytisknout.
Mejme napriklad jehlickovou tiskarnu EPSON, ktera umi pracovat jen ve
dvou rezimech - text nebo grafika. Tiskneme-li tedy holy text, muzeme
soubor odeslat rovnou na tiskarnu. Chceme-li ale vytisknout napriklad
soubor PostScript (coz je textovy soubor s popisem stranky),
potrebujeme program, ktery tento soubor transformuje do grafickych
prikazu nasi tiskarny (pravdepodobne program "GhostScript"). Dalsim
problematickym formatem pro nasi tiskarnu bude format "dvi" (coz je
produkt systemu TeX). Ten je nejprve treba transformovat do formatu
PostScript, pak predchozim zpusobem prevest do prikazu tiskarny a
teprve pak se muze tisknout.
Tento problem je mozne vyresit napriklad uvedenim tri tiskaren (ktere
budou vlastne tiskarna jedna), ktere se budou lisit jen pouzitym
filtrem a tedy formatem souboru, ktery jsou schopny spracovat.
Druhou moznosti je pouziti tzv. magickych filtru. To jsou programy,
ktere dokazi podle vstupnich dat usoudit, jaky filtr je treba. Takovym
filtrem je napriklad program "nenscript". Nevyhodou tohoto filtru je,
ze na format souboru usuzuje jen podle prvnich dvou znaku. Najde-li
tedy znaky "%!", pouzije filtr pro PostScript. Lze si ale celkem
jednoduse predstavit PostScriptovy soubor, ktery zacina jinymi znaky,
a nebo napriklad textovy soubor, ktery ma jako prvni prave znaky "%!".
Nastesti existuje magickych filtru vice a vetsina z nich se neda tak
snadno osidit.

Priste si ukazeme, jak si nasaveni overit, a podivame se, kterymi
prikazy se spravuje tiskova fronta.

8.2 Rizeni tiskove fronty
Minule jsme tiskarnu nastavovali, dneska na ni budeme posilat data.
(Otazkou ovsem stale zustava, jestli neco poleze z tiskarny.)
Nejdrive se podivame jake nastroje ma k dispozici uzivatel "root".

Tak tim hlavnim nastrojem je asi primy pristup k tiskarne (coz
neznamena, ze "root" ma klice od mistnosti, kde tiskarna stoji).
Velmi uzitecna pro nej muze byt utilitka "lptest", ktera vysype na
standardni vystup nekolik desitek radku s tisknutelnymi znaky. Pokud
ji tedy budeme chtit pouzit pro paralelni tiskarnu zastoupenou
zarizenim "/dev/lp1" (coz je, jak jsme si napsali minule, LPT1), musi
administrator napsat:

lptest > /dev/lp1

Znak ">" je doufam znamy uz z DOSu a v obou systemech znamena
presmerovani standardniho vystupu.
Prikaz "lptest" ma dva volitelne parametry, kterymi jsou delka radku a
pocet radku v uvedenem poradi.

Druhym uzitecnym programem je program "lpc", ktery umoznuje spravu a
rizeni tiskovych front. Jeho prvni funkci je samozrejme vypis stavu
tiskaren a front. Mame-li v systemu napriklad tiskarny "ibis", "crow"
a "ada" a zadame prikaz:

lpc status

dostane se nam nasledujiciho vypisu:

ibis:
queuing is enabled
printing is enabled
no entries
no daemon present
crow:
queuing is enabled
printing is enabled
1 entry in spool area
crow is ready and printing
ada:
queuing is disabled
printing is disabled
no entries
no daemon present

Preklad, doufam, neni potreba. Dalsim parametrem muzeme urcit, ktera
tiskarna nas zajima.
Program "lpc" navic poskytuje interaktivni rezim a vestavenou
napovedu. Interaktivni mod otevreme zadanim prikazu "lpc" bez
parametru. Vsechny prikazy, ktere bylo mozne zadat jako parametry na
prikazove radce, je nyni mozne zadavat jako prikazy.
K napovede se muzeme dostat parametry (nebo prikazy - zalezi na modu)
"help" nebo "?". Jako dalsi parametr muzeme uvest prikaz, ktery nas
zajima.
Mezi dalsi funkce programu "lpc" patri napriklad zastaveni tisku (kdyz
treba potrebujeme vymenit pasku) nebo take prehazeni uloh cekajicich
ve fronte.

Do teto chvile jsme se zabyvali jen tim, co muze udelat "root". Ted se
(konecne) zacneme zabyvat tim, co muze udelat normalni uzivatel.
Nemuze toho, samozrejme, udelat tolik jako "root" (jak by se vam
libilo, kdyby vam kamarad blokoval tiskove ulohy?), ale pro tisk to
urcite postaci.

Bezny uzivatel ma pro manipulaci s tiskovou frontou nekolik programku.
Tim prvnim a rozhodne nejpouzivanejsim je prikaz "lpr", ktery odesle
vami udany soubor na predvolenou tiskarnu. Chceme-li napriklad
vytisknout soubor "muj_dokument.text", zadame:

lpr muj_dokument.text

Pokud pridame parametr "-P", muzeme si nastavit tiskarnu, kterou
chceme pro nas soubor pouzit. Dejme tomu tiskarnu "ada":

lpr -Pada muj_dokument.text

Prikazem "lpq" si muzeme prohlednout, ktere soubory stoji tomu nasemu
v ceste. Jako parametr muzeme specifikovat jmeno tiskarny, ktera nas
zajima. Zadanim prikazu "lpq" se nam dostane priblizne takovehoto
vypisu:

ada is ready and printing
Rank Owner Job Files Total size
active milan 035 (standard input) 776708 bytes
1st david 037 (standard input) 2297842 bytes
2nd pavel 040 (standard input) 10411 bytes

Pokud se nam stav nelibi, muzeme svoji tiskovou ulohu zrusit prikazem
"lprm" a pripadne poslat na jinou tiskarnu. Jako uzivatel "pavel"
zadame:

lprm 040

A dostane se nam teto odpovedi:

040 dequeued

POZOR! Zadate-li prikaz "lprm" bez parametru, odstrani se ze vsech
front vsechny vase tiskove ulohy.

Ted se podivame na tisk z tochu jineho pohledu. V Linuxu (a myslim, ze
v unixovych systemech obecne) je standardnim tiskovym formatem
PostScript. Casto ale chceme pracovat s tiskarnou, ktera si s timto
formatem neporadi a musime ji trochu pomoct (jde prevazne o jehlickove
tiskarny, ale i nektere laserove a inkoustove to nezvladnou). K tomu
ucelu slouzi program GhostScript, ktery interpretuje prikazy
PostScriptu (protoze je to ve skutecnosti jazyk pro popis stranky) a
prevadi je do grafickych povelu pro tu kterou tiskarnu. Poradi si se
vsemi zakladnimi typy (Epson, Star, DeskJet, LaserJet) a nekolika
specialnimi (napriklad Epson LQ 850). Navic umi vygenerovat vystup i
do nekolika grafickych formatu (JPEG, PCX, BMP a TIFF).
GhostScript lze donutit i k zobrazeni stranek na obrazovce, ale k tomu
existuje lepsi zpusob. Jmenuje se GhostView, pracuje pod X-Window
a dovoluje vcelku prijemne prohlizeni PostScriptoveho souboru.

A to je pro dnesek vsechno. Preji vam prijemne potisteni. :-)


9. Prikazove interpretery (bash, tcsh)

Prikazove interpretery
Kazdy prikazovy interpreter se projevuje tak, ze vypisuje prikazovy
radek a plni uzivatelovy prikazy. Z toho je mozne odvodit, ze
prikazovym interpreterem je napriklad "command.com" v systemu M$-DOS,
nebo ta vec, co se objevi po prihlaseni do Linuxu. Umyslne nerikam
(nebo spise nepisu), ktera vec to je, nebot v Linuxu je na vyber
nekolik prikazovych interpreteru.

Temi zakladnimi (a ve vetsine pripadu nutnymi) jsou "bash"
(Bourne-Again Shell) a "tcsh" (Turbo-C Shell). "Bash" vychazi
z puvodniho Unixoveho interpreteru "sh" a je zakladnim interpreterem
distribuci RedHat a Debian. Musi byt nainstalovan, protoze vetsina
skriptu je psana prave pro nej. "Tcsh" je vylepseny interpreter "csh"
(C Shell). Jeho nazev vychazi z toho, ze syntaxe jeho prikazu je velmi
podobna jazyku C.

Ted si mozna reknete, v cem se mohou dva prikazove intepretery tak
lisit, kdyz "command.com" zvlada maximalne smycky pres vycet souboru
a rozhodovani podle existence souboru nebo hodnoty parametru. Odpovedi
je, ze to sice ovladaji oba interpretery take, ale umi toho jeste
daleko vic. Napriklad promenne nebo definice funkci nebo vetveni a to
jak prikazem "if" tak i prikazem "case" (funkce odpovida
stejnojmennemu prikazu v jazyce Pascal). Jsou vlastne takovymi malymi
programovacimi jazyky. Pokud se chcete podivat, jak takovy skript
vypada, podivejte se na startovaci skripty do adresare "/etc/init.d/"
nebo "/etc/rc.d/" (podle toho, ktery najdete). Dalsi priklady muzete
najit v adresari "/usr/doc/bash/example" nebo "/usr/doc/tcsh/example".

Jak uz jsem napsal v uvodu, prikazovych interpreteru pro Linux je
nekolik (a nejsou to jen ty dva, o kterych jsem se zminil). Vladne
takova tendence pokryt shelly celou abecedu. Kazdopadne uz existuji
"ash", "bsh" (Bourne Shell - predchudce "bash"), vyse zmineny "csh",
"ksh" (Korn Shell) a "zsh". Jak je videt, autori shellu to berou
ponekud nesystematicky. Existuji samozrejme i taci, kteri tuto
tendenci neuznavaji. A tak mame napriklad "pdksh", "sash", "bash"
a "tcsh".

Ted bych se mel zminit o tom, jak si interpreter vyzkouset a pripadne
(pokud se nam libi) i nastavit jako hlavni.
Vyzkouseni je jednoduche. Vzhledem k tomu, ze kazdy shell je program,
nic nam nebrani si ho proste z prikazove radky jineho shellu spustit.
Ukoncit by se mel dat prikazem "exit" nebo "quit".
Se zmenou zakladniho interpteretu (tedy toho, ktery se spusti hned po
prihlaseni) je to trochu slozitejsi. Pokud jsme superuzivatel
(tedy "root"), muzeme to vyresit editaci souboru "/etc/passwd".
Program shellu je uveden jako posledni polozka zaznamu.
Pokud nejsme superuzivatel, musime ho bud o zmenu pozadat (coz nebyva
nejprijemnejsi), nebo pouzit prikaz "chsh" (CHange SHell).
Spustime-li tento program bez parametru, zobrazi se dotaz, ktery
interpreter si chceme nastavit jako hlavni. Samozrejme muzeme tento
program pouzit i jako "root" (je to jiste prijemnejsi) a pokud jako
parametr pridame uzivatelske jmeno, muzeme komukoliv nastavit
jakykoliv shell.
Jako bezny uzivatel mame vyber interpreteru trochu omezen. Jednak
samozrejme tim, ktere shelly jsou nainstalovany, a pak take tim, ktere
shelly nam administrator dovoli pouzivat. Jejich seznam je uveden
v souboru "/etc/shells".

A na zaver opet poznamka, ze ke kazdemu interpreteru existuje (nebo by
mela existovat) tez manualova stranka.


10. Zavadec systemu LILO

Zavadec Linuxu LILO
Aby pocitac pri startu vedel, kde na disku ma hledat systemove
soubory, je na prvnim sektoru disku ulozen specialni zaznam (tzv.
Master Boot Record - MBR). V systemech firmy Micro$oft je tento zaznam
degradovan na pouhy automaticky zavadec prvniho programu a jakekoliv
sirsi vyuziti (jako treba zavadeni vice systemu) je ponechano bez
povsimnuti.
Ne tak v Linuxu. Program "lilo", ktery ma zavadeci zaznam na starosti,
sice lze nastavit tak, aby pouze zavadel Linux, ale to by bylo velke
podceneni vsech moznosti tohoto programku. Tento program dokaze
pripravit zaznam tak, aby pracovat jako tzv. Boot Manager
(ze by Spravce zavadeni?).
S nastavovanim programku "lilo" jste se uz urcite setkali, i kdyz
o tom ani nevite. Je totiz soucasti instalace. I zde se ale obcas
stane, ze potrebujeme neco upravit, aby to vyhovovalo prave nasemu
pocitaci. Nutne je to hlavne pri kompilaci noveho jadra (coz si
popiseme priste).

Cela konfigurace, podle ktere se program "lilo" ridi, je ulozena v
souboru "/etc/lilo.conf". Obsah tohoto souboru muze vypadat treba
takto:

boot = /dev/hda
prompt
timeout = 50

other = /dev/hda3
label = dos
table = /dev/hda

image = /vmlinuz
label = linux
root = /dev/hda1
read-only

A co ze to vlastne znamena? V prvnim bloku jsou uvedeny obecne
informace nebo veci platne pro vsechny volby.
Promenna "boot" udava zarizeni, na kterem se nachazi zavadeci sektor.
Prikaz "prompt" rika, ze se ma cekat na vstup z klavesnice po urcenou
dobu. Neni-li uveden, bude umoznen vyber, az po stisku urcite klavesy.
Dobu, po kterou se ma cekat, je mozne nastavit promenou "timeout". Cas
se udava v desetinach vterin.
V teto sekci se muze vyskytnout i promenna "install", ktera udava
soubor, ktery obsahuje data zavadeciho sektoru. Zavadeci sektor se pak
timto souborem prepise.
Posledni promennou, kterou zde zminim, je promenna "default", ktera
udava nazev systemu (nebo diskoveho oddilu), ktery se bude startovat
automaticky. Pokud neni uvedena, spousti se system, ktery je uveden
jako prvni.

Pak nasleduji sekce jednotlivych oddilu (nebo systemu). Kazda sekce je
uvozena promennou "image" nebo "other". Prvni ukazuje na jadro, ktere
se ma nacist, druha pak na zarizeni s jinym systemem, kteremu je pak
predano rizeni.
Promenna "label" udava nazev pro dany system nebo oddil. Pri startu
pocitace pak ovlivnujete zavadeni prave zadanim tohoto nazvu.
Je-li treba zadat pro jeden oddil druhy nazev, pouzijte promennou
"alias".
Promenna "table" je dulezita prave pro zavadeni jineho systemu. Urcuje
zarizeni, na kterem je umistena tabulka oddilu (partition table)
daneho systemu.
Promenna "root" udava, ktere zarizeni se ma pripojit (namountovat)
jako korenove. Toto zarizeni nemusi mit vubec nic spolecneho s tim,
ktere obsahuje zavadene jadro. To dovoluje napriklad obchazet omezeni
8GB, za kterymi uz neni soucasny BIOS schopen cist. Dela se to tak, ze
se jadro umisti do maleho oddilu (asi 1-2MB), ktery je pred onou
hranici a hlavni oddil (specifikovany promennou "root") pak muze
klidne lezet az za ni. Onen kratky oddil pak pripojime do adresare
"/boot" pomoci zaznamu v souboru "/etc/fstab" (coz jsme probirali
v nektere z minulych lekci).
Prikaz "read-only" urcuje, ze se ma dane zarizeni pripojit jen pro
cteni. Variantou je pouziti prikazu "read-write". Ucel je snad jasny.

Zajimavosti muze byt, ze program "lilo" dovoluje zabezpecit heslem
bud cely pocitac (a nahradit tak ochranu, kterou poskytuje BIOS), nebo
jednotlive oddily.

A nakonec, kdyz jsme v konfiguracnim souboru provedli vsechny potrebne
zmeny, je potreba spustit program "lilo", aby zmeny presly do praxe.

Castym problemem je souziti Linuxu s DOSem a Windows95 na jednom
disku. Pomoci zavadece LILO je ale mozne vyresit i tento problem a to
nasledujicim zpusobem.
Do souboru "lilo.conf" doplnte sekce pro oddily, ktere obsahuji system
M$-DOS a Window95, a do kazdeho oddilu doplnte prikaz "rewrite-table".
Vysledek by mohl vypadat napriklad takto:

other = /dev/hda1 # tento oddil obsahuje DOS
label = dos
table = /dev/hda
rewrite-table

other = /dev/hda2 # tento oddil obsahuje Win95
label = w95
table = /dev/hda
rewrite-table

Prikaz "rewrite-table" zpusobi, ze, je-li zvolen dany oddil, prepise
se tabulka oddilu (partition table) tak, aby tento oddil byl aktivni.
Pak uz staci jen spustit program "lilo", ktery zmeny zapise na disk.

Moznych promennych a prepinacu, ktere lze v konfiguracnim souboru
uvest, je mnoho. Uplnejsi prehled muzete najit v manualove strance
"lilo.conf". Blizsi informace o programu "lilo" najdete tez v
manualovych strankach. Navody jak prizpusobit Linux pro souziti s
jinymi systemy najdete v souborech HOWTO.

PS. Pokud se vam nahodou nelibi zadavani nazvu systemu, zkuste balik
"chos", ktery misto promptu (hezke ceske slovo, neniliz pravda)
vypise nabidku formou menu. Navic obsahuje mnoho dalsich
vymozenosti vcetne konfigurace z XWindows.


11. Kompilace jadra

11.1 Priprava prekladu jadra
Jako prvni se nabizi pochopitelna otazka, proc vubec jadro prekladat?
Duvodu muze byt nekolik.

1, Stare jadro nepodporovalo nekterou z vasich karet, ale nove jadro
uz ano.
2, Vypustenim nepotrebnych ovladacu muzete zvysit rychlost systemu a
zmensit velikost jadra (a tim uvolnit cast pameti).
3, Nova verze jadra je rychlejsi.
4, Nove jadro je proste nove. (Casty duvod.)

Co pro to musime udelat? Nejprve musime sehnat zdrojovy kod jadra.
Jakozto uzivatele Linuxu a licence GPL na to mame pravo. Kody jadra
jsou samozrejme i soucasti distribuce (aspon o RedHatu a Debianu to
vim jiste). Druhym mistem je internet. Primarnim serverem je
"ftp.kernel.org", zrcadlem napriklad brnensky "ftp.fi.muni.cz", kde se
aktualni zdrojove kody objevuji s pul az dennim zpozdenim.

Ted by asi nebylo od veci zminit se o cislovani verzi. Jde o to, ze se
soubezne vydavaji jak verze 2.0.xx, tak i 2.1.xx. Rozdil je v tom, ze
liche verze jsou vyvojove a sude jsou stabilni. Vyvojove verze casto
obsahuji podporu pro ruzny nestandardni hardware, ale nejsou
odzkousene a obcas se i stane, ze posledni verze nejde vubec prelozit.
Stabilni verze jsou odzkousene a, jak uz nazev napovida, stabilni.
Na serveru jsou verze oddeleny ruznych adresarich. V kazdem z nich je
soubor (neco jako "LATEST-IS-2.0.36"), ktery udava cislo posledni
verze jadra.

!POZOR! Velikosti baliku jadra je pohybuji kolem 8 MB u stabilni a
10 MB u vyvojove rady.

Dale budeme pro preklad potrebovat programy "gcc", "binutils",
"bin86" a "make", pripadne nektere dalsi (coz si RedHat a Debian
pohlidaji). Vsechny tyto programy by mely byt soucasti distribuce.

Kdyz uz tedy mame jadro stazene na svem pocitaci, rozbalime ho do
adresare "/usr/src" a zkontrolujeme, jestli jsou spravne nastaveny
symbolicke linky v adresari "/usr/include". To muzeme udelat napriklad
prikazem:

ls -l linux asm scsi

melo by se zobrazit toto:

asm -> /usr/src/linux/include/asm/
linux -> /usr/src/linux/include/linux/
scsi -> /usr/src/linux/include/scsi/

Muze se stat, ze tyto nazvy jsou jmeny adresaru. Ty pro jistotu
prejmenujte (treba na "asm.old" apod.) a zalozte nove linky:

ln -s /usr/src/linux/include/asm asm
ln -s /usr/src/linux/include/linux linux
ln -s /usr/src/linux/include/scsi scsi

V adresari "/usr/src" musi existovat link "linux", ktery ma uvazovat
na adresar se zdrojovymi kody jadra.

Tesne pred prekladem bude nevhodnejsi stare jadro zazalohovat. Ono by
to nove treba taky nemuselo fungovat. Tim nejmensim je asi kopie
jadra. Pokud tedy mate jadro v adresari "/boot", zkopirujte ho
napriklad takto:

cp /boot/vmlinuz /boot/vmlinuz.old

Pak je jeste vhodne upravit LILO tak, aby bylo schopne zavest i stare
jadro, napriklad volbou "old".

Posledni veci, kterou je vhodne udelat (zvlaste pokud je nove jadro
stejne verze a bude pouzivat moduly), je prejmenovat adresar, kde jsou
umisteny moduly soucasneho jadra. Pokud je nase jadro verze "2.0.34",
bude to tedy adresar "/lib/modules/2.0.34", ktery prejmenujeme na
"/lib/modules/2.0.34.old".

Tim jsme dokoncili pripravu a muzeme se pustit do konfigurace a
prekladu noveho jadra. Ale az priste.

11.2 Konfigurace a preklad jadra a modulu
Kdyz jsme uspesne dokoncili pripravu, muzeme se vrhnout na konfiguraci
jadra. Vsechny dalsi ukony se budou odehravat v adresari
"/usr/src/linux".

Existuji tri zpusoby jak nakonfigurovat jadro. Prvni z nich je
nejelegantnejsi, ale pozaduje fungujici XWindows. Spousti se, nejlepe
z okna xtermu, prikazem:

make xconfig

Po chvilce prekladu (jejiz delka zavisi primo umerne na vykonu vaseho
pocitace) se na obrazovce objevi okno, kde jsou jednotlive casti
konfigurace rozdeleny do kategorii. Po vybrani nektere kategorie se
otevre dalsi okno, ve kterem uz lze nastavovat jednotlive parametry.
U vetsiny polozek jsou tri volby, ale ne vsechny je mozne zvolit.
Vzdycky se da vybrat bud "y" jako ano, nebo "n" jako ne. Treti volba
"m" znamena, ze se dana polozka ma prelozit jako modul. Ke kazde
polozce je tez k dispozici napoveda (nebo k valne vetsine). Je sice
v anglictine, ale i s malou znalosti tohoto jazyka a pocitacoveho
slangu se dozvite vse potrebne.
Druhou moznosti, jak nakonfigurovat jadro, je prikaz:

make menuconfig

ktery umoznuje konfigurovat jadro prostrednictvim menu v textovem
rezimu. Ovladani je podobne predchozimu. I zde je k dispozici help.
Pokud vsechno selze, zbyva treti cesta. Prikaz:

make config

odstartuje serii otazek, ktere se tykaji hardwaru vaseho pocitace.
Pokud budete v nastavovat adresu pro nejake zarizeni, nezapomente ji
uvest v hexadecimalnim tvaru (tj. 0x2f8).

Kdyz jsme dokoncili nastavovani (coz muze trvat i par hodin), spustime
doporuceny prikaz:

make dep; make clean

Tim dame jadru na srozumenou, ktere veci se maji prelozit primo do
jadra, a co se ma prelozit jako modul. To zavrsi maly uklid.

Nasledujicim krokem je preklad jadra. Prikaz zavisi na tom, kam chceme
vysledek umistit. Pro vytvoreni testovaci diskety s novym jadrem
zadame:

make bzdisk

Pokud pouzivame zavadec LILO, muzeme zadat:

make bzlilo

To zpusobi, ze se po dokonceni prekladu spusti program "lilo" a jadro
se zkopiruje do korenoveho adresare.
Pokud nam staci jen prelozit jadro (nepouzivame LILO apod.), zadame:

make bzImage

V tomto pripade najdeme prelozene jadro v adresari "arch/i386/boot".

Kdyz jsme prelozili jadro, zbyvaji nam jeste moduly. K tomu slouzi
prikaz:

make modules

Pokud se neobjevi zadne chyby (a to by nemely), muzeme moduly
nainstalovat prikazem:

make modules_install

Moduly se instaluji do adresare "/lib/modules/verze_jadra".

Tim je vsechno potrebne hotovo a muzeme si nase nove jadro vyzkouset.
Pokud i to probehne bez problemu, muzeme po sobe jeste trochu uklidit.
V adresari "/usr/src/linux" zadame prikaz:

make clean

Pokud nechceme nechat nic nahode, muzeme pouzit prikaz:

make mrproper

Rozdil mezi temito dvema prikazy spociva v tom, ze prikaz "clean"
odstrani pouze meziprodukty prekladu (soubory s priponou ".o"),
zatimco prikaz "mrproper" smaze vsechno vcetne vami nastavene
konfigurace.

Na zaver muzeme smazat stare jadro, ktere uz nebudeme potrebovat, a
take adresar se starymi moduly, ktere by uz jenom prekazely.


12. Linux na siti

12.1 Protokol TCP/IP
Hned v uvodu teto kapitoly se priznam, ze vsechno to, co bude napsano
v teto a dvou nasledujicich lekcich, jsem opsal z ruznych zdroju.
Duvodem je, ze nemam ani sitovou kartu ani modem, takze s temito vecmi
nemam zadne zkusenosti. Nicmene jsem tyto lekce zaradil, nebot patri
mezi zaklady prace v Linuxu.

Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) je
hlavnim komunikacnim protokolem mezi linuxovymi stanicemi. Neni
samozrejme jedinym. K dispozici jsou jeste protokoly IPX pro
komunikaci s pocitaci, na kterych bezi system Novell, a AppleTalk pro
komunikaci v siti pocitacu firmy Apple. Oba tyto protokoly se vsak
pouzivaji jen pro lokalni site, zatimco TCP/IP se stal zakladem
internetu.

Kazdy pocitac pripojeny do TCP/IP site musi mit svou tzv. IP adresu.
Ta se vetsinou udava jako ctverice cisel oddelenych teckami (napriklad
"128.75.15.24"). S IP adresami jsme se setkali uz pri instalaci, takze
to neni nic noveho. IP adresu si samozrejme nemuzeme jen tak vymyslet.
Pokud je nas pocitac pripojen do site, rekne nam adresu jeji
administrator. Pokud vytvarime vlastni sit, ktera bude oddelena od
jinych siti (a nebude pripojena k internetu), muzeme se sice IP adresu
vybrat, ale jen z urciteho rozsahu. Pro tento pripad je doporuceno
pouzivat tyto adresy:

10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255

Ono by se prece jen nekdy v neurcite budoucnosti mohlo stat, ze se
nase sit pripoji do internetu, a mohlo by dojit k tomu, ze by nami
vybranou IP adresu uz nekdo pouzival.

Samozrejme pokud chceme pod Linuxem komunikovat pomoci protokolu
TCP/IP (nebo jineho), musime mit jeho podporu v jadre. S tim si
vetsinou nemusime lamat hlavu hned po instalaci, nebot instalacni
program podporuje instalaci po siti a podpora TCP/IP tedy musi uz
v jadre byt. Pokud uz jsme jadro prekladali a podporu pro TCP/IP
vypustili, budeme muset prelozit jadro znovu. Pri nastavovani
parametru jadra pak vybereme ty casti, ktere se vztahuji k podpore
protokolu TCP/IP. Musime samozrejme take oznacit podporu siti.

Dulezitou soucasti pocitace pripojeneho do site je jeho jmeno (to aby
byly adresy citelnejsi pro lidi). Na jmeno se pocitac pta pri
instalaci (ale jenom nekdy) a my bychom ho chteli zmenit. Mame k tomu
jednak program "hostname" a jednak stejnojmenny soubor v adresari
"/etc". Soucasne jmeno si muzeme nechat vypsat prikazem:

hostname

A jak je zrejme, jmeno zmenime opravou souboru "/etc/hostname".

Tak a to je vsechno. Vic uz me opravdu nenapada.
Priste se pustime do nastavovani Ethernetoveho pripojeni.

12.2 Ethernet
Dnes bych se chtel rozepsat o nastavovani sitovych karet pro pripojeni
do site Ethernet pracujici s protokolem TCP/IP, procez musim opet
zalistovat v knize "Pouzivame Linux".

Co k tomu budeme potrebovat? Tak za prve, typ nasi sitove karty (nebo
aspon typ, se kterym je nase karta kompatibilni). Za druhe sitove
adresy, ktere jsem uvedl v lekci o instalaci Linuxu a ktere zde uvedu
jeste jednou (pro jistotu).

1, IP adresu vaseho pocitace
2, Masku vasi site (netmask)
3, IP adresu vasi site
4, Vysilaci (broadcast) adresu
5, IP adresu brany (gateway) a
6, IP adresu DNS (Domain Name Service) serveru

A za treti budete potrebovat jmeno sve domeny.

Nejdriv pouzijeme typ karty. Budeme se muset podivat, jestli jadro umi
s nasi kartou spolupracovat a jestli ne, tak prelozit jadro tak, aby
umelo. Nejprve se tedy podivame do adresare
"/lib/modules/verze_jadra/net", jestli tam nahodou nezahledneme soubor,
ktery ma v nazvu typ nasi karty. Pokud ho nenajdeme, budeme muset
prelozit jadro.

POZOR! Rozhodne s ovladaci neexperimentujte. Ne ze by mohlo dojit ke
zniceni neceho, ale mohlo by se stat (a dokumentace se o tom zminuje),
ze nevhodny ovladac zablokuje kartu tak, ze ji nepozna ani ten pravy.
Navic se v kazdem ovladaci specifikuji adresy, kde je ona karta
k nalezeni, a ty by take nemusely byt nastaveny spravne.

Kdyz uz jsem na to narazil, tak se o tom taky zminim. Jde prave o ono
nastavovani adres. Soubor, ktery nastavovani ridi, se jmenuje
"/etc/conf.modules" (nebo "/etc/modules.conf" - to ne proto, ze bych
to nevedel, ale zavisi to na distribuci). Do tohoto souboru budeme
muset pridat radky (nebo upravit ty existujici):

alias eth0 <nazev_ovladace>
options <nazev_ovladace> io=<adresa_karty> irq=<cislo_preruseni>

A pak by to mohlo nasi kartu najit (mozna).

Tak ted uz vi pocitac o karte, ale nevi o siti. K tomu budeme muset
upravit nasledujici soubory:

Do souboru "/etc/hosts" doplnime radek s adresou a jmenem naseho
pocitace. Asi takhle:

127.0.0.1 localhost # tohle tam uz je
128.17.75.20 eggplant.veggie.com eggplant # tohle pridame

Samozrejme zadame svoji adresu a jmeno sveho pocitace. Jak je videt,
da se nastavit jmen vice. Jmeno se musi shodovat se jmenem uvedenym
v souboru "/etc/hostname".
Ten prvni radek je nutny (takze ho nemazte). Tim totiz pocitac posila
zpravy sam sobe (nektere programy to vyzaduji).

Do souboru "/etc/networks" muzeme doplnit nazev a adresu site.
Vysledek by mohl vypadat napriklad takto:

127.0.0.0 localnet
128.17.75.0 veggie-net

vyhoda spociva v tom, ze pak misto prikazu:

route add 127.17.75.0

muzeme psat

route add veggie-net

coz je urcite prehlednejsi.

V souboru "/etc/host.conf" by se mely vyskytovat tyto dva radky:

order hosts,bind
multi on

Prvni radek oznacuje, kde se maji hledat jmena pocitacu v siti
(nejdrive v souboru "/etc/hosts" a pak na DNS serveru). Druhy radek
umozni zadat v souboru "/etc/hosts" vice adres pro jeden pocitac.

A poslednim je soubor "/etc/resolv.conf", kde se nastavuje domenove
jmeno vaseho pocitace a adresa DNS serveru. Jmenuje-li se tedy vas
pocitac "eggplant.veggie.com", napisete do souboru:

domain veggie.com
nameserver 128.17.75.55

Adresa DNS serveru je (v nasem prikladu) "128.17.75.55".

Tim jsme si pripravili zazemi a muzeme pocitaci oznamit, ze ma sit.

ifconfig eth0 eggplant netmask 255.255.255.0 broadcast 128.17.75.255
route add veggie-net

(Uf. Ten radek se mi nejak protahl.) Tim jsme pripojili nas pocitac do
site.

Mozna by nebylo na skodu (zvlaste pokud jsme k siti pripojeni stale),
rict pocitaci, ze ma sit inicializovat hned pri spusteni. Dosahneme
toho jednoduse editaci souboru "/etc/init.d/network" (takhle je to
aspon v Debianu, v RedHatu je to myslim "/etc/rc.d/init.d/network",
v Slackwaru je to "/etc/rc.d/rc.inet1" - urcite nekde bude). Vysledek
by mohl vypadat napriklad takto:

#! /bin/sh
# Timhle pridame loopback
ifconfig lo 127.0.0.1
route add -net 127.0.0.0

# A ted pridame vlastni sit
IPADR="128.17.75.20"
NETMASK="255.255.255.0"
NETWORK="128.17.75.0"
BROADCAST="128.17.75.255"
GATEWAY="128.17.75.98"

ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
route add ${NETWORK}
route add default gw ${GATEWAY} metric 1

Tak timhle si tedy nejsem vubec jistej, ale nejak tak to bude.
Pravdepodobne zde bude mozne pouzivat jmena definovana v souborech
"/etc/hosts" a "/etc/networks".

Uff. To je snad vsechno. Priste budeme delat to same, ale s modemem.

12.3 PPP - modemem do sveta
Minule jsem slibil, ze se dnes budeme zabyvat pripojenim pocitace do
site pomoci modemu. Timto svuj slib plnim.

Nejdriv bych asi mel uvest, co znamena zkratka PPP, uvedena v nazvu.
Je to zkratka od "Point to Point Protocol", coz je jeden z moznych
protokolu, pouzivanych pod systemem Linux. Ten druhy (celkem jsou dva)
se jmenuje SLIP ("Serial Line Internet Protocol"), ale je starsi,
takze se jim nebudu zabyvat. Popis konfigurace tohoto nastroje muzete
najit v knize "Pouzivame Linux".

Co k pripojeni potrebujeme? Samozrejme modem, nejlepe s prislusnou
dokumentaci. Dale budeme potrebovat programovy balik "pppd" a mozna
zdrojove kody jadra. V neposledni rade budeme potrebovat spustu
informaci od naseho pripojovatele (poskytovatele pripojeni, nebo tez
providera).

Nejdrive se podivame na jadro. To totiz musi obsahovat podporu pro
PPP. Nejprve se muzeme podivat do adresare
"/lib/modules/verze_jadra/net", jestli tam neni soubor "ppp.o". Pokud
ano, mame po starostech (aspon na chvili). Pokud ne, budeme muset
jadro znovu prelozit vcetne podpory protokolu PPP (o prekladani jadra
jsem uz psal, takze se nebudu opakovat). Podporu je mozne prelozit jak
primo do jadra, tak jako modul. Zadne kolize nejsou znamy.
Mezi uzivateli Linuxu ale koluje zprava, ze pro spravnou funkci je
nutne mit prelozenu tez podporu protokolu SLIP. Nevim. Je ale pravdou,
ze se mi PPP po seriovem kabelu mezi dvema pocitaci rozchodit
nepodarilo.

Dale nainstalujeme balik "ppp".

A ted prisel nejvyssi cas zavolat nasemu pripojovateli a zeptat se ho
na nekolik palcivych otazek. Potrebujeme vedet nasledujici veci:
1, Telefonni cislo pro pripojeni.
2, Domenu vaseho pripojovatele.
3, Jestli server pouziva staticke nebo dynamicke pridelovani
adres.
Staticka adresa znamena, ze dostanete adresu, kterou nebude
pouzivat nikdo jiny. Pak potrebujete znat jeste masku site.
Dynamicka adresa se meni pri kazdem pripojeni. Vetsina
poskytovatelu pouziva tento system.
4, IP adresu DNS serveru.
POZOR! Nekteri poskytovatele vam mohou rict, ze tuto adresu
nepotrebujete, protoze se posila pri prihlasovani. Bohuzel,
takto zaslanou adresu neni Linux schopen prijmout.
5, Jestli je vyzadovano pouziti autentikacniho protokolu PAP
(nebo CHAP).
6, Jestli se na serveru spusti PPP protokol automaticky. A kdyz
ne, tak co musime udelat, aby se spustil.
7, Jestli na serveru bezi M$-Windows NT, a kdyz ano, tak jestli
pouziva M$ PAP (nebo CHAP) autentikacni protokol.
Tyto informace si peclive poznamenejte. Budete je potrebovat.

Dale si muzeme pohrat s nastavenim modemu. Pokud uz modem pouzivate
pod jinym operacnim systemem, muzete pouzit inicializacni sekvenci
z tohoto systemu (pokud se k ni dostanete). U vetsiny modemu ale
vyhovuje firemni nastaveni, takze neni treba neco upravovat.
Pokud byste ale prece jenom chteli neco upravit, podivejte se na
adresu "www.in.net/info/modems/index.html", kde najde mnozstvi ruznych
nastaveni pro nejruznejsi modemy.
Jen tak mimochodem, seriove porty se v Linuxu znaci jinak nez v DOSu.
Seriovy port "COM1:" je v Linuxu oznacen "/dev/ttyS0", "COM2:" je
oznacen "/dev/ttyS1" a tak dale.

A ted se pustime do nastavovani samotneho Linuxu. Nejdrive do souboru
"/etx/resolv.conf" doplnime domenu naseho pripojovatele a adresu(y)
DNS serveru. Vysledek by mel vypadat asi takto:

domain domena.meho.poskytovatele
nameserver 10.25.0.1
nameserver 10.25.1.2

Dale upravime soubor "/etc/host.conf", ktery by mel obsahovat tyto
radky:
order hosts,bind
multi on

Ted se na chvilku zastavime u jednoho problemu, ktery se tyka
samotneho programu "pppd". Tento program je totiz zodpovedny za
spousteni a ukoncovani spojeni. Bohuzel k teto cinnosti potrebuje
superuzivatelska prava. A tady je prave ten problem. Zatimco pouze
administrator je schopen zrusit spojeni, kdokoliv muze vypnout modem.
Jak to tedy vyresit? Jednim z moznych reseni je nastavit programu
v pristupovych pravech tzv. "set uid root" bit. Pak je program schopen
pouzit superuzivetelska prava, i kdyz ho spustil bezny uzivatel. Toto
reseni se ale nedoporucuje, protoze se tim vytvari lehce zneuzitelna
bezpecnostni dira.
Druhou (a o mnoho bezpecnejsi) metodou je pouziti programu "sudo",
ktery umozni nekterym autorizovanym uzivatelum pouzivat super-
uzivatelska prava pro urcite cinnosti.

Tim jsme vyresili problem bezpecnosti a muzeme prejit k dalsi casti.
Ted budeme muset upravit soubor "/etc/ppp/options". Zde pouzijeme
informace ziskane od poskytovatele. Vychozi verzi muzete najit
v priloze dnesni lekce.
Pokud by se vam nahodou chtelo pouzivat vice linek a modemu,
doporucuje se zapsat do souboru "/etc/ppp/options" obecne informace
a konkretni nastaveni pro jednotlive linky uvest do souboru
"/etc/ppp/options.ttyXX".

Pokud je ze strany poskytovatele pozadovan autentikacni protokol PAP
nebo CHAP, je jeste nutne upravit soubory "/etc/ppp/pap-secrets" nebo
"/etc/ppp/chap-secrets".

A ted uz opravdu posledni vec. Tou je uprava skriptu "ppp-on",
"ppp-on-dialer" a "ppp-off", ktere jsou k nalezeni v adresari
"/usr/doc/ppp/examples" (aspon u me). Ty nasledne prekopirujeme do
adresare "/usr/bin" a mame hotovo.
Spojeni pak budeme spoustet prikazem "ppp-on" a vypinat prikazem
"ppp-off".

A to je, doufam, vsechno. Priste se podivame na spojeni skrz paralelni
kabel.

12.4 PLIP - Domaci paralelni minisit
Dalsi moznosti sitoveho propojeni v Linuxu je propojeni dvou pocitacu
paralelnim kabelem. V DOSu je tato varianta podporovana napriklad
programy "LapLink" nebo "TranXit", Linux umoznuje pouzit stejny kabel,
ale chova se trochu jinak. Pouziva specialni protokol PLIP, nad kterym
bezi protokol TCP/IP. Z toho vyplyva, ze i mezi takto propojenymi
pocitaci je mozne napriklad sdilet disky (sluzbou NFS).

Co je k tomu potreba? Tak prvni veci je kabel. Zde jsou dve moznosti,
ktere zaviseji na stari vaseho paralelniho rozhrani.
Pokud mate starsi typ, ktery podporuje jen jednosmerny prenost, muzete
pouzit kabel pouzivany DOSovskym programem "LapLink". Zapojeni kabelu
je nasledujici:

STROBE output 1*
D0->ERROR 2 - 15 15 - 2
D1->SLCT 3 - 13 13 - 3
D2->PAPOUT 4 - 12 12 - 4
D3->ACK 5 - 10 10 - 5
D4->BUSY 6 - 11 11 - 6
D5,D6,D7 are 7*, 8*, 9*
AUTOFD output 14*
INIT output 16*
SLCTIN 17 - 17
extra grounds are 18*,19*,20*,21*,22*,23*,24*
GROUND 25 - 25

Piny oznacene hvezdickou "*" nemaji byt zapojeny.
Pokud mate novejsi paralelni port, ktery zvada obousmerny prenos,
muzete vyuzit druhe zapojeni:

STROBE->BUSY 1 - 11
D0->D0 2 - 2
D1->D1 3 - 3
D2->D2 4 - 4
D3->D3 5 - 5
D4->D4 6 - 6
D5->D5 7 - 7
D6->D6 8 - 8
D7->D7 9 - 9
INIT -> ACK 16 - 10
AUTOFD->PAPOUT 14 - 12
SLCT->SLCTIN 13 - 17
GND->ERROR 18 - 15
extra grounds are 19*,20*,21*,22*,23*,24*
GROUND 25 - 25

Piny oznacene hvezdickou "*" maji opet zustat nezapojene.

Malou zavadou tohoto druhu spojeni muze byt prave pouziti paralelniho
portu, ktery byva nejcasteji pouzivan tiskarnou. Pokud tedy chceme
vyuzit tento zpusob, budeme se muset smirit s tim, ze bude mozne bud
komunikovat s jinym pocitacem nebo tisknout.
V nekterych pripadech bude tez nutne prelozit jadro. Podpora tisku a
paralelni site mohou byt soucasti jadra. Aby nenastaly spory o port,
je nutne obe funkce prelozit jako moduly. (Nez zacnete s prekladem,
podivejte se do adresare "/lib/modules/verze_jadra", jestli se tam
vyskytuji soubory "misc/lp.o" a "net/plip.o". To jsou totiz ony
moduly, ktere bychom dostali prekladem.)

Kdyz tedy mame kabel a spravne prelozene jadro, muzeme se pokusit
propojit dva pocitace. Mejme napriklad pocitace "jedna" a "dva"
(coz ukazuje na autorovu velkou fantazii), ktere chceme propojit.
Nejdrive musime obema pridelit IP adresy, dejme tomu "200.0.0.1" pro
pocitac "jedna" a "200.0.0.2" pro pocitac "dva".

!POZOR! Pri pridelovani IP adres budte opatrni. Jednak volte adresy
z povoleneho rozsahu (jak bylo uvedeno v jedne z predchozich lekci) a,
pokud je vas pocitac pripojen do nejake site, pozadejte administratora
o prideleni druhe adresy. Volba adresy, kterou uz nekdo pouziva by
mohla mit prekvapive nasledky (napriklad zmateni smerovacich tabulek,
takze byste pak treba dostavali cizi postu a postizeny clovek by se
mohl divit, proc mu chodi do schranky ta vase - to jsem samozrejme
prehanel, ale radsi to nezkousejte).

Kdyz mame adresy, upravime konfiguracni soubor "/etc/hosts", aby
vypadal asi takto:

127.0.0.1 localhost
200.0.0.1 jedna
200.0.0.2 dva

Tuto upravu provedeme na obou pocitacich.
Nyni zadame prikazy:

ifconfig plip1 jedna pointopoint dva up
route add dva

cimz nainicializujeme spojeni. Na druhem pocitaci zadame totez, akorat
misto "jedna" piseme "dva" a obracene.
Nakonec muzeme overit jestli spojeni opravdu funguje prikazem:

ping dva

zadanym na pocitaci "jedna" a obracene.
Pokud vsechno proslo spravne, ziskali jsme temer plnohodnotnou sit.

Podrobnejsi informace muzete najit v souboru "/usr/doc/HOWTO/PLIP"
(nebo nekde okolo), kde je detailneji popsana instalace a reseni
problemu.


13. M$-DOS a M$-Windows pod Linuxem

M$-DOS a M$-Windows pod Linuxem
Mozna vas nazev dnesni lekce trochu zarazil a ptate se, co je to za
pitomost. Odpovidam, ze to neni pitomost. Nekolik autoru linuxovych
programu si totiz uvedomilo, ze, i kdyz si nekdo nainstaluje Linux,
stale (nebo aspon nejakou dobu) by rad pouzival sve stare programy pro
DOS nebo Windows. A tak se oni programatori zamysleli a vytvorili dva
i programy.

Prvni z nich je "dosemu", coz je emulator DOSu (to je trochu nepresne,
protoze se emuluje pouze pocitac v realnem modu a DOS musite dodat
sami). Nez je ale mozne si vubec pustit nejaky DOSovsky program,
je nutne provest nekolik kroku.
Nejdrive si musime samozrejme balik s "dosemu" nainstalovat. To necham
zcela na vas, protoze to zalezi na distribuci, kterou pouzivate, a
typu baliku, ktery se vam podarilo sehnat.
V druhem kroku budeme potrebovat startovaci(!) disketu se systemem
DOS. Tu vlozime do mechaniky (koneckoncu kam jinam bychom ji mohli
vlozit :-) a zadame nasledujici prikaz:

dos -A

Ten zpusobi, ze si emulator nacte system z diskety v mechanice "A:"
(mozna bych mel radeji psat "/dev/fd0", nebot jsme pod Linuxem).
Pak je nutne prenest systemove soubory na pripraveny disk "C:", coz je
pod Linuxem soubor o delce priblizne 1MB. K prenosu pouzijeme znamou
DOSovskou utilitu "sys".
Jako posledni je nutne upravit konfiguraci. Na disku "C:" jsou uz
totiz pripraveny soubory "autoexec.bat" a "config.sys". Navic je
prilozeno nekolik programku, ktere pomahaji DOSu "prekladat" nektere
Linuxove veci (jako napriklad mys).
Dalsi konfiguracni soubor je "/etc/dosemu/conf" (nebo
"/etc/dosemu.conf"), kde se daji dostavit ruzne veci tykajici se
vybaveni vaseho pocitace (napriklad typ videokarty, mysi, atd.).
V druhem souboru "/etc/dosemu/users" (nebo "/etc/dosemu.users") muzete
nastavit, kteri uzivatele maji mit k DOSu pristup.
A tim je prakticky hotovo.

Druhy program, ktery emuluje prostredi M$-Windows, se jmenuje "wine".
Nazev je zkratkou, ale jeji vyznam neni jednoznacny. Prvni vyznam je
"WINdows Emulator", coz je jasne. Trochu matouci je druhy vyklad,
ktery uvadi, ze "Wine Is Not Emulator". Ac je to divne, tak oba
vyznamy maji pravdu. Autori opravdu chteji vytvorit kompletni emulator,
ale zatim je k emulaci potreba samostatna instalace M$-Windows.
Samotnemu spusteni ale, stejne jako u "dosemu", musi predchazet uprava
konfiguracniho souboru (zde je pouze jeden) "/etc/wine.conf". Ten je
usporadan ve stylu windowsovskych "ini"-souboru a diky tomu (nebo tomu
navzdory) je dobre srozumitelny i pro smrtelnika.
A kdyz jsme nastavovani dokoncili, muzeme zkusit emulator spustit.
Spusti se z X-Window a xtermu prikazem:

wine -winver <verze_windows> "<cesta_s_programem>"

Jak je videt z pouziti prepinace "-winver", umi "wine" spoustet
nekolik verzi M$-Windows. Zatim (nebot na "wine" se stale pracuje)
existuji moznosti: win31, win95 a nt351.
Pokud se nam nelibi, ze windowsovsky program jaksi nedodrzuje princip
virtualnich ploch, muzeme pouzit prepinac "-managed". Okna pak budou
spravovana X-Window. Zavadou (mozna uz odtranenou, protoze moje verze
je rok stara) je, ze se pak chybne prekresluji, nebo spise
neprekresluji obsahy oken (ale jen tech, ktera patri "wine").
Existuje dokonce i prepinac "-language", ktery dovoluje nastavit jazyk,
kterym s vami ma program (nevim jestli "wine" nebo windows)
komunikovat. Jednou z moznosti je dokonce i "Cz" pro cestinu.

A to by bylo o emulatorech asi tak vsechno. Samozrejme manualove
stranky "dosemu" i "wine" jsou vam plne k dispozici.


14. Pocesteni Linuxu

14.1 Cestina v Linuxu (konzola)
Jednim z pozadavku, ktere anglictiny (ne)znaly uzivatel na operacni
system ma, je podpora jeho rodneho jazyka. Koneckoncu, kdyz muzou byt
do cestiny prelozene i Windoze, proc by tak jednoduchou vec nezvladl
i Linux. Jenze ona cela vec tak jednoducha neni. A i kdyz Linux
poskytuje pro lokalizaci velmi mocne nastroje, je podpora ceskeho (ale
i jinych jazyku) velmi mala. Dejme tomu, ze se pro zacatek spokojime
"jen" se zobrazovanim ceskych znaku a ceskou klavesnici.

Co k tomu budeme potrebovat? Vlasne velmi malo. Dva baliky. Balik
"kbd", ktery obsahuje program "setfont" (jeho ucel je z nazvu zrejmy),
program "loadkeys" a nekolik fontu a balik "locales", ktery zajistuje
prelozeni nekterych programu. S timto balikem nemusime delat nic
jineho, nez ho nainstalovat. S balikem "kbd" a hlavne s programy v nem
obsazenymi se seznamime blize.

Nyni vyresime prvni cast naseho problemu a to psani ceskych znaku.
Pokud jste nekdy zkouseli upravit font pod DOSem, nebude pro vas tento
krok zadnym problemem. Jedne, co je nutne udelat, je napsat prikaz:

setfont <nazev_fontu>

Tim jsme zavedli nami vybrany font a ten bude zobrazovan na vsech
textovych konzolach. Ve vetsine dokumentaci je doporucovan font
"lat2-16.psf". Druhou variantou je "iso02.f16". Dalsi fonty muzete
najit v adresari "/usr/lib/kbd/consolefonts" nebo
"/usr/share/consolefonts". Ne vsechny ovsem budou vhodne pro cestinu.

Ted se podivame na druhou cast problemu - ceskou klavesnici. K tomu
slouzi vyse zmineny program "loadkeys". Mapy klaves, ktere tento
program zavadi, najdete v adresari "/usr/lib/kbd/keytables" nebo
"/usr/share/keytables". V baliku "kbd" jsou tez mapy pro ceskou
klavesnici a to hned tri. Vhodnou mapu klaves zavedeme prikazem:

loadkeys <mapa_klaves>

Tato zmena se vsak neprojevi na vsech konzolach, ale pouze na te, na
ktere jsme prikaz zadali.

Kdyz si to vsak budete chtit vyzkouset, nemusi to fungovat. Proc?
Jednoduse proto, ze shelly byly originalne nastaveny tak, aby
fungovali s anglictinou a pouze s ni. Nastesti reseni existuje.
Pokud tedy pouzivate shell "bash", pripiste do souboru "/etc/profile"
(nejlepe nekam k zacatku):

set meta-flag on
set convert-meta off
set output-meta on

V shellu "tcsh" je problem jednodussi, staci nastavit promennou "LANG"
na hodnotu "cs" nebo "czech":

setenv LANG czech

Ackoliv jsou uvedene prikazy kratke, bylo by jiste velmi unavne
zadavat je pri kazdem spusteni znovu. Automaticke zavadeni muzeme
docilit velmi jednoduse tim, ze je pridame do startovacich skriptu
(v distribuci Slackware je to, myslim, soubor
"/etc/init.d/rc.local"). To je obecny postup, ktery bude fungovat
vsude, nicmene distribuce RedHat a Debian uz s lokalizaci pocitaly
a poskytuji trochu jine nastroje.
V RedHatu je treba pro automaticke zavadeni mapy klaves pridat do
souboru "/etc/sysconfig/keyboard" nasledujici radek:

KEYTABLE="/usr/lib/kbd/keytables/mapa_klaves.map"

Pro fonty je nutne pouzit obecny postup.
V Debianu je treba zkopirovat zvolenou mapu do adresare "/etc/kbd"
a prejmenovat ji na "default.map(.gz)". (To ".gz" se prida v pripade,
ze je mapa komprimovana. Program si ji umi rozbalit.) Dale je nutne
upravit soubor "/etc/kbd/config" na nasledujici tvar:

CONSOLE_FONT=iso02.f16
#CONSOLE_MAP=iso02.uni

Funkci druhe polozky jsem zatim neodhalil, ale mohla by urcovat
prevodni tabulku do Unicodu (univerzalni kodovani s 65536 pozicemi
misto 256).

Kdyz uz nam to chodi, muzeme si jeste nastavit promennou "LANG", ktera
urcuje, ktery jazyk se ma pouzit. V "bash" shellu napiseme:

LANG=czech
export LANG

Nastaveni v "tcsh" je uvedeno vyse.
Po nastaveni teto promenne zacne vsechno, pro co jsou instalovany
ceske preklady, mluvit cesky. (Zkuste si treba prikaz "ls -la".)

Bohuzel ne vsechny programy se se zmenou fontu a klavesnice dokazi
vyporadat. Typickym pripadem je program "Midnight Commander", ktery po
zavedeni ceskeho fontu naprosto "zrusi" vsechny ramecky. Nastesti
existuje prepinac "-a", ktery nahradi ramecky znaky "+", "-"
a dalsimi. Nevypada to pak sice tak hezky jako s grafickymi ramecky,
ale rozhodne to vypada lepe nez s nesmyslnymi znaky.

Jak sami vidite nejde vubec o jednoduchy problem. Jen tak mimochodem
podivejte se na dokumentaci programu "cstocs". Bude se vam jiste
hodit. Priste se podivame na cestinu v prostredi X-Window.

14.2 Cestina v Linuxu (X-Window)
Zaklad problemu ceskeho jazyka v systemu X-Window je stejny jako na
konzoli. Jde tedy o fonty a o klavesnici. Hned v uvodu napisu, ze to
zdaleka neni vsechno, co je nutne nastavit, nez na vas prvni program
a vubec cele prostredi promluvi cesky.

Nejdrive se tedy podivejme na fonty. Nemusime vubec zadne vytvaret,
nebot to uz za nas udelali jini. Balik s ceskymi fonty (nebo spise
s fonty ISO-Latin-2) je soucasti distribuci RedHat a Debian nebo je
k sehnani na adrese "http://www.biz.net.pl/english/x-fonts/index.html"
(polaci totiz spadaji pod stejne kodovani).
Kdyz si tyto fonty nainstalujete, musite jeste rict X-Serveru, ze je
ma pouzit a kde je ma hledat (nektere distribuce to udelaji za vas,
nektere to neudelaji a nektere jen z casti). To se provede prikazy:

mkfontdir adresar
xset +fp adresar

kde _adresar_ je nazev adresare, kde jsou nainstalovane fonty.
Prikaz "mkfontdir" vytvori v tomto adresari seznam dostupnych fontu
a prikaz "xset" umisti do souboru "/etc/X11/XF86Config" odkaz do
tohoto adresare.
Pokud toto provadite z bezicich X-Window, zadejte jeste prikaz:

xset fp rehash

Tim se znovu nacte seznam fontu bez nutnosti restartovat X-Window.

A dostavame se ke klavesnici. K jejimu nastaveni musime mit
nainstalovany klavesnicove mapy (ktere jsou, bohuzel, odlisne od tech
konzolovych), ktere jsou vetsinou soucasti nejakeho vyzadovaneho
baliku. Dale musime mit nastavenu promennou "LANG" na hodnotu "czech"
nebo "cs_CZ" (o tom, jak to udelat, jsem psal minule).
Nanestesti doslo v XFree86 od verze 3.3.3.1 ke zmene, ktera vedla
k vetsimu mnozstvi map (ted jich je sest) a zmene nastavovani. Takze
pro tuto novou verzi je nutne upravit soubor "/etc/X11/XF86Config"
tak, ze do sekce "Keyboard" napiseme nasledujici:

Protocol "Standard"
AutoRepeat 500 5
XkbModel "pc102" # nebo "pc101", coz mam ja
XkbKeymap "xfree86(us_cz_qwertz)" # nebo jina mapa
XkbCompat "group_led"

Nesmi se zde vyskytnout radek "XkbDisable".
Tim ziskame pri kazdem startu X-Window americkou a ceskou klavesnici,
mezi kterymi je mozne prepinat bud klavesou "Scroll_Lock" nebo stiskem
obou shiftu.

Toto se tykalo novejsich distribuci (zatim asi jen RH 6.0) vydanych
od roku 1999. Pokud mame starsi verzi XFree86 (coz je velmi
pravdepodobne), muzete si do stejneho souboru na stejne misto dopsat:

XkbLayout "cs"
XkbOptions "grp:shift_toggle"

Tim ziskame klavesnici ceskeho psaciho stroje s moznosti prepnuti
stiskem obou shiftu (v cestine se to, myslim, nazyva prerazovac) na
americkou klavesnici. Obecne se nedoporucuje klavesnici "cs" dodavanou
spolu s X-Window pouzivat, protoze neni tak docela v poradku. Lze to
vyresit bud jeji opravou, nebo pouzit mapy z verze 3.3.3.1, ktere jsou
ke stazeni na serveru "ftp://ftp.fi.muni.cz".

Ted, kdyz jsme nastavili ceske fonty a ceskou klavesnici, by se mohlo
zdat, ze mame vyhrano. Bohuzel, nemame. V souboru
"/usr/X11R6/lib/X11/locale/locale.alias" je totiz chyba. Melo by tam
byt uvedeno toto:

cs_CZ cs_CZ.ISO8859-2
czech cs_CZ.ISO8859-2

Tyto radky nejsou uvedeny za sebou. Prvni radek je uz v XFree86
3.3.3.1 opraven, druhy ne.

Dale se muze stat, ze nefunguji klavesy "aeiyu", ale lze je napsat
pres mrtvy hacek (to je znak Shift a "+") a pismeno (mrtvy znamena, ze
se znak nepise hned, ale az s pismenem). V tomto pripade je nutne do
souboru "/usr/X11R6/lib/X11/locale/iso8859-2/Compose" dopsat toto:

<yacute> : "\375" yacute
<aacute> : "\341" aacute
<iacute> : "\355" iacute
<eacute> : "\351" eacute
<uacute> : "\372" uacute

Mnoho programu neni schopno akceptovat ceske znaky nebo nejsou schopny
je korektne vypsat. Vetsinou je to zpusobeno tim, ze se snazi pouzit
nespravny font. I kdyz je takovych programu zatim vetsina, zacinaji se
pomalu objevovat prvni vlastovky (napriklad editor "fte" nebo hra
"xboing", ktera jako jedina umi spravne napsat me jmeno). Pokud ale
vas oblibeny program patri do druhe skupiny, nemusite zoufat. S velkou
pravdepodobnosti nekde existuje navod, jak program k pouzivani cestiny
donutit.

Vetsine programu (tech ochotnejsich, ktere akceptuji ceske znaky, ale
vypisuji bludy) staci vnutit cesky font. To lze udelat bud prepinacem
"-fn" nebo upravou souboru v adresari
"/usr/X11R6/lib/X11/app-defaults". Mezi tyto programy patri napriklad
"xterm".

Bohuzel, vetsina uprav se lisi program od programu. Pokud tedy vazne
uvazujete o tom, ze si nektery program upravite, doporucuji nejdrive
precist "Czech-HOWTO" (ke stazeni na "ftp://ftp.fi.muni.cz"), kde
najdete podrobne navody.