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.