Praktikum z operacˇnıch syste´mu

Transkript

Praktikum z operacˇnıch syste´mu
Šárka Vavrečková
Praktikum
z operačnı́ch systémů
Část II: Linux
Slezská univerzita v Opavě
Filozoficko-přı́rodovědecká fakulta
Ústav informatiky
Opava, poslednı́ aktualizace 23. řı́jna 2015
Anotace: Tento dokument je určen pro studenty druhého ročnı́ku IVT na Ústavu
informatiky Slezské univerzity v Opavě, pro druhou polovinu semestru v předmětu Praktikum z operačnı́ch systémů. Obsahuje pouze druhou část věnovanou
základům správy operačnı́ho systému Linux.
Praktikum z operačnı́ch systémů
Část II Linux
RNDr. Šárka Vavrečková, Ph.D.
Dostupné na: http://fpf.slu.cz/~vav10ui/pos.html
Ústav informatiky
Filozoficko-přı́rodovědecká fakulta
Slezská univerzita v Opavě
Bezručovo nám. 13, 746 01 Opava
Sázeno v systému LATEX
Tato inovace předmětu Praktikum z operačnı́ch systémů je spolufinancována Evropským
sociálnı́m fondem a Státnı́m rozpočtem ČR, projekt č. CZ.1.07/2.2.00/28.0014, „Interdisciplinárnı́ vzdělávánı́ v ICT s jazykovou kompetencı́ “.
Obsah
1
2
3
O operačnı́ch systémech
1.1 Licence . . . . . . . . . . . . . . . . . . . . .
1.1.1 Základnı́ pojmy . . . . . . . . . . . .
1.1.2 Nejpoužı́vanějšı́ licence . . . . . . .
1.2 Systémy unixového typu . . . . . . . . . . .
1.2.1 Unix . . . . . . . . . . . . . . . . . .
1.2.2 Větve a standardy unixového světa .
1.2.3 Linux . . . . . . . . . . . . . . . . . .
1.2.4 Mac OS . . . . . . . . . . . . . . . . .
1.2.5 Některé dalšı́ unixové systémy . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
2
6
6
7
8
10
11
Použı́váme Linux
2.1 Začı́náme . . . . . . . . . . . . . . . . .
2.2 Prostředı́ KDE . . . . . . . . . . . . . .
2.2.1 Kde hledat potřebné nástroje .
2.2.2 Pracovnı́ plocha a hlavnı́ panel
2.2.3 Ovládacı́ centrum KDE . . . .
2.2.4 Informačnı́ centrum . . . . . .
2.2.5 Dalšı́ nástroje . . . . . . . . . .
2.3 Prostředı́ GNOME . . . . . . . . . . .
2.3.1 Pracovnı́ plocha . . . . . . . . .
2.3.2 Ovládacı́ centrum . . . . . . . .
2.3.3 Dalšı́ nástroje . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
14
15
16
18
31
33
38
38
42
49
Vlastnosti unixových systémů
3.1 Uživatelé a skupiny . . . .
3.2 Procesy . . . . . . . . . . .
3.3 Adresáře a soubory . . . .
3.3.1 Soubory . . . . . .
3.3.2 Struktura adresářů
3.3.3 Odkazy na soubor
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
52
52
53
54
54
55
59
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
iii
.
.
.
.
.
.
iv
3.4
3.5
4
5
Zařı́zenı́ . . . . . . . . . . . . . . . . . . . . .
3.4.1 Zajištěnı́ přı́stupu k zařı́zenı́m . . .
3.4.2 Obvyklá umı́stěnı́ . . . . . . . . . . .
Přı́stupová oprávněnı́ a vlastnosti souborů
3.5.1 Úvod do přı́stupových oprávněnı́ .
3.5.2 Speciálnı́ přı́znaky . . . . . . . . . .
3.5.3 Atributy souborů . . . . . . . . . . .
Linux
4.1 Základnı́ údaje . . . . . . . . . . . . . .
4.2 Linuxové distribuce . . . . . . . . . . .
4.2.1 Co je to distribuce . . . . . . .
4.2.2 Některé nejznámějšı́ distribuce
4.3 Instalace systému . . . . . . . . . . . .
4.4 Software v linuxových distribucı́ch . .
4.4.1 Vybavenost aplikacemi . . . . .
4.4.2 Instalace softwaru . . . . . . .
4.5 Grafické prostředı́ . . . . . . . . . . . .
4.5.1 Správci oken . . . . . . . . . . .
4.5.2 Desktopová prostředı́ . . . . .
4.5.3 3D rozhranı́ . . . . . . . . . . .
4.6 Konzoly . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Textový režim v Linuxu
5.1 Textové shelly a přı́kazy . . . . . . . . . . . . .
5.1.1 Kdy, kde a jak použı́vat textový shell .
5.1.2 Struktura přı́kazů . . . . . . . . . . . . .
5.2 Zástupné znaky . . . . . . . . . . . . . . . . . .
5.3 Nápověda . . . . . . . . . . . . . . . . . . . . .
5.3.1 Jak volat o pomoc . . . . . . . . . . . . .
5.3.2 Manuálové stránky . . . . . . . . . . . .
5.3.3 Znám přı́kaz, chci vědět, k čemu sloužı́
5.3.4 Neznám přı́kaz . . . . . . . . . . . . . .
5.4 Práce s adresáři a soubory . . . . . . . . . . . .
5.4.1 Adresáře . . . . . . . . . . . . . . . . . .
5.4.2 Soubory . . . . . . . . . . . . . . . . . .
5.4.3 Pevné a symbolické odkazy . . . . . . .
5.5 Přesměrovánı́ a filtry . . . . . . . . . . . . . . .
5.5.1 Směrovánı́ a deskriptory . . . . . . . . .
5.5.2 Filtry . . . . . . . . . . . . . . . . . . . .
5.6 Základy práce s proměnnými . . . . . . . . . .
5.7 Dalšı́ přı́kazy . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
60
60
61
65
65
67
70
.
.
.
.
.
.
.
.
.
.
.
.
.
76
76
78
78
81
88
89
89
91
95
96
97
99
100
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
103
103
103
105
106
106
106
107
110
112
114
114
116
118
119
119
121
123
126
Kapitola
1
O operačnı́ch systémech
Seznámı́me se se základnı́mi pojmy souvisejı́cı́mi s dostupnostı́ operačnı́ch systémů a licencemi, pod
kterými jsou šı́řeny. Následuje přehled nejběžnějšı́ch operačnı́ch systémů unixového typu a dále si
přiblı́žı́me Linux.
1.1
1.1.1
Licence
Základnı́ pojmy
Většina licencı́ ve světě softwaru je vpodstatě dvojı́ho druhu: proprietálnı́ (uzavřené) a opensource (svobodné, s otevřeným zdrojovým kódem).
Prvnı́ druh obvykle znamená nutnost platit za poskytnutı́ možnosti využı́vat produkt
s tı́m, že uživatel nemá dovoleno produkt dále modifikovat, Open Source je typ licence
umožňujı́cı́ volně nakládat nejen s produktem samotným, ale i s jeho zdrojovým kódem
(i když nemusı́ být zcela zdarma). U obou typů existuje komerčnı́ varianta, tj. nenı́ zadarmo.
Komerčnı́ open-source software bývá někdy zdarma dostupný alespoň ve zdrojových kódech, obvykle platı́me spı́še za technickou podporu, manuály, on-line podporu apod.
Zatı́mco Windows jsou poskytovány pouze pod proprietálnı́ komerčnı́ licencı́ EULA
a přı́padně jejı́mi modifikacemi typu hromadné licence, zvýhodněné licence pro školstvı́
nebo OEM, ve světě unixových systémů je použı́vána řada různých licencı́. Většina tradičnı́ch unixových systémů určených předevšı́m pro servery je distribuována pod komerčnı́
licencı́, z ostatnı́ch použı́vaných licencı́ je nejznámějšı́ GPL.
Definici Open Source vytvořila a tento projekt udržuje Open Source Initiative (OSI).1
Pokud někdo chce publikovat licenci jako Open Source, musı́ požádat OSI o certifikaci této
licence jako Open Source. Když OSI zjistı́, že licence odpovı́dá definici Open Source, je
1
http://opensource.org/, podstatné jméno Open Source, přı́davné jméno open-source.
1
P
P
1.1
LICENCE
2
certifikace udělena. Pro open-source software se také použı́vá také pojem svobodný software
(free software).
Freeware a free software nenı́ totéž. Freeware je volně dostupný software, ale neřı́ká to nic
o licenci, pod kterou je distribuován (může být proprietálnı́, free zde znamená „zdarma“).
Free software (distribuovaný často pod licencı́ GPL) je odvozen od jiného významu slova
free – svobodný (můžeme si s nı́m dělat co chceme, když už se k němu dostaneme). Bývá
většinou volně dostupný (volně ke staženı́ na internetu), ale nemusı́ (je za penı́ze, tedy
komerčnı́).
Kromě proprietálnı́ch a open-source licencı́ existujı́ také licence typu Public Domain.
Tento typ licencı́ je naprosto svobodný, uživatelé si s takto šı́řeným softwarem mohou dělat
opravdu co chtějı́ včetně nejrůznějšı́ch úprav a distribuce pod jiným typem licence.
Licence můžeme dělit na copyrighty a copylefty. Copyright obvykle znamená, že to,
co je licencováno, můžeme jistým způsobem použı́vat, ale nesmı́me do toho zasahovat
a nesmı́me to dále bez dovolenı́ distribuovat (pouze autor má právo rozhodovat o „kopı́rovánı́ “, tedy má výhradnı́ právo – right – na kopı́rovánı́ – copy). Copyleft umožňuje
nejen použı́vánı́, ale i možnost úprav (třeba zdrojového kódu) i dalšı́ distribuci (vytvářenı́
a distribuovánı́ kopiı́ nenı́ radikálně omezeno). Možnost úprav bývá ale omezena s tı́m, že
při dalšı́m distribuovánı́ musı́ být zaznamenáno, o jaké úpravy šlo, kdo je provedl a kdo je
původnı́ autor. Hlavnı́m principem copyleftu je nutnost poskytnout uživateli stejná práva
k produktu, jaká má distributor či producent (který je také často uživatelem vzhledem
k jinému distributorovi a producentovi).
GNU2 je rekurzivnı́ zkratka GNU’s Not Unix, vznikla pravděpodobně ve snaze odlišit
licencovánı́ od komerčnı́ch Unixů (tehdy už/ještě nebyly volně šiřitelné Unixy jako je
napřı́klad OpenBSD). Je to projekt, který vytvářı́ volně šiřitelný software na profesionálnı́
úrovni. Nenı́ to licence, ale projekt.
P
P
P
P
Do projektu se může zapojit kdokoliv, kdo chce svými programy přispı́vat do už velmi
rozsáhlé množiny volně šiřitelných, ale přesto velmi kvalitnı́ch programů, dále každý
uživatel, který dobrovolně testuje beta verze těchto programů a o přı́padných chybách
informuje programátora. Rozsáhlost projektu mnohé překvapuje právě proto, že v mnoha
přı́padech jde vlastně o práci zdarma.
1.1.2
Nejpoužı́vanějšı́ licence
EULA (End-User Licence Agreement – dohoda s koncovým uživatelem) je proprietálnı́
licence použı́vaná firmou Microsoft a také dalšı́mi firmami produkujı́cı́mi software předevšı́m pro operačnı́ systém Windows. Tato licence omezuje uživatele softwaru v oblasti
úprav (software může být použı́ván pouze „obvyklým způsobem“), počtu použı́vaných
2
http://www.gnu.org/
P
1.1
LICENCE
3
kopiı́ (zvláště v přı́padě OEM softwaru je licence omezena jen na konkrétnı́ počı́tač, při
instalaci na jiný porušujeme podmı́nky licence) a také možnostı́ distribuce (distribuce uživatelem je obvykle považována za pirátstvı́, nezákonné šı́řenı́).
Narozdı́l od dále uvedené GPL má autor softwaru distribuovaného pod licencı́ EULA
možnost licenčnı́ podmı́nky dále upravovat (obvykle zpřı́sňovat). Proto je doporučeno
text licence důkladně pročı́st ještě před instalaci takového programu, aby uživatel nebyl
překvapen důsledky odsouhlasenı́ podmı́nek licence.
E
Kromě toho, že EULA silně omezuje možnosti využitı́ softwaru pod nı́ distribuovaného,
obsahuje také klauzuli o tom, že autor neodpovı́dá za škody vzniklé provozovánı́m softwaru. Tato klauzule je obecně hodně obvyklá u různých licencı́, i když z právnı́ho hlediska
je napadnutelná ve většině států světa.
Obhajobou podmı́nek licence EULA je známa předevšı́m organizace BSA (Business
Software Alliance). Jde o mezinárodnı́ nevládnı́ sdruženı́ producentů softwaru (z velké
části financované Microsoftem), které v České republice nemá oficiálnı́ zastoupenı́ (ani
právnı́ subjektivitu) a také samozřejmě nemá pravomoci policie.
GNU GPL3 je zkratka z GNU General Public Licence), tuto licenci vytvořil Richard Stallman
pro projekt GNU. Patřı́ mezi copylefty a jedná se o open-source licenci. Hlavnı́ vlastnosti:
• Software šı́řený pod touto licencı́ je volně poskytován včetně zdrojového kódu. Znamená to, že distributor, který pod touto licencı́ poskytuje binárnı́ (přeložený) software,
musı́ poskytnout také zdrojové kódy a všechny dalšı́ potřebné soubory (napřı́klad makefile popisujı́cı́ způsob překladu), a to bud’ stejným způsobem jako ty binárnı́, a nebo
jiným akceptovaným.
• Je dovoleno provádět změny v kódu a dále software šı́řit i po těchto změnách, ale vždy
musı́ být uvedeno jméno původnı́ho autora (GPL rozhodně nepopı́rá autorská práva),
upozorněnı́, že program byl změněn a datum této změny. Součástı́ distribuovaného
produktu musı́ být i zněnı́ licence.
• Pokud je software šı́řený pod GPL dále distribuován, musı́ to být opět pod licencı́
GPL (i v přı́padě, že tento software byl pozměněn).
Při zásazı́ch toto ustanovenı́ platı́ i v přı́padě, že by z původnı́ho programu zůstal
třeba jen „poslednı́ řádek kódu“ – reálně to také znamená, že když je knihovna
distribuována pod GPL, nelze ji nalinkovat do programu šı́řeného pod jinou licencı́
(ani zároveň s nı́m distribuovat). Proto GPL nebývá pro knihovny většinou použı́vána,
k tomu účelu sloužı́ LGPL.
• Pokud je software šı́řen pod licencı́ GPL, nesmı́ autor (ani distributor) přidávat žádné
dalšı́ podmı́nky omezujı́cı́ využı́vánı́ tohoto softwaru (tato podmı́nka je výše zmı́něna
jako copyleft).
3
Na http://www.gnu.cz/article/32/ je neoficiálnı́ překlad do češtiny, oficiálnı́ zněnı́ nejnovějšı́ verze je na
http://www.gnu.org/licenses/gpl.html.
P
1.1
LICENCE
4
• Software poskytovaný pod GPL je bez záruky v rámci právnı́ho systému určitého
státu. Je to klauzule podobná té, která byla uvedena u EULA.
GNU GPL neznamená software zdarma, i když tomu tak často je. Distributor může za
produkt požadovat penı́ze, i když sám ho zı́skal zdarma (to je přı́pad „krabicových verzı́“
Linuxu, nazýváme je komerčnı́ distribuce). Platı́ se za zkompletovánı́, přidané nástroje,
přı́ručky, poskytovanou podporu (aktualizace systému přes internet, pomoc při instalaci
nebo nenadálých problémech, . . . ) a přı́padné výhody (např. členstvı́ v klubu).
Asi nejznámějšı́ software distribuovaný pod GNU GPL je jádro operačnı́ho systému
Linux, dále je spolu s LGPL běžně použı́vaná pro software patřı́cı́ do projektu GNU.
GNU LGPL4 znamená GNU Lesser GPL. Je to licence odvozená z GPL. Rozdı́l oproti GNU
General Public Licence je v tom, že knihovny (obecně kód) zveřejněné pod LGPL mohou
být použı́vány i v programech pod jinou licencı́ včetně licencı́ proprietálnı́ch.
GNU FDL (GNU Free Documentation Licence) je licence určená předevšı́m pro dokumentaci k programům vytvářeným v projektu GNU. Je poměrně hodně podobná licenci GPL,
ale přizpůsobená požadavkům kladeným na dokumentové licence.
P
P
U děl šı́řených pod FDL musı́ být uvedeni všichni současnı́ i předchozı́ autoři dı́la
a veškeré změny, které postupně byly na dı́le provedeny. Pokud je dı́lo dále distribuováno,
pak opět pod FDL bez jakýchkoliv změn podmı́nek licence. Distribuci a použı́vánı́ dı́la takto
šı́řeného nelze nijak omezovat, at’už přidanými podmı́nkami nebo technickými prostředky
(DRM).
Podobně jako u GPL, i zde je nutné distribuovat dı́lo včetně zněnı́ licence. To sice nenı́ na
překážku u programů, ale u dokumentů ano – pokud dokument nebo jeho část vytiskneme,
měli bychom správně vytisknout i text licence a přiložit ho. To je jeden z důvodů, proč
Wikipedia přešla od licence FDL k CC-by-sa. Obdobná databáze Navajo zůstává u FDL.
Je zajı́mavé (ale smutné), že GPL a FDL jsou navzájem nekompatibilnı́.
BSD je licence, pod kterou je dnes distribuováno hodně systémů unixové větve BSD,
napřı́klad OpenBSD.
Ve své základnı́ podobě umožňuje volnou distribuci a také volné využitı́ části zdrojového
kódu, včetně použı́vánı́ tohoto kódu v systémech pod uzavřenou (closed, komerčnı́) licencı́
jako je Solaris nebo MacOS X (ale ne naopak, v softwaru distribuovaném pod BSD nesmı́
být použit uzavřený kód). Je považována za mnohem volnějšı́ než GPL.
Narozdı́l od GNU GPL je BSD licence typu copyright. Projevuje se to předevšı́m v nutnosti uvádět některé povinné údaje včetně jmen autorů, a také v možnosti distribuovat
produkt pod jinou, vı́ce omezenou licencı́ (napřı́klad – když programátor použije část kódu
původně distribuovanou pod BSD, nenı́ vázán nutnostı́ použı́t BSD i pro svůj výtvor).
4
Nejnovějšı́ verze je na http://www.gnu.org/licenses/lgpl.html.
P
1.1
LICENCE
5
BSD licence, stejně jako LGPL a některé dalšı́ licence, je kompatibilnı́ s GPL (týká se to
BSD v tzv. revidované formě – „třı́bodové“), proto je možné kód původně licencovaný BSD
sloučit s kódem licencovaným GPL. Ovšem dı́ky klauzulı́m v GPL je nutné takto sloučený
software šı́řit pod licencı́ GPL.
CDDL (Common Development and Distribution Licence) je open-source licence, kterou
vytvořila firma Sun Microsystems, aby pod nı́ uvolnila svou variantu Unixu Solaris pod
názvem OpenSolaris. Jsou pod nı́ distribuovány i některé dalšı́ produkty firmy Sun, napřı́klad souborový systém ZFS. Tato licence je open-source, ale nekompatibilnı́ s GPL, proto
kód z OpenSolaris a jiných takto distribuovaných projektů se nesmı́ použı́t v softwaru
distribuovaném pod licencı́ GPL.
CC5 (Creative Commons) je projekt zahrnujı́cı́ vı́ce různých svobodných licencı́ určených
předevšı́m pro zveřejňovánı́ autorských děl na internetu (nenı́ vhodná pro software ani
pro dokumentaci k němu). Součástı́ projektu je taky souhrn metadat použitelných na dı́lo
a jeho licenci, která majı́ usnadnit automatické zpracovávánı́ (předevšı́m vyhledávánı́)
podle různých kritériı́.
P
P
CC licence jsou kombinacı́ některých z těchto vlastnostı́ (licenci si lze poskládat použitı́m/nepoužitı́m jednotlivých vlastnostı́):
1.
2.
3.
4.
Attribution (by) – at’se s dı́lem děje cokoliv, vždy musı́ být uveden autor.
Noncommercial (nc) – nekomerčnı́, určené pro nevýdělečné účely.
No derivate works (nd) – pokud je dı́lo pozměněno, nesmı́ být distribuováno.
Share alike (sa) – pokud je dı́lo dále distribuováno, pak jen bez změny licence.
Obvykle se předpokládá použitı́ prvnı́ vlastnosti (by), ostatnı́ lze libovolně přidávat. Vlastnosti nd a sa se navzájem vylučujı́, nelze je kombinovat v jedné licenci. Výsledné licence se
pak označujı́ podle kombinace vlastnostı́, které zahrnujı́, napřı́klad CC-by-sa zahrnuje prvnı́
a poslednı́ uvedenou vlastnost (musı́ být uveden autor a dı́lo má být dále distribuováno
vždy jen pod licencı́ CC-by-sa).
Možné kombinace najdeme na http://creativecommons.org/licenses/, kdokoliv si může
volně zvolit některou z těchto možnostı́ a použı́t pro šı́řenı́ svého dı́la.
K nejznámějšı́m projektům licencovaným pod licencemi CC patřı́ Wikipedia a Flicker.
Nekompatibilnı́ licence se dajı́ kombinovat pouze při duálnı́m (nebo obecně vı́cenásobném) licencovánı́ – jeden produkt (jako celek) je poskytován pod vı́ce různými licencemi
zároveň. Typickým přı́kladem je kombinace nekompatibilnı́ch licencı́ FDL a GPL pro přı́klady kódu v projektu GNU, aby bylo možné ukázky kódu vkládat jak do dokumentace,
tak i do samotných programů.
5
http://creativecommons.org/
P
1.2
SYSTÉMY UNIXOVÉHO TYPU
6
Přı́klad 1.1
Některé produkty majı́ své licencovánı́ vyřešeno poněkud složitě. Typickým přı́kladem
je Mozilla Firefox, jehož zdrojové kódy jsou šı́řeny pod třemi licencemi zároveň (triplelicencing) – MPL/GPL/LGPL, kde MPL6 je Mozilla Public Licence. Samotný (přeložený)
program je pak šı́řen pod licencı́ EULA. Dı́ky trojitému licencovánı́ zdrojového kódu je
možné tento kód přeložit (s přı́padnými úpravami) a dále distribuovat, ale již pod jiným
názvem a s jiným logem.
Úkoly
1. Zjistěte, jaký je vztah mezi projektem GNU a Linuxem. Najděte informaci o GNU
Hurd – co to je?
2. Které licence s GNU souvisejı́ a jakou roli v této problematice hraje organizace FSF
(Free Software Foundation) – http://www.fsf.org/.
3. Zjistěte, zda je GNU GPL verze 3 kompatibilnı́ s GNU GPL verze 2 (informaci najdete
v seznamu licencı́ na http://www.gnu.org/licenses/license-list.html).
4. V tabulce na http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility si projděte možnosti uvolněnı́ projektu pod některou licencı́ v přı́padě, že kopı́rujete kód/použı́váte
knihovnu zveřejněný(-nou) pod konkrétnı́ verzı́ GNU GPL nebo GNU LGPL. Všimněte si rozdı́lu mezi označenı́mi „v. only“ a „or later“. Rozdı́l mezi GPL a LGPL pěkně
ilustrujı́ poslednı́ řádky tabulky pro knihovny šı́řené pod LGPL.
1.2
1.2.1
Systémy unixového typu
Unix
Unix je vı́ceuživatelský multitaskový (preemptivnı́ multitasking se sdı́lenı́m času, multithreading) sı́t’ový operačnı́ systém běžı́cı́ prakticky na čemkoliv od i386, včetně nových
typů počı́tačů (už dlouho existujı́ 64bitové varianty, už před Windows 64bit). Je to také
vı́ceprocesorový systém (dokáže rozdělovat úlohy mezi vı́ce procesorů) a důležitým rysem
pro některé aplikace je i podpora realtimových procesů (dokáže reagovat dostatečně rychle,
přesněji ve stanovených časových hranicı́ch).
Unix vznikl roku 1969 v Bell Laboratories firmy AT&T (prvnı́ provozuschopné verze
byly asi o 2 roky později), pracovali na něm předevšı́m programátoři Ken Thompson
a Denis Ritchie. Jeho předchůdcem je MULTICS, operačnı́ systém sice velmi výkonný,
6
R
http://www.mozilla.org/MPL/MPL-1.1.html
P
1.2
SYSTÉMY UNIXOVÉHO TYPU
7
stabilnı́ a bezpečný, ale velmi složitý. Byl navržen předevšı́m pro velké střediskové počı́tače,
ale protože jel téměř na čemkoliv, začal se rozšiřovat i na menšı́ počı́tače. Dnes je chápán
předevšı́m jako sı́t’ový operačnı́ systém použitelný také na pracovnı́ch stanicı́ch.
Záměrem tvůrců Unixu bylo vytvořit operačnı́ systém, který by měl kladné vlastnosti
MULTICSu a zároveň aby měl jednoduchou snadno rozšiřitelnou strukturu. Podle toho byl
také původně pojmenován – UNICS (Uniplex Information and Computing System, později
se CS změnilo na „modernı́“ X).
Unix byl původně psán v assembleru, později přepsán do jazyka BCPL (nazvaného
údajně podle Bucephala, koně Alexandra Velikého), v roce 1972 byl zdrojový text přepsán
do jazyka C (tento jazyk byl ostatně vytvořen právě k tomuto účelu). Důsledkem bylo nejen
zpřehledněnı́, ale také zvýšenı́ přenositelnosti. Pokud programátoři chtěli použı́t Unix na
jiné platformě (HW), nebylo již třeba provádět velké změny ve zdrojových kódech.
Celý operačnı́ systém byl původně koncipován tak, aby jednotlivé úkony bylo možné
provádět pomocı́ řady malých nenáročných programů či přı́kazů, a proto v jednom kterémkoliv okamžiku vlastně nenı́ tolik prostředků zapotřebı́, tedy nemá velké systémové
požadavky. Dalšı́m typickým rysem je použı́vánı́ textových konfiguračnı́ch souborů (binárnı́ soubory vyžadujı́ speciálnı́ programy pro jejich zpracovánı́) a princip „všechno je
soubor“, jehož důsledkem je možnost prakticky k čemukoliv přistupovat jako k souboru
(včetně zařı́zenı́ a některých objektů v systému).
$
Vyznačuje se tı́m, že na rozdı́l od Windows „pokorně“ přijme to, co mu na hardwaru
dáme, když je toho málo, zbytečně kvůli tomu „nepadá“ a nevypisuje jedovatá hlášenı́,
a když je toho moc, dokáže prostředky plně využı́t. Udává se, že Unix vyžaduje minimálně
procesor kompatibilnı́ s i386, pokud možno také matematický koprocesor, operačnı́ paměti
minimálně 8 MB, a pokud nechceme grafické rozhranı́, tak ještě méně (údajně stačı́ 2
MB RAM). Minimálnı́ hodnoty pro požadavky na systém samozřejmě platı́ v přı́padě, že
nevyužı́váme grafické rozhranı́.
1.2.2
Větve a standardy unixového světa
Dále budeme hovořit o unixových systémech – unix-like systémech, tedy operačnı́ch systémech se strukturou a vlastnostmi odvozenými od původnı́ho Unixu.
Původně existoval jediný Unix (vyvı́jel se a vylepšoval, ale jen v jedné vývojové větvi),
ale kolem verze V6 se jeho vývoj rozdělil do dvou větvı́, které lze vysledovat i dnes, i když
Unixů je dnes celá řada:
BSD (Berkeley Software Distribution): větev vyvı́jená původně na univerzitě v Berkeley,
sem můžeme zařadit napřı́klad NetBSD, OpenBSD, FreeBSD, SunOS (od firmy Sun),
Linux (i když ne zcela), Mac OS X a jeho předchůdce NeXTStep, atd.
System V: větev vyvı́jená původně firmou Unix System Laboratories (USL), později AT&T,
dnes Novell, zde patřı́ napřı́klad HP UX (od firmy Hewlet-Packard), Solaris (firma
P
P
1.2
SYSTÉMY UNIXOVÉHO TYPU
8
Sun, dnes je to nejúspěšnějšı́ komerčnı́ Unix), AIX (IBM), SCO Unix (původně to byl
XENIX od Microsoftu), atd.
Rozdı́ly mezi těmito větvemi se postupně stı́rajı́, dnešnı́ Unixy obvykle majı́ některé vlastnosti z každé větve (to platı́ také o Linuxu, který je založen předevšı́m na myšlenkách BSD,
ale najde se v něm také něco z System V). Komerčnı́ Unixy většinou patřı́ do větve System V,
ale přesto obsahujı́ některé vlastnosti z větve BSD.
Kromě toho, že unixové systémy se vı́ceméně řadı́ do některé z těchto větvı́, také musı́
splňovat určité standardy, aby vůbec mohly být za unix-like systémy (tj. unixové) považovány.
Standardů bylo v historii vı́ce,7 v současné době jsou zachovávány dva – POSIX a Single
Unix Specification.
POSIX (Portable Operating System Interface) je standard publikovaný úřadem pro standardizaci IEEE, ve verzı́ch POSIX-1 a POSIX-2. Standardizuje formu systémových volánı́
(tj. způsobů, jak proces komunikuje s jádrem), funkcı́ v systémových knihovnách a chovánı́ procesů včetně jejich vzájemné komunikace. Účelem je co nejvı́c zjednodušit přenos
programů mezi různými operačnı́mi systémy (tzv. portovánı́). POSIX je podporován nejen
unixovými systémy, ale také některými verzemi Windows.8
Splněnı́ standardu Single Unix Specification (SUS)9 je předpokladem pro to, aby mohl
být systém nazýván unixovým. Vycházı́ z POSIXu a zahrnuje určité specifikace souvisejı́cı́
s programovým rozhranı́m programů a knihoven (předpokládá se jazyk C nebo podobný),
seznam nástrojů (mı́něno většinou programů–přı́kazů pro uživatele a administrátory), požadavky na shell (program, kterým uživatel komunikuje se systémem), systémová volánı́,
služby včetně vstupně/výstupnı́ch. Součástı́ nejsou požadavky na konkrétnı́ kód, proto SUS
mohou splňovat i takové systémy, které neobsahujı́ ani řádek kódu z původnı́ho Unixu.
SUS je v několika verzı́ch. Nejnovějšı́ (verzi 3) dokončenou roku 2003 splňujı́ Solaris, Linux,
BSD klony, Mac OS X a dalšı́.
1.2.3
P
Linux
Linux je operačnı́ systém unixového typu šı́řený pod licencı́ GNU GPL (resp. jeho jádro).
Je to plně 32bitový nebo 64bitový (podle platformy) systém. Prvnı́ Linuxové jádro vytvořil
finský student Linus Torvalds (bylo mu tenkrát 21 let), dnes se na tomto operačnı́m systému
podı́lejı́ tisı́ce dalšı́ch programátorů po celém světě. Linux převzal z Unixu vnitřnı́ strukturu,
stabilitu a bezpečnost, i když zdrojové kódy má znovu napsané.
Již prvnı́ verze zaujaly programátory projektu GNU a Linux se postupně stal hlavnı́m
7
P
P
Informace najdeme napřı́klad na http://www.faqs.org/docs/artu/ch17s02.html, FAQs v doméně znamená
„Frequently Asked Questions“.
8
Některé varianty Windows s NT jádrem obsahujı́ podsystém POSIX umožňujı́cı́ běh POSIX aplikacı́, existujı́
také dalšı́ řešenı́ – MS Windows Services for Unix, UWIN a CygWin. Poslednı́ jmenovaný je často použı́vaný
způsob pro zprovozněnı́ unixových aplikacı́ pod Windows.
9
Text standardu SUS je na adrese http://www.opengroup.org/onlinepubs/009695399/ nebo
také na adrese http://www.unix.org/version3/, informace o tomto standardu najdeme na adrese
http://www.unix.org/what is unix/single unix specification.html.
P
1.2
SYSTÉMY UNIXOVÉHO TYPU
9
jádrem operačnı́ho systému projektu GNU (původnı́ jádro, GNU/Hurd, pořád ještě existuje). Správný název toho systému, který budeme použı́vat, je ve skutečnosti GNU/Linux,
většinou se však zkracuje na Linux.
V devadesátých letech byl chápán jako systém vhodný spı́še pro odbornı́ky na počı́tače,
ale po rychlém rozvoji grafických rozhranı́ provozovatelných na tomto systému je již natolik
uživatelsky přı́větivý, že je instalován i na počı́tače úřednı́ků státnı́ správy po celém světě.
Jeho podı́l na trhu stoupá mimo jiné proto, že ho lze pořı́dit zdarma a platı́ se obvykle
pouze za servis, podporu a manuály (a přı́padně papı́rovou krabici).
Nejznámějšı́ linuxové distribuce jsou velmi rozsáhlé (obsahujı́ totiž kromě jádra a grafického rozhranı́ mnoho aplikacı́ a konfiguračnı́ch nástrojů), a uživatelsky přı́větivé. Nejrozšı́řeněnšı́ jsou zřejmě Mandriva, SUSE, Ubuntu, Debian a dalšı́. Na obrázku 1.1 je obrazovka
linuxového systému Mandriva na staršı́m počı́tači (menšı́ rozlišenı́ obrazovky, vypnuté 3D
efekty). Ovšem linuxové systémy majı́ velmi variabilnı́ grafické prostředı́, mohou vypadat
značně odlišně.
Obrázek 1.1: Linux Mandriva Spring 2007
Hlavnı́ adresy: http://www.linux.org, http://www.linux.cz
1.2
1.2.4
SYSTÉMY UNIXOVÉHO TYPU
10
Mac OS
Tento operačnı́ systém vytvořila firma Apple pro své počı́tače s hardwarovou platformou
Apple MacIntosh, která nebyla kompatibilnı́ s tehdy se pomalu rozvı́jejı́cı́ platformou Intel.
Jako jeden z prvnı́ch (dlouho před MS Windows) měl velmi propracované uživatelské
rozhranı́, operačnı́ systémy firmy Microsoft se zjedně tı́mto systémem hodně inspirovaly.
Jako jeden z prvnı́ch podporoval výkonné procesory.
Původně byl tento systém vyvı́jen celý samostatně, dnes se již jedná o systém unixového
typu podobně jako linuxové distribuce. Ke změně došlo dı́ky jednomu ze zakladatelů firmy
Apple, Stevu Jobsovi. Steve Jobs odešel z této firmy a založil vlastnı́ firmu NeXT, která začala
vyvı́jet vlastnı́ operačnı́ systém NeXTStep založený na struktuře Unixu, předevšı́m varianty
FreeBSD. NeXTStep se proslavil hlavně použı́vánı́m objektových technologiı́ a mimořádně
propracovaným uživatelským a vývojovým rozhranı́m.
Firma Apple nakonec koupila firmu NeXT a operačnı́ systém NeXTStep se stal základem
pro novou verzi Mac OS, pojmenovanou Mac OS X.10
Jádro Mac OS X je Mach (je přejaté z NeXTStep, má vnitřnı́ strukturu vycházejı́cı́ ze standardů pro unixové systémy). Je považováno za jedno z nejefektivnějšı́ch a nejstabilnějšı́ch
řešenı́, dokonce i na unixový systém. Toto jádro má i některé rysy real-time systémů. Nižšı́
vrstvy tohoto systému jsou přı́stupné v rámci projektu Darwin.
Přechodem na verzi X Mac OS změnil hardwarovou platformu na PowerPC (také je
nekompatibilnı́ s Intelem), na které běžely počı́tače s NeXTStepem (tyto procesory vyrábı́
firma IBM). Na konci roku 2005 byla překvapivě ohlášena migrace Mac OS X na platformu
Intel, což znamená, že tento operačnı́ systém je nynı́ možné použı́vat na stejném počı́tači
jako ostatnı́ rozšı́řené operačnı́ systémy bez hardwarové emulace, ale legálně a v plné
akceleraci pouze na strojı́ch od firmy Apple.
P
P
P
P
Vzhledem k tomu, že se jedná o systém unixového typu, je možné zde použı́vat i některé
aplikace určené pro Unix/Linux. S přihlédnutı́m ke značným změnám ve struktuře systému a dosavadnı́ hardwarové nekompatibilitě s intelovskou architekturou se však jedná
většinou o kompatibilitu na úrovni zdrojových kódů, tedy je nutné přenést zdrojové kódy
a ty potom přeložit pro tuto architekturu. Programy, které přistupujı́ přı́mo ke zdrojům
výpočetnı́ho systému nebo k nižšı́m vrstvám operačnı́ho systému, přenositelné nemusejı́
být.
Mac OS u nás původně nebyl moc rozšı́řen (použı́val se hlavně ve firmách pracujı́cı́ch
s grafikou, jako jsou reklamnı́ studia, je však také na některých školách), byl to systém
typický spı́še pro USA. Situace se však postupně měnı́ a zvláště notebooky a malá přenosná
zařı́zenı́ jsou čı́m dál oblı́benějšı́.
Adresy: http://www.apple.com/macosx/, http://www.apple.cz/,
http://www.root.cz/serialy/mac-os-x-je-taky-unix/
10
Pı́smeno X ve skutečnosti znamená spı́še řı́mské čı́slo 10, jde o verzi systému, i když zároveň může být
chápáno jako vazba na Unix.
1.2
1.2.5
SYSTÉMY UNIXOVÉHO TYPU
11
Některé dalšı́ unixové systémy
Unixové systémy jsou dodnes hodně použı́vány na serverech (napřı́klad Solaris), ale existujı́
také varianty pro desktop, dokonce i volně šiřitelné (napřı́klad Linux a FreeBSD).
OpenBSD je volně šiřitelný operačnı́ systém unixového typu vycházejı́cı́ z větve BSD.
Je distribuován pod licencı́ BSD. Hlavnı́ důraz je zde kladen na bezpečnost, OpenBSD je
považován za jeden z nejbezpečnějšı́ch unixových systémů. Celkově spolupráce na tomto
projektu funguje hodně podobně jako na Linuxu, jen je trochu méně populárnı́ a rozšı́řený.
V OpenBSD najdeme i některé programy a technologie přejaté z Linuxu, licence BSD
je kompatibilnı́ s GPL, a navı́c jako každý jiný unixový systém je i OpenBSD kompatibilnı́
s Linuxem na úrovni zdrojových kódů. Můžeme zde použı́vat kompilátor jazyka C gcc,
Perl, Apache, Sendmail, atd. Grafické prostředı́ je realizováno na stejném principu jako na
Linuxu. OpenBSD se vyznačuje dostupnostı́ pro velké množstvı́ hardwarových platforem.
Adresy: http://www.openbsd.org, http://www.openbsd.cz
FreeBSD je podobně jako OpenBSD šı́řen pod licencı́ BSD. Je to velmi dobře vybavený systém, jeho grafické prostředı́ je realizováno taktéž na stejném základě jako v Linuxu, instalace
je velmi snadná. Je postaven na podobné filozofii jako Linux a vývojáři těchto systémů se
navzájem inspirujı́. Je určen předevšı́m pro hardwarovou platformu x86 a přı́buzné.
Existuje také live varianta tohoto systému (tj. nemusı́ se instalovat, spouštı́ se přı́mo
z CD/DVD, stačı́ z něho nabootovat) – FreeSBIE. Je trochu osekaná (úspornějšı́ grafické
rozhranı́, méně aplikacı́), přesto však slušně vybavená, lze ji také nainstalovat na disk.
Adresy: http://www.freebsd.org, http://www.freebsd.cz, http://www.freesbie.org
NetBSD je dalšı́m BSD klonem. Projekty NetBSD a FreeBSD velmi úzce spolupracujı́,
dokonce do té mı́ry, že oba systémy jsou kompatibilnı́ i binárně (nejen na úrovni zdrojových
kódů, tj. programy přeložené pro jeden systém můžeme přı́mo spustit i na druhém).
Narozdı́l od FreeBSD je dostupný pro velké množstvı́ hardwarových platforem. Podpora výrobců hardwaru je bohužel nižšı́, seznam podporovaného hardwaru je proto kratšı́
než třeba u Linuxu. Existuje také live varianta Jibbed Live CD. NetBSD se často použı́vá
v menšı́ch jednoúčelových zařı́zenı́ch, dokonce včetně sı́t’ových (napřı́klad v hardwarových
firewallech) – velký důraz je kladen na bezpečnost (také vlivem spolupráce s OpenBSD).
Adresy: http://www.netbsd.org/, http://www.netbsd.org/gallery/products.html,
http://www.jibbed.org/
OpenSolaris samotný Solaris je komerčnı́ Unix firmy Sun Microsystems (vlastněné firmou
Oracle Corporation), je považován za jeden z nejlepšı́ch komerčnı́ch Unixů. Patřı́ do větve
System V. Firma Sun se rozhodla zpřı́stupnit odvozený systém, OpenSolaris, pod vlastnı́
licencı́ CDDL.
J
J
J
J
1.2
SYSTÉMY UNIXOVÉHO TYPU
12
Existuje několik odnožı́ (portů) projektu OpenSolaris, napřı́klad Illumos (plně opensource systém, protože samotný OpenSolaris vlastně obsahuje některé části, které nejsou
distribuovány se zdrojovým kódem), dále OpenIndiana (pro servery, dbá se na zajištěnı́
zabezpečenı́, a to volně šiřitelné), atd.
Adresy: http://www.sun.com, http://www.opensolaris.org,
http://www.illumos.org/, http://openindiana.org/
QNX je realtimový unixový systém (tj. pracujı́cı́ v „reálném čase“). To neznamená, že by
dokázal vždy reagovat okamžitě na jakýkoliv požadavek (to je technicky nemožné), ale
pro každou časově rizikovou operaci existuje pevně daný časový limit, do kterého musı́
být tato operace vyřı́zena. Realtimové systémy se použı́vajı́ napřı́klad při řı́zenı́ rizikových
provozů (elektrárny včetně atomových, chemické laboratoře), letadel apod. QNX byl původně komerčnı́ systém kanadské firmy QNX Software Systems, delšı́ dobu však existovala
volně šiřitelná varianta (zdarma pro nekomerčnı́ použitı́). Bohužel tento zdroj se uzavřel,
jistou náhradou je projekt OpenQNX, dále na stránkách firmy QNX najdeme demonstračnı́
verzi.
J
QNX je určen k použitı́ v embedded systémech (tj. v zařı́zenı́ch, která vlastně ani nejsou
počı́tače, třeba autech), dále v sı́t’ových zařı́zenı́ch (jako jsou napřı́klad routery), set-top
boxech, apod. Jeho jádro se jmenuje Neutrino, použı́vá jednoduché grafické rozhranı́ Photon.
Adresy: http://www.qnx.com/, http://www.openqnx.com/,
http://www.embedded-computing.com/pdfs/QNX.Jan05.pdf
Úkol
Vyberte si některý z unixových systémů (nemusı́ být uveden v této kapitole) a zjistěte si
o něm podrobnějšı́ informace.
Kapitola
2
Použı́váme Linux
V této kapitole se budeme zabývat pracı́ v grafických prostředı́ch obvyklých v operačnı́m systému
Linux – KDE a GNOME. Cı́lem je naučit se základnı́ orientaci v systému a zvládnout běžné úkoly
při jeho použı́vánı́.
2.1
Začı́náme
Existuje mnoho tzv. distribucı́ Linuxu. Distribuce je souhrn jádra Linuxu, jednoho nebo vı́ce
grafických prostředı́, nejrůznějšı́ch aplikacı́ (kancelářské programy a nejrůznějšı́ editory,
drobné pomocné programy typu kalkulačka, programy pro zpracovánı́ grafiky, komunikačnı́ programy včetně webových prohlı́žečů, atd.), dokumentace, konfiguračnı́ch nástrojů,
a dalšı́ch.
Každá distribuce je trochu jinak vybavená a některé jsou přı́mo vytvořeny k nějakému
speciálnı́mu účelu. Každá distribuce má také jiné hardwarové nároky, existujı́ i takové,
které spustı́me na počı́tači se starým dobrým procesorem i386.
Linuxovou distribuci můžeme bud’ nainstalovat nebo použı́t Live variantu (také se řı́ká
„živé CD/DVD“, jejı́ výhodou je, že nemusı́me mı́t obavy ze zásahů do operačnı́ho systému,
který je na počı́tači nainstalován). Pokud se rozhodneme pro instalaci, nečeká nás nic
náročnějšı́ho než třeba instalace Windows, jde o hodně podobný proces. Pokud na počı́tači
máme nainstalován jiný operačnı́ systém (typicky Windows), lze instalovat Linux „vedle“
něj, tedy tak, že při startu počı́tače máme na výběr mezi různými operačnı́mi systémy, které
jsou všechny funkčnı́.
LiveCD nebo LiveDVD (vlastně také LiveUSB pro USB flash disky) stačı́ vložit do
přı́slušného hardwarového rozhranı́ (napřı́klad DVD do DVD mechaniky) a restartovat
počı́tač. Pokud se po restartu dostaneme do operačnı́ho systému, který je nainstalován, je
13
P
P
2.2
PROSTŘEDÍ KDE
14
třeba provést změny v programu BIOS Setup,1 aby bylo možné bootovat (načı́tat systém)
z jiného pamět’ového média než pevného disku.
Protože existuje hodně různých distribucı́, máme na výběr. Na Slezské univerzitě v učebnách B3a, B3b a C34 je Linux nainstalován, spustı́me ho po startu (restartu) počı́tače výběrem z menu. Pokud chceme Linux vyzkoušet jinde, můžeme zvolit napřı́klad DaNIX2 nebo
Mandriva,3 distribucı́ vhodnou pro začátečnı́ky je také SUSE.4 Stáhneme obraz (s přı́ponou
ISO) a vypálı́me na přı́slušné médium některým vypalovacı́m programem.
$
Úkol
Najděte počı́tač s nainstalovaným Linuxem nebo sežeňte některou distribuci Linuxu tak
jak je výše popsáno. Spust’te Linux a projděte si jeho prostředı́.
2.2
Prostředı́ KDE
KDE (K Desktop Environment) je jedno z nejkomplexnějšı́ch (nabı́zı́ toho opravdu moc)
a zároveň snadno konfigurovatelných desktopových prostředı́ pro Linux.
Obsahuje velké množstvı́ aplikacı́, které obvykle začı́najı́ pı́smenem K – KOffice (kancelářský balı́k), KEdit, KWrite (jednoduché editory), Kate (editor pro programátory), Konqueror (internetový prohlı́žeč a správce souborů), KPager (správce virtuálnı́ch ploch), Klipper
(schránka pro sdı́lenı́ dat mezi aplikacemi prostředı́), KMail (e-mailový klient), K3B (vypalovánı́ CD/DVD a podobné úlohy), KDevelop (vývojové prostředı́), a mnoho dalšı́ch.
Existujı́ také aplikace napsané do prostředı́ KDE, ale standardně s nı́m nedodávané,
napřı́klad zajı́mavý pokročilý editor pro programátory a uživatele TEXu a dalšı́ch jazyků
Kile (jsou dostupné na internetu – v repozitářı́ch nebo na stránkách programátorů těchto
aplikacı́, některé distribuce Linuxu tento editor již obsahujı́). Pokud náhodou nenajdeme
program, který nám pro daný účel plně vyhovuje, obvykle ho můžeme velmi snadno
nainstalovat – instalaci softwaru se budeme věnovat později.
Programy v prostředı́ KDE spouštı́me bud’ z nabı́dky K na hlavnı́m panelu, nebo
jejich spustitelným souborem (obvykle je to název aplikace malými pı́smeny).
1
Do BIOS Setup se dostaneme během startu počı́tače. Hned po testu hardwaru POST se zobrazı́ hlášenı́
„Press Del to enter Setup“ nebo podobné, může jı́t také o jinou klávesu – kromě Del bývá obvyklá klávesa
F2 , F1 nebo jiné. V menu najdeme volbu pro nastavenı́ Boot sekvence (v různých BIOSech se setkáme
s různými názvy položek menu) a nastavı́me jako prvnı́ v pořadı́ tu mechaniku, ze které chceme spouštět Live
variantu Linuxu.
2
LiveDVD je na http://www.danix.cz/.
3
Live distribuce Mandriva One je na http://www2.mandriva.com/linux/one/, všechny varianty najdeme na
http://www2.mandriva.com/linux/, stránky v češtině jsou na adrese http://www.mandrivalinux.cz/.
4
Volně šiřitelná verze OpenSUSE včetně potřebných informacı́ je na http://www.opensuse.cz/.
P
P
2.2
2.2.1
PROSTŘEDÍ KDE
15
Kde hledat potřebné nástroje
Pracovnı́ prostředı́ se nastavuje podobně jako ve Windows. Každý objekt na ploše včetně
plochy samotné a hlavnı́ho panelu má kontextové menu, v něm lze nastavit všechny parametry objektu, ke kterým má přı́stupová práva běžný uživatel. Některé možnosti pro
konfiguraci prostředı́ jsou také v menu K na hlavnı́m panelu. Na hlavnı́m panelu také
najdeme tlačı́tko Zobrazit plochu.
$
Mezi položkami menu K se obvykle nacházı́ jedna nebo vı́ce položek s názvem
Administrovat systém, Správa systému apod., tam najdeme nástroje pro konfiguraci prostředı́
a systému. Někde tam je také položka spouštějı́cı́ konzoli nebo terminál (tu použijeme,
když chceme pracovat v textovém shellu).
Někde v podmenu těchto položek je položka s názvem Nastavenı́ pracovnı́ho prostředı́
nebo Ovládacı́ centrum, tam se nastavuje cokoliv, co souvisı́ s desktopovým prostředı́m KDE
a také dalšı́ věci. Jednotlivé nástroje jsou zde přehledně uspořádány bud’ do stromu nebo
jako seznam „vnořených“ ikon (přepı́ná se v menu Pohled ï Režim zobrazenı́). Názvy jsou
dostatečně reprezentativnı́. Některé nástroje zde zahrnuté vyžadujı́ právo správce (roota),
pak na spodnı́m okraji okna objevı́me tlačı́tko Administrátorský režim.
V různých distribucı́ch najdeme dalšı́ nástroje. Napřı́klad v Mandrivě najdeme Ovládacı́
centrum Mandrake (může být pod položkou Nastavenı́ počı́tače), v SUSE zase nástroj YAST
nebo YAST2 (je obvykle přidán jako dalšı́ nástroj do Ovládacı́ho centra KDE).
Některé aplikace majı́ samozřejmě vlastnı́ nástroje a některé z nich jsou dokonce napojeny na nástroje KDE, napřı́klad správce souborů a prohlı́žeč v jednom Konqueror umožňuje
ze svého menu nastavovat cokoliv, co souvisı́ se soubory včetně asociacı́.
V tabulce 2.1 jsou přı́kazy spouštějı́cı́ součásti prostředı́ KDE, ve kterých najdeme nejdůležitějšı́ nástroje s grafickým rozhranı́m. Pamatovánı́ těchto přı́kazů nenı́ úplně zbytečné,
protože strukturu menu tvořı́ každá distribuce dle svého uváženı́ a umı́stěnı́ nástrojů se
může lišit. Použitı́ přı́kazů pak může urychlit spuštěnı́ těchto aplikacı́. Uvedené programy
budeme probı́rat v následujı́cı́ch podsekcı́ch.
Přı́kaz
Význam
kcontrol
kinfocenter
konsole
khelpcenter
ksysguard
kuser
kmenuedit
konqueror
Ovládacı́ centrum KDE
Informačnı́ centrum KDE
Konzola v prostředı́ KDE
Centrum nápovědy KDE
Strážce systému KDE
Správa uživatelů
Editace hlavnı́ nabı́dky v KDE
Správce souborů a internetový prohlı́žeč
Tabulka 2.1: Spouštěcı́ přı́kazy pro nejdůležitějšı́ programy v KDE
P
$
2.2
PROSTŘEDÍ KDE
2.2.2
16
Pracovnı́ plocha a hlavnı́ panel
Stejně jako ve Windows, i zde platı́, že když chceme nastavovat vlastnosti konkrétnı́ho
objektu, použijeme přednostně kontextové menu tohoto objektu.
Tedy konfiguraci plochy samotné provádı́me
pomocı́ voleb v kontextovém menu plochy, konfiguraci nabı́dky K zase v kontextovém menu tlačı́tka K , hlavnı́ panel konfigurujeme ve volbách
jeho kontextového menu. Kromě hlavnı́ho panelu
můžeme vytvořit jakýkoliv počet dalšı́ch panelů
několika typů, každý z nich může být přichycen
k některému okraji obrazovky nebo volně plout, lze
také určit, jaké rozměry budou panely mı́t a jakým
způsobem budou skrývány (existujı́ také skrývacı́
tlačı́tka).
Na hlavnı́m panelu rozlišujeme několik oblastı́.
Většina těchto oblastı́ nenı́ vázána přı́mo na hlavnı́
panel, třebaže ve výchozı́m nastavenı́ tam bývajı́
umı́stěny. Kromě tlačı́tka menu K (obdoby tlačı́tka
Start ve Windows), zobrazenı́ času a ikon ve slitu
(slit je obdoba System Tray – oznamovacı́ oblasti ve
Obrázek 2.1: Přidánı́ appletu do paWindows) zde najdeme napřı́klad
nelu
• applety – drobné skripty reprezentované většinou ikonou, které rychle zpřı́stupňujı́
napřı́klad některé možnosti nastavenı́, napřı́klad indikace stavu sı́tě, stav baterie,
přepı́nač klávesnice, rychlé vyhledávánı́ podle obsahu souboru, apod., v kontextovém menu panelu najdeme položku Přidat applet, která zobrazı́ seznam dostupných
appletů,
• tlačı́tka aplikacı́ – rychlý způsob, jak spustit zvolenou aplikaci, můžeme si také vyrobit
něco na způsob panelu snadného spuštěnı́ ve Windows, tlačı́tka opět přidáváme
pomocı́ kontextového menu (Přidat aplikaci do panelu),
• přepı́nač virtuálnı́ch ploch – má tolik „okének“, kolik je vytvořených pracovnı́ch ploch
(většinou 4, na obrázku 1.1 na straně 9 jsou pouze dvě, počet můžeme určit), klepnutı́m
na okénko některé virtuálnı́ pracovnı́ plochy se na tuto plochu přepneme, umı́stěnı́
aplikace na konkrétnı́ virtuálnı́ plochu můžeme obvykle určovat přes některou ikonku
v jejı́m titulkovém pruhu, ve skutečnosti jde vlastně o applet,
• pruh úloh – oblast, ve které najdeme tlačı́tka spuštěných aplikacı́, jsou zobrazena bud’
tlačı́tka pro všechny, a nebo jen pro ty aplikace, které jsou na právě aktivnı́ virtuálnı́
ploše, a to i ve vı́ce řádcı́ch (když je panel vyššı́), v prostředı́ GNOME bývá tento pruh
na spodnı́m okraji obrazovky a vše ostatnı́ na hornı́m okraji obrazovky, atd.
$
P
2.2
PROSTŘEDÍ KDE
17
Pokud chceme na ploše mı́t ikonu některého pamět’ového zařı́zenı́, vytvořı́me ji v kontextovém menu Vytvořit nový ï Zařı́zenı́, pak určité zařı́zenı́ (např. pevný disk), v zobrazeném
dialogu nesmı́me zapomenout na poslednı́ záložce určit konkrétnı́ zařı́zenı́ (třeba oddı́l
pevného disku). Stejným způsobem vytvářı́me ikony pro cokoliv včetně souborů.
Obrázek 2.2: Vlastnosti USB flash disku
Většina distribucı́ je nastavena tak, aby se po připojenı́ výměnného pamět’ového média
na ploše objevila ikona tohoto média. Přes kontextové menu této ikony můžeme ovlivňovat
jeho vlastnosti, jak vidı́me na obrázku 2.2. Můžeme změnit také název zařı́zenı́ zobrazovaný
pod ikonou, zadaný název pak bude použit i při každém dalšı́m připojenı́ (ovšem pouze
tohoto média, různé USB disky budou mı́t různé názvy).
Úkoly
1. Přidejte na hlavnı́ panel applet pro odhlášenı́ a pak dalšı́ applety a tlačı́tka dle vlastnı́ho výběru (pak je zase odstraňte).
2. Vyzkoušejte přepı́nač virtuálnı́ch ploch – na prvnı́ i druhé ploše spust’te některé
programy dle vlastnı́ho výběru a zjistěte, zda podle momentálnı́ho nastavenı́ jsou na
hlavnı́m panelu zobrazována pouze tlačı́tka aplikacı́ spuštěných na aktivnı́ virtuálnı́
ploše a nebo tlačı́tka aplikacı́ ze všech ploch.
3. Pohrajte si s nastavenı́m plochy a hlavnı́ho panelu – vyberte jiný obrázek na pozadı́,
umı́stěte hlavnı́ panel na jiné mı́sto na obrazovce, změňte jeho velikost, atd.
4. Zjistěte, jak na ploše vytvořit obdobu zástupce souboru, kterého známe z Windows.
Vytvořte na ploše zástupce jakéhokoliv souboru podle vlastnı́ho výběru.
5. Projděte si konfiguraci menu v tlačı́tku K . Zajistěte, aby v menu byla položka Rychlé
procházenı́ a zjistěte, jak funguje.
$
2.2
2.2.3
PROSTŘEDÍ KDE
18
Ovládacı́ centrum KDE
Většinu nastavenı́ v prostředı́ KDE lze provádět na jediném mı́stě – v Ovládacı́m centru KDE
(KDE Control Center, Nastavenı́ prostředı́, Environment Settings, apod.). Tuto aplikaci
obvykle najdeme v nabı́dce K , nebo ji spustı́me přı́kazem kcontrol. V levém pruhu je
seznam voleb, a to bud’ ve formě stromu, a nebo jako seznam (formy zobrazenı́ lze přepnout
v menu). V různých jazykových variantách prostředı́ jsou volby v různém pořadı́ – podle
abecedy. To může mást, pokud střı́davě použı́váme českou a anglickou variantu.
Obrázek 2.3: Změna hesla přihlášeného uživatele
Prvnı́ (v české verzi) jsou volby souvisejı́cı́ s bezpečnostı́. Najdeme zde napřı́klad volbu
pro změnu hesla a dalšı́ch údajů uživatele (obrázek 2.3), šifrovánı́, zajištěnı́ soukromı́ (mazánı́ některých důvěrných informacı́, obrázek 2.4 – všimněte si, že je zde hodně položek,
které se týkajı́ zabezpečenı́ webového prohlı́žeče) a nastavenı́ úschovny hesel. Úschovna hesel sloužı́ k bezpečnému uloženı́ hesel, která si „nemı́nı́me“ pamatovat, samotná úschovna
samozřejmě musı́ být také zabezpečená.
Následuje nastavenı́ připojenı́ k internetu a sı́ti obecně – na obrázku 2.5 vidı́me celou
pravou část v červeném rámečku, to indikuje přechod do administrátorského režimu.
V počı́tači, na kterém byl pořı́zen obrázek, je jedna sı́t’ová karta (Ethernet) označená jako
eth0 (dalšı́ by byla eth1, atd.). Ve vlastnostech karty lze nastavit potřebné parametry, a to
bud’ pro přı́pad, že IP adresa má být zı́skána dynamicky z DHCP serveru, a nebo pro
přı́pad, že máme vlastnı́ IP adresu se všemi dalšı́mi potřebnými údaji.
Dále nastavujeme Komponenty KDE. Jde napřı́klad o nastavenı́ asociacı́ přı́pon souborů
(obrázek 2.6), služeb (tj. démonů), implicitnı́ho e-mailového klienta, WWW prohlı́žeče, komunikátoru apod. (obrázek 2.7). V nastavenı́ch asociacı́ přı́pon souborů si můžeme všim-
$
2.2
PROSTŘEDÍ KDE
19
Obrázek 2.4: Nastavenı́ soukromı́ přihlášeného uživatele
Obrázek 2.5: Nastavenı́ sı́tě
2.2
PROSTŘEDÍ KDE
20
Obrázek 2.6: Nastavenı́ asociacı́ přı́pon souborů
nout, že výbava aplikacemi je dobrá, pro většinu přı́pon máme k dispozici alespoň dvě
aplikace.
V nabı́dce Mı́stnı́ zvyklosti a zpřı́stupněnı́ nás zajı́majı́ klávesové zkratky (obrázek 2.8),
nastavenı́ možných rozvrženı́ klávesnice (obrázek 2.9, také můžeme určit, zda se na hlavnı́m
panelu bude zobrazovat applet pro přepı́nánı́ mezi klávesnicemi), ve vstupnı́ch činnostech
Obrázek 2.7: Nastavenı́ výchozı́ch aplikacı́ pro KDE
2.2
PROSTŘEDÍ KDE
21
Obrázek 2.8: Nastavenı́ klávesových zkratek
určujeme „alternativnı́“ význam kláves a gest myši (obrázek 2.10), a také zde nastavujeme
formát data, čı́sla, peněz apod. pro daný jazyk (obrázek 2.11). Dál tady najdeme nastavenı́
pro zjednodušenı́ přı́stupu postiženým uživatelům.
Obrázek 2.9: Nastavenı́ rozvrženı́ klávesnice
2.2
PROSTŘEDÍ KDE
22
Obrázek 2.10: Vstupnı́ činnosti
Ve volbě Periférie je nastavenı́ různých perifernı́ch zařı́zenı́ – fotoaparátu, joysticku, klávesnice, monitoru (obrázek 2.13), myši, tiskáren (obrázek 2.12) a nabı́dky akcı́ pro výměnná
úložná zařı́zenı́ (použije se, pokud napřı́klad vložı́me do mechaniky CD nebo připojı́me
USB disk, obrázek 2.14).
Obrázek 2.11: Nastavenı́ zobrazenı́ lokalizovaných prvků
2.2
PROSTŘEDÍ KDE
23
Obrázek 2.12: Nastavenı́ tiskáren
Obrázek 2.13: Nastavenı́ vlastnostı́ monitoru
2.2
PROSTŘEDÍ KDE
24
Obrázek 2.14: Nastavenı́ akcı́ pro úložná zařı́zenı́
Volba Pracovnı́ plocha je částečně namapována do kontextového menu pracovnı́ plochy
a objektů na nı́ zobrazených. Nastavujeme tu chovánı́ pracovnı́ plochy (které nabı́dky se
zobrazujı́, co se má dı́t při akcı́ch myši, které ikony souborů a zařı́zenı́ jsou zobrazeny,
Obrázek 2.15: Chovánı́ pracovnı́ plochy
2.2
PROSTŘEDÍ KDE
25
Obrázek 2.16: Nastavenı́ chovánı́ oken
obrázek 2.15), jak se majı́ chovat okna na ploše (zda se okno zaktivnı́ klepnutı́m myši na
oblast okna nebo přesunem kurzoru myši nad toto okno, průhlednost oken apod., obrázek
2.16), vlastnosti jednotlivých panelů (obrázek 2.17), pruhu úloh (tam jsou umı́stěna tlačı́tka
Obrázek 2.17: Vlastnosti panelů
2.2
PROSTŘEDÍ KDE
26
Obrázek 2.18: Specifická nastavenı́ oken nebo typů oken
spuštěných aplikacı́), specifická nastavenı́ oken nebo typů oken (obrázek 2.18), a počet
virtuálnı́ch ploch.
Následuje Správa systému. Tuto část obvykle použı́vá správce (root), pro zpřı́stupněnı́
Obrázek 2.19: Správce přihlášenı́ – nastavenı́ ukončenı́ činnosti systému
2.2
PROSTŘEDÍ KDE
27
Obrázek 2.20: Správce přihlášenı́ – uživatelé
voleb je nutno klepnout na tlačı́tko Administrátorský režim a zadat heslo. Kromě cest k některým systémovým souborům můžeme ovlivňovat nastavenı́ data a času, správu souborových systémů, instalovat pı́sma, určovat, jak má vypadat přihlašovacı́ dialog – vzhledově,
Obrázek 2.21: Správce přihlášenı́ – pohodlı́ přihlášenı́
2.2
PROSTŘEDÍ KDE
28
Obrázek 2.22: Konfigurace služeb
ale také komu je povoleno vypnout počı́tač a kterými přı́kazy se ukončı́ nebo restartuje
systém (obrázek 2.19), uživatelé, kteřı́ se zobrazı́ na přihlašovacı́ obrazovce (obrázek 2.20),
Obrázek 2.23: Motivy pracovnı́ plochy
2.2
PROSTŘEDÍ KDE
29
také lze povolit automatické přihlášenı́ některého uživatele, určit, které přihlašovacı́ jméno
bude výchozı́ při přihlašovánı́ nebo dokonce povolit přihlašovánı́ bez hesla (nedoporučuje
se), volba automatického znovupřihlášenı́ po spadnutı́ X Serveru také nenı́ považována za
bezpečnou (obrázek 2.21).
Obrázek 2.24: Styl prvků grafického rozhranı́
Ve Správě systému se také konfigurujı́ služby (démony) – obrázek 2.22. Máme vı́ce
možnostı́ než v obdobné součásti modulu Komponenty KDE, kromě přı́stupu k většı́mu
množstvı́ služeb a jejich popisu také lze pracovat s jednotlivými úrovněmi běhu systému
(jednouživatelský, vı́ceuživatelský, restartovat, apod.).
Modul Správa uživatelů (User Management) sloužı́ ke správě uživatelů a skupin. Každý
uživatel má přiřazenu jednu primárnı́ (hlavnı́) skupinu, a může být členem jakéhokoliv
počtu dalšı́ch skupin. Následujı́cı́ modul Windows Applications je určen ke konfiguraci podsystému Wine, ve kterém běžı́ Windows aplikace.
Ve volbě Vzhled a motivy najdeme výběr motivů určujı́cı́ch hlavnı́ téma vzhledu prostředı́ (obrázek 2.23), vybraný motiv pak lze dále upravovat použitı́m dalšı́ch modulů této
nabı́dky (Barvy, Dekorace oken apod.). V modulu Styl pak nastavı́me vzhled běžných grafických prvků jako jsou tlačı́tka, záložky, přepı́nacı́ tlačı́tka nebo rolovacı́ lišty (obrázek 2.24)
včetně různých efektů, v dalšı́ch modulech určujeme šetřič obrazovky a vzhled úvodnı́
obrazovky (nenı́ totéž jako přihlašovacı́ obrazovka, jde o motiv, který se zobrazuje při
spouštěnı́ prostředı́ KDE).
V modulu Zvuk a multimédia konfigurujeme vše, co souvisı́ se zvukem, včetně nastavenı́
zvukového systému (obrázek 2.25), a také způsob, jakým jsme informováni o systémových
událostech.
2.2
PROSTŘEDÍ KDE
30
Obrázek 2.25: Nastavenı́ zvukového systému
Úkoly
1. Spust’te Ovládacı́ centrum KDE a projděte postupně všechny nástroje v něm obsažené.
2. Vymažte historii spouštěnı́ přı́kazů, cookies a záznamy vyplňovánı́ formulářů na
webových stránkách.
3. Zjistěte, kolik je ve vašem počı́tači sı́t’ových karet a zda máte pevnou IP adresu či
přidělovanou DHCP serverem.
4. Najděte v Ovládacı́m centru nastavenı́ webového prohlı́žeče a projděte si je.
5. Zjistěte, které aplikace jsou použı́vány při zpracovánı́ souborů s přı́ponami DOC, ODT,
BMP, PNG, RTF, CSS, HTML, SH.
6. Zjistěte, jaká rozloženı́ (rozvrženı́) klávesnice jsou dostupná. Pokud je jenom jedno,
nastavte druhé (tak, aby bylo jedno české a jedno anglické). Dále zjistěte, která klávesová zkratka se použı́vá pro přepı́nánı́ mezi různými rozloženı́mi.
7. Zkontrolujte, jak je nastaveno formátovánı́ data a času, peněz, čı́sel apod. – podle
kterého jazyka.
8. Najděte seznam tiskáren, které jsou nainstalovány. Které z nich jsou virtuálnı́ (tj.
neposı́lajı́ data na fyzickou tiskárnu, ale tisknou do souboru s přı́ponou PDF nebo
jinou)? Kde se dostanete k tiskovým frontám?
9. Zjistěte, jaké je nastavené rozlišenı́ obrazovky a obnovovacı́ frekvence. Kde se nastavuje úsporný režim?
2.2
PROSTŘEDÍ KDE
31
10. Podı́vejte se, jak jsou nastaveny akce pro úložná zařı́zenı́ – napřı́klad co se stane, když
do mechaniky vložı́me CD.
11. Zjistěte, jak lze nastavit akce při klepnutı́ jednotlivými tlačı́tky myši na ploše.
12. Zkontrolujte, zda se na ploše majı́ zobrazit ikony připojených výměnných zařı́zenı́
(předevšı́m USB flash disků). Pokud máte takovéto zařı́zenı́ po ruce, vyzkoušejte, zda
nastavenı́ funguje. Po připojenı́ pak pomocı́ ikony na ploše toto zařı́zenı́ odpojte.
13. Nastavte chovánı́ oken tak, aby se okno aktivovalo již při přejetı́ myšı́ přes toto okno.
Jak je nastavena průhlednost oken?
14. Změňte počet virtuálnı́ch ploch a ověřte si, zda se změnil applet pro virtuálnı́ plochy
na hlavnı́m panelu.
15. Zjistěte, které služby právě běžı́.
16. Pohrajte si s motivy pracovnı́ plochy a dalšı́mi položkami k nim vztaženými. Pak vše
vrat’te do původnı́ho stavu :-).
2.2.4
Informačnı́ centrum
V nástroji Informačnı́ centrum předevšı́m zı́skáváme informace o čemkoliv,
co souvisı́ se stavem systému.
Mnohé ze zde uvedených informacı́ jsou zı́skávány z adresáře /proc.
Tento adresář je velmi důležitým informačnı́m zdrojem (obsahuje veškeré
běhové informace o systému a procesech, v přı́štı́m semestru se mu budeme hodně věnovat), ovšem informace v tomto adresáři jsou prakticky
nezformátované a proto hůře čitelné
zvláště pro laika. Proto existujı́ aplikace (včetně Informačnı́ho centra) zobrazujı́cı́ potřebné informace v „čitelnějšı́
podobě“.
Na obrázcı́ch 2.26, 2.27 a 2.28 viObrázek 2.26: Informace o zařı́zenı́ch
dı́me informace o zařı́zenı́ch (jejich
speciálnı́ch souborech sloužı́cı́ch pro komunikaci se zařı́zenı́mi), struktuře operačnı́ paměti a využı́vaných komunikačnı́ch protokolech (zobrazený protokol fish je implementace
protokolu SSH).
$
2.2
PROSTŘEDÍ KDE
32
Obrázek 2.27: Informace o využitı́ paměti
Obrázek 2.28: Informace o komunikačnı́ch protokolech
2.2
2.2.5
PROSTŘEDÍ KDE
33
Dalšı́ nástroje
V prostředı́ KDE existujı́ také nástroje, které nejsou přı́mo přı́stupné přes Ovládacı́ centrum.
Najdeme je bud’ v kontextovém nebo hlavnı́m menu aplikacı́, a nebo v nabı́dce K .
Obrázek 2.29: Využitı́ Konqueroru jako rozhranı́ k některým konfiguračnı́m nástrojům
Jak už vı́me, správcem souborů a zároveň internetovým prohlı́žečem je Konqueror (ale
v jiných distribucı́ch to může být i jiný program, napřı́klad Dolphin). Pro konfiguraci tohoto
programu existuje modul v Ovládacı́m centru, ale samotný Konqueror může také sloužit
jako přı́stupové rozhranı́ ke konfiguračnı́m nástrojům. Na obrázku 2.29 vidı́me způsob
Obrázek 2.30: Centrum nápovědy KDE
$
2.2
PROSTŘEDÍ KDE
34
Obrázek 2.31: Schránka Klipper a nástroj pro zálohovánı́ Keep
použitı́ – do adresnı́ho řádku napı́šeme settings:/ . Takto využı́váme tzv. KIO protokoly
(nebo ovladače) pracujı́cı́ pouze v uživatelském režimu (nepotřebujı́ běžet v režimu jádra).
Kromě protokolu settings existujı́ i dalšı́ KIO protokoly, napřı́klad system.
Důležitým nástrojem je Centrum nápovědy. Na obrázku 2.30 vidı́me nápovědu k manuálovým stránkám přı́kazů textového shellu. V nápovědě lze také vyhledávat podle klı́čových
slov. V tomto nástroji najdeme předevšı́m nápovědu pro aplikace, které jsou součástı́ KDE
(stránky nápovědy majı́ standardizovaný formát), ale také některé položky netýkajı́cı́ se
tohoto prostředı́ (jak ostatně vidı́me na obrázku 2.30).
Obrázek 2.32: Strážce systému KDE – sledovánı́ systémového zatı́ženı́
P
2.2
PROSTŘEDÍ KDE
35
Obrázek 2.33: Strážce systému KDE – sledovánı́ procesů
KDE aplikace mohou také komunikovat prostřednictvı́m schránky, která je zastoupená
aplikacı́ Klipper – viz obrázek 2.31 vlevo. Kdykoliv v aplikaci patřı́cı́ do prostředı́ KDE
zvolı́me v menu volbu pro kopı́rovánı́ nebo použijeme přı́slušnou klávesovou zkratku,
kopı́rovaná data jsou odeslána aplikaci Klipper. Opět jakákoliv KDE aplikace tato data
Obrázek 2.34: Strážce systému KDE – vytvořenı́ vlastnı́ho modulu
$
2.2
PROSTŘEDÍ KDE
36
může vložit. Do panelu pak můžeme přidat applet, který sleduje obsah schránky, jak
vidı́me na obrázku 2.31.
Na obrázku 2.31 vpravo je dalšı́ užitečný nástroj, zálohovacı́ program Keep, ke kterému se dostaneme obvykle přes některou z voleb menu K . Jak vidı́me, zálohovánı́ je
právě vypnuto (poznáme to podle červené kontrolky a nápisu vedle nı́). Úkoly souvisejı́cı́
se zálohovánı́m provádı́ démon keepd (démony jsou ekvivalentem služeb ve Windows).
Ze základnı́ho rozhranı́ máme přı́stup k nejdůležitějšı́m volbám – určenı́ zálohovaných
objektů, spuštěnı́ zálohy, obnovenı́ ze zálohy.
V menu K najdeme i dalšı́ nástroje, napřı́klad již dřı́ve zmiňovaného Strážce systému
KDE (ksysguard). Některé moduly tohoto nástroje jsou již předem vytvořeny – sledovánı́
procesoru a paměti (obrázek 2.32) a sledovánı́ procesů (obrázek 2.33), ale můžeme vytvořit dalšı́ záložky s vlastnı́mi moduly (obrázek 2.34). Doporučuje se zvolit vhodný název
pro záložku, abychom věděli, co je vlastně sledováno, protože pro jednotlivé grafy jsou
automaticky voleny zkrácené názvy.
$
$
Novou záložku vytvořı́me pomocı́ menu, na záložku pak myšı́ přetáhneme vybrané senzory. Při přetahovánı́ zároveň určujeme, jak majı́ být sledovaná data zobrazovaná. Kromě
běžného grafu to napřı́klad může být i sloupec, jehož maximálnı́ hodnotu stanovı́me (jako
na obrázku 2.34 vpravo dole pro sledovánı́ počtu spuštěných procesů).
Plánovánı́ spouštěnı́ procesů provádějı́ v Linuxu démony atd (jednorázové spuštěnı́ procesu v danou dobu, ovládá se přı́kazem at)
a crond (velmi komplexnı́, také možnost pravidelného spouštěnı́, ovládá
se přı́kazem cron a tzv. cron tabulkami). Pro cron existuje v KDE
také grafický nástroj – KCron (obrázek 2.36).
Mnohé distribuce dodávajı́ zároveň s KDE dalšı́ konfiguračnı́ nástroje, které jsou pro danou distribuci
vyladěny a obvykle vı́ce-méně zapadajı́ do prostředı́ KDE. Napřı́klad
v distribuci Mandriva obvykle na- Obrázek 2.35: Správa oddı́lů v Ovládacı́m centru
jdeme Ovládacı́ centrum Mandriva Mandriva Linuxu
Linuxu (drakconf) – hlavnı́ rozhranı́
programu je na obrázku 2.37, na obrázku 2.35 je jeho součást na správu oddı́lů (diskdrake).
$
2.2
PROSTŘEDÍ KDE
Obrázek 2.36: Grafické rozhranı́ programu cron v KDE – KCron
Obrázek 2.37: Ovládacı́ centrum Mandriva Linuxu
Úkoly
1. Zjistěte stav obsazenı́ operačnı́ paměti.
2. Najděte informace o procesoru.
3. Zjistěte informace o protokolech ftp, file a finger.
37
2.3
PROSTŘEDÍ GNOME
38
4. Projděte si KHelpCenter (Centrum nápovědy KDE).
5. Pokud nenı́ na hlavnı́m panelu tlačı́tko aplikace Klipper, umı́stěte jej tam. Vyzkoušejte
schránku – otevřete některý textový editor patřı́cı́ do prostředı́ KDE, napište jakýkoliv
text a zkopı́rujte do schránky. Prohlédněte si nastavenı́ Klipperu.
6. Najděte ve své distribuci nástroje, kde můžete prohlı́žet nastavenı́ hardwaru a provádět konfiguraci nastavenı́ speciálnı́ch souborů (např. pro klávesnici), definovat
připojenı́ k Internetu (IP adresu apod.), pracovat s přı́pojnými body k pamět’ovým
zařı́zenı́m, apod. (v Mandrake je to Ovládacı́ centrum Mandrake). Tyto nástroje si
důkladně projděte.
7. Vyzkoušejte klávesovou zkratku Ctrl+Esc . Zobrazı́ se Strážce systému obdobný Správci
úloh ve Windows. Prohlédněte si seznam procesů, který je v tomto nástroji zobrazen.
Vyzkoušejte stromové i řádkové uspořádánı́. Zjistěte, které sloupce jsou zobrazeny,
jak procesy podle některého sloupce seřadit a jak určit, které sloupce majı́ být uvedeny.
8. Ve Strážci systému vytvořte vlastnı́ záložku s několika moduly dle svého uváženı́.
9. Najděte kalkulačku, nástroj pro vypalovánı́ CD/DVD, jednoduchý textový editor.
2.3
Prostředı́ GNOME
GNOME (GNU Network Object Model Environment) je dalšı́ oblı́bené prostředı́ pro Linux.
Je o něco střı́zlivějšı́ než KDE, méně vybavené, ale o to přehlednějšı́, má obecně menšı́
nároky na hardware.
P
Na jednom počı́tači může být (a taky často bývá) instalováno vı́ce prostředı́. Pokud
máme jako výchozı́ KDE a chceme vyzkoušet GNOME, obvykle stačı́ najı́t na přihlašovacı́
obrazovce přı́stup k volbám (bývá to rozbalovacı́ seznam nebo tlačı́tko, podle konkrétnı́ho
nastavenı́) a tam zvolit přı́slušnou položku.
2.3.1
Pracovnı́ plocha
Podobně jako u KDE, také GNOME je široce konfigurovatelné, i co se týče vzhledu a vybavenosti aplikacemi. Proto následujı́cı́ text o GNOME je třeba brát jen jako vodı́tko, na
každém počı́tači se zřejmě setkáme s něčı́m jiným.
Na obrázku 2.38 vidı́me, jak může GNOME vypadat. Hlavnı́ panel je nahoře, na tomto
panelu najdeme (zleva) tlačı́tka hlavnı́ho menu prostředı́ a pak tzv. spouštěče aplikacı́ a applety. Ikonu Firefoxu hned za zkratkou pro češtinu (přepı́nánı́ klávesnice) určitě každý
pozná, následuje přı́stup k sı́ti, spouštěč mail klienta Evolution, nastavenı́ hlasitosti, ikona
pro spuštěnı́ nápovědy
, dále panel s datem, časem a přı́stupem k jednoduchému kalendáři, následuje ikona programu monitorujı́cı́ho systém (klepnutı́m nebo poklepánı́m se
P
2.3
PROSTŘEDÍ GNOME
39
Obrázek 2.38: Prostředı́ GNOME
zobrazı́ okno programu), a dalšı́. Na spodnı́m panelu je ikona pro minimalizaci zobrazených oken, vpravo pak přı́stup ke koši a přepı́nač virtuálnı́ch ploch (je nastavena jen jedna).
Na volném mı́stě se zobrazujı́ tlačı́tka spuštěných aplikacı́ (zrovna žádná nenı́ spuštěna).
Opět platı́, že v grafickém prostředı́ použı́váme
pro základnı́ konfiguraci pravé tlačı́tko myši. Takto nastavujeme vzhled pracovnı́ plochy (včetně motivů)
a také vlastnosti panelů a jednotlivých ikon na nich.
$
Na obrázku 2.39 je okno, které se zobrazı́ na požadavek Přidat na panel v kontextovém menu panelu.
Obrázek na pozadı́ pracovnı́ plochy změnı́me
v kontextovém menu pracovnı́ plochy, položka Změnit pozadı́. Zobrazı́ se okno se záložkami, ve kterém
můžeme nejen změnit pozadı́, ale nastavit i ostatnı́
souvisejı́cı́ vlastnosti. Tento nástroj můžeme spustit také přı́kazem gnome-appearance-properties.
Obrázek 2.39: Přidánı́ appletu na panel v GNOME
2.3
PROSTŘEDÍ GNOME
40
Obrázek 2.40: Nastavenı́ vzhledu plochy, nástroj Předvolby vzhledu
Obvykle postupujeme tak, že nejdřı́v určı́me motiv (na prvnı́ záložce, vidı́me na obrázku
2.40 vlevo), upravı́me ho podle svých představ (po klepnutı́ na tlačı́tko Upravit se zobrazı́
okno, ve kterém můžeme určit vzhled ovládacı́ch prvků, tvar a barvu okraje oken, ikony
apod.) a pak vzhled upřesnı́me na ostatnı́ch záložkách včetně nastavenı́ efektů.
Všimněte si, že v okně na obrázku 2.40 nenı́ nikde tlačı́tko OK ani Zpět – všechny
změny se hned provádějı́. V prostředı́ GNOME je tento přı́stup poměrně častý, měli bychom
si tedy dávat pozor, co děláme (v tomto přı́padě se problémy nepředpokládajı́, ale u jiných
programů se změny vracejı́ hůře).
Panely lze samozřejmě přesouvat myšı́, vytvářet nové
(v kontextovém menu některého panelu zvolı́me Nový panel,
vytvořený panel pak přesuneme tam, kde ho potřebujeme,
v jeho Vlastnostech nastavı́me vzhled a pak běžným způsobem přidáme spouštěče a applety, které chceme) nebo také
odstranit.
V kontextovém menu plochy (i jinde) najdeme volby pro
přidánı́ nových prvků na plochu – můžeme vytvořit novou
složku, spouštěč nebo dokument. Dokument může být bud’
prázdný soubor (přı́ponu pak určı́me při pojmenovánı́) nebo
soubor s obsahem podle daného typu (v přı́padě, že jsou nainstalovány přı́slušné šablony). Spouštěč je zkratka pro spuštěnı́
některé aplikace nebo otevřenı́ souboru či adresáře, obdoba
zástupců ve Windows.
Obrázek 2.41: Mı́sta v hlavKaždý prvek (i ikona na ploše) může mı́t přiřazen tzv. nı́m menu
emblém. Jedná se o jakousi grafickou poznámku, která se po
P
2.3
PROSTŘEDÍ GNOME
41
přidělenı́ přı́slušného emblému zobrazuje jako malý obrázek u ikony (dokument, foto, web,
důležitý, oblı́bený, nový, apod.). Emblémy přiřazujeme na záložce Emblémy ve Vlastnostech
prvku.
Hlavnı́ menu plochy (ke kterému se dostaneme podle obrázku 2.38 vlevo nahoře) je
vlastně jeden z appletů. Může být umı́stěno kdekoliv, také na kterémkoliv panelu. Máme
zde tři základnı́ položky – Aplikace, Mı́sta a Systém (může se také jmenovat Prostředı́).
Aplikace je část pro přı́stup k aplikacı́m, tato položka bývá u běžných uživatelů nejpou-
žı́vanějšı́, aplikace jsou třı́děny do kategoriı́ (to ostatně vidı́me na obrázku 2.38).
Mı́sta většinou použı́váme, když pracujeme se soubory, chceme se dostat do svého
domovského adresáře, ke svým dokumentům nebo k mı́stům souvisejı́cı́m s výměnnými
pamět’ovými médii (CD/DVD, USB flash disk, apod.) nebo se sı́tı́.
Systém (Prostředı́) poskytuje přı́stup k systémovým nastavenı́m, a to pro administrátora
i běžného uživatele.
Obrázek 2.42: Souborový manažer Nautilus v GNOME
Úkoly
1. Nastavte vzhled prostředı́ (motiv, obrázek na pozadı́, atd.) podle svého uváženı́, pak
se pokuste vrátit prostředı́ do původnı́ho stavu (v tak velké mı́ře, jak se vám to
podařı́).
2. Zjistěte, jaké applety a spouštěče jsou právě aktivnı́ na vašem počı́tači. Vyberte si
kterýkoliv z appletů, které nejsou aktivnı́ (tj. nejsou zobrazeny na žádném panelu)
a umı́stěte ho do pravé části panelu s hlavnı́m menu.
$
2.3
PROSTŘEDÍ GNOME
42
3. Zjistěte, zda některý z appletů a spouštěčů lze konfigurovat (napřı́klad v kontextovém
menu) a jestli se po poklepánı́ na něj zobrazı́ přidružená aplikace (tak to funguje
napřı́klad u nástroje Sledovánı́ systému).
4. Vytvořte nový panel. Přesuňte ho k levému okraji obrazovky, nastavte mu některou
vhodnou barvu s průhlednostı́ 50 %. Na panel pak umı́stěte alespoň tři applety nebo
spouštěče podle vlastnı́ho výběru.
5. Vyzkoušejte, co vše lze vytvořit na pracovnı́ ploše pomocı́ kontextového menu. Vytvořte spouštěč pro adresář Dokumenty z vašeho domovského adresáře. Pak tomuto
spouštěči (jeho ikoně) přidělte některý emblém.
6. Projděte si hlavnı́ menu a zjistěte, které aplikace jsou nainstalovány. Zkuste spustit
kalkulačku a některý jednoduchý textový editor.
7. Pomocı́ hlavnı́ho menu spust’te souborový manažer a prohlédněte si obsah svého
domovského adresáře. Zjistěte, jak lze určovat způsob zobrazenı́ souborů a jak se
nastavuje zobrazovánı́ skrytých souborů.
2.3.2
Ovládacı́ centrum
Také prostředı́ GNOME má své Ovládacı́ centrum. Spouštı́ se bud’ v hlavnı́m menu přes položku Systém ï Ovládacı́ centrum, a nebo přı́kazem gnome-control-center. Okno nástroje
vidı́me na obrázku 2.44.
$
Ovládacı́ centrum může (ale nemusı́) být členěno do skupin, mezi kterými se lze rychle
přesouvat pomocı́ seznamu v levé části okna. Klepnutı́m nebo poklepánı́m (podle nastavenı́
prostředı́) lze spustit jednotlivé nástroje, které jsou zde zpřı́stupněny. Některé vyžadujı́
zadánı́ hesla (obvykle zadáváme své vlastnı́ heslo). Nynı́ se podı́váme na některé z nástrojů
v Ovládacı́m centru.
V prvnı́ skupině, Osobnı́, většinou najdeme nástroje,
ke kterým lze přistupovat i bez hesla. Jejich funkce je
zřejmá už z názvu, snad až na Sezenı́ (obrázek 2.43). Pojem „sezenı́ “ (relace) označuje souhrn nastavenı́ souvisejı́cı́ch s přihlášenı́m a následnou pracı́ v systému pro jednoho konkrétnı́ho uživatele. V tomto nástroji můžeme
určit napřı́klad programy, které se spustı́ při přihlášenı́
uživatele a poběžı́ až do konce jeho relace nebo svého
ukončenı́. Pomocı́ nástroje O mně si můžeme také změnit heslo nebo určit některé důležité osobnı́ údaje.
Taktéž skupina Vzhled a chovánı́ je zřejmá. Máme zde
přı́stup k nastavenı́ vzhledu prostředı́, a také tady naObrázek 2.43: Nastavenı́ relace
jdeme nástroj pro konfiguraci hlavnı́ho menu (obrázek
uživatele
P
2.3
PROSTŘEDÍ GNOME
Obrázek 2.44: Ovládacı́ centrum GNOME
Obrázek 2.45: Konfigurace hlavnı́ho menu prostředı́ – Alacarte
43
2.3
PROSTŘEDÍ GNOME
44
Obrázek 2.46: Nastavenı́ oprávněnı́ uživatelů a procesů
2.45), který lze spustit také přı́kazem alacarte. Skupiny Internet a sı́t’ a Hardware podle
očekávánı́ obsahujı́ nástroje pro konfiguraci hardwaru a sı́tě.
Zajı́mavé nástroje najdeme ve skupině Systém. Většinou budou vyžadovat heslo. Některé nástroje jsou zaměřeny na zajištěnı́ bezpečnosti, napřı́klad Oprávněnı́ (obrázek 2.46,
jde o program polkit-gnome-authorization, někdy nebývá nainstalován) nebo Editor
pro omezenı́ práv uživatele (obrázek 2.47).
Dalšı́ nástroje v této skupině majı́ kontrolnı́ funkci, napřı́klad Sledovánı́ systému (obrázek 2.48, přı́kaz gnome-system-monitor), kde máme přı́stup ke spuštěným procesům
(včetně informacı́ o procesu), stavu systému, využı́vaným zdrojům (obrázek 2.49 vpravo)
a souborovým systémům. U kteréhokoliv procesu máme možnost zjistit, které soubory
má otevřeny (obrázek 2.49 vlevo). Některé nástroje nepřı́mo souvisejı́ s nastavenı́m prostředı́, ale vyžadujı́ zadánı́ hesla. Jsou to napřı́klad Jazyková podpora a Předvolby přihlašovacı́
obrazovky (oba nástroje vidı́me na obrázku 2.50).
Je pravděpodobné, že v Ovládacı́m centru najdeme také nástroj na testovánı́ hardwaru.
Jde o průvodce, který prověřı́ hardware počı́tače (klávesnice, myš, grafická karta apod.),
postupně vypisuje zjištěné typy komponent a pak odešle zprávu na zadanou e-mailovou
adresu. Tento nástroj využijeme napřı́klad tehdy, když některá z komponent nefunguje
správně nebo chceme zjistit, který ovladač budeme pro komponentu potřebovat.
2.3
PROSTŘEDÍ GNOME
45
Obrázek 2.47: Nástroj Editor pro omezenı́ práv uživatele
Obrázek 2.48: Sledovánı́ systému
2.3
PROSTŘEDÍ GNOME
46
Obrázek 2.49: Přı́stup k systémovým zdrojům včetně otevřených souborů
Mohou být instalovány i dalšı́ nástroje souvisejı́cı́ se správou hardwaru, napřı́klad
Správce disků, ve kterém máme možnost zjistit potřebné informace o discı́ch (nejen pevných).
Na obrázku 2.51 je zobrazena informace o pevném disku, na kterém jsou nainstalovány
dva operačnı́ systémy – Windows Vista (na oddı́lu 2) a Debian Linux (oddı́l 6). Jak vidı́me,
na oddı́lu s Windows Vista je souborový systém NTFS.
Obrázek 2.50: Nastavenı́ jazyků a přihlašovacı́ obrazovky
2.3
PROSTŘEDÍ GNOME
47
Obrázek 2.51: Zjištěnı́ informacı́ o disku ve Správci disků
Z konfiguračnı́ch nástrojů se může hodit také
přı́stup ke službám (obrázek 2.53, vidı́me také
výzvu k zadánı́ hesla), Správu napájenı́ (obrázek 2.54
– na notebooku) nebo třeba Sı́t’ové nástroje (obrázek 2.52). V okně pro sı́t’ové nástroje vidı́me, že
na počı́tači (notebooku) máme jednu ethernetovou
kartu (eth0) a dále zařı́zenı́ loopback, které sloužı́ jako
„zpětná smyčka“ pro přı́stup k témuž počı́tači stejným způsobem jako k sı́ti.
Při správě softwaru se použı́vajı́ nástroje Zdroje
softwaru (určı́me, odkud – ze kterých repozitářů – se
majı́ programy instalovat) a Správce balı́čků Synaptic
(přes ten určujeme, co se má nainstalovat, tedy přistupujeme do repozitářů). Najdeme zde i nástroj pro
řı́zenı́ aktualizacı́, ale aktualizace můžeme spouštět
také z programu Synaptic. Instalacı́ a aktualizacı́ programů se budeme zabývat později.
Obrázek 2.52: Konfigurace sı́tě
Úkoly
1. Zjistěte, jaká rozloženı́ klávesnice jsou zvolena. Pokud je jen jedno, zajistěte, aby byla
vybrána alespoň dvě – české a anglické.
2. Zjistěte, které klávesové zkratky sloužı́ k odhlášenı́, zamknutı́ obrazovky, přepı́nánı́
2.3
PROSTŘEDÍ GNOME
48
Obrázek 2.53: Konfigurace služeb s výzvou k zadánı́ hesla
Obrázek 2.54: Konfigurace napájenı́ pro notebook
mezi okny, přepnutı́ mezi rozloženı́mi klávesnice. Nastavte klávesovou zkratku pro
spuštěnı́ prohlı́žeče nápovědy na Shift+Ctrl+F1 (hned ji vyzkoušejte).
3. Pokud na panelu nenı́ applet pro přepı́nánı́ mezi rozloženı́mi klávesnice, umı́stěte ho
tam.
4. Zjistěte, jaké je zvoleno rozlišenı́ obrazovky. Jaký je rozdı́l ve funkcı́ch nástrojů Tisk
a Výchozı́ tiskárna?
5. Zobrazte seznam běžı́cı́ch procesů. Vyzkoušejte si různá uspořádánı́ tohoto seznamu
(seřazenı́ se provádı́ klepnutı́m na záhlavı́ přı́slušného sloupce) a zjistěte, které
sloupce lze zobrazit.
Zobrazte sloupec s přesným tvarem přı́kazu, kterým byly procesy spuštěny. Spust’te
některý z výše uvedených nástrojů a zjistěte, kterým přı́kazem byl spuštěn.
6. Zjistěte svou IP adresu a podı́vejte se na konfiguraci zařı́zenı́ loopback.
2.3
PROSTŘEDÍ GNOME
49
7. Po jaké době nečinnosti má být vypnut displej? Jaká akce je nastavena při stisknutı́
tlačı́tka napájenı́?
2.3.3
Dalšı́ nástroje
Skladba nástrojů v Ovládacı́m centru se může na různých počı́tačı́ch lišit (záležı́, co vše je
zvoleno při instalaci systému či prostředı́). Také mimo Ovládacı́ centrum najdeme různé
nástroje. Zmı́nı́me se zde o některých, které by mohly být užitečné.
Důležitým nástrojem je samozřejmě nápověda. Také v prostředı́ GNOME ji najdeme,
většinou se k nı́ dostaneme přes některý z appletů.
Mezi aplikacemi (tj. v menu Aplikace) obvykle najdeme nástroj, který sice také sloužı́
ke správě softwaru jako Synaptic, ale narozdı́l od něj je „uživatelsky přı́tulnějšı́ “ – nepracujeme s balı́čky aplikacı́ (pro jednu aplikaci může existovat i vı́ce balı́čků, názvy balı́čků
korespondujı́ s anglickými názvy instalačnı́ch souborů), ale přı́mo s názvy aplikacı́.
V menu Aplikace bývá podmenu Systémové nástroje s jednoduchými nástroji pro různé
účely. Většina podobných nástrojů je však přı́stupná přes menu Systém. Kromě odkazu
na Ovládacı́ centrum tady máme dvě podmenu – Volby pro nástroje spı́še uživatelského
charakteru a Správa pro nástroje určené k administraci systému. Seznam položek v těchto
podmenu se do značné mı́ry kryje s obsahem Ovládacı́ho centra, máme tedy možnost vybrat
si, jestli chceme nástroj spustit přes Ovládacı́ centrum nebo přes hlavnı́ menu.
Obrázek 2.55: Editor nastavenı́ (gconf editor)
Zajı́mavý nástroj je Editor nastavenı́ (GNOME Configurator – také se dá spustit přı́kazem
gconf-editor). Jedná se o jakési sjednocenı́ nejrůznějšı́ch voleb na jedno mı́sto, volby jsou
$
2.3
PROSTŘEDÍ GNOME
50
roztřı́děny do kategoriı́. Zobrazená struktura je obdobou struktury, kterou známe z nástroje
Editor registru ve Windows, ale voleb je výrazně méně, editor působı́ trochu přı́větivějšı́m
dojmem a také se volby neukládajı́ do binárnı́ch souborů. Na obrázku 2.55 vidı́me nastavenı́
voleb pro správu napájenı́ (obdobné možnosti máme i v nástroji pro správu napájenı́
probı́raném dřı́ve). Obecně platı́, že když některé nastavenı́ nenı́ dosažitelné přes nástroje
přı́stupné z grafického rozhranı́ a nechce se nám pracovat přı́mo s konfiguračnı́mi skripty,
je možné, že přı́slušnou volbu najdeme v tomto nástroji (pokud je nainstalován).
Program gconf je, jak bylo naznačeno, sice užitečný, ale nic pro začátečnı́ky. Proto se
(ostatně jako u regeditu ve Windows) pomalu začı́najı́ objevovat „tweakovacı́ nástroje“,
napřı́klad Pessulus a gtweak.
Jednı́m z nejznámějšı́ch programů souvisejı́cı́ch s prostředı́m GNOME (a taky obecně
z programů pro Linux) je GPartEd (zkratka z GNOME Partition Editor).Na obrázku 2.56
vidı́me prostředı́ tohoto nástroje (je to stejný systém, jako v přı́padě obrázku 2.51 na straně
47 se Správcem disků).
Obrázek 2.56: Správa disků s programem GPartEd
$
2.3
PROSTŘEDÍ GNOME
51
Máme přehled o oddı́lech na disku vytvořených. Podle přı́znaku „boot“ zcela vpravo
poznáme, na kterých oddı́lech je instalován operačnı́ systém. Oddı́ly použı́vané Windows –
oddı́l 2, na kterém je instalován Windows Vista (disk C:), a pak oddı́l 3 (dole) využı́vaný jako
datové úložiště (disk D:) – jsou zpřı́stupněny a lze na ně také zapisovat (včetně vytvářenı́
nových souborů), třebaže je na nich souborový systém NTFS. Kromě prohlı́ženı́ můžeme
také rušit a vytvářet oddı́ly.
Úkoly
1. Spust’te nápovědu a projděte si jejı́ strukturu.
2. Projděte si nástroje, které najdete v hlavnı́m menu Aplikace, v podmenu Systémové
nástroje a Přı́slušenstvı́. Pokud máte nainstalovánu distribuci Debian, pak i podmenu
Debian.
3. Vytvořte na ploše ikonu pro přı́stup k některému disku (nejlépe USB flash disku)
a projděte si kontextové menu této ikony.
Kapitola
3
Vlastnosti unixových systémů
V této kapitole projdeme některé základnı́ charakteristiky systémů unixového typu. Nebudeme se
zabývat vnitřnı́ strukturou Unixu, ale spı́še vlastnostmi týkajı́cı́mi se uživatelů a správců systému.
Snahou je nezávislost textu kapitoly na grafickém prostředı́, ve kterém pracujete, proto jsou některé
úkoly méně konkrétnı́.
3.1
Uživatelé a skupiny
Nejdůležitějšı́m uživatelem je root (v jiných operačnı́ch systémech se nazývá supervizor,
správce, administrátor). Má nejrozsáhlejšı́ práva, může provádět konfiguraci systému, pracovat s uživatelskými konty včetně definovánı́ nových uživatelů a má přı́stup ke všemu
v systému.
Uživatel může patřit i do vı́ce uživatelských skupin. Skupiny se obvykle použı́vajı́
pro určenı́ uživatelů úžeji spolupracujı́cı́ch napřı́klad na nějakém projektu, mohou být
samozřejmě dočasné.
Všichni uživatelé majı́ přiřazeno identifikačnı́ čı́slo UID (User ID), uživatel root má vždy
UID = 0. Stejně tak i skupiny majı́ přiřazeno identifikačnı́ čı́slo GID (Group ID). Uživatel
má přiřazeno
UID (s tı́mto čı́slem pracujı́ bezpečnostnı́ mechanismy systému),
login – přihlašovacı́ jméno, zadává ho při přihlašovánı́ do systému,
password – heslo,
vlastnı́ domovský adresář (Home Directory), je přı́stupný jen jemu a rootovi, jeho název
je obvykle stejný jako login,
• skupiny, do kterých patřı́, jedna ze skupin je pro něj primárnı́ (nejdůležitějšı́),
• výchozı́ shell (něco na způsob Přı́kazového řádku ve Windows).
•
•
•
•
52
P
P
3.2
PROCESY
53
Čı́sla UID a GID může root určovat jakkoliv (při vytvořenı́ uživatele a skupiny, UID běžných
uživatelů bývá obvykle nejméně trojciferné). Jediné omezenı́ může nastat při propojenı́
vı́ce unixových počı́tačů do sı́tě tak, že uživatel (nebo skupina) může pracovat na různých
počı́tačı́ch bez nutnosti vytvářenı́ účtů na všech systémech. To se řešı́ obvykle sı́t’ovým
souborovým systémem, napřı́klad NFS, který vyžaduje pro téhož uživatele se stejným
jménem jediné UID v celé sı́ti, a totéž platı́ pro GID skupin.
Úkol
Zjistěte informace o sobě jako uživateli – své UID, skupiny, do kterých patřı́te, GID své
primárnı́ skupiny.
3.2
Procesy
Proces je vlastně běžı́cı́ program.1 Procesy v Unixu jsou seřazeny v hierarchické (stromové)
struktuře založené na vztahu předek–potomci. Potomci jsou spouštěni svým předkem a dědı́
některé jeho vlastnosti. Každý proces identifikován svým vlastnı́kem (uživatelem) a skupinou, má vždy přiřazeno jedno čı́slo UID a jedno čı́slo GID, od toho jsou odvozena také
jeho přı́stupová práva.
Procesy majı́ také identifikačnı́ čı́sla, a to PID (Process ID), každý proces také musı́ vědět,
kdo je jeho předek (čı́slo PPID – Parent Process ID), a obvykle platı́, že po ukončenı́ činnosti
předka končı́ i jeho potomci (jsou výjimky). Existujı́ i dalšı́ identifikačnı́ čı́sla, která má
proces přidělena (PGID, SID), těmi se budeme zabývat na přednáškách v přı́štı́m semestru.
Každý proces má svého vlastnı́ka. Obvykle to bývá uživatel, který tento proces spustil
(třeba zprostředkovaně přes jiný proces). Vlastnı́kem systémových procesů je většinou
uživatel root. Od vlastnı́ka se také odvı́jejı́ přı́stupová oprávněnı́ tohoto procesu.
Po startu systému běžı́ pouze jediný proces, init. Jeho vlastnı́kem je root, pro init je
čı́slo PID = 1 (proces s hodnotou PID = 0 vlastně neexistuje, na tom mı́stě si můžeme
představit sadu instrukcı́, která je vykonávána ještě před procesem init a ve skutečnosti ji
ani nepovažujeme za proces – bootovánı́ systému). Proces init pak spouštı́ dalšı́ procesy,
tedy všechny dalšı́ procesy v systému běžı́cı́ jsou jeho potomci, přı́mı́ nebo nepřı́mı́. Spouštı́
předevšı́m systémové procesy většinou běžı́cı́ na pozadı́, kterým se v Unixu řı́ká démony
(daemons). Speciálnı́m procesem je také jádro (kernel).
Pokud některý proces dále běžı́ a přitom jeho předek byl ukončen, musı́ být tento proces
„adoptován“ procesem init, aby zůstala zachována hierarchická struktura procesů, a nebo
ukončen.
1
Technicky řečeno jde o instanci programu – program uložený napřı́klad na pevném disku spustı́me,
v operačnı́ paměti je vytvořen jeho obraz vybavený kódem programu, pamětı́ pro uloženı́ proměnných a dalšı́mi
prostředky.
P
P
P
P
P
3.3
ADRESÁŘE A SOUBORY
54
Podle původnı́ koncepce Unixu jsou programy malé a jednoduché, a tedy i procesy, a hlavnı́
sı́la Unixu je v jejich efektivnı́ spolupráci, která znamená předevšı́m předávánı́ výstupů
jednoho procesu na vstupy jiného. Je to možné několika způsoby, jeden z nich je použı́vánı́
tzv. rour. Roura (Pipe nebo Pipeline) je vlastně dočasný soubor (i když ne vždy doslova),
který sloužı́ k takovémuto předávánı́ dat. V přı́kazech shellu nebo ve skriptu se obvykle
realizuje zřetězenı́m přı́kazů symbolem roury, |.
E
Úkoly
1. Spust’te některý nástroj, ve kterém máte přı́stup ke struktuře běžı́cı́ch procesů (podle
toho, ve kterém prostředı́ pracujete). Pokud nenı́ vyznačena hierarchická struktura,
zapněte zobrazenı́ stromu procesů. Najděte proces init a zjistěte, jaké má „přı́mé
potomky“.
2. Zjistěte, kolik procesů je právě spuštěno.
3. Ověřte PID procesu init. Dále seřad’te procesy podle PID a u procesů s nejnižšı́mi
hodnotami se pokuste odhadnout pořadı́, ve kterém byly spuštěny. Zobrazte sloupec
s údajem o času spuštěnı́ procesů (pokud je podporován použı́vaným nástrojem,
zřejmě ano) a porovnejte svůj odhad.
4. Opět zapněte zobrazenı́ stromové struktury. Spust’te některý program a sledujte, kde
se objevı́ ve struktuře procesů a jaké PID mu bude přiděleno. Pak tento program
ukončete prostřednictvı́m nástroje se seznamem procesů.
3.3
3.3.1
Adresáře a soubory
Soubory
Nejdůležitějšı́m faktem je: VŠECHNO JE SOUBOR (včetně adresářů, zařı́zenı́ a čehokoliv dalšı́ho) a ke všemu se jako k souboru můžeme chovat včetně uplatňovánı́ přı́stupových práv.
Soubory jsou ukládány v adresářové struktuře, způsob reprezentace souboru na pamět’ovém médiu je dán předevšı́m použitým souborovým systémem.
Souborové systémy. Podobně jako jsme se ve Windows setkali se souborovými systémy FAT
a NTFS, unixové systémy použı́vajı́ mnoho různých souborových systémů, napřı́klad UFS
(Unix File System, původnı́, stále vylepšovaný a použı́vaný), VXFS, PCFS, HSFS, v Linuxu
jsou obvyklé ext2, ext3, ReiserFS, JFS, XFS, . . . , použı́vajı́ se také sı́t’ové souborové systémy
(NFS, SMB, . . . ). Je jich tolik nejen proto, že od vzniku Unixu už uběhlo hodně vody (a bylo
dost času na vylepšovánı́), ale také proto, že souborový systém volı́me předevšı́m podle
jeho vlastnostı́, a každý z nich má tyto vlastnosti trochu jiné (dnes se setkáme nejčastěji
s ext3).
E
P
3.3
ADRESÁŘE A SOUBORY
55
Název souboru. Soubory mohou mı́t přı́ponu, ale nenı́ operačnı́m systémem vyžadována
(může být vyžadována nebo podporována některými aplikacemi). Narozdı́l od produktů
Microsoftu nenı́ přı́pona speciálnı́ částı́ oddělenou od názvu souboru, ale je součástı́ názvu
včetně oddělujı́cı́ tečky, což znamená, že část za tečkou může být jakkoliv dlouhá. Uživatelé
přı́ponu obvykle použı́vajı́, protože jim umožňuje rozpoznat typ souboru a hodı́ se také pro
asociace souborů s aplikacemi (to je obvyklé v grafických rozhranı́ch). Spustitelné soubory
a také některé skripty přı́ponu nemajı́.
P
V unixových souborových systémech obvykle nejsou taková omezenı́ pro názvy souborů jako napřı́klad u Windows. Jediným omezenı́m bývá zákaz použitı́ znaku / v názvu
souboru, protože tento znak odděluje adresáře v cestě k souboru. Přesto se dodržujı́ určité
konvence, jako napřı́klad nepoužı́vánı́ nezobrazitelných znaků (prvnı́ch 30 znaků v ASCII
tabulkách) a dále některých znaků použı́vaných shellem (*, ?, #, apod.).
Maximálnı́ povolená délka názvu souboru závisı́ na použitém souborovém systému,
dnes souborové systémy v tomto směru také nekladou vážnějšı́ překážky, pokud je tato
délka stanovena, tak obvykle na 255 znaků. Jak už bylo výše napsáno, do tohoto názvu
patřı́ i tečka a přı́padná přı́pona souboru, tedy název souboru abc.txt má 7 znaků.
Některé soubory začı́najı́ tečkou (a obvykle je to jediná tečka v názvu) – tak se značı́
skryté soubory. Jsou to většinou konfiguračnı́ soubory systému, shellu nebo některé aplikace,
obvykle jde o textové soubory, a při běžném zobrazovánı́ souborů je ve výpisech neuvidı́me
(musı́me zapnout zobrazovánı́ skrytých souborů).
E
Ve výpisech můžeme také vidět názvy ve tvaru nějaký_název.d (tedy končı́ tečkou
a pı́smenem d). Nejde o běžné soubory, ale o adresáře (directory).
Úkol
Spust’te některého správce souborů (můžete jednoduše poklepánı́m na ikonu svého domovského adresáře, pokud je zobrazena). Projděte si možnosti jeho nastavenı́ a zapněte
zobrazovánı́ skrytých souborů.
3.3.2
Struktura adresářů
Narozdı́l od struktury obvyklé pro Windows, v unixových systémech je adresářová struktura vı́ce virtualizována. Existuje jediný adresářový strom (s jednı́m kořenem), do kterého
jsou připojována pamět’ová média a přistupuje se k nim přes předem určené adresáře
stromu. Výhodou je možnost univerzálnı́ho přı́stupu k různým typům dat včetně dynamicky vytvářených, tento přı́stup znamená velké zjednodušenı́ hlavně pro programátory.
Některé adresáře majı́ v určitém okamžiku zvláštnı́ význam, jsou to
• aktuálnı́ adresář, označuje se znakem . (použijeme v složitějšı́ch přı́kazech, kdy se
chceme odkazovat na aktuálnı́ adresář),
P
3.3
ADRESÁŘE A SOUBORY
56
/
bin
dev
etc
home
root
lib
honza
klara
martin
...
proc
tmp
usr
var
mnt
...
usb
diskC
...
Obrázek 3.1: Obvyklá struktura v unixových systémech
• nadřı́zený adresář, označuje se .. (použijeme napřı́klad pro pohyb v adresářové struktuře),
• kořenový adresář, označuje se znakem /
• domovský adresář, označuje se znakem ~ (platı́ vždy pro určitého uživatele).
Struktura adresářů se může na různých Unixech trochu lišit. Obvykle přibližně odpovı́dá
struktuře, kterou vidı́me na obrázcı́ch 3.1 a 3.2, nejdůležitějšı́ adresáře jsou
/ – kořenový adresář (root), narozdı́l od Windows je společný pro všechna vnějšı́ pamět’ová
média (obvykle disky, prostě vše je dostupné přes tento jediný adresář), obsahuje také
některé důležité soubory
/bin – soubory pro zavedenı́ systému, některé konfiguračnı́ soubory systému, také běžné
přı́kazy pro různé účely (název bin je od „binárnı́“)
/sbin – soubory použı́vané uživatelem root ke správě systému
/etc – konfiguračnı́ soubory pro operačnı́ systém i mnohé aplikace, napřı́klad
/etc/passwd – soubor se seznamem uživatelů (přihlašovacı́ jméno, UID, skupina
apod.), můžeme otevřı́t v textovém editoru (stačı́ na soubor poklepat)
/etc/shadow – šifrovaný soubor s hesly uživatelů
/etc/group – seznam skupin uživatelů s podobným formátem
/etc/services – seznam služeb, protokolů a portů v systému
/etc/fstab – seznam souborových systémů automaticky připojovaných při startu
systému (jsou zde informace potřebné k připojenı́ pamět’ových médiı́ – o jaké
médium jde, přes který adresář má být přı́stupný jeho obsah, jaký má souborový
systém, zda se má připojit jen pro čtenı́ nebo i pro zápis, atd.)
/etc/mtab – seznam momentálně připojených souborových systémů (může se jmenovat mnttab)
/etc/inittab – konfiguračnı́ soubor procesu init, zde je stanoveno, které skripty se
majı́ spustit v různých úrovnı́ch běhu (tj. v jednouživatelském/vı́ceuživatelském
režimu, apod.)
/etc/shells – seznam povolených shellů, mezi kterými se lze přepı́nat přı́kazem
chsh
P
3.3
ADRESÁŘE A SOUBORY
57
Obrázek 3.2: Adresářová struktura v prohlı́žeči souborů
/root – domovský adresář uživatele root
/home – domovské adresáře ostatnı́ch uživatelů (každý má v tomto adresáři svůj vlastnı́
adresář pojmenovaný podle loginu, jak vidı́me na obrázku 3.1); kromě vlastnı́ch
dokumentů uživatele zde najdeme také souvisejı́cı́ konfiguračnı́ skripty (napřı́klad
s přı́kazy, které se majı́ provést při přihlášenı́ uživatele), uživatel si do tohoto adresáře
může instalovat své vlastnı́ „soukromé“ programy (nemusı́ ho zajı́mat přı́stupová
oprávněnı́ a zároveň ostatnı́ uživatelé takový program nemohou spouštět)
/lib – sdı́lené knihovny využı́vané při startu systému nebo pro programy z /bin a /sbin,
v podadresáři modules najdeme moduly jádra
/srv – úložiště dat pro služby
/dev – speciálnı́ soubory pro zařı́zenı́ (zkratka z device), sloužı́ mimo jiné k nı́zkoúrovňo-
vému přı́stupu k zařı́zenı́m
/mnt – přı́pojné body pro dočasně připojovaná pamět’ová zařı́zenı́ (pro každé zařı́zenı́ je
zde přı́stupový adresář s vnitřnı́ adresářovou strukturou média), přes tento adresář
přistupujeme k obsahu CD/DVD, USB flash disků, disket, ale také třeba k oddı́lům
s nainstalovaným systémem Windows; v mnohých distribucı́ch se pro tyto účely
využı́vá adresář /media
/tmp – adresář pro dočasné soubory
3.3
ADRESÁŘE A SOUBORY
58
/boot – soubory pro zavaděč systému (LILO nebo GRUB), bývá tam být uloženo také
jádro systému (v Linuxu soubor začı́najı́cı́ řetězcem vmlinuz); obecně jde o informace
a programy intenzı́vně použı́vané předevšı́m při startu systému (až na jádro, to se
použı́vá po celou dobu běhu systému)
/usr – zde jsou nainstalovány programy a dokumentace, kromě samotné instalace se v
tomto adresáři se změnami nepočı́tá; některé podadresáře:
/usr/bin – programy, napřı́klad /usr/bin/passwd, také pro mnohé skriptovacı́
jazyky (Perl, Python, Tcl, atd.)
/usr/man, /usr/info, /usr/doc – dokumentace, manuálové stránky
/usr/x11r6 (může být i jinak) – X-Window (základ grafického prostředı́)
/usr/include – knihovny hlavičkových souborů pro jazyk C
/usr/lib – systémové knihovny
/usr/local – mı́sto pro instalaci aplikacı́
/usr/src – zdrojové soubory
/var – zkratka z variable, proměnlivý, zde jsou soubory systému a aplikacı́, se kterými se
neustále pracuje a měnı́ se: e-mailové schránky, logovacı́ soubory – /var/log, tiskové
fronty tiskáren a jiná data ke zpracovánı́ (/var/spool), adresář pro dočasné soubory,
/opt – zkratka z optional (volitelný), do tohoto adresáře se často instalujı́ aplikace, které
nebyly dodány s distribucı́ a instalujeme je tedy dodatečně (podle své volby), je to
alternativnı́ instalačnı́ mı́sto vzhledem k /usr
/proc (v Linuxu) – běhové informace o systému, ve skutečnosti je to dynamicky udržovaný
virtuálnı́ adresář, neexistuje reálně na disku, je vygenerován při spuštěnı́ systému,
napřı́klad
/proc/1 – informace o procesu s PID=1, tedy init
/proc/nějaké_čı́slo – informace o procesu s daným čı́slem (jeho PID), najdeme
zde napřı́klad přı́kaz, kterým byl proces spuštěn, který adresář je pro tento
proces zrovna pracovnı́, symbolické odkazy na soubory, se kterými pracuje, stav
procesu, využı́vanou pamět’, atd.
/proc/cpuinfo – informace o procesoru
/proc/dma – které dma kanály jsou zrovna využı́vány
/proc/kmsg – výstupnı́ hlášenı́ jádra systému
/sys – jedná se opět o virtuálnı́ adresář, tento však najdeme pouze v Linuxu (v nejnovějšı́ch
jádrech); najdeme tady veškeré informace o zařı́zenı́ch, napřı́klad
/sys/devices – fyzické vztahy mezi zařı́zenı́mi (co je k čemu připojeno)
/sys/bus – zařı́zenı́ třı́děná podle sběrnic (PCI, USB, atd.)
/sys/class – zařı́zenı́ třı́děná podle třı́d (typů zařı́zenı́)
/sys/block – přı́stup k blokovým zařı́zenı́m včetně disků
/sys/power – nı́zkoúrovňový přı́stup ke správě napájenı́
3.3
ADRESÁŘE A SOUBORY
59
Informace o standardu pro adresářovou strukturu Unixů (File Hierarchy Standard) jsou
také na http://www.pathname.com/fhs.
Úkoly
1. Projděte si svůj domovský adresář (se zapnutým zobrazenı́m skrytých souborů).
Zjistěte, kam se ukládajı́ konfiguračnı́ skripty, dokumenty, apod.
2. V adresáři /etc zobrazte obsah souboru fstab a porovnejte se souborem mtab. Dále
zobrazte soubory se seznamem uživatelů a skupin (najděte svůj záznam v těchto
souborech).
3. Zjistěte název souboru jádra (většinou obsahuje i čı́slo verze).
4. Projděte adresář /usr a podı́vejte se, které aplikace jsou instalovány.
5. V adresáři /proc zvolte některý podadresář pojmenovaný čı́slem (spı́še vı́ceciferným)
a prohlédněte si ho – zjistěte, ve kterých souborech se nacházejı́ informace jako napřı́klad přı́kaz, kterým byl proces spuštěn, využitı́ paměti apod. Podobně prozkoumejte
také podadresář přı́slušejı́cı́ procesu init.2
6. V adresáři /proc si prohlédněte informace o procesoru, využité operačnı́ paměti, atd.
– běhové informace o systému.
3.3.3
Odkazy na soubor
V unixových systémech existujı́ odkazy dvou typů: pevné a symbolické.
Pevný odkaz (hard link) je dalšı́ ukazatel na soubor disku, je rovnoprávný s „prvnı́m
odkazem“ vzniklým při vytvořenı́ souboru, tedy název pevného odkazu na soubor je také
název souboru. Pokud existuje na tentýž soubor vı́ce pevných odkazů, znamená to, že
v souborovém systému existuje vı́ce cest k tomuto souboru (naprosto rovnoprávných).
V souborových systémech pod Windows se pevné odkazy moc nepoužı́vajı́, ke každému
souboru existuje jen jedna cesta (i když v souborovém systému NTFS ve vyššı́ch verzı́ch
pevné odkazy lze vytvořit).
Pevný odkaz ke výhodný zvláště tehdy, když soubor, na který odkazujeme, chceme sem
tam přejmenovat, přistupujeme k němu z vı́ce mı́st, dále když soubor smažeme z prvnı́ho
odkazu, nenı́ ztracen, můžeme se na něj dostat z ostatnı́ch pevných odkazů, pokud existujı́.
Pevné odkazy mohou být vytvářeny pouze na běžné soubory, ne na adresáře (kromě .
a .., které jsou „předvı́datelné“), aby zůstala zachována acykličnost v grafu adresářů, musı́
být vždy v rámci stejného fyzického systému souborů (např. na stejném oddı́lu disku).
Symbolický odkaz (soft link) ukazuje pouze na jméno souboru, je to obdoba zástupců
ve Windows. Obsahuje tedy v sobě informaci o názvu souboru s absolutnı́ nebo relativnı́
2
V textovém editoru grafického rozhranı́ obvykle nic neuvidı́te. Pokud vás zajı́má, co je v souborech uvnitř
P
E
P
3.4
ZAŘÍZENÍ
60
cestou. Výhodou je, že narozdı́l od pevných odkazů symbolický odkaz může odkazovat na
cokoliv včetně adresáře, cı́l může být i na jiné partition. Nevýhoda je, že když je původnı́
soubor odstraněn, symbolický odkaz ukazuje na neexistujı́cı́ soubor.
Jak je poznat: ve správci souborů, kterého použı́váme, zajistı́me zobrazenı́ sloupců s přı́stupovými oprávněnı́mi a počtem odkazů na soubor.
$
• pevný odkaz je zaměnitelný s každou jinou cestou k danému souboru, proto se dá
vysledovat pouze existencı́ čı́sla vyššı́ho než 1 ve sloupci s počtem odkazů na soubor
– všimněte si, jaké je toto čı́slo u adresářů . a .. (pokud máme zapnuto zobrazenı́
skrytých souborů),
• symbolický odkaz je značen pı́smenem l hned na prvnı́m mı́stě ve sloupci s přı́stupovými oprávněnı́mi (jinak tam většinou bývá - pro běžné soubory a d pro adresáře),
napřı́klad tam může být řetězec lrw-r--r--.
Úkoly
1. Kolik pevných odkazů (cest) vede k podadresářům . a .. ve vašem domovském
adresáři? Kolik je jich u stejně pojmenovaných podadresářů v adresáři /home?
2. Zjistěte, zda ve vašem domovském adresáři je nějaký symbolický odkaz. Zkuste tento
soubor otevřı́t v textovém editoru (pomocı́ kontextového menu).
3.4
3.4.1
Zařı́zenı́
Zajištěnı́ přı́stupu k zařı́zenı́m
Ovladače. Také v Linuxu jsou pro každé zařı́zenı́ nutné ovladače. Obvykle nemůžeme
použı́t ovladače pro Windows (i tato možnost dnes již existuje, i když nenı́ jednoduchá –
přes nástroj NDISWrapper), naštěstı́ pro běžně prodávaná zařı́zenı́ se dajı́ většinou sehnat
ovladače pro Unix (Linux) nebo jsou přı́mo v jádře (tam jsou většinou standardnı́ ovladače,
které umožnı́ zařı́zenı́ použı́vat, i když někdy nemůžeme jeho možnosti plně využı́t).
Ovladače pro Linux, pokud vestavěné standardnı́ nevyhovujı́, se většinou dajı́ sehnat
na internetu na stránkách výrobce zařı́zenı́ nebo na specializovaných stránkách. Problémy
nastávajı́ jen u těch zařı́zenı́, jejichž výrobci sami nemı́nı́ vydat linuxové ovladače a také
nechtějı́ zveřejnit informace nutné pro jejich naprogramovánı́. Naštěstı́ se to obvykle dá
vyřešit použitı́m obecného ovladače pro daný typ zařı́zenı́, přı́padně naprogramovánı́m
ovladače „ad-hoc“ s použitı́m informacı́ zı́skaných pozorovánı́m chovánı́ ovladače pro jiný
operačnı́ systém.
/proc, pak musı́te přes terminál. Pomocı́ přı́kazu cd se přesuňte do adresáře, který vás zajı́má, pak přı́kazem
cat zobrazte obsah souboru.
P
3.4
ZAŘÍZENÍ
61
Aby bylo možné plně využı́vat 3D grafické rozhranı́ v unixových systémech, je třeba mı́t
3D grafickou kartu a také k nı́ vhodné ovladače. Ovladače karet firem ATI a nVidia se dajı́
stáhnout na internetu v binárnı́ podobě (jsou dostupné ve většině repozitářů, podrobnosti
budeme probı́rat později), za určitých okolnostı́ mohou být nainstalovány automaticky
zároveň se systémem.
Speciálnı́ soubory jsou jakési komunikačnı́ body, přes které procesy zı́skávajı́ data ze
zařı́zenı́ nebo je tam naopak posı́lajı́. Najdeme je v adresáři /dev. Základnı́ operace jsou
realizovány jako běžná práce se souborem (podle filozofie „vše je soubor – i zařı́zenı́“):
P
• inicializace zařı́zenı́ (pokud je nutná) = otevřenı́ souboru,
• zaslánı́ dat zařı́zenı́ (disku, tiskárně apod.) = zápis dat do souboru,
• načtenı́ dat ze zařı́zenı́ (disku, . . . ) = čtenı́ dat ze souboru, atd.
Pozor, speciálnı́ soubor zařı́zenı́ nenı́ totéž co ovladač (ovladač je program – proces komunikujı́cı́ se zařı́zenı́m, speciálnı́ soubor zařı́zenı́ je datová struktura sloužı́cı́ ke komunikaci
uživatele nebo jiného procesu s tı́mto zařı́zenı́m reprezentovaným ovladačem).
Připojovánı́ pamět’ových zařı́zenı́. Pro zařı́zenı́ typu pamět’ové médium nestačı́ mı́t pouze
speciálnı́ soubor. Komunikace s takovým zařı́zenı́m je mnohem složitějšı́, napřı́klad když
ukládáme soubor, nestačı́ pouze poslat prakticky nezformátovaná data speciálnı́mu souboru, ale musı́me přidat dalšı́ informace – název souboru, jeho umı́stěnı́, atributy, apod.
Proto pro pamět’ová média máme kromě speciálnı́ho souboru také jiné kontaktnı́ mı́sto, bod
připojenı́ (přı́pojný bod).
Každé pamět’ové zařı́zenı́ je nutné před jeho použı́vánı́m připojit, a po ukončenı́ práce
s nı́m synchronizovat (pokud se použı́vá mezipamět’ – cache) a odpojit. Tyto operace
bývajı́ obvykle automatizovány, jen odpojenı́ USB flash disku, které je poněkud „náhlé“
a pro operačnı́ systém nepředvı́datelné, je vhodné provést ručně (to znamená napřı́klad
z přı́slušného kontextového menu vybrat volbu pro odpojenı́ média). Tyto postupy ostatně
známe i z Windows.
Zařı́zenı́, která je nutné připojit (a také oddı́ly zabrané jiným operačnı́m systémem), se
připojujı́ do adresáře /mnt nebo /media nebo jinam (záležı́ na distribuci), v tomto adresáři
pak k zařı́zenı́m můžeme přistupovat (např. pokud chceme na disk uložit určitý soubor,
zkopı́rujeme ho do podadresáře v tomto adresáři představujı́cı́ho dotyčný disk). Poddresáře
pro jednotlivé oddı́ly v adresáři /mnt (nebo jak je pojmenován) si můžeme pojmenovat jak
chceme. Ukázku vidı́me na obrázku 3.2 na straně 57 a na obrázku 3.2 na straně 57 – v každém
z těchto přı́padů jsou body připojenı́ pojmenovány jinak.
3.4.2
Obvyklá umı́stěnı́
S pamět’ovými zařı́zenı́mi komunikuje uživatel a programátor spı́še přes bod připojenı́,
i když i speciálnı́ soubor je důležitý, s ostatnı́mi zařı́zenı́mi komunikujeme pouze přes
speciálnı́ soubor.
P
3.4
ZAŘÍZENÍ
62
Mnohá přı́stupová rozhranı́, včetně rozhranı́ pro speciálnı́ soubory, jsou v Linuxu koncipována jako virtuálnı́ souborové systémy. Tı́m si zatı́m nemusı́me lámat hlavu, stačı́ nám
jen vědět, který souborový systém se pro tyto účely použı́vá. Ve staršı́ch verzı́ch jsme se
mohli setkat se souborovým systémem devfs, který celkem spolehlivě zajišt’oval komunikaci
se zařı́zenı́mi. V novějšı́ch verzı́ch se setkáme už téměř výhradně se systémem udev, který
je předevšı́m narozdı́l od devfs dynamicky koncipovaný. Z hlediska uživatele je rozdı́l
předevšı́m v názvech speciálnı́ch souborů pro pevné disky.
P
/dev/sda
/dev/sda1
/dev/sda2
...
/dev/sdb
/dev/sdb1
/dev/sdb2
...
Obrázek 3.3: Pojmenovánı́ speciálnı́ch souborů (dva pevné disky) při použitı́ udev
Pevný disk: speciálnı́ soubor je /dev/sda (prvnı́ pevný disk), /dev/sdb (druhý pevný
disk), . . . , pokud máme na disku vı́ce diskových oddı́lů (což je obvyklý stav), tak každá
z nich má také vlastnı́ speciálnı́ soubor a jsou odlišeny čı́sly – /dev/sda1, /dev/sda2, . . .
Ve skutečnosti, i když máme na disku jen jediný oddı́l, použı́vá se alespoň to čı́slo 1.3
Bod připojenı́ bývá napřı́klad /mnt/disk1 (název může být jakýkoliv, důležité je umı́stěnı́
v adresáři /mnt nebo /media a také to, abychom jednotlivé disky dokázali rozlišit podle názvu). Hlavnı́ linuxový oddı́l se připojuje jako kořenový adresář. Abychom mohli pamět’ové
médium připojit, musı́ jeho přı́pojný bod (ten adresář) předem vytvořen.
Na obrázku 3.4 je disk rozdělený na několik oddı́lů. Prvnı́ oddı́l (/dev/sda1) byl na
notebooku vytvořen prodejcem (nenı́ připojen, proto nevidı́me bod připojenı́).
Na následujı́cı́m (/dev/sda2) je nainstalován systém Windows Vista, bod připojenı́ je
/media/diskC a má souborový systém NTFS. Kdybychom napřı́klad chtěli přistupovat
k profilu některého uživatele, pracujeme s adresářem /media/diskC/Users/huživateli.
Na oddı́lu /dev/sda3 je souborový systém NTFS, dostaneme se k němu přes bod připojenı́
/media/diskD.
Oddı́l /dev/sda4 je rozšı́řený (to znamená, že v něm nejsou přı́mo data nebo operačnı́
systémy, ale vnořené oddı́ly). V tomto oddı́lu najdeme oddı́ly /dev/sda5 (je to odkládacı́
oddı́l, o této problematice se budeme učit v přı́štı́m semestru), /dev/sda6 (hlavnı́ oddı́l,
z něj se načı́tá Linux) a /dev/sda7 (podle bodu připojenı́ poznáme, že v něm jsou domovské
adresáře uživatelů). Všimněte si, že u /dev/sda6 jsou uvedeny dva přı́pojné body oddělené
čárkou. Prvnı́ je kořenový adresář systému, ten druhý vede do adresáře /dev, do jeho
skrytého podadresáře .static.
3
Podle systému devfs bylo označenı́ /dev/hda, /dev/hdb, /dev/hda1, apod.
$
E
3.4
ZAŘÍZENÍ
63
Obrázek 3.4: Správa oddı́lů disku v GNOME, program GPartEd
V oddı́lu /dev/sda6 se nacházejı́ všechny adresáře z dřı́ve popsané struktury, které
nejsou ve vlastnı́m oddı́lu. Napřı́klad
•
•
•
•
•
•
/boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . adresář v oddı́lu 6
/home/huživateli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . adresář v oddı́lu 7
/etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . soubor v oddı́lu 6
/dev/sda1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . soubor v oddı́lu 6
/usr/lib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . adresář s podadresářem v oddı́lu 6
/proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . nenı́ vůbec uložen na disku!!!
Při instalaci Linuxu lze vytvořit jakékoliv množstvı́ oddı́lů a uložit v nich kterékoliv adresáře. Můžeme se napřı́klad setkat s tı́m, že existuje samostatný oddı́l pro /usr (s nainstalovanými aplikacemi) nebo /boot.
SCSI disky majı́ speciálnı́ soubory /dev/sda1, /dev/sda2, . . . , /dev/sdb1, . . . (tj. při
použitı́ udev nenı́ rozdı́l v označenı́ běžných IDE/SATA disků a SCSI disků).
CD mechanika má speciálnı́ soubor /dev/cdrom nebo podobný (také může být použita
syntaxe podle pevných disků). Pokud máme vı́ce CD mechanik, můžeme s nimi zacházet
podobně jako s pevnými disky, záležı́, jak jsou připojeny. Může to být třeba /dev/sdb1,
3.4
ZAŘÍZENÍ
64
Obrázek 3.5: Správa oddı́lů disku v KDE, staršı́ verze jádra použı́vajı́cı́ devfs
/dev/sdc1 apod. Disketa je obvykle /dev/fd0. Pro názvy bodů připojenı́ platı́ totéž co pro
běžné disky.
USB flash disky jsou obvykle připojovány jako SCSI (resp. při udev jako pevné disky),
tedy napřı́klad flash disk může být /dev/sdb1 (ale může to být /dev/usb0, /dev/usb1,
. . . ). Opět potřebujeme bod připojenı́, ve kterém bude přı́stupná adresářová struktura
uvnitř disku.
Tiskárna /dev/lp0, zařı́zenı́ připojená k sériovým portům jsou /dev/tty0, /dev/tty1,
. . . , k paralelnı́m portům /dev/lp0, /dev/lp1, . . . (také LPT tiskárna).
Virtuálnı́ zařı́zenı́ jsou taková zařı́zenı́, pro která nemusı́ existovat fyzický „protějšek“.
Zařı́zenı́ /dev/null má stejný význam jako zařı́zenı́ NULL ve Windows, přesměrovává
se zde vše, u čeho nás nezajı́má výstup, napřı́klad různá upřesňujı́cı́ hlášenı́ některých
programů (je to tedy výstupnı́ zařı́zenı́). Zařı́zenı́ /dev/random a /dev/urandom generujı́
náhodná čı́sla a jsou tedy vstupnı́mi zařı́zenı́mi, prvnı́ z nich použı́váme, pokud nám vı́ce
záležı́ na bezpečnosti (generovánı́ kryptografických klı́čů), druhé může být zase rychlejšı́.
Zařı́zenı́ /dev/zero zase použijeme jako vstupnı́, pokud chceme mı́t na vstupu čı́slo nula
(napřı́klad chceme vytvořit soubor určité délky bez smysluplného obsahu).
Rozlišujeme speciálnı́ soubory blokové a znakové. Znaková zařı́zenı́ jsou napřı́klad
/dev/random, /dev/zero, tiskárny, /dev/null – posı́láme data o délce 1 B (resp. sekvence
takovýchto dat), bloková zařı́zenı́ jsou napřı́klad pevný disk nebo disketa – komunikujı́ se
po blocı́ch o stanovené délce, která obvykle bývá značně většı́ než 1 B s tı́m, že hranice mezi
jednotlivými osmicemi bitů nejsou důležité.
P
P
P
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
65
Úkoly
1. Pokud pracujete v prostředı́ KDE, najděte v Informačnı́m centru seznam úložných
zařı́zenı́, zjistěte, která jsou připojená a v jakém bodu připojenı́. Připojte USB flash
disk, pokud máte nějaký k dispozici, a sledujte, jaké údaje se do seznamu přidajı́.
Jestliže pracujete v prostředı́ GNOME, najděte pro tyto účely obdobné nástroje, které
máte nainstalovány.
2. Projděte si adresář /dev. Najděte speciálnı́ soubory pro pevné disky včetně těch
odkazujı́cı́ch na oddı́ly na nich.
3. Odhadněte, který speciálnı́ soubor náležı́ myši.
4. V souboru /etc/fstab si projděte dvojice speciálnı́ch souborů a bodů připojenı́ pro
pamět’ová média.
5. Zjistěte, které diskové oddı́ly jsou použity pro jednotlivé adresáře.
3.5
3.5.1
Přı́stupová oprávněnı́ a vlastnosti souborů
Úvod do přı́stupových oprávněnı́
Každý soubor (včetně adresářů) má přiřazeny tři důležité údaje:
• svého vlastnı́ka (obvykle ten uživatel, který soubor vytvořil, u systémových souborů
je to root),
• přidruženou skupinu, jejı́ž členové obvykle mı́vajı́ k souboru o něco vyššı́ přı́stupová
práva než ostatnı́,
• určenı́ přı́stupových oprávněnı́ pro vlastnı́ka/členy skupiny/ostatnı́.
Každý soubor má přiřazeny tři sady přı́stupových práv – pro svého vlastnı́ka, skupinu
(group) a ostatnı́ (others – ty, kteřı́ nejsou ani vlastnı́kem, ani členem přiřazené skupiny).
Přı́stupová práva může ve většině přı́padů měnit jen vlastnı́k souboru nebo root (přesněji,
kdykoliv root něco dělá, jeho práva nejsou až na výjimky prověřována; kdykoliv něco
provádı́ jiný uživatel, jsou při každém přı́stupu k souborům včetně přı́kazů jeho práva
prověřována).
V každé ze třı́ sad (vlastnı́k, skupina, ostatnı́) najdeme nastavenı́ třı́ oprávněnı́ (celkem
tedy devět). Řetězec s přı́stupovými oprávněnı́mi tedy má celkem devět znaků. Tyto znaky
mohou být r (právo čtenı́), w (právo zápisu), x (právo spouštěnı́), nebo pokud toto právo
nenı́ přiděleno, pak je zobrazen znak „-“ jako symbol odepřenı́ práva, to vše pro vlastnı́ka,
skupinu a ostatnı́ (tedy tři skupiny po třech znacı́ch). Význam jednotlivých znaků najdeme
v tabulce 3.1 na straně 66.
P
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
dokument
spustitelný soubor, skript
adresář
66
r
w
x
čı́st
čı́st (zobrazit)
vypsat (zobrazit)
obsažené položky
zapisovat, měnit
zapisovat, měnit
přidávat a mazat
položky
–
spustit
zvolit jako pracovnı́
(aktivnı́) adresář
Tabulka 3.1: Význam přı́stupových práv
Přı́klad 3.1
Řetězec souboru, ke kterému majı́ všichni povolen jakýkoliv typ přı́stupu, by byl rwxrwxrwx.
Ukážeme si řetězce, ve kterých je vždy alespoň jeden typ přı́stupu odepřen.
rwxrwxr-- pro majitele a stanovenou skupinu jsou přidělena všechna práva, ostatnı́ mo-
hou jen čı́st (zápis a spouštěnı́ jsou pomlčkou zakázány),
rwxr--r-- znamená všechna práva pro majitele, pro skupinu a ostatnı́ jen čtenı́,
rwxrw---- znamená všechna práva pro majitele, pro skupinu čtenı́ a zápis, pro ostatnı́ nic,
rw-r----- majitel může čı́st a zapisovat (spouštěnı́ zřejmě nemá smysl, půjde o nějaký
dokument), členové stanovené skupiny mohou čı́st, ostatnı́ nemohou nic.
Pro soubor je význam práv r, w a x jasný (čı́st soubor, zapisovat, spouštět spustitelný soubor).
Pokud jde o skript (tedy textový soubor s přı́kazy), můžeme ho spustit bud’ s použitı́m
přı́slušného interpretačnı́ho programu (tedy jako parametr programu interpretujı́cı́ho perl,
bash, php apod.), a nebo přı́mo – to lze, když jsou splněny tyto podmı́nky:
P
1) soubor skriptu má nastaveno právo x (spouštěnı́),
2) na začátku souboru je stanoveno, kterým programem má být skript interpretován
(budeme probı́rat později).
Pro adresář znamená čtenı́ vypsat si jeho obsah, zápis změnit obsah adresáře (přidat soubory,
změnit, vymazat), spouštěnı́ zvolit si ho jako pracovnı́ (možnosti jsou v tabulce 3.1).
Jenže to nenı́ všechno. Abychom se mohli dostat k určitému souboru, musı́ nám být
přı́stupná i cesta k němu, což znamená, že potřebujeme mı́t právo x pro všechny adresáře
na cestě k souboru, včetně kořenového.
Přı́klad 3.2
Předpokládejme, že u souboru /seznamy/xdata.txt a adresářů na cestě k němu jsou
oprávněnı́ nastavena takto:
Soubor
Řetězec oprávněnı́ Vlastnı́k Skupina
/ (kořenový adresář)
rwxr-xr-x
root
root
seznamy
rwxr-xr--
jan
marketing
xdata.txt
rw-r-----
jan
marketing
P
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
67
Root má všechna oprávněnı́ ke všem těmto objektům.
Uživatel jan se dostane do všech adresářů na cestě (jen nemůže ovlivňovat obsah
kořenového adresáře, u nějž pro Jana platı́ poslednı́ třetina řetězce oprávněnı́) – u obou
adresářů má právo x, také může jakkoliv manipulovat se souborem xdata.txt, protože
pro něj jako vlastnı́ka platı́ prvnı́ třetina řetězce oprávněnı́.
Vezměme si uživatele pavel, který je členem skupiny marketing. Pro něj platı́
• / – třetı́ třetina: r-x dostane se dovnitř
• seznamy – druhá třetina: r-x dostane se dovnitř
• xdata.txt – třetı́ třetina: r-- může pouze čı́st
Naproti tomu pro uživatele lukas, který nenı́ ani vlastnı́kem, ani členem přidružené skupiny marketing, to bude jiné:
• / – třetı́ třetina: r-x dostane se dovnitř
• seznamy – třetı́ třetina: r-- tady se zasekne, nemůže mı́t tento adresář jako pracovnı́,
nemůže dovnitř
• xdata.txt – třetı́ třetina: --- nemá žádná oprávněnı́; i kdyby je měl, je mu to na nic,
protože se k souboru tak jako tak ani nedostane (potřeboval by přidat právo x pro
seznamy).
3.5.2
Speciálnı́ přı́znaky
Přı́stupová práva pro uživatele jsou celkem jasná – stanovujı́, co je dovoleno uživateli, pokud přistupuje k určitému objektu. Když vzniká něco nového (proces,
nový soubor, nový adresář apod.), musı́
se také stanovit jeho přı́stupová práva.
Za obvyklých okolnostı́ nově vytvořený soubor dědı́ přı́stupová práva od
svého tvůrce, což je proces zprostředkovaně spuštěný pod určitým uživatelem,
tedy soubor dědı́ práva svého uživatele
včetně nastavenı́ vlastnı́ka a skupiny. Totéž platı́ o nově vytvořeném adresáři. Děděnı́ práv však lze ovlivnit, a to speciálnı́mi přı́znaky přı́stupových práv – SUID
(SetUID), SGID (SetGID) a Sticky. Jakýko- Obrázek 3.6: Přı́stupová oprávněnı́ v Linuxu,
liv soubor nebo adresář může mı́t tyto přı́- včetně speciálnı́ch přı́znaků
znaky nastaveny, i když u většiny tomu
P
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
68
Adresář:
=0
=1
SUID =
Když vytvářı́me nový podadresář
v tomto adresáři, vlastnı́kem se stáváme my (tj. vlastnı́kem nového adresáře se stává jeho tvůrce – uživatel
nebo vlastnı́k tvořı́cı́ho procesu).
Když vytvářı́me nový podadresář
v tomto adresáři, přiřazenou skupinou se stává naše primárnı́ skupina
(do které právě patřı́me).
Pokud má uživatel k adresáři přiřazeno právo „w“, může kromě přidávánı́ položek v adresáři také tyto
prvky mazat. Modifikovat položku
(napřı́klad měnit obsah souboru)
může jen tehdy, když má právo „w“
přı́mo k této položce.
Když vytvářı́me nový podadresář
v tomto adresáři, nový podadresář
zdědı́ vlastnı́ka od svého nadřı́zeného adresáře (tj. adresář předává
vlastnı́ka svým podadresářům).
Když vytvářı́me nový podadresář
v tomto adresáři, přiřazená skupina
je zděděna od nadřı́zeného adresáře.
SGID =
Sticky =
Pokud má uživatel k adresáři přiřazeno právo „w“, může přidávat
(a přı́padně modifikovat) položky,
ale mazat je může pouze jejich vlastnı́k nebo root. Je to obrana proti nechtěnému smazánı́ cizı́ho souboru.
Tabulka 3.2: Speciálnı́ práva pro adresáře
tak nebývá. Majı́ význam pouze pro adresáře a spustitelné soubory (včetně textových
skriptů).
V tabulkách 3.2 a 3.3 je přehledně vysvětlen význam nastavenı́ bitů SUID, SGID a Sticky
(pro spustitelné soubory tento přı́znak nemá využitı́). U staršı́ch verzı́ Unixů byl Sticky bit
použı́ván také u spustitelných souborů – když byl nastaven, pak po ukončenı́ zůstal jeho
kód v operačnı́ paměti, aby v přı́padě opětovného spuštěnı́ tohoto programu nebylo nutné
kód znovu do paměti načı́tat. V současné době již prakticky žádný Unix tuto možnost
nepoužı́vá.
Na obrázku 3.6 je ukázka nastavenı́ přı́stupových oprávněnı́ včetně speciálnı́ch přı́znaků
ve vlastnostech souboru v prostředı́ KDE (v GNOME je to podobné, ale ke speciálnı́m
přı́znakům se většinou dostaneme jen přes přı́kazy v textovém shellu).
SUID bit u spustitelného souboru může být nebezpečný – spustitelných souborů, jejichž
vlastnı́kem je root a majı́ nastavený SUID bit, by mělo být co nejméně, jen v nejnutnějšı́ch
přı́padech. Většina přı́padů SUID bitu se ve skutečnosti dá řešit jinak, napřı́klad přı́kazem
pro navýšenı́ práv (taktéž použı́vaným s rozmyslem).
Nastavenı́ speciálnı́ch oprávněnı́ se také projevı́ v řetězci s přı́stupovými právy, a to
na mı́stech, kde obvykle bývá „x“ pro spuštěnı́. Při nastavenı́ SUID najdeme „S“ na tomto
mı́stě v trojici pro uživatele, při nastavenı́ SGID totéž pı́smeno v trojici pro skupinu a pro
Sticky bit pı́smeno „T“ v poslednı́ trojici. Takže přı́stupová oprávněnı́ adresáře, kterému
E
$
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
Spustitelný
soubor:
SUID =
SGID =
69
=0
=1
Když spouštı́me spustitelný soubor, vlastnı́kem vzniklého procesu se stáváme my,
proces přebı́rá přı́stupová práva od toho,
kdo ho spustil.
Běžné chovánı́, skupina obvykle nepotřebuje mı́t vliv na
proces.
Když spouštı́me spustitelný soubor, vlastnı́kem
vzniklého procesu se stává vlastnı́k spustitelného
souboru, proces zdědı́ přı́stupová práva od vlastnı́ka souboru. Toto nastavenı́ se použı́vá pro programy, které obvykle spouštı́ běžný uživatel, ale
tento program při své činnosti potřebuje vyššı́ přı́stupová oprávněnı́ (napřı́klad při změně hesla).
Funguje podobně jako SUID = 1, přı́stupová
oprávněnı́ spuštěného procesu se dědı́ od přı́stupových oprávněnı́ skupiny přiřazené spustitelnému souboru. Tzv. efektivnı́ skupinou procesu je
skupina souboru. Obvykle nenastává situace, kdy
by SUID i SGID souboru byly nastaveny na 1.
Tabulka 3.3: Speciálnı́ práva pro spustitelné soubory včetně skriptů
nastavı́me SUID a Sticky bity, by mohla vypadat napřı́klad takto: rwSrwxr-T
Úkoly
1. Projděte si přı́stupová oprávněnı́ (také vlastnı́ka a skupinu) souborů a adresářů ve
svém domovském adresáři. Srovnejte oprávněnı́ u adresářů, dokumentů a spustitelných souborů.
2. Rozkódujte tyto řetězce oprávněnı́:
Adresáře:
•
•
•
•
rwxr-x--rwxr--r-rwSrwSr-rwxrwx--T
Soubory:
•
•
•
•
rw-rw-r-rwxr-x--rwSr--r-rwxr-S---
3. Zjistěte u přı́kazů v adresáři /bin, kdo bývá vlastnı́kem a jaká majı́ přı́stupová oprávněnı́.
4. Najděte soubor /usr/bin/passwd a zjistěte, jaká oprávněnı́ má přiřazena (včetně
speciálnı́ch).
5. Které oprávněnı́ a kde musı́ být nastaveno, abyste mohli smazat soubor, který vlastnı́te?
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
3.5.3
70
Atributy souborů
Každý soubor (mı́něno včetně adresářů a speciálnı́ch souborů) má atributy, které ho plně
určujı́ (pozor – pod pojmem atribut zde rozumı́me něco jiného než ve Windows). Tyto atributy v sobě zahrnujı́ předevšı́m vlastnosti souvisejı́cı́ s identifikacı́ a oprávněnı́mi souboru.
Jsou to:
P
1. typ souboru – adresář, běžný soubor, symbolický odkaz, roura (pipe), apod.
2. mód souboru – obsahuje nastavenı́ přı́stupových oprávněnı́ (čı́slo, ve kterém je zakódován řetězec, kterým jsme se zabývali v předchozı́m textu)
3. počet pevných odkazů na soubor
4. vlastnı́k (majitel) souboru (jeho UID)
5. skupina přiřazená souboru (jejı́ GID)
6. velikost souboru v B (pro adresář má vztah k počtu souborů v tomto adresáři)
7. čas poslednı́ho přı́stupu k souboru (nejen otevřenı́ souboru)
8. čas poslednı́ změny obsahu souboru
9. čas poslednı́ změny atributů souboru (těchto atributů), měnı́ se tedy napřı́klad i při
změně vlastnı́ka nebo přı́stupových oprávněnı́
Prvnı́ dvě položky probereme podrobněji, ostatnı́ jsou zřejmé z předchozı́ho textu.
Typ souboru: rozlišujeme
d
c
b
p
l
adresář (directory)
obyčejný soubor
speciálnı́ soubor pro znakové zařı́zenı́ (Character Device)
speciálnı́ soubor pro blokové zařı́zenı́ (Block Device)
roura (Pipe) – lze vytvářet i pojmenované roury, které po svém použitı́ nejsou zrušeny
symbolický odkaz – link
Přı́klad 3.3
Typ souboru bývá ve výpisech uveden těsně před přı́stupovými oprávněnı́mi, napřı́klad
• „drwxr-xr-x“ znamená, že jde o adresář (d), ke kterému má vlastnı́k plná přı́stupová
práva, a členům přidružené skupiny a ostatnı́m uživatelům je dovoleno vypsat si
obsah adresáře (r) a nastavit ho jako pracovnı́ adresář (x),
• „-rw-r--r--“ je řetězec pro běžný soubor, jeho vlastnı́k ho může čı́st i měnit, všichni
ostatnı́ pouze čı́st (pravděpodobně nepůjde o spustitelný soubor nebo spouštěnı́ nenı́
přı́mo dovoleno),
• „lrwxr-xr-x“ jde o symbolický odkaz (l).
P
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
71
Mód souboru je čı́slo složené ze čtyř čı́slic, prvnı́ odpovı́dá speciálnı́mu přı́znaku souboru.
Tyto čı́slice dostaneme součtem určitých čı́sel (tj. vlastně pracujeme s binárnı́m čı́slem, které
pak převedeme na desı́tkové):
• prvnı́ čı́slice:
4 – set UID, nastaven přı́znak SUID
2 – set GID, nastaven přı́znak SGID
1 – set Sticky bit, nastaven přı́znak Sticky
• druhá čı́slice:
4 – právo čtenı́ pro majitele (r)
2 – právo zápisu pro majitele (w)
1 – právo spouštěnı́ pro majitele (x)
• třetı́ čı́slice: totéž pro skupinu
• čtvrtá čı́slice: totéž pro ostatnı́ uživatele
Přı́klad 3.4
Princip si ukážeme na několika přı́kladech:
• řetězec „rwxr-xr-x“ s tı́m, že SUID, SGID i Sticky jsou 0, tento řetězec (včetně speciálnı́ch bitů, které umı́stı́me zcela vlevo) je binárně 000k111k101k101, zakódujeme jako
(0 + 0 + 0)k(1 · 22 + 1 · 21 + 1 · 20 )k(1 · 22 + 0 · 21 + 1 · 20 )k(1 · 22 + 0 · 21 + 1 · 20 ) =
= (0 + 0 + 0)k(4 + 2 + 1)k(4 + 0 + 1)k(4 + 0 + 1) = 0755,
• řetězec „rw-r-----“ s tı́m, že SUID, SGID i Sticky jsou 0, je binárně (včetně speciálnı́ch
bitů) 000k110k100k000, zakódujeme jako
(0 + 0 + 0)k(4 + 2 + 0)k(4 + 0 + 0)k(0 + 0 + 0) = 0640,
• řetězec „rwxr-x---T“ s nastaveným Sticky bitem bude zakódován následovně:
(0 + 0 + 1)k(4 + 2 + 1)k(4 + 0 + 1)k(0 + 0 + 1) = 1751,
• řetězec „rwSr--r--“ s nastaveným SUID bitem bude zakódován následovně:
(4 + 0 + 0)k(4 + 2 + 1)k(4 + 0 + 0)k(4 + 0 + 0) = 4744,
• mód 0710 znamená, že
– ze speciálnı́ch bitů nenı́ nastaven žádný,
– majitel souboru má nastavena všechna přı́stupová práva, 4 + 2 + 1 = 7, rwx,
– skupina, jejı́ž GID je také v atributech souboru, má pouze právo spouštěnı́ (třeba
programů), tj. 0 + 0 + 1 = 1, --x,
– ostatnı́ nemajı́ žádná přı́stupová práva (0 + 0 + 0 = 0, ---),
odpovı́dá to sekvenci „rwx--x---“,
• mód 2754 znamená, že
– je nastaven SGID bit (0 + 2 + 0 = 2),
– majitel souboru má nastavena všechna přı́stupová práva, 4 + 2 + 1 = 7, rwx,
– skupina má pouze právo čtenı́ a spouštěnı́ (zřejmě se jedná o adresář, tedy
možnost nastavit adresář jako pracovnı́), tj. 4 + 0 + 1 = 5, r-x,
P
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
72
– ostatnı́ majı́ právo čtenı́ (zobrazit obsah adresáře, 4 + 0 + 0 = 4, r--),
odpovı́dá to sekvenci „rwxr-Sr--“.
Obrázek 3.7: Výpis vlastnostı́ souborů v grafickém a textovém režimu
Na obrázku 3.7 vidı́me výpis vlastnostı́ souborů v adresáři pro dokumenty uživatele,
a to nejdřı́v ve správci souborů (Konqueror v KDE) a pak v terminálu. Oba výpisy jsou
prakticky ekvivalentnı́, jen v grafickém režimu je vypnuto zobrazovánı́ pevných odkazů
na nadřı́zený adresář a sebe sama („tečkové“ adresáře).
V okně Konqueroru vidı́me z atributů hned za názvem velikost, čas poslednı́ změny,
přı́stupová oprávněnı́ včetně typu souboru, vlastnı́ka a skupinu. U symbolických odkazů
se zobrazı́ také cı́lový soubor. V menu lze samozřejmě zvolit také zobrazovánı́ dalšı́ch
atributů.
V okně terminálu jsme použili přı́kaz ls -la. Tento přı́kaz je obdobou přı́kazu dir ve
Windows, vypisuje obsah adresáře. Parametry -la zajišt’ujı́ „dlouhý“ výpis (long, včetně
atributů), a to všech souborů (all, včetně skrytých). Oproti výpisu v Konqueroru máme
navı́c počet pevných odkazů na soubor (to čı́slo hned za řetězcem oprávněnı́), následuje
vlastnı́k, skupina, velikost a čas poslednı́ změny (rok se zrovna nevypisuje, poslednı́ změna
tedy byla letos u všech souborů). Jako poslednı́ údaj je uveden název souboru (je poslednı́,
protože narozdı́l od ostatnı́ch může být jakkoliv dlouhý a těžko se „zarovnává“ do sloupce).
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
73
Jak vidı́me, symbolický odkaz poznáme podle „l“ v na začátku řetězce oprávněnı́.
Značit pevné odkazy podobným způsobem nemá smysl, protože jsou naprosto rovnocenné
s jakoukoliv dalšı́ cestou k souboru. Jejich existence se projevuje pouze v hodnotě čı́sla počtu
pevných odkazů, které vidı́me na obrázku z terminálu.
Obrázek 3.8: Výpis vlastnostı́ některých speciálnı́ch souborů (dva různé systémy, prvnı́
použı́vá udev, druhý devfs)
Na výpisech jsme zatı́m viděli běžné soubory, adresáře a odkazy. Na obrázku 3.8 najdeme i jiné typy souborů (hvězdička zastupuje jakýkoliv řetězec, tedy napřı́klad cd* zastupuje vše, co začı́ná podřetězcem cd a pak mohou následovat jakékoliv dalšı́ znaky).
Jak vı́me, v adresáři /dev jsou speciálnı́ soubory zařı́zenı́. Zařı́zenı́ jsou znaková nebo
bloková, což se projevı́ také v typu speciálnı́ho souboru. Vidı́me, že řádky pro zařı́zenı́
random a urandom začı́najı́ pı́smenem „c“, jde o znaková zařı́zenı́ (character), a to virtuálnı́
vstupnı́ zařı́zenı́ generujı́cı́ náhodná čı́sla (tento fakt se ve výpisu neobjevı́).
Speciálnı́ soubory začı́najı́cı́ řetězcem sd náležejı́ (při použitı́ udev) pevnému disku či
jeho oddı́lům. Jak vidı́me, jde o bloková zařı́zenı́ („b“ jako block), na disku jsou pouze tři
oddı́ly. Poslednı́ část výpisu v levém okně obsahuje symbolické odkazy („l“) na speciálnı́
soubory nacházejı́cı́ se v tomtéž adresáři, k CD/DVD mechanice lze tedy přistupovat přes
tři různé soubory, z nichž jeden je speciálnı́ (/dev/scd0), dalšı́ dva jsou jen odkazy.
Na obrázku 3.8 vpravo je obdobný výpis na systému použı́vajı́cı́m staršı́ devfs, na
pevném disku je celkem 11 oddı́lů, a dále vidı́me dvě CD/DVD mechaniky (poslednı́ dva
řádky výpisu).
Určitě jste si všimli, že ve sloupci, kde podle terminálu na obrázku 3.7 byla velikost
souboru, je u zařı́zenı́ na obrázku 3.8 něco jiného – dvě čı́sla oddělená čárkou (je to patrné
hlavně vlevo, kde jsou ve výpisu kromě speciálnı́ch souborů i symbolické odkazy). U speciálnı́ch zařı́zenı́ obvykle nemá moc smysl vypisovat velikost souboru, ale zato je důležitý
jiný údaj – čı́sla zařı́zenı́. Jádro unixových systémů nepracuje s názvy speciálnı́ch souborů,
P
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
74
ale se zařı́zenı́mi zacházı́ pomocı́ hlavnı́ho a vedlejšı́ho čı́sla zařı́zenı́.
Hlavnı́ čı́slo označuje třı́du zařı́zenı́. Svou třı́du majı́ hlavnı́ bloková zařı́zenı́ (pevné
disky, RAM disky apod.), dalšı́ je pro vstupnı́ zařı́zenı́ (napřı́klad myš), dalšı́ majı́ sı́t’ová
zařı́zenı́ (sı́t’ové karty), atd., týká se to také virtuálnı́ch zařı́zenı́. Rozdělenı́ do třı́d zde
odpovı́dá tomu, co jsme viděli v adresáři /sys/class. Vedlejšı́ čı́slo pak odlišuje jednotlivá
zařı́zenı́ ve stejné třı́dě. Statický souborový systém pro zařı́zenı́ devfs měl stanoveno, která
hlavnı́ čı́sla patřı́ kterým zařı́zenı́m, v dynamickém udev se hlavnı́ i vedlejšı́ čı́sla přiřazujı́
dynamicky podle jejich připojovánı́.
Úkoly
1. Podle řetězce s přı́stupovými oprávněnı́mi rwSr-xr-T sestavte k němu ekvivalentnı́
čı́selnou reprezentaci módu souboru.
2. Vytvořte řetězec s přı́stupovými oprávněnı́mi podle módu 1551.
3. Přiřad’te k řetězcům s přı́stupovými oprávněnı́mi k nim ekvivalentnı́ čı́selnou reprezentaci módu souboru:
rwxrwxr--
rwxrwSr-T
rw-rw-r--
rwxrwxr-x
rwSrwx---
rwxr-Sr-x
2755
0774
3775
0775
0664
4770
4. Prohlédněte si vlastnosti souborů a podadresářů v adresáři /proc. Z jakého důvodu
majı́ všechny soubory nulovou velikost? Do kterých lze zapisovat a kdo zápis může
provést? Co vyplývá z rozdı́lů ve vlastnı́kovi (a skupině) u podadresářů s čı́selným
pojmenovánı́m (vzhledem?
5. Spust’te si terminál (nebojte se, zatı́m si nemusı́te pamatovat žádné přı́kazy). Najdete
ho v hlavnı́m menu prostředı́. V KDE hledejte v „rozvětveném“ menu, většinou mezi
nástroji pro správu systému – kategorie může mı́t vı́ce různých názvů, může to být
konsole, xterm, atd. V GNOME je terminál v Aplikace ï Přı́slušenstvı́.
Pokud jste št’astně nalezli a spustili, vyzkoušejte tuto sekvenci přı́kazů:
cd ~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . přechod do domovského adresáře
touch pokus.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vytvořı́me soubor pokus.txt
ls po* -l . . . . . . . . . . . . . . . . . . . . . podı́vejte se předevšı́m na přı́stupová oprávněnı́
chmod u+s . . . . . . . . . . . . . . . . . . . . . . . . . nastavı́me SUID („u“ jako user, zde vlastnı́k)
ls po* -l . . . . . . . . . . . . . . . . . . . . . . jak se to projevilo v přı́stupových oprávněnı́ch?
chmod u-s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zrušı́me SUID
ls po* -l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . opět zkontrolujeme
chmod g+s . . . . . . . . . . . . . . . . . . . . . . . . . . . . nastavı́me SGID („g“ jako group, skupina)
R
3.5
PŘÍSTUPOVÁ OPRÁVNĚNÍ A VLASTNOSTI SOUBORŮ
75
ls po* -l . . . . . . . . . . . . . ověřı́me, jak se to odrazilo na přı́stupových oprávněnı́ch
chmod +t . . . . . . . . . nastavı́me Sticky bit (nevztahuje se k vlastnı́kovi ani skupině)
ls po* -l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zkontrolujeme změnu v oprávněnı́ch
rm pokus.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . smažeme soubor pokus.txt
To vytvořenı́ a smazánı́ můžeme klidně provést i v grafickém režimu. Taktéž ověřovat
řetězec s přı́stupovými oprávněnı́mi (přı́kaz ls) lze v souborovém manažerovi (v KDE
použijeme Konqueror nebo Dolphin, v GNOME bývá Nautilus, zapneme zobrazenı́
sloupce s oprávněnı́mi).
Kapitola
4
Linux
Tato kapitola je předevšı́m určena k základnı́mu seznámenı́ s Linuxem. Podı́váme se na nejznámějšı́
distribuce, jaký software v distribucı́ch obvykle najdeme a jak nainstalovat dalšı́, a jak nainstalovat
samotný Linux.
4.1
Základnı́ údaje
Linux je ve skutečnosti jen jádro (a ještě k tomu bychom měli správně psát GNU/Linux),
to, s čı́m se setká uživatel, je distribuce Linuxu od konkrétnı́ firmy nebo komunity (skupiny
programátorů a uživatelů) – k jádru jsou přidány dalšı́ moduly, nástroje a programy včetně
grafického prostředı́. Na úrovni zdrojových kódů je Linux kompatibilnı́ s Unixem, i když
linuxový kód byl kompletně znovu vytvořen.
Vlastnı́m tvůrcem Linuxu je Linus Torvalds, který, ještě jako student informatiky na
univerzitě v Helsinkách, roku 1991 poslal na internet prvnı́ verzi Linuxu (0.1). Tato verze
zůstala navždy pouze v podobě zdrojového kódu (většinou v jazyce C), prvnı́ přeložená
verze byla 0.2. Prvnı́ vı́ce provozovaná verze byla 1.0, objevila se v roce 1994. Na vývoji
Linuxu se od té doby podı́lejı́ tisı́ce dalšı́ch vývojářů.
Verze samotného Linuxu je ve skutečnosti verze jádra. Dnes je nejrozšı́řenějšı́ verze jádra
2.6, tam, kde je velký důraz na stabilitu systému, se můžeme setkat s jádrem verze 2.4. Pro
jádro Linuxu platı́: verze se sudým čı́slem za tečkou jsou stabilnı́ („stable“), verze s lichým
čı́slem za tečkou jsou vývojové („testing“), po odchytánı́ všech nedostatků se přehoupnou
na sudé čı́slo. Liché verze použı́vajı́ předevšı́m ti lidé, kteřı́ chtějı́ pomáhat při vývoji Linuxu
nebo je lákajı́ nové možnosti těchto verzı́.
Od verze 2.6 to však neplatı́ do důsledků. Když jsou přidávány dalšı́ vlastnosti nebo
prováděny změny, odrazı́ se to v následujı́cı́ch úrovnı́ch čı́slovánı́, přı́padně se přidá zkratka
rc, která znamená testovacı́ či nestabilnı́ verzi. Přechod na verzi 2.7 bude proveden až
76
P
4.1
ZÁKLADNÍ ÚDAJE
77
u velmi výrazné změny.
Celkové distribuce (to co si stahujeme z internetu nebo kupujeme, je to „distribuováno“)
majı́ vlastnı́ čı́slovánı́ verzı́, každý výrobce použı́vá vlastnı́ čı́slovánı́. Přesto bývá důležitým
údajem také čı́slo verze jádra. U některých distribucı́ bývá možné si při instalaci vybrat mezi
dvěma verzemi jádra.
Minimálnı́ konfigurace je různá pro různé distribuce, absolutnı́m minimem je to, co platı́
také pro Unix, tedy procesor i386 a několik MB paměti. Většı́ distribuce obvykle doporučujı́ alespoň Pentium III, vyššı́ nároky platı́ předevšı́m pro přı́pad, že chceme pracovat
v grafickém prostředı́ a použı́vat „zdrojově náročnějšı́ “ aplikace.
P
S podporou hardwarových zařı́zenı́ je to rok od roku lepšı́ s tı́m, jak výrobci HW začı́najı́ s Linuxem počı́tat při psanı́ ovladačů nebo alespoň zveřejňujı́ informace nutné pro
programátory ovladačů, obecně nenı́ s většinou zařı́zenı́ problém (Linux obsahuje mnoho
„implicitnı́ch“ ovladačů, které sice někdy nedokážou využı́t plně možnosti zařı́zenı́, ale
funguje to), pracuje běžně s CD a DVD mechanikami, SCSI zařı́zenı́mi, LCD obrazovkami
apod. Ovladače pro Linux nebývajı́ přı́mo v dodávce hardwaru, takže pokud nedostačujı́
implicitnı́ ovladače, je většinou možné najı́t ovladače na internetu.
Některá zařı́zenı́ však jsou dosud problematická. Týká se to zejména velmi nestandardnı́ch nebo „noname“ zařı́zenı́, také podpory některých komponent v noteboocı́ch. Pokud
si kupujeme notebook a chceme na něj instalovat Linux, je vhodné si předem ověřit, jestli
bude vše funkčnı́. K tomu účelu použijeme napřı́klad tyto stránky:
•
•
•
•
•
•
•
•
•
http://www.linlap.com/
http://www.linux.org/hardware/
http://www.linux-drivers.org/
http://tldp.org/HOWTO/Hardware-HOWTO/
http://www.linuxcompatible.org/compatibility.html
http://www.ubuntuhcl.org/
http://en.opensuse.org/Hardware
http://hardware4linux.info/
http://www.linuxhardware.org/
Neměli bychom zapomı́nat, že v anglofonnı́ oblasti se mı́sto pojmu „notebook“ použı́vá
spı́še „laptop“. Je možné projı́t stránky té distribuce, kterou jsme zvolili, přı́padně nejjednoduššı́ je prostě zadat specifikaci zařı́zenı́ (notebooku, disku, webkamery apod.) Googlu.
Existuje možnost použı́vánı́ ovladačů psaných pro Windows – jejich činnost zprostředkovává program NDISWrapper. Je to jakési rozhranı́, které implementuje část API (programového rozhranı́, přes které procesy komunikujı́ s jádrem operačnı́ho systému) jádra
Windows a NDIS (Network Driver Interface Specification) API, a umožňuje běh některých ovladačů pro Windows, kterým toto rozhranı́ postačuje. NDISWrapper je použı́ván
P
4.2
LINUXOVÉ DISTRIBUCE
78
předevšı́m u karet pro bezdrátové sı́tě, ale byl již úspěšně vyzkoušen i pro jiné typy zařı́zenı́(obvykle komunikačnı́ho typu).
Úkol
Pokuste se zjistit verzi distribuce, kterou právě použı́váte, a verzi jejı́ho jádra.
4.2
4.2.1
Linuxové distribuce
Co je to distribuce
Všechny linuxové distribuce jsou šı́řeny pod otevřenou licencı́, tedy s distribucı́ dostaneme
také zdrojové kódy (nebo si je můžeme zdarma stáhnout na internetu), z jednoho instalačnı́ho média můžeme instalovat na jakýkoliv počet strojů a můžeme neomezeně provádět
úpravy dodaného softwaru.
Odlišujeme však distribuce komerčnı́ a komunitnı́ (volně ke staženı́). Komunitnı́ distribuce je vyvı́jena komunitou, což je jakési volné sdruženı́ lidı́, kteřı́ se rozhodli vyvı́jet danou
distribuci, naopak za komerčnı́ distribucı́ vždy stojı́ některá firma.
P
P
Komerčnı́ distribuce se prodávajı́ za penı́ze, ale finančnı́ náklady rozhodně nejsou velké,
a samozřejmě produkt kupujeme vždy jen v jednom kusu (pořád platı́, že z téhož média
lze legálně instalovat na jakýkoliv počet strojů). Ve skutečnosti se platı́ spı́še za „práci“,
kterou provádı́ firma samotná, tedy úpravy (včetně zakázkových), zkompletovánı́ (včetně
přeloženı́), manuály, školenı́, vzdálená pomoc, technická podpora apod. V komerčnı́ch
službách mohou být zahrnuty také aktualizace (někdy bývajı́ zdarma), u komunitnı́ch
distribucı́ jsou aktualizace vždy zdarma.
Mezi komunitnı́mi a komerčnı́mi distribucemi často bývá velmi blı́zký vztah – firma
kromě své komerčnı́ distribuce sponzoruje komunitnı́ distribuci a oběma směry putujı́
změny ve zdrojových kódech, tedy jde o spolupráci. Pro firmu je výhodou předevšı́m to,
že přı́slušná komunitnı́ distribuce je plně kompatibilnı́ a také po grafické stránce velmi podobná, tedy pokud zákaznı́ci chtějı́ přejı́t od komunitnı́ distribuce ke komerčnı́ se všemi jejı́mi výhodami, je zřejmé, kterou z komerčnı́ch distribucı́ zvolı́. To je přı́pad dvojice Fedora–
RedHat, CentOS–RedHat Enterprise Server, nebo OpenSUSE–SUSE.
Každá distribuce obsahuje
• jádro operačnı́ho systému (kernel),
• instalačnı́ rutinu, která uživatele provede instalacı́ systému přes obvykle dobře propracované grafické rozhranı́ bez nutnosti instalovat z přı́kazového řádku,
• detektor hardwaru je použı́ván předevšı́m při instalaci, kde zjišt’uje připojená zařı́zenı́
a celkovou konfiguraci počı́tače a opět může instalaci hodně usnadnit (pokud ovšem
P
4.2
LINUXOVÉ DISTRIBUCE
79
nemáme nějaký speciálnı́ hardware), detekce hardwaru se použı́vá ve skutečnosti
také při každém spouštěnı́ Linuxu,
• spoustu aplikacı́ pro práci s textem, grafikou, prezentacemi, zvukem, videem,
• konfiguračnı́ nástroje a systémové knihovny,
• grafické prostředı́ – X Window (XFree86 nebo X.org), správci oken a desktopová prostředı́,
• dokumentace, atd.
Mezi jednotlivými distribucemi bývajı́ velké rozdı́ly předevšı́m ve vybavenosti různými
nástroji (přesněji rozdı́ly jsou ve všech zde uvedených bodech).
Téměř od začátků existence Linuxu se objevujı́ snahy o určitou standardizaci. Se standardy POSIX a Single Unix Specification jsme se seznámili v kapitole 1.2.2 na straně 8.
Kromě toho všechny (nebo skoro všechny) linuxové distribuce zachovávajı́ standard LSB1
(Linux Standard Base), což je závazný dokument popisujı́cı́ adresářovou strukturu Linuxu,
strukturu knihoven, startovacı́ skripty, způsob instalace a konfigurace programů, tiskový
subsystém a některé dalšı́ důležité vlastnosti. Účelem je zajištěnı́ alespoň základnı́ kompatibility mezi distribucemi. Pokud distribuce dodržı́ vše, co je zahrnuto do tohoto dokumentu,
obdržı́ certifikát LSB.
Aplikace a nástroje jsou v tzv. balı́čcı́ch. Balı́ček obsahuje obvykle jednu nebo vı́ce souvisejı́cı́ch aplikacı́. Existuje vı́ce různých typů balı́čků, každá distribuce použı́vá určitý typ,
každý typ balı́čku má svůj způsob instalace. Dnes nejpoužı́vanějšı́ jsou pravděpodobně
balı́čky typu RPM (RedHat Package Manager) zavedené distribucı́ RedHat, dále balı́čky
DEB od Debianu, a univerzálnı́ balı́čky ve zdrojovém kódu v archivu TAR.GZ (tgz). Balı́čky
BIN jsou obvykle kombinace skriptu a komprimovaných dat, stačı́ je spustit (nejdřı́v bývá
nutné přiřadit právo spuštěnı́). Linuxové balı́čky zřejmě byly inspiracı́ obdobných balı́čků
ve Windows – MSI.
Některé distribuce jsou dodávány jen v angličtině, většinu nejznámějšı́ch seženeme
s českou lokalizacı́. Česky s námi komunikujı́ pouze samotné aplikace, prostředı́ a správci
oken, nápověda a dokumentace z části zůstává v angličtině. Vyjı́mkou je napřı́klad distribuce SUSE, která má lokalizováno nejen pracovnı́ prostředı́ a aplikace, ale také celou
nápovědu a v komerčnı́ variantě máme k dispozici také přı́ručky v češtině.
Mnohé distribuce můžeme dostat také ve verzi live (živé, lite). Je to odlehčená verze,
která se (již nainstalovaná) vejde na jedno CD nebo DVD (plné verze mı́vajı́ často i dvě DVD
nebo 10 CD), přı́padně USB flash disk, a je plně bootovatelná bez nutnosti instalace. Stačı́
vsunout CD do mechaniky, restartovat počı́tač (v BIOSu musı́ být povoleno bootovánı́ z CD
či DVD a mechanika nastavena jako first boot device), provede se rychlá detekce hardwaru,
je načteno jádro, spuštěno grafické prostředı́ a můžeme pracovat.
1
http://www.linuxfoundation.org/collaborate/workgroups/lsb, text standardu v plném zněnı́ najdeme na
http://www.linuxfoundation.org/en/Specifications.
P
P
P
4.2
LINUXOVÉ DISTRIBUCE
80
Výhodou je také „nezničitelnost“ live systému, v přı́padě vážné chyby v konfiguraci
prostě znovu nabootujeme.
Obvykle v takovém přı́padě nemáme přı́stup k pevnému disku, ale některé live distribuce jsou vyjı́mkou a disk zpřı́stupňujı́. V některých přı́padech máme možnost uložit
na nějaké pamět’ové médium (speciálnı́ soubor na pevném disku, USB flash disk nebo
pamět’ový prostor na internetu) některé informace (např. zjištěnou konfiguraci hardwaru,
provedené změny v rozhranı́ nebo vlastnı́ dokumenty).
Live distribuce sloužı́ k různým účelům, napřı́klad
• k propagaci a demonstraci distribuce (uživatel se seznámı́ s prostředı́m a možnostmi
distribuce),
$
• k vyzkoušenı́ funkčnosti (živá distribuce má vpodstatě stejný proces rozpoznávánı́
hardwaru),
• pro opravu nainstalovaného operačnı́ho systému, záchranu dat nebo provedenı́ zálohy nainstalovaného systému (třeba vytvořenı́ bitové kopie),
• k samostatné specifické práci (potřebujeme některý z programů na live CD), nebo
chceme na cizı́m počı́tači pracovat ve vlastnı́m prostředı́ s vlastnı́mi daty (použijeme
zároveň s flash diskem s uloženou konfiguracı́ a daty), to je možné také ve virtuálnı́m
počı́tači,
• také některá instalačnı́ média bývajı́ živá – spustı́me live médium, poklepeme na
ikonu „instalovat“ a během instalace můžeme libovolně pracovat v živém systému
(třeba psát textový dokument).
Distribuce se dajı́ sehnat:
• v krabicové (komerčnı́) verzi (na internetu nebo v obchodě), dostaneme nejen sadu CD
(DVD), ale také manuály, za to platı́me obvykle několik set korun, nanejvýš několik
tisı́c, můžeme použı́vat v jakémkoliv počtu kopiı́,
$
• v live verzi (na internetu, v počı́tačových časopisech),
• v plné volně šiřitelné verzi (na internetu, v obchodě, často v knihkupectvı́ch), někdy
bývajı́ trochu osekané, ale obvykle je omezenı́ pouze v nedodánı́ papı́rových manuálů.
Z internetu se distribuce stahujı́ přes FTP nebo přes výměnné sı́tě (BitTorrent), přı́padně
přes NFS, pokud jsou instalačnı́ soubory na lokálnı́ sı́ti. Při instalaci přes FTP nebo NFS
potřebujeme také alespoň startovacı́ disketu nebo CD, z tohoto média spustı́me vlastnı́
instalaci a stahovánı́.
Některé distribuce jsou během instalace překládány. V takovém přı́padě opět potřebujeme startovacı́ disketu nebo CD se základnı́m systémem a překladačem, vše ostatnı́ již
může být stahováno přı́mo z internetu (třeba přes FTP).
Počet CD (DVD) závisı́ na distribuci, většinou 1–10 CD, přı́padně 1–2 DVD. Pokud si
stahujeme obrazy CD z internetu (na stránkách distributorů), musı́me je nejdřı́ve vypálit na
P
4.2
LINUXOVÉ DISTRIBUCE
81
CD a pak použijeme při instalaci. Na instalačnı́ch CD (DVD) bývá také v některém souboru
většinou alespoň stručně popsána instalace.
4.2.2
Některé nejznámějšı́ distribuce
RedHat („červený klobouk“) – svého času u nás nejrozšı́řenějšı́, ale pro desktopové
počı́tače je na ústupu, protože firma RedHat se rozhodla ukončit podporu bezplatným
variantám Linuxu (jedná se napřı́klad o zveřejňovánı́ bezpečnostnı́ch aktualizacı́, nových
verzı́ apod.), volně šiřitelné desktopové řešenı́ již nevyvı́jı́ (mı́sto něho podporuje distribuci
Fedora). Pro servery (také pro desktopy) dále existuje poměrně oblı́bená komerčnı́ varianta
RedHat Enterprise Linux – RHEL.
J
Použı́vá vlastnı́ formát balı́čků aplikacı́ typu RPM (v této distribuci byly jako v prvnı́
linuxové distribuci použity distribučnı́ balı́čky se softwarem, předtı́m se instalovalo ze
zdrojových kódů).
Fedora je komunitnı́ distribuce, kterou firma RedHat doporučuje jako náhradu komunitnı́ linie, kterou sama přestala poskytovat (mezi komunitou a firmou RedHat vládne čilá
spolupráce, která je ku prospěchu oběma stranám). Je RedHatu hodně podobná (vzhledem
i vybavenostı́) a dá se dokonce stáhnout ze serveru firmy RedHat. Instalace je velmi dobře
propracovaná, lokalizace do češtiny je už trochu horšı́. Nástroje na konfiguraci systému
jsou i v grafickém režimu, automatická aktualizace je zajištěna ze sı́tě RedHat.
Existujı́ distribuce, které velmi úzce koexistujı́ s RedHatem. Většinou jsou tyto distribuce binárně kompatibilnı́. Kromě Fedory jde předevšı́m o CentOS (Community Enterprise
OS) – vývojáři CentOS majı́ k dispozici zdrojové kódy RHEL, které upravı́ (předevšı́m
odstranı́ všechny licenčně závislé prvky jako jsou napřı́klad loga a názvy společnosti), přeložı́ a dále distribuujı́ (CentOS je volně šiřitelný). Firmě RedHat toto počı́nánı́ rozhodně
nevadı́, je to vlastně reklama na jejı́ vlastnı́ služby a uživatelé CentOS často při přechodu na
komerčnı́ řešenı́ přecházejı́ právě na RHEL od RedHatu. Důvodem přechodu je většinou
rozšı́řenı́ společnosti uživatele, zájem o souvisejı́cı́ komerčnı́ služby, a také napřı́klad to, že
aktualizace CentOS majı́ mı́rné zpožděnı́ za aktualizacemi originálnı́ho RHEL.
J
J
Podobným způsobem vzniklo několik dalšı́ch distribucı́. Z dalšı́ch můžeme jmenovat
napřı́klad Scientific Linux, který je vytvářen a distribuován laboratořı́ Fermi, střediskem
CERN a dalšı́mi vědeckými organizacemi a univerzitami na celém světě.
Adresy: http://www.redhat.com/, http://www.redhat.com/docs/manuals/enterprise/,
http://fedora.redhat.com/, http://fedoranews.org/, http://www.fedorazine.com/,
http://www.centos.org/, https://www.scientificlinux.org/
Mandriva – francouzská distribuce původně vycházejı́cı́ z RedHatu, ale dále šla vlastnı́
cestou. Použı́vá tentýž formát balı́čků (RPM balı́čky), jinými slovy, co jde nainstalovat na
RedHatu, jde bez velkých úprav nainstalovat i zde. Vyznačuje se velkou uživatelskou
přı́větivostı́ včetně instalace, pro začátečnı́ky je to jedna z nejvhodnějšı́ch distribucı́. Dopo-
J
4.2
LINUXOVÉ DISTRIBUCE
82
ručuje se předevšı́m na pracovnı́ stanice, ale je vhodná také pro servery. Dřı́ve se distribuce
jmenovala Mandrake (firma Mandrakesoft se přejmenovala na Mandriva).
Jednou z odnožı́ distribuce Mandriva je PCLinuxOS. Jeho tvůrce, Bill Reynolds zvaný
Texstar, byl původně zaměstnancem Mandrakesoftu, ale po neshodách s týmem se rozhodl
dále pracovat na své vlastnı́ distribuci. Typickým znakem PCLinuxOS je, že nevytvářı́
nové verze, ale neustále aktualizuje jedinou. Takže uživatel se zapnutými aktualizacemi
má vlastně neustále nejnovějšı́ verzi.
Odnožı́ distribuce Mandriva je také komunitnı́ distribuce Mageia. Je to jedna z novějšı́ch
distribucı́ (vznikla roku 2010).
Adresy: http://www.mandriva.com/, http://www.mandrivalinux.cz/, http://www.pclinuxos.cz/,
http://mageia.cz/
SUSE – německá firma SUSE je dnes ve vlastnictvı́ firmy Novell (zároveň s firmou IBM), to
se pravděpodobně v budoucnu projevı́ na většı́ vhodnosti tohoto systému pro sı́tě. Přesto
i dnes, kdy je doporučována spı́še na pracovnı́ stanice, se s úspěchem použı́vá i na serverech
(vlastně je to podobné jako u Mandrivy). Uživatelsky přı́jemná distribuce včetně instalace
a konfigurace (obojı́ má na starosti nástroj Yast2), taktéž vhodná i pro začátečnı́ky. Použı́vá
balı́čky RPM. Jejı́ lokalizace do češtiny je ze všech distribucı́ na dobré úrovni. Je k sehnánı́
v komerčnı́ i komunitnı́ verzi (OpenSUSE).
Adresy: http://www.suse.com, http://cs.opensuse.org/
Debian GNU Linux je jediná distribuce, která je poskytována pouze zdarma (plně komunitnı́). Nepoužı́vá RPM balı́čky, ale DEB balı́čky. Tento balı́čkovacı́ systém je považován za
pružnějšı́ a bezpečnějšı́ než RPM.
Debian je považován za nejstabilnějšı́ a nejbezpečnějšı́ linuxový systém, a také nejrozsáhlejšı́. Jeho distributorem nenı́ žádná určitá firma, ale skupina programátorů, proto také
uživatelé nemohou počı́tat s nějakou propracovanou on-line podporou (ale v diskusnı́ch
skupinách každý rád poradı́ a na webu lze najı́t spoustu dokumentů s řešenı́m nejrůznějšı́ch
problémů).
Má jeden z nejdelšı́ch intervalů pro vydávánı́ stabilnı́ch distribucı́, na stabilitu systému
a programů je velmi dbáno, ale jsou dostupné také vývojové verze. Rovněž dalšı́ zajı́mavou
vlastnosti (a také jednı́m z důvodů dlouhých intervalů mezi verzemi) je hodně variant pro
různé hardwarové platformy. Stabilita a dostupnost pro různé platformy jsou dva z mnoha
důvodů, proč je Debian nasazován jak na desktopy, tak často i na servery. Zajı́mavostı́ je
také zvyk pojmenovávat verze jmény začı́najı́cı́mi pı́smeny postupně podle abecedy.
Instalátor pracuje bud’ v grafickém nebo v textovém (pseudografickém) režimu – vybı́ráme na začátku instalace, ale je uživatelsky přı́jemný (vı́ce komunikuje, umožňuje vybı́rat
ze seznamu, automaticky detekuje hardware, konfiguruje sı́t’, atd.).
Výchozı́m jádrem pro Debian je Linux, ale existujı́ také porty s jinými jádry – z větve BSD
Linuxů (předevšı́m NetBSD), které jsou taktéž podporovány komunitou Debianu. Existuje
J
J
4.2
LINUXOVÉ DISTRIBUCE
83
také podobný projekt, který nenı́ přı́mo podporován komunitou, ale komerčnı́ firmou –
kombinace Debianu a jádra ze systému OpenSolaris, Nexeta OS.
V současné době je Debian hodně často nasazován na serverech, ale vyskytuje se také na
desktopech. Jeho podı́l na desktopech mı́rně snı́žil předevšı́m nástup distribucı́ z Debianu
odvozených (předevšı́m Ubuntu).
Ubuntu je tedy distribuce vycházejı́cı́ z Debianu, která je sice také velmi stabilnı́, ale
klade většı́ důraz na aktualizovánı́ programů. Oproti „mateřskému“ Debianu použı́vá
také trochu jiný způsob autentizace v textovém režimu (tzv. sudo mechanismus). Tato
distribuce je poslednı́ dobou použı́vaná pro vytvářenı́ demonstračnı́ch live distribucı́ pro
různá desktopová prostředı́ (viz dále). Existuje mnoho derivátů (odvozených distribucı́)
Ubuntu, napřı́klad KUbuntu, XUbuntu, EdUbuntu, Mythbuntu použitelného jako domácı́
multimediálnı́ centrum nebo Ubuntu Studio pro tvůrce multimediálnı́ho obsahu.
J
Ubuntu použı́vá motto „Linux pro lidi“. Oproti jiným distribucı́m je poněkud „osekaná“, předevšı́m z důvodu častých stı́žnostı́ uživatelů přecházejı́cı́ch na Linux z Windows, že „se v tom množstvı́ aplikacı́ a nástrojů nevyznajı́ “. To může být výhodou pro
uživatele, který do systému prakticky nezasahuje (ostatně nenı́ problém si dalšı́ aplikace
doinstalovat zcela podle svého vkusu). Mechanismus ověřovánı́ přı́stupových oprávněnı́
je ve výchozı́m nastavenı́ určen spı́še pro desktop bez nutnosti vzájemného zabezpečenı́
různých uživatelů.
Výchozı́m grafickým prostředı́m v Ubuntu je už od začátku GNOME, ale v poslednı́
době je k tomu využı́vána nástavba Unity (od verze 11.04 i na desktopech). Původně bylo
určeno pro malé displeje (napřı́klad netbooků nebo ještě menšı́ch zařı́zenı́), a bohužel se
od toho odvı́jejı́ poněkud chudé možnosti konfigurace prostředı́ a horšı́ dostupnost méně
využı́vaných aplikacı́. Naštěstı́ jsou dostupné varianty bez Unity:
•
•
•
•
Kubuntu – desktopové prostředı́ KDE,
Xubuntu – desktopové prostředı́ Xfce,
Lubuntu – desktopové prostředı́ LXDE,
v standardnı́m GNOME s Unity se můžeme vrátit k samotnému prostředı́ GNOME
(tj. zlikvidovat Unity) – doporučuji.
Návod, jak odstranit Unity a použı́vat původnı́ GNOME (tzv. GNOME Classic), najdeme
třeba na
http://wiki.ubuntu.cz/unity#gnome classic
Adresy: http://www.debian.org, http://www.debian.cz/,
http://www.debian.org/ports/netbsd/, http://www.nexenta.org/os, http://www.ubuntu.cz/,
http://www.kubuntu.cz/
Knoppix – přestože se jedná o poměrně rozsáhlý systém, nevyžaduje instalaci (live).
Najdeme zde předevšı́m to nejnovějšı́, co GNU nabı́zı́. Nenı́ lokalizován do češtiny. Existuje
také odvozená distribuce, Games Knoppix (také live, ale na DVD), ta obsahuje předevšı́m
hry.
J
4.2
LINUXOVÉ DISTRIBUCE
84
Dokument Knowing Knoppix je určen pro ty, kteřı́ s Linuxem teprve začı́najı́. Je to PDF
soubor šı́řený pod licencı́ GNU FDL (Free Document Licence), zdarma stáhnutelný na
internetu.
Adresy: http://www.knoppix.org/, http://games-knoppix.unix-ag.uni-kl.de/,
http://www.pjls16812.pwp.blueyonder.co.uk/knowing-knoppix/index.html
Slackware je distribuce určená pro pokročilejšı́ uživatele, celosvětově patřı́ k nejpopulárnějšı́m. Vyznačuje se celkem svižným chodem a stabilitou včetně souborového systému (na
internetu se někteřı́ uživatelé vyjadřujı́, že tam, kde jiné Linuxy selhaly nebo běžı́ pomaleji,
Slackware nemá problémy).
J
Pokud ji chceme nainstalovat a použı́vat, doporučuje se předem důkladně pročı́st dokumentaci dostupnou napřı́klad na internetu (je i na prvnı́m instalačnı́m CD). Instalace
probı́há v textovém režimu, ale celkem uživatele vede.
Konfigurace se většinou provádı́ pomocı́ konfiguračnı́ch souborů, existuje jen několik
konfiguračnı́ch nástrojů (mouseconfig, netconfig, . . . ). Všechny konfiguračnı́ soubory se
nacházejı́ v jednom adresáři (/etc/rc.d), narozdı́l od většiny ostatnı́ch rozšı́řených distribucı́ (to odpovı́dá standardu BSD, jiné distribuce obvykle pro umı́stěnı́ konfiguračnı́ch
souborů použı́vajı́ standard System V), soubory jsou poměrně dobře okomentované (v angličtině samozřejmě). Po instalaci je obvykle nutné nakonfigurovat grafické rozhranı́, pokud
je chceme použı́t.
Slackware použı́vá systém balı́čků tgz, ve kterém se nezachycujı́ závislosti mezi balı́čky. Pokud zjistı́me, že přesto k běhu některého programu, který jsme nainstalovali,
zřejmě potřebujeme nainstalovat ještě něco dalšı́ho (tj. nefunguje), máme možnosti, jak
zjistit, co programu chybı́ (např. přı́kaz ldd), a doinstalovat. Pro instalaci máme k dispozici kromě možnosti instalace ze zdrojů (v .tar.gz) pomocı́ make install také nástroj
Checkinstall, který ze zdrojových souborů vyrobı́ Slackware balı́ček a provede instalaci.
Pro práci s balı́čky sloužı́ nástroje, které majı́ v názvu zkratku pkg (např. installpkg).
Live distribuce se jmenuje Slax, ISO obraz má pouhých 200 MB (vejde se na „kapesnı́“
variantu CD) a přesto se jedná o poměrně dobře vybavený systém. Slax vůbec nepotřebuje
pevný disk, protože po startu systému si vytvořı́ v operačnı́ paměti RAM disk a umožňuje
využı́vat i USB flash disk a samozřejmě CD (když je spuštěn, můžeme CD se Slaxem
vyndat, vše je na RAM disku). V tom přı́padě se však doporučuje mı́t předevšı́m dostatek
operačnı́ paměti, odkládacı́ prostor totiž neexistuje. Slax také umožňuje vytvořit si vlastnı́
live distribuci.
Adresy: http://www.slackware.com/, http://www.slax.org/,
SlackBook v češtině na qwert.cz/index.php?pgn=navody
Linux Mint se v poslednı́ době hodně použı́vá mı́sto Slaxu. Je to distribuce založená na
Ubuntu, tedy oproti Slaxu je jednoduššı́ správa softwaru. Klade důraz na jednoduchost a
práci s multimédii, použı́vá upravené desktopové prostředı́ GNOME. Na stránkách pro-
J
4.2
LINUXOVÉ DISTRIBUCE
85
jektu jsou dostupné přı́ručky v různých jazycı́ch včetně češtiny.
Adresy: http://linuxmint.com/, http://www.linuxmint.com/documentation.php
Gentoo je distribuce typická tı́m, že se při instalaci téměř celá (kromě instalátoru, ten musı́
být logicky spustitelný) kompiluje na mı́ru počı́tači, kde instalace probı́há (tzv. překládaná
distribuce, z toho vyplývá, že bychom měli mı́t dostatečně rychlé připojenı́ jako je kabel nebo
ADSL). Obvyklý způsob instalace je přes sı́t’ z archivů Gentoo, proto je vhodné mı́t spı́še
rychlejšı́ připojenı́ k internetu, někdy se objevuje na CD (DVD) přiložených k počı́tačovým
časopisům. Samotná instalace samozřejmě dá většı́ práci než v přı́padě jiných distribucı́.
J
Konfigurace se provádı́ často spı́še v konfiguračnı́ch souborech, vybavenost nástroji
s GUI je poněkud nižšı́. S tı́m však souvisı́ jedna velká výhoda – konfiguračnı́ soubory jsou
dobře navržené, velmi přehledné a dobře okomentované (oproti Mandrivě a spol. přı́mo
rajská zahrada).
Gentoo je výjmečná distribuce už kvůli zvláštnı́mu řešenı́ aktualizacı́ převzatému od
FreeBSD. Balı́čky jsou uspořádány do stromu Portage, kde lze snadno pomocı́ některých programů kontrolovat verze a závislosti programů. Přı́mo pro práci s Portage sloužı́ program
emerge, ale existujı́ nástroje, které poskytujı́ třeba i grafické rozhranı́ (napřı́klad Genu, tento
program je napsán pomocı́ Mono, to je open-source rozhranı́ pro .NET). Pro prohledávánı́
stromu Portage se mohou použı́vat napřı́klad Esearch nebo Eix (Portagedb).
Projekt Gentoo je známý svou oboustranně výhodnou spoluprácı́ s jinými open-source
projekty, napřı́klad Free/Open/Net BSD (vzájemné využı́vánı́ výsledků projektů), Mac OS
X (přenos Portage na Mac OS X), atd., existujı́ projekty pokoušejı́cı́ se v Gentoo použı́t jiné
jádro než Linux (GNU/Hurd, OpenSolaris). Na Gentoo jsou dnes založeny dalšı́ projekty,
napřı́klad VidaLinux nebo FlashLinux.
FlashLinux je ekvivalent CD live distribucı́, ale mı́sto CD je použit USB flash disk
(256 MB). Hlavnı́ výhodou je možnost ukládat konfiguraci přı́mo na tento flash disk, takže
narozdı́l od CD live distribucı́ nenı́ nutné při novém spuštěnı́ konfigurovat znovu ani
použı́vat dalšı́ média pro uloženı́ nastavenı́.
Adresy: http://www.gentoo.cz/, http://www.gentoo.org/main/en/where.xml,
http://www.encryptec.net/flashlinux, http://flashlinux.org.uk/
Android má také linuxové jádro. Jde o mobilnı́ platformu, tedy primárně pro chytré mobilnı́ telefony, PDA, tablety apod. Firma Android, která stojı́ za vytvořenı́m Androidu, byla
roku 2005 koupena firmou Google, a od té doby vzrůstá oblı́benost Androida na různých
mobilnı́ch zařı́zenı́ch. Následně roku 2007 se vývoje ujala organizace Open Handset Alliance (jedná se o konsorcium mnoha výrobců mobilnı́ch zařı́zenı́ nebo jejich komponent,
kromě Googlu zde patřı́ napřı́klad Intel, HTC, Motorola, LG, NVidia, Samsung a dalšı́).
Nad jádrem (upravený Linux 2.6) je vrstva knihoven obsahujı́cı́ch kód a objekty (aplikace
však k nim nemajı́ přı́mý přı́stup). Dalšı́ vrstvou je virtualizačnı́ prostředı́ Dalvik, které
sloužı́ k oddělenı́ spuštěných aplikacı́ od jádra a od sebe navzájem. Dalšı́ vrstvou je běhové
J
J
4.2
LINUXOVÉ DISTRIBUCE
86
prostředı́ pro aplikace a pak samotné aplikace.
Aplikace jsou psány v Javě a běhové prostředı́ (application framework) je vlastně běhovým prostředı́m Javy, ale neznamená to automatickou kompatibilitu s běhovými prostředı́mi pro jiné platformy, protože v Androidu nejsou implementovány některé jinde
hodně využı́vané knihovny – předevšı́m AWT a Swing (grafické prostředı́ je postaveno na
vlastnı́ch knihovnách). Aplikace lze zı́skat na Android Marketu.
Mezi verzemi Androidu je poměrně velký rozdı́l, v poslednı́ době šlo předevšı́m o
přizpůsobovánı́ systému běhu na tabletech, dalšı́ očekávané změny jsou nejen v podpoře
dalšı́ch formátů, rozhranı́ a komponent, ale předevšı́m v lepšı́m zabezpečenı́. Android se
totiž stal natolik oblı́beným systémem, že se začal objevovat malware pro tento systém ve
velkém množstvı́. Hlavnı́m cı́lem malwaru jsou zařı́zenı́, ve kterých byla prolomena izolace
procesů a aplikacı́m bylo umožněno zı́skánı́ root oprávněnı́. Postup zı́skánı́ root oprávněnı́
lze najı́t na webu, ale je třeba vědět, že to nenı́ bezpečené. Nejen kvůli malwaru, ale samotný
postup je odlišný pro různé typy telefonů či tabletů a může způsobit znefunkčněnı́ zařı́zenı́.
Android je šı́řen pod open-source licencı́, výrobci si ho mohou jakkoliv přizpůsobit.
Adresy: http://www.android.com/, http://www.svetandroida.cz/android-4-0-a-bezpecnost-201111,
http://www.diit.cz/clanek/mobilni-operacni-system-android/38512/
System Rescue CD je live distribuce určená pro přı́stup k poškozenému systému, přı́padné
opravy a také zálohovánı́. Protože je to live distribuce, nenı́ problém s přı́stupem pro
zálohovánı́ k oblastem disku, které při provozu „normálnı́ distribuce“ musı́ být připojeny
– např. root (při zálohovánı́ se doporučuje partitions odpojit, aby při přı́padných zásazı́ch
jinými procesy nedošlo k nekonzistentnostem v souborech).
Najdeme zde mnoho užitečných nástrojů, např. MemTest (testovánı́ paměti), Offline NT
Password and Registry editor (dokáže změnit heslo administrátora ve Windows a pracovat
s Windows registry!!!), Dban (neobnovitelné mazánı́ souborů), sfdisk (zálohovánı́ tabulky
rozdělenı́ disku) a samozřejmě nástroje na samotné zálohovánı́ souborů (můžeme zálohovat
také přes FTP na jiný počı́tač).
Adresa: http://www.sysrescd.org
Distribuce určené pro školstvı́ jsou předevšı́m nadstandardně vybaveny výukovými programy a didaktickými hrami. Tyto programy si samozřejmě můžeme nainstalovat do kteréhokoliv jiného linuxového systému. Většinou najdeme alespoň sady výukových programů
GCompris, KDE-Edu, ChildsPlay a Tux4Kids a samozřejmě spoustu dalšı́ch programů
specializovaných na konkrétnı́ oblast výuky.
Edulinux – takto se jmenuje vı́c různých distribucı́. Prvnı́ z nich je distribuce z Quebecu v Kanadě (francouzsky) založená na Mandrivě, zřejmě se už nevyvı́jı́. Druhá byla
vyvinuta na jedné z univerzit v Chile na objednávku chilského ministerstva školstvı́ (je ve
španělštině).
EdUbuntu je součástı́ projektu Ubuntu a vzniklo úpravou Ubuntu pro účely škostvı́.
EdUbuntu se stalo součástı́ mnoha projektů, velmi známý je napřı́klad The Linux Terminal
J
J
J
4.2
LINUXOVÉ DISTRIBUCE
87
Server Project (LTSP) pro vytvořenı́ počı́tačové učebny ve formě tenkých klientů.2
SkoleLinux je dalšı́ distribuce určená pro školstvı́, vzniká v Norsku. Je založená na
Debianu. Instaluje se na servery (tam jsou spuštěny démony pro podporu sı́tě, DNS, DHCP,
konta uživatelů, atd.), klienty – terminály a klienty – pracovnı́ stanice, a také na domácı́
počı́tače. Obsahuje hodně výukových programů, ale také samozřejmě kancelářské aplikace,
grafické editory, konfiguračnı́ nástroje a dalšı́.
J
Ve školstvı́ se může uplatnit zvláště instalace v sı́ti na výkonný server a nepřı́liš výkonné
(staršı́) počı́tače coby terminály, studenti (žáci) pak přes terminál pracujı́ na serveru. Pro
každou učebnu pak stačı́ jeden výkonný server a pak vhodné terminály.
EDU-nix je poměrně nová distribuce pro školstvı́ založená na Gentoo (ale nemusı́me ji
překládat), jedná se o live distribuci.
Název může být zaměnitelný s iniciativou „Linux do škol“ jednoty školských informatiků, která se nazývá EdUNIX. V tomto přı́padě se jedná o serverovou distribuci založenou
na RedHat Linuxu, klade se důraz na co nejširšı́ lokalizaci do češtiny a samozřejmě co
největšı́ přiblı́ženı́ použitı́ ve školstvı́ (ve formě serveru, který dokáže spolupracovat také
s klienty s nainstalovanými Windows).
Adresy: http://vavreckova.zam.slu.cz/didact/ (odkazy souvisejı́cı́ se školstvı́m),
http://www.edulinux.cl (Chile), https://wiki.edubuntu.org/,
http://www.skolelinux.org, http://www.jsi.cz/clanky/linux/200304284994/
Forenznı́ a bezpečnostnı́ distribuce: tyto distribuce jsou určeny pro speciálnı́ účely, napřı́klad prověřenı́ daného systému bez nebezpečı́ jeho narušenı́ změnami, zı́skánı́ hůře přı́stupných dat (cookies, historie webového prohlı́žeče, hesla, konkrétnı́ typy souborů apod.)
ze systému bez jeho spuštěnı́, prověřenı́ zabezpečenı́ sı́tě, apod. Nejznámějšı́mi forenznı́mi
distribucemi jsou Caine, Deft a Kali Linux.
Adresy: http://www.caine-live.net/index.html, http://www.deftlinux.net/, https://www.kali.org/,
http://tools.kali.org/tools-listing, https://www.kali.org/kali-linux-nethunter/
Realtimové systémy: nejznámějšı́ čistě realtimové systémy postavené na Linuxu jsou RT Linux a RTAI, kde ve skutečnosti nenı́ jádrem Linux, ale speciálnı́ mikrojádro řı́dı́cı́ hardware
a procesy, a samotný Linux je jednı́m ze spuštěných procesů. Hodně rysů realtimových
systémů majı́ Linuxy použı́vané jako Embedded, tedy vestavěné v různých zařı́zenı́ch.
J
To je jen velmi malá část existujı́cı́ch distribucı́. Existujı́ distribuce velmi rozsáhlé, ale
třeba jen takové, které se vejdou na jedinou disketu, distribuce pro PDA nebo pro nestandardnı́ architektury.
Na internetu existuje hodně informacı́ o různých distribucı́ch včetně jejich hodnocenı́,
2
Tenký klient znamená, že máme vše nainstalováno na jednom počı́tači (serveru) a ostatnı́ (to jsou ty tenké
klienty) fungujı́ jako terminály (včetně grafického výstupu na obrazovku). Tenký klient vlastně nepotřebuje
ani pevný disk (často se použı́vajı́ bezdiskové stanice nebo staršı́ počı́tače), vše se „tahá“ přes sı́t’.
4.3
INSTALACE SYSTÉMU
88
zajı́mavé stránky jsou napřı́klad http://distrowatch.com/, ISO obrazy CD nebo DVD některých distribucı́ včetně živých (live) jsou na http://www.linuxiso.org. Seznam ISO obrazů
mnoha live distribucı́ najdeme také na http://www.frozentech.com/content/livecd.php.
Úkol
Vyberte si některou z linuxových distribucı́ a zjistěte o nı́ podrobnějšı́ informace – aktuálnı́
verze, hardwarové platformy, použı́vaná grafická prostředı́, zda existuje live verze, komerčnı́/komunitnı́, přı́padně typické konfiguračnı́ nástroje a jiné specifické vlastnosti, zda je
založena na některé jiné distribuci, dále kde najı́t ISO obrazy instalačnı́ch (nebo live) médiı́,
kde je dokumentace, HOWTO („Jak na to“ dokumenty) nebo diskusnı́ fóra. Podı́vejte se
také po screenshotech distribuce (obrazovkách).
4.3
Instalace systému
Pokud najdeme na internetu informace o instalaci toho Linuxu, který si vybereme, doporučuje se vytisknout si je (nebo mı́t vedle sebe ještě jeden zapnutý počı́tač připojený
k internetu), protože během instalace se možná nedostaneme na internet ani k žádnému
textovému editoru (záležı́ na typu instalátoru). Před instalacı́ na počı́tač, na kterém máme
nějaká data, je dobré tato data zálohovat. Nejspı́š přežijı́ bez úhony, ale pravděpodobnost
jejich poškozenı́ nenı́ úplně nulová. Ideálnı́ je vyzkoušet si instalaci ve virtuálnı́m stroji.
Instalace jsou pro různé distribuce, ale také pro různé verze jedné distribuce, odlišné.
Většina distribucı́ dodává Linux s vlastnı́m instalačnı́m programem, který vı́ce či méně
intuitivně vede uživatele a je celkem podobný instalačnı́mu procesu Windows.
Potřebujeme:
• sadu CD nebo DVD s distribucı́ Linuxu (pokud jsme to všechno sehnali na internetu,
musı́me CD předem vypálit), některé distribuce existujı́ i ve variantě pro bootovacı́
USB flash disk (napřı́klad Slax), BIOS počı́tače to však musı́ podporovat,
• informace o hardwaru (u dnes běžných distribucı́ se tı́m nemusı́me zabývat, práci za
nás odvede detektor hardwaru),
• přı́padné informace o instalaci konkrétnı́ distribuce (dá se sehnat na internetu na
stránkách distributora nebo v přı́ručce, taktéž tyto informace nemusı́me potřebovat,
ale někdy se mohou hodit),
• čas (půl hodiny až hodinu, podle rozsáhlosti distribuce a rychlosti počı́tače).
Měli bychom se připravit na to, že během instalace zřejmě budeme rozdělovat disk na oddı́ly
a určovat, co na jednotlivé oddı́ly bude nainstalováno (ale to některé distribuce už řešı́
automaticky, a když ne, je to řešeno pomocı́ průvodce), určı́me heslo roota (administrátorské
heslo) a přı́padně vytvořı́me nejméně jednoho běžného uživatele, u některých distribucı́
určujeme, které balı́čky se majı́ nainstalovat.
V poslednı́ době se prosazuje instalace z live média (napřı́klad v Ubuntu). Pak po
nabootovánı́ z tohoto média pracujeme v live systému a když se konečně rozhodneme
$
4.4
SOFTWARE V LINUXOVÝCH DISTRIBUCÍCH
89
spustit instalaci, prostě poklepeme na zřetelně označenou ikonku na ploše. Během instalace
můžeme nerušeně dále pracovat, třeba psát v textovém editoru, systém se ovšem mı́rně
zpomalı́.
Když chceme mı́t na jednom počı́tači zároveň Linux i jiné operačnı́ systémy (např.
Windows), instalujeme Linux až jako poslednı́. Automaticky se nastavı́ zavaděč operačnı́ho
systému LiLO (Linux LOader) nebo GRUB s nabı́dkou všech nainstalovaných operačnı́ch
systémů (některý z těchto zavaděčů je potřeba vždy, jeho úkolem nenı́ jen umožnit uživateli
vybrat si operačnı́ systém, ale provede také načtenı́ Linuxu).
Úkol
Při práci po skupinách najděte na internetu ISO soubory instalačnı́ch médiı́ (nebo live CD)
nejnovějšı́ch verzı́ alespoň dvou distribucı́ z tohoto seznamu:
•
•
•
•
4.4
4.4.1
Fedora,
Mandriva,
OpenSUSE,
Debian,
•
•
•
•
Knoppix,
Danix,
Slackware,
System Rescue CD.
Software v linuxových distribucı́ch
Vybavenost aplikacemi
Ve většině distribucı́ najdeme nepřeberné množstvı́ programů a aplikacı́, pro jeden účel
často existuje i několik. Různé distribuce se mohou velmi lišit ve svém vybavenı́ softwarem. Samozřejmě zde najdeme aplikace, které běžný uživatel denně použı́vá – webový
prohlı́žeč (většinou Konqueror, Firefox nebo Nautilus), e-mail klienta (Evolution, KMail
apod.), software pro on-line komunikaci včetně klientů pro ICQ, kancelářské programy
(OpenOffice.org, KOffice, GNOMEOffice, dále spoustu samostatných textových editorů),
správce souborů, software pro zpracovánı́ grafiky (GIMP, Inkscape), přehrávače multimédiı́ a software pro vypalovánı́, DTP software, databáze, vývojová prostředı́ pro nejrůznějšı́
programovacı́ jazyky (samozřejmě i překladače těchto jazyků), vědecké nástroje a dalšı́,
v neposlednı́ řadě samozřejmě i hry.
Linux je mnohem lépe než Windows vybaven nejrůznějšı́mi nástroji pro správu a sledovánı́ systému a sı́tě, administrátoři zde majı́ mnohem většı́ prostor pro svou působnost,
nenı́ náhodou, že na serverech a sı́t’ových zařı́zenı́ch (myšleno těch poněkud složitějšı́ch,
napřı́klad routerech) běžı́ často některý unixový systém.
Kromě nástrojů, které použı́váme v textovém režimu, existuje hodně nástrojů s grafickým rozhranı́m. Mnohé se nainstalujı́ již při instalaci systému, jiné si můžeme doinstalovat
sami. S mnoha užitečnými nástroji se seznámı́me v přı́štı́m semestru.
$
4.4
SOFTWARE V LINUXOVÝCH DISTRIBUCÍCH
90
Může se hodit jednoduchý software pro správu uživatelů, serverů, sledovánı́ zatı́ženı́
a automatizaci správy. Pro tento účel lze napřı́klad použı́t programy (snad spı́še webová
rozhranı́) Webmin a Usermin3 . Prvnı́ z nich je určen pro administrátory, druhý pro běžné
uživatele, oba existujı́ i v české verzi.
Pokud se vzdáleně přihlašujeme k serveru s Linuxem, potřebujeme vhodný komunikačnı́ protokol, který zajistı́ komunikaci mezi našı́m terminálem a serverem.
Může to být telnet (přı́kaz telnet hnázev serverui) nebo rlogin, lepšı́ je použı́vat
protokol ssh, který šifruje přenášená data. Jeho použitı́ je však problematické z hlediska
patentů, přesto existuje několik volně šiřitelných implementacı́ pro různé operačnı́ systémy
včetně Windows (napřı́klad program PuTTY,4 OpenSSH 5 nebo ttssh).
Pokud chceme na Linuxu (nebo FreeBSD) spouštět programy pro Windows, jedna z nejjednoduššı́ch možnostı́ je použitı́ Wine6 (to je jakási „překladová“ vrstva knihoven a nástrojů
v Linuxu, pomocı́ nı́ mohou v Linuxu pracovat Win aplikace). Ve většině distribucı́ je Wine
instalováno, pokud tomu tak nenı́, můžeme je instalovat sami. Postup je následujı́cı́:
•
•
•
•
nainstalujeme balı́čky (wine a winesetuptk),
spustı́me program winesetuptk,
v něm vytvořı́me nový (virtuálnı́) Windows oddı́l,
vybereme některá nastavenı́, která budeme potřebovat (je vhodné zvolit rozlišenı́
„vnořené obrazovky“ uvnitř okna Wine o něco menšı́, než jaké máme rozlišenı́ obrazovky),
• zkopı́rujeme některý font v /usr/X11R6/lib/X11/fonts/TTF do adresáře
~/.wine/fake_windows/Windows/Fonts.
$
Vše včetně konfigurace je uloženo v adresáři ~/.wine, takže nemusı́me na různých počı́tačı́ch pokaždé provádět instalaci a konfiguraci znovu, stačı́ zkopı́rovat tento adresář.
Kromě Wine existujı́ i dalšı́ řešenı́ pro tyto účely, včetně virtuálnı́ch počı́tačů. O této
problematice se budeme učit v přı́štı́m semestru.
Nástroje pro emulaci existujı́ i na „cestu na opačný břeh“ – můžeme ve Windows
emulovat Linux. Opět pro tuto funkci najdeme hodně nástrojů, jeden z nich, ekvivalent
Wine, je Cygwin (http://www.cygwin.com) od RedHatu.
V současné době existuje mnoho multiplatformnı́ch aplikacı́ psaných kromě jiného
v Javě, .NET jazycı́ch, Flashi apod., tyto aplikace samozřejmě můžeme bez jakýchkoliv
úprav spouštět i v Linuxu (všechny tyto technologie jsou zde podporovány. Taktéž s webovými aplikacemi nebývá problém, pokud k jejich provozovánı́ stačı́ opravdu jen webový
prohlı́žeč a výše zmı́něné technologie. To je důležité také proto, že se stávajı́ velmi populárnı́mi aplikace pro Cloud Computing.
3
Nástroje Webmin a Usermin najdeme na http://www.webmin.com/.
PuTTY je ke staženı́ na http://www.chiark.greenend.org.uk/~sgtatham/putty/.
5
OpenSSH najdeme na http://www.openssh.org.
6
Wine je ke staženı́ na http://www.winehq.org v binárnı́ch balı́čcı́ch pro nejznámějšı́ distribuce.
4
$
4.4
SOFTWARE V LINUXOVÝCH DISTRIBUCÍCH
91
Úkoly
1. Zjistěte, který program se ve vašem grafickém prostředı́ použı́vá jako webový prohlı́žeč, správce souborů, e-mail klient, komunikačnı́ program, pro přehrávánı́ hudby či
videa, najděte instalovaný kancelářský balı́k.
2. Na internetu ověřte, co lze nastavovat v nástroji Webmin a k čemu konkrétně sloužı́
Usermin.
3. Zjistěte, co je to Cloud Computing.
4.4.2
Instalace softwaru
Balı́ček je souhrn instalačnı́ch dat pro daný software, jak už vı́me. Obvykle každá distribuce
má svůj repozitář, a nebo se napojuje na repozitář jiné většı́ distribuce. Repozitář je jakási
strukturovaná zásobárna softwaru (databáze). Je optimalizován pro danou distribuci a je
možné z něho provádět také aktualizace softwaru včetně samotného operačnı́ho systému.
Repozitáře můžeme považovat za rozsáhlé databáze balı́čků.
O instalaci softwaru při instalaci systému se nemusı́me nijak zvlášt’ starat, provede ji
instalátor. Pokud chceme doinstalovat některý balı́ček z instalačnı́ch médiı́ nebo odjinud
(z internetu apod.), postup záležı́ na typu balı́čku. Pro instalaci jsou nutná vyššı́ přı́stupová
práva.
Software je dodáván bud’ přı́mo ve zdrojových kódech, a nebo ve formě balı́čků. Balı́čky
jsou bud’ binárnı́, a nebo zdrojové. Zdrojové balı́čky obsahujı́ sice zdrojový kód, ale narozdı́l
od „surového“ zdrojového kódu také informace potřebné k překladu, proto práce s nimi je
mnohem jednoduššı́ a obvykle jsou také bez problémů zpracovány aplikacemi pro správu
balı́čků stejně jako binárnı́ balı́čky.
Binárnı́ balı́čky (to je nejběžnějšı́ forma) majı́ ve většině přı́padů oproti instalaci ze zdrojových balı́čků výhodu jednoduchosti a podpory v grafickém režimu, součástı́ grafického
prostředı́ bývajı́ aplikace pro správu balı́čků. Majı́ však bohužel také nevýhody:
• binárnı́ balı́čky bývajı́ vydávány s mı́rným zpožděnı́m, tedy nemáme zrovna aktuálnı́
verze,
• binárnı́ balı́ček obsahuje již přeložený kód, a ten mohl být přeložen s pomocı́ jiných
verzı́ knihoven, než které máme my, takže program nemusı́ fungovat správně nebo
dokonce nemusı́ jı́t ani spustit (toto riziko však nenastává, pokud si balı́čky opatřı́me
z oficiálnı́ch repozitářů),
• jsou určitá bezpečnostnı́ rizika, protože instalace z binárnı́ch balı́čků RPM a DEB vyžaduje práva roota (instalujı́cı́ proces, ne uživatel sedı́cı́ u počı́tače), protože instalačnı́
proces přistupuje k adresářům a zdrojům, ke kterým má normálně přı́stup jen root
(v grafickém režimu se řešı́ žádostı́ balı́čkovacı́ho programu o heslo).
Většina distribucı́ obsahuje nástroje pro správu balı́čků, které usnadňujı́ instalaci a přı́padně
vyhledávánı́ nových verzı́ balı́čků. V Debianu je to systém APT, použı́vá se zvláště jeho
P
P
P
4.4
SOFTWARE V LINUXOVÝCH DISTRIBUCÍCH
92
Obrázek 4.1: Program Adept pro správu balı́čků v Ubuntu
grafické rozhranı́ Adept, ve Fedoře a Mandrivě Yum, urpmi, RPMDrake (v Mandrivě), . . .
V distribucı́ch s „přı́jemnějšı́m“ uživatelským rozhranı́m (např. KDE) jsou tyto nástroje
integrovány do menu pod vhodnými názvy.
Dřı́ve byly běžné komplikace s různými verzemi knihoven – aplikace potřebovala novějšı́ verzi než která byla nainstalovaná, ale s novějšı́ verzı́ si nerozuměla některá z již
nainstalovaných aplikacı́ (např. u rpm distribucı́ se tomu řı́kalo „rpm hell“). To je již léta
řešeno systémem správy verzı́ knihoven, kdy je pro některé knihovny k dispozici vı́ce verzı́
a aplikace použı́vá tu, pro kterou byla programována. Tento systém byl zřejmě inspiracı́
obdoby ve Windows (WinSxS, tam bylo pro změnu „dll hell“). O obojı́m se budeme učit v
přı́štı́m semestru.
Pokud jde o nástroje s grafickým rozhranı́m, jsou vzhledově i funkčně hodně podobné.
Nástroj obsahuje balı́čky uspořádané do kategoriı́, při výběru balı́čku se zobrazı́ údaje o něm
(většinou alespoň stručný popis s tı́m, že je možné napřı́klad v kontextovém menu zı́skat
dalšı́ informace). Pomocı́ voleb v kontextovém menu nebo zaškrtnutı́m polı́čka určujeme,
co se má nainstalovat.
Na obrázku 4.1 na straně 92 je rozhranı́ programu Adept v distribuci Ubuntu s grafickým
prostředı́m KDE, následuje obrázek se správou zdrojů v tomto programu. Na obrázcı́ch 4.4
a 4.5 totéž pro program RPMDrake v Mandrivě.
Nástroje pro správu balı́čků nabı́zejı́ také možnost určenı́ zdrojů, ze kterých majı́ být
balı́čky stahovány. Nejméně jeden z těchto zdrojů bývá oficiálnı́ repozitář. Ukázky seznamu
zdrojů jsou na obrázcı́ch 4.2, 4.3 a 4.5. Jak vidı́me, zdroje mohou být jak na internetu (nejen
$
P
4.4
SOFTWARE V LINUXOVÝCH DISTRIBUCÍCH
93
Obrázek 4.2: Správa zdrojů softwaru v programu Adept
repozitáře), tak i napřı́klad na výměnných médiı́ch jako jsou CD nebo DVD. Často se jedná
o instalačnı́ média, takto lze kdykoliv doinstalovat dalšı́ aplikace, které byly při instalaci
systému vynechány. Seznam zdrojů lze doplňovat neoficiálnı́mi repozitáři nebo jakýmikoliv
jinými umı́stěnı́mi. Způsob zadánı́ zdroje obvykle zjistı́me v nápovědě přı́slušného nástroje.
Z internetu si můžeme dále stahovat balı́čky těch programů, které nemáme nainstalovány nebo je chceme přeinstalovat na novou verzi. Najdeme je napřı́klad na těchto stránkách:
Obrázek 4.3: Správa zdrojů softwaru v programu Adept (jiná verze, prostředı́ GNOME)
4.4
SOFTWARE V LINUXOVÝCH DISTRIBUCÍCH
Obrázek 4.4: Program RPMDrake pro správu balı́čků v Mandrivě
Obrázek 4.5: Správa zdrojů softwaru v programu RPMDrake
•
•
•
•
•
•
http://www.sourceforge.net/
http://www.kde-apps.org/
http://www.gnomefiles.org/
http://www.freshmeat.net/
http://www.linuxbase.org/download (pro LSB certifikované distribuce)
http://www.linuxcentral.com/
94
4.5
GRAFICKÉ PROSTŘEDÍ
•
•
•
•
•
95
http://www.freshrpms.net/ (pro Fedoru)
http://www.linuxpackages.net/ (hlavně pro Slackware)
http://plf.zarb.org/
http://rpm.pbone.net/ (vyhledávánı́ rpm balı́čků, pro všechny distribuce s rpm)
http://http://www.apt-get.org/ (neoficiálnı́ repozitář pro Debian)
Instalovat balı́čky v textovém režimu se naučı́me v přı́štı́m semestru.
Úkoly
1. Ve své distribuci najděte nástroj pro správu balı́čků s grafickým prostředı́m. Prohlédněte si strukturu balı́čků, které jsou k dispozici.
2. Zjistěte, jaké zdroje balı́čků jsou nastaveny.
3. Na stránkách projektu GCompris (najděte je; je to francouzsky, vyslovuje se [že kompri] – rozuměl/a jsem) zjistěte, pro jaké distribuce existujı́ binárnı́ balı́čky.
4.5
Grafické prostředı́
Grafické prostředı́ v Linuxu je postaveno stejně jako u jiných unixových systémů na X Window (přesněji X Window System – ne Windows!!!, také se použı́vá zkratka X11). X Window
System je implementace grafického prostředı́, která vznikla v Massachusetts Institute of
Technology (MIT) v polovině 80. let minulého stoletı́. Nabı́zı́ základnı́ funkce pro přı́stup
k obrazovce (jejı́ geometrie – rozměry, určenı́ pozice, apod.), nastavenı́ obrazovky (barvy,
obnovovacı́ frekvence. . . ), pro správu oken (udržuje hierarchii oken, nabı́zı́ funkce pro
překreslenı́ okna, fonty), konfiguraci a použı́vánı́ zařı́zenı́ souvisejı́cı́ch s uživatelským rozhranı́m (klávesnice, myš, zvuk, grafika), a dále některé funkce správy procesů souvisejı́cı́
s pracı́ v prostředı́ (napřı́klad možnost násilně ukončit aplikaci).
P
X Window je ochranná známka MIT, proto pro systémy distribuované pod GPL se použı́vá modifikace nazvaná bud’ XFree86 nebo X.org. XFree86 je staršı́ a dřı́ve se na linuxových
systémech použı́vala prakticky jen tato varianta, ale vzhledem k trochu pozměněné licenčnı́
politice tohoto projektu a také k dalšı́m problémům (vývoj je méně pružný) se prosazuje
X.org.
X Window ve skutečnosti nabı́zı́ pouze jakési základnı́ programové rozhranı́, a aby bylo
možné přı́mo pracovat v grafickém prostředı́, je nutné mı́t ještě bud’ správce oken nebo
desktopové prostředı́.
Správce oken je program nebo sada programů s knihovnami. Použı́vá nástroje poskytované systémem X Window a provádı́ konkrétnı́ implementaci – vykresluje okna s určitou
P
4.5
GRAFICKÉ PROSTŘEDÍ
96
vizážı́, určuje, kdy které okno má zaměřenı́ (tj. je aktivnı́ a jsou mu posı́lány vstupy napřı́klad z klávesnice), atd. Tedy vlastně jde o jakousi vrstvu nad X Window, která využı́vá
služeb a funkcı́ své „podřı́zené“ vrstvy.
Desktopové prostředı́ vznikne, když vezmeme některého správce oken a přidáme k němu
balı́k aplikacı́ – konfiguračnı́ nástroje, kancelářské aplikace, správce souborů spoustu dalšı́ch aplikacı́. Někteřı́ správci oken jsou postupně přeřazováni spı́še k desktopovým prostředı́m, protože se kolem nich postupně „kupı́“ nástroje a aplikace.
Každý správce oken a desktopové prostředı́ potřebuje svou widget knihovnu. Je to
knihovna objektů a funkcı́ typických pro daného správce oken a prostředı́, obsahuje napřı́klad prvky pro vlastnı́ vzhled oken (jak vypadá hornı́ lišta okna, menu, tlačı́tka, posuvnı́ky,
apod.), funkce pro ovládánı́ okna (co se má stát po určité akci myši, při zı́skánı́ zaměřenı́,
atd.), funkce pro vytvořenı́ a obsluhu kontextového menu a dalšı́. Kromě widget knihovny
samozřejmě existujı́ i dalšı́ knihovny, které správce a prostředı́ použı́vajı́.
P
P
Když to shrneme – potřebujeme X Window (nabı́zı́ základnı́ vrstvu prostředı́), pak
nějakou widget knihovnu s prvky prostředı́ a dále vhodného správce oken, který s touto
widget knihovnou umı́ zacházet (nebo desktopové prostředı́, když ke správci oken přidáme
dalšı́ nástroje a aplikace).
Stránky http://xwinman.org/ obsahujı́ hodně informacı́ o správcı́ch oken včetně ukázek
výřezů obrazovky. Srovnánı́ správců oken a desktopových prostředı́ najdeme na stránkách
http://en.wikipedia.org/wiki/Comparison of X window managers
a http://en.wikipedia.org/wiki/Comparison of X Window System desktop environments.
4.5.1
Správci oken
Správci oken (samostatně) jsou použı́váni na staršı́ch počı́tačı́ch (majı́ menšı́ nároky na
zdroje), ale také lidmi, kteřı́ prostě nic dalšı́ho z grafiky nepotřebujı́. Podı́váme se na některé
nejznámějšı́.
twm – Tab Window Manager, jeden z nejstaršı́ch správců použı́vajı́cı́ starou widget knihovnu Athena. Uživatelsky přı́větivý moc nenı́, standardně nepodporuje virtuálnı́
plochy.
fvwm – zkratka znamená F Virtual Window Manager, kdysi to byl nejpopulárnějšı́ správce
pod Unixem. Vyznačuje se mnohem většı́ flexibilnostı́ než staršı́ twm, prostředı́ může
vypadat napřı́klad jako prostředı́ Windows 95.
Adresa: http://www.fvwm.org/
SawMill – správce oken konfigurovatelný pomocı́ jazyka Lisp. Jeho nástupcem je projekt
SawFish, taktéž konfigurovatelný pomocı́ Lispu.
Adresy: http://sawmill.sourceforge.net/,
http://sawfish.wikia.com/wiki/Main Page
J
4.5
GRAFICKÉ PROSTŘEDÍ
97
Window Maker – spouštěcı́ soubor je wmaker. Tento správce je založen na vzhledu operačnı́ho systému NeXTStep. Je poměrně přı́větivý k uživateli i ke zdrojům počı́tače,
které tolik nevyčerpává.
Adresa: http://www.windowmaker.info/
IceWM – původně byl vytvořen jako správce oken pro prostředı́ GNUstep. Účelem je
rychlost a snadnost konfigurace.
Adresa: http://www.icewm.org/
AfterStep – správce oken založený na rozhranı́ NeXTStep. Má velmi malé hardwarové
požadavky a nabı́zı́ rozsáhlé možnosti konfigurace.
Adresa: http://www.afterstep.org/
BlackBox – správce oken, dřı́ve celkem oblı́bený, jeho vývoj však byl zastaven. Domovská
stránka zřejmě už neexistuje, správce je ke staženı́ napřı́klad na stránce
http://sourceforge.net/projects/blackboxwm/
FluxBox – nástupce BlackBoxu. Malý a rychlý správce, má hlavnı́ panel obdobný GNOME
(viz dále). Plocha má kontextové menu, ve kterém najdeme programy ke spuštěnı́
a také konfiguračnı́ nástroje. Konfiguračnı́ soubory jsou v domovském adresáři uživatelů v podadresáři .fluxbox, včetně souborů pro přiřazovánı́ klávesových zkratek
a konfigurace menu. Na internetu se dajı́ stáhnout grafické nástroje pro prováděnı́
nastavenı́ obsažených v těchto souborech.
Adresa: http://www.fluxbox.org/
OpenBox – dalšı́ potomek BlackBoxu. Opět se jedná o poměrně úsporného a rychlého
správce, jehož hlavnı́ nabı́dka je přı́stupná přes pravé tlačı́tko myši na ploše. Je
zajı́mavý předevšı́m zvláštnı́ implementacı́ menu, která umožňuje položky menu
dynamicky měnit a přidávat napřı́klad pomocı́ skriptů.
Adresa: http://icculus.org/openbox/index.php/Main Page
Většina správců oken použı́vá slit. Je to oblast při některém okraji obrazovky nebo na
hlavnı́m panelu, kde se nacházejı́ odkazy (ikonky) různých pomocných prográmků. Těmto
prográmkům se řı́ká dock aplikace a je jich hodně ke staženı́ přı́mo na internetu. Většinou to
bývajı́ programy pro nastavenı́ zvuku, grafiky, data a času, pošty, sı́tě, sledovánı́ a nastavovánı́ různých částı́ systému (např. zátěž procesoru) apod.
4.5.2
Desktopová prostředı́
Desktopových prostředı́ je již méně. Podı́váme se na několik nejznámějšı́ch.
CDE – Common Desktop Environment, prostředı́ postavené nad widget knihovnou Motif, komerčnı́. V Linuxu ho najdeme prakticky jen v komerčnı́ch verzı́ch, nenı́ moc
populárnı́.
P
J
4.5
GRAFICKÉ PROSTŘEDÍ
98
Adresa: http://www.opengroup.org/tech/desktop/cde/
KDE – K Desktop Environment, dnes pravděpodobně nejpopulárnějšı́. Vybavenost nástroji
i aplikacemi je velmi dobrá, najdeme tu prakticky vše, co potřebujeme, pokud jsme
to ovšem nainstalovali (:-). Na internetu je mnoho nástrojů, které mohou ještě dále
zpřı́jemnit či zefektivnit (pozor nenı́ to totéž) práci v KDE, napřı́klad KDocker nabı́zı́
obdobné a vlastně ještě širšı́ funkce jako Systray ve Windows (tj. pravá část hlavnı́ho
panelu). Známý je také kiosk režim KDE použitelný tam, kde je nutné uživatelům
zabránit v jakýchkoliv zásazı́ch do systému (třeba informačnı́ systém pro cestujı́cı́ na
nádražı́).
KDE je postaveno na widget knihovně Qt (zkratka z Quasar Toolkit, čte se však [kjůt]),
správce oken je KWin. Má objektovou strukturu a je velmi objemné (běžı́ mnoho
procesů zároveň), proto nenı́ přı́liš vhodné na méně výkonné stroje.
Adresa: http://www.kde.org/
GNOME – vedle KDE je to jedno z nejpopulárnějšı́ch prostředı́. Také obsahuje velké množstvı́ aplikacı́ a nástrojů. Je trochu méně, i když dostatečně, vybavené než KDE, ale
dı́ky své struktuře je rychlejšı́, přehlednějšı́, jeho běh je optimálnějšı́ (kromě staršı́
verze 3), proto je vhodné i na pomalejšı́ počı́tače.
GNOME použı́vá widget knihovnu GTK+, správcem oken je Metacity.
Adresa: http://www.gnome.org/
Enlightenment – vizuálně i možnostmi nastavenı́ velmi zdařilý projekt někde mezi správcem oken a desktopovým prostředı́m. Má trochu zvláštnı́ ovládánı́ (ve standardnı́m
nastavenı́) a velmi rozsáhlé možnosti konfigurace, může vypadat prakticky jako kterýkoliv jiný správce oken. Prostředı́ je doplněno aplikacemi z GNOME.
Nejnovějšı́ verze (Enlightenment DR16 a DR17) se nepokoušejı́ konkurovat jiným
desktopovým prostředı́m, ale snažı́ se najı́t úplně novou cestu. Cı́lem je, aby práce
v grafickém prostředı́ byla co nejvı́ce intuitivnı́, aby zahrnovala prakticky vše, co se
dá dělat včetně snadnějšı́ manipulace se soubory. Ovládánı́ budı́ velkou pozornost
a je plné zajı́mavých novinek.
Widget knihovny jsou dvě – ETK a EWL, prvnı́ z nich se zdá použı́vanějšı́. Prostředı́
je samo sobě správcem. Narozdı́l od většiny ostatnı́ch je šı́řen pod licencı́ BSD.
Adresa: http://www.enlightenment.org/
Xfce – je to úsporné (malé nároky na hardware) modulárnı́ desktopové prostředı́, které
nabı́zı́ rozsáhlé možnosti konfigurace. Máme k dispozici vı́ce pracovnı́ch ploch, panel
ke spouštěnı́ aplikacı́, atd. Nabı́dka, která je v KDE nebo GNOME dostupná přes
tlačı́tko na hlavnı́m panelu, je zde přes pravé tlačı́tko myši (v dalšı́ verzi by už mělo
být i to tlačı́tko). Prostředı́ použı́vá knihovnu GTK+ stejně jako GNOME, tedy ani
z grafického hlediska zde programy psané pro GNOME nemajı́ žádné problémy.
V poslednı́ch verzı́ch se objevuje i podpora vı́ce monitorů a kiosk režimu.
4.5
GRAFICKÉ PROSTŘEDÍ
99
Konfigurace se provádı́ pro daný objekt přes kontextové menu tohoto objektu (Vlastnosti), nebo ve Správci nastavenı́ (toho spustı́me z hlavnı́ho panelu nebo z kontextového
menu plochy), to, co nelze nastavit v tomto nástroji, se nastavuje v konfiguračnı́ch souborech (některé z nich jsou dokonce ve formátu XML, napřı́klad ˜/.xfce4/menu.xml
pro konfiguraci menu). Obsahuje vlastnı́ho správce souborů – xffm.
Existuje instalátor od jiného programátora, Os-cillation, který velmi zjednodušı́ instalaci a základnı́ konfiguraci (po instalaci už stačı́ jen zařı́dit, aby se toto prostředı́
spustilo), je ke staženı́ na http://www.oscillation.de (vpravo dole se dá mı́sto němčiny zvolit angličtina, pak v levém menu v projektech jsou instalátory Xfce). Jsou to
archivy Installer Xfce (základ), Installer Gtk+ Xfce Engine (témata), Installer Xfce Goodies (dalšı́ programy), Installer Terminal (terminál). Jsou to binárnı́ balı́čky, samotná
instalace probı́há v grafickém režimu.
Správcem oken v Xfce je Xfwm, použı́vá widget knihovnu GTK+ z projektu GNOME.
Adresy: http://www.xfce.org, live CD pro prezentaci XFce http://www.xfld.org, dalšı́
nástroje a programy pro XFce jsou na xfce-goodies.berlios.de
Každé desktopové prostředı́ má svého výchozı́ho správce oken, ale tento správce oken
může být vyměněn za jiného. Toho využı́váme napřı́klad při implementaci 3D rozhranı́ –
v „obyčejném“ desktopovém prostředı́, které máme nainstalováno, je jako správce oken
použit jiný, který zvládá 3D.
4.5.3
3D rozhranı́
V Linuxu (a ostatně obecně v unixových sytémech) je 3D prostředı́ využı́váno už mnohem
delšı́ dobu než ve Windows. Existuje vı́ce těchto projektů, my se podı́váme na nejznámějšı́.
Většinou využı́vajı́ OpenGL a hardwarovou akceleraci (tj. urychlujı́ výpočty souvisejı́cı́
s grafikou přenesenı́m z procesoru na grafickou kartu).
Compiz Fusion je 3D správce oken využı́vajı́cı́ technologii OpenGL, který může být
integrován do různých desktopových prostředı́ včetně KDE a GNOME. Compiz Fusion
vznikl sloučenı́m dvou staršı́ch projektů – Compiz a Beryl.
Množstvı́ efektů je v základnı́ instalaci menšı́, ale může být dodatečně rozšı́řeno. Toto
rozškálovánı́ bylo zvoleno, aby uživatel mohl lépe přizpůsobit nastavenı́ možnostem svého
systému (některé efekty jsou hardwarově značně náročné a navı́c na některých HW architekturách mohou nastat problémy). Pro přı́stup k rozšı́řenı́m lze instalovat balı́ček simpleccsm, v Ubuntu také existuje komplexnı́ nástroj pro nastavenı́ vzhledu tohoto prostředı́
UbuntuTweak.
Adresy: http://wiki.compiz-fusion.org/, http://www.compiz-fusion.org/,
http://ubuntu-tweak.com/
P
J
4.6
KONZOLY
100
Looking Glass je 3D prostředı́ postavené na Javě, vyvı́jené firmou Sun pod licencı́ GPL.
Umožňuje naprosto volně manipulovat s okny (nejen je jakkoliv natáčet či deformovat, ale
také napřı́klad psát si poznámky na „rubovou“ stranu okna). Existuje také demonstračnı́
live CD.
Adresy: http://www.sun.com/software/looking glass/,
https://lg3d-livecd.dev.java.net/Web-Site/Welcome.html
Croquet je desktopové prostředı́ distribuované pod vlastnı́ licencı́, které však překračuje
hranice této definice (má napřı́klad vlastnı́ správu procesů). Je postaveno na objektovém
programovacı́m jazyce SmallTalk (vlastně jeho svobodné variantě Squeak), použı́vá se napřı́klad v projektu One Laptop Per Child.
Adresy: http://www.opencroquet.org/,
http://www.linuxexpres.cz/modules/marwel/index.php?article=1856,
http://www.root.cz/serialy/squeak-navrat-do-budoucnosti/,
http://www.squeak.org/, http://laptop.org/en/
Úkoly
1. Zjistěte, kterou variantu X Window použı́váte (X.org nebo XFree86), přı́padně také
v jaké verzi. Tyto informace lze zjistit v nápovědě nebo v adresářı́ch, kde je X Window
System instalován.
2. Nejen desktopové prostředı́ přinášı́ svoje aplikace, několik demonstračnı́ch aplikacı́
s grafickým rozhranı́m je dodáváno přı́mo s X Window (obvykle začı́najı́ pı́smenem
„x“). Pokuste se některé z nich najı́t (často bývajı́ nainstalovány některé z aplikacı́
xclock, xterm, xcalc, xedit, xlogo, xeyes, puzzle, maze, xgas, xgc, xmag, atd.).
3. Vyberte si některého správce oken a zjistěte o něm co nejpodrobnějšı́ informace včetně
platforem a aktuálnı́ verze, najděte také jeho screenshoty.
4. Vyberte si některé desktopové prostředı́ a zjistěte o něm co nejpodrobnějšı́ informace
včetně platforem a aktuálnı́ verze, najděte také jeho screenshoty.
5. Vyberte si některé 3D rozhranı́ a zjistěte o něm co nejpodrobnějšı́ informace včetně
platforem a aktuálnı́ verze, najděte také jeho screenshoty.
4.6
Konzoly
I tehdy, když funguje pouze textový režim a tedy nepoužı́váme žádného správce oken
(vlastně ani žádná okna), máme k dispozici standardně 6 konzol. Mezi nimi se přepı́náme
stiskem klávesových kombinacı́ Alt+F1 (prvnı́ konzola), Alt+F2 (druhá), . . . , Alt+F6
$
4.6
KONZOLY
101
(šestá konzola). V každé konzole můžeme mı́t spuštěn nějaký program na popředı́ a vı́ce
programů na pozadı́. V kterékoliv konzole můžeme mı́t také spuštěn program Midnight
Commander (spouštı́ se přı́kazem mc) pro snadnějšı́ práci se soubory, sı́tı́ a dalšı́mi možnostmi (obdoba Norton Commanderu nebo M602 v DOSu a Windows).
Z grafického režimu se do konzol dostaneme tak, že s přı́slušnou klávesovou zkratkou
stiskneme také klávesu Ctrl , tj. celkově Ctrl+Alt+F1 až Ctrl+Alt+F6 (pak při přı́mém
přepı́nánı́ mezi konzolami již Ctrl netiskneme). Zpět do grafického režimu se dostaneme
klávesovou zkratkou Alt+F7 (grafická prostředı́ běžı́ na sedmé konzole).
4.6
KONZOLY
102
Úkoly
1. Vyzkoušejte si přepı́nánı́ mezi konzolami a zjistěte, které přı́kazy byly jako poslednı́
na těchto konzolách provedeny během startu systému – přepněte se postupně na
prvnı́ konzolu, pak druhou, přı́padně dalšı́, potom se přesuňte zpět do grafického
prostředı́ na sedmou konzolu.
2. Pokud se vám podařı́ se v některé konzole přihlásit, vyzkoušejte program mc a projděte
si v něm svůj domovský adresář.
Kapitola
5
Textový režim v Linuxu
Tato kapitola je úvodem do správy operačnı́ch systémů s jádrem GNU/Linux (dále Linux) v textovém
režimu, většina postupů s mı́rnou modifikacı́ platı́ i pro jiné unixové (unix-like) systémy.
V unixových systémech včetně Linuxu je možné použı́vat několik různých shellů. My se zde
budeme věnovat pouze shellu bash – Bourne Again Shell.
5.1
5.1.1
Textové shelly a přı́kazy
Kdy, kde a jak použı́vat textový shell
V unixových systémech včetně Linuxu máme vždy mimo grafické prostředı́ možnost provádět různé operace také v textovém režimu pomocı́ přı́kazů. Tento způsob práce se systémem
se může zdát nepohodlný, ale je užitečný, pokud
• chceme operace provádět efektivně (nemusı́me se dostávat do určitého okna s nastavenı́m přes různá menu a jiná okna, máme všechno „pohromadě“, různá nastavenı́
provádı́me na jednom mı́stě, v okně terminálu nebo konzoly),
• chceme automatizovat a zrychlit určité operace (pro často použı́vané sledy přı́kazů
napı́šeme skript, ten vždy jen spustı́me), hodı́ se také tehdy, když tatáž nastavenı́
provádı́me na vı́ce zařı́zenı́ch,
• chceme, aby určité přı́kazy a programy spolupracovaly formou předávánı́ vstupů
a výstupů,
• nemůžeme najı́t v grafickém prostředı́ mı́sto, kde se určitá věc nastavuje (v mnoha
distribucı́ch je grafické prostředı́ poněkud upraveno, navı́c jsou výrazné rozdı́ly mezi
KDE/GNOME/XFce/atd.),
• určitý program nepracuje v grafickém prostředı́ podle našich představ,
• máme alergii na grafická prostředı́, atd.
103
5.1
TEXTOVÉ SHELLY A PŘÍKAZY
104
Když zadáváme přı́kazy, pracujeme vždy s určitým shellem. Shell je přı́kazový interpret, je
to předevšı́m program (rozhranı́), který sloužı́ ke spouštěnı́ jiných programů, a to předevšı́m
v textovém režimu. Pokud máme spuštěno grafické prostředı́, dostaneme se do shellu
spuštěnı́m konzoly (obvykle je v menu tlačı́tka obdobného tlačı́tku Start ve Windows,
závisı́ na použı́vaném desktopovém prostředı́) nebo spuštěnı́m určitých programů. Reálně
můžeme tedy v shellu pracovat dvěma základnı́mi způsoby:
$
• použijeme konzoly, s těmi jsme se seznámili na konci předchozı́ kapitoly,
• použijeme některý program, který poskytuje rozhranı́ k tomu shellu, který potřebujeme, typicky xterm, konsole nebo podobný.
V KDE bývajı́ terminály a konzole dosažitelné přes nabı́dku K , menu Terminály (přı́padně
K ï Spustit ï napı́šeme konsole nebo jiný název terminálu či konzole).
Původnı́ shell v Unixu byl Bourne Shell (vznikl roku 1978 a označoval se jednoduše
sh), jehož autor je Stephen Bourne. O něco později (v době přepisu Unixu do jazyka C)
vznikl jako alternativa C Shell (označoval se csh). Zatı́mco Bourne Shell byl určen spı́še pro
psanı́ skriptů a umožňoval lepšı́ spolupráci programů (včetně směrovánı́), C Shell hodně
inspirovaný jazykem C se orientoval hlavně na interaktivnı́ práci přı́mo v přı́kazovém
řádku (napřı́klad použı́vánı́ historie pomocı́ speciálnı́ch přı́kazů) a také přinesl pokročilejšı́
správu úloh.
V současné době se už nesetkáme přı́mo s Bourne Shellem a C Shellem, ale spı́še s jejich
potomky:1
• Toronto C Shell (tcsh) je rozšı́řenı́ csh o dalšı́ možnosti, napřı́klad použı́vánı́ šipek
při práci s historiı́ přı́kazů, tcsh také odstranil některé chyby souvisejı́cı́ s činnostı́
ve skriptu, které se vyskytovaly v csh, je obvykle nainstalován v adresáři /bin/tcsh
nebo /usr/bin/tcsh nebo /usr/local/bin/tcsh (záležı́ na distribuci),
• Korn Shell (ksh) – syntaxe přı́kazů odpovı́dá Bourne Shellu, ale jinak většinu vlastnostı́ přejal z tcsh, jde vlastně o hybrid shellů sh a tcsh, je nainstalován v adresáři
/bin/ksh nebo /usr/bin/ksh,
• Bourne Again Shell (bash) je nejobvyklejšı́m shellem v Linuxu a je velmi podobný
ksh (je jednoduššı́, napřı́klad oproti ksh neobsahuje podporu racionálnı́ch čı́sel a vı́cedimenzionálnı́ch polı́), je nainstalován v /bin/bash nebo /usr/bin/bash nebo
/usr/local/bin/bash,
• Debian Almquist Shell (dash) je potomkem shellu ash (Almquist Shell) ze systému
FreeBSD, jak název napovı́dá, můžeme se s nı́m setkat u Debianu a jeho potomků
(včetně Ubuntu); je podobný shellu bash, ale mı́rně osekaný (některé vlastnosti shellu
bash nepodporuje) a rychlejšı́,
• Z Shell (zsh) je naopak vybavenějšı́ než bash, a to směrem k vědeckým výpočtům (je
srovnatelný spı́še s shellem ksh).
1
Pěkné porovnánı́ shellů (dokonce včetně Přı́kazového řádku ve Windows) najdeme napřı́klad na stránce
http://en.wikipedia.org/wiki/Comparison of command shells.
P
5.1
TEXTOVÉ SHELLY A PŘÍKAZY
105
V Linuxu je vždy (nebo téměř vždy) nainstalován shell bash, a kromě něho i několik dalšı́ch.
Seznam použitelných shellů (těch, které máme k dispozici) je v souboru /etc/shells.
Dalšı́ možnou přı́činou selhánı́ přı́kazu je zadánı́ nesprávné cesty k souboru shellu (jde
přece o program), zde stačı́ zjistit, kde konkrétně je shell nainstalován.
V modernı́ch unixových systémech včetně Linuxu máme souborové manažery, kteřı́
nám usnadňujı́ práci předevšı́m při operacı́ch s adresáři a soubory. Jsou to napřı́klad Midnight Commander (spouštı́ se přı́kazem mc) pracujı́cı́ v konzoli (a tedy ve kterékoliv distribuci
s jakýmkoliv grafickým prostředı́m), Konqueror v desktopovém prostředı́ KDE, Nautilus
v desktopovém prostředı́ GNOME, atd.
$
$
Úkol
Spust’te některý terminál, emulátor konzole nebo se přesuňte do některé z konzolı́ (tam se
přihlašte). Spust’te zde program Midnight Commander (přı́kaz mc).
5.1.2
Struktura přı́kazů
Přı́kazy se skládajı́ z těchto částı́:
název přı́kazu nebo přı́padně název spustitelného souboru, který tady použı́váme jako
přı́kaz, může obsahovat i cestu, v opačném přı́padě je hledán v adresářı́ch uvedených
v přı́slušné proměnné prostředı́ (nehledá se v pracovnı́m adresáři, proto když se právě
tam nacházı́, pı́šeme ./název přı́kazu),
P
volby
(přepı́nače) začı́najı́cı́ obvykle znakem pomlčka, ve většině unixových systémů je
můžeme „shrnout“ za jedinou pomlčku (bez mezer samozřejmě), pokud jsou jednopı́smenné (volby delšı́ než jedno pı́smeno musı́me psát každou zvlášt’, každá z nich
bude mı́t vlastnı́ pomlčku), volby obvykle řı́dı́ a upřesňujı́ přı́kaz; existujı́ i „vı́cepı́smenné“ volby (napřı́klad velmi užitečná je volba --help), aby se odlišily od jednopı́smenných, u některých přı́kazů začı́najı́ dvěma pomlčkami,
argumenty
nezačı́najı́ pomlčkou, obvykle přı́kazu řı́kajı́, se kterými daty má pracovat,
napřı́klad názvy souborů.
Napřı́klad u přı́kazu
ls -la nejaky_adr
je názvem řetězec ls, volby jsou l, a (jednopı́smenné, proto je můžeme napsat za jedinou
pomlčku), argument je adresář nejaky_adr.
Interaktivnı́ přı́kazy (komunikujı́cı́ s uživatelem, napřı́klad filtry pro stránkovánı́ v textu)
často pro své ukončenı́ vyžadujı́ stisknutı́ klávesy q . Terminál nebo konzolu lze ukončit
přı́kazem exit nebo přı́padně zavřenı́m okna konzoly.
$
5.3
NÁPOVĚDA
106
Poznámka: Unixové systémy jsou case-sensitive, tedy rozlišujı́ malá a velká pı́smenka, na
což je třeba dbát nejen u zadávánı́ názvů přı́kazů, ale i u názvů souborů a adresářů.
5.2
L
Zástupné znaky
Také v Unixu použı́váme při práci se soubory a adresáři zástupné znaky, máme jich dokonce
vı́ce než ve Windows. Jsou to:
P
* – jakýkoliv počet kterýchkoliv znaků, zde navı́c bereme v úvahu, že přı́pona souboru
a tečka před nı́ jsou součástı́ názvu souboru, a tedy * může reprezentovat i tečku,
? – kterýkoliv znak, a to právě jeden, včetně tečky v názvu,
[znaky] – jeden ze znaků uvedených v seznamu znaky, napřı́klad [ABa] znamená, že
na to mı́sto lze dosadit jeden ze znaků A, B, a; pokud chceme reprezentovat delšı́
sled znaků, můžeme to udělat takto: [A-Z] znamená všechna velká pı́smena,lze to
kombinovat: [A-Za-z0-9] znamená pı́smeno nebo čı́slici,
[ˆznaky] – odpovı́dá jednomu znaku, který se lišı́ od všech uvedených v závorce, napřı́klad [ˆa-kA-K] znamená kterýkoliv znak kromě malých a velkých pı́smen v rozmezı́
od A do K, napřı́klad pı́smeno M nebo některá čı́slice podmı́nku splňujı́,
~ – domovský adresář, navı́c sekvence ~uzivatel (bez mezery) je odkaz na domovský
adresář uživatele s přihlašovacı́m jménem uzivatel, at’se nacházı́ kdekoliv.
5.3
5.3.1
Nápověda
Jak volat o pomoc
Nápovědu k přı́kazům můžeme zı́skat vı́ce způsoby:
• zobrazenı́m manuálové stránky přı́kazu, a to přı́kazem man, takto lze bud’ zobrazit
nápovědu ke konkrétnı́mu přı́kazu nebo pomocı́ klı́čového slova zjistit, jak se hledaný
přı́kaz nazývá,
• někdy je implementován přı́kaz apropos, který použijeme, když nevı́me, jak se přı́kaz
nazývá,
• přı́kaz whatis2 naopak použijeme, když jsme narazili na přı́kaz (spustitelný soubor),
ale nevı́me, co provádı́ (vypı́še se krátká informace o přı́kazu),
• přı́kaz info vypı́še krátkou informaci o přı́kazu,
2
Přı́kaz whatis použı́vá vlastnı́ databázi o přı́kazech. Tuto databázi je dobré občas aktualizovat, napřı́klad
po většı́ aktualizaci systému, což se provede přı́kazem makewhatis.
$
5.3
NÁPOVĚDA
107
• v grafickém režimu v menu programů včetně terminálu přı́padně přes tlačı́tko K
(grafická nápověda je také spustitelná přı́kazem khelpcenter), existuje také přı́kaz
xman,
• v Linuxu existujı́ dokumenty HOWTO („jak na to“), a to bud’ přı́mo v jednotlivých distribucı́ch nebo na internetu, obsahujı́ přı́mo rady, jak postupovat v určitých situacı́ch,
• obdobně jsou k nalezenı́ dokumenty FAQ (Frequently Asked Questions) pro často
pokládané otázky,
• ve Firefoxu jsme automaticky přesměrováni na manuálové stránky, napřı́klad při
zadánı́ man chsh do adresnı́ho řádku (tam, kde bychom jinak zadali http://...)
se nám automaticky zobrazı́ manuálová stránka přı́kazu chsh na některém serveru
přı́mo určeném pro manuálové stránky.
Na internetu je hodně stránek věnovaných shellu bash, napřı́klad:
• http://www.gnu.org/software/bash
• http://tldp.rog/LDP/abs/html (skripty)
• http://www.abclinuxu.cz/clanky/show/46130
5.3.2
Manuálové stránky
Nápověda k přı́kazům, konfiguračnı́m souborům, skriptům a funkcı́m je v unixových
systémech standardně k nalezenı́ předevšı́m v manuálových stránkách.
Přı́kaz man je zkratkou z anglického slova „manual“ a je obdobou windowsovského
přı́kazu help, i když je mnohem komplexnějšı́. Základnı́ tvar přı́kazu je následujı́cı́:
man přı́kaz
vypı́še manuál (nápovědu) k zadanému přı́kazu
Nápovědu k přı́kazu man můžeme zobrazit přı́kazem man man.
Manuály k jednotlivým přı́kazům (ve skutečnosti existujı́ i pro některé konfiguračnı́
soubory a dalšı́ věci) jsou členěny do částı́, každá část má určitý význam. Manuálová stránka
obvykle obsahuje části uvedené v tabulce 5.1 (některé se nemusı́ vyskytovat, naopak jiné
mohou být navı́c).
Přı́klad 5.1
Podı́váme se na strukturu jedné z manuálových stránek. Otevře se automaticky pomocı́
„stránkovače“ včetně zobrazenı́ formátovánı́ (to zde neuvidı́me).
Po zadánı́ přı́kazu man chsh se nám zobrazı́ tato manuálová stránka (vidı́me ji také na
obrázku 5.1):
chsh(1)
NAME
chsh - change login shell
$
5.3
NÁPOVĚDA
108
Část
Význam
NAME
SYNOPSIS
Jméno přı́kazu
Syntaxe přı́kazu, nepovinné parametry jsou uzavřeny do hranatých
závorek, položky, mezi kterými si můžeme vybrat, jsou odděleny
symbolem „|“, položky, které se mohou opakovat, jsou ukončeny
třemi tečkami
Detailnı́ popis přı́kazu
Seznam systémových souborů, ke kterým má přı́kaz nějaký vztah
(napřı́klad je nějakým způsobem upravuje)
Význam jednotlivých parametrů
Přı́klady použitı́ přı́kazu
Odkazy na dalšı́ manuálové stránky, ke kterým má tento přı́kaz
nějaký vztah
Význam chybových hlášenı́ a návratové kódy přı́kazu
Popis neočekávaného chovánı́ přı́kazu nebo kontakt, na který lze
zaslat informaci o chybném chovánı́ programu
licence, pod kterou je přı́kaz šı́řen
odkazy na manuálové stránky souvisejı́cı́ch přı́kazů nebo souborů
DESCRIPTION
FILES
OPTIONS
EXAMPLES
SEE ALSO
DIAGNOSTICS
BUGS
COPYRIGHT
SEE ALSO
Tabulka 5.1: Části manuálových stránek
SYNOPSIS
chsh [-D binddn] [-P path] [-s shell] [-l] [-q] [-u] [-v] [user]
DESCRIPTION
chsh is used to change the user login shell. A normal user may only
change the login shell for their own account, the super user may
change the loggin shell for any account.
If a shell is not given on the command line, chsh operates in an
interactive fashion, prompting the user with the current login shell.
Enter the new value to change the field, or leave the line blank to
use the current value. Enter none to remove the current value. The
current value is displayed between a pair of [ ] marks.
The only restrictions placed on the login shell is that toe command
name must be listed in /etc/shells, unless the invoker is the superuser, and then any value may be added. An account with a restricted
login shell may not change their login shell.
This version of chsh is able to change the shell of local, NIS, NIS+
and LDAP accounts, if the permissions allow it.
OPTIONS
-D, --binddn binddn
Use the Distinguished Name binddn to bind to the LDAP directory.
The user will be prompted for a password for simple authentication.
-s, --shell
5.3
NÁPOVĚDA
109
Obrázek 5.1: Výstup přı́kazu man chsh
Specify your login shell.
...
FILES
/etc/passwd - user account information
/etc/shells - list of valid login shells
SEE ALSO
chfn(1), passwd(5), shells(5)
AUTHOR
Thorsten Kukuk <[email protected]>
pwdutils
February 2004
Část obsahujı́cı́ volby (options, přepı́nače) byla zkrácena.
chsh(1)
5.3
NÁPOVĚDA
110
Manuálové stránky jsou sdružovány do sekcı́, sekce obvyklé v Linuxu jsou v tabulce 5.2.
Každá sekce sdružuje přı́kazy (ale také nápovědu ke konfiguračnı́m souborům a funkcı́m),
které majı́ něco společného, napřı́klad sekce 1 obsahuje přı́kazy, které může použı́vat i běžný
uživatel, naproti tomu sekce 8 obsahuje přı́kazy určené pro administrátora (napřı́klad
roota). Užitečná (i pro běžného uživatele) je také sekce 5 obsahujı́cı́ formát konfiguračnı́ch
souborů.
Čı́slo sekce
Obsah
0
1
2
3
Hlavičkové soubory (jazyka C), obvykle jsou k v adresáři /usr/include
Přı́kazy a systémové programy, které může použı́vat i běžný uživatel
Služby jádra (volánı́ jádra, systémová volánı́) a chybové (návratové) kódy
Dokumentace k systémovým knihovnám (dostupné funkce obsažené
v knihovnách)
Speciálnı́ soubory v /dev
Formát konfiguračnı́ch souborů (včetně /etc/fstab)
Hry
Balı́ky maker, popis souborového systému, manuálů atd., nástroje pro
práci s textem
Správa systému – přı́kazy a nástroje použı́vané rootem
Dokumentace k jádru
Nezařazené stránky
4
5
6
7
8
9
n
P
Tabulka 5.2: Sekce manuálových stránek
Přı́kaz man -s n přı́kaz vypı́še manuálovou stránku přı́kazu v sekci čı́slo n (tentýž
přı́kaz může být ve vı́ce sekcı́ch, v každé je trochu jiný obsah manuálové stránky), bez
tohoto parametru vypı́še prvnı́ nalezenou manuálovou stránku.
Přı́kaz man -a přı́kaz
5.3.3
vypı́še všechny manuálové stránky přı́kazu (ze všech sekcı́).
Znám přı́kaz, chci vědět, k čemu sloužı́
Pokud známe název přı́kazu a chceme zjistit, k čemu sloužı́ a přı́padně také jak se použı́vá
(parametry apod.), použijeme jeden z následujı́cı́ch přı́kazů:
man přı́kaz
zobrazı́ se manuálová stránka přı́kazu v programu man,
info přı́kaz
jedná se o dokumentaci GNU Info, což je hypertextový systém,
takto zjistı́me, ve kterých manuálových stránkách jsou k nalezenı́ podrobnějšı́ informace o přı́kazu, zobrazı́ se také krátký popis přı́kazu.
whatis přı́kaz
$
5.3
NÁPOVĚDA
111
Přı́klad 5.2
Po zadánı́ přı́kazu man chsh zı́skáme výstup podobný tomu, který vidı́me na obrázku 5.1
na straně 109, zobrazila se manuálová stránka přı́kazu chsh.
Pokud zadáme info chsh, ve skutečnosti zı́skáme něco velmi podobného (naprosto
stejný obsah, jen trochu jinak formátovaný), protože pro přı́kaz chsh neexistuje samostatná
info stránka a bere se manuálová stránka.
Jiná situace je však u použı́vanějšı́ch přı́kazů, jako je napřı́klad přı́kaz ls (to je obdoba
přı́kazu dir ve Windows):
• jestliže zadáme man ls, zı́skáme běžnou manuálovou stránku, která se předevšı́m
soustředı́ na vysvětlenı́ funkce jednotlivých parametrů,
• po zadánı́ info ls se zobrazı́ něco jiného – info stránka soustřed’ujı́cı́ se předevšı́m
na vysvětlenı́ funkce samotného programu, oproti manuálové stránce je poněkud
„upovı́danějšı́“,
• když zadáme whatis ls, zı́skáme pouze krátkou informaci o určenı́ přı́kazu, jde
naopak o velmi stručnou informaci.
Manuálová stránka přı́kazu ls (man ls) začı́ná takto (ve skutečnosti je mnohem delšı́):
LS(1)
User commands
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort.
Mandatory arguments to long options are mandatory for short options
too.
OPTIONS
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
Zjistili jsme, že jde o přı́kaz, který vypisuje obsah adresáře, dále že v syntaxi jsou hned
za názvem přı́kazu volby (options, přepı́nače) a pak následujı́ názvy souborů. Souborů?
No ano, přece vı́me, že v unixových systémech platı́ všechno je soubor, včetně adresářů.
Ze stručného popisu (description) se dále dovı́me, že pokud neuvedeme žádný soubor,
vypı́še se obsah pracovnı́ho adresáře, položky jsou řazeny abecedně (pokud neurčı́me
jinak přepı́nači).
Následuje popis voleb (options). Je jich poměrně hodně, proto jsme výpis „usekli“. Zde
na prvnı́ pohled vidı́me rozdı́l mezi použitı́m malého a velkého pı́smene – pokud napı́šeme
„-a“, budou vypisovány také položky začı́najı́cı́ tečkou (z předchozı́ho semestru již vı́me,
5.3
NÁPOVĚDA
112
že jde o skryté soubory), pokud však napı́šeme „-A“, chovánı́ bude zdánlivě podobné (také
budou vypisovány skryté soubory), ale nevypı́šou se dva adresáře, které jsou také skryté
(odkaz na nadřı́zený adresář a odkaz na sebe sama).
Info stránka přı́kazu ls (info ls) začı́ná takto:
File> coreutils.info, Node: ls invocation, Next: dir invocation,
Up: Directory listing
10.1 ‘ls’: List directory contents
==================================
The ‘ls’ program lists information about files (of any type, including
directories). Options and file arguments can be intermixed
arbitrarily, as usual.
For non-option command-line arguments that are directories, by
default ‘ls’ lists the contents of directories, not recursively, and
ommitting files with names beginning with ‘.’. Fot other non-option
arguments, by default ‘ls’ lists just the file name. If no non-option
argument is specified, ‘ls’ operates on the current directory, acting
as if it had been invoked with a˜single argument of ‘.’.
...
V záhlavı́ info stránky se předevšı́m dozvı́me název info souboru, který právě čteme
a jeho pozici ve struktuře (info stránky tvořı́ stromovou strukturu). Následujı́cı́m uzlem
ve stromě je přı́kaz dir (platı́ pro OpenSUSE, obecně tento přı́kaz nenı́ v Linuxu ani
jiných unixových systémech podporován), nadřı́zeným uzlem je skupina přı́kazů pro výpis
adresářů.
Dále zjistı́me něco podobného jako v manuálové stránce, tedy že přı́kaz vypisuje informace o nejrůznějšı́ch souborech a je upřesněno, o jaké informace se vlastně jedná. Výchozı́m
chovánı́m je výpis obsahu adresářů, a to ne rekurzı́vně a bez skrytých souborů, standardně
pouze jména souborů.
Pro doplněnı́ – výstupem přı́kazu whatis ls je
ls(1)
- list directory contents
Tento výpis je velmi krátký a jeho účelem je usnadnit orientaci – narazı́me na přı́kaz
(nebo si na některý přı́kaz matně vzpomeneme) a chceme vědět, o co se vlastně jedná.
Zjistili jsme, že tento přı́kaz je v sekci 1 (v manuálových stránkách) a sloužı́ k výpisu
obsahu adresáře.
5.3.4
Neznám přı́kaz
Pokud neznáme název přı́kazu, ale napadajı́ nás klı́čová slova souvisejı́cı́ s přı́kazem (slova,
která by se mohla vyskytovat na manuálové stránce, nejlépe někde na jejı́m začátku ve
5.3
NÁPOVĚDA
113
stručném popisu přı́kazu), můžeme použı́t některý z následujı́cı́ch postupů, podle toho,
který přı́kaz je nainstalován.
výpis všech dostupných témat, ve kterých se nacházı́ zadaný řetězec
man -k řetězec
apropos řetězec
totéž
$
určili jsme, že majı́ být prohledány pouze manuálové
stránky v sekci zadané čı́slem
apropos -s čı́slo řetězec
Přı́klad 5.3
Nemůžeme si vzpomenout na název přı́kazu, který vypisuje obsah adresáře. Vyzkoušı́me
několik možnostı́:
zı́skáme seznam přı́kazů, které nějak souvisejı́ s adresáři, ale je jich
opravdu hodně (několik stránek), takže vyzkoušı́me něco jiného,
man -k directory
tak to je lepšı́, vypsalo se už jen pár přı́kazů, mezi
man -k ”directory contents”
kterými si určitě vybereme,
apropos ”directory contents”
totéž,
apropos -s 1 ”directory contents”
ještě lepšı́ – vypsaly se pouze přı́kazy patřı́cı́
do sekce 1
Výsledný výpis:
dir (1)
ls (1)
vdir (1)
- list directory contents
- list directory contents
- list directory contents
(v různých distribucı́ch Linuxu se výpis bude lišit).
Užitečná může být také klávesa Tab . Pokud vı́me, jak přı́kaz začı́ná, ale nevı́me jistě, jak
dále pokračuje (angličtina :-), napı́šeme začátek přı́kazu (nebo třeba názvu souboru, pro ty
to taky funguje) a stiskneme klávesu Tab .
Přı́klad 5.4
Vyzkoušı́me automatické doplňovánı́ přı́kazů pomocı́ klávesy Tab . Vı́me, že přı́kaz začı́ná
pravděpodobně pı́smeny „wh“, ale nevı́me, jak dál. Napı́šeme
wh Tab
Zobrazı́ se:
whatis
whereis
which
while
who
whoami
whois
$
5.4
PRÁCE S ADRESÁŘI A SOUBORY
114
Úkoly
1. Zobrazte manuálovou stránku přı́kazu ls. Zjistěte, k čemu se tento přı́kaz použı́vá,
jaké lze zadat přepı́nače a podı́vejte se, pod jakou licencı́ je přı́kaz šı́řen. Všimněte si,
že za názvem přı́kazu v záhlavı́ stránky je řetězec (1), což znamená, že pracujete se
stránkou ze sekce 1.
2. Vyzkoušejte ve svém domovském adresáři postupně přı́kazy
ls
ls -a
ls -la
3. Zobrazte manuálovou stránku přı́kazu mount. Všimněte si čı́sla sekce, už to nenı́ 1, ale
8. Jaké typy přı́kazů patřı́ do sekce 8? Tento přı́kaz sloužı́ k připojovánı́ pamět’ových
médiı́. Jak vidı́me, manuálová stránka je velmi dlouhá (všimněte si, že jsou odlišné
parametry pro různé typy souborových systémů). Na konci stránky se také podı́vejte,
na které dalšı́ stránky s podobnými tématy je odkazováno.
4. Zjistěte, ve kterých manuálových stránkách se pı́še o souboru fstab (pozor, nezajı́majı́
nás pouze stránky s tı́mto názvem, ale obecněji stránky, na kterých se tento řetězec
vyskytuje).
5.4
5.4.1
Práce s adresáři a soubory
Adresáře
Použı́vané přı́kazy jsou
pwd
výpis názvu pracovnı́ho adresáře (zkratka z „print working directory“)
cd adresář
změna aktivnı́ho adresáře (bez argumentu: přesun do domovského adresáře)
cd podrizeny
přesun do podřı́zeného adresáře podrizeny
cd ..
přesun do nadřı́zeného adresáře (pozor, před tečkami by měla být mezera)
cd ../..
přesun o dva adresáře nahoru, všimněte si, že pro oddělenı́ adresářů na
cestě (zde na cestě nahoru) použı́váme obyčejné lomı́tko, nikoliv opačné
přesun do našeho domovského adresáře (napřı́klad pokud jsme přihlášeni
jako uživatel hanicka, takto se přesuneme do adresáře /home/hanicka)
cd /home/novak
přesun do domovského adresáře uživatele novak
cd ~novak
totéž co předchozı́, také se přesuneme do domovského adresáře uživatele novak
cd ~
$
5.4
PRÁCE S ADRESÁŘI A SOUBORY
115
mkdir adresář
vytvořenı́ nového adresáře
rmdir adresář
zrušenı́ prázdného adresáře (před použitı́m přı́kazu musı́me z adresáře odstranit
všechny položky
ls [volby] [soubor]
výpis obsahu adresáře (adresářů), některé volby:
-l provádı́ dlouhý výpis (i s atributy včetně práv a vlastnı́ka),
-a vypı́še také skryté soubory (které začı́najı́ tečkou, včetně . a ..),
--sort=size seřadı́ položky podle velikosti mı́sto podle názvu, také lze seřadit
napřı́klad podle času (time), přı́pony (extension) apod.
-r seřadı́ v opačném pořadı́ (reverse),
-R provede přı́kaz rekurzı́vně (recursively), atd. (parametrů je velmi mnoho)
Argumentem přı́kazu může být také název souboru (resp. adresáře), který chceme
vypsat.
Přı́klad 5.5
Pro ls -l může být výstup
-rwxr-x---rwxr-x--drwxr-xr--
2
1
1
novakj
novakj
novakj
4
4
1
1
uzivatel
uzivatel
uzivatel
uzivatel
elita
elita
users
254136
254136
150
Oct
Jan
Feb
12
30
14
2000
2004
1997
sezn.txt
moje poznamky
adr/
nebo
drwxr-xr-x
drwxr-xr-x
-rw-r--r--rw-rw-r--
users
users
users
users
4096
4096
150
32223208
úno
lis
lis
úno
9
28
29
2
00:10
22:31
14:23
00:23
Desktop/
Documents/
Pevný disk C
pvysl.pdf
Význam jednotlivých sloupců známe – na začátku řádku je typ souboru, přı́stupová
oprávněnı́, následuje počet pevných odkazů na soubor, vlastnı́k, skupina, velikost, čas
poslednı́ změny a konečně název souboru.
Úkoly
1. Pokud nejste ve svém pracovnı́m adresáři, přejděte do něj. Vytvořte podadresář test.
2. Přejděte do adresáře test a pro jistotu vypište název pracovnı́ho adresáře, abyste si
ověřili, kde konkrétně v adresářové struktuře jste. Vytvořte podadresář vnoreny.
3. Přesuňte se do svého domovského adresáře a vypište jeho obsah tak, aby se vypsaly
i skryté soubory a aby byl použit dlouhý (široký) výpis (včetně vlastnostı́ položek).
Vyzkoušejte také rekurzi, porovnejte výpis těchto přı́kazů:
5.4
PRÁCE S ADRESÁŘI A SOUBORY
•
•
•
•
•
ls
ls
ls
ls
ls
116
-lR
-aR
*
-l *
-a *
4. Smažte adresáře, které jste vytvořili v předchozı́ch úkolech – test a vnoreny. Nezapomeňte, že zatı́m umı́me smazat pouze prázdný adresář.
5.4.2
Soubory
Protože v unixových souborech platı́, že vše je soubor, téměř všechny dále uvedené přı́kazy
lze použı́t také na adresáře.
file soubor(-y)
pokusı́ se zjistit vnitřnı́ formát souboru (jestli se jedná o adersář, textový soubor pro
určitou znakovou sadu, PNG nebo jiný obrázek, PDF, . . . , přı́kaz je samozřejmě použitelný i na soubory bez přı́pony nebo s „nic neřı́kajı́cı́ “ přı́ponou, pracuje předevšı́m
s obsahem souboru (to je velmi důležité, proto na to znovu upozornı́me: v Linuxu
nenı́ ani tak důležitá přı́pona, jako spı́še skutečný obsah souboru, což je rozhodně
bezpečnějšı́)
cp soubor1 soubor2
kopı́rovánı́ prvnı́ho souboru do druhého
˜/Documents ˜/zaloha provede archivaci zvoleného adresáře, tedy kopı́ruje rekurzı́vně se zachovánı́m atributů souborů (napřı́klad vlastnı́k nebo časové
údaje)
cp -uR ˜/Documents ˜/zaloha
provede rekurzivnı́ update (jen soubory, které
se od poslednı́ zálohy změnily)
cp -sR *.png ./obrazkyPNG
v podadresáři obrazkyPNG pracovnı́ho adresáře
vytvořı́ symbolické odkazy na všechny soubory s přı́ponou PNG
cp -a
mv s1 s2
přejmenovánı́ nebo přesun souboru s1 na s2 (takto můžeme přejmenovávat či přesouvat i adresáře, nejen běžné soubory)
rm soubor
odstraněnı́ souboru
rm soubor
odstranı́ zadaný soubor
rm -fr adresář
rekurzı́vně odstranı́ vše v zadaném adresáři, a to bez upozorňo-
vánı́ (force)
$
5.4
PRÁCE S ADRESÁŘI A SOUBORY
117
cat soubor
vypsánı́ obsahu textového souboru; zobrazı́ obsah zadaného souboru (obdoba type
ve Windows, ale cat má ve skutečnosti výrazně vı́ce možnostı́ použitı́ – budeme se
učit v přı́štı́m semestru)
head -n soubor
vypı́še prvnı́ch n řádků souboru, tedy jakési „záhlavı́ “, podle začátku můžeme orientačně odhadnout zbývajı́cı́ obsah souboru
zajı́má nás, k čemu je asi tento soubor; některé konfiguračnı́ soubory majı́ na svém začátku v poznámce stručný popis, ten takto
zobrazı́me
head /etc/sensors.conf
tail -n soubor
vypı́še poslednı́ch n řádků souboru, použı́vá se při procházenı́ log souborů, kde jsou
nové záznamy přidávány právě na konec:
tail -8 /var/vysledky.log
zobrazı́ poslednı́ch 8 řádků zadaného souboru
cmp s1 s2
porovnánı́ souborů s1 a s2, po nalezenı́ rozdı́lu se běh ukončı́
diff s1 s2
porovnánı́ souborů, oproti předchozı́mu přı́kazu tento procházı́ celé soubory a pokoušı́ se najı́t odlišnosti
dı́ky všem čtyřem použitým parametrům jsou ignorovány odlišnosti ve velkých/malých pı́smenech, tabulátorech, prázdných
řádcı́ch a mezerách
diff -iEBw soubor1 soubor2
touch soubor
soubor neotevře, ale změnı́ datum a čas poslednı́ho přı́stupu na aktuálnı́ údaje („dotkne se“ souboru), pokud soubor neexistuje, vytvořı́ ho
Ve většině přı́kazů můžeme zadat i vı́ce souborů, a to třeba pomocı́ masky. Pak se provedou
požadované operace pro všechny tyto soubory.
Úkoly
1. Vyberte si některý dostatečně velký textový soubor ze svého domovského adresáře.
Nejdřı́v ho celý vypište, pak vypište prvnı́ch 5 řádků, a pak poslednı́ch 5 řádků.
2. Pak tento soubor zkopı́rujte do téhož adresáře, ale se jménem pomocny. Následně
takto vytvořený soubor smažte.
3. Vyzkoušejte ve svém domovském adresáři vytvořenı́ nového souboru přı́kazem
touch.
5.5
PŘESMĚROVÁNÍ A FILTRY
5.4.3
118
Pevné a symbolické odkazy
Z předchozı́ho semestru vı́me, jaký je rozdı́l mezi pevnými a symbolickými odkazy na
soubor. Ted’ si ukážeme, jak se s těmito odkazy pracuje v textovém režimu.
ln zdroj [cı́l | cı́lový_adresář]
vytvořenı́ pevného odkazu cı́l na zdroj (nebo v cı́lovém adresáři), ve výpisu pomocı́ ls
se vytvořený odkaz projevı́ zvýšenı́m čı́sla počtu pevných odkazů za přı́stupovými
právy souboru
vytvořı́ pevný odkaz na zadaný soubor v pracovnı́m
adresáři (to je ta tečka na konci)
ln prvni.txt druhy.txt treti.txt /home/uzivatel
vytvořı́ pevné odkazy
na všechny zadané soubory v domovském adresáři uživatele s přihlašovacı́m
jménem uzivatel, vytvořené pevné odkazy jsou v pracovnı́m adresáři
ln prvni.txt druhy.txt treti.txt ˜
provede totéž (je to jiný způsob adresace domovského adresáře tohoto uživatele)
ln /adr1/adr2/soub.pdf .
ln -s puvodni [cil]
vytvořenı́ symbolického odkazu, ve výpisu pomocı́ ls se vytvořený odkaz projevı́ typem
souboru l (v prvnı́m sloupci výpisu)
změnı́ desktopové prostředı́, které je spouštěné automaticky po startu X Window na XFce (soubor – skript
.xinitrc v domovském adresáři uživatele určuje, který soubor spouštı́ desktopové prostředı́ nebo správce oken pro tohoto uživatele, soubor xinitrc.xfce
je spouštěcı́ soubor pro XFce, přı́padně to může být textový soubor, ve kterém je
spouštěcı́ přı́kaz pro toto prostředı́ či správce oken)
ln -s /etc/X11/xinit/xinitrc.xfce
˜/.xinitrc
Úkoly
1. Vytvořte ve svém domovském adresáři, v podadresáři documents (nebo dokumenty)
symbolický odkaz na soubor /etc/fstab (pod původnı́m názvem), dále symbolický
odkaz na tentýž soubor s názvem fst.
2. Pak zde vytvořte pevný odkaz na soubor .bashrc ze svého domovského adresáře
(~/.bashrc) pod názvem bashrc (bez tečky).
3. Vypište obsah svého adresáře documents v rozšı́řené formě, abyste viděli označenı́
jednotlivých položek vytvořených v předchozı́m úkolu.
$
5.5
PŘESMĚROVÁNÍ A FILTRY
119
5.5
Přesměrovánı́ a filtry
5.5.1
Směrovánı́ a deskriptory
Také v Unixu existuje standardnı́ vstup, výstup a chybový výstup. Symboly <, >, >>, |,
& pro přesměrovánı́ fungujı́ jako ve Windows. Programy, které přes roury přijı́majı́ vstupy
a dokážou svůj výstup také poslat do roury, se nazývajı́ filtry.
Pomocı́ přesměrovánı́ je možné také „oklikou“ vytvořit nový soubor, napřı́klad zadáme
přı́kaz cat > vysl.txt, dále pı́šeme řádky textu (obsah souboru) a ukončı́me klávesovou
kombinacı́ Ctrl+D (v unixových systémech je to znak konce souboru).
P
Přesměrovánı́ chybového výstupu je trochu složitějšı́. Použı́váme při něm popisovač
souboru – deskriptor, který se pı́še vždy nalevo od symbolu přesměrovánı́. Některá zařı́zenı́
majı́ pro tento popisovač přiřazeno čı́slo (jako ve Windows), nás zajı́má vstup, výstup a
chybový výstup:
0 ... STDIN
1 ... STDOUT
2 ... STDERR
Deskriptor (popisovač) vstupu a výstupu je vlastně ukazatel na mı́sto, odkud se má brát
vstup nebo kam se má posı́lat výstup. Deskriptorem může být soubor nebo zařı́zenı́, použı́váme také čı́selné označenı́ pro momentálnı́ vstup (0), momentálnı́ výstup (1) a momentálnı́
chybový výstup (2). Problematice standardnı́ho vstupu/výstupu/chybového výstupu se
věnujeme na přednáškách v části o komunikaci procesů.
S čı́selným označenı́m se pracuje podle tabulky 5.3.
Směrovánı́
Význam
i> soubor
přesměrovánı́ výstupu původně směrovaného na deskriptor i do souboru
připojenı́ výstupu mı́sto na deskriptor i do souboru
vstup je přesměrován z deskriptoru i
vstup je směrován mı́sto z deskriptoru i z deskriptoru j
výstup je přesměrován do deskriptoru i
do výstupnı́ho deskriptoru i je přiřazen deskriptor j
i>> soubor
<&i
i<&j
>&i
i>&j
Tabulka 5.3: Práce s deskriptory
Přı́klad 5.6
Následujı́cı́ dvojice přı́kazů jsou ekvivalentnı́:
ls -la > soubor
ls -la 1> soubor
sort < soubor
sort 0< soubor
(je důležité, aby mezi deskriptorem a směrovacı́m symbolem nebyla mezera)
E
5.5
PŘESMĚROVÁNÍ A FILTRY
120
Přesměrujeme chybový výstup prohledávánı́ adresáře /var na zařı́zenı́ null, tedy do
„koše“:
find /var -name ’*’ -print 2> /dev/null
V přı́kladu jsme viděli využitı́ zařı́zenı́ /dev/null. Jedná se o „odpatkový koš“ ve stejném
významu, v jakém známe zařı́zenı́ NUL ve Windows (pozor – dvě pı́smena „L“ oproti jednomu, navı́c v unixových systémech se zařı́zenı́ pı́šou obvykle malými pı́smeny). Můžeme
použı́vat napřı́klad tato zařı́zenı́:
•
•
•
•
•
/dev/null – výstupnı́ zařı́zenı́ pro odstraněnı́ výpisů (odpadkový koš)
$
/dev/random – vstupnı́ zařı́zenı́ pro náhodná čı́sla
/dev/urandom – totéž
/dev/zero – vstupnı́ zařı́zenı́ generujı́cı́ nuly
/dev/tty – vstupnı́ zařı́zenı́, které znamená terminál (z pohledu uživatele prostě
klávesnice)
• /dev/lp0 – výstupnı́ zařı́zenı́ představujı́cı́ tiskárnu
Pokud obvykle výstupnı́ zařı́zenı́ /dev/null použijeme jako vstupnı́ soubor (napřı́klad
v přı́kazu
cat /dev/null > soubor
výsledný soubor je prázdný (nebo pokud neexistoval, vytvořı́ se prázdný soubor).
Přı́klad 5.7
Ukázky přesměrovánı́ deskriptorů:
přesměrujeme chybový výstup na stejné mı́sto jako standardnı́ výstup, tj. do zadaného souboru (jinými slovy, standardnı́ i chybový výstup
budou v tomto souboru)
ls -la >& cely_vystup.log
přesměruje standardnı́ výstup do souboru a standardnı́ chybový výstup do deskriptoru, který je momentálně pod &1, tedy také do souboru
ls /adr 1>soubor 2>&1
přesměruje chybový výstup na původnı́ výstup a potom výstup na zadaný soubor (všimněte si změny pořadı́ směrovacı́ch parametrů)
ls /adr 2>&1 1>soubor
Některé kombinace se mohou zdát nesmyslné, ale mějme na paměti, že přesměrovánı́
deskriptorů platı́ pro celou úlohu (pod tı́m si zatı́m můžeme představit posloupnost přı́kazů
propojených rourami) a tedy hodnoty deskriptorů „putujı́“ postupně celou rourou doprava.
E
5.5
5.5.2
PŘESMĚROVÁNÍ A FILTRY
121
Filtry
Co je to filtr, už vı́me. Podı́váme se na několik nejdůležitějšı́ch programů, které mohou
pracovat jako filtry.
sort [přepı́nače soubor(-y)]
setřı́dı́ řádky textového souboru
pokud narazı́ na dva stejné řádky, v setřı́děném výstupu bude
pouze jeden z nich (vynechává duplicitnı́ řádky)
sort -r soubor
reverznı́ třı́děnı́ (setřı́dı́ v opačném pořadı́)
sort < souborzdroj > souborcil
program zı́skal svůj vstup ze souboru směrovánı́m, podobně výstup je směrován do dalšı́ho souboru
cat soubor | sort
zı́skánı́ vstupu přes rouru, přı́kaz použı́váme jako filtr
sort -u soubor
wc [přepı́nače] soubory
přı́kaz počı́tajı́cı́ počet řádků, slov a bytů souboru, použı́váme přepı́nače -c (vypı́še
počet bytů souboru včetně formátovacı́ch jako je konec řádku), -m (počet znaků
v souboru), -w (počet slov – řetězců oddelených bı́lými znaky), -l (počet řádků,
ve skutečnosti počet symbolů konec řádku), -L (počet znaků v nejdelšı́m řádku).
vypı́še počet znaků souboru
vypı́še počet B (oktetů) souboru, což nenı́ úplně totéž jako počet
znaků (některé znakové sady kódujı́ znaky do vı́ce než jednoho B)
-l soubor
vypı́še počet řádků (lines) souboru
-w soubor
vypı́še počet slov (tj. řetězců oddělených netisknutými znaky, třeba
mezerami, tabulátory, konci řádků)
-L soubor
(pozor, velké pı́smeno) vypı́še délku nejdelšı́ho řádku, tedy „šı́řku“
souboru
-mclwL soubor
vypı́še všechny výše uvedené údaje; ale pozor, údaje nejsou
nijak označeny (vypı́še se prostě řada čı́sel), pořadı́ nenı́ dáno pořadı́m parametrů
v přı́kazu, ale je to „řádků slov oktetů znaků délka_řádku“
-c soubor1 soubor2 soubor3
vypı́še požadovaný údaj postupně pro všechny
zadané soubory
-la | wc -l
zjistı́me počet položek včetně skrytých v pracovnı́m adresáři
(vypı́še se pouze čı́slo)
wc -m soubor
wc -c soubor
wc
wc
wc
wc
wc
ls
Tento přı́kaz dokáže také načı́st názvy souborů ke zpracovánı́ ze zadaného souboru.
pg, more, less
programy (filtry) pro stránkovánı́ souboru; pg je nejstaršı́ a nejjednoduššı́, obvykle použı́váme dalšı́ dva (filtr less je ve většině distribucı́ interně použı́ván pro zobrazovánı́
manuálových stránek přı́kazem man, lze použı́vat i kurzorové klávesy)
vı́ce prázdných řádků za sebou zobrazı́ jako jediný prázdný řádek (squeeze multiple blank lines into one)
more -s soubor
$
5.5
PŘESMĚROVÁNÍ A FILTRY
122
more +čı́slo soubor
zobrazovánı́ začne až od řádku s tı́mto čı́slem
ls / -R | less
stránkuje se výstup přı́kazu, který zobrazı́ obsah kořenového
adresáře (tj. /), a to rekurzı́vně (výstup má velmi dlouhý), mezernı́kem stránku-
jeme, kurzorovými klávesami se můžeme volně pohybovat po výstupu, program
ukončı́me klávesou q
Přı́klad 5.8
Stránkovacı́ filtry vypisujı́ svůj vstup po stránkách. Napřı́klad
ls -l | pg
ls -l | more
ls -l | less
Ovládánı́ filtru pg:
Enter
+
dalšı́ stránka
dalšı́ stránka, předchozı́ stránka
, −
n
přechod na stránku n (čı́slo)
$
přechod na poslednı́ stránku
q
ukončenı́
Základnı́ ovládánı́ filtrů more a less:
Mezernı́k
Enter
dalšı́ stránka
dalšı́ řádek
h
vypı́še se nápověda k ovládánı́ interaktivnı́ho filtru
q
ukončenı́
Kromě toho majı́ tyto filtry dalšı́ možnosti ovládánı́, které vycházejı́ z použı́vánı́ textového
editoru vi. Podporujı́ napřı́klad odskoky v textu, vyhledávánı́, přeskoky mezi soubory,
majı́ také vlastnı́ přı́kazový prompt.
Některé z dřı́ve probı́raných přı́kazů se také dajı́ použı́t jako filtry, napřı́klad přı́kaz
ls -la | head -10
zobrazı́ pouze prvnı́ch 10 řádků výpisu prvnı́ho přı́kazu. Na dalšı́ typ filtrů, vyhledávacı́,
se podı́váme v přı́štı́m semestru. Nejpoužı́vanějšı́m vyhledávacı́m filtrem je grep.
Úkoly
1. Vytvořte soubor prvni s jakýmkoliv obsahem. Pak tento soubor setřid’te, setřı́děný
výstup přesměrujte do souboru druhy.
2. Vypište obsah adresáře /dev včetně skrytých souborů, a to i s vlastnostmi položek (tj.
široký výpis), použijte některý stránkovacı́ filtr.
3. Spočı́tejte řádky předchozı́ho výpisu (tj. zjistěte, kolik položek je v adresáři /dev).
5.6
ZÁKLADY PRÁCE S PROMĚNNÝMI
123
4. Zjistěte délku souboru .bashrc ve vašem domovském adresáři.
5. Zjistěte počet všech uživatelů definovaných v systému (nápověda: jsou uloženi v souboru /etc/passwd, každý záznam na samostatném řádku).
5.6
R
Základy práce s proměnnými
Proměnné se definujı́ v souboru .bashrc nebo jsou předdefinovány systémem či v jiném
konfiguračnı́m souboru. Nejdůležitějšı́ jsou:
P
HOME domovský adresář uživatele
TERM typ terminálu
SHELL cesta k použı́vanému shellu
USER přihlašovacı́ jméno uživatele
PATH seznam adresářů, ve kterých se hledá spouštěný soubor, jednotlivé cesty jsou oddě-
leny dvojtečkou
PS1 prompt, výzva přı́kazového řádku konzoly nebo terminálu
PWD pracovnı́ adresář
Kromě proměnné PS1 existujı́ obvykle ještě dalšı́ proměnné určujı́cı́ prompt. Většinou se
setkáme alespoň se sekundárnı́m promptem PS2, který je zobrazován napřı́klad při psanı́
vı́ceřádkových přı́kazů.
V proměnné PATH nenı́ ve výchozı́m nastavenı́ cesta k pracovnı́mu adresáři a při spuštěnı́
programu také narozdı́l od Windows nenı́ spouštěný program hledán v pracovnı́m adresáři!
Proto pokud chceme spustit napřı́klad program mujprogram umı́stěný v adresáři, který je
právě našı́m pracovnı́m adresářem, provedeme to takto:
./mujprogram
Teoreticky by se tento „problém“ dal vyřešit přidánı́m adresáře „.“ do proměnné PATH,
ale toto řešenı́ se z bezpečnostnı́ch důvodů nedoporučuje.3
Existuje také obdoba rozdělenı́ proměnných na běžné a dynamické, s čı́mž jsme se setkali
už ve Windows. Napřı́klad proměnná PS1 je dynamická.
3
Představte si, že ve vašem domovském adresáři (který velmi často bývá pracovnı́m adresářem) bude
podstrčen škodlivý software pojmenovaný stejně jako některý z běžně použı́vaných přı́kazů, nejlépe přı́kazu
obvykle se nacházejı́cı́ho v adresáři /sbin, který často nebývá zahrnut v proměnné PATH. Pokud zařadı́me
do proměnné PATH tečku, můžeme tento škodlivý software omylem spustit (a pokud je jeho programátor
dost chytrý na to, aby po dokončenı́ své vlastnı́ činnosti spustil původnı́ program na správném umı́stěnı́,
tak to ani nezjistı́me). Mohlo by se zdát, že stačı́ tečku přidat až na konec proměnné PATH, aby všechny dřı́ve
uvedené adresáře měly přednost, ale toto nefunguje, pokud některé jinak důležité cesty nejsou v této proměnné
zahrnuty.
$
5.6
ZÁKLADY PRÁCE S PROMĚNNÝMI
124
Proměnné jsou bud’ lokálnı́ (platné pouze v rámci skriptu, přı́kazového shellu nebo
bloku uvnitř skriptu), a nebo proměnné prostředı́, které jsou viditelné i mimo oblast, ve které
byly deklarovány.
Přı́kazy pro práci s proměnnými:
echo $proměnná
P
$
vypı́še obsah proměnné (vyhodnotı́ ji), pracuje i s dynamickými proměnnými
proměnná=výraz
změnı́ obsah proměnné
export proměnná
exportuje proměnnou do prostředı́ (aby ji mohly využı́vat všechny skripty i přı́kazový
režim), dá se spojit s vytvořenı́m a přiřazenı́m hodnoty:
export mojeprom=$PWD
(do proměnné jsme načetli název pracovnı́ho adresáře)
env
vypı́še proměnné s jejich obsahem (proměnné prostředı́)
set
vypı́še veškeré proměnné a funkce, které jsou definovány v dané oblasti, ve které
pracujeme (výstup je poměrně rozsáhlý), je lepšı́ použı́vat raději env
unset
odstranı́ proměnnou
read proměnná
načte ze standardnı́ho vstupu řetězec do proměnné
Pokud chceme, aby námi vytvořená proměnná byla viditelná i mimo pracovnı́ prostředı́,
ve kterém je vytvořena (napřı́klad i mimo skript, nejrůznějšı́m dalšı́m programům apod.,
musı́me ji exportovat:
export prom
Znak $ vyhodnotı́ vše, co se za nı́m nacházı́ (vše až po prvnı́ mezeru nebo konec řádku
považuje za název zpracovávané proměnné), proto když zadáváme za názvem proměnné
ještě něco dalšı́ho, uzavřeme tuto proměnnou do lomených závorek:
export PATH=${PATH}:/usr/TeX/bin
Když chceme, aby se takováto „vnitřnı́ proměnná“ vyhodnocovala při každém volánı́
„vnějšı́ proměnné“, uzavřeme výraz do jednoduchých uvozovek (apostrofů).
Přı́klad 5.9
Předpokládejme, že někde třeba ve skriptu použı́váme proměnnou. Nejdřı́v ji vytvořı́me
a inicializujeme, pak vypı́šeme jejı́ obsah.
prom=”A B
C”
echo $prom
E
5.6
ZÁKLADY PRÁCE S PROMĚNNÝMI
125
echo ”$prom”
echo \$prom
Druhý, třetı́ a čtvrtý přı́kaz nám postupně dajı́ tyto výstupy (všimněte si důsledku použitı́
uvozovek):
A B C
A B C
$prom
Přı́klad 5.10
Do proměnné nemusı́me ukládat jen řetězec nebo čı́slo. Obrácené apostrofy jsou prostředkem, jak vynutit vyhodnocenı́ výrazu. Napřı́klad:
prom=”Výstup: ; ‘ls -la‘”
echo $prom
echo ”$prom”
V prvnı́m přı́kazu jsme do proměnné uložili přı́kaz (vlastně dva přı́kazy oddělené střednı́kem, aby mohly být na jednom řádku) k interpretaci. Obrácené apostrofy uvnitř uvozovek
jsou zde nutné.
V dalšı́ch přı́kazech vypisujeme obsah proměnné, čı́mž vyvoláme interpretaci přı́kazů
v nı́ uložených. Vyzkoušenı́m si můžeme ověřit význam uvozovek u poslednı́ho přı́kazu.
Přı́klad 5.11
Dalšı́ ukázky s proměnnými:
export PS1=’$PWD’
do proměnné PS1, tj. do momentálnı́ho promptu, si uložı́me pra-
covnı́ adresář
pracovnı́ adresář bez cesty, s cestou je \w (a také zobrazuje domovský adresář
jako vlnovku)
PS1=”\W”
PS1=”\w:”
promptem bude plná cesta k pracovnı́mu adresáři, na konci dvojtečka
echo $PS1
ověřı́me si, co
PS1=”\d”
promptem bude aktuálnı́ datum
PS1=”\A”
promptem je aktuálnı́ čas – jen hodiny a minuty, jiné možnosti pro čas jsou \t
nebo \T
PS1=”\u\h\$ ”
PS1=”\u\h:\w> ”
prompt je ve formě uživatel počı́tač$ (plus mezera)
prompt je ve formě uživatel počı́tač: pracovnı́ adresář¿ (plus mezera)
PS1=’pracuji tak dlouho: $SECONDS’
dynamická
opět změnı́me prompt, proměnná SECONDS je
5.7
DALŠÍ PŘÍKAZY
126
využili jsme proměnnou uvnitř parametru přı́kazu; všimněte si složených závorek kolem názvu proměnné, zde jsou nutné
mkdir $HOME/novy
Přı́kaz set je ve skutečnosti mnohem silnějšı́, nejde jen o vypisovánı́ seznamu proměnných a funkcı́. Můžeme napřı́klad do proměnné přiřadit výsledek funkce (podrobnosti
najdeme v manuálové stránce přı́kazu set).
Úkoly
1. Vyzkoušejte přı́kazy vypisujı́cı́ proměnné. Vyberte si kteroukoliv proměnnou a vypište jejı́ obsah.
2. Vyzkoušejte přı́kazy z přı́kladu 5.9. Také se pokuste změnit si prompt podle dalšı́ho
přı́kladu.
5.7
Dalšı́ přı́kazy
Podı́váme se na některé dalšı́ jednoduché přı́kazy:
date
výpis data a času, parametry můžeme stanovit, co a v jaké formě bude vypsáno
vypı́še datum ve tvaru den.měsı́c (měsı́c bude vypsán slovně, podle
jazykového nastavenı́ systému)
date +%x
vypı́še datum ve tvaru měsı́c/den/rok
date +%T
vypı́še čas ve tvaru hodiny:minuty:sekundy
date >> log.dat
tento přı́kaz umı́stěný do .login, přı́padně .profile, způsobı́,
že při každém přihlášenı́ se do souboru log.dat přidá datum tohoto přihlášenı́,
máme tedy přehled o tom, kdy se uživatel tohoto jména přihlašoval
date +%d.%B
clear
smazánı́ obrazovky
echo [-e] [-n] řetězec
tento přı́kaz byl již dřı́ve použı́ván. Jeho základnı́ účel je stejný jako ve Windows,
tedy vypı́še svůj parametr (vše včetně mezer). Přepı́nač -n zamezı́ přechodu na nový
řádek po vyhodnocenı́ přı́kazu.
Pokud parametr nebo jeho část uzavřeme do uvozovek, můžeme použı́vat speciálnı́
znaky (escape sekvence) (napřı́klad \n způsobı́ přesun na nový řádek – zařádkovánı́
ve výstupu, \t je tabulátor), ale navı́c musı́ být použit přepı́nač -e. Můžeme použı́t
i apostrofy, pak obsah nebude interpretován (vypı́še se tak jak je).
$
5.7
DALŠÍ PŘÍKAZY
127
Přı́klad 5.12
Tento přı́kaz vytvořı́ následujı́cı́ tabulku:
echo -e ”Nadpis1\tNadpis2\nObsah1\tObsah2”
Nadpis1
Obsah1
Nadpis2
Obsah2
Úkoly
1. Vyzkoušejte různé možnosti zobrazenı́ data a času.
2. Zobrazte manuálovou stránku přı́kazu echo (v sekci 1). Zjistěte, jaké přepı́nače má
tento přı́kaz a jaké formátovacı́ řetězce lze použı́vat mimo výše uvedených.
M

Podobné dokumenty

Ubuntu 7.10 Gutsy Gibbon – Uzivatelská pr´ırucka

Ubuntu 7.10 Gutsy Gibbon – Uzivatelská pr´ırucka šı́řit, kopı́rovat, sdı́let a vytvářet z nı́ odvozená dı́la za podmı́nek, že uvedete autora dı́la1 , a že přı́padná odvozená dı́la budete šı́řit pod identickou licencı́. Vı́ce o licenci...

Více

xp-embedded-1-orig-z -roku

xp-embedded-1-orig-z -roku To nám umožní si ho snadno přizpůsobit přesně na míru našim požadavkům. Také nároky na operační paměť a místo na disku nejsou tak velké jako u Windows XP [3]; vše závisí na účelu, ke kterému budeme...

Více

operacˇnísyste´my

operacˇnísyste´my probı́hajı́ běžné činnosti, zatı́mco privilegovaný režim je určen pro údržbu, instalaci, konfiguraci. Můžeme zde zahrnout také bezpečnostnı́ funkce systému – ochranu proti škodlivým...

Více

Operacˇnı syste´my - RNDr. Šárka Vavrečková, Ph.D.

Operacˇnı syste´my - RNDr. Šárka Vavrečková, Ph.D. Co najdeme v těchto skriptech Tato skripta jsou určena pro studenty informatických oborů na Ústavu informatiky Slezské univerzity v Opavě. Ve cvičenı́ch předmětu Operačnı́ systémy se v ...

Více

Toto

Toto třetinu.

Více

Kontrolní otázky ke zkoušce MIP

Kontrolní otázky ke zkoušce MIP - Navrhněte řídicí mikropočítač do regulátoru. Sestava AT89C52, vnější paměť programu od adresy 0 s obvodem EPROM27C256, paměť SRAM 6264 v prostoru XDATA od adresy 8000h (nezrcadlí se), dvě výstupn...

Více

Zacınáme s TEXem na [fi|studovna].muni.cz

Zacınáme s TEXem na [fi|studovna].muni.cz prof. Donald E. Knuth ze Stanfordské univerzity. Prvnı́ verze TEXu, která byla dána k dispozici veřejnosti, byla dokončena v roce 1982. Práci v TEXu bychom mohli přirovnat k programovánı́ v...

Více

O GRASSu - Les-ejk

O GRASSu - Les-ejk Spustitelný na platformách UNIX/Linux, MS-Windows,

Více

zde - Bibri.net

zde - Bibri.net bude, což doporučuji všem linuxovým začátečníkům, přečíst si celou knihu od začátku do konce. Dozvíte se, jak jej bez problému nainstalovat, kde provést základní nastavení systému a něco málo o tom...

Více