Operační systémy Mgr. Šárka Vavrečková fpf.slu.cz/~vav10ui Ústav informatiky Filozoficko-přírodovědecká fakulta Slezská univerzita Opava Poslední změny: 21. února 2006
Obsah 1 Nejpoužívanější operační systémy
I
6
1.1
Jádro operačního systému . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.2
MS Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.3
Linux a jiné Unixy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.4
MacOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
MS Windows
9
2 Používáme MS Windows
10
2.1
Přihlášení a odhlášení
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.2
Plocha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.3
Hlavní panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.4
Nabídka Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.5
Základy práce se soubory . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.6
Zástupci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
3 Správa systému
18
3.1
Systémové nástroje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.2
Nástroje pro správu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
3.3
Ovládací panely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.3.1
Nastavení uživatelského prostředí . . . . . . . . . . . . . . . . . . .
24
3.3.2
Bezpečnost a údržba systému . . . . . . . . . . . . . . . . . . . . .
25
3.3.3
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.3.4
Síť . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
1
3.3.5
Další nástroje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
Konzoly systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.4.1
Microsoft Management Console (MMC)
. . . . . . . . . . . . . . .
31
3.4.2
Konzola pro zotavení . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3.5
Nápověda Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3.6
Další nástroje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.7
Co se spouští při startu systému? . . . . . . . . . . . . . . . . . . . . . . .
34
3.8
Klávesové zkratky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.9
Důležité soubory a složky Windows . . . . . . . . . . . . . . . . . . . . . .
36
3.4
4 Verze a varianty Windows
39
4.1
Windows 3.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.2
Windows 95 a Windows 95 OSR2 . . . . . . . . . . . . . . . . . . . . . . .
40
4.3
Windows 98 a Windows 98 SE . . . . . . . . . . . . . . . . . . . . . . . . .
42
4.4
Windows ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.5
Windows NT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.5.1
Windows NT 3.x a 4.x . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.5.2
Windows 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.5.3
Windows XP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
Kompatibilita verzí Windows . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.6
5 Příkazový řádek Windows
51
5.1
MS-DOS jako operační systém . . . . . . . . . . . . . . . . . . . . . . . . .
51
5.2
Adresáře . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
5.3
Příkazový řádek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
5.4
Příkazy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
5.4.1
Možnosti použití příkazů . . . . . . . . . . . . . . . . . . . . . . . .
53
5.4.2
Příkazy pro práci s adresáři . . . . . . . . . . . . . . . . . . . . . .
55
5.4.3
Příkazy pro práci se soubory . . . . . . . . . . . . . . . . . . . . . .
57
5.4.4
Příkazy pro práci s diskem . . . . . . . . . . . . . . . . . . . . . . .
58
5.4.5
Správa systému z Příkazového řádku . . . . . . . . . . . . . . . . .
59
5.4.6
Ostatní příkazy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
2
5.5
Systémové proměnné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
5.6
Dávkové soubory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
5.7
Konfigurační soubory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
6 Registr Windows
69
6.1
Soubory registru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
6.2
Jak lze pracovat s registrem . . . . . . . . . . . . . . . . . . . . . . . . . .
70
6.3
Zálohování registru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
6.4
Obsah registru
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
6.5
Vybrané úlohy práce s registrem . . . . . . . . . . . . . . . . . . . . . . . .
76
6.5.1
Úpravy prostředí . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
6.5.2
Správa systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
7 Technologie použité ve Windows 7.1
81
Instalace a provoz Windows . . . . . . . . . . . . . . . . . . . . . . . . . .
81
7.1.1
Instalace systému . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
7.1.2
Aktualizace systému . . . . . . . . . . . . . . . . . . . . . . . . . .
83
7.1.3
Start systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
7.1.4
Chyby při běhu aplikací a systému . . . . . . . . . . . . . . . . . .
86
7.2
Instalace aplikací . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
7.3
Win API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
7.4
Procesy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
7.4.1
Procesy ve Windows NT . . . . . . . . . . . . . . . . . . . . . . . .
91
7.4.2
Komunikace mezi procesy . . . . . . . . . . . . . . . . . . . . . . .
92
7.4.3
Objektové technologie . . . . . . . . . . . . . . . . . . . . . . . . .
94
7.5
Ovladače zařízení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
7.6
Správa uživatelů a počítačů v síti . . . . . . . . . . . . . . . . . . . . . . .
96
7.6.1
Uživatelské profily a uživatelské účty . . . . . . . . . . . . . . . . .
97
7.6.2
Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
7.6.3
Systémové zásady a zásady skupiny . . . . . . . . . . . . . . . . . .
99
7.6.4
IntelliMirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.6.5
Diskové kvóty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3
7.7
II
Skripty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Unix a Linux
103
8 Systémy Unixového typu 8.1
8.2
104
Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 8.1.1
Operační systémy Unixového typu . . . . . . . . . . . . . . . . . . . 105
8.1.2
Licence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Vybrané volně šiřitelné Unixové systémy . . . . . . . . . . . . . . . . . . . 107
9 Základní vlastnosti Unixových systémů
108
9.1
Uživatelé a skupiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
9.2
Procesy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.3
Struktura adresářů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
9.4
Zařízení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
9.5
Soubory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.6
9.5.1
Přístupová práva k souborům . . . . . . . . . . . . . . . . . . . . . 113
9.5.2
Atributy souborů . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
9.5.3
Odkazy na soubor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Unixové shelly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10 Linux
117
10.1 Základní údaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 10.2 Linuxové distribuce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 10.3 Grafické prostředí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10.4 Software obvyklý v Linuxových distribucích . . . . . . . . . . . . . . . . . 127 10.5 Instalace systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 10.6 Běh systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 10.7 KDE a jeho správa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 11 Správa Linuxu v textovém shellu
135
11.1 Kdy, kde a jak používat příkazy shellu . . . . . . . . . . . . . . . . . . . . 135 11.2 Nápověda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4
11.3 Zástupné znaky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.4 Vybrané příkazy shellu bash a základní úlohy . . . . . . . . . . . . . . . . 139 11.4.1 Adresáře . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.4.2 Soubory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 11.4.3 Přesměrování a filtry . . . . . . . . . . . . . . . . . . . . . . . . . . 142 11.4.4 Správa zařízení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 11.4.5 Uživatelé a skupiny, přístupová práva . . . . . . . . . . . . . . . . . 146 11.4.6 Procesy a úlohy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 11.4.7 Síť . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 11.4.8 Další příkazy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 11.5 Systémové proměnné . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 12 Další úlohy související se správou systému
155
12.1 Konfigurační a další systémové soubory . . . . . . . . . . . . . . . . . . . . 155 12.2 Něco víc o shellu bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 12.2.1 Přesměrování a deskriptory . . . . . . . . . . . . . . . . . . . . . . 156 12.2.2 Skripty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 12.2.3 Návratové hodnoty příkazů . . . . . . . . . . . . . . . . . . . . . . . 157 12.2.4 Podmíněné provádění příkazů a příkazy cyklů . . . . . . . . . . . . 158 12.2.5 Pole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 12.2.6 Trochu pokročilejší správa sítě . . . . . . . . . . . . . . . . . . . . . 162 12.2.7 Další úlohy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 12.3 Další nástroje pro správu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 12.4 Virtuální paměť a swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 12.5 Podrobněji k instalaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 12.5.1 Instalace ze zdrojových kódů . . . . . . . . . . . . . . . . . . . . . . 166 12.5.2 Instalace z binárních balíčků . . . . . . . . . . . . . . . . . . . . . . 167 12.6 Bezpečnost systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 12.7 Další zdroje informací o Linuxu . . . . . . . . . . . . . . . . . . . . . . . . 170 Rejstřík
171
5
Kapitola 1 Nejpoužívanější operační systémy Na desktopech (tj. osobních počítačích) se v této době nejvíce používají tři typy operačních systémů: • MS Windows, • Linux, • MacOS. V této kapitole si stručně popíšeme každý z těchto tří systémů, v následujících kapitolách se budeme věnovat především prvním dvěma. U MS Windows i u Linuxu jsou nejdřív zařazeny kapitoly pro „běžné užíváníÿ operačního systému, následuje správa systému, zajišťování bezpečnosti a práce v shellu systému, u Windows také správa registru.
1.1
Jádro operačního systému
Nejdůležitejší částí operačního systému je jeho jádro, tento pojem zde budeme při popisu operačních systémů hodně používat. Jádro je souhrn základních funkcí systému, jako je přístup k prostředkům výpočetního systému včetně pamětí a procesoru, správa souborů apod. Jádro zajišťuje běh procesů v systému a přiděluje jim prostředky. Ostatní části operačního systému obvykle při své činnosti pouze využívají služeb jádra. Právě struktura a naprogramování jádra má zásadní vliv na bezpečnost celého systému.
1.2
MS Windows
Je to operační systém firmy Microsoft. Jeho předchůdcem byl operační systém MS-DOS, který se stal ve své době jedním z nejrozšířenějších systémů, protože ho předinstalovávala 6
na své produkty firma IBM. Poslední samostatně distribuovaný MS-DOS má číslo verze 6.22, jako grafická nástavba se používal systém MS-Windows do verze 3.11 (s podporou práce v síti MS Windows for Workgroups do verze 3.11), to ale ještě nebyl operační systém, pouze jeho nástavba. Operační systémy MS Windows dělíme do dvou skupin, které se liší především vnitřní strukturou, vizuálně a vybavením jsou si poměrně podobné. První skupina, vývojově starší, přejímá jádro ze systému MS-DOS a je vlastně jeho pokračováním s přidáním grafického rozhraní, druhá, typu NT („New Technologyÿ), byla již od začátku konstruována především s ohledem na bezpečnost a možnost použití v síti. V tabulce 1.1 jsou na stejném řádku systémy podobně vypadající a obvykle podobně vybavené. Řada s DOS jádrem Řada s NT jádrem [MS-DOS (+ MS Windows do v. 3.x)] MS Windows NT do verze 3.x MS Windows 95, 95 OSR2, 98, 98 SE MS Windows NT 4.x MS Windows ME MS Windows 2000 – MS Windows XP Tabulka 1.1: Druhy operačních systémů typu MS Windows V roce 2006 má být vydán nový operační systém typu MS Windows s kódovým označením Vista (původní kódové označení bylo Longhorn, změněno v druhé polovině roku 2005 na Vista). Patří do řady s NT jádrem, i když je vnitřně hodně přepracován a také jeho grafické rozhraní prošlo mnoha změnami.
1.3
Linux a jiné Unixy
Linux je operační systém Unixového typu. První Linux vytvořil finský student Linus Torvalds (bylo mu tenkrát 21 let), dnes se na tomto operačním systému podílí tisíce dalších programátorů po celém světě. V devadesátých letech byl chápán jako systém vhodný spíše pro odborníky na počítače (byl používán pouze s jednoduchým grafickým rozhraním, pokud vůbec s nějakým), 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). Samotný Unix je dodnes hodně používán na serverech, ale existují také varianty pro desktop, dokonce i volně šiřitelné (např. FreeBSD). Linux převzal z Unixu vnitřní strukturu, stabilitu a bezpečnost, i když zdrojové kódy má znovu napsané.
7
1.4
MacOS
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. Tento systém 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 MacOS, pojmenovanou MacOS X1 . Jádro MacOS X je Mach (je přejaté z NeXTStep, má vnitřní strukturu obdobnou Unixovým systémům). 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ů. Přechodem na verzi X MacOS 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 MacOSX na platformu Intel, což znamená, že tento operační systém bude možné používat na stejném počítači jako ostatní rozšířené operační systémy bez hardwarové emulace. Nižší vrstvy tohoto systému jsou přístupné v rámci projektu Darwin. 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. Vzhledem ke značným změnám ve struktuře systému a dosavadní hardwarové nekompatibilitě s Intelovskou architekturou se však jedná pouze o kompitibilitu 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é obvykle nejsou. MacOS u nás není moc rozšířen (používá se hlavně ve firmách pracujících s grafikou, jako jsou reklamní studia, je však také na některých školách), je to systém typický spíše pro USA.
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
8
Část I MS Windows
9
Kapitola 2 Používáme MS Windows Tato kapitola je určena především těm studentům, kteří příliš nepronikli do běžných úkonů v operačních systémech typu MS Windows. Postupy zde uvedené jsou platné pro MS Windows 2000 Professional, ale obvykle jsou použitelné i pro MS Windows XP a další. Pojem kontextové menu objektu (kontextová nabídka, plovoucí menu) používaný v této kapitole znamená menu, které dostaneme klepnutím pravým tlačítkem myši (při nastavení pro leváky levým tlačítkem) na daný objekt. Mnohé z dialogů mají také nápovědné tlačítko s otazníkem na horním okraji vedle ikonek pro uzavření a minimalizaci okna. Pokud myší klepneme na toto tlačítko a pak klepneme na některý objekt v okně, zobrazí se „bublinováÿ nápověda k tomuto objektu (pokud existuje).
2.1
Přihlášení a odhlášení
Narozdíl od Windows s DOS jádrem se do systému nedá dostat tak, že u přihlašovací obrazovky stiskneme klávesu Esc , tedy je nutné se přihlásit. Při přihlášení je zároveň načten
profil uživatele, tedy obsah složky Dokumenty, veškerá nastavení uživatelského prostředí a další. Odhlásíme se například v menu Start – Vypnout nebo Start – Odhlásit. Pokud počítač není vypnutý, není nikdo přihlášen a není zobrazena přihlašovací obrazovka, zobrazíme ji klávesovou zkratkou Ctrl+Alt+Del .
2.2
Plocha
Můžeme mít dvě různá nastavení: Standardní plocha: to, co bylo už ve Windows 95, tedy ikony, obrázek na pozadí (pouze BMP), hlavní panel, ikony, atd. Ve Windows XP již standardní plocha není používána. Aktivní plocha (System Active Desktop): na ploše můžeme zobrazovat obsah jakékoliv WWW stránky (je to například jediná možnost, jak na plochu dostat GIF nebo JPG obrázek
10
– internetové prohlížeče totiž tento typ souboru dokážou zobrazit). Pro pomalé počítače nevhodná, snižuje výkon systému. Kontextové menu plochy, volba Vlastnosti: • Tapeta na pozadí, Spořič, Vzhled – zde určujeme, jak bude plocha vypadat. Ve Windows XP jsou to karty Motivy, Plocha, Spořič obrazovky, Vzhled. • Síť WWW – tady je možné nastavit Aktivní plochu (zaškrtávací políčko) a taky WWW stránky, které se mají na ploše zobrazit. Tato karta u Windows XP není. Pokud chceme ve Windows XP na ploše GIF nebo JPG obrázek, postupujeme stejně jako u BMP obrázku (karta Plocha), když chceme na plochu umístit WWW stránku, na kartě Plocha postupujeme přes tlačítko Vlastní nastavení plochy, karta Web. • Efekty – zde můžeme měnit ikony objektů plochy, jako je třeba Tento počítač. Tato karta u Windows XP není, místo ní tyto funkce najdeme na kartě Vzhled, tlačítko Efekty. • Nastavení – nastavujeme počet barev, se kterými dokáže obrazovka pracovat, a rozlišení. Pokud je poškozen ovladač monitoru nebo grafické karty, zde lze tento ovladač přeinstalovat (tlačítko Upřesnit). Pokud je pro naše oči rozlišení obrazovky příliš velké (a proto zobrazené písmo příliš malé), zde můžeme nastavit zobrazování většího písma. Na ploše jsou standardní ikony, kromě nich si zde můžeme samozřejmě umístit vlastní. Standardní ikony jsou: Tento počítač: zde máme přístup k souborům a složkám na našem počítači, ale i k různým nástrojům. Jde o jednoduchý souborový prohlížeč. V kontextovém menu položka Prozkoumat spustí aplikaci Průzkumník, což je o něco dokonalejší souborový prohlížeč, položka Najít (nebo Hledat) spustí nástroj pro hledání souborů a adresářů (je přístupný také v nabídce Start), atd. Nejdůležitější je položka Vlastnosti – zobrazí se vlastnosti systému. Stejné okno se otevře, pokud v Ovládacích panelech zvolíme ikonu Systém. Místa v síti: také jednoduchý prohlížeč, tentokrát můžeme prohlížet sdílený obsah počítačů v lokální síti. V kontextovém menu položka Vlastnosti spustí nástroj Vlastnosti sítě (Síť). Okno je taktéž přístupné z Ovládacích panelů. Koš: Jde o datovou strukturu, která uchovává odkazy na objekty odstraněné z disku. Tyto objekty dále reálně existují, jen odkaz na ně byl přesunut do koše a místo v paměti na disku je pro ně dále rezervováno. Můžeme mít buď společný koš pro všechny lokální logické disky, nebo na každém disku zvlášť (nastavuje se v kontextovém menu, položka Vlastnosti ). Pokud položku chceme vymazat tak, aby nebyla přesunuta do koše, je to možné klávesovou zkratkou Shift+Del . Není vhodné pro zbrklé uživatele, zejména studenty píšící diplomovou práci.
2.3
Hlavní panel
To je panel na spodním okraji obrazovky. Obsahuje především tlačítko Start, hodiny, různé ikony, panely a dále odkazy na spuštěné instance aplikací. Část panelu s hodinami a některými ikonami standardně umístěná vpravo se nazývá System Tray, v češtině Oznamovací oblast.
11
Hodiny: po najetí kurzorem a chvíli trpělivosti zjistíme také datum. Mají kontextové menu, které ve skutečnosti vychází z kontextového menu Hlavního panelu, můžeme zde například nastavit čas a datum. Poklepáním myší spustíme nástroj pro práci s datem a časem. Kontextové menu Hlavního panelu: Vlastnosti: nastavujeme vlastnosti Hlavního panelu. Můžeme vyzkoušet volby Automaticky schovávat, Vždy navrchu, . . . Volba Interaktivní nabídka Start znamená, že po vyvolání určité úrovně této nabídky se nejdřív objeví jenom ty položky, které jsou nejvíce používány a teprve po klepnutí na položku se šipkou se dostaneme na zbývající. Pokud volba není zaškrtnutá, zobrazují se hned všechny položky. Další záložka znamená především jednu z možností úpravy nabídky Start, později si ukážeme jednodušší. Ve Windows XP můžeme na záložce Nabídka Start přepínat mezi „XPÿ a klasickým vzhledem nabídky Start a také si tuto nabídku přizpůsobit. Panely nástrojů: zde určujeme, které panely nástrojů se na Hlavním panelu zobrazí. Snadné spuštění – zde můžeme volně přidávat ikony programů, které chceme mít „po ruceÿ, a to třeba tak, že ikonu přetáhneme na panel (můžeme ji sem také jenom zkopírovat pomocí myši, má samozřejmě svůj prostor v systému adresářů). Ikony lze jakkoliv přesouvat (vezmeme myší – levým tlačítkem – a táhneme). Panel nemusí být umístěn vedle tlačítka Start, můžeme ho kamkoliv přesunout (kurzor mezi první ikonu a plastickou čáru na začátku panelu, když se kurzor změní v šipku, můžeme přesouvat). Adresa – můžeme zde zadat internetovou adresu nebo adresu lokální (např. C: ). Odkazy – něco jako Oblíbené. Plocha – zobrazí se ikony z Pracovní plochy. Taktéž nepříliš praktické, obzvlášť když na panelu Snadné spuštění je tlačítko „Zobrazit plochuÿ. Panel jazyků – pokud je zapnuta podpora více jazyků pro klávesnici, zde se zobrazuje zkratka toho jazyka, který platí pro aktivní aplikaci (tu, se kterou se zrovna pracuje). Nový panel nástrojů – můžeme si vytvořit panel nástrojů, na který si naskládáme cokoliv budeme chtít. Ve Windows XP máme také možnost Hlavní panel uzamknout. Je to ochrana před náhodnými nechtěnými změnami. Správce úloh: to je jeden ze způsobů, jak spustit Správce úloh. Ten umožňuje přístup nejen ke spuštěným aplikacím, ale také procesům (rozdílu mezi aplikacemi a procesy se budeme věnovat později), můžeme tu taky sledovat výkon systému. Každá položka (aplikace i proces) má kontextové menu, u aplikace takto můžeme například přejít k jejímu hlavnímu procesu. Spouštíme ho přes kontextové menu Hlavního panelu, kde zvolíme Správce úloh, nebo klávesovou zkratkou Ctrl+Alt+Del (tam tlačítko Správce úloh – Task Manager) nebo Ctrl+Shift+Esc . U procesů si můžeme určit sloupce, které budou zobrazovány (v menu).
12
2.4
Nabídka Start
Nabídku Start můžeme aktivovat několika způsoby: 1. klepnutím na tlačítko Start, 2. klávesou 1 , 3. klávesovou zkratkou Ctrl+Esc (má stejný kód jako klávesa ). Poslední dvě možnosti je dobré znát také proto, že to je jeden z mála způsobů, které pomohou ukončit „zlobícíÿ aplikaci běžící v celoobrazovkovém módu (tj. překrývá hlavní panel i cokoliv dalšího na obrazovce, může to být aplikace napsaná ve Flashi nebo třeba prezentace spuštěná v PowerPointu či Adobe Readeru). Stisknutím klávesy nebo použitím zkratky Ctrl+Esc se zároveň zobrazí hlavní panel, vyvoláme kontextové menu tlačítka aplikace a vybereme položku Zavřít (někdy to funguje). Úpravy nabídky Start můžeme provádět: • v kontextovém menu Hlavního panelu (viz str. 12), • v kontextovém menu tlačítka Start, položka Prozkoumat, • ve složce pro určitého uživatele (většinou je to složka na systémovém disku s názvem Documents and Settings\%username%\Nabídka Start), ve Windows 9x při zapnutých profilech ve složce Profiles, jinak v systémovém adresáři), • interaktivně pomocí myši (přetáhnout myší položku na jiné místo, přetahovat ikony mezi nabídkou Start a Plochou nebo nějakým oknem v obou směrech). Uvnitř nabídky Start je také kontextové menu sloužící především k úpravě struktury této nabídky. V nabídce Start jsou mnohé důležité položky, jako např. Nápověda, Hledat, Spustit 2 .
2.5
Základy práce se soubory
Soubory jsou na discích organizovány v adresářích s možností rekurze, tedy adresář může obsahovat kromě souborů i další adresáře. Ve Windows používáme obecnější pojem – složka. Složka může být buď klasický adresář, nebo tzv. speciální složka. Řadíme zde například složky Tiskárny, Ovládací panely, Plocha, Dokumenty, Oblíbené. Tedy ne každá složka je adresářem, ale každý adresář je složkou. Speciální složky, až na vyjímky (např. Dokumenty) neslouží k ukládání dat nebo programů (proč taky do složky Tiskárny umísťovat třeba obrázky?), ale k některému speciálnímu účelu, často bývají obrazem jiných existujících složek poskytujícím více možností, nastavení nebo jiný typ přístupu. Speciální složka má obvykle definováno vlastní rozhraní, které umožňuje lépe pracovat s prostředky v složce uloženými (například složka Tiskárny dává uživateli možnost přidat novou Klávesa , klávesa Win, je na klávesnici vlevo dole. 2 Pokud chceme spustit některý spustitelný soubor, stačí zde napsat jeho název, případně název včetně cesty k němu. 1
13
tiskárnu, v grafickém rozhraní je tato funkce reprezentována objektem v této složce s názvem Přidat tiskárnu, překonfigurováno je taky menu složky). Přímo k souborům můžeme přistupovat různými způsoby: 1. poklepeme na ikonu Tento počítač, 2. spustíme Průzkumníka Windows (to je program totožný s programem z předchozí možnosti, jen má zapnuto zobrazování levé části okna), 3. použijeme jiného správce souborů (souborového manažera). První možnost je nepohodlná, třetí možnost využívají zejména uživatelé hodně pracující se soubory. Oblíbené jsou například Total Commander, M602, Norton Commander, Volkov Commander, freeCommander, atd. Mnohé z nich lze volně stáhnout na Internetu. Běžným uživatelům obvykle stačí Průzkumník, který je v novějších systémech Windows prakticky totožný s Internet Explorerem (říkáme, že má stejné jádro) a je s ním zaměnitelný i co do funkcí. Používání správců souborů je celkem jednoduché. Správci souborů z třetího bodu výše uvedeného rozdělení používají narozdíl od Průzkumníka zobrazení souborů ve dvou samostatných panelech. Zjednodušuje to kopírování a přesouvání dat mezi dvěma složkami. Používané klávesové zkratky jsou podobné jako v Průzkumníkovi, navíc obvykle můžeme používat pro označování klávesu Ins , málokterá aplikace používá při mazání souborů Koš Windows. Dále se budeme věnovat aplikaci Průzkumník Windows. Možnosti spuštění: 1. tlačítko Start – Programy – (Příslušenství) – Průzkumník Windows, 2. Start – Spustit, napíšeme explorer , 3. myší zobrazíme kontextové menu kterékoliv složky nebo třeba ikony Tento počítač, položka Prozkoumat, 4. použijeme klávesovou zkratku +E . Za účelem kopírování složek a souborů někdy potřebujeme označit najednou více položek v pravém okně. Máme více možností:
1. všechny položky: Ctrl+A nebo v menu Úpravy – Označit vše, 2. souvislý blok položek: stiskneme Shift , a dále
• s použitím klávesnice: ↓ , ↑ , PgUp , PgDown , Home , . . . • s použitím myši: ťukneme na „krajníÿ položku,
3. nesouvislý (více bloků): stiskneme Ctrl a dále
• s použitím klávesnice: klávesami ↓ , ↑ , PgUp a dalšími klávesami se pohybu jeme, mezerníkem označujeme, • s použitím myši: ťukáme na ty položky, které chceme vybrat.
14
Lze také použít možnost inverze výběru (v menu Úpravy – Invertovat výběr). V levém okně Průzkumníkalzepracovat ale můžeme používat také klávesnici. samozřejmě myší, Používáme hlavně klávesy ↓ a ↑ , PgUp a PgDown , pro rozbalování a sbalování položek
stromu klávesy ← a → , pro přepínání mezi pravým a levým panelem klávesu Tab . Existují klávesové zkratky pro vytvoření nové složky, smazání souboru nebo složky, atd., vše je uvedeno v menu u jednotlivých položek. Pro mazání bez použití Koše (tj. bez možnosti obnovení z Koše) máme klávesovou zkratku Shift+Del . Pokud myší přetahujeme položky mezi složkami, používáme službu systému drag&drop. Možnými akcemi jsou kopírování, přesun a vytvoření zástupce. Implicitní akce pro přetahování objektů jsou: • přesun pro přetahování objektů v rámci jednoho logického disku, • kopírování pro přetahování objektů mezi různými logickými disky (např. přetahujeme soubor z disku C: na disk D:), • vytvoření zástupce pro přetahování programu (např. s příponou EXE) kamkoliv. Pokud přetahujeme více souborů, obvykle je zvoleno kopírování. Pokud nám implicitní akce nevyhovuje, máme možnost vybrat si takto: při přetahování nedržíme levé, ale pravé tlačítko myši, po upuštění se zobrazí kontextová nabídka s možnostmi Kopírovat, Přesunout, . . . Toto je jediná možnost, jak kopírovat soubor nebo jiný objekt do té složky, ve které byl původně (tj. vytvořit kopii na stejném místě): chytneme položku pravým tlačítkem myši, o kousek posuneme (v tomtéž okně) a v menu zvolíme Kopírovat. Vytvoří se soubor s názvem Kopie . . . V menu Průzkumníka je nejdůležitější položkou Nástroje – Možnosti. Zde nastavujeme vlastnosti zobrazení složek platné pro první dva typy správců souborů uvedené na začátku této kapitoly, a také pro některé ostatní aplikace. Zobrazený dialog je zároveň nástrojem Windows dostupným z Ovládacích panelů (Možnosti složky). Nástroje - Možnosti složky: karta Obecné: zde můžeme nastavit například to, že se tak jako na ploše i ve složkách může zobrazovat obsah sítě WWW, jestli se při poklepání na složku (ne v Průzkumníkovi, ale v klasickém prohlížeči složek, který otevřeme, když třeba poklepeme na Tento počítač) má otevřít v novém okně, zda se má program spustit nebo dokument otevřít po poklepání nebo klepnutí (dost špatně se pak například přetahují položky pomocí myši). karta Zobrazení: Tlačítko Jako aktuální složka (ve Windows XP Použít pro všechny složky) stiskneme, pokud chceme, aby se zvolené nastavení pro aktuální složku (po jeho potvrzení tlačítkem Použít) použilo pro všechny složky, tlačítko Obnovit všechny složky použijeme, pokud chceme obnovit nastavení určené při instalaci operačního systému. Ve spodní části karty přímo nastavujeme vlastnosti zobrazení. Například Skrýt chráněné soubory OS – nastavujeme, pokud s nimi přímo nechceme pracovat, Skrýt přípony souborů známých typů – nedoporučuje se mít toto políčko zaškrtnuté (některé viry toho využívají a například posílají mailem v přílohách soubory s dvojitou příponou, jako je třeba obrázek.gif.exe), Skryté soubory a složky – zobrazujeme, pokud s nimi chceme pracovat, Zobrazovat obsah systémových složek – je to z důvodu ochrany systému
15
před nevědomým uživatelem, uživatel vědomý si to klidně může povolit, jedná se například o složku Windows (WinNT, Win32 apod.), . . . karta Typy souborů: Zde je seznam asociovaných přípon souborů (asociovaná přípona = přípona, o které jsme řekli operačnímu systému, kterým programem ji chceme otevírat). Každé příponě jsou přiřazeny programy, jeden pro určitou akci (standardně bývá otevření, může být třeba tisk). Pokud přípona má například nadefinován (asociován, přiřazen) program pro otevření, po poklepání na dokument s touto příponou se otevře tento program a v něm dokument. Ve Windows 2000/XP můžeme mít pro akci otevření souboru nadefinováno více programů, z nichž jeden je hlavní a použije se při poklepání na soubor (nebo stisknutí klávesy ENTER ). karta Soubory offline: využijeme, pokud chceme pracovat se soubory ze sítě bez síťového připojení (soubory jsou stáhnuty ze sítě a uloženy na našem počítači, lze pak nastavovat možnosti aktualizace apod.). Ve starších verzích Windows lze jedné příponě určit pro otevření jediný program. Pokud ale chceme výjimečně pro otevření dokumentu s určitou příponou použít program jiný, pak stiskneme Shift , pravým tlačítkem myši vyvoláme kontextové menu pro ikonu tohoto dokumentu. V tomto menu by teď měla být položka Otevřít čím . . . (v XP už to není nutné). Obsah plochy lze sejmout včetně oken spuštěných aplikací a hlavního panelu, k tomu slouží tlačítko PrintScreen okno, použijeme na klávesnici, pokud chceme sejmout pouze aktivní klávesovou zkratku Alt+PrintScreen (v některých verzích Windows Ctrl+PrintScreen ). Obsah plochy nebo aktivního okna se uloží do schránky jako obrázek, který můžeme vložit do kteréhokoliv grafického editoru. Existují aplikace (včetně volně šiřitelných, které tento obrázek uloží do zvoleného formátu (obvykle JPG, PNG nebo BMP), případně snímají obrazovku v pravidelných intervalech nebo po použití určité klávesové zkratky (je to výborné pro dokumentování určitého postupu, například pro výuku).
2.6
Zástupci
Na ploše, ale i v téměř kterékoliv složce si můžeme vytvořit zástupce některého objektu. Zástupce slouží jako zkratka pro často používané objekty, navíc umožňuje definovat různé operace, které se mají provést při přístupu na objekt. Jde vlastně o pouhý odkaz na existující objekt, je to malý soubor, ve kterém je uložena cesta k odkazovanému objektu, název zástupce a další informace. Zástupce najdeme na mnoha místech grafického rozhraní Windows, například na ploše, v nabídce Start nebo na Panelu snadného spuštění. Jak vytvoříme zástupce na ploše (a vlastně kdekoliv jinde): Na ploše kontextové menu, Nový – Zástupce. Zástupce souboru nebo složky vytvoříme tak, že v příkazovém řádku zástupce zadáme cestu k souboru. U zástupce internetové stránky do příkazového řádku napíšeme internetovou adresu. Zástupce e-mailové adresy funguje, pokud máme nadefinováno přiřazení určitého poštovního klienta (Outlook, Outlook Express, Pegas, Eudora, . . . ), do příkazového řádku zástupce napíšeme
16
mailto:...@... Zástupce procedury dynamické knihovny: Dynamické (vlastně dynamicky linkované, linkované za chodu programu v případě potřeby) knihovny jsou zásobárny procedur, funkcí a různých objektů, které mohou používat programy, a touto metodou se k nim můžeme přímo dostat. V případě procedury dynamické knihovny do příkazové řádky zástupce napíšeme rundll32.exe
,<procedura> <parametry> (případně s celou cestou, soubor rundll32.exe bývá ve složce %WINDIR%\ system32). Zatímco v názvech souborů se ve Windows obvykle nerozlišují malá a velká písmena, u názvu procedury je důležité přepsat řetězec i s ohledem na malá a velká písmena. Několik příkladů: rundll32.exe shell32.dll,Control RunDLL – po poklepání na zástupce se zobrazí Ovládací panely, rundll32.exe user32.dll,LockWorkStation – vytvoříme ikonu pro zamknutí počítače (pokud musíme od počítače odběhnout, odemknout lze pouze heslem uživatele), sice existují i jiné možnosti (a rychlejší), jak počítač softwarově zamknout, toto řešení má výhodu v tom, že se jedná o program, který lze spustit automaticky například po určité době nečinnosti počítače (odskočím do vedlejší kanceláře s tím, že tam jenom něco donesu, a nakonec se zdržím déle). V operačních systémech Win9x například fungovaly rundll.exe user.exe,ExitWindows – ukončení Windows, rundll.exe user.exe,ExitWindowsExec – restart. rundll.exe je 16bitová varianta pro rundll32.exe, není použitelná ve Windows řady NT (včetně W2000), stejně tak 16bitové verze dynamických knihoven (user.exe apod.) nelze v řadě NT používat. Zástupce nástroje Windows: Nástroje Windows jsou často také spustitelnými programy, i když mohou mít jinou příponu než EXE nebo COM. Můžeme se setkat například s příponami CPL (nástroje dostupné z Ovládacích panelů) a MSC (konzolové nástroje), například: • desk.cpl je nástroj pro konfiguraci pracovní plochy (totéž jako v kontextovém menu plochy položka Vlastnosti), • sysdm.cpl jsou Vlastnosti systému, • perfmon.msc nástroj pro sledování výkonu systému, • dfrg.msc nástroj pro defragmentaci disku, atd. Některé nástroje mají příponu EXE, např. control.exe spouští Ovládací panely, msconfig.exe spouští nástroj pro konfiguraci systému. Všechny tyto soubory můžeme napsat do příkazové řádky zástupce, a tedy vytvořit si např. na ploše zástupce tohoto nástroje, nebo spustit přes Příkazový řádek Windows či v menu Start – Spustit.
17
Kapitola 3 Správa systému Nástroje na konfiguraci a údržbu systému jsou ve Windows 2000 a XP dostupné na několika místech. Jsou to Systémové nástroje v Start – Programy – Příslušenství – Systémové nástroje, Nástroje pro správu v Start – Programy – Nástroje pro správu, Ovládací panely dostupné v nabídce Start – Nastavení – Ovládací panely, ale také další položky v nabídce Start – Programy – Příslušenství. Některé nástroje jsou přístupné z několika míst (například některé nástroje z Ovládacích panelů, jako je Systém, Zobrazení, . . . ), jiné nástroje (programy) nemají žádné grafické rozhraní a lze je používat pouze v Příkazovém řádku nebo spuštěním přes Start – Spustit (jako některé varianty příkazu net). Ve Windows XP byly oproti Windows 2000 některé existující nástroje od základů přepracovány nebo alespoň přejmenovány (Uživatelé a hesla ve Windows 2000 oproti Uživatelské účty ve Windows XP, každý z těchto nástrojů má úplně jiné grafické rozhraní a jinak se s nimi pracuje), jiné jsou přidány (obvykle jde o nástroje přidané aktualizací Service Pack 2, např. Centrum zabezpečení, Brána firewall systému Windows apod.).
3.1
Systémové nástroje
K systémovým nástrojům se dostaneme přes Start – Programy – Příslušenství – Systémové nástroje.
Defragmentace disku: Fragmentace: soubory mohou být rozděleny na více částí, každá část uložena na jiném místě, jak zrovna bylo na disku místo. U FAT16 je to největší problém, menší u FAT32 a NTFS. Fragmentace zpomaluje systém, protože „dohledáváníÿ částí souboru na disku déle trvá. Defragmentace obvykle spočívá v postupném kompletování fragmentů souborů, případně také ve vhodné volbě jejich fyzického umístění na disku. Mnohem více funkcí než tento nástroj mívají aplikace třetích stran (tj. nedodané Microsoftem ani neprogramované uživatelem, ale poskytované někým jiným), často volně stažitelné na Internetu.
18
Mapa znaků: Je to nástroj použitelný zejména tehdy, když na klávesnici některý znak nenajdeme. Ve starších verzích Windows byla Mapa znaků umístěna přímo v Příslušenství. Naplánované úlohy: Zde můžeme určit, které programy či dokumenty se budou automaticky spouštět pravidelně (např. každý den, týden, v určitou dobu) nebo jednorázově. Je to použitelné pro některé systémové prostředky, defragmentaci, některé antivirové programy, odesílání zpráv správci, vypínání počítače apod.
Systémové informace: Zde najdeme nejúplnější informace o čemkoliv, co se nachází v počítači, a tak třebaže přímo v tomto nástroji nemůžeme provádět žádná nastavení, je to velmi užitečný nástroj. V částech souvisejících s hardwarem můžeme například zkontrolovat přidělení přerušení, DMA, rozsahy přidělených adres v operační paměti, případné konflikty přerušení, podrobné informace o modemu, atd., z informací o programovém prostředí například ovladače, všechny proměnné prostředí, služby, načtené moduly (především dynamické knihovny), registrované aplikace pro propojení OLE (viz později), apod. Důležité je také menu tohoto okna, a to především Nástroje. Tady najdeme například nástroj Dr. Watson sloužící ke zjišťování chyb spuštěných programů (je přítomen už ve Win 3.x, okno Dr. Watsona lze otevřít také spuštěním programu drwtsn32.exe – pozor, ne drwatson.exe, to je samotné testování). Z dalších nástrojů tady najdeme i nástroj na diagnostiku rozhraní DirectX.
Vyčištění disku: Tento nástroj se spouští automaticky, pokud na systémovém disku není dost místa pro další rozšiřování odkládacího souboru, ale můžeme ho spustit kdykoliv, když chceme na některém disku uvolnit místo. Výhodou je automatizace této činnosti, nevýhodou je, že systém bohužel nedokáže najít všechno (některé cookies, dočasné soubory sítě Internet od různých WWW prohlížečů, . . . ), takže některé zbytečné soubory stejně musíme smazat ručně. Přesto se někdy hodí.
Zálohování: Na první kartě je možné zvolit průvodce pro základní činnosti, pokud se člověk nechce zdržovat, může hned přejít na další karty a zálohovat nebo obnovovat ze zálohy ručně. Poslední karta umožňuje naplánovat zálohování na dobu, kdy sice počítač bude spuštěn, ale my k němu nechceme vážit cestu. Ve Windows 2000/XP máme možnost zálohovat aktuální stav systému (celou konfiguraci), a to buď na pevný disk nebo třeba vypálit na CD (v XP Home musíme doinstalovat, na instalačním CD najdeme složku Valueadd\msft\Ntbackup a spustíme instalační soubor ntbackup.msi). Pokud chceme vytvořit zálohu celého logického disku (včetně systémového) na jiný logický disk pro účely obnovy v případě poškození disku, musíme použít řešení třetích stran, například aplikaci Partition Saving (je volně ke stažení na www.partition-saving.com). Je však vhodné předem si pročíst požadavky těchto aplikací (některé neumí pracovat s oddíly NTFS, mohou vyžadovat přítomnost alespoň jednoho oddílu FAT, ze kterého jsou pak spouštěny, cílový logický disk pro zálohu musí být stejného typu a stejně velký jako zálohovaný, apod.).
19
Obnovení systému: Tento nástroj (je až ve Windows XP) pravidelně provádí zálohu důležitých souborů operačního systému (systémové knihovny, registr, ovladače apod.) v tzv. bodech návratu. Zálohu provádí při instalaci nových aplikací, některých (necertifikovaných) ovladačů, při aktualizaci Windows a dalších více či méně kritických operacích. V případě zničení důležitých souborů při těchto operacích je pak možné se vrátit k některé z předchozích uložených konfigurací, tzv. bodům návratu, v tomto nástroji (i v nouzovém režimu). Windows ME a XP nabízejí pro body návratu (body obnovení) více možností, můžeme je například vytvářet ručně (v nástroji Obnovení systému je tlačítko Vytvořit bod obnovení). Nástroj Obnovení systému je užitečný v případě, že často provádíme změny v systému a občas instalujeme software, který by mohl být systému nebezpečný, nebo alespoň do určité doby od chvíle, kdy počítač dostaneme a začneme ho přizpůsobovat k obrazu svému. Pak jeho užitečnost klesá a stoupá především paměť na discích, kterou body návratu potřebují (je to jeden z možných viníků, pokud se na disku najednou záhadně nedostává volného místa). Řešením je tento nástroj vypnout na discích, kde nemá moc smysl (to jsou vlastně všechny kromě systémového disku, což je obvykle C:), na systémovém disku pak omezíme velikost paměti, která má být využívána pro uložení bodů návratu. Potom při každém dalším zálohování systému, když je takto omezená paměť zaplněna, je nejstarší bod návratu smazán, aby se uvolnilo místo pro nový, máme evidováno pouze několik posledních.
3.2
Nástroje pro správu
Najdeme je v menu Start – Programy – Nástroje pro správu nebo v Ovládacích panelech. Je možné, že v menu Start tato položka není. Její zobrazení lze totiž zakázat nebo povolit v kontextovém menu Hlavního panelu, Vlastnosti, záložka Upřesnit (volba Zobrazit Nástroje pro správu).
Prohlížeč událostí: Je to chronologický seznam událostí, které na počítači proběhly (je možné zobrazit vlastnosti poklepáním na položku). Události slouží ke komunikaci například mezi aplikacemi. Jsou ukládány do protokolů, což jsou soubory s příponou EVT („eventÿ), standardně v adresáři System32. Jsou to protokoly: Protokol aplikací: události, které generovaly aplikace (např. aplikace posílá informace jiné aplikaci nebo systému, upozornění na chyby, apod.), tyto události určuje programátor aplikace, Protokol zabezpečení: události související s bezpečností, například platné nebo neplatné pokusy o přihlášení (pokud je nastaveno auditování přihlášení, viz zásady auditu u Místních zásad zabezpečení na str. 21), změny zásad, apod. Systémový protokol: obsah protokolu určují součásti systému, jsou zde například informace o selhání načtení některého ovladače při startu systému. V levé části okna jsou tyto položky, každá z nich má kontextové menu. Umožňuje pracovat se soubory protokolů, v položce Vlastnosti můžeme určit maximální velikost protokolu, co se má stát, když je překročena, a dále nastavit filtry (např. typ a zdroj události).
20
Místní zásady zabezpečení: Zde se nastavují zásady aplikované na místní počítač. Nastavujeme zde • zásady pro definování hesel (např. minimální délka, nutnost pravidelně měnit heslo apod.), • zásady zamknutí účtů (po kolika chybných pokusech o přihlášení za sebou bude účet uzamčen, na jakou dobu, příp. kdy bude odemčen), • zásady auditu (co se má zapisovat do protokolu zabezpečení – přístup k objektům, sledování procesů, systémové události, přihlášení k účtu, změny zásad, atd.), • přiřazení uživatelských práv (kterým uživatelům – členům kterých skupin je dovoleno provádět úlohy údržby svazku, vypnout systém, vytvářet některé typy objektů, změnit systémový čas, převzít vlastnictví souborů nebo jiných objektů, apod.), • nastavovat možnosti zabezpečení (zda je zakázáno – povoleno – nedefinováno apod. při přihlašování nevyžadovat stisknutí kláves Ctrl+Alt+Del , pro podsystémy nezaložené na Windows vyžadovat rozlišování malých a velkých písmen, povolit vypnutí systému bez nutnosti přihlášení, povolit přístup k disketové nebo CD mechanice pouze pro uživatele přihlášené místně, zabránit uživatelům instalovat ovladače tiskáren, atd.), . . . Pokud jsou definovány zásady pro místní síť (nabízení síťové operační systémy, pro Windows to jsou Systémové zásady – od WinNT 4.x nebo Zásady skupiny – od Win 2000, XP), mají vyšší prioritu než Místní zásady definované na lokálním počítači.
Služby: Služby jsou speciální procesy systému, které jsou spouštěny hned po startu systému bez ohledu na to, který uživatel bude přihlášen. Mnohé z nich jsou spouštěny procesem programu svchost.exe (to se také objeví v seznamu spuštěných procesů). V tomto nástroji najdeme seznam všech dostupných služeb (stavy: Vypnuto, Spuštěno automaticky při zapnutí PC, Ručně). Službu lze spustit či zastavit, můžeme nastavit automatické spuštění po zavedení systému a nebo službu zakázat (nebude se spouštět). Po poklepání se zobrazí vlastnosti služby, kde můžeme mimo jiné zjistit i závislosti na jiných službách. Služeb je hodně, podíváme se na některé z nich: Indexing Service: Výsledky této služby používá funkce vyhledávání systému Windows. Služba prochází soubory na discích a indexuje je (vybírá z nich „klíčová slovaÿ). Vytvořené indexy jsou používány pro vyhledávání typu „najdi soubory, které obsahují slova . . . ÿ. Tutéž funkci mají i jiné desktopové vyhledávače1 , ale narozdíl od této vestavěné služby vytvářejí indexy při nečinnosti počítače2 . Pokud možnost vyhledávání v obsahu souborů nepoužíváme moc často, tuto službu zakážeme. NetMeeting – Vzdálené sdílení plochy: Umožňuje vzdálenou správu plochy (a tím i celého počítače) autorizovaným uživatelům. Je to služba užitečná pro správu počítačů v lokální síti, kdy administrátor z jednoho počítače spravuje všechny ostatní, ale pokud máme jen Z nejznámějších desktopových vyhledávačů jsou to Google Desktop Search, MSN Desktop Search (od Microsoftu), Yahoo! Desktop Search. 2 Při nečinnosti počítače = v době, kdy žádná jiná aplikace nevyužívá procesor, tj. při události OnIdle. 1
21
jeden nebo několik málo počítačů, služba nemá smysl a může být i nebezpečná, proto službu také můžeme zakázat. Plánovač úloh: Tato služba souvisí s nástrojem Naplánované úlohy a je nutná pro práci tohoto nástroje. Prohledávání počítačů: Udržuje seznam počítačů připojených do sítě pro účely prohledávání. Protokol událostí: Tato služba udržuje protokoly událostí, které jsou nastaveny v nástroji Prohlížeč událostí (viz Prohlížeč událostí na str. 20). Terminálová služba: Služba provozující terminál, tedy možnost více uživatelům včetně administrátora vzdáleně se připojit k tomuto počítači (včetně zobrazení plochy apod.). Je nutná pro rychlé přepínání uživatelů (o tom více v Uživatelských účtech na str. 25) a podporu vzdálené plochy. Vyměnitelné úložiště: Služba umožňující používat přenosná paměťová média typu USB Flash disk. Vzdálené volání procedur (RPC): Je to služba nutná pro práci v síti, umožňuje vzdáleně volat procedury knihoven na různých počítačích v síti. Služby související se sítí včetně vzdálené správy jsou na ní závislé. Zařazování tisku: Služba potřebná pro posílání tiskových úloh tiskárnám. Pokud tato služba není spuštěna, nezdaří se ani instalace tiskárny. Zasílání zpráv o chybách: Tato služba posílá zprávy o chybách zjištěných při provozu systému, obvykle administrátorovi. Pokud počítač není připojen k lokální síti spravované administrátorem, nemá smysl ji mít spuštěnou.
Výkon: Je to nástroj pro sledování výkonu a vytíženosti systému. Můžeme vysledovat, který proces namáhá (zatěžuje) systém nejvíce, můžeme určit, který prostředek chceme sledovat (např. paměť, procesor, frontu disku, . . . ), je to trochu komplexnější nástroj než sledování výkonu ve Správci úloh.
Správa počítače: částečně sdružuje předchozí. Jedná se o standardní konzolu systému, můžeme ji zobrazit také tak, že v kontextovém menu ikony Tento počítač zvolíme Spravovat (Manage). Najdeme zde: Prohlížeč událostí: (viz str. 20), Sdílené složky: přístup ke sdíleným prostředkům v síti. Jsou zde tři části: sdílené položky (co všechno je v síti nasdíleno včetně tiskáren, a základní informace o těchto položkách, jako např. cesta k prostředku v síti a typ připojení), relace (informace o uživatelích, kteří jsou právě připojeni k tomuto počítači přes síť, tedy info o tom, kdo zrovna používá naše nasdílené prostředky), a otevřené soubory (běžný soubor, tisková úloha apod., tedy soubory otevřené uživatelem připojeným přes síť k tomuto sdílenému prostředku). Místní uživatelé a skupiny: seznam uživatelů, kteří se mohou přihlásit k tomuto počítači, a skupin, jejichž členové zde mohou pracovat. Lze zde měnit vlastnosti uživatelů (do kterých skupin patří, zda může měnit své heslo, přihlašovací skript, atd.) a přidávat či odebírat členy skupin.
22
Výstrahy a protokolování výkonu: tento nástroj umožňuje sledovat využití prostředků systému. Systém vytváří protokoly (binární nebo textové soubory, podle volby). Protokoly jsou tří druhů – čítače, trasovací, výstrahy. Nový protokol vytvoříme tak, že si zvolíme jeden z těchto tří druhů, v kontextovém menu použijeme položku Nové nastavení protokolu, zadáme název a v následujícím okně nadefinujeme další potřebné funkce. Protokoly čítačů slouží k protokolování počtu přístupů k určitému objektu nebo počtu použití některých jeho funkcí, procento využití přidělených prostředků včetně procesoru a paměti, apod., protokoly trasování zachycují některé typy událostí jako vytvoření a zrušení procesů či podprocesů, vstupní a výstupní diskové operace, atd., protokoly výstrah sledují, zda hodnoty vlastností určitých objektů nepřekračují udanou mez (při překročení meze je provedena stanovená akce). Správce zařízení: je to nástroj pro práci s ovladači hardwaru. Je přístupný také z Ovládacích panelů (Systém, karta Hardware). Úložiště: nástroj pro práci s vnějšími paměťmi. Vyměnitelné úložiště dovoluje konfiguraci přístupu k vyměnitelným médiím jako je USB flash disk nebo CD či DVD, nástroj Defragmentace disku slouží, jak jinak, k defragmentaci pevných disků, nástroj Správa disků velmi přehledným způsobem umožňuje pracovat s oddíly na discích (vytvářet, rušit), formátovat pro zadaný souborový systém apod. Služby a aplikace: nástroj pro využití některých služeb. Můžeme zde konfigurovat také službu Indexing service (které složky budou nebo nebudou indexovány). Sdílené prostředky se standardně zobrazují v okně Místa v síti na všech počítačích, kde je sdílení definováno (např. určitá doména nebo skupina). Systémové sdílené prostředky se tam však nezobrazují. Většinou slouží ke správě počítače po síti, umožňují administrátorovi přistupovat k jednotlivým diskům počítače, administrátorskému účtu a dalším podobným položkám. Pokud chceme, aby i některý jiný prostředek, který chceme nasdílet, nebyl zobrazován v Místech v síti, můžeme se inspirovat u systémových sdílených prostředků: na konec názvu přidáme znak $. Pak prostředek nebude pro ostatní viditelný, a bude možné k němu přistupovat přes název UNC (viz Sdílení prostředků na str. 29): \\název počítače\sdílený prostředek$ . Nástroj Výstrahy a protokolování výkonu je dostupný také v nástroji Výkon (viz str. 22) v Nástrojích pro správu. Můžeme ho použít pro zjištění, kolik virtuální paměti vlastně potřebujeme, pokud chceme vhodně nastavit hodnoty pro virtuální paměť v nástroji Systém v Ovládacích panelech (nebo v kontextovém menu pro Tento počítač, položka Vlastnosti), viz str. 26. Vytvoříme nový protokol čítačů (zobrazíme Protokoly čítačů, v pravém podokně v kontextovém menu zvolíme Nové nastavení protokolu), zadáme název protokolu, v následujícím okně zvolíme tlačítko Přidat čítače a tam jako objekt sledování výkonu zadáme Stránkovací soubor, vybereme čítač % vrchol využití, instanci Total (chceme maximální hodnoty velikosti stránkovacího souboru). Pak okno zavřeme a na záložce Soubory protokolů vybereme Textový soubor s položkami oddělenými středníky. Protokol se bude ukládat ve složce Perflog na systémovém disku. Po několika dnech běžného používání počítače zde zjistíme potřebné hodnoty, pro jistotu připočteme rezervu (může být 20%). Pak v nástroji Systém, záložce Upřesnit nastavíme Virtuální paměť na tuto hodnotu (pro počáteční i konečnou velikost).
23
3.3
Ovládací panely
Aplikace (nebo snad spíše speciální složka) Ovládací panely slouží ke snadnému přístupu k různým nástrojům. Najdeme tady téměř všechny nástroje s grafickým rozhraním, které Windows nabízejí. Bohužel nejsou roztříděny do kategorií, pouze seřazeny (obvykle podle abecedy), některé z nich v sobě sdružují několik různých nástrojů. My si tyto nástroje roztřídíme podle jejich hlavních funkcí do těchto kategorií: 1. 2. 3. 4. 5.
nástroje nástroje nástroje nástroje ostatní.
3.3.1
pro pro pro pro
nastavení uživatelského prostředí, údržbu systému a zajištění bezpečnosti, hardware, nastavení sítě,
Nastavení uživatelského prostředí
Datum a čas: Můžeme zde nastavit datum a čas, které se budou zobrazovat v System Tray, dále časové pásmo, a některé operační systémy řady Windows zde nabízejí možnost synchronizace času s některým serverem na Internetu. Tento nástroj můžeme spustit také z kontextové nabídky Hlavního panelu. Hlavní panel a nabídka Start: Konfigurace Hlavního panelu a nabídky Start. Tento nástroj lze také spustit z kontextové nabídky Hlavního panelu, položka Vlastnosti. Místní a jazykové nastavení: Nastavujeme zde způsob zobrazování data, času, měny pro určitý jazyk, přidáváme podporu pro další jazyky, určujeme způsob přepínání mezi klávesnicemi pro různé jazyky. Možnosti složky: Tento nástroj lze spustit z menu Průzkumníka a některých jiných správců souborů. Je určen pro konfiguraci přístupu a zobrazování souborů a struktury složek. Možnosti usnadnění: Je to nástroj určený pro zjednodušení práce postižených s operačním systémem. Můžeme upravit práci s klávesnicí a myší, vizuální upozornění na zvuky odpovídající různým akcím na počítači, opticky zvýraznit kurzor apod. Písma: Je to nástroj pro práci s fonty písem. V systému i v aplikacích obvykle můžeme používat pouze ty fonty, které máme instalované, nestačí pouze příslušný soubor někam zkopírovat. V okně tohoto nástroje nainstalujeme nové písmo například pomocí menu Soubor. Když si chceme prohlédnout, jak které písmo vypadá, stačí je spustit podobně jako soubor ve správci souborů. Zobrazení: Tento nástroj spustíme také v kontextové nabídce plochy, položka Vlastnosti. Nastavujeme zde vlastnosti zobrazení objektů na ploše včetně pozadí, ikon, spořiče obrazovky, vzhledu oken, atd., lze tady konfigurovat také ovladač grafické karty a monitoru.
24
3.3.2
Bezpečnost a údržba systému
Automatické aktualizace: Tento nástroj v některých verzích Windows není integrován do Ovládacích panelů. Lze tady nastavit automatické stahování aktualizací z Internetu (Windows Update). Vzhledem k tomu, že každou chvíli je objevena nějaká díra ve struktuře Windows (tj. chyba umožňující například volný přístup k počítači přes síť; ti, kteří tyto možnosti využívají, rozhodně nepřijdou pouze na „přátelskou návštěvuÿ), u počítače připojeného na síť by tato možnost rozhodně neměla být úplně vypnuta, i když může hodně vadit objem dat takto automaticky stahovaných.
Naplánované úlohy: Viz Systémové nástroje, kap. 3.1 na str. 19. Přidat nebo odebrat programy: Zde instalujeme nebo odinstalováváme programy včetně programů dodaných s operačním systémem. Přes volbu Nastavit přístup a výchozí hodnoty programu můžeme nastavit implicitní internetový prohlížeč, poštovního klienta, přehrávač hudby a videa, program pro rychlé zasílání zpráv, virtuální stroj jazyka Java.
Uživatelé a hesla: Nástroj Místní uživatelé a skupiny (v nástroji Správa počítače) slouží k vytváření skupin, nástroj Uživatelé a hesla slouží k přidávání uživatelů a konfiguraci jejich základního nastavení. Ve Windows 2000 existují tyto druhy práv: 1. standardní (může pracovat na počítači, instalovat programy, ale ne pracovat se soubory jiných uživatelů), 2. omezená (může jen pracovat na počítači), 3. zařadíme do pracovní skupiny (Administrators, Guests, . . . , můžeme vytvářet vlastní). Předdefinované skupiny ve Windows 2000: Administrators: člen této skupiny má neomezený přístup ke všem zdrojům a nastavením počítače, při instalaci je vždy vytvořen jeden člen této skupiny s názvem administrator, Backup Operators: člen má přístup ke všem oprávněním souvisejícím se zálohováním dat a jejich obnovováním, Guests: (hosté) velmi omezená práva, nemůže prakticky nic měnit (ani své vlastní heslo), standardně je tento účet zakázán (tj. nikdo se nemůže přihlásit jako člen této skupiny). Power Users: (běžní uživatelé) člen této skupiny má téměř tolik práv jako administrátoři, ale nemůže provádět některé zásahy do systému jako například úpravy registru, proto také nemůže instalovat některé programy, při instalaci je vytvořen alespoň jeden takový účet pro běžnou práci v systému, Replicator: člen skupiny má právo provádět replikaci souborů v doméně, Users: členové nemohou provádět žádné změny v systému (mohou si pouze upravit uživatelské prostředí), mohou spouštět aplikace a pracovat se svými daty.
25
Předdefinované skupiny ve Windows XP jsou podobné, jen účet běžného uživatele (Power Users) je zde v češtině nazýván Správce počítače a má více oprávnění (téměř se shodují s administrátorskými právy, může také zasahovat do registru, jen například nemá přístup do Konzoly pro zotavení, viz kapitola 3.4.2 na str. 32). Administrátor je navíc ve Windows XP Home „ukrytÿ, není nikde uveden. Jako administrátor se můžeme přihlásit, pokud před přihlášením použijeme klávesovou zkratku Ctrl+Alt+Del , pak klávesu Del uvolníme a znovu stiskneme (ostatní dvě klávesy pořád zůstávají stisknuty). Pak se zobrazí dialog, ve kterém již můžeme zadat uživatelské jméno administrator a příslušné heslo. Heslo k účtu administrator však standardně ani není nastaveno, takže tento postup bude fungovat pouze v případě, když heslo určíme například pomocí příkazu net3 . Nástroj Uživatelé a hesla se s různými verzemi Windows hodně mění. Ve Windows 2000 se při správě uživatelů používá karta Upřesnit, tlačítko Upřesnit (vytváření a definování skupin, zařazení uživatelů do skupin, určování práv, . . . ). Uživatel může patřit do více skupin. V operačních systémech, kde je umožněno rychlé přepínání uživatelů4 , se v tomto nástroji tato funkce zapíná/vypíná. Uživatelské účty jako takové se používají pouze ve Windows řady NT, ve Windows s DOS jádrem lze pro oddělení nastavení prostředí různých uživatelů použít Profily (ty však neznamenají žádná omezení v přístupu k datům jiného uživatele). Ve Windows XP má nástroj s podobnou funkcí, Uživatelské účty, grafické rozhraní vhodné spíše pro nepříliš znalé uživatele, od kterých se však sotva bude žádat práce s uživatelskými konty. I zde však můžeme spustit nástroj z dřívějších verzí Windows (2000), a to v menu Start – Spustit, zadáme control userpasswords2 .
Systém: Zde získáme základní informace o výpočetním systému včetně verze Windows a konfigurace hardware. S bezpečností a údržbou systému dále souvisí tyto záložky: Upřesnit: vizuální efekty pro různé objekty zobrazované Windows (menu, seznamy, písma, . . . ), využití procesoru a paměti, virtuální paměť, Boot Manažer (je dost maskovaný) umožňující spouštět různé operační systémy na jednom počítači (pouze typu Windows), máme zde také přístup k proměnným prostředí Obnovení systému: pro každý logický disk přístupný ve Windows lze nastavit funkci Obnovení systému, která při všech změnách v systému vytváří tzv. body obnovení (uloží stav systému, tedy registr a některé další systémové soubory); při nefunkčnosti systému se můžeme vrátit k některému dříve vytvořenému bodu obnovení, to může být užitečné po instalaci zařízení nebo aplikace, která poškodila systém. Pro každý logický disk můžeme službu konfigurovat zvlášť, a to buď úplně vypnout, nebo omezit prostor na disku, který je používán pro uložení bodů obnovení. Viz odstavec Obnovení systému na str. 20. V Příkazovém řádku zadáme příkaz net user administrator nové heslo . Rychlé přepínání uživatelů je funkce umožňující krátkodobě přihlásit jiného uživatele než je momentálně přihlášený, bez nutnosti odhlašovat původního uživatele, proto není třeba ukončovat žádné programy a ukládat nastavení. 3
4
26
3.3.3
Hardware
Klávesnice, Myš, Tiskárny a faxy, . . . : Nástroje pro nastavení těchto zařízení, příp. instalace tiskárny. U tiskárny také můžeme pracovat přímo s tiskovou frontou, například odstraňovat tiskové úlohy, nastavuje se zde také výchozí tiskárna.
Možnosti napájení: Zde můžeme určit, zda se mají po stanovené době nečinnosti vypínat monitor a disky, aby se snížila spotřeba energie počítače. Dále tady nastavujeme úsporný režim a režim spánku. Úsporný režim: při přechodu do úsporného režimu je vypnut monitor a pevné disky, tedy sníží se spotřeba energie. Po aktivaci počítače se opět vše zapne, přechod do „pracovního stavuÿ je téměř okamžitý. Můžeme také nastavit heslo pro aktivaci z úsporného režimu. Počítač je i v tomto režimu zapnutý, proto tento postup nelze použít např. v letadle, když je požadováno vypnutí přenosných počítačů. Počítač může být aktivován i při načasovaných úlohách, jako jsou automatické aktualizace. Operační paměť musí být napájena, tedy spotřeba energie není úplně nulová, a proto také při výpadku proudu může být neuložená práce ztracena. Režim spánku (hibernace): obsah operační paměti se uloží do souboru na pevný disk a počítač se vypne. Po obnovení činnosti se systém celý znovu nenačítá, pouze se obnoví obsah operační paměti ze souboru, pracovní plocha je ve stejném stavu, v jakém byla při přechodu do režimu spánku. Výpadky proudu během spánku nemají na obsah operační paměti vliv. Tento režim musí být podporován hardwarem, BIOSem i operačním systémem. „Probuzeníÿ z režimu spánku trvá o něco déle než aktivace z úsporného režimu, ale kratší dobu než zapnutí počítače a máme hned k dispozici všechny aplikace, které jsme používali před přechodem do úsporného režimu. Ve Windows XP Home, kde si způsob ukončení Windows nemůžeme vybrat ze seznamu, ale pouze ťuknutím na jedno ze zobrazených tlačítek, pro přechod do režimu spánku stačí v odhlašovacím dialogu stisknout klávesu Shift a zvolit Úsporný režim.
Přidat hardware: Tento nástroj použijeme, pokud Windows odmítnou nainstalovat hardware samy, nebo když chceme odpojit nainstalovaný hardware. Windows podporují standard Plug&Play. To je standard umožňující automatické rozpoznání a konfiguraci zařízení a instalaci příslušných ovladačů, obvykle po instalaci není nutné počítač restartovat. Je nezbytný například i pro podporu automatického rozpoznání USB flash disků. Abychom mohli tento postup použít, musí i samotné instalované zařízení tento standard podporovat. Dnes je podpora Plug&Play běžná u mnoha typů zařízení včetně tiskáren.
Systém: Zde nás zajímá především záložka Hardware. Je tady přístupný Správce zařízení (viz Správa počítače na str. 23), možnosti práce s ovladači, a také hardwarové profily. Hardwarové profily určují, které ovladače zařízení mají být při spuštění operačního systému načteny. Za normálních okolností není důvod pro jejich používání. Využívají se, pokud operační systém spouštíme při různých potřebných konfiguracích hardware (někteří uživatelé nepoužívají
27
některý hardware či je jim dokonce zakázán – některé vnější paměti, scaner, tiskárna, . . . ), tyto profily můžeme použít také u notebooků, které jsou přenášeny mezi místy s různými možnostmi připojení dalšího hardwaru (tiskárna, myš, . . . ). Pokud je nadefinováno více hardwarových profilů, pak při startu systému máme možnost mezi nimi si vybrat. Postup vytvoření hardwarového profilu je následující: Přes tlačítko Hardwarové profily vytvoříme nový profil. Pak restartujeme, zvolíme nový profil a určíme ovladače hardwaru, které se pro určitý profil mají načíst (ťukáním myši na kartě Správce zařízení), po restartu to funguje.
Správa počítače: Zde nás zajímají především nástroje pro práci s vnějšími paměťovými médii, ať už vyměnitelné úložiště nebo defragmentace či správa disků, viz str. 22.
Vlastnosti disků: Některé nástroje pro práci s pevnými disky jsou přístupné přímo přes kontextové menu těchto disků (v Průzkumníkovi nebo jiném správci souborů vyvolíme kontextové menu disku, Vlastnosti, záložka Nástroje). První nástroj – Kontrola chyb – je rozhraní programu scandisk.exe nebo chkdsk.exe (podle verze Windows), slouží ke kontrole povrchu disku, dokáže odhalit chybné sektory. Další nástroje jsou Defragmentace a Zálohování, jsou popsány výše. V dialogu Vlastnosti pro CD/DVD mechaniky a výměnné disky máme taky možnost určit akci, která se provede po rozpoznání disku (záložka Přehrát automaticky).
3.3.4
Síť
V této podkapitole se podíváme na různé úlohy související s prací v síti. Používáme nástroje Systém, Síťová připojení, případně další.
Identifikace počítače: (počítač musí být pojmenován, aby mohl být v lokální síti identifikován). Definuje se při instalaci OS, a nebo v nástroji Systém, karta Identifikace v síti, tlačítka: • tlačítko Vlastnosti - změna identifikace apod. • tlačítko ID sítě - spustí se průvodce pro zařazení počítače do sítě.
Domény a pracovní skupiny: Doména je skupina počítačů, které jsou součástí sítě a sdílejí společnou databázi adresářů. Rozlišujeme domény Active Directory a domény DNS (viz dále). Pracovní skupina je skupina počítačů propojených za účelem sdílení prostředků (například tiskáren). Počítač může patřit buď do některé domény nebo do některé pracovní skupiny, nikoliv do obou (je nastaveno v nástroji Systém, karta Název počítače). Rozdíl mezi doménami a pracovními skupinami je mimo jiné také ve způsobu sdílení prostředků.
28
Sdílení prostředků: Prostředky (soubory a složky, disky, tiskárny, příp. jiný hardware, . . . ) můžeme sdílet buď s ostatními uživateli téhož počítače (ve Windows XP: pak tento prostředek, obvykle soubor nebo složku, přetáhneme do složky Sdílené dokumenty v profilu All Users), nebo v síti. Sdílení tiskárny nastavujeme v Start – Nastavení – Tiskárny, menu Soubor – Sdílení a zabezpečení, karta Zabezpečení. Máme také možnost určit, co bude jiným uživatelům dovoleno s tiskárnou provádět. Nastavení sdílení pro soubory nebo složky se provádí v kontextovém menu objektu (buď položka Vlastnosti a karta Sdílení, nebo přímo položka Sdílení). Můžeme zde také povolit ostatním uživatelům měnit obsah sdíleného prostředku (například zapisovat do souboru). V dřívějších verzích Windows bylo možné přístup ke sdíleným prostředkům chránit heslem. Ve Windows 2000 a XP můžeme přístupová práva nastavovat pouze pro prostředky umístěné na NTFS disku, a to v kontextovém menu prostředku, položka Sdílení (nebo Vlastnosti, karta Sdílení, ve Windows XP má položka název Sdílení a zabezpečení). Standardně je možné určovat přístupová práva (ve WinXP) ke sdíleným prostředkům pouze pokud je počítač v doméně. Když jsou počítače propojeny v pracovní skupině, zapneme podporu přístupových práv v nástroji Možnosti složky, na kartě Zobrazení, odstraníme zaškrtnutí políčka Použít jednoduché sdílení souborů. Nastavovat sdílení prostředků mohou pouze členové skupiny Administrators, Power Users a Server Operators (ti poslední v systému Windows 2000 Server). Dále je nutné, aby byla spuštěna služba Server (lze ji spustit v nástroji Služby), jinak se záložka Sdílení ve vlastnostech prostředku ani nezobrazí. Zvláštní sdílené složky: V systému existují zvláštní sdílené složky, které slouží ke správě systému po síti. Dostaneme se k nim například v konzole Správa počítače, modul Sdílené položky – Sdílené složky. Zvláštní sdílené složky se nezobrazují v systému souborů ani v Místech v síti (protože končí znakem $; takto lze jednoduše skrýt i jiné sdílené prostředky, přistupovat k nim pak lze přes jejich jméno a nikoliv přes grafické rozhraní). K těmto složkám mohou přistupovat pouze uživatelé s oprávněním Administrators, Backup Operators nebo ve Windows 2000 Server také Server Operators. Jsou to například: písmeno jednotky$ umožňuje správci přístup k datům uloženým na jednotce (disku) přes síť, například A$, C$, atd. ADMIN$ cesta k systémové složce Windows, např. C:\WinNT. PRINT$ prostředek používaný ke vzdálené správě tiskáren.
Připojení sdíleného disku: K sdílenému disku můžeme přistupovat přes Místa v síti nebo Průzkumníka (podle názvu počítače), můžeme také disk připojit jako síťovou jednotku a přistupovat k němu přes „písmenoÿ: v Průzkumníkovi na tento počítač najedeme, v menu Nástroje – Připojit jako síťovou jednotku, vybereme označení (písmeno disku). Místo v síti můžeme připojit i bez jeho automatického vyhledání, jen zadáme jeho adresu podle UNC ve tvaru \\Název počítače\adresář
29
Propojení dvou počítačů kabelem (COM nebo LPT): Na straně hostitele (poskytuje data, tiskárnu, . . .): Start – Nastavení – Ovládací panely, Síťová a telefonická připojení, ikona Vytvořit nové připojení (průvodce), po úvodním okně vybereme Přímé propojení k jinému PC, vybereme Hostitel, definujeme možné uživatele. Na straně hosta (používá to, co je poskytnuto): podobně, jen vybereme Přijímat příchozí připojení V okně Síťová a telefonická připojení se objeví ikona pro toto připojení, stačí na ni poklepat, host zadá jméno a heslo. Tyto zdroje (u hosta) můžeme používat také v souborovém systému, například v Průzkumníkovi máme dvě možnosti: 1. do políčka Adresa zadáme identifikaci počítače podle normy UNC (Universal Naming Conventions) ve tvaru \\Název počítače nebo 2. (Start –) Hledat počítač, zadáme název počítače. Výhodou tohoto typu propojení počítačů je, že nepotřebujeme síťovou kartu (tedy síťovou kartu můžeme zároveň používat pro jiný typ připojení), nevýhodou je nekompatibilita řešení pro některé varianty Windows (např. takto nepropojíme počítače se systémy Windows 98 a Windows 2000).
Síť peer-to-peer: (potřebujeme síťovou kartu) V tomto typu propojení počítačů jsou počítače zařazeny do pracovní skupiny, nikoliv do domény. Je vhodná pro skupinu do 10 počítačů, v níž žádný počítač nemá výsadní postavení (není zde žádný server). Pokud je síťová karta správně detekována, zobrazí se v okně Síťová a telefonická připojení ikona Připojení k místní síti. Po poklepání nebo v kontextovém menu Vlastnosti se objeví základní informace (konfigurace síť. karty, sdílení prostředků, . . . ). Zvolený protokol musí být stejný v celé síti. Seznam propojených počítačů najdeme přes Místa v síti nebo Průzkumníka (či jiný správce souborů). Pro možnost sdílení prostředků je třeba, aby uživatelé připojení do této sítě byli zařazeni do stejné pracovní skupiny.
Síť MS Windows (systémy NT): Nastavujeme pomocí nástroje Síťová a telefonická připojení – Připojení k místní síti, protokol TCP/IP. Vlastnosti propojení nastavujeme ve Vlastnostech protokolu TCP/IP. Pokud IP adresu získáváme dynamicky (DHCP), bývá zde uveden DHCP server, který IP adresu vždy při navázání spojení přidělí (to je také případ připojení k Internetu pomocí modemu), jinak tady zadáváme IP adresu našeho počítače a další související údaje.
Modem: Po nainstalování ovladačů se objeví v Ovládacích panelech v ikoně Možnosti telefonu a modemu. V kontextovém menu – Vlastnosti můžeme dále konfigurovat. Samotné připojení k Internetu se vytvoří pomocí nástroje Síťová a telefonická připojení – Vytvořit nové připojení – . . . – Telefonické připojení k Internetu. Po poklepání na tuto ikonu zadáme uživatelské jméno a heslo, které nám přidělil poskytovatel, číslo, které se má vytočit, stiskneme tlačítko Vytočit.
30
S modemy ve Windows s jádrem NT mohou nastat problémy, pokud je ovladač starý nebo jinak nevyhovující. Může se stát, že při použití ovladače dodaného se zařízením (většinou na CD) systém zamrzne nebo se samovolně restartuje. Podobné problémy se obvykle vyřeší nainstalováním aktualizovaného ovladače (dají se sehnat většinou na internetových stránkách výrobce zařízení nebo jinde na Internetu, případně využijeme technickou podporu a domluvíme se s výrobcem po telefonu či zařízení reklamujeme).
Internet: Ovládací panely – Možnosti sítě Internet (totéž je v kontextovém menu zástupce Internet Exploreru na pracovní ploše). Můžeme nastavovat chování IE, např. adresu startovní stránky. Tato nastavení platí samozřejmě pouze pro MS Internet Explorer. Pokud používáme jiný internetový prohlížeč (Mozilla, Firefox, Opera, . . . ), konfiguraci provádíme pomocí nástrojů poskytovaných tímto prohlížečem. Pokud máme více počítačů a chceme, aby sdílely tentýž přístupový bod k Internetu (například společný modem), pak jedno z nejlevnějších řešení je použití proxy serveru – jeden počítač je připojen k Internetu, na něm je nainstalován patřičný síťový software, ostatní k Internetu přistupují přes tento počítač. Přímo ve Windows je podpora pro sdílení připojení k Internetu realizována buď přes Domácí bránu nebo službu Sdílené připojení k Internetu (viz Nápověda), ale funguje spolehlivě pouze v nejnovějších verzích Windows. Existuje však hodně volně šiřitelných programů dostupných na Internetu (např. Proxy+ na www.proxyplus.cz pro všechny varianty Windows od 95), proxy servery také bývají součástí jiných programů pro podporu práce v síti, jako jsou třeba firewally.
3.3.5
Další nástroje
V Ovládacích panelech najdeme také Nástroje pro správu, přístupné v Start – Programy, a další nástroje. Mohou zde být také nástroje přidané třetími stranami (komunikace s ovladači grafické karty, zvukové karty, nástroje přidané zároveň s instalací ovladačů některého zařízení apod.).
3.4
Konzoly systému
Pod pojmem konzoly chápeme ve Windows 2000 speciální okna, která v sobě sdružují různé nástroje pro správu systému. Většina konzol pracuje s grafickým rozhraním.
3.4.1
Microsoft Management Console (MMC)
Pomocí tohoto nástroje můžeme vytvářet, ukládat nebo otevírat konzoly. Konzoly obsahují moduly snap-in (samostatné nástroje), rozšiřující moduly snap-in (pro rozšíření vlastností určitého nástroje, tento nástroj již v konzole musí být jako snap-in), ovládací prvky pro sledování, úlohy, průvodce pro správu, . . . Spuštění MMC: Start – Spustit – mmc. V menu Konzola – Nová můžeme vytvořit novou konzolu, Konzola – Přidat nebo odebrat modul snap-in (v okně, které se pak zobrazí, tlačítko Přidat)
31
určíme, jaké nástroje bude konzola potřebovat, pak konzolu uložíme (soubor msc). V menu Start – Programy se objeví Administrative Tools (Nástroje pro správu) a tam odkaz na vytvořenou konzolu. Jednotlivé nástroje, jako je třeba defragmentace disku nebo správa uživatelů, mají také příponu msc (rozšiřující také příponu cpl) a jsou to spustitelné soubory, které můžeme spustit v Start – Spustit nebo vytvořit zástupce. Nejdůležitější konzolou je Správa počítače, kterou můžeme spustit z kontextového menu ikony Tento PC – Manage (Spravovat), nebo v Nástrojích pro správu a nebo v Start – Spustit, zadáme compmgmt.msc . Z dalších konzol například Správce zařízení (devmgmt.msc), Nástroj pro správu disků (diskmgmt.msc), Vyměnitelné úložiště (ntmsmgr.msc), Výkon systému (perfmon.msc), Služby (services.msc) a další.
3.4.2
Konzola pro zotavení
Pokud nelze Windows spustit ani v nouzovém režimu, můžeme použít konzolu pro zotavení. Lze tady zadávat příkazy (podobně jako v Příkazovém řádku, ale nejsou úplně totožné), a tak zjišťovat, které ovladače nebo jiné soubory jsou poškozeny, povolit nebo zakázat některé služby systému, formátovat disky (diskety), pracovat s místními disky (vč. disků se souborovým systémem NTFS) atd. Spuštění konzoly: pokud je nainstalovaná (standardně není), nachází se v startovacím menu zobrazovaném při startu počítače, jinak lze konzolu spustit přímo z instalačního CD Windows 2000/XP. Po spuštění konzoly je nutné přihlásit se jako administrátor. Nápovědu k příkazům konzoly zobrazíme zadáním příkazu help, příkazy jsou některé stejné jako v Příkazovém řádku (cd, chkdsk, attrib, dir, format, exit – ukončení konzoly a restart počítače, set, . . . ), některé nové (map zobrazí mapování písmen jednotky, fixmbr opraví hlavní spouštěcí záznam na disku, enable spustí nebo povolí službu systému nebo ovladač, . . . ).
3.5
Nápověda Windows
Důležitým nástrojem, který je dobré se naučit ovládat, je Nápověda Windows. Vyvoláme ji v na bídce Start – Nápověda, nebo stisknutím klávesy F1 v kterémkoliv nástroji Windows (často lze takto vyvolat i nápovědu pro určitý prvek zobrazený v grafickém rozhraní nástroje). Můžeme ji také spustit v nabídce Start – Spustit, když zadáme název souboru hh.exe . Od Windows 98 je systém nápovědy pro systém založen na souborech CHM, což jsou vlastně zkomprimované soubory HTML. Program hh.exe pro zobrazování těchto souborů sdílí knihovny s Internet Explorerem (má stejné jádro), proto jsou tyto programy vlastně vzájemně zaměnitelné a nic nám nebrání použítat nápovědu pro zobrazování internetových stránek (např. v Start – Spustit zadáme hh internetová adresa ).
32
3.6
Další nástroje
Nástroje pro konfiguraci systému, které sice mají grafické rozhraní, ale nejsou přístupné přímo v grafickém prostředí systému, jsou Nástroj pro konfiguraci systému (msconfig.exe) a Editor systémové konfigurace (sysedit.exe). V různých verzích a variantách Windows je vždy alespoň jeden z nich. Spustíme je například napsáním jejich názvu v dialogu Start – Spustit. Nástroj pro konfiguraci systému je komplexnější nástroj, který umožňuje pracovat s konfiguračními soubory autoexec.bat a config.sys, všemi systémovými proměnnými (to vše bude probráno v pozdějších kapitolách), určovat, které programy se spustí po spuštění počítače (ale ne vše je zde zachyceno, viz kapitola 3.7 na str. 34), a další. Editor systémové konfigurace je pouze rozhraní k některým konfiguračním souborům jako je win.ini, system.ini, autoexec.bat atd. Různé verze a varianty Windows nabízejí některé další nástroje, např. ve Windows XP SP2 je zde Centrum zabezpečení, Přímo v menu Start – Příslušenství jsou další aplikace, které můžeme považovat za nástroje, např. Příkazový řádek, nástroje pro komunikaci nebo usnadnění (některé z nich jsou přístupné přes Ovládací panely). Můžeme doinstalovat další nástroje, které však nejsou dostupné přes instalaci systému, obvykle se nacházejí na instalačním CD nebo na stránkách Microsoftu (a nebo na CD přiložených k počítačovým časopisům), případně nástroje od třetích stran, které jsou buď komerční nebo taktéž volně dostupné na Internetu. Nástroje na instalačním CD, které se standardně neinstalují, můžeme např. ve Windows XP instalovat tak, že na CD najdeme adresář Support, v něm Tools, a poklepeme na soubor suptools.msi. Instalace se provede standardně do složky Support Tools v Program Files. Jsou zde také soubory se stručnou dokumentací ve formátu HTML, ale opravdu tak stručné, že funkce jednotlivých nástrojů zjistíme až z jejich vlastní nápovědy po nainstalování. Bohužel je instalace nedotažená, umožní sice přístup k některým nástrojům nebo informacím o nich v menu Start – Programy – Windows Support Tools, ale některé tam vůbec nejsou uvedeny (např. activate.exe, který nastavuje aktivační klíč pro Windows, pviewer.exe, který zobrazuje všechny spuštěné procesy v počítači, tracelog.exe, tracefmt.exe a tracepdb.exe umožňující „čitelnéÿ sledování sítě, atd.), jiné nástroje zde nemají uvedenu nápovědu, několik aplikací zde uvedených dokonce ani není na CD a nenainstalují se (jsou naštěstí ke stažení na serveru Microsoftu). Nástroje na instalačním CD jsou velmi silné, experimentování bychom si měli rozmyslet. Podrobné informace o jednotlivých programech získáme tak, že v menu Start – . . . – Windows Support Tools zvolíme Command Prompt. Tam zadáme vždycky název nástroje s parametrem /?. Užitečný může být například nástroj Windows Installer Clean Up Utility (msicuu.exe), který dokáže odstranit zbytky aplikací, které nebyly odstraněny pomocí dialogu Přidat nebo odebrat programy. Jeden z užitečných nástrojů dostupných na stránkách Microsoftu je například TweakUI, což je součást PowerToys (souhrn nástrojů, na které si programátoři Microsoftu udělali čas až tehdy, když byly Windows na trhu, taky nejsou k zahození). Tento nástroj umožňuje provádět především nastavení prostředí taková, na jaká standardní prostředky nestačí a bylo by nutné provést změny v registru. Je ke stažení na serverech Microsoftu – www.microsoft.cz nebo www.microsoft.com. Odkaz se obvykle jmenuje Stáhněte si nebo Download, případně lze vyzkoušet vyhledávání
33
řetězce powertoys. Především pro uživatele Windows XP je určen další balík programů dostupný zdarma na stránkách Microsoftu, MS Partner Pack. Obsahuje antivirový program a několik dalších programů včetně her (je toho dost hodně, analogový modem není zrovna nejvhodnější prostředník). Programy potřebují pro svůj běh nainstalovanou podporu .NET Framework, DirectX a další, vše potřebné lze doinstalovat také ze serveru Microsoftu. Pokud došlo k takovému poškození Windows, že se nepodaří je spustit a z nějakého důvodu nemůžeme provést opravu ani pomocí Konzoly pro zotavení, existuje ještě nástroj, PE Builder, který není od Microsoftu, a je volně ke stažení na adrese www.nu2.nu. Jde o bootovatelný systém vyrobený z instalačních disků Windows XP a Windows 2003 Server (je použitelný pro systémy od Windows 2000), nabízí v grafickém uživatelském rozhraní základní nástroje pro správu včetně sítě a podpory souborových systémů FAT, NTFS a CDFS. Microsoft nabízí podobný produkt, MS WinPE, ale pouze jako doplněk velkých zakázek klasických Windows.
3.7
Co se spouští při startu systému?
Během startu systému se spouští hodně programů. Některé z nich jsou potřebné, jiné užitečné, další však mohou být zbytečné, obtěžující nebo i nebezpečné. To, že určitý program má být spuštěn při startu systému, sdělujeme systému na několika místech. Existují nástroje, které dokážou zobrazit obsah všech těchto míst, jiné, které zahrnují alespoň některá z nich. Jedny ze základních nástrojů jsou například msconfig.exe a tweakui (o obou se píše jinde v tomto dokumentu). Informace o programech, které jsou spouštěny po startu systému, obvykle najdeme zde: 1. Složka Po spuštění (StartUp) v menu Start – Programy. 2. Soubor Win.INI ve Windows 9x/ME v části [windows], hodnoty load a run. 3. V registru v klíči HKCU/Software/Microsoft/Windows/CurrentVersion, podklíčích Run a RunOnce. První podklíč obsahuje aplikace, které se budou spouštět po každém přihlášení uživatele, druhý ty, které se spustí jen jednou a pak budou z tohoto klíče vymazány. Jestliže však položka v podklíči RunOnce začíná vykřičníkem, bude se spouštět po každém přihlášení, nebude vymazána. V každém z těchto podklíčů dále existuje podklíč RunOnceEx, který má ještě další speciální funkce (je možné definovat zde přepínače určující reakce při různých situacích). 4. V registru v klíči HKLM/Software/Microsoft/WindowsNT/CurrentVersion/Winlogon, textová hodnota Userinit. V jejím údaji za symbolem čárka mohou následovat cesty k aplikacím, které se také mají spouštět po přihlášení uživatele. V nástroji msconfig.exe nejsou viditelné programy uvedené v možnostech 2 a 4, programy z možnosti 3 se zde nezobrazí, pokud nejsou přímo v klíčích Run nebo RunOnce, ale v těchto klíčích je nejdřív vytvořen podklíč s jakýmkoliv názvem a až v něm je uveden program.
34
3.8
Klávesové zkratky
Při práci v systému se nám mohou hodit některé klávesové zkratky, které dokážou hodně zrychlit práci (pokud ovšem je člověk zná zpaměti). V tabulce 3.1 na straně 35 je několik klávesových zkratek, které můžeme používat.
Klávesy
Význam
+E
Spuštění Průzkumníka. Totéž jako Start – Hledat, otevře se dialog pro hledání souborů. +F Vyhledávání počítače v síti (pokud jsme připojeni k lokální síti). +Ctrl+F (LOCK) Zamknutí počítače. Při pokusu o přístup k systému bude +L vyžadováno heslo. Tuto možnost použijeme, pokud potřebujeme na krátkou dobu odejít od počítače. Minimalizace všech oken. Totéž jako ťuknutí na tlačítko Zobrazit +M plochu na Panelu snadného spuštění. Návrat do původního stavu po minimalizaci zkratkou +M . +Shift+M Totéž jako Start – Spustit, otevře se dialog Spustit program. +R +U Vyvolání nástrojů Lupa nebo Klávesnice na obrazovce. (v Adobe Readeru) Přepnutí do Ctrl+L celoobrazovkového režimu, vhodné pro prezentace (zpět: klávesa ESC ). (v Internet Exploreru) Přepnutí do celoobrazovkového režimu. F11 Zavření aktivního okna (pokud je to hlavní okno aplikace, pak ukon Alt+F4 čení této aplikace. Jestliže je aktivním objektem Plocha, pak ukončení Windows. F10 nebo Alt Aktivace menu aplikace (v některých aplikacích funguje jedno, v jiných druhé). Alt+Tab Přepínání mezi spuštěnými úlohami (držíme Tab a ťukáme na Alt +poklepání
aplikaci, kterou chceme). Alt tak dlouho, dokud se nedostaneme k té Při poklepání myší při stisknuté klávese Alt na kterémkoliv ob-
jektu (ikona na ploše, soubor, apod.) získáme vlastnosti tohoto objektu (totéž jako když v kontextovém menu najdeme Vlastnosti).
Tabulka 3.1: Některé klávesové zkratky ve Windows Informace o použitelných klávesových zkratkách můžeme získat v Nápovědě Windows například s použitím vyhledávání hesla „klávesové zkratkyÿ. Vlastní klávesovou zkratku si můžeme nadefinovat například pomocí zástupce. Když vytvoříme zástupce jakéhokoliv objektu, můžeme v jeho vlastnostech (v kontextovém menu položka Vlastnosti) určit klávesovou zkratku, po jejímž použití je tento objekt vyvolán. Tento postup můžeme použít na téměř kterýkoliv objekt, nejen programy, jen se doporučuje dávat pozor, aby klávesová zkratka ještě nebyla definována pro jinou operaci (je dobré volit zkratky typu Ctrl+Alt+... ).
35
Existují programy, které dovolují definovat zkratku pro danou operaci bez nutnosti vytvářet zástupce, některé z nich jsou volně dostupné na Internetu (např. Winkey na www.copernic.com).
3.9
Důležité soubory a složky Windows
Zde uvedeme některé ze složek a souborů, které je dobré znát, ostatní netřeba komentovat (Cursors, Help, . . . ). Nejdřív nejdůležitější složky: Documents and Settings: (to platí pro řadu NT, v 9x a ME Profiles v adresáři, kde jsou nainstalovány Windows): lokální nastavení pro každého uživatele, a to data aplikací, nabídka Start, Oblíbené položky, nastavení plochy, v NT také složka pro kontextové menu Odeslat do (SendTo) a Nový. Program Files: zde se obvykle instalují aplikace. Windows: (WinNT apod.) nejdůležitější systémová složka, jejíž název je uložen v syst. proměnné WINDIR, obvykle se jmenuje Windows, WinNT, Win32. V této složce jsou všechny ostatní složky, které zde uvedeme. System a System32: System, narozdíl od starších Windows, obsahuje pouze některé dynamické knihovny a ovladače, které používají starší aplikace, je nutná pouze z důvodu kompatibility. Složka System32 obsahuje dynamicky linkované knihovny (většinou zde jsou knihovny systému), ovladače, ovládací prvky ActiveX (ocx soubory, vlastně jde také o dynamické knihovny) a některé aplikace (je tady například Příkazový řádek – cmd.exe, Ovládací panely – control.exe, programy pro defragmentaci disků FAT a NTFS, programy pro vnější příkazy Příkazového řádku, . . . ). Inf: informační soubory definující obvykle ovladače (instalační informace). Je zde také soubor sysoc.inf (viz str. 38). Prefetch: (Windows XP) Windows zde ukládají soubory – zástupci nejčastěji spouštěných programů. Je to z důvodu zrychlení spuštění těchto programů (systém nemusí v adresářové struktuře daleko, navíc jsou v těchto souborech uloženy odkazy na všechny zdroje, které program používá, takže systém má všechny informace pohromadě). Pokud je těchto souborů příliš mnoho, systém to spíše zpomaluje. Proto se doporučuje obsah této složky občas promazat (alespoň část), systém si postupně soubory dotvoří znovu. Tato složka neexistuje, pokud nemáme nastavenu optimalizaci spouštění aplikací. Je zde také soubor pro optimalizaci spuštění samotných Windows, a to Layout.ini. Spool: (v někt. Windows je ve složce System32) - dočasné systémové soubory, například tiskové položky po dobu, než jsou zpracovány. Temp, Temporary internet files: (v profilech jednotlivých uživatelů, Local Settings) dočasné soubory, je dobré tyto složky občas promazat (pro dočasné soubory sítě Internet používáme raději možnost vestavěnou do Internet Exploreru, menu Nástroje – Možnosti Internetu (příp. v Ovládacích panelech). Někdy ale musíme i tyto soubory mazat ručně. SendTo: (může být v profilu každého uživatele) zde jsou zástupci programů nebo služeb, kterým můžeme odesílat soubory (může tu být disketa, program - Word, Poznámkový blok, ZIP, nebo tiskárna, atd.). Tato složka je ve Win9x přímo ve složce Windows, v řadě NT
36
v Document and Settings ve složce každého uživatele. Může být také jinak pojmenovaná (název lze zjistit v registru, například při prohledávání registru zadáme SendTo). ShellNew: (může být pojmenována Šablony, nachází se obvykle v systémovém adresáři WINDIR nebo tam, kde SendTo) prázdné dokumenty různých aplikací (například prázdný dokument DOC Wordu ve skutečnosti obsahuje hodně formátovacích informací, nemůže mít nulovou délku). Tyto dokumenty se použijí, když v kontextovém menu zvolíme Nový – . . . Pokud nějaký program (aplikace) chce používat složky SendTo a ShellNew (Šablony), měl by pracovat s registrem a nespoléhat na implicitní umístění. Quick Launch: (v profilech uživatelů, Data aplikací – Microsoft – Internet Explorer) zástupci programů umístěných na Panelu snadného spuštění. Recycled: fyzické umístění Koše. dllcache: (v System32) složka používaná pro zálohy systémových knihoven. Při běhu Windows (ME/2000/XP) běží na pozadí proces programu SFC.EXE (System File Checker) a veškeré „nedovolenéÿ změny systémových souborů vrací zpět pomocí této zálohy. Scan můžeme spustit i ručně, pokud se nám nezdá chování systému, příkazem v Start – Spustit sfc /scannow . Driver Cache: složka obsahující soubory důležité pro ovladače. Nejsou to zálohy, nemazat! Některé důležité soubory (některé z nich jsou pouze ve Windows XP) – pokud není uvedeno jinak, soubor je ve složce System32: pagefile.sys (na systémovém disku) stránkovací soubor systému (virtuální paměť). Vlastnosti tohoto souboru nastavujeme v nástroji Systém, záložka Upřesnit, Výkon (ve Windows 2000 Virtuální paměť, ve Windows XP Nastavení – Pokročilé – Virtuální paměť). hiberfil.sys (na systémovém disku) do tohoto souboru se ukládá celý obsah operační paměti při přechodu do režimu spánku. svchost.exe tento program slouží k zavádění některých služeb a knihoven DLL do paměti. shutdown.exe (je ve Windows XP, ale můžeme ho zkopírovat i do Windows 2000) program pro vypínání, příp. restartování Windows. Popis přepínačů pro tento program (vypnutí, restart, vzdálené vypnutí, . . . ) je v nápovědě. Efektivně se dá použít například pro zástupce na plochu nebo do panelu Snadné spuštění. clipbrd.exe prohlížeč schránky systému Windows. Tady si můžeme mimojiné prohlédnout obsah schránky. cleanmgr.exe jednoduchý nástroj, který dokáže smazat z logických disků dočasné soubory. packager.exe nástroj na vytváření balíčků objektů, umožňuje vytvářet propojení objektů OLE. boot.ini (na disku C:, i když to není systémový disk NT) obsahuje některá nastavení používaná při zavádění operačního systému. Úpravy provádíme pouze tehdy, pokud máme nainstalovaných více různých operačních systémů typu Windows. Můžeme tady nastavit například řetězce, které se zobrazí při výběru operačního systému při startu počítače (to jinde nelze) nebo dobu, po kterou čeká zavaděč, než zvolí implicitní položku. winhelp.exe, winhlp32.exe (v systémové složce) – aplikace pro zobrazování souborů nápovědy ve starším formátu.
37
kernel32.dll, user32.dll, gdi32.dll knihovny pro moduly jádra. ntoskrnl.exe hlavní soubor jádra, exekutiva (řídí operační systém). ntdll.dll rozhraní mezi procesy běžícími v uživatelském režimu a procesy běžícími v chráněném režimu. hal.dll knihovna obsahující funkce pro vrstvu abstrakce hardware (HAL = Hardware Abstraction Layer). services.exe řadič služeb, zajišťuje běh služeb systému. winlogon.exe program pro proces přihlašování uživatele. csrss.exe program pro podsystém Win32 API. sysoc.inf (ve složce Inf) tento soubor můžeme použít pro odinstalování těch součástí Windows, které jsou v některých verzích Windows standardně neodinstalovatelné (games, WordPad, AutoUpdate, . . . , nejsou uvedeny v seznamu v Ovládacích panelech – Přidat nebo ubrat programy): otevřeme tento soubor v Poznámkovém bloku, najdeme řádek, který se týká aplikace, kterou chceme odinstalovat, a smažeme slovo HIDE u konce tohoto řádku (čárky musíme nechat!!!). Uložíme. Pak se v Ovládacích panelech – Přidat nebo ubrat programy objeví i tato aplikace. bootlog.txt (na systémovém disku, platí pro systémy s DOS jádrem) do tohoto souboru se zapisují informace o startu systému včetně chyb při spouštění různých částí systému, pokud nestartujeme do nouzového režimu. MSDOS.SYS (na systémovém disku, platí pro systémy s DOS jádrem) od verze Windows 95 je to textový konfigurační soubor (do Windows 3.x byl binární bez možnosti editace). Můžeme zde nastavovat například možnosti pro start systému, například v sekci [Options] řádek BootMenu=1 znamená, že se při startu systému spustí menu, ve kterém si můžeme vybrat mezi normálním spuštěním systému, spuštěním v nouzovém režimu, čistý MS-DOS, případně starší operační systém, pokud nebyl přeinstalován, BootMulti=1 umožní přístup k dříve instalovanému systému Windows 3.x, pokud nebyl přeinstalován (je vhodné mít uvedenou i předchozí volbu), BootGUI=0 zakáže spuštění grafického rozhraní (pracujeme v textovém režimu, používáme příkazy MS-DOSu, grafické rozhraní spustíme příkazem win.com ). V některých případech si sami můžeme určit, jakou ikonou bude určitý objekt označen. Jde to například u zástupců, a pokud je zapnuto Vlastní nastavení složky (v Možnostech složky), tak i u složek. Ikonu můžeme určit ve Vlastnostech objektu (v kontextovém menu). Ikony najdeme v téměř každé dynamické knihovně, ale také v EXE souborech. Pokud jsou u složky nastaveny některé funkce související s Vlastním nastavením, pak se v této složce objeví soubor desktop.ini. Je to textový konfigurační soubor, ve kterém je možné také definovat vlastnosti zobrazení složky.
38
Kapitola 4 Verze a varianty Windows V této kapitole postupně probereme verze a varianty Windows, u každé jsou uvedeny nejdůležitější vlastnosti a rozšíření oproti starším verzím.
4.1
Windows 3.x
Windows až do verzí 3.x nejsou operační systém, ale pouze jeho nástavba. K jejich provozu je nutné mít nainstalovaný MS-DOS. Samotný MS-DOS je jednouživatelský, jednoprocesorový systém bez multitaskingu a podpory sítě, Windows 3.x přidávají multitasking a omezenou podporu sítě (záleží na variantě). Spuštění: v prostředí MS-DOSu spustíme program WIN (jde o soubor WIN.COM). Tento program spustí a načte do paměti další programy a jiné soubory, které jsou k provozu Windows nutné. Verze Windows 3.x: • 3.0 – první celkem úspěšné Windows (květen 1990), pro které vývojáři začali více psát aplikace, • 3.1 – první celkem provozovatelné Windows, • 3.11 for Workgroups – zabudovaná podpora sítí. Windows 3.x lze spustit v několika módech (režimech): reálný mód (pouze do Win 3.0): nelze používat paměť nad 1024 kB (použitelné pro starší stroje), multitasking pouze základní, standardní mód: DOS aplikace pouze v celoobrazovkovém režimu, podpora především pro aplikace Windows, které (narozdíl od DOS programů ve Win) mají přístup k veškeré paměti počítače, rozšířený mód: procesor nejméně 386, skutečný multitasking, zabudovaná ochrana paměti využívající chráněného módu procesorů řady x386, DOS programy také jako okna.
39
DOSovské programy zde běží ve virtuálních počítačích. Protože DOS programy nejsou vytvářeny tak, aby mohly existovat v prostředí s více spuštěnými programy a chovají se ke zdrojům včetně paměti dost „pirátskyÿ, ve Windows je tento problém řešen tak, že jsou spuštěny na vlastním virtuálním počítači s přidělenými zdroji, aby si „myslelyÿ, že jsou na počítači samy a že více zdrojů (hlavně operační paměti), než jsou ty, které mají přidělené, na tomto počítači ani neexistuje. Programy pro Windows jsou již překládány s tím, že budou pracovat v multitaskovém prostředí, proto mohou být všechny v jediném virtuálním počítači. Spolupracují formou kooperativního multitaskingu. Konfigurace Windows 3.x obvykle znamená úpravu INI souborů. Většina INI souborů pro samotné Windows je přístupná pomocí programu SYSEDIT.EXE, ale vzhledem k tomu, že jde o textové soubory, lze je upravovat kterýmkoliv textovým editorem, ale bez formátování (tedy nepoužívat třeba WORD!). Změny provedené ručně v INI souborech se projeví až po restartování systému, pokud tyto změny děláme zprostředkovaně např. přes Ovládací panel, není třeba restartovat počítač. Nejdůležitější INI soubory jsou SYSTEM.INI: cokoliv se týká nastavení hardwaru počítače, především ovladače, nastavení sítě apod. WIN.INI: nastavení softwaru a především samotných Windows, například vzhled oken (např. šířka hranic kolem oken), rychlost blikání kurzoru, nastavení pro dvojkliknutí myší (oblast, rychlost), přípony souborů, které Windows považují za spustitelné (COM, EXE, . . . ), asociace přípon souborů a programů pro jejich editaci, nastavení spořiče obrazovky, nastavení pracovní plochy včetně ikon, formát času a data, atd. Uživatelské rozhraní jen trochu připomíná rozhraní novějších Windows. Nejdůležitější část je realizována programem PROGMAN.EXE (přistupujeme k němu přes „hlavní oknoÿ a jeho menu), pokud je tento program ukončen, končí celá Windows. Grafické rozhraní není vybaveno Hlavním panelem (jeho funkce částečně plní Hlavní skupina – okno s některými důležitými nástroji) ani plochou v dnes běžném smyslu slova, na „plošeÿ mohou být okna aplikací nebo ikony minimalizovaných programů. K přepínání mezi aplikacemi se používají klávesové zkratky Alt+Tab a Ctrl+Esc .
4.2
Windows 95 a Windows 95 OSR2
Pracovní název verze Windows 95 je Chicago. Je to jednouživatelský jednoprocesorový systém s podporou multitaskingu a základní podporou sítí. První verze Windows 95 – po zadání příkazu VER na příkazovém řádku se objevilo číslování verze 4.00.950. Tato verze byla značně poruchová, proto vznikla verze opravená s názvem Windows 95 OSR2. Minimální konfigurace: Intel 386, 4 MB RAM, 35 MB disk, myš, ale tato konfigurace postačovala tak akorát ke spuštění Windows a některých méně náročných programů. Vlastnosti: • 32bitový operační systém pro pracovní stanice, ale ne plně 32bitový (mimo jiné to znamená,
40
• •
• • • •
•
že většina DLL knihoven je kódováno na 32 bitech, některé – převzaté z Win 3.x – jsou 16bitové, délka slova a proto také délka datového typu integer je 32 bitů), veškerá nastavení systému jsou uložena v registru, INI soubory jsou jen pro zpětnou kompatibilitu, dlouhé názvy souborů (včetně cesty 256 znaků), jinak zpětná kompatibilita (ne 100%ní), umožňuje využít starší 16bitové ovladače psané pro Win 3.x, většina aplikací pro Win 3.x běží i ve Win 95, preemptivní multitasking (přepínaný, každý proces má přiřazen časový interval na procesoru, velmi malý, procesy se střídají, procesům je možné přidělovat priority), multithreading (něco jako multitasking v rámci jedné aplikace, možnost rozdělit aplikaci na více procesů), Plug&Play – usnadnění instalace a konfigurace hardwaru, Programy, konfigurace systému a prakticky cokoliv dalšího je nově přístupno přes Hlavní panel a Tlačítko Start, přibyla ikona pro Koš, interaktivní Plocha, na kterou lze umístit ikony (ale ještě ne Aktivní plocha), využití pravého tlačítka myši pro kontextovou nápovědu (ve Win 3.x nebyla), vestavěn MS-DOS 7.0, lze spustit jako emulaci DOSu přímo z Windows nebo přímo (bez Windows, ty lze z DOSu spustit opět příkazem WIN).
Registr je centrální informační databáze systému, najdeme zde většinu toho, co ve Windows 3.x bylo v INI souborech. Fyzicky je (ve Windows s DOS jádrem) uložen v binárních souborech SYSTEM.DAT a USER.DAT. Soubor MSDOS.SYS je od této verze Windows textový, je možné v něm nastavit například možnost mít instalováno Windows 3.x (s DOSem 6.x) i Windows 95: instalujeme Windows 95 do jiného adresáře než kde jsou Windows 3.x a v souboru MSDOS.SYS do sekce [Options] doplníme BootMulti=1 BootMenu=1 Aplikace Win16, Win32 běží v systémovém virtuálním počítači, 32bitové (psané pro Win95) mají každá svůj adresový prostor, 16bitové sdílejí jeden společný. Aplikace MS-DOSu mají každá svůj virtuální počítač (a tedy každá svůj adresový prostor). Spouštění DOS aplikací – možnosti: 1. Původní systém DOS (např. MS-DOS 6.22): nutné zajistit už při instalaci Windows. Při startu systému pak stiskneme klávesu F8 pro vyvolání Boot Menu, vybereme „Minulá verze systému MS-DOSÿ (proč: některé programy jsou závislé na určité verzi DOSu, protože některé služby operačního systému jsou různé v různých verzích) 2. DOS bez Windows: v MSDOS.SYS v sekci [Options] napíšeme řádek BootGUI=0 nebo při startu systému budeme používat Boot Menu (při startu systému se zavede MS-DOS 7.0, nespustí se grafické prostředí) 3. Odstavení Windows na dobu činnosti aplikace DOSu: • na ikoně programu: Vlastnosti, záložka Program, tlačítko Upřesnit, Režim MS-DOS • při spuštění programu pomocí této ikony bude systém Windows dočasně odstaven
41
4. Provoz DOS aplikace v prostředí Windows: systém vytvoří virtuální počítač, díky kterému umožní různá nastavení (ve Win 3.x se nastavení provádělo v .PIF souborech vždy pro určitý program, ve Windows 95 se provádí ve Vlastnostech aplikace v kontextovém menu – zobrazení na celé obrazovce nebo v okně, práce také na pozadí nebo i na pozadí, typ a velikost písma, využití různých druhů paměti, . . . )
Přepnutí mezi celoobrazovkovým režimem a oknem: Alt+Enter .
Windows 95 OSR2 : OSR2 = OEM Service Release 2. Windows 95 OSR2 je opravená verze Windows 95, oficiálně jde o vylepšení podpory OEM prodejců. Mohly být dodány pouze s novým počítačem (předinstalované, příp. s instalačními paměťovými médii). Uživatelé, kteří měli dříve legálně nainstalované Windows 95, měli možnost provést automatický upgrade (zvýšení verze) na 95 OSR2 přes Internet na stránkách Microsoftu. Oproti původním Win95 má opraveny některé bezpečnostní díry, je přidána podpora některých dalších hardwarových standardů (např. podpora IRDA – infračervené komunikace), podpora souborového systému FAT32 a vylepšená podpora souborového systému CDFS (pro CD), jsou přidány nové verze některých nástrojů a programů (nová verze Internet Exploreru, Internet Mail and News), pomocník pro jednoduché připojení k Internetu, . . .
4.3
Windows 98 a Windows 98 SE
Windows 98 jsou vnitřně hodně podobné Windows 95 OSR2, vylepšení bylo hlavně v oblasti podpory dalších hardwarových standardů a v grafickém rozhraní. Vlastnosti: 1. Instalace pomocí skriptu: pokud instalujeme Win98 na více počítačů a na každém provádíme tatáž nastavení, volby aplikací apod., při první instalaci vytvoříme skript, ve kterém je toto vše uloženo a na dalších počítačích používáme místo stejného nastavování pouze tento skript. 2. Integrace rozhraní pro Internet: internetový prohlížeč byl vestavěn do systému a je prakticky zaměnitelný s nástrojem na prohlížení lokálních souborů, na pracovní ploše můžeme zobrazit obsah některé WWW stránky, . . . 3. Změny v grafickém subsystému, obvykle souvisí s bodem 2: Aktivní plocha (System Active Desktop – možnost zobrazit na ploše cokoliv, co může být na WWW stránce, mj. to umožňuje mít jako tapetu GIF obrázek), na Hlavním panelu nebo mimo něj můžeme mít další panely, implicitně je to panel Snadné spuštění, menu Start je od Win98 interaktivní (tedy když zde chceme provést změny, nemusíme pracovat s adresáři, soubory a zástupci v systému adresářů, ale můžeme položky jednoduše přetahovat myší, . . . ). 4. Windows Scripting Host (WSH): nástroj pro psaní skriptů pro Windows 98/ME/2000/XP umožňující automatizaci některých činností (v dřívějších verzích byla pouze makrokamera a BAT soubory). Jde o soubory, ve kterých můžeme používat mimo jiné ovládací prvky
42
ActiveX, jsou podporovány některé další skriptovací jazyky (uvádí se JavaScript a VBScript). 5. Plánovač úloh: můžeme naplánovat provedení určité úlohy (například spuštění defragmentace disku, antivirového programu, automatické provádění časově náročných výpočtů v době, kdy s počítačem nikdo nepracuje, optimalizace, . . . ) na určitý den a hodinu, den v týdnu, měsíci, opakování apod. . . . Podpora nových hardwarových standardů: • USB (sběrnice, která umožňuje instalovat zařízení za chodu počítače, nemusíme restartovat, systém sám nadetekuje nové zařízení), ve Windows 98 je však ještě nutné před použitím USB zařízení vždy nainstalovat ovladače, a to i v případě USB flash disků, • DVD, • AGP (rozhraní pro 3D grafiku v aplikacích), • ACPI (rozhraní pro řízení spotřeby energie, umožňuje například zapínat a vypínat periferie jako třeba tiskárny, disky, připojené telefony, televize, . . . , periferní zařízení mohou v případě potřeby aktivovat počítač, díky tomuto prostředí existuje možnost úsporného režimu nebo hibernace počítače – počítač se tváří jako vypnutý, má menší spotřebu energie, ale lze ho kdykoliv okamžitě aktivovat bez nutnosti procházení celé procedury spuštění počítače, funkce Windows, která toto umožňuje, se nazývá OnNow), • DirectX 5.0 a vyšší, • možnost používat více zobrazovacích zařízení najednou (až 9 monitorů, každý může mít jiné rozlišení, obnovovací frekvenci a další vlastnosti, každý může zobrazovat jinou obrazovku), atd. 6. Sledování stavu systému podle jednotlivých procesů: systém sleduje, které prostředky jednotlivé procesy právě používají (paměť, procesor, tiskárna, . . . ), v případě havárie aplikace takové, že aplikace samotná nedokáže tyto prostředky uvolnit, to systém dokáže udělat za ni a prostředky nejsou dále blokovány nebo zpomalována jejich činnost. V případě aplikace Win32 lze uvolnění provést okamžitě, u aplikace Win16 je to složitější (tyto aplikace jsou na sobě více závislé) a prostředky lze uvolnit až tehdy, když svou činnost ukončí všechny běžící Win16 aplikace. 7. Podpora souborového systému FAT32 (bylo už ve Windows 95 OSR2), 8. Windows Update - možnost aktualizace systému (stáhnutí opravných balíčků apod.) přes Internet, lze také automatizovat. 9. Nástroje pro spravování a optimalizaci registru Windows (nejen regedit). 10. atd. Windows 98 zacházejí s aplikacemi prakticky stejně jako Win95. Systémové procesy běží v systémovém virtuálním stroji, mají svůj vyhrazený paměťový prostor, do kterého aplikace nemají přístup. • Každá DOS aplikace má svůj virtuální počítač. Existuje soubor APPS.INF, který obsahuje konfiguraci pro spouštění DOS aplikací, používá se, pokud pro DOS aplikaci neexistuje .PIF konfigurační soubor.
43
• Všechny Win16 aplikace jsou v systémovém virtuálním počítači, ale sdílejí stejný adresový prostor. Pokud dojde k chybě GPF (General Protection Fault – všeobecná chyba ochrany), tedy k narušení paměťového prostoru, obvykle je to způsobeno tím, že některá aplikace přepíše své vlastní paměťové segmenty, nikoliv segmenty jiné aplikace. Windows 98 sledují prostředky přidělené aplikacím a při GPF dokážou tyto zablokované prostředky uvolnit, když to aplikace nedokáže (zamrzla, zhroutila se, . . . ). Win16 aplikace mezi sebou spolupracují formou kooperativního multitaskingu, s Win32 aplikacemi a ovladači spolupracují formou preemptivního multitaskingu. • Win32 aplikace běží v systémovém virtuálním stroji, každá má svůj adresový prostor. Každá Win32 aplikace má svou vlastní frontu zpráv, což má příznivý vliv na stabilitu systému, protože fronta zpráv nemůže být blokovaná jinou aplikací. K blokování může dojít u fronty zpráv pro Win16 aplikace (mají jednu společnou) také z důvodu kooperativního multitaskingu (aplikace může dostat zaměření jen tehdy, když je k ní směrována nějaká událost, ale pokud aktivní aplikace zamrzne například při práci s frontou zpráv, žádná jiná aplikace se ke zprávám nedostane). Co je to vlastně zpráva? Zpráva může být vytvořena přerušením od nějakého zařízení (například stiskneme klávesu na klávesnici nebo pohneme myší), zprávy si také posílají aplikace navzájem, systém aplikacím nebo aplikace systému.
Bude doplněn nákres
Obrázek 4.1: Fronty pro zpracování zpráv ve Windows 98 Windows 98 SE: Verze SE (Second Edition, druhé vydání) měla především odstranit bezpečnostní díry a jiné „prohřeškyÿ původního systému Windows 98. Co je v této verzi nového: 1. aktualizace bezpečnostních funkcí (jde především o záplaty – patche – na bezpečnostní díry systému zneužitelné například při práci s Internetem),
44
2. nové verze některých nástrojů (Internet Explorer 5.0, DirectX 6.1, . . . ), 3. možnost sdílení internetové přípojky (více počítačů sdílí jeden modem, na všech lze s Internetem pracovat víceméně zároveň, ale úplně bez problémů to není), 4. dodatečná podpora pro lokální (LAN) sítě, 5. vylepšená podpora pro USB modemy, 6. možnost připojení modemů na sítích ATM, atd. Windows 98 SE však také nejsou dokonalé, mají například problémy na výkonnějších počítačích (dá se odstranit nainstalováním opravných balíčků přístupných na stránkách Microsoftu).
4.4
Windows ME
ME znamená Millenium Edition. Jedná se o operační systém z řady s DOS jádrem, který se vzhledově podobá Windows 2000. Byl uvolněn do prodeje na začátku roku 2000 (přelom století, odtud název), a to ještě před dlouho slibovanými Windows 2000. Jádro je s menšími změnami víceméně převzaté z Windows 98, navíc obsahuje především výrazně větší podporu multimedií, hovoří se o něm jako o multimediálním operačním systému. Systém se vyznačuje tím, že nástroje používané pro správu bývají někdy jinak pojmenované než v jiných verzích Windows, případně najiných místech. Narozdíl od Windows 2000 je operační systém Windows ME méně stabilní a bezpečný, lépe vybaven podporou multimedií, a je levnější.
4.5
Windows NT
Windows NT vznikly jako pokus o protiváhu UNIXu, velmi úspěšného operačního systému použitelného v síti. Jde tedy o síťový operační systém pro síť typu klient-server, víceuživatelský, víceprocesorový, s podporou multitaskingu. Tento systém byl původně vyvíjen Microsoftem pro IBM jako nový operační systém typu OS/2, ale protože firma IBM se rozhodla během vývoje tohoto systému přerušit spolupráci, Microsoft změnil typ platformy a název systému na Windows NT. Hlavní rozdíl oproti Windows 3.x, 95, 98 je ve struktuře jádra, která opustila koncepci započatou MS-DOSem, což umožnilo výrazně zvýšit bezpečnost a stabilitu celého systému. Bezpečnost a stabilita jsou zde také upřednostňovány před zpětnou kompatibilitou, takže ve Windows NT mohou být problémy s provozováním některých aplikací pro Windows 3.x nebo DOS (a vlastně i pro další Windows s DOS jádrem, ale tyto problémy nastávají málokdy). Vlastnosti: 1. hlavním úkolem je zvýšit stabilitu a bezpečnost operačních systémů Windows,
45
2. použití objektů pro reprezentaci systémových zdrojů, 3. možnost poskytovat vzdálené služby po síti, 4. ochrana systému i uživatelů před jinými uživateli a jejich programy, možnost zabezpečení přihlašováním (víceuživatelský systém), 5. oddělené adresové prostory jednotlivých aplikací (v NT 4.0 a 5.0 také aplikace Win16 běží ve vlastním virtuálním stroji), 6. možnost používat souborový systém NTFS, ale také starší souborové systémy FAT, HPFS (OS/2), CDFS, 7. od Windows NT 4.0 je z důvodu zvýšení výkonnosti Win32 GDI (tj. API pro grafiku) přesunuto do režimu jádra, 8. víceprocesorový systém (už verze pro pracovní stanice dokážou pracovat se 2 procesory), nejen aplikace, ale i operační systém a kód závislý na HW může běžet na kterémkoliv procesoru systému, atd. Verze Windows NT 5.0x má označení Windows 2000, Windows XP mají číslo verze 5.1x. Zde se budeme věnovat systémům Windows NT do verze 5.0, prakticky vše platí i pro Windows XP. Aplikace běží v tzv. podsystémech. Je zde podsystém pro Win32 aplikace (je to proces programu CSRSS.EXE), podsystém pro DOS a Win16 aplikace (VDM – Virtual DOS Machine), podsystém pro aplikace OS/2, podsystém POSIX 1 , . . .
4.5.1
Windows NT 3.x a 4.x
Ve verzích 3.x a 4.x se rozlišují varianty • Windows NT Workstation (instaluje se na pracovní stanice), • Windows NT Server (instaluje se na servery). Windows NT 3.x jsou vzhledově a základním ovládáním podobné Windows 3.x, liší se v struktuře jádra a vybaveností nástroji (jsou zde dostupné spíše systémové nástroje, zejména pro práci se sítí, vybavenost „zábavovýmiÿ nástroji je menší). Nejúspěšnější verze byla 3.51. Windows NT 4.x jsou vzhledově podobné Windows 95, vznikly přibližně ve stejné době (trochu později). Ujala se již verze 4.0. Mají tyto vlastnosti: 1. Svůj vlastní virtuální stroj má vyhrazen nejen každá DOS aplikace, ale také každá Win16 aplikace. Proto • aplikace Win16 mohou využívat výhody preemptivního multitaskingu, 1 POSIX (Portable Open Systems Interface based on Unix – přenositelné otevřené, tj. volně šiřitelné, rozhraní systémů založených na Unixu): nejedná se o operační systém nebo určitou aplikaci, ale o souhrn norem, které definují, jak spolu komunikují operační systém a aplikace. Tedy aplikace napsané podle tohoto standardu pouze mají určitou strukturu a určitým způsobem komunikují s operačním systémem, což samozřejmě znamená i určité požadavky na tento operační systém (obvykle je nutné v klasickém operačním systému pouze vytvořit komunikační „mezivrstvuÿ mezi systémem a aplikací, v NT jde o komunikační program a několik dynamických knihoven.
46
• systém má větší možnosti pro sledování přístupu aplikací k prostředkům, dokáže v případě potřeby zabránit nedovolenému použití prostředku (přístup do paměti, která patří jinému procesu apod.), • je to jeden z důvodů, proč některé aplikace Win16 nedokážou pracovat pod Windows NT 4.x, protože nejsou psány tak, aby podobné zacházení akceptovaly. 2. Je nutné používat ovladače speciálně napsané pro Windows NT, ovladače pro Windows 95 zde nepracují správně nebo nepracují vůbec (přímý přístup do paměti je v NT důkladně kontrolován). 3. Dokáže pracovat s více procesory. 4. Souborový systém NTFS (NT File System) – 32bitový souborový systém (od Win NT 3.x), umožňuje narozdíl od FAT nastavovat přístupová práva pro jednotlivé uživatele a má další vlastnosti výhodné pro stabilitu, bezpečnost a rychlost, může být problém pro DOS programy (NTFS ve Windows NT 4.x nemá některé vlastnosti souborového systému NTFS z Windows 2000/XP). 5. Malá podpora multimedií (je nutné nainstalovat příslušné servisní balíčky, pokud chceme používat multimédia). 6. Workstation je dostupné i v češtině, Server pouze v angličtině. 7. Nejsou podporovány některé standardy, které jsou byly implementovány ve Windows 98 (podpora USB, Plug&Play, připojení více zobrazovacích jednotek, ActiveX, skripty, ACPI, FAT32, plánování úloh, Windows Update, . . . ).
4.5.2
Windows 2000
Windows 2000 patří do řady Windows NT, vnitřní označení je NT 5.0. Existuje ve čtyřech variantách: Windows 2000 Professional: pro pracovní stanice, nástupce NT 4.0 Workstation Windows 2000 Server: server pro menších sítí, nástupce NT 4.0 Server Windows 2000 Advanced Server: pro rozsáhlejší sítě, má více síťových funkcí především s ohledem na bezpečnost a stabilitu, podporuje také například clustering (více propojených serverů s tímto OS se uživateli jeví jako jeden) Windows 2000 DataCenter Server: nejvýkonnější, pro rozsáhlé sítě s velkým množstvím dat, podpora až 16 procesorů, po připlacení až 32 procesorů (všechny varianty jsou víceprocesorové). Dále se budeme věnovat pouze variantě Windows 2000 Professional. Minimální konfigurace: • Pentium 133 (doporučuje se Pentium III, lépe Pentium IV.) • 32 MB RAM (pokud ovšem chceme provozovat i jiný program než samotné Windows, je lepší 256 MB)
47
• 2 GB HDD, min. 650 MB volného místa (platí totéž, je lepší mít alespoň 10 GB disk, na něm několik GB volných)
4.5.3
Windows XP
XP znamená eXPerience, to je zážitek, dojem. Windows XP existují v těchto variantách: Windows XP Home Edition: Tato varianta je určena pro domácnosti, neobsahuje některé nástroje a funkce následující varianty. Windows XP Professional: Oproti předchozí variantě umožňuje například znepřístupnit některé nástroje a soubory určité skupině uživatelů, možnost instalace přes síť a centralizované správy ze serveru, atd. Windows XP Tablet PC Edition: Varianta pro Tablet PC (počítače ovládané především elektronickým perem). Windows XP 64-Bit Edition: Varianta je určena pro počítače se 64bitovou architekturou sběrnice. Umožňuje tento hardware víceméně plně využívat. Windows XP nejsou na rozdíl od Windows 2000 určeny pro servery, zde se počítá se systémem Windows Server 2003 nebo s některou serverovou variantou Windows 2000. Minimální konfigurace: procesor 233 MHz a 64 MB RAM. Ovšem, to platí, pokud člověku stačí mít nainstalované jenom samotné Windows, sem tam spustit počítač a koukat na tu nádheru. Vlastnosti: 1. Hlavní změnou je asi grafický vzhled, ale je možné nastavit klasický vzhled systému známý z Windows 2000. 2. Rychlé přepínání uživatelů: můžeme mít nadefinováno více profilů, každý pro jednoho uživatele, a mezi těmito profily procházet bez nutnosti ukončení aplikací a odhlašování. 3. Obnovení systému: důležité změny v nastavení systému jsou ukládány, a pokud například po instalaci nějaké aplikace systém nejede tak jak by měl a odinstalace nic neřeší, můžeme se vrátit k předchozímu stavu. 4. Vzdálená plocha (varianta Pro): je možné přistupovat z jiného počítače k aplikacím a datům přes stejné rozhraní jako přímo na tomto počítači. Atd. Uživatel přecházející na XP z jiných verzí možná hned po instalaci začne zuřivě přizpůsobovat systém k obrazu svému, protože změn v prostředí je hodně a některé mohou i obtěžovat. Trochu zmatku může způsobit například funkce Průvodce vyčištěním pracovní plochy, která je po instalaci automaticky zapnutá a průběžně odstraňuje z pracovní plochy ty ikony, které po určitý počet dnů nebyly používány. Tato funkce se vypíná v nástroji Zobrazení (v Ovládacích panelech nebo v kontextovém menu plochy, vlastnosti), záložka Plocha, tlačítko Vlastní nastavení plochy. Zde také můžeme určit, které standardní ikony budou na ploše zobrazeny, je tu také možnost konfigurace Aktivní plochy.
48
Součástí systému je také integrovaný firewall (má vlastní nástroj v Ovládacích panelech), který byl s aktualizací SP2 ještě vylepšen, a také další nástroje a průvodci usnadňující některé úlohy ve Windows (např. při konfiguraci sítě).
Windows XP SP2: Na podzim roku 2004 firma Microsoft vydala Service Pack pro Windows XP (opravný balíček) s číslem 2. Tyto opravy natolik mění způsob chování Windows, že si ho uvedeme ve zvláštním odstavci. Celý balík má asi 80 MB, ale pokud nemáme nainstalovaný SP1, je to 270 MB. Je ke stažení na stránkách Microsoftu nebo lze požádat o poslání na CD (platí se pouze poštovné). Nejviditelnější změnou je nový nástroj, který se integruje do Ovládacích panelů a Systémových nástrojů, Centrum zabezpečení. Úlohou tohoto nástroje je hlídat bezpečnost systému, a to stav firewallu, automatické aktualizace a ochranu proti virům. Posledně jmenovaná funkce spočívá v kontrole, zda je nainstalován nějaký antivirový program (jakýkoliv, např. AVG), a jestli je aktualizovaný a zapnutý. Další změnou je nová verze samotného firewallu. Ve Windows SP1 se jmenoval Internet Connection Firewall, teď je to Windows Firewall. Kromě změny názvu je změnou například aktivita firewallu už při bootování Windows. Účelem firewallu je zabránit „vynášeníÿ důležitých informací typu hesla, číslo kreditní karty, konfigurace čehokoliv, soubory se soukromým obsahem, . . . . Uživatel přes jednoduché grafické rozhraní může nastavit protokolování úspěšných i neúspěšných pokusů o přenos dat do sítě i nadefinovat vyjímky z blokování příchozích žádostí buď určením portu nebo přímo aplikace či služby, které se má vyjímka týkat. Některé programy bohužel nefungují při zapnutém Windows Firewallu. Pokud nepomůže zařazení do vyjímek, je nutné během provozu programu firewall vypnout nebo používat jiný. SP2 dále přenastavuje vlastnosti některých aplikací dodávaných s Windows, např. v Outlook Expressu mění způsob zacházení s přílohami e-mailů především za účelem větší bezpečnosti (při podezření na bezpečnostní rizika, například u přílohy, která je spustitelným souborem, se snaží její otevření blokovat, a pokud uživatel chce přílohu otevřít, děje se tak ve spolupráci s antivirovým programem). Změnou prošel také Internet Explorer, nejviditelnější je možnost zablokovat pop-up okna, velice důležitá je větší kontrola uživatele nad plug-in moduly (menu Nástroje – Spravovat doplňky. . . ). Součástí SP2 jsou záplaty na různé bezpečnostní mezery, které mají zabránit útokům některých virů (například ochrana před přetečením vyrovnávací paměti, ochrana před spouštěním dat – funguje pouze pokud procesor podporuje příznaky paměti, jako třeba AMD Athleton 64), některé změny se týkají služeb přistupujících na síť.
4.6
Kompatibilita verzí Windows
32-bitové aplikace pro Windows obvykle je možné spouštět na všech 32-bitových Windows včetně řady NT. Vyjímkou jsou programy, které potřebují přímý přístup k prostředkům nebo „trvajíÿ na umístění systémových souborů charakteristickém pouze pro určité verze systému.
49
DOSovské aplikace mají se spouštěním v NT systémech ještě větší problémy. Zatímco při spuštění na Windows s DOS jádrem máme možnost využít režim MS-DOS (hned při spuštění) a případně na Internetu stáhnout některé potřebné ovladače, v NT systémech tato možnost není. Pokud program potřebuje například přímo přistupovat k zvukové kartě (DOSovské hry) a nemůžeme použít boot disketu pro naběhnutí „pouze DOSuÿ (např. tehdy, když máme všechny disky naformátovány na NTFS), jediným řešením je použít některý emulátor. Tyto programy můžeme stáhnout na Internetu, např. DOSBox na www.sourceforge.net nebo použijeme některý program pro vytvoření virtuálního počítače (VMWare, VirtualPC, . . . ). Problémy s kompatibilitou mohou nastat při instalaci systému přes starší operační systém typu Windows, například nelze přeinstalovávat Windows 3.x ani 95 na Windows XP (je nutné provést čistou instalaci). Hlavní problémy mohou nastat s kompatibilitou ovladačů, protože 16-bitové ovladače použitelné ve Windows 3.x, 9x a ME nelze používat ve Windows 2000 a XP.
50
Kapitola 5 Příkazový řádek Windows Zde se budeme věnovat důležitému nástroji dostupnému ve všech dosud existujících verzích Windows, Příkazovému řádku. V úvodní části kapitoly jsou základní informace o způsobu práce se složkami (adresáři) a soubory, následuje přehled nejpoužívanějších příkazů členěný podle jejich určení, podíváme se také na pokročilejší témata jako je správa sítě přes Příkazový řádek.
5.1
MS-DOS jako operační systém
MS-DOS (Microsoft Disk Operating System) byl před rozšířením operačních systémů s grafickým subsystémem nejpoužívanějším systémem na osobních počítačích. Jeho hlavním autorem je Bill (vlastně William) Gates, vlastníkem licence je jeho firma Microsoft. Existují i jiné DOSy, se kterými firma Microsoft nemá nic společného, známý je například DR-DOS. Poslední samostatná verze MS-DOSu byla 6.22, verze 7.0 je již chápána jako součást Windows 95. Je to jednouživatelský, jednoúlohový, jednoprocesorový systém, přímo s operačním systémem pracujeme obvykle v textovém režimu (zadáváme příkazy na klávesnici) nebo používáme jiný shell1 . Některé DOSy nabízejí standardně dokonce mnohem více než MS-DOS, například některou formu multitaskingu včetně preemptivního nebo alespoň dokonalejší správu paměti.
5.2
Adresáře
Pracovní adresář (aktivní, aktuální adresář) je adresář, ve kterém právě pracujeme, obdobně pracovní disk. Každý disk má zvlášť uložen svůj pracovní adresář, proto po přepnutí na jiný disk se automaticky přepínáme do jeho pracovního adresáře. Shell je rozhraní mezi uživatelem a operačním systémem. Textový shell (shell pracující v textovém režimu) přijímá od uživatele příkazy ve formě řetězců znaků, obvykle vycházející z angličtiny (například copy nebo cp pro kopírování), zatímco shell pracující v grafickém nebo pseudografickém režimu umožňuje uživateli zadávat příkazy jednodušším způsobem (například „přetáhneÿ myší ikonu na jiné místo). 1
51
\ – hlavní adresář disku (na rozdíl od Unixu, tam se podobně označuje hlavní adresář celého souborového systému), například C:\ je hlavní adresář na disku C: Každý adresář obsahuje kromě podadresářů a souborů ještě dva implicitní adresáře: . – link na sebe sama .. – link na nadřízený adresář
5.3
Příkazový řádek
Příkazy DOSu je možné použít i ve Windows, a to z těchto důvodů: • možnost urychlení a automatizace některých akcí v operačním systému, • dávkové zpracování (tutéž akci chceme provést na více objektech nebo na jednom objektu více navazujících akcí), atd. Příkazový řádek ve Windows řady NT je aplikace jako každá jiná (32-bitová), ve Windows 9x, ME to byla pouze simulace DOSu. Příkazový řádek lze spustit takto: • Start – Programy – Příslušenství – Příkazový řádek • Start – Spustit, napíšeme cmd (pro Windows řady NT) • Start – Spustit, napíšeme command (pro všechny verze Windows, jde o simulaci DOSu)
• +R , napíšeme cmd nebo command Ukončení práce s Příkazovým řádkem: použijeme příkaz exit. Spustitelný soubor (s příponou COM, EXE apod.) spustíme prostě tak, že napíšeme název souboru a stiskneme klávesu Enter . Malá a velká písmena se nerozlišují. Nápověda v Příkazovém řádku: • program help, lze použít ve tvaru help | more (výpis nápovědy po stránkách, výpis lze přerušit klávesou q ),
• nápověda k určitému příkazu ve formátu příkaz /? nebo help příkaz , • systém nápovědy Windows, klíčové slovo příkazy, dále přehled. Příkazový řádek je možné spouštět i s parametry, tak lze určovat jeho vlastnosti nebo stanovit příkazy, které se provedou hned po spuštění příkazového řádku, viz tabulka 5.1. Pokud je použito více přepínačů, pak /k a /c musí být z nich poslední. Příkazy použité v těchto příkladech budou vysvětleny v následujícím textu. Přepínače můžeme používat při ručním spuštění Příkazového řádku s menu Start – Spustit nebo využít možnosti Windows při definování zástupců (do příkazové řádky zástupce napíšeme celý příkaz včetně parametrů). Práci s Příkazovým řádkem může zjednodušit program DOSKEY (ve Windows XP i 2000 je automaticky spuštěn). Nabízí například možnost používat historii příkazů:
52
Příklad cmd /k příkaz cmd /k CD "C:\program files" cmd /k C:\nastav_prostredi.bat cmd /c příkaz cmd /t:nn
Význam hned po spuštění příkazového řádku se provede zadaný příkaz pracovním adresářem se stane adresář uvedený v příkazu CD pokud existuje tento dávkový soubor, pak se provede hned po startu Příkazového řádku totéž jako /k, ale po provedení příkazu bude Příkazový řádek ukončen nastaví barvy pozadí (první n) a textu (druhé n) obrazovky, obě n jsou hexadecimální číslice, barvy lze měnit také příkazem color, proto možnosti barevných kombinací lze získat příkazem color /?
Tabulka 5.1: Parametry příkazového řádku •
↑ , ↓ : je možné použít (příp. upravit) předchozí/následující zadaný příkaz z historie,
• ← , → posun o znak doleva/doprava v zadávaném přkazu, • F7 zobrazí celou historii příkazů, šipkami je možné si vybrat ze seznamu, • Alt+F7 smaže historii příkazů, atd, je také možné definovat makra. Úkol: 1. Vytvořte na pracovní ploše zástupce Příkazového řádku s příkazem cmd /t:1e /k Z: (po spuštění poklepáním se stane pracovním diskem Z:, barvy jsou nastaveny na modré pozadí, žluté písmo). 2. Podívejte se na nápovědu cmd ve Windows (Start – Nápověda – Vyhledat, napište cmd).
5.4 5.4.1
Příkazy Možnosti použití příkazů
Pokud je součástí příkazu název souboru, který obsahuje i mezery, ve většině případů musíme celý název včetně cesty k souboru uzavřít do uvozovek (viz příklad v předchozí kapitole), aby systém nepovažoval pokračování názvu za mezerou za další parametr příkazu. V některých případech je parametr v uvozovkách považován chybně za název okna místo názvu souboru, se kterým se má dále pracovat. Pak stačí použít dva parametry – první je „prázdný řetězecÿ, druhý je původní parametr. Při určení cesty k souboru se k oddělení vnořených adresářů používá opačné které je na lomítko, anglické klávesnici (na české klávesnici ho získáme stisknutím kombinace Alt+Q ). V Příkazovém řádku cmd je možné používat i normální lomítko.
53
Adresáře a soubory mohou mít atributy2 , a to D: directory (adresář) R: read-only (pouze pro čtení, soubor nebo adresář nelze smazat ani upravovat) S: system (systémový, soubor důležitý pro operační systém) A: archive (k archivaci, pokud je spuštěn zálohovací program, tento soubor nebo adresář bude zahrnut do zálohy, obvykle se nastavuje po změně objektu, maže se při provedení zálohy) H: hidden (skrytý, obvykle se nevypisuje v seznamu souborů a adresářů, ve standardním nastavení je neviditelný i v Průzkumníkovi Windows) Vstupy a výstupy lze přesměrovávat. Standardně je směrován: vstup: z klávesnice, výstup: na obrazovku, chybový výstup: (výpis chyb) na obrazovku. Toto nastavení můžeme měnit podle potřeby: • znak > určuje, kam chceme uložit výstup příkazu (programu): – pokud název existujícího souboru, tak se jeho původní obsah přepíše (smaže!!!), – když je to název dosud neexistujícího souboru, je automaticky vytvořen, • znak < určuje, kde chceme získat vstup pro příkaz (obvykle název existujícího souboru), • znak | umožňuje zřetězit příkazy tak, že výstup předchozího je přesměrován na vstup následujícího, takto můžeme zřetězit jakýkoliv počet příkazů, • dvojznak >> stanoví, že výstup příkazu se má připojit na konec následujícího parametru (obvykle souboru), pokud je v tomto souboru již něco uloženo, nesmaže se to. Přesměrování se často používá zároveň s filtry. To jsou speciální programy, které provádějí transformace. Nejpoužívanější filtry jsou SORT (třídění), MORE (rozdělení na stránky), FIND (hledání řetězce znaků), . . . Přesměrovat můžeme na soubor, filtr nebo zařízení. Zařízení mohou být tato: • CON – obrazovka, • PRN – tiskárna (pokud je přístupná), • NULL – prázdné zařízení, pokud zde přesměrujeme výstup, zmizí (použitelné, pokud nechceme, aby se zobrazovala hlášení některých příkazů), • standardní – čísla 0 (vstup z klávesnice), 1 (výstup na obrazovku), 2 (výstup chyb na obrazovku). Atributy platí pro souborový systém FAT, v souborovém systému NTFS jsou přístupová práva definována jiným způsobem, bude probráno později 2
54
Přesměrování příkaz > objekt například odpovídá přesměrování příkaz 1>objekt (pokud nedojde k chybám ve zpracování). Pokud je některé zařízení přesměrováno, toto přesměrování platí pro celý zbytek příkazu. K původnímu významu zařízení určeného číslem se lze vrátit pomocí znaku &, viz příkaz DIR v kapitole 5.4.2 na str. 55. Pokud chceme zároveň pracovat s více řetězci (obvykle soubory), které mají část názvu společnou, můžeme použít tzv. zástupné znaky. V DOSu jsou to pouze * (jakýkoliv počet kterýchkoliv znaků) a ? (právě jeden jakýkoliv znak), tedy dopis*.txt dopis?.txt ?trom*.*
znamená například dopisy.txt, dopisy olze.txt, dopis.txt znamená například dopisy.txt, dopisu.txt znamená například stromy.jpg, hrom.gif, aromata.doc
Následuje seznam a popis příkazů používaných v Příkazovém řádku. Není to úplný výčet a popis těchto příkazů také není vyčerpávající. Jsou zde uvedeny pouze základní tvary příkazů, podrobnější informace je možné najít v nápovědě nebo v dalších publikacích.
5.4.2
Příkazy pro práci s adresáři
A:, C:, D:, . . . změna pracovního disku DIR adresář vypíše obsah adresáře (pokud není uveden, tak obsah pracovního adresáře) /p po stránkách /w zhuštěně /b vypíše seznam adresářů a souborů bez záhlaví příkazu, je to použitelné v kombinaci s jinými příkazy a přepínači například pro zjištění počtu souborů v adresáři /s vypíšou se rekurzívně také obsahy jednotlivých podadresářů ve zvoleném adresáři /a:atribut vypíše soubory s určitým atributem /a:-atribut bez souborů s určitým atributem (lze použít D, R, S, A, H) Například: DIR /a:S vypíše systémové soubory v pracovním adresáři DIR /a:-R vypíše všechno kromě souborů pouze pro čtení DIR > soubor přesměrování výpisu do souboru (původní obsah souboru se přemaže, pokud neexistuje, tak se vytvoří) DIR >> soubor připojení výpisu na konec souboru za původní obsah
55
DIR *.txt vypíše všechny soubory s příponou txt DIR adr > vypis.txt 2 > chyby.txt výstup se vypíše do souboru vypis.txt, pokud dojde k chybě (například když adresář adr neexistuje), chybový výstup je přesměrován do souboru chyby.txt DIR adr 2 > NULL případný chybový výstup se nikam nezobrazí ani neuloží DIR adr > vypis.txt 2 > &1 standardní výstup je přesměrován do souboru vypis.txt, chybový výstup je přesměrován na původní standardní výstup (obrazovku) CD adresář (nebo CHDIR) změna pracovního adresáře CD\ přesun do kořenového (hlavního) adresáře na disku CD.. přesun do nadřízeného adresáře (o úroveň výše) MD adresář (nebo MKDIR), vytvoření adresáře v pracovním adresáři (můžeme použít absolutní cestu) RD adresář (nebo RMDIR), odstranění adresáře, musí být prázdný TREE zobrazí strukturu adresářů (není ve Windows 95) MOVE původní nový přejmenování adresáře DELTREE adresář odstraní adresář včetně jeho obsahu (ve Win NT nebývá zahrnut, použijeme příkaz RD /S adresář) Úkol: Přejděte pomocí příkazu CD do některého z adresářů, kde máte přístupová práva pro zápis, a vytvořte v něm tuto strukturu adresářů: |-internet | |- stranky | |- utility | | `uzitecne | `dopisy `obrazky Zobrazte příkazem TREE. Dále vymažte adresář uzitecne a potom zobrazte celou tuto strukturu adresářů pomocí příkazu TREE. Přejděte na disk C: do jeho kořenového adresáře a pomocí DIR zobrazte jeho obsah (vyzkoušejte různé přepínače).
56
Výstup příkazu DIR přesměrujte do souboru (na Z:, prohlédnete si ho například v Poznámkovém bloku (případně ověřte příkazem DIR Z:\), vyzkoušejte také přesměrování chybového výstupu (pokuste se příkazem DIR vypsat obsah neexistujícího adresáře, pak presměrujte na NULL standardní výstup, pak standardní chybový výstup, porovnejte výsledky na obrazovce).
5.4.3
Příkazy pro práci se soubory
COPY zdroj cíl kopírování souborů COPY z1+z2+...+zn cíl kopírování více souborů najednou DEL soubor smazání souboru DEL *.* smaže všechny soubory v pracovním adresáři TYPE soubor výpis obsahu souboru na obrazovku TYPE soubor | MORE výpis souboru po stránkách EDIT spuštění DOSovského editoru souborů, jako parametr můžeme zadat textový soubor REN soubor1 soubor2 přejmenování souboru (rename) MOVE soubor cílový adresář přesun souboru PRINT soubor vytisknutí souboru na LPT tiskárně (nedokáže pracovat s USB tiskárnami) TYPE soubor > PRN totéž (přesměrování výstupu na tiskárnu) SORT < sezn1.txt > sezn2.txt obsah prvního souboru bude setříděn a uložen do druhého, totéž dělá příkaz TYPE sezn1.txt | SORT > sezn2.txt FC soub1 soub2 porovnává obsahy zadaných souborů, přepínače se píšou až za názvy souborů (například /A zobrazí vždy první a poslední řádek u každého odlišného bloku, /C znamená, že se nemají rozlišovat velká a malá písmena) ATTRIB [+R|-R][+S|-S][+A|-A][+H|-H] soubor změna atributů souboru nebo jejich výpis ATTRIB soubor vypíše atributy souboru ATTRIB -R -H soubor odstraní atributy read-only a hidden souboru (bude viditelný ve výpisu a bude možné do souboru zapisovat nebo ho smazat)
57
FIND [/N][/C][/I] "řetězec" soubor najde výskyty řetězce v souboru, přepínač /I použijeme, pokud nechceme, aby byla rozlišována malá a velká písmena. FIND "abc" soubor vypíše řádky souboru, na kterých se řetězec nachází FIND /N "abc" soubor vypíše očíslované řádky souboru, na kterých se řetězec nachází FIND /C "abc" soubor vypíše pouze počet řádků, na kterých se řetězec nachází DIR /b /s | FIND /I ".EXE" | FIND /I "knih" chceme najít EXE soubor, který ve svém názvu obsahuje řetězec knih, ale nevíme, ve kterém podadresáři pracovního adresáře je, proto nejdřív vypíšeme rekurzívně všechny soubory a adresáře včetně podadresářů, z toho vybereme soubory s příponou EXE a z nich vybereme soubory, které mají v názvu hledaný podřetězec Rychlé vytvoření textového souboru bez jakéhokoliv editoru:
COPY CON soubor.txt Enter . . . (nějaký obsah souboru) klávesová kombinace Ctrl+Z nebo .. . F6 vytvoří textový znak znamenající konec souboru Ctrl+Z (nebo F6 ) Příklad: V adresáři, kde máte právo zápisu, vytvořte pomocí COPY CON textový soubor. Pak ho přejmenujte pomocí REN, setřiďte a výsledek třídění uložte do jiného souboru, ten vypište pomocí TYPE. Vypište obsah adresáře pomocí DIR, pak nastavte atribut H některého souboru a obsah adresáře opět vypište pomocí DIR. Vyzkoušejte také příkaz FIND.
5.4.4
Příkazy pro práci s diskem
A:, C:, D:, ... změna pracovního disku FDISK definuje pracovní oblasti disku (partitions, logické disky), po jeho použití je nutné logické disky zformátovat FORMAT X: zformátuje zadaný disk X: (připraví k použití, vytvoří souborový systém, tedy umožní na disk ukládat soubory), obsah disku samozřejmě vymaže. Pracuje se souborovým systémem FAT (po zadání určitých parametrů také FAT32). FORMAT X: /S vytvoří systémový disk (nahraje nezbytnou část operačního systému) FORMAT X: /U hluboké formátování; u běžného formátování je pouze přepsána FAT (tabulka obsazení disku), tedy soubory je možné ještě obnovit, bohužel také případné viry, u hlubokého formátování je celý disk přepsán symboly s ASCII kódem #0 SCANDISK program pro kontrolu povrchu disku, pokud zjistí poškození některé oblasti, zakáže do ní
58
přístup, aby zde žádný program neukládal data (data by pak byla nepoužitelná). Má svůj protějšek v grafickém prostředí Windows (v NT je to příkaz CHKDSK). Existují programy, které dokážou data z poškozené oblasti zachránit, pokud je to možné. CHKDSK stručná informace o stavu systému, ve Windows řady NT se po použití tohoto příkazu spouští program SCANDISK. SUBST X: adresář vytvoří virtuální disk s označením X: směrovaný na zadaný adresář, označení disku volíme tak, aby nekolidovalo s existujícími disky v systému. Používáme například tehdy, když chceme tentýž adresář (s dlouhou specifikací) používat často, ale nechce se nám jeho celý název vypisovat. Použitelné také ve Windows. Následující dva příkazy můžeme použít přímo za sebou (disk G: do této chvíle ještě nebyl definován): SUBST G: Z:\adr1\adr2\adr3 COPY soubor.xxx G: SUBST X: /D zruší přiřazení virtuálního disku
5.4.5
Správa systému z Příkazového řádku
Existují příkazy použitelné v Příkazovém řádku, které nemají svůj protějšek v nástrojích s grafickým rozhraním, jiné zase sice mají grafické rozhraní, ale nejsou přístupné v grafickém prostředí systému. K těm prvním patří například příkaz net, k těm druhým třeba msconfig nebo gpedit. Jiné příkazy sice mají svůj ekvivalent v grafickém prostředí, ale správa přes Příkazový řádek může být rychlejší nebo se může hodit možnost automatizace zpracování. AT slouží k naplánování provedení jiných příkazů (Windows 2000, XP). Příkaz umožňuje naplánovat úlohy jednorázově, každodenně (jak to bylo v předchozím příkladě), na určité dny v týdnu, na určité dny v měsíci. AT vypíše seznam naplánovaných úloh AT 6:00 zalohuj.bat zajistí, aby se v 6:00 ráno spustil dávkový soubor zalohuj.bat CACLS nastavení přístupových práv souborového systému NTFS (pracuje pouze na logickém disku formátovaném jako NTFS, je to obdoba příkazu ATTRIB pro FAT). Nastavujeme práva k určitému souboru (složce) pro určitého uživatele či skupinu, a to práva n (žádné), r (právo čtení), w (zápis), c (změna), f (úplné řízení). U složek navíc můžeme určit, kterých vnořených objektů se nastavená práva budou týkat (aktuální složky, podsložek, souborů). CACLS soubor výpis nadefinovaných přístupových práv souboru CACLS soubor /g patrik:r k zadanému souboru přidělí uživateli s názvem patrik práva pro čtení
59
CACLS *.exe /t /g patrik:w ke všem EXE souborům z pracovní složky i z jejích podsložek (parametr /t) přidělí uživateli patrik práva pro zápis CACLS * /e /g patrik:w ke všem souborům v pracovní složce přidá uživateli patrik právo zápisu (ostatní práva zůstanou zachována) CACLS abc.doc /r patrik odebere uživateli patrik všechna přístupová práva k souboru abc.doc NET je komplexní nástroj pro práci především se sítí, ale taky je určen pro některé úkoly související se správou počítače a uživatelů (Windows řady NT). Je poměrně dobře zdokumentován v nápovědě (v rejstříku zadáme net). Jeho první parametr obvykle určuje oblast, které se budou další parametry týkat. Jsou to například (je jich více!) NET USER práce s uživateli (vypsání informací u uživateli, změna hesla, nový uživatel, deaktivace uživatele, možnost stanovit dobu, kdy se uživatel může přihlašovat, . . . ) NET LOCALGROUP práce se skupinami (nová skupina, uživatelé ve skupině, . . . ) NET ACCOUNTS práce s účty uživatelů (např. minimální délka hesla, nutnost změnit heslo po určité době, můžeme zde zajistit, aby při změně hesla uživatel jako nové heslo zvolil to, co už někdy dříve jako heslo používal – určujeme, kolik změn hesla v minulosti má být tako sledováno, . . . ) NET USE práce se sdílenými prostředky na ostatních počítačích v síti (informace, připojení, odpojení od prostředku), při použití bez dalších parametrů zobrazí existující síťová připojení NET SHARE práce se sdílenými prostředky na našem počítači (nasdílet prostředek, ukončit sdílení, bez dalších parametrů zobrazí seznam nasdílených prostředků), umožňuje také omezit sdílení jen na určitý počet uživatelů NET FILE práce se sdílenými otevřenými soubory (soubory, které náš počítač nabízí ke sdílení a zrovna s nimi někdo pracuje). Užitečný je například příkaz net file ID /close kterým můžeme násilně uzavřít soubor, se kterým momentálně pracuje jiný uživatel (tj. je blokovaný), ID tohoto souboru lze zjistit opět příkazem net file (bez dalších parametrů vypíše seznam otevřených sdílených souborů) NET SESSION práce s vnějšími připojeními na náš počítač (session neboli relace je navázané připojení mezi naším počítačem a jiným počítačem v síti, můžeme kterékoliv připojení ukončit), bez dalších parametrů vypíše seznam těchto připojení NET VIEW zobrazí seznam sdílených prostředků na určeném počítači v doméně, bez dalších parametrů zobrazí seznam počítačů v doméně NET PRINT řízení tisku po síti NET CONFIG umožňuje konfigurovat službu Server nebo Workstation (podle dalšího parametru) běžící na počítači, kde je tento příkaz spuštěn, bez dalších parametrů vypíše konfiguraci zadané služby NET STATISTICS vypíše veškeré protokolované informace služby Server nebo Workstation (opět závisí na dalším parametru, workstation nebo server) o počtu přijatých nebo odeslaných dat, navázaná připojení, spuštěné relace, úspěšné a neúspěšné operace . . .
60
NET START spustí zadanou službu Windows (pracuje se síťovými službami), bez dalších parametrů vypíše seznam spuštěných služeb NET STOP zastaví zadanou službu Windows NET HELPMSG poskytuje nápovědu k chybovým zprávám Windows (parametrem je číslo zprávy) NET SEND pokud je spuštěna služba Messenger, lze zasílat zprávy jiným uživatelům v síti NETSH tento příkaz spustí konzolovou aplikaci NetShell. Tato konzola slouží ke konfiguraci některých částí systému většinou souvisejících se sítí. Pracujeme s moduly (dynamické knihovny) a kontexty (sada úloh – příkazů pro jednotlivé moduly, každý kontext může odpovídat jednomu modulu, některé kontexty mohou mít další podkontexty). To, se kterými moduly můžeme pracovat, závisí na verzi, vybavenosti a nastavení operačního systému, například ve Windows 2000 a XP bývají zahrnuty kontexty routing (konfigurace směrovací tabulky v síti, má podkontexty ip a ipx), interface (síťové rozhraní, také má podkontexty, např. ipv6), na serveru DHCP (pro dynamické přidělování IP adresy) je kontext dhcp, ve Windows XP je také kontext firewall, který umožňuje podrobnější konfiguraci integrovaného firewallu než jak je možné přes grafické rozhraní. Pracuje se zde v textovém režimu, používáme pouze příkazy specifické pro netsh. Každý kontext má svou sadu příkazů, většina je však stejná ve všech kontextech, například (příkazy se obvykle používají s dalšími parametry) help zobrazí všechny použitelné příkazy, je možné také použít symbol ? exit odchod z netsh, také je možné použít příkaz bye show zobrazí informace o kontextu dump zobrazí konfigurační skript add přidá položku konfigurace do seznamu (skriptu) delete odstraní položku konfigurace set nastavení konfigurace pro daný kontext reset obnovení původní konfigurace (to, jak příkaz funguje, závisí na druhu kontextu, ve kterém je použit) exec spustí soubor skriptu Například (příkaz netsh již byl použit, jsme v rozhraní NetShell): routing ? zobrazí seznam příkazů pro kontext routing firewall show config zobrazí konfiguraci firewallu (konfigurační skript) – ve WinXP dump > dhcp.dmp konfigurační skript místního serveru DHCP uloží do souboru dhcp.dmp, tento soubor pak můžeme zkopírovat na jiný DHCP server a příkazem exec ho v netsh spustit Abychom použili příkaz pro NetShell, nemusíme přímo pracovat v prostředí netsh, můžeme tyto příkazy volat přímo z Příkazového řádku, například netsh firewall show config provede totéž co výše uvedený příkaz pro prostředí netsh, ale jsme mimo prostředí netsh
61
GPEDIT.MSC spustí nástroj Zásady skupiny (více v následujících kapitolách) IPCONFIG zobrazí konfiguraci protokolu TCP/IP. Užitečný je zvláště při použití parametru /ALL, tak zobrazí podrobnější informace. Příkaz používáme, pokud chceme rychle zjistit IP adresu a související informace (užitečné zvláště pro klienty DHCP) PING ověřuje průchodnost připojení k zadanému počítači v síti, odesílá k tomuto počítači pakety a podle zaslaných odpovědí určuje, zda je počítač dostupný a jaká je odezva připojení (pokud má vzdálený počítač firewall nakonfigurovaný tak, aby požadavky ping byly ignorovány, může se počítač jevit jako nedostupný) RUNAS [/profile | /noprofile /user:uživatel program] spustí zadaný program s právy zadaného uživatele, je to příkaz výhodný zejména pro administrátory, kteří jen někdy potřebují ke své práci tak rozsáhlá oprávnění. Přepínač /profile nebo /noprofile použijeme, pokud chceme – nechceme načíst profil přihlášeného uživatele (nenačtení profilu sice zrychlí start programu, ale některé aplikace nemusí správně fungovat). Program může být jakýkoliv spustitelný soubor nebo nástroj včetně nástrojů Windows.
5.4.6
Ostatní příkazy
CLS vymaže obsah obrazovky (clear screen) VER zobrazí verzi operačního systému (také ve Windows) TIME zobrazí aktuální čas a umožní ho změnit DATE zobrazí aktuální datum a umožní ho změnit PROMPT text změní prompt systému (žádost systému o další příkaz) V textu můžeme použít jakékoliv znaky, dále také speciální identifikátory: $t $d $p $g $l $$
aktuální čas aktuální datum pracovní adresář včetně cesty (path) symbol > (great) symbol < (less) symbol dolaru, atd. (seznam lze vypsat PROMPT /?)
Standardní nastavení je PROMPT $p$g
62
MORE stránkování výpisu, obvykle se používá jako filtr, na který jsou přesměrovávány výstupy jiných příkazů DIR | MORE výpis adresáře po stránkách MORE < DIR totéž (vstupem filtru MORE se stává výstup příkazu DIR) DIR /b /s | SORT | MORE vypíše seznam celých cest všech souborů v podadresářích, seřazený a odstránkovaný Po spuštění příkazu MORE lze používat pro jeho řízení klávesy:
• Mezerník pokračuje ve výpisu další stránky • Enter pokračuje ve výpisu dalšího řádku • q konec výpisu (zbytek výstupu se zapomene)
• ? vypíše všechny možné znaky klávesnice, kterými lze řídit MORE atd. Příkaz MORE má také volitelné parametry, například parametr +n, kde n je číslo, znamená, že výstup se má začít zobrazovat až od n-tého řádku, například MORE +5 < C:\data.txt > C:\vysl.txt přepíše obsah prvního souboru do druhého, ale až od 5. řádku CSCRIPT soubor skriptu slouží ke spouštění skriptů pro Windows Scripting Host z Příkazového řádku. Mohou následovat parametry pro Příkazový řádek a parametry pro skript START Abychom spustili nějaký program v Příkazovém řádku, stačí napsat jeho jméno (příp. s cestou k tomuto programu) a potvrdit klávesou Enter . Tento příkaz však při spouštění programu rozšiřuje naše možnosti především tak, že umožňuje spuštění programu řídit pomocí parametrů. Například program notepad.exe je Windows aplikace Poznámkový blok. V Příkazovém řádku tuto aplikaci můžeme spustit několika způsoby: notepad.exe spustí Poznámkový blok, jakobychom použili grafické prostředí, Příkazový řádek nečeká na ukončení aplikace a hned zobrazí prompt START notepad.exe provede totéž START /wait notepad.exe spustí aplikaci a počká na její ukončení, teprve pak zobrazí prompt a očekává příkazy START /min notepad.exe aplikace se spustí minimalizovaná (přepínač může mít v někt. Windows tvar /m) START /max notepad.exe aplikace se spustí maximalizovaná START notepad.exe soub.txt spustí aplikaci a předá jí zbytek řádku jako parametry START soub.txt spustí aplikaci ve Windows asociovanou s příponou TXT (obvykle Poznámkový blok) a jako parametr jí předá soubor soub.txt START /i cmd spustí nové okno Příkazového řádku (cmd.exe) jako by bylo spuštěno přímo z Windows
63
START explorer.exe /e,d:\clanky spustí Průzkumníka Windows se zadanými parametry – parametr /e patří již programu explorer.exe, ne START, způsobí, že hned po startu je zadaný adresář (nebo disk, zde d:\clanky) aktivní Příklad: Jako prompt nastavte řetězec se svým jménem a aktuálním časem. Pak vyzkoušejte postupně všechny příkazy z této části, u kterých je to možné, nakonec nastavte standardní prompt.
5.5
Systémové proměnné
V MS-DOSu se důležité řetězce nebo čísla ukládala do tzv. systémových proměnných. Tyto proměnné se používají také ve Windows, dokonce oproti starému DOSu je jich více. Uživatel si může vytvářet vlastní proměnné. V grafickém prostředí můžeme se systémovými proměnnými pracovat v nástroji msconfig (ve Windows 98, XP, ale není ve Windows 2000), a dále v nástroji Systém, karta Upřesnit, tlačítko Proměnné prostředí. V Příkazovém řádku pracujeme se systémovými proměnnými příkazem SET. SET nastavení proměnné na zadanou hodnotu, výpis hodnoty proměnné, bez dalších parametrů vypíše všechny systémové proměnné SET proměnná = hodnota nastaví hodnotu proměnné, pokud proměnná neexistuje, vytvoří ji SET proměnná vypíše hodnotu proměnné SET TEMP = C:\WINDOWS\TEMP nastaví hodnotu proměnné TEMP na zadanou cestu Některé systémové proměnné: PROMPT v této proměnné je je uložen momentálně používaný prompt, viz příkaz PROMPT na str. 62 PATH obsahuje cesty k nejpoužívanějším souborům, standardně je zde cesta k systémovým souborům, lze přidávat další cesty (některé programy to dělají), jednotlivé cesty jsou odděleny středníkem. Pokud spouštíme program pouze jeho názvem a tento program není v pracovním adresáři, systém tento program hledá právě pomocí proměnné PATH, začíná prvním záznamem proměnné Pokud některý program chce do proměnné PATH přidat nový řetězec, není nutné provádět složité operace s řetězci, ale u Windows s DOS jádrem stačí vždy po startu systému provést příkaz PATH %PATH%;X:\MUJ PROG nebo SET PATH=%PATH%;X:\MUJ PROG
64
(přidáme tento příkaz na konec souboru AUTOEXEC.BAT), v systémech s NT jádrem použijeme raději výše uvedené nástroje pro grafické rozhraní TEMP název adresáře pro dočasné soubory včetně cesty k němu, proměnná je používána programy, které potřebují průběžně vytvářet a mazat dočasné soubory bez nutnosti kontroly umístění pracovního adresáře, adresář musí existovat TMP totéž, obsah obou proměnných by standardně měl být stejný ERRORLEVEL pokud spuštěný program (také příkaz operačního systému) vrací nějakou hodnotu (například v Pascalu příkazem exit(X) nebo v C ukončením main s návratovou hodnotou), pak tato hodnota je uložena do systémové proměnné ERRORLEVEL, kde ji jiný program může použít pro vlastní výpočet PATHEXT zde jsou uloženy přípony spustitelných souborů, které systém postupně dosazuje, když při spouštění programu příponu neuvedeme. V původním DOSu ani ve Win9x tato systémová proměnná nebyla zahrnuta. Proměnná může mít tuto podobu: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH Tedy když v Příkazovém řádku napíšeme například VYPOCET a stiskneme Enter , systém se pokusí nejdřív najít program VYPOCET.COM, když neuspěje, tak VYPOCET.EXE, pak VYPOCET.BAT, . . . , první nalezený program spustí. WINDIR adresář Windows (nebo Win32, WinNT) s celou cestou podle typu instalace CD cesta k pracovnímu adresáři (složce), neplést si s příkazem CD USERNAME název právě přihlášeného uživatele (řada NT) a další. Vlastní systémovou proměnnou vytvoříme příkazem SET prom=MojePromenna Proměnnou prom pak můžeme používat v dávkových souborech nebo v programech.
5.6
Dávkové soubory
Dávkové soubory jsou soubory s příponou BAT. V dávkovém souboru můžeme vytvořit tzv. dávku příkazů, tedy posloupnost příkazů, která se má provést. Jde o textové soubory, které můžeme editovat například pomocí programu EDIT (nebo jakéhokoliv jiného programu pracujícího s ASCII soubory), ale přitom to jsou spustitelné soubory jako třeba EXE. Lze je spustit z Příkazové řádky nebo přímo ve Windows poklepáním jako kterékoliv jiné spustitelné soubory. Dávkový soubor může mít také parametry (při spuštění se píšou za název BAT souboru, oddělují se mezerou), uvnitř souboru se k nim dostaneme přes proměnné %0, %1, . . . , %9, kde %0 je samotný název dávkového souboru, %1 je první parametr, atd. Pokud nebyl parametr zadán, je v příslušné proměnné prázdný řetězec.
65
Pokud v některém příkazu chceme použít hodnotu některé systémové proměnné, musíme její název obklopit symboly %, aby systém nepracoval s názvem jako řetězcem, tedy například %PATH%. Můžeme používat všechny příkazy Příkazového řádku (komentáře začínají slovem REM, ve starších verzích DOSu a Windows mohou začínat také středníkem) a navíc tyto: ECHO slouží k řízení výpisu hlášení na obrazovku ECHO text vypíše na obrazovku text (není třeba ho ohraničit uvozovkami) ECHO. zařádkuje na obrazovce (vypíše prázdný řádek) ECHO ON zapne výpis příkazů na obrazovku (implicitní nastavení), například pokud v následující posloupnosti příkazů je příkaz COPY . . . , na obrazovku se vypíše řádek s tímto příkazem a dále vše, co samotný příkaz posílá na výstup, ECHO OFF vypne výpis příkazů na obrazovku ECHO Název tohoto souboru je %0, první parametr je %1 @příkaz vypne výpis na obrazovku u toho příkazu, jehož řádek tímto znakem začíná obvyklé použití příkazu @ECHO OFF (příkaz sice vypíná výstup na obrazovku, ale až od následujícího řádku, proto na tento řádek musíme použít znak @, aby se nezobrazil), tímto řádkem začíná většina dávkových souborů CALL soubor.bat spuštění jiného dávkového souboru; programy EXE a COM lze spustit zadáním jejich jména, ale kdybychom totéž provedli s BAT souborem, tak po jeho provedení by původní dávkový soubor (ve kterém byl tento BAT soubor volán) byl násilně ukončen, proto je nutné použít příkaz CALL PAUSE zastaví provádění dávkového souboru GOTO :návěští příkaz skoku (narozdíl od vyšších programovacích jazyků je v dávkových souborech nezbytný) FOR příkaz pro dávkovou práci s množinami souborů FOR %%C IN (*.BAT *.COM *.EXE) DO DEL %%C smaže všechny soubory s příponou BAT, COM a EXE v pracovním adresáři, %%C a %%a jsou proměnné FOR %%a IN (*.TXT) DO ECHO %%a & COPY "%%a" "Kopie %%a" postupně vypisuje názvy všech souborů s příponou TXT v pracovním adresáři a od každého vytvoří kopii. Můžeme pracovat samozřejmě také s adresáři, nejen se soubory. Při použití v dávkovém souboru musí vždy proměnná příkazu FOR začínat dvěma znaky %, pokud chceme tento příkaz použít jen na Příkazové řádce (ne v souboru), píšeme pouze jeden znak %. IF podmíněný příkaz, existuje ve více variantách
66
IF EXIST soubor příkaz pokud existuje uvedený soubor, provede zadaný příkaz, můžeme také použít negaci IF EXIST dopis.txt TYPE dopis.txt | MORE IF NOT EXIST dopis.txt ECHO neexistuje pracovni soubor IF řetězec1 == řetězec2 příkaz pokud se řetězce rovnají, provede příkaz, konstantní řetězce musí být uzavřeny uvozovkami IF "%1" == "" MD novy adr pokud je první parametr souboru prázdný řetězec (tj. nebyl zadán, v tomto případě nebyl zadán žádný parametr kromě samotného názvu souboru), pak je vytvořen nový adresář IF ERRORLEVEL číslo příkaz pokud je v systémové proměnné uložena hodnota větší nebo rovna zadanému číslu, provede se příkaz a zároveň se tato proměnná vynuluje IF ERRORLEVEL 2 GOTO :NAV2 IF ERRORLEVEL 1 GOTO :NAV1 Nesmíme zapomenout, že pokud je v proměnné ERRORLEVEL číslo větší nebo rovno uvedenému číslu, proměnná se vynuluje, proto tyto řádky NESMÍME vyměnit, testování začíná od nejvyššího čísla, které nás zajímá. SET /p proměnná=výzva vypíše na obrazovku výzvu, počká až uživatel něco napíše a stiskne Enter , pak to, co uživatel zadal, uloží do proměnné SET /p soub=Zadejte soubor, se kterým budeme dále pracovat: SHIFT posun obsahu parametrů souboru – to, co bylo uloženo v %1, se přesune do %0, obsah %2 se přesune do %1 atd., do %9 se místo původního obsahu načte následující parametr, používá se, pokud má dávkový soubor více než 9 parametrů (dostaneme se tak i k 10. a následujícím). Příkazy píšeme každý na nový řádek, komentáře začínají klíčovým slovem REM a končí koncem řádku. Pokud chceme na jeden řádek umístit více příkazů, musíme je spojit znakem &. Takto lze spojit příkazy na jednom řádku, je to také možnost, jak zajistit, aby příkazy FOR a IF mohly ve svém těle obsahovat více příkazů, například IF EXIST ab.txt ECHO Soubor ab.txt: & TYPE ab.txt & DEL ab.txt & GOTO :HOTOVO ECHO Soubor ab.txt neexistuje :HOTOVO (pokud zadaný soubor existuje, vypíše se o tom hláška, soubor je vypsán a následně smazán, pokud neexistuje, pouze se o tom vypíše hláška na obrazovku) Další možnost použití tohoto zřetězení příkazů je v Zástupcích. Příklady: 1. Vytvořte dávkový soubor, který na disku, kde máte právo zápisu, vytvoří adresář a do něho zkopíruje všechny soubory s příponou .TXT z adresáře C:\.
67
2. Vytvořte dávkový soubor, který postupně všechny své parametry vypíše na samostatné řádky, pokud žádný parametr není zadán, vypíše pouze řetězec "Žádný parametr nebyl zadán" (využijte příkazy IF, GOTO, FOR, SHIFT, ECHO, neexistující parametr zjistíte tak, že příslušná proměnná je prázdný řetězec). 3. Vytvořte dávkový soubor, který vypíše obsah zadaného adresáře (tento adresář bude zadán jako první parametr souboru). Dále se zeptá, které soubory má vypsat, načte řetězec zadaný uživatelem (příkaz SET /p) a použije v příkazu FOR s příkazem DIR.
5.7
Konfigurační soubory
V systémech s DOS jádrem se pro konfiguraci DOSovského prostředí používají soubory CONFIG.SYS – konfigurace hardware, obvykle se zde načítaji ovladače, včetně ovladačů rozšířené paměti. Používáme zde speciální příkazy (například DEVICE nebo DEVICEHIGH pro zavedení ovladače do paměti, apod. Bývá tady také nakonfigurován ovladač zajišťující národní prostředí a zobrazování českých znaků na obrazovce, například tam mohou být řádky: COUNTRY=042,852,C:\...\COUNTRY.SYS DEVICE=C:\...\DISPLAY.SYS CON=(EGA,,1) Ten první zajistí podporu českého prostředí (načtení české znakové stránky Latin2 – 852, nastavení českého formátu pro datum a další objekty – 042), ten druhý načte ovladač pro podporu české znakové sady na obrazovce. Místo teček bude samozřejmě cesta k souboru. AUTOEXEC.BAT – konfigurace uživatelského prostředí (operační systém a software). Mohou se zde používat prakticky všechny výše uvedené příkazy (je to dávkový soubor, většinou se zde nastavují systémové proměnné nebo spouštějí některé programy), a pak ještě další – konfigurační – příkazy, obvykle jde o modifikace příkazu MODE, například MODE CON CP PREPARE = ((852) C:\...\EGA.CPI) MODE CON CP SELECT = 852 KEYB CZ, 852, C:\...\KEYBOARD.SYS Příkaz MODE má hodně možností použití, slouží obvykle k nastavování vlastností některých zařízení (obrazovky, tiskárny apod.). CON je zařízení „obrazovkaÿ, CP (nebo CODEPAGE) je znaková stránka, první příkaz tuto stránku připraví k použití a druhý řádek ji vybere ze seznamu připravených stránek. Třetí řádek nastaví českou klávesnici. V systémech s NT jádrem se tyto soubory nepoužívají, pro konfiguraci DOS prostředí (včetně prostředí příkazu COMMAND) se používají obdobné soubory ve složce System32, a to CONFIG.NT (obdoba CONFIG.SYS) a AUTOEXEC.NT (obdoba AUTOEXEC.BAT). Sada příkazů pro tyto soubory je obdobná sadě příkazů pro konfigurační soubory systémů s DOS jádrem, ale ne úplně stejná. Některé příkazy není nutné použít, protože se provedou automaticky (například nastavení národního prostředí a znakové sady). Soubory (NT) jsou okomentovány, soubory nejsou zdokumentovány v nápovědě (alespoň základní příkazy však ano).
68
Kapitola 6 Registr Windows Registr (Registry Database, také v češtině se někde objevuje název Registry) je databáze konfiguračních informací o hardwaru a softwaru ve Windows od verze 9x a NT. V předchozích verzích byly tyto informace uchovávány v textových souborech s příponou INI (především SYSTEM.INI – konfigurace hardwaru a ovladačů, WIN.INI – konfigurace softwaru, především operačního systému, dále PROGMAN.INI, CONTROL.INI a další soubory, každá aplikace může mít INI soubory). Tato kapitola pojednává o vlastnostech registru, způsobech, jak s ním lze pracovat, o struktuře registru, a v neposlední řadě zde jsou také některé příklady použití registru pro běžné uživatele.
6.1
Soubory registru
Registr je uložen také v souborech, ale ne textových. Jsou to binární soubory, které nelze editovat v textovém editoru. Výhodou je především to, že je nelze editovat přímo, čímž je zamezeno některým druhům poškození (opravdu jen některým) a je to výhodnější z hlediska bezpečnosti systému. Tyto soubory jsou: • Ve Windows řady s DOS jádrem jsou to soubory SYSTEM.DAT (v systémovém adresáři) a USER.DAT (pokud jsou definovány profily, tak se tento soubor nachází v adresáři profilu každého uživatele, jinak také v systémovém adresáři), ve Windows ME je to také soubor CLASSES.DAT. • Ve Windows řady NT jsou to soubory v adresáři %WINDIR%\System32\Config (obdoba SYSTEM.DAT) a soubor NTUSER.DAT (v adresáři Documents and Settings\ , obdoba USER.DAT). První ze souborů (skupiny souborů v případě NT systémů) obvykle obsahuje nastavení společná pro všechny uživatele, týkají se především ovladačů zařízení, ale také obecných nastavení operačního systému. Druhý soubor již obsahuje nastavení přímo pro určitého uživatele (každý uživatel má svůj vlastní, který je při přihlášení načten). Registr obsahuje tyto druhy dat:
69
Klíče: lze si je představit jako adresáře (složky), mohou obsahovat hodnoty nebo také další klíče. Hodnoty: obdoba souborů, každá hodnota má svá data, nic jiného nemůže obsahovat. Data (údaje) hodnot: data mohou být textová (textový řetězec, například název souboru s ovladačem nebo řetězec, který se má za určitých okolností vypsat do okna), binární (data jsou proud jedniček a nul, lze je zadávat v hexadecimální soustavě) nebo číselná (DWORD – 32 bitů), podle potřeby programátora (uživatele). Ve Windows 2000/XP je mnohem větší výběr datových typů pro hodnoty v registru. Máme k dispozici například pole několika řetězců, číselnou hodnotu o 64 bitech, odkaz na jiný klíč nebo hodnotu v registru, apod. Velká část toho, co můžeme nastavovat v registru, je v nástrojích Windows (například asociování přípon souborů s aplikacemi, určení souboru s tapetou na pracovní plochu apod.), a protože pracovat s registrem může znamenat určité riziko obzvlášť pro uživatele s nepříliš velkými zkušenostmi, volíme raději práci s nástroji Windows, pokud je to možné.
6.2
Jak lze pracovat s registrem
1. Uživatel počítače (příp. správce): Editor registru, fyzicky jde o programy REGEDIT.EXE a REGEDIT32.EXE (ten je pouze ve Windows řady NT). Jde o programy, které přímo zobrazují stromovou strukturu databáze podobně jako třeba Průzkumník Windows, můžeme jednotlivé části přidávat nebo odstraňovat (pokud máme příslušná přístupová práva). Tyto soubory lze spustit přes Start – Spustit – napíšeme regedit nebo regedit32. 2. Aplikace: Aplikace může komunikovat s registrem dvěma způsoby: • soubory s příponou REG – jde o textové spustitelné soubory, které mohou obsahovat jednu nebo více větví stromu registru a také hodnoty s daty. Tyto soubory po spuštění přidají do registru všechny větve, které obsahují. V regeditu lze také exportovat buď některou větev, nebo celý registr do souboru s příponou REG (můžeme vyzkoušet: vybereme si některou „nepříliš rozvětvenouÿ větev, v menu zvolíme Registr – Exportovat soubor registru, . . . Soubor má vždy v záhlaví identifikaci verze registru, pro kterou může být určen, pokud chceme, aby soubor mohl být načten do registru Windows 9x, NT 4 nebo novějšího, můžeme zde nechat řádek REGEDIT4 (pak řádek vynecháme a píšeme celé větve klíčů a hodnoty). • programové nástroje v API – REG soubory jsou vhodné jen pro přidání klíčů, hodnot a dat do registru. Aplikace však potřebují s těmito údaji dále pracovat, především číst a měnit. K tomu slouží některé API funkce v knihovnách Windows, ale všechny moderní programovací jazyky pro Windows obsahují pro tento účel propracovanější podporu, obvykle jde o třídy a z nich odvozené objekty. V každém programovacím jazyce se tyto třídy nazývají jinak, obsahují však ve svém názvu vždy podřetězec REGISTRY nebo
70
alespoň REG (například v Delphi existuje TRegistery), proto lze tyto třídy a jejich definice jednoduše vyhledat v nápovědě. • Ve skutečnosti existuje ještě jedna možnost, jak pomocí speciálních souborů pracovat s registrem, a to dokonce i mazat hodnoty. Jde to pomocí speciálně strukturovaných souborů INF, ale je to natolik těžkopádná možnost v porovnání s programovými nástroji, že se dnes prakticky nepoužívá. 3. Další možnosti: Existuje mnoho dalších nástrojů pro práci s registrem, některé z nich jsou přítomny v operačním systému (v různých verzích Windows jsou různé, ve Windows 95 prakticky nebylo nic kromě regeditu, v dalších verzích je přítomen například nástroj scanreg pro optimalizaci a obnovu registru). Další nástroje, které slouží buď k optimalizaci nebo opravení registru, a nebo k práci s obsahem registru (optimalizace Windows apod.), je možné sehnat buď jako komerční software nebo freeware či shareware. Označují se často jako Tweak nástroje (ostatně patří sem i TweakUI od Microsoftu).
Pokud vytváříme REG soubor, je dobré poslední řádek ukončit stiskem klávesy Enter (tedy přidat na konec jeden prázdný řádek), protože jinak by načtení REG souboru do registru nemuselo být korektní. Dále budeme pracovat s registrem pomocí nástroje Editor registru (REGEDIT), který spustíme v nabídce Start – Spustit, napíšeme regedit. S regeditem pracujeme podobně jako s Průzkumníkem, používat můžeme ale často myš, je op timálnější používání kurzorových kláves ( ↓ , ↑ , → , ← , PgUp , PgDown , Home , End , . . . ), dále Tab pro přepínání mezi levým a pravým podoknem.
V menu regeditu je možnost vytvořit klíč nebo hodnotu (pouze tehdy, když je v levé části okna aktivní některý klíč, ve kterém můžeme vytvořit klíč nebo hodnotu), data hodnoty si můžeme podrobně prohlédnout nebo případně změnit tak, že na hodnotu v pravé části okna poklepeme myší (nebo stiskneme Enter ). POZOR!!! NEEXISTUJE ŽÁDNÉ TLAČÍTKO ZPĚT, všechny provedené změny se okamžitě uloží a pokud něco smažeme, není žádná cesta zpátky, proto každý, kdo takto s registrem pracuje, by si měl každý destruktivní krok desetkrát rozmyslet.
6.3
Zálohování registru
Pokud provádíme změny v registru nebo obecně v konfiguraci systému (hardwarové i softwarové), je vhodné si ho zálohovat. Záloha je praktická také v případě, že instalujeme zkušební verzi některého programu a máme obavy, že program bude přidávat do registru „nevyhledatelnéÿ položky. Možnosti zálohování registru: Export/Import registru: V Editoru registru (regedit) v menu Registr vybereme Exportovat. . . Pokud chceme exportovat celý registr, zatrhneme políčko Všechna data. Vytvoří se soubor REG.
71
Pokud budeme chtít registr vrátit do původní podoby (třeba tehdy, když jsme něco smazali), stačí na tento soubor poklepat, smazané klíče a hodnoty se vrátí. Tímto způsobem však nedokážeme smazat chybné klíče, pouze přidáváme chybějící nebo opravujeme data existujících hodnot. REG soubor můžeme načíst také v DOS režimu (Win 9x/ME), pokud Windows nestartují (díky našemu zásahu). Pokud máme exportovaný registr v souboru VSE.REG, zadáme regedit /c cesta\vse.reg (tedy soubor zadáme s celou cestou). POZOR, to lze použít pouze v případě, že v souboru VSE.REG je exportován celý registr, ne jen jeho část (narozdíl od prostředí Windows). POZOR, ve verzi Windows 95 před OSR2 je tento postup riskantní, v DOS režimu tam regedit funguje někdy špatně a může poškodit i celý operační systém. Záloha souborů registru: Můžeme samozřejmě zálohovat binární soubory registru. Pokud po změně registru Windows nenastartují, můžeme v DOS režimu (nebo nouzovém, pokud nastartuje) soubory obnovit ze zálohy prostým zkopírováním (na disku s FAT souborovým systémem pozor na atributy, soubory registru mají nastaveny atributy S, R a H; na NTFS disku zase potřebujeme patřičná přístupová práva – administrátorská). Poslední známá funkční (platná) konfigurace: Zvolíme ve startovacím menu systému (při startu stiskneme F8 – použitelné v případě, že registr je funkční, ale změny provedené při posledním spuštění zapříčinily nefunkčnost celého systému (týká se například ovladačů hardwaru, objektů COM, . . . , vrátí se pouze změny provedené v klíči, kde je uložena platná konfigurace systému). Tuto možnost můžeme použít od Windows 2000. Záchranná opravná disketa: Vytvoříme ji pomocí nástroje Zálohování, mimo jiné můžeme zálohovat také registr. Je v systémech řady NT (do verze 2000, viz str. 87). Nástroj Obnovení systému: Až ve Windows XP, viz kap. 3.1 na str. 20. scanreg: Ve Windows 98/ME, umožňuje kontrolovat a zálohovat registr. Je spouštěn automaticky při každém startu systému, kdy kontroluje konzistentnost registru. Pokud najde nějaký problém, nahradí poškozené soubory registru jejich zálohami. Zálohy vytvořené tímto programem se nacházejí obvykle v adresáři sysbckup, který je v systémovém adresáři (většinou Windows), jsou to soubory s názvem RB*.CAB (místo znaku * je řada čísel). Můžeme je použít dvěma způsoby: pokud nechceme použít přímo program scanreg (a dostaneme se do Windows), soubory CAB rozbalíme (např. programem extract.exe, je ve Windows) a zkopírujeme na místo původních souborů, nebo spustíme scanreg (to můžeme i tehdy, když se nedostaneme do Windows, při startu systému stiskneme F8 a vybereme Jen systém MS-DOS, pak zadáme příkaz scanreg). V (pseudografickém) prostředí vybereme položku Start (tím se spustí kontrola registru), pak po provedené kontrole můžeme také vybrat, která záloha se použije pro obnovení registru (tlačítko Zobrazit zálohy, zobrazí se i datum provedení zálohy).
72
6.4
Obsah registru
V následujícím textu budeme některé názvy zkracovat (názvy klíčů mohou být velmi dlouhé), tedy HKCR znamená HKEY CLASSES ROOT, HKCU znamená HKEY CURRENT USER, HKLM znamená HKEY LOCAL MACHINE, HKU znamená HKEY USERS, HKCC znamená HKEY CURRENT CONFIG. Registr se člení na několik základních klíčů, které se dále větví. Dva tyto klíče, a to HKLM a HKU, jsou hlavní, obsahují celou strukturu registru, ostatní jsou vlastně odkazy na některé důležité větve v těch dvou obsažené, slouží především k snadnějšímu přístupu k některým položkám. Přestože jsou informace duální (ale pouze v této struktuře, ne v binárních souborech), změna provedená v hlavním klíči se projeví i v odvozených a naopak. V klíči HKLM najdeme informace o počítači, které jsou globálního charakteru, především informace o nainstalovaném hardwaru a softwaru společně pro všechny uživatele. V klíči HKU jsou nastavení platná pro jednotlivé uživatele. Pokud je tentýž typ nastavení v HKLM i v HKU, přednost má vždy údaj hodnoty v HKU, tedy přednost před obecným nastavením má nastavení pro konkrétní uživatele.
Klíč HKCR Najdeme zde především přípony souborů, které jsou asociovány s aplikacemi (viz kap. 2.5 na str. 15, nástroj Možnosti složky, záložka Typy souborů), u přípon je obvykle alespoň identifikace asociované aplikace (pouze symbolický název, ne přímo řetězec s názvem EXE souboru aplikace) nebo typu obsahu (Content Type, v některých případech se používá také u identifikace příloh e-mailů nebo na internetových stránkách). Ve Windows 2k/XP může být také OpenWithList (pro jednu příponu může být více aplikací, pak je v kontextovém menu automaticky přítomna volba Otevřít v . . . Položka ShellNew znamená, že soubor tohoto typu lze vytvořit v kontextovém menu složky (včetně plochy), položka Nový . . . Můžeme se podívat například na .BAT, .BMP, .GIF, .DOC (také ShellNew), .HTML. Dále zde najdeme klíče s názvy identifikace typu souborů, tady asociované programy ukládají informace o typu, které se vypisují například v Průzkumníkovi, dále DefaultIcon (může to být buď ICO soubor, nebo také EXE či DLL s určením indexu v kódu, tato informace se dá využít, pokud se uživateli tato ikona líbí). Podíváme se například na AVIFILE, BATFILE, EXEFILE. Nalezneme tady také identifikaci komponent a jejich CLSID kódy 1 . Pokud potřebujeme například zjistit CLSID určitého objektu, přesuneme kurzor na klíč HKCR/CLSID (nebo jenom HKCR) 1
CLSID je zkratka ClaSs IDentificator (Identifikátor třídy), je to identifikační číslo objektu COM.
73
a v menu zvolíme Úpravy – Najít. Zatrhneme vyhledávání pouze Údajů a zadáme objekt, který hledáme. Vyzkoušíme například Tiskárny nebo Plocha. Některé objekty mají své CLSID pouze v HKU. U klíčů pro asociované přípony obvykle najdeme hodnoty: • Výchozí hodnota – název, který se vypisuje v souborových manažerech (např. v Průzkumníkovi) • DefaultIcon • Shell – co se má v shellu (tj. grafickém prostředí) provést, pokud pro soubor s touto příponou zvolíme určitou akci (otevřít, spustit, vytisknout, . . . ), např. v kontextovém menu pro objekt tohoto typu • ShellEx (rozšířené nastavení) – názvy objektů, které pro soubor můžeme používat (například DropHandler je objekt, který se zobrazí při tažení). První klíč tohoto hlavního klíče, s názvem * (tedy hvězdička), má zvláštní postavení. Jde o nastavení vlastností pro všechny typy souborů a adresářů, najdeme zde především obecné nastavení kontextového menu. Pokud chceme upravovat kontextové menu tak, aby změny platily pro všechny typy souborů, provádí se to právě zde. V datech %1 obvykle znamená název souboru, který má přiřazenu danou příponu nebo identifikaci (podobně jako v dávkových souborech, je to stejný princip).
Klíč HKCU Tento klíč obsahuje nastavení důležitá pro právě přihlášeného uživatele (některé položky z Ovládacího panelu a Software). Některé podklíče: Conzole: Zde je nastavení pracovního prostředí Příkazového řádku (implicitní). Control Panel: Tyto údaje byly dříve ve Win.INI, většinu z nich lze editovat pomocí nástrojů Ovládacích panelů. Jsou tu například podklíče • Colors – barvy pro různé grafické objekty (titulek okna, tlačítko, apod.) • Desktop – doba nečinnosti, po které se spustí spořič obrazovky, tapeta (Wallpaper), . . . , v klíči Window Metrics jsou například rozměry položek menu, šířka okraje okna, atd.) • International – nastavení jazyka, formátu měny, data, času, . . . • Mouse – zde nemusí být nic zadáno, záleží na ovladači myši • PowerCfg – nastavení provedená v nástroji Možnosti napájení (v Ovládacích panelech) Environment: Zde mohou být některé systémové proměnné (proměnné prostředí) definované vždy pro určitého uživatele. Standardně jsou zde TEMP a TMP. Software: Zde bývají uloženy informace o softwaru od různých výrobců typické pro přihlášeného uživatele. Například v Software/Microsoft/Internet Explorer je také nastavení pro prostředí Windows (IE je integrován) – podíváme se na podvětev . . . /Desktop/General, další
74
• Main – hlavní nastaveni IE (startovní stránka, vyhledávání, které panely se mají zobrazit, . . . ) • PageSetup – vzhled stránky pro tisk • Settings – implicitní barvy pro HTML • Typed URLs – poslední adresy psané na klávesnici Důležitá je také větev HKCU/Software/Microsoft/Windows, kde jsou různá nastavení pro operační systém, jeho nástroje a vestavěné programy. Zde je také podklíč Current Version, kde najdeme například • Applets – v podklíči Regedit jsou uloženy některé údaje o Regeditu, například při jeho uzavření se zde uloží poslední používaný klíč v levé části aplikace (při novém spuštění je pak tento klíč opět aktivní), • Explorer – některá nastavení prostředí pro přihlášeného uživatele, například
• • • •
– v podklíčích je hodně MRU seznamů (viz níže), – v podklíči FileExts je totéž co v klíči HKCR (asociované přípony), – v podklíči MenuOrder/Start Menu najdeme adresářovou strukturu nabídky Start přihlášeného uživatele (zde je především zachyceno pořadí položek v jednotlivých podmenu Programy, hodnota Order), – MountPoints obsahuje údaje o všech připojitelných vnějších paměťových médiích včetně pevných disků, – v podklíčích Shell Folders a User Shell Folders najdeme cesty k důležitým adresářům uživatele (Dokumenty, Nabídka Start – Programy, SendTo, ShellNew – Šablony, Cookies, Temp, History, . . . , jsou to důležité klíče pro programátory), Group Policy – členství uživatele ve skupinách, Policies – zde se definují některá omezení pro přihlášeného uživatele (včetně zakázání přístupu k některým systémovým nástrojům), Internet Settings – nastavení přístupu k Internetu (obecně, nejen Internet Explorer, tedy je zde například i výchozí WWW prohlížeč), Run, RunOnce – jedno z míst, kde jsou programy spouštěné po startu systému.
Podklíč Windows NT obsahuje některá rozšíření podklíče Windows. Seznam naposledy nebo nejčastěji otevíraných souborů nalezneme obvykle v klíčích nazvaných Recent File List (rozhodně obsahují slovo RECENT ) nebo obsahujících řetězec MRU (to znamená Most Recently Used). Pokud někdo nechce, aby měl kdokoliv jiný včetně správce přehled o tom, které soubory (nebo internetové stránky) nejvíce používá (resp. používal naposledy), je možné v registru (v této větvi) dohledat tyto klíče a ty, které obsahují nechtěné položky, smazat (jen jejich hodnoty!!!).
Klíč HKLM Tento klíč obsahuje veškeré důležité informace o samotném počítači (hardware, služby, různé konfigurační možnosti operačního systému, konfigurace některého software). Má podklíče:
75
Hardware: Informace o hardware. Podklíč DESCRIPTION obsahuje údaje o procesoru a matematickém koprocesoru, BIOSu a sběrnici, podklíč DEVICEMAP zachycuje umístění konfiguračních informací pro některá zařízení (klávesnice, myš, porty, grafická karta) v registru (poslední známá funkční konfigurace), podklíč RESOURCEMAP obsahuje údaje o částech systému komunikujících s ovladači hardwaru – zdrojích (HAL, ACPI, P&P, operační paměť), především přidělené IRQ, adresy DMA, porty pro komunikaci apod. SAM: (Security Account Manager) obsahuje konfigurační informace týkající se uživatelských účtů a jejich zabezpečení. Security: Pokud jsou v Místních zásadách zabezpečení nastavena omezení pro některé uživatele, informace o nich jsou uloženy zde. Software: Nastavení softwaru od různých výrobců, také software od Microsoftu včetně samotného OS. Jsou zde podobné informace jako v podklíči Software klíče HKCU, ale platné obecně pro všechny uživatele. System: V podklíčích ControlSet00x jsou uložené konfigurace, CurrentControlSet je momentální konfigurace (hardware a software, jde především o nastavení ovladačů včetně umístění SYS souborů a parametrů, pro P&P parametry pro různá zařízení umožňující tuto službu používat, parametry pro COM objekty, údaje BIOSu, systémové proměnné nezávislé na konkrétním uživateli (v podklíči . . . /Control/SessionManager/Environment), atd. V podklíči CurrentControlSet/Control/SafeBoot je uloženo, jak se bude systém zavádět v případě Stavu nouze (včetně módu Stav nouze s prací v síti nebo Stav nouze se systémem MS-DOS).
Klíč HKU Obsahuje nastavení pro jednotlivé uživatele. V podvětvi .DEFAULT jsou nastavení, která se použijí pro nově vytvořeného uživatele, ostatní odpovídají konkrétním uživatelům. Podklíče pro tyto uživatele jsou nazvány vždy jednoznačným bezpečnostním identifikačním číslem uživatele (SID – Security ID).
Klíč HKCC Je to výtažek z HKLM. Užitečná může být, pokud je v systému definováno více hardwarových profilů, pak zde najdeme aktuální profil.
6.5
Vybrané úlohy práce s registrem
Zde jsou uvedeny některé úlohy řešitelné úpravou registru Windows. Je to pouze velmi omezený výčet, který slouží k demonstraci způsobu použití registru. Různé tipy z této oblasti jsou k nalezení především na Internetu, některé servery se přímo této tématice věnují, poslední dobou se objevují také „papírovéÿ publikace o registru. Aby provedené změny byly aktivní, je někdy nutné restartovat počítač nebo alespoň Explorer.
76
6.5.1
Úpravy prostředí
Odstranění zbytečných položek v kontextovém menu Nový . . . : V registru postupně vyhledáme klíče s názvem ShellNew (menu Úpravy – Najít, hledat pouze celý řetězec, další klíče můžeme již vyhledávat pomocí F3 ), a pokud aplikace, u které je tento řetězec (tento údaj najdeme pod názvem FileName), se nám v kontextovém menu nehodí, smažeme klíč ShellNew (klávesou Del ) a pokračujeme dále.
Rozšíření kontextového menu Nový . . . : Pokud chceme mít v menu Nový (Nový objekt) nějakou další položku, musíme udělat tyto kroky: • vyhledáme umístění složky ShellNew (Templates nebo Šablony ve Windows řady NT), dá se vyhledat v registru, jak je popsáno výše, • do této složky uložíme vzorový soubor, šablonu, která se vždy zkopíruje na místo, kde chceme vytvořit nový soubor. Pokud chceme například vytvářet nové soubory s příponou BAT, které by již obsahovaly nějaký text (komu by se chtělo pořád dokola psát tentýž text, prostě ho uložíme do šablony), vytvoříme soubor pojmenovaný třeba VZOR.BAT, do něho vepíšeme text, který chceme mít vždy napsán (například první řádek @ECHO OFF), a uložíme do příslušné složky, • v registru najdeme v klíči HKCR naši příponu (například .BAT) a místo textové hodnoty NullFile vytvoříme textovou hodnotu FileName. Jako data této hodnoty zadáme název vytvořeného souboru (VZOR.BAT, jen název bez cesty). Pokud chceme pouze, aby se položka objevila v menu Nový, ale vytvořený soubor by měl být jen prázdný s nulovou délkou, pak v klíči přípony necháme (nebo vytvoříme) klíč NullFile, data necháme prázdná (pak není potřeba vytvářet soubor s šablonou).
Přidání položky kontextového menu pro všechny typy souborů: V klíči HKCR/* vytvoříme nový klíč s názvem Shell (pokud ještě neexistuje), v tomto klíči pak vytvoříme nový klíč s názvem přidávané položky (mezery a české znaky nevadí), případně můžeme použít některé předdefinované (open, edit, print, printto, atd.), v tomto klíči vytvoříme klíč s názvem command a v něm k předdefinované hodnotě Výchozí napíšeme jako data příkaz, který se má provést po vyvolání této položky v kontextovém menu (pokud potřebujeme v příkazu název souboru, reprezentujeme ho dvojznakem %1).
Umístění tapety na kterékoliv místo pracovní plochy: V klíči HKCU/Control Panel/Desktop jako údaj textové hodnoty Wallpaper zadáme název souboru včetně cesty. Pak vytvoříme dvě nové textové hodnoty s názvy WallpaperOriginX a WallpaperOriginY, jako data zadáme souřadnice (jak daleko má být obrázek od vertikální a horizontální osy procházející středem monitoru). Zobrazení všech přípon souborů: Windows standardně potlačují zobrazení přípon u souborů, jejichž typ je registrován. To vede např. k tomu, že v Průzkumníku nemáme možnost rozlišit
77
různé formáty obrázků. Pak stačí v Průzkumníku otevřít menu Možnosti složky kartu Typy souborů a zrušit implicitní volbu Skrýt příponu souborů známých typů. Ani tento postup však nevede k tomu, aby se zobrazovaly přípony u .LNK, .URL a .PIF souborů. Pokud chceme, aby se přípony zobrazovaly i u těchto typů souborů, musíme se v registru v klíči HKCR najít klíče Lnkfile, InternetShortcut a Piffile. Ty standardně obsahují hodnotu NeverShowExt. Označíme uvedený řetězec znaků, stiskneme F2 a změníme na údaj AlwaysShowExt. Této změně se přizpůsobí jak Plocha, tak i Průzkumník a nabídka Start.
Odstranění „pozůstalýchÿ odinstalačních položek: V Ovládacích panelech v nástroji Přidat nebo odebrat programy se někdy stane, že po odinstalování položka zůstane v seznamu nainstalovaných programů, třebaže program byl jinak odinstalován. Tuto položku ze seznamu odstraníme tak, že v klíči HKLM/Software/Microsoft/Windows/Current Version/Uninstall najdeme tuto položku a odstraníme ji. Můžeme zde odstranit i položku programu, který není odinstalován, třeba proto, aby nebyl viditelný v nástroji Přidat nebo odebrat programy (někdy se hodí uživatelům „znemožnitÿ odinstalování některých programů, i když se to dá obejít). Pak je ale vhodné tento podklíč exportovat do REG souboru a uschovat pro případ, že někdy budeme chtít položky v nástroji zviditelnit a případně odinstalovat.
Umístění seznamu tiskáren do kontextového menu Odeslat: V registru si najdeme CLSID pro Tiskárny (v klíči HKCR, zaškrtneme si pouze Údaje), jde o dlouhé číslo v hexadecimální soustavě. Dále najdeme umístění složky SendTo (taktéž v registru, pokud je neznáme). V této složce vytvoříme novou složku s názvem Tiskárny.{22. . . . . . .} (tj. ve složených závorkách vypíšeme celé dlouhé číslo, nejen pár teček, číslo musí být v lomených závorkách, za názvem Tiskárny, který si ale můžeme jakkoliv pozměnit, musí být tečka, před a za tečkou by neměly být mezery). Seznam tiskáren v menu Odeslat zůstává neustále aktivní podle toho, které tiskárny jsou nainstalovány. Stejným způsobem si můžeme vytvořit zástupce (přesněji novou složku) pro kterýkoliv objekt s přiřazeným CLSID, například Ovládací panely nebo Doručená pošta.
Odstavení webové služby ve Windows XP: Pokud ve Windows XP chceme spustit soubor, jehož přípona není asociována s žádnou aplikací, systém zobrazí dialogové okno, ve kterém nám dá na výběr mezi použitím webové služby, která nalezne vhodnou aplikaci, a vybráním aplikace ze seznamu. Implicitní je první možnost, tedy pokud nechceme použít webovou službu, musíme „zaktivnitÿ druhou možnost, pak potvrdit OK a teprve potom můžeme vybírat ze seznamu aplikací. Většinu uživatelů to dost obtěžuje, protože webovou službu používá málokdo (a navíc ne každý má permanentní připojení na Internet). Zobrazování tohoto dialogu se dá vypnout v registru (zobrazí se přímo okno se seznamem aplikací): v klíči HKCU/Software/Microsoft/Windows/Current Version/Explorer vytvoříme hodnotu typu DWORD, nazveme ji InternetOpenWith a necháme jí hodnotu 0.
78
Vyhledávací dialog Windows XP přejatý z Windows 2000: Windows XP obsahují zcela přepracovaný vyhledávací dialog (Start – Hledat) určený pro „systému málo znaléÿ uživatele. Je možné přímo v dialogu nastavit „pokročilejšíÿ rozhraní (Změnit předvolby), ale pokud se chceme vrátit přímo k vyhledávacímu dialogu z Windows 2000 (dá se lépe konfigurovat), v registru HKCU/Software/Microsoft/Windows/Current Version/Explorer/CabinetState vytvoříme textovou hodnotu s názvem Use Search Asst a nastavíme ji na no.
Písmena jednotek před názvy: V levém podokně Průzkumníka jsou jednotky (disky) zobrazeny stylem název jednotky (písmeno jednotky:), což je u delšího názvu dost nepraktické (zvláště u síťových jednotek). Pořadí můžeme obrátit, tedy bude se zobrazovat nejdřív písmeno a potom název jednotky. V registru najdeme větev HKLM/Software/Microsoft/Windows/CurrentVersion/ Explorer, v ní vytvoříme novou DWORD hodnotu s názvem ShowDriveLettersFirst s údajem 4 (hodnota 1 znamená, že se nastavení bude týkat pouze síťových jednotek, 4 nastaví zobrazení pro všechny jednotky).
6.5.2
Správa systému
Zobrazení všech zařízení ve Správci zařízení: Ve Správci zařízení (devmgmt.msc) se standardně nezobrazují zařízení nepodporující technologii Plug&Play a dále ta zařízení, která se nepodařilo inicializovat. Pokud chceme, aby se zobrazila všechna zařízení, musíme v menu konzoly zvolit Zobrazit – Zobrazit skrytá zařízení. Přes menu konzoly se však nedá řešit úplnější zobrazení informací k jednotlivým zařízením (v menu si tak akorát můžeme nadefinovat zobrazení popisu). Když tedy chceme zobrazit úplné informace k jednotlivým zařízením v konzole, vytvoříme novou řetězcovou hodnotu s názvem DEVMGR SHOW DETAILS v klíči HKLM/System/CurrentControlSet/Control/SessionManager/Environment a nastavíme ji na 1. Jestliže chceme, aby se bez nutnosti zásahu v menu při každém spuštění konzoly vždy zobrazovala všechna zařízení, do téhož klíče přidáme řetězcovou hodnotu DEVMGR SHOW NONPRESENT DEVICES a také ji nastavíme na 1.
Nastavení funkce Prefetch: Funkce Prefetch ve Windows XP slouží k optimalizaci spouštění aplikací a operačního systému. Soubory, které tato funkce vytváří, jsou uloženy ve složce Prefetch v systémové složce. Pokud uživatel nechce používat tuto funkci, je možné ji vypnout nebo omezit. V registru najdeme klíč HKLM/Szstem/CurrentControlSet/Control/SessionManager/ Memory Management/Prefetch Parameters, hodnotu Enable Prefetcher. Pokud je nastavena na 0, funkce je zakázána, 1 znamená, že funguje pouze pro aplikace, 2 pouze pro operační systém, 3 pro obojí.
Dialogové okno před přihlášením do systému: Pokud chceme všechny přihlašující se uživatele o něčem informovat, můžeme zajistit, aby se před každým přihlášením zobrazilo dialogové okno se zprávou. V registru najdeme klíč HKLM/Software/Microsoft/Windows/Current Version/Winlogon, tady vytvoříme novou textovou hodnotu s názvem LegalNoticeCaption a jako data dáme text, který semá objevit v záhlaví okna. Pak vytvoříme další textovou hodnotu s názvem LegalNoticeText a jako data zadáme text, který se má objevit v dialogovém okně.
79
Zákaz používání konzoly Správce zařízení: V registru najdeme HKCU/Software/Microsoft/Current Version/Policies, pokud zde není klíč nazvaný System, vytvoříme ho. Pak se přepneme do tohoto klíče a vytvoříme zde novou hodnotu typu DWORD, pojmenujeme ji NoDevMgrPage a jako údaj zadáme číslo 1. Zákaz spouštění programů uvedených v klíčích Run a RunOnce: V těchto klíčích jsou uvedeny programy, které se spouštějí při spuštění systému (HKLM/Software/Microsoft/ Windows/CurrentVersion/Run nebo RunOnce) nebo přihlášení uživatele (HKCU/. . ./Run nebo RunOnce). Pokud chceme toto chování systému zakázat (pak jsou položky v Run a RunOnce ignorovány), vytvoříme v klíči HKLM/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer (pro HKLM) nebo HKCU/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer (pro HKCU) novou hodnotu podle níže uvedené tabulky a nastavíme ji na 1:
Chceme zakázat spuštění progamu v Vytvoříme hodnotu s názvem HKLM/. . ./Run DisableLocalMachineRun HKLM/. . ./RunOnce DisableLocalMachineRunOnce HKCU/. . ./Run DisableCurrentUserRun HKCU/. . ./RunOnce DisableCurrentUserRunOnce Tabulka 6.1: Zákaz spuštění programů v Run, RunOnce
Kde hledat další informace: V poslední době bylo vydáno několik knih o registru Windows, informace o nich jsou na stránkách nakladatelství (především CP Books – knihy.cpress.cz). Dále přímo na Internetu je mnoho stránek zabývajících se problematikou správy Windows a registru, například • www.regedit.sk • www.regedit.cz • www.pctuning.cz • www.microsoft.cz • www.activewin.com/tips/reg/index.shtml • www.winguides.com/registry/ • www.easydesksoftware.com/regtrick.htm atd. Další adresy získáme v portálech, nebo v kterémkoliv vyhledávači na Internetu, když zadáme klíčové regedit nebo registry (na českém i světovém Internetu).
80
Kapitola 7 Technologie použité ve Windows V této kapitole probereme některé důležité rysy operačních systémů typu Windows. Kapitola by měla být mnohem obsáhlejší, ale témata, která byla probírána v předchozích kapitolách, zde nejsou zařazena.
7.1 7.1.1
Instalace a provoz Windows Instalace systému
Rozlišujeme několik základních typů instalací Windows: Čistá instalace: instalujeme na prázdný zformátovaný logický disk (budoucí systémový disk) nebo provedeme formátování na začátku instalace, instalace probíhá bez jakékoliv vazby na předchozí operační systém, který byl případně na daném logickém disku nainstalován. Inovace (přeinstalování): na budoucím systémovém disku je již nainstalován některý operační systém typu Windows, chceme ho přeinstalovat na vyšší verzi. U některých systémů nelze provést inovaci (například nelze Windows 3.x nebo 95 inovovat na Windows XP, ale Windows 98 nebo 2000 již ano). Instalace vedle jiného OS: provádí se do jiného adresáře (složky) nebo na jiný logický disk, podle typu systémů. Účelem je funkčnost předchozího (předchozích) i nového operačního systému. Poslední možnost může být v případě Windows problematická. Za určitých okolností dokážou vedle sebe na jednom logickém disku existovat MS-DOS a některé Windows s DOS jádrem, pokud ale chceme instalovat Windows s NT jádrem vedle jiných Windows, musí to být na jiný logický disk. Jiný operační systém než Windows je tvrdě ignorován. Problémy nastávají s přístupem k zavaděči jiných systémů – řešení bude probíráno na přednáškách. Za normálních okolností (instalujeme přímo na klientském počítači, máme bootovací CD mechaniku) se instalace spustí automaticky po nabootování z CD, instalaci provádí soubor setup.exe. Na
81
instalačním disku je však ještě několik programů, které provádějí instalaci, používají se například při automatizované instalaci nebo v případě, že nemáme bootovací CD mechaniku. Některé verze Windows nabízejí více různých možností instalace, zajímavé jsou především možnosti pro automatizovanou instalaci (máme síť s Windows Serverem), jako např. Bezobslužná instalace: např. pro Windows XP jsou to WINNT32.EXE a WINNT.EXE ve složce I386 na instalačním disku. Použijeme ji, pokud máme instalovat velké množství počítačů s různými hardwarovými architekturami a případně různý software. Sysprep (Nástroj přípravy systému): v souboru DEPLOY.CAB ve složce Support\Tools. Je použitelná, pokud instalovaný počítač má stejnou vrstvu HAL jako ten, ze kterého instalujeme (referenční), tento nástroj dokáže provést pouze čistou instalaci (nikoliv reinstalaci). Ve skutečnosti se vytvoří bitová kopie disku referenčního počítače (image), a ta se nakopíruje na ostatní počítače. Takto lze přenášet nejen systém, ale také všechny nainstalované aplikace a konfiguraci. Nevýhodou je omezení velikosti image na kapacitu disku CD. RIS (Služba vzdálené instalace): je součástí serverových variant Windows od verze 2000. Je řešena podobně jako Sysprep, ale nejsme omezeni kapacitou CD (instalace probíhá po síti), je nutné mít v síti zprovozněnou službu Active Directory. SMS (Systems Management Server): také na serverových Windows. Je použitelný pouze pro inovaci existující instalace některého systému Windows. Nabízí možnost načasování inovace, určení počítačů, kterých se bude týkat, instalaci opravných balíčků, apod. Další můžeme použít i netradiční možnosti typu bitové kopie (obraz disku, image) systémového disku, se kterou nebude pracovat server Windows, ale Linux nebo jiný operační systém (nebo použijeme speciální programy pro vytvoření obrazu systémového disku na bootovacím CD nebo disketě, některé z nich jsou také postaveny na Linuxu, nebo běží na jiném počítači v síti), to je možnost velmi vhodná pro obnovu poškozeného systému (předem vytvoříme „nepoškozenýÿ obraz), data by pokud možno měla být na jiném logickém disku nebo na síti. Automatizovaná instalace probíhá s minimem zásahů uživatele (správce), pro vstupy se používají soubory odpovědí (to jsou textové soubory s informacemi, které by bylo jinak nutné zadávat během instalace, případně tady mohou být příkazy pro spuštění určitých programů včetně instalačních a konfiguračních nástrojů). Podrobné informace o automatizovaných instalacích a o formě souborů odpovědí pro různé metody jsou v Resource Kitu pro zvolenou verzi Windows. V případě, že CD mechanika počítače není bootovací, instalace se provede tak, že nabootujeme z instalační diskety Windows 98 (ta se dá opatřit například na www.bootdisk.com) a v zobrazeném menu zvolíme Spustit systém s podporou CD-ROM. Vytvoří se virtuální CD disk, přes který již je přístupná CD mechanika. Přepneme se na tuto mechaniku (písmena jednotek mohou být posunutá) a instalaci spustíme příkazem i386\winnt.exe (program setup.exe v prostředí DOSu nefunguje). To, jakou verzi systému máme, zjistíme v nástroji Systém, případně rychle pomocí příkazu winver (podobně jako ver, ale místo verze DOSu zobrazí verzi Windows).
82
Některé verze Windows (včetně Windows XP) je nutné aktivovat. Není to totéž co registrace (registrace umožňuje využívat některé další služby Microsoftu). Bez aktivace běží systém po určitou dobu (60 dnů), pak se stane nefunkčním. Aktivace nebývá nutná u některých typů licencí, např. OEM (produkt byl aktivován při instalaci) nebo některých hromadných licencích. Aktivaci také můžeme provést při automatizované instalaci úpravou souboru odpovědí (funguje, pokud je počítač připojen k Internetu). Samotná aktivace spočívá ve vygenerování kódu typického pro určitý počítač, vytváří se na základě hardwarové konfigurace počítače (to je vlastně důvod, proč se po „razantnějšíchÿ a opakovaných změnách konfigurace začne systém chovat jako neaktivovaný). Tento kód je uložen v souboru wpa.dbl v adresáři System32. Aktivaci je teoreticky nutné provést při každém přeinstalování Windows, ale ve skutečnosti stačí, když si včas zálohujeme soubor wpa.dbl a po přeinstalování ho vrátíme do System32.
7.1.2
Aktualizace systému
Podpora aktualizací je součástí rozhraní Windows od verze 98, pod názvem Windows Update – v novějších verzích českých variant systému Automatické aktualizace. „Menšíÿ záplaty se nazývají hotfix (to je ostatně překlad slova záplata), souhrnné větší aktualizace se nazývají Service Pack (opravný balíček), obvykle v sobě zahrnují všechny hotfixy vydané od předchozího Service Packu. Přímo ve Windows je integrován nástroj pro aktualizaci systému, obvykle je odkaz přímo v hlavní části nabídky Start (ve skutečnosti se spouští program Wupdmgr.exe v systémové složce nebo ve složce System32), ve Windows 2000 a XP je navíc nástroj Automatické aktualizace v Ovládacích panelech. Aktualizace může být i součástí instalace. Při automatizovaných instalacích máme možnost použít dynamickou aktualizaci (provede se automaticky, pokud máme připojení k Internetu). Aktualizace si můžeme také zálohovat. Je to užitečné, pokud existuje třeba jen malá pravděpodobnost, že budeme systém přeinstalovávat (ta u Windows existuje prakticky vždy!) a připojení k Internetu si platíme sami. Aktualizace stáhneme ze serveru www.windowsupdate.com, kde zvolíme Najít aktualizace pro operační systémy . . . , zvolíme operační systém a projdeme vyhledané aktualizace. Stažené soubory mají příponu EXE, jejich spuštění aktualizaci nainstaluje, samozřejmě je můžeme vypálit na CD nebo uložit na jiný než systémový logický disk. Existuje možnost vytvoření redukovaného instalačního CD s integrovaným Service Packem pro zvolenou verzi Windows. Toto CD můžeme vytvořit pomocí aplikace NLite (je dostupná na nuhi.msfn.org, návod je na nuhi.msfn.org/guide/). Pro její provoz je nutné mít nainstalované .NET Framework (dá se stáhnout na serveru Microsoftu, příp. na Windows Update, viz str. 94). Postupujeme tak, že vytvoříme novou složku, zkopírujeme do ní celý obsah instalačního CD a spustíme NLite. Program umožní integrovat Service Pack (stačí zadat cestu k němu, musí to být Service Pack, ne hotfixy) a dále můžeme pomocí volby Custom odstranit ty části systému, které na výsledném CD nechceme, a případně provedeme některá další nastavení. Je možné také integrovat instalační klíč, aby nebylo nutné ho při instalaci zadávat. Program pak vytvoří bootovací ISO Image, který pak můžeme vypálit na CD.
83
7.1.3
Start systému
Při startu systému lze použít klávesnici pro určení typu spuštění Windows. Klávesy nebo klávesové zkratky držíme od chvíle před startem systému po dobu, než systém na tyto klávesy zareaguje. Jsou to: F5 (pro Windows s DOS jádrem) start bez konfiguračních souborů (soubory CONFIG.SYS
a AUTOEXEC.BAT)
F6 (pro Windows s DOS jádrem) totéž, ale v síti
F8 start s úvodním menu (v některých verzích Windows také klávesa Ctrl ) Shift+F5 (Windows s DOS jádrem) start MS-DOS 7.0 bez konfiguračních souborů
Shift pokud tuto klávesu držíme po celou dobu startu systému od potvrzení přihlášení (až do
chvíle, kdy se objeví ikony na ploše), nespustí se programy uložené ve složkách Po spuštění (Startup)
Úvodní (startovací) menu umožňuje například spustit nouzový režim, nebo pokud máme zároveň nainstalované předchozí verze Windows (ne přeinstalované), tak je lze spustit odtud. Pokud chceme, aby se ve Windows s DOS jádrem vždy při startu systému zobrazovalo úvodní menu, pak do souboru MSDOS.SYS přidáme do sekce [Options] řádek BootMenu=1 Úvodní menu je použitelné především pro možnost spuštění systému v nouzovém režimu. V tomto režimu je systém načten ve výchozím nastavení (standardní ovladače monitoru a myši, z ostatních ovladačů pouze to nejnutnější). Systém spouštíme v nouzovém režimu, pokud nemůžeme spustit systém po instalaci nového ovladače nebo aplikace, po nevhodných zásazích do konfigurace systému nebo při jakémkoliv poškození ovladačů. Je možné odtud také instalovat aktualizace Windows včetně Service Packů. Ve Windows s DOS jádrem máme pouze na výběr, zda chceme či nechceme načíst také ovladače pro přístup do sítě, příp. je možné spustit pouze MS-DOS. Ve Windows S NT jádrem máme tyto možnosti: Stav nouze: Při startu systému jsou načteny pouze ovladače pro nejdůležitější zařízení (monitor, myš, klávesnice, apod.), a to standardní (od Microsoftu), není zprovozněna síť, jsou spuštěny pouze nejdůležitější služby systému. Stav nouze s prací v síti: Totéž jako předchozí bod, navíc jsou načteny i ovladače pro práci v síti. Stav nouze se systémem MS-DOS: (Stav nouze s příkazovým řádkem) Zde nejde o pravý systém MS-DOS (některé soubory, které s MS-DOSem souvisejí, ve Windows NT ani neexistují), ale o spuštění systému bez grafického rozhraní, registru a služeb Windows, pouze s nejnutnějšími standardními ovladači, je to obdoba Příkazového řádku. Povolit protokolování při spouštění: Systém se spouští jako obvykle, ale během tohoto procesu se vytváří protokol (textový soubor s názvem ntbtlog.txt v systémovém adresáři) obsahující informace o stavu načtení všech ovladačů a služeb (zda bylo či nebylo načtení
84
úspěšné). Je to obdoba souboru bootlog.txt ze systémů s DOS jádrem. Do souboru ntbtlog.txt je ukládán protokol také při předchozích možnostech Stavu nouze. Zapnout režim VGA: Omezení na načtení pouze standardních verzí ovladačů se týká pouze ovladače grafické karty. Tuto položku použijeme, pokud se nezdařila instalace ovladače grafické karty nebo je tento ovladač poškozen (monitor je při běžném spuštění systému „nečitelnýÿ). Poslední známá platná konfigurace: Při spuštění systému není brán ohled na změny v konfiguraci provedené pomocí nástrojů ve Windows (registr, konfigurace ovladačů v registru), ale použije se nastavení uložené v registru (viz registr – klíč HKLM/System, změny v konfiguraci do „definitivníÿ konfigurace dostávají až při restartu nebo dalším spuštění systému, tedy tyto změny jsou „zahozenyÿ). Nelze tak řešit změny v konfiguraci typu poškozených systémových souborů nebo ovladačů. Režim ladění: Pro diagnostiku problémů můžeme použít nástroje pro ladění jádra (některé jsou ke stáhnutí na stránkách Microsoftu). Během spouštění systému mohou být zasílány sériovým kabelem informace o ladění do jiného počítače. V úvodním menu se mohou objevit i další položky. Některé jsou tam přidány při instalaci po síti nebo dodatečné instalaci některých modulů, například pokud chceme, aby zde byla možnost spuštění Konzoly pro zotavení (viz str. 32), vložíme do mechaniky instalační CD a nainstalujeme ji, tedy zadáme příkaz (předpokládejme, že CD disku je přidělena jednotka X): X:\i386\winnt32.exe /cmdcons
Start počítače probíhá takto: 1. BIOS spouští test POST (Power On Self Test) pro základní desku – kontrola hardwaru (množství operační paměti, připojené disky, klávesnice, apod.), načte konfiguraci počítače z paměti CMOS (čip na základní desce), tam také zjistí pořadí zařízení, ze kterých se má spustit operační systém, pak proběhne test POST také na některých rozšiřujících kartách (např. řadiče disků, grafická karta), 2. BIOS se pokouší zavést operační systém nejdřív z prvního zaváděcího zařízení (obvykle to je pevný disk), v případě neúspěchu (disk není systémový, . . . ) z druhého, atd., 3. pokud BIOS našel zaváděcí zařízení, ze kterého lze zavést operační systém, spustí příslušný zavaděč (ve speciálním sektoru na disku je jeho adresa). V případě Windows řady NT je tímto zavaděčem proces ntldr (NT Loader, nachází se na systémovém disku), který provede samotné zavedení systému. Zavaděčem může být také některý Boot Manager, který umožní zvolit si mezi více nainstalovanými operačními systémy, po zvolení je spuštěn již konkrétní zavaděč operačního systému (ntldr je vlastně taky jednoduchý Boot Manager, ale umí pracovat pouze s operačními systémy z rodiny Windows). V případě zavádění Windows řady NT na platformě x86 je další průběh následující: 1. proces ntldr načte soubor BOOT.INI, pokud je v něm uvedeno více operačních systémů z rodiny Windows, zobrazí nabídku těchto systémů (s vlastnostmi uvedenými v BOOT.INI),
85
další body platí pro případ, že byl zvolen systém Windows řady NT, jinak jinak je předáno řízení souboru BOOTSECT.DOS (obsahuje údaje o boot sektorech operačních systémů Windows s DOS jádrem), případně zavaděči jiného NT systému, 2. ntldr přepne procesor z reálného do chráněného režimu a načte některé systémové soubory, BIOS již dále není používán pro přístup k zařízením, 3. ntldr spouští program ntdetect.com, který provede detekci hardwaru (postupuje podle zvoleného hardwarového profilu, pokud jsou tyto profily definovány) a získané informace předá procesu ntldr, 4. ntldr spustí hlavní soubor jádra – ntoskrnl.exe a načte knihovnu hal.dll (Hardware Abstraction Layer, vrstva abstrakce hardwaru), načítá řídicí sady (většinou ovladače a služby) uvedené v registru v klíči HKLM/System/CurrentControlSet (nebo ControlSetxxx, podle typu spuštění systému), včetně služeb, které se mají spouštět při startu počítače, 5. ntldr spustí Správce sezení (relací uživatelů) – SMSS.EXE a předá mu řízení, 6. Správce sezení dále • vytváří systémové proměnné, • spouští ty podsystémy, které jsou potřeba již při začátku práce na počítači: podsystém Windows pro režim jádra, ve kterém pracují aplikace, které jsou součástí Windows – představován ovladačem Win32k.sys, nutný pro nastartování grafického režimu, dále podsystém pro uživatelský režim – csrss.exe, • spustí Správce přihlašování (winlogon.exe), atd., 7. Správce prihlašování po svém spuštění spouští podsystém Služby (services.exe) a podsystém lsass.exe (pro ověřování přístupu), a dále umožní přihlášení uživatele (podsystém lsass zkontroluje údaje získané při přihlášení), 8. uživatel je přihlášen a projeví se některá nastavení jako třeba Zásady skupiny (pro počítač i uživatele), případně přihlašovací skripty, pokud existují, jsou spuštěny procesy, které se mají spustit po přihlášení (jsou uvedeny v registru a ve složce Po spuštění – StartUp), 9. rozpoznávání zařízení službou Plug&Play běží od spuštění této služby (bod 4) nezávisle na přihlašovacím procesu.
7.1.4
Chyby při běhu aplikací a systému
Někdy se stane, že se aplikace při své práci dostane do nekonečné smyčky nebo dojde k uváznutí při čekání na prostředek (bude probíráno na přednáškách), a nereaguje. U Win aplikací to poznáme ve Správci úloh (viz str. 12) označením „neodpovídáÿ u této aplikace. Ve Správci úloh také můžeme tuto aplikaci násilně ukončit označením aplikace a stisknutím tlačítka Ukončit úlohu. Pokud je některá aplikace spuštěna v celoobrazovkovém režimu (DOS aplikace, Flashové aplikace, prezentační aplikace – PowerPoint, Adobe Reader, apod.), a „zasekne seÿ nebo zrovna nenabízí možnost pro své ukončení, je možné se přepnout do Windows, kde se dá „zlikvidovatÿ, takto:
• Alt+Enter (do okna), pak v kontextovém menu tlačítka aplikace na Hlavním panelu zvolíme Zavřít,
86
• Alt+Tab (přepnutí úlohy), podobně jako v předchozím případě, • Ctrl+Esc nebo (otevření menu Start), podobně jako v předchozích případech, • Ctrl+Alt+Del , zobrazíme Správce úloh, v něm aplikaci ukončíme. Ve Správci úloh je seznam běžících aplikací, ale nejsou tam všechny. Některé jsou pouze v pravé části Hlavního panelu, jiné se dají vypnout pouze přes seznam procesů nebo pomocí nástrojů systému či úpravou Registru.
Modrá obrazovka („obrazovka smrtiÿ): Zobrazí se při narušení systému (chybějící nebo poškozená část systému, zaseknutí systémové části, provádění některého kódu ve smyčce, spuštění více antivirových programů či firewallů zároveň, . . . ), někdy za to může virus. Modrou obrazovku generuje vždy jádro systému. Často je jedinou možností restart počítače. Pokud se tato obrazovka objeví při startu systému, je to zřejmě způsobeno nesprávnou instalací nebo konfigurací některého zařízení. Řešením je spustit Windows v nouzovém režimu a prohlédnout protokol bootlog.txt nebo ntbflog.txt. V terminologii Microsoftu je obrazovka smrti pěkně pojmenována termínem „obrazovka Stopÿ. Pokud se objeví modrá obrazovka, systém (s NT jádrem) vytvoří soubor výpisu stavu paměti, ze kterého je možné zjistit přesnou příčinu tohoto stavu (je použitelný také v případě, že se nepodaří nastartovat systém, jen zkopírujeme soubor). Může to být omezený výpis paměti (ve složce Minidump na systémovém disku, soubor zabírá jen 64 kB paměti), výpis stavu paměti jádra (tamtéž, rozsáhlejší) nebo úplný výpis stavu paměti (v souboru Memory.dmp na systémovém disku, zabírá místo odpovídající fyzické kapacitě operační paměti plus 1 MB). O tom, který výpis bude generován, rozhodujeme pomocí nástroje Systém, záložka Upřesnit, Spuštění a zotavení systému, tlačítko Nastavení. Použitelný je také soubor Pagefile.sys na systémovém disku (stránkovací soubor, obsahuje celou logickou paměť).
Jestliže se objeví chyba při startu Windows (nelze nastartovat Windows), reagujeme některým z těchto způsobů:
1. Použijeme některou možnost pro nouzový režim (stiskneme F8 při startu systému, viz str. 84), může to být i obnovení pomocí Poslední známé platné konfigurace. V nouzovém režimu můžeme pro obnovení systému použít mimo jiné i nástroj Obnovení systému (Windows XP), obnovit registr ze zálohy, spouštět různé programy včetně nástrojů pro konfiguraci a úpravu registru (samozřejmě podle typu spuštění nouzového režimu). 2. Spustíme Konzolu pro zotavení (viz str. 32, platí pro systémy s NT jádrem). 3. Ve Windows NT 4.x a 2000 lze vytvořit disk se zálohou systému – Záchrannou a opravnou disketu (v nástroji Zálohování, možnost Záchranná opravná disketa), a to včetně registru, ten můžeme vedle dalších možností opravy využít v Konzole pro zotavení, volba Opravit . . . pomocí procesu záchranné opravy, možnost ruční opravy. Záchranný disk ovšem musíme předem (v době fungování) systému vytvořit!!! 4. Ve Windows XP je možnost vytvoření záchranné opravné diskety nahrazena možností Automatické obnovení systému. Tato možnost je také dostupná v nástroji Zálohování (ntbackup.exe). Systém zálohujeme v době, kdy je funkční (také v nástroji Zálohování).
87
Vytvořenou zálohu (datové médium s vlastní zálohou a disketu se zálohou konfigurace disku) máme možnost obnovit také v případě, že se nepodaří spustit Windows: při spuštění počítače nabootujeme z instalačního CD. Brzy po startu počítače (ještě v textové části instalace) se objeví (na krátkou dobu!) výzva „Stiskněte klávesu F5 pro spuštění Automa tického obnovení systému.ÿ Stiskneme klávesu F5 a dále provedeme to, co po nás proces bude chtít (především bychom měli mít připraven datový nosič se zálohou). 5. V systému s DOS jádrem můžeme nabootovat ze spouštěcí diskety. Tu vytvoříme v nástroji Přidat nebo odebrat programy, záložka Spouštěcí disketa, a potom si na ni můžeme zkopírovat některé další programy, které považujeme za užitečné. Spouštěcí disketu pro bootování vytvořenou ve Windows 9x nebo ME můžeme ve skutečnosti použít i ve Windows 2000/XP. Můžeme ji vytvořit i v těchto systémech (i když při jejím použití můžeme mít k dispozici méně možností než u spouštěcí diskety vytvořené ve Windows s DOS jádrem), a to tak, že do disketové mechaniky zasuneme disketu, zobrazíme její kontextové menu (třeba v Průzkumníkovi) a vybereme Naformátovat. V možnostech formátování použijeme volbu Vytvořit spouštěcí disketu MS-DOS. Ve skutečnosti je to spouštěcí disketa Windows ME (po nabootování z této diskety si to ostatně můžeme ověřit příkazem VER). Po naformátování můžeme na disketu zkopírovat pár nástrojů, které bychom mohli případně potřebovat (moc se jich tam nevejde, ale aspoň něco), musí to být programy nezávislé na registru, DLL knihovnách a dalších mechanismech použitelných pouze ve Windows. Takto vytvořená disketa neumožňuje přístup na disky NTFS (pokud neseženeme prográmek, který to „zařídíÿ). 6. Použijeme jiné nástroje (např. PE Builder, viz str. 34).
Startovací diskety pro různé verze Windows jsou ke stažení na mnoha místech na Internetu, například na www.bootdisk.com (je tam také spousta dalších užitečných informací včetně HowToGuides – „Jak na toÿ), nebo na www.volny.cz/otakarmraz/swPomoc/download.html (také zdroj užitečných prográmků většinou pro práci s disky, disketami a CD). Obsah standardní startovací diskety můžeme doplnit některými užitečnými programy, které se mohou hodit, pokud Windows nelze spustit, případně část obsahu nahradit jinými programy. Doporučuje se například použít nástroje • Free FDisk (www.23cc.com, náhrada fdisk.exe, navíc podporuje některé další souborové systémy, disky až do 128 GB, klonování disků, atd.), • ntfsdos (www.sysinternals.com, pro read-only podporu NTFS disků), • Shsucdx (www.geocities.com/jadoxa/shsucdx, podpora CD-ROM, náhrada mscdex.exe), • Registry Viewer (www.paullee.ru, umožňuje prohlížení registru), atd., • případně pkunzip.exe (a co se dá, předem zabalíme do ZIP archivu, pkunzip to v případě potřeby rozbalí).
Chyby na ovladači: Ve Windows XP máme v případě instalace chybného ovladače možnost vrátit změny na ovladači. Ve Správci zařízení (ten je dostupný v nástroji Systém, karta Hardware)
88
najdeme zařízení, které dělá problémy, zobrazíme jeho vlastnosti a na kartě Ovladač použijeme tlačítko Vrátit změny ovladače. To je samozřejmě použitelné pouze tehdy, když se dostaneme do grafického prostředí Windows, funkce má pouze odbourat nutnost ovladač ručně odinstalovat a nainstalovat ten původní.
DrWatson je aplikace, která může zjistit příčinu chyb při běhu aplikací včetně součástí systému. Je dostupná v nástroji Systémové informace (Start – Programy – Příslušenství – Systémové nástroje) nebo spuštěním programu drwtsn32.exe. Použití této aplikace má smysl především pro programátory, kteří tak mohou své aplikace ladit, odchytávat chyby. DrWatson ukládá všechny ladicí informace do protokolu (drwtsn32.log), který si pak programátor může prohlédnout. Můžeme také určit, co se do protokolu bude ukládat, například zda se má pro moduly aplikace uložit tabulka symbolů, kontexty procesů (viz kapitola o procesech), apod.
7.2
Instalace aplikací
Většina aplikací dnes nabízí instalační proces, který provede vše potřebné od detekce ovladačů přes editaci registru a registraci DLL knihoven až po přesun adresářů a souborů na pevný disk. Tento instalační proces si programátor buď vytvoří sám, a nebo využije některý existující program, který pouze upraví. Instalační programy využívají do určité míry službu Služba Windows Installer zabudovanou do Windows, ale jinak se jejich vlastnosti mohou hodně lišit. Asi nejkomplexnějším nástrojem je InstallShield Developer (www.installshield.com), který nabízí prakticky vše, co si programátor může přát, ale možná i z toho důvodu jsou používány i jiné programy, například taktéž velmi silný, ale přehlednější Wise Installation System (www.wise.com), CreateInstall (www.createinstall.com), nebo Inno Setup (www.jrsoftware.org, freeware, je velmi jednoduchý, třebaže použitelný).
Služba Windows Installer: Tato služba zaznamenává všechny změny, které jsou prováděny v systému během instalace aplikací a zajišťuje možnost vrátit provedené změny při nesprávně provedené instalaci. Dokáže také zabránit některým konfliktům mezi aplikacemi způsobeným aktualizacemi sdílené dynamické knihovny (dříve nainstalované aplikace mohou mít s touto knihovnou po aktualizaci problémy). Některé aplikace (např. MS Word) využívají i další funkci této služby, a to instalace některých součástí při prvním použití (součásti se při samotné instalaci produktu nenainstalují, ale až ve chvíli, kdy je některý uživatel chce poprvé použít). Pokud chce aplikace využívat pokročilejší možnosti této služby, stačí vytvořit instalační soubor s příponou MSI. Pomocí nástroje Zásady skupiny můžeme na počítačích v doméně se službou Active Directory řídit instalaci následujícím způsobem: aplikaci neinstalujeme osobně, ale „přenecháme tuto čestÿ uživateli, i když mu neponecháme mnoho volnosti a proces bude automatizovaný. Aplikaci můžeme • publikovat – uživatel může sám rozhodnout, jestli si aplikaci nainstaluje. Aplikace je uvedena v nástroji Přidat nebo odebrat programy,
89
• přiřadit – aplikace se tváří, jakoby byla již nainstalována, její odkaz je například v menu Start – Programy, ale samotná instalace se spustí v okamžiku, kdy se uživatel pokusí aplikaci poprvé použít. K automatizované instalaci aplikací můžeme použít i Systems Management Server (SMS), a to během instalace systému i později. Tento způsob je vhodný zvláště pro rozsáhlé instalace.
DOS aplikace nepoužívají registr, proto jejich instalace obvykle spočívá jen v zkopírování (příp. rozbalení z archivu), případně vytvoření adresáře, modifikaci systémové proměnné (např. rozšíření proměnné PATH) apod. Někdy je vhodné provést další konfiguraci možností spuštění DOS aplikací (výchozí typ a velikost písma, barvy obrazovky, přidělení paměti, atd.). To se provede vytvořením souboru PIF (Program Information File) pro daný program (přípony PIF se standardně nezobrazují, toto nastavení se dá změnit v registru). Ve Windows do verze 3.x se PIF soubory vytvářely pomocí aplikace Editor PIF, nyní máme jednodušší možnost – vyvoláme kontextové menu programu, v něm zvolíme Vlastnosti a provádíme tytéž změny, jaké se dříve prováděly pomocí Editoru PIF. PIF soubor je v novějších verzích Windows chápán již jako speciální typ zástupce, a podle toho je s ním také zacházeno (poklepáním spustíme původní program se změnami definovanými v tomto zástupci).
Režim kompatibility je možnost, jak spouštět programy určené původně pro starší Windows. Použijeme ho v případě, že se starší program nepodaří spustit nebo nastávají problémy při jeho běhu (a nejsou způsobeny chybami v samotném programu). Režim kompatibility nastavíme tak, že vytvoříme zástupce tohoto programu (nebo použijeme již vytvořeného v nabídce Start či na Ploše), v kontextovém menu zobrazíme Vlastnosti, karta Kompatibilita. Tam zvolíme operační systém, který se má emulovat a případně nastavíme další vlastnosti.
7.3
Win API
Programové rozhraní je realizováno přes Win API (Applications Programming Interface), což je souhrn prostředků a procedur (funkcí), které mohou programy používat (dynamicky linkované knihovny – DLL, některé EXE, TIF, . . . ), například funkce pro vykreslení určitého dialogového okna se zadaným textem a tlačítky. API je vlastně přeložený, binární kód, tentýž jako u spustitelných (EXE) souborů, dynamicky linkované knihovny mají strukturu hodně podobné struktuře EXE souborů. V 32-bitových Windows se používá Win32 API. V 32-bitových Windows se používalo API pro grafické operace Win32 GDI, od Windows 2000 je to Win32 GDI+. Je objektově orientované, bližší způsobu programování v C++. DLL používají především programátoři. Aby bylo možné DLL knihovnu používat v aplikaci, je nutné ji nejdřív načíst (zavést), pak je knihovna namapována do adresového prostoru aplikace a její funkce a objekty můžeme volně používat (jen musí být deklarovány jako externí). Pokud tutéž DLL knihovnu používá více aplikací, v 32-bitových Windows (řada NT a dále Windows
90
9x/ME) je kód funkcí knihovny sdílen (je v paměti ve skutečnosti jen jednou), ale data (objekty) má každá aplikace ve vlastní kopii, v 16-bitových Windows byla sdílena i data (to umožňovalo jednoduchou komunikaci mezi procesy). Mnohé programovací jazyky nabízejí možnost ukládat do DLL i vlastní typy komponent a jiných objektů charakteristických pro konkrétní programovací jazyk. Pokud však chceme, aby bylo možné tyto knihovny používat i aplikacích psaných v jiném programovacím jazyce, musíme k těmto komponentám a objektům vytvořit rozhraní, kterému budou rozumět již všechny aplikace. DLL knihovny mají funkce interní (mohou být volány pouze uvnitř DLL) a exportované (mohou být volány z jakékoliv aplikace). Exportované funkce si můžeme prohlédnout některým programem dodávaným obvykle s programovacím jazykem (firma Borland například dodává program tdump pracující na Příkazovém řádku, je potřeba věnovat pozornost přepínačům tohoto programu).
7.4 7.4.1
Procesy Procesy ve Windows NT
Proces je instance programu, aplikace nebo služby systému (což je ostatně obvykle také nějaký program), která má přiděleny určité zdroje (paměť, čas procesoru apod.). V této kapitole se budeme věnovat především procesům ve Windows řady NT. Které procesy jsou spuštěné, si můžeme prohlédnout například ve Správci úloh (viz str. 12). Na kartě Procesy je seznam všech procesů, které jsou momentálně spuštěny, u všech je kontextové menu umožňující některé operace včetně ukončení procesu nebo nastavení priority. Pokud chceme více pracovat s procesy, může se hodit znalost PID (Process ID, identifikační číslo procesu), některé aplikace pro správu procesů ho vyžadují. Na kartě Aplikace v kontextovém menu jednotlivých aplikací máme možnost zjistit, který proces určité aplikaci odpovídá (položka Přejít k procesu). Procesy zde můžeme také ukončovat, ale u systémových se to moc nedoporučuje. Ty nejdůležitější jsou například: explorer: grafický shell Windows, ukončujeme, pokud potřebujeme restartovat grafické prostředí; pokud je zde více procesů s tímto názvem, další obvykle bývají procesy aplikace Průzkumník, internat: program umožňující přepínat mezi různými národními nastaveními (především se týká klávesnice), zkratka z „internationalÿ, taskmgr: nástroj Správce úloh, ctfmon: nástroj pro Office, jeho vypnutí by podle Microsoftu mohlo způsobit nestability při běhu MS Office, ale asi to velký problém nebude, spoolsv: řídicí program tisku (služba Zařazování tisku), svchost: bývá zde obvykle několik procesů tohoto programu, většinou jde o spuštěné služby, lsass, csrss, smss: procesy podsystémů prostředí, není vhodné je ukončovat (pouze v NT),
91
winlogon: proces pro přihlášeného uživatele, má na starosti především přihlašování a odhlašování, ukončuje se automaticky při odhlášení. LSASS (Local Security Authority Subsystem) je podsystém, který udržuje informace o všem, co se týká zabezpečení systému a právě zde běží všechny procesy ověřování přístupu, také spravuje Místní zásady zabezpečení a některé další zásady. Tento podsystém používá databáze SAM (Security Account Manager), ve kterých jsou uloženy informace o uživatelských účtech a účtech skupin, a to buď databázi SAM na lokálním počítači nebo v doméně. Velmi důležitý proces, který se však ve Správci úloh neobjeví, je ntldr (NT Loader, soubor bez přípony). Po spuštění počítače je spuštěn jako první proces a jeho úkolem je načíst (load) celý operační systém. Spouští také proces smss (Session Manager, smss.exe), který pak má na starosti další provoz systému (viz kapitola 7.1.3 Start systému).
7.4.2
Komunikace mezi procesy
Schránka: (Clipboard) ke schránce máme přístup obvykle přes menu různých programů (kopírování apod.), ale také přes aplikaci Prohlížeč (síťové) schránky clipbrd.exe. Tato aplikace v některých variantách Windows není standardně nainstalována, ale lze ji doinstalovat z instalačního CD. Ve schránce mohou být tatáž data v několika různých formátech. Každý tento formát má své označení. Existují standardní formáty, například pro jednoduchý text bez formátování nebo pro obrázek, aplikace si ale mohou vytvářet vlastní formáty.
DDE: (Dynamic Data Exchange, Dynamická výměna dat) jeden program může žádat data od druhého, aniž by to vyžadovalo zásah uživatele, jde tedy o dynamickou formu sdílení dat. Jeden program (Server) poskytuje data druhému programu (Klientovi). Obě aplikace (Server i Klient) musí být spuštěny. Aplikace takto mohou sdílet určitý objekt a komunikovat na jednom nebo více kanálech. Podpora DDE v síti je zajišťována službou Služba DDE v síti a službou Správce DSDM služby DDE v síti. Implementace DDE částečně závisí na aplikacích – data se po změně v aplikaci Server v aplikaci Klient aktualizují buď ihned nebo až po uložení v aplikaci Server. Aktivita může být na straně Klienta (zjišťuje u Serveru, zda došlo k nějaké změně na datech) nebo na straně Serveru (informuje Klienta o změně dat, případně tato data Klientovi rovnou posílá). Práci s DDE nemusíme nechávat jen na aplikacích, ke sdíleným položkám DDE je přístup také přes aplikaci Sdílená položka DDE (spustíme ji například v Start – Spustit, DDESHARE.EXE . Umožňuje především vytváření DDE vazeb mezi procesy běžícími na různých počítačích v síti, můžeme zde vytvářet nebo mazat sdílené objekty, ale také pracovat s přístupovými právy k jednotlivým objektům. Přicházející požadavek DDE je také událostí Windows, proto má vliv na multitasking.
OLE: (Object Linking and Embedding) možnost vnořit do objektu vytvářeného jednou aplikací objekt vytvořený jinou aplikací nebo vytvořit propojení k takovému objektu. Aplikace, které 92
mohou být zdrojem, se nazývají Servery, cíle jsou Klienti. Některé aplikace dokážou být obojí. Narozdíl od DDE můžeme sdílet nejen data, ale obecně různé objekty, a pokud je nutné v „přijímajícíÿ aplikaci objekt upravit či s ním jakkoliv pracovat, nechá tuto činnost na „poskytujícíÿ aplikaci. Typický příklad použití je spolupráce internetového prohlížeče (takového, který OLE podporuje) a Adobe Readeru. Pokud v internetovém prohlížeči klepneme myší na odkaz na PDF soubor, prohlížeč vytvoří OLE vazbu k Adobe Readeru a ve svém vlastním okně poskytne prostor pro zobrazení PDF souboru, které ve skutečnosti provede Adobe Reader. OLE také hodně využívají aplikace v balíku Microsoft Office při skládání dokumentů z různých druhů objektů. Při vnoření objektu se získaný objekt stává součástí vytvářeného dokumentu (obecně souhrnu objektů), vazba je jen nepřímá (je to pouze vazba na aplikaci, která je OLE serverem). Například do dokumentu Wordu vložíme obrázek vytvořený v aplikaci Malování (Paintbrush) pomocí OLE vazby. V samotném Wordu s tímto obrázkem nemůžeme pracovat, ale je zde také odkaz na aplikaci, která dokáže s obrázky pracovat, proto stačí poklepat na obrázek a můžeme ho editovat v nově otevřené instanci aplikace Malování. Po poklepání na obrázek se nastartuje OLE server pro tento druh dat (v našem případě aplikace Malování), po ukončení editace (uložení) se změny provedou i na klientovi (Word). Jiná možnost pro OLE je propojení. Narozdíl od vložení data ve skutečnosti nejsou součástí objektu klienta, ale zůstávají uložena u serveru, u klienta je vytvořena pouze vazba na tato data. V případě provádění změn objektu na straně serveru se změny projeví i na straně klienta. Pokud dokument vytvořený klienem přemístíme, propojený objekt se „ztratíÿ, protože zůstal u serverové aplikace.
Volání procedur jiného procesu je také jedna z možností komunikace mezi procesy (viz přednášky). Jeden proces může vyvolat proceduru jiného procesu s předáním skutečných parametrů procedury (přes parametry dochází k výměně dat mezi procesy). Ve Windows rozlišujeme LPC (Local Procedure Call – Volání lokální procedury) pro volání procedury procesu běžícího na stejném počítači, RPC (Remote Procedure Call – Vzálené volání procedury) pro proces běžící na některém stroji v místní síti, je nutné mít spuštěnou službu Vzdálené volání procedur (Remote Procedure Call). Pokud známe název procedury v knihovně, můžeme ji zavolat také „mimo programový kódÿ, a to s použitím programu rundll32.exe (ve starších Windows rundll.exe), například rundll32.exe iedkcs32.dll,CloseRASConnections způsobí odpojení počítače od Internetu, tento příkaz můžeme zadat do zástupce na Ploše a pak stačí poklepat pro odpojení, nebo uložíme do dávkového souboru a pomocí nástroje Naplánované úlohy nebo příkazu AT nastavíme spouštění ve stanovené době, rundll32.exe advapi32.dll,ProcessIdleTasks způsobí okamžité provedení procesů, které čekají na událost OnIdle, tedy na dobu, kdy žádný jiný proces nemá přiřazen procesor (týká se to především procesů, které provádějí pravidelnou údržbu Windows).
93
7.4.3
Objektové technologie
COM: (Component Object Model) Tento model byl navržen, aby bylo možné vytváření binárních (tj. s přeloženým kódem) komponent napsaných v libovolném jazyce pro využití opět v kterémkoliv programovacím jazyce. Každá komponenta má definováno rozhraní, přes které lze volat její metody. Datové struktury nejsou přístupné, proto nedochází k problémům běžným u klasických dynamických knihoven. Hodně systémových funkcí je implementováno jako rozhraní COM, na této technologii je založena technologie OLE a ActiveX. Tento model ale má také nevýhody, a to • komplikovanost návrhu a používání, • problémy s bezpečností při programování internetových aplikací (komponenty mají sice svá data skrytá, ale samy mohou volně přistupovat všude tam, kam má přístup proces, v jehož kontextu běží), atd. COM model rozšířený o možnost práce s těmito komponentami po síti se nazývá DCOM (Distributed . . . ). Umožnuje používat komponenty fyzicky přítomné na jiném počítači v síti podobně jakoby byly na místním počítači. Další rozšíření COM je COM+, které opět přináší některé nové vlastnosti (např. nové bezpečnostní funkce a podporu fronty zpráv). Ve Windows se pro konfiguraci COM používá nástroj Služba komponent (Component Services) dostupný v Nástrojích pro správu.
.NET Framework: (od r. 2001) Je to objektové API, často se označuje jako nástupce COM, princip je hodně inspirován technologií Javy. Kód je ve tvaru metajazyka (tedy ne přímo určitého programovacího jazyka, ale také ne strojového jazyka, je to obdoba Java Byte Code), do spustitelného kódu je převáděn při spuštění. Podobně jako COM, komponenty napsané s využitím tohoto API jsou bez problémů přenositelné do kteréhokoliv jazyka podporujícího .NET (C#, Visual Basic, C++, . . . ). Pro přenos dat mezi objekty a aplikacemi se používá protokol XML 1 . .NET Framework je součástí Windows 2003 Server a dále všech Windows od té doby publikovaných. Je však dostupná i pro starší verze Windows, je ke stažení na serveru Microsoftu. Najdeme ji zde ve dvou variantách. První (MS .NET Framework Software Development Kit) je určena pro programátory, obsahuje kromě vlastního běhového prostředí také překladače jazyků pro platformu .NET a některé podpůrné nástroje, druhá varianta (MS .NET Framework Redistributable) je pro běžné uživatele, tedy slouží ke spouštění .NET aplikací. .NET technologie je prezentována jako multiplatformní, tedy dostupná pro kterýkoliv operační systém, i když ze začátku tím „kterýkolivÿ byl míněn kterýkoliv systém typu Windows. Dnes již existují porty pro další operační systémy. Přímo na MSDN2 jsou už nějakou dobu dostupné porty 1 XML (eXtended Markup Language) je jazyk pro popis dat v textovém formátu (podobně jako HTML slouží k popisu formátu dat, XML má mnohem širší možnosti). Obvykle se s tímto formátem pracuje tak, že nejdřív vytvoříme „šablonuÿ pro data (ve zvláštním souboru popíšeme, jak budou jednotlivé typy dat označovány), například v šabloně pro fakturu definujeme označení pro adresu dodavatele, adresu odběratele, typ zboží, cenu, . . . , a pak již jen tuto šablonu používáme v dalších souborech (proudech dat). 2 MSDN (Microsoft Developer Network) je část serveru Microsoftu dostupná na jeho stránkách, obsahuje nástroje a dokumenty pro podporu programátorů.
94
pro FreeBSD a MacOS X, na Internetu je několik řešení pro Linux (Mono, dotGNU – Portable .NET).
7.5
Ovladače zařízení
Ovladač zařízení je rozhraní mezi zařízením a systémem (příp. procesy), které má především zjednodušit a ujednotit komunikaci procesů se zařízením (například u tiskárny proces při požadavku na tisk předá hodnoty předem stanovených parametrů, jako je adresa dat, která se mají tisknout, formát tisku apod., nestará se již o konkrétní implementaci pro určitou tiskárnu). Protože ve Windows procesy pracují v prostředí s multitaskingem, je nutné ošetřit možnost přístupu více procesů k jednomu zařízení. Proto se používají ovladače virtuálních zařízení, které zároveň s rozhraním pro přístup k zařízení poskytují také rozhraní pro komunikaci s více procesy (obvykle obsahuje frontu, do které se řadí požadavky procesů). Od Windows 98 Microsoft testuje ovladače a jejich použitelnost pod Windows. Pokud v laboratořích Microsoftu není nalezen žádný problém s kompatibilitou, přidělí ovladači certifikát WHQL (Windows Hardware Quality Lab) a ovladač je tzv. digitálně podepsaný. Testy se zaměřují pouze na kompatibilitu s Windows, nikoliv na kvalitu ovladače směrem k samotnému zařízení, tedy to, že je ovladač podepsaný, nic neříká o samotné kvalitě ovladače. Ne každý výrobce však „ztrácí časÿ čekáním, než Microsoft provede testy, a proto existuje hodně ovladačů, které sice jsou kompatibilní s Windows, ale nejsou podepsané. Pokud chceme nalézt nepodepsané ovladače (někdy mohou způsobovat problémy, i když to není pravidlem), můžeme použít program sigverif (v dialogu Start – Spustit). Jako složku s ovladači můžeme zvolit System32\Drivers, po testování najdeme výsledky v souboru sigverif.txt v systémovém adresáři. V tomto souboru najdeme položky označené jako nepodepsané, podle údajů položky vyhledáme soubor ovladače a v jeho vlastnostech (v kontextovém menu) zjistíme výrobce a tím i hardware, ke kterému ovladač patří. Pak podle těchto údajů najdeme na Internetu stránky výrobce a zjistíme, jestli už na nich nemá publikovány nové ovladače pro naše zařízení, které by už byly podepsané. Windows jdou dodávány s ovladači pro mnoho typů zařízení od různých výrobců, většinou tyto ovladače stačí alespoň pro základní používání zařízení a používají se při automatické detekci službou Plug&Play (obvykle dostaneme CD s ovladači zároveň se zařízením). Tyto ovladače jsou na instalačním CD v souboru DRIVER.CAB, po instalaci se zkopíruje do některého systémového adresáře (většinou Driver Cache nebo jeho podadresáře, nebo i386), skutečné umístění zjistíme v registru v klíči HKLM/Software/Microsoft/Windows/CurrentVersion/Setup. Pokud tento soubor zůstane na instalačním CD, potřebujeme ho při instalaci každého nového zařízení. Pokud služba Plug&Play najde nové zařízení, především se pokouší najít příslušný soubor INF v adresáři Inf. V něm jsou údaje potřebné pro instalaci a především cesta k souboru ovladače (může to být driver.cab). Pokud INF soubor není nalezen, je uživatel požádán o disketu nebo CD se soubory pro instalaci ovladače. Může se stát, že zařízení nepracuje správně. Na vině může být poškozený ovladač (to může nastat i hned po instalaci, nebo po změnách v konfiguraci systému) nebo ovladač nekompatibilní
95
s momentální konfigurací systému (s některou částí systému si „nerozumíÿ, to může nastat při instalaci takových opravných balíčků, se kterými programátor ovladače nepočítal). Když je na vině ovladač, často je možné najít na internetu novější jeho verzi (na stránkách výrobce zařízení). Po instalaci monitoru a některých dalších zařízení, pro která je důležité správné nastavení barev (např. tiskárny), můžeme také instalovat vhodný barevný profil. Barevné profily jsou v souborech s příponou ICM (Image Color Management) a najdeme je buď v souboru DRIVER.CAB nebo (a to je lepší) na CD dodávaném se zařízením. Pro monitor se instalace provádí přidáním tohoto souboru do seznamu v nástroji Zobrazení (Vlastnosti v kontextovém menu Plochy), karta Nastavení, Upřesnit, Správa barev.
Ve Windows 95 se používají dva základní typy ovladačů: PMD (Protected Mode Driver) – 32-bitový ovladač pracující v chráněném režimu, konfigurační údaje o něm jsou uloženy v registru, tyto ovladače nejsou přístupné DOS aplikacím ani Win16 aplikacím, mívají příponu SYS nebo VXD (Virtual Device Driver, ovladač virtuálního zařízení). RMD (Real Mode Driver) – ovladač pracující v reálném režimu, konfigurační údaje (příkaz pro zavedení ovladače s konfiguračními parametry) jsou v souboru CONFIG.SYS, tyto ovladače nejsou použitelné v systémech, které nepoužívají soubor CONFIG.SYS. Pro některá zařízení existuje PMD i RMD varianta ovladače. Potom v případě, že má být zařízení přístupné DOS aplikaci, je potřeba nahradit PMD ovladač obdobným RMD ovladačem po dobu běhu této aplikace (např. ovladač myši). Ovladače, které lze takto bezpečně nahradit, jsou v souboru IOS.INI v systémovém adresáři (Win9x). Win32 aplikace ve Windows 95 mohou používat i RMD ovladače (většinu), ale snižuje to výkon systému. Seznam RMD ovladačů, které momentálně pracují, je v nástroji systém na kartě Výkon.
Windows 98 zavádějí nový model ovladačů – WDM (Win32 Driver Model), který má sjednotit modely ovladačů pro Windows 98 a Windows 2000. Hlavním důvodem této změny je možnost používat ve Windows 98 ovladače psané pro Windows NT. Pro zpětnou kompatibilitu jsou v systému zahrnuty také PMD a RMD ovladače, tedy používají se tři modely.
Windows 2000 a XP používají především ovladače WDM, ve virtuálních strojích některých podsystémů lze používat i jiné typy ovladačů.
7.6
Správa uživatelů a počítačů v síti
Při správě systému Windows máme k dispozici poměrně rozsáhlou sadu nástrojů. Jedním z nich je Příkazový řádek, kterému zde byla věnována samostatná kapitola (některé další příkazy budou uvedeny v příloze), další nástroje jsou integrovány do grafického prostředí.
96
Nástroje představované soubory s příponou MSC nazýváme moduly snap-in, jedná se o samostatné konzoly, se kterými můžeme pracovat (i vytvářet nové) také pomocí Microsoft Management Console (mmc.exe). Soubory s příponou CPL jsou rozšiřující moduly snap-in, jsou určeny k rozšíření možností samostatného modulu snap-in (rozšířit můžeme například snap-in moduly Služby nebo Správa počítače) nebo Ovládacích panelů. V příloze bude seznam těchto nástrojů, o mnoha nástrojích pojednává kapitola 3, Správa systému. Mnohé z užitečných nástrojů však v některých verzích a variantách Windows nenajdeme. Nejde jen o různost vybavení Windows s různými jádry, ale například velmi chudé na vybavení jsou Windows XP Home a bohužel také některé verze distribuované pod OEM licencí (kombinace Windows XP Home + licence OEM je velmi osekaná).
7.6.1
Uživatelské profily a uživatelské účty
Uživatelský účet (User Account) je záznam obsahující informace určující konkrétního uživatele v operačním systému. Tyto informace jsou obvykle uživatelské jméno, heslo, členství ve skupinách a oprávnění k přístupu ke zdrojům systému (přístupová práva). Skupina je definována svým názvem, seznamem členů a také oprávněními k přístupu ke zdrojům pro členy skupiny. Jeden uživatel může být členem více skupin.
Uživatelský profil (User Profile) ve Windows je souhrn prostředků přidělených uživateli a nastavení systému (většinou prostředí) typických pro tohoto uživatele. Obvykle zde bývá řazen datový prostor přidělený uživateli (standardně složka Dokumenty) a dále nastavení Plochy, Nabídky Start, individuálních položek kontextového menu Nový a Odeslat, Cookies, apod. Celý uživatelský profil je ve Windows řady NT načten ve složce Documents and Settings, v podsložce každého uživatele, ve Windows s DOS jádrem je to buď systémová složka (část je přímo na systémovém disku) a nebo složka Profiles (pokud je nadefinován více než jeden uživatelský profil). Uživatelské účty se ve Windows používají pouze v řadě NT, profily jsou v obou větvích Windows. Ve Windows řady NT existuje mezi profily a účty úzký vztah, po přihlášení uživatele s určitým účtem je načten jeho profil.
Cestovní profily umožňují uživatelům používat tentýž profil na více různých počítačích v téže síti (to může být i v rámci Internetu, na způsobu připojení k serveru nezáleží). Veškerá data profilu jsou uložena na serveru. Po přihlášení k tomuto serveru (tj. přihlášení do sítě) je celý profil načten do počítače podobně, jakoby byl profil nadefinován na samotném počítači, po odhlášení se profil opět uloží na server. Cestovní profily se využívají například ve školství, aby žáci – studenti nemuseli být vázáni na konkrétní počítač, a měli by ke svým datům přístup z kteréhokoliv počítače v každé učebně, ale také například u mobilních zaměstnanců. Ti svůj profil mohou používat i na pracovní cestě (notebook připojí k Internetu, přihlásí se, automaticky se načte profil, . . . ). Výhodné mohou být i tehdy, když uživatel používá pořád tentýž počítač – svůj profil má zálohován na serveru a neztratí data, pokud počítač odejde do „věčných lovišťÿ.
97
Jistou nevýhodou je rozsáhlost dat, která takto při každém přihlášení a odhlášení putují po síti, může zpomalovat přihlašování a odhlašování a za určitých okolností může dojít k problémům při přenášení dat na server. To lze řešit přesunutím některých druhů dat profilu na síťové disky a jejich případným zpřístupněním offline, pokud uživatel nechce být neustále připojen k síti. Je nutné hlídat, zda se na počítačích nehromadí profily uživatelů (občas je nutné je mazat). Dále může nastat situace, kdy po odhlášení uživatele některé služby nebo aplikace neukončí práci s částmi registru patřícími do profilu uživatele, a tím znemožní přenesení profilu na server (a samozřejmě profil se na lokálním počítači nevymaže). Tyto je problémy se týkají především klientských počítačů s Windows 2000, ve Windows XP jsou již řešeny.
Přesměrování složek je použitelné nejen pro cestovní profily. Složky patřící do profilu uživatele lze přesměrovat pomocí Zásad skupiny nebo Systémových zásad (viz dále), případně v registru, ale složku Dokumenty můžeme přesměrovat na jiné místo (na lokálním disku) s použitím Vlastností (na složce Dokumenty vyvoláme kontextové menu, zvolíme Vlastnosti) – z důvodu bezpečnosti systému a dat je výhodnější mít data na jiném logickém disku než systém a programy.
Služby se nemusí přihlašovat s přístupovými právy přihlášeného uživatele, obvykle využívají účty LocalSystem, LocalService, NetworkService nebo doménový účet.
SID je identifikátor zabezpečení, který jednoznačně identifikuje uživatele, skupinu, službu nebo počítač v síti, systém tento identifikátor přiřazuje při vytvoření uživatele (skupiny, služby, připojení počítače). Používá se při ověřování místo jména.
Přístupová práva lze nastavovat v nástroji Uživatelé a hesla/Uživatelské účty (v Ovládacích panelech), dále v Místních zásadách zabezpečení (v Nástrojích pro správu), v konzole Správa počítače – Místní uživatelé a skupiny (konzola lusrmgr.msc), v Zásadách skupiny (některé aspekty), v Příkazovém řádku pomocí cacls.exe a některé varianty příkazu net.exe. Ne všechny tyto možnosti jsou dostupné ve všech verzích Windows, mimořádně osekané jsou například Windows XP Home, kde nenajdeme konzolu Místní uživatelé a skupiny ani Zásady skupiny. Některé přepínače variant programu net jsou nedokumentované (nenajdeme je ani v nápovědě), například net user uživatel /times:Po-Pá,6-16 umožní zadanému uživateli být přihlášen pouze v zadaných dnech a hodinách. Na serveru Microsoftu je volně ke stažení soubor xcacls.exe (s dodatkem xcacls.vbs), který rozšiřuje možnosti přidělování přístupových práv. Najdeme ho v Resource Kitu Windows 2000 a na stránkách Microsoftu na odkazu Ke stažení, musí být zaškrtnuté políčko „Zobrazit také produkty ke stažení v anglické jazykové verziÿ.
98
7.6.2
Active Directory
Tato služba je poskytována v sítích založených na serverech Windows (od verze 2000, dřívější verze NT serverů poskytovaly pouze DNS). Na serveru je uložen adresář služby Active Directory a v něm hierarchická struktura objektů (podobná adresářové struktuře na discích), objekty obsahující další objekty se nazývají kontejnery (obdoba složek). Tyto objekty mohou být například uživatelé, skupiny, počítače, domény, apod., každý objekt má své vlastnosti (například přístupová práva), tyto vlastnosti se v hierarchické struktuře mohou dědit. Vlastnosti bývají určeny také pomocí objektů Zásad skupiny (objektu Active Directory můžeme přiřadit objekt Zásad skupiny), viz dále. Služba Active Directory se obvykle používá zároveň se systémem DNS (Domain Name System). Je na tento systém hodně vázaná, například přejímá názvy domén DNS, využívá DNS při vyhledávání v doménách, musí existovat alespoň jeden server DNS, na klientských počítačích musí být nakonfigurován klient DNS třeba přes DHCP. Domény Active Directory však nejsou totožné s doménami DNS, i kdyby měly stejný název, jsou jinak reprezentovány, ukládají se jiné typy informací.
7.6.3
Systémové zásady a zásady skupiny
Systémové zásady slouží ke konfiguraci objektů (uživatelů, počítačů apod.) v síti řízené serverem Windows NT 4.x, obsahuje nastavení ukládaná do registru, která platí pro daného uživatele, skupinu nebo počítač. K jejich editaci slouží program Editor systémových zásad (poledit.exe), soubory mají příponu POL. Tento nástroj je dostupný také v systémech, které byly původně zamýšleny jako klienti sítě se serverem Windows NT 4.x, tedy ve Windows 9x. Se systémovými zásadami neumí pracovat klienti s instalovanými Windows XP, tam je nutné použít Zásady skupiny nebo vhodným způsobem doplnit programové vybavení.
Zásady skupiny ve Windows od verze 2000 (včetně serverů) slouží k podrobnější konfiguraci pracovního prostředí uživatele, pro své fungování v síti potřebuje službu Active Directory (pokud potřebujeme pouze editovat zásady skupiny pro místní počítač – objekty místních zásad skupiny, není tato služba potřeba). V některých případech mohou být zároveň používány Systémové zásady i Zásady skupiny, a to například tehdy, když v síti s klienty Windows 2000/XP přecházíme na serveru z Windows NT 4.x na Windows 2000. Oproti Systémovým zásadám jsou zde také zásady pro skripty, instalaci a údržbu softwaru, nastavení zabezpečení apod. Určujeme například, které nástroje se objeví v Ovládacích panelech, které programy budou uživateli přístupné, co se objeví na pracovní ploše, skripty, které se spustí při přihlášení nebo odhlášení uživatele při zapnutí a vypnutí počítače, apod. Lze tady také spravovat aplikace (jejich instalaci a aktualizaci tak, aby se o tyto úkoly musel uživatel starat co nejméně). Se Zásadami skupiny lze pracovat lokálně (modul spustíme v menu Start – Spustit, zadáme gpedit.msc ), ale i v síti. Obvyklé použití je v kombinaci se službou Active Directory, kdy k jednotlivým objektům této služby (sítím, doménám, uživatelům, apod.) přidružujeme objekty zásad skupiny. Pro určení, kterého počítače se mají nastavení Zásad skupiny týkat, použijeme menu tohoto nástroje, a pokud chceme zásady přiřadit určitému objektu Active Directory, použijeme
99
nástroje poskytované touto službou na serveru. Nástroj je rozdělen do dvou částí – Konfigurace počítače a Konfigurace uživatele. Nastavení provedená v první části platí obecně pro počítač a všechny uživatele, v druhé již konkrétně pro určitého uživatele. Obrazem těchto dvou částí jsou klíče v registru HKLM a HKCU (viz kapitola o registru Windows). Pokud jsou stejné položky v obou, pak přednost mají nastavení v druhé části. Pokud jsou stejné položky v Místních zásadách, mají přednost nastavení v Zásadách skupiny. K práci se Zásadami skupiny slouží také programy gpupdate.exe (změny provedené v gpedit.msc se někdy neprojeví okamžitě, pokud chceme, aby se změny provedly, spustíme gpupdate.exe) a gpresult.exe (tento program prověří, zda nastavení provedená v Zásadách skupiny platí). Do Windows 2000 byl se místo programu gpupdate.exe používal program secedit.exe s přepínačem /refreshpolicy.
Šablony pro správu jsou soubory s příponou ADM s přímou vazbou na registr, které obsahují konfiguraci různých částí systému a prostředí. Nedoporučuje se přímo zasahovat do těchto souborů, ani to není nutné. Ve Windows NT 4.x se s nimi pracovalo prostřednictvím programu poledit.exe (Systémové zásady), ve Windows 2000 (včetně serverových variant) a XP jsou to rozšíření Zásad pro správu (některé šablony jsou v nich standardně zahrnuty, jiné lze přidat). K nejdůležitějším šablonám patří například system.adm, který obsahuje nastavení operačního systému, windows.adm s konfigurací pro klientské počítače se systémem Windows 9x nebo conf.adm s nastaveními pro NetMeeting. To, co je uloženo v souborech ADM, je také uloženo v registru. Význam šablon spočívá především v zabezpečení údajů registru proti neoprávněným změnám (změny na některých klíčích není dovoleno provádět, když je to nastaveno v ADM souboru), a dále v případě změn provedených v Zásadách skupiny (ty se projeví v ADM) se větve registru odpovídající změněným údajům vyčistí a naplní novými údaji. Nástroj Zásady skupiny používá soubory ADM především k tomu, aby určil, co má zobrazit a které zásady může editovat uživatel, pod kterým byl nástroj spuštěn.
Šablony zabezpečení jsou některé soubory s příponou INF obsahující konfiguraci zabezpečení (například zásady definování hesel, zabezpečení registru, systému souborů, služeb), ve Windows 2000 jsou v adresáři %WINNT%\SECURITY\TEMPLATES (. . . \Zabezpečení\Šablony). Pracujeme s nimi buď lokálně na jednom počítači (spustíme MMC a přidáme modul snap-in Šablony zabezpečení) nebo v síti. Můžeme je importovat do objektu Zásad skupiny přidruženého k objektu služby Active Directory (po importu se přenastaví přístupová práva objektu služby Active Directory). S některými šablonami zabezpečení můžeme pracovat na lokálním počítači v grafickém rozhraní (například zásady definování hesel jsou v Místních zásadách zabezpečení (v Nástrojích pro správu), lepší nástroj (zvláště z hlediska automatizace a plného přístupu k možnostem) je Konfigurace a analýza zabezpečení – secedit.exe. Po spuštění bez parametrů se spustí aplikace nápovědy (v grafickém rozhraní), samotný příkaz se vždy používá s parametry, například secedit /analyze provede analýzu zabezpečení systému, secedit /configure (s dalšími parametry) provede konfiguraci pro určitý objekt, tedy načte
100
soubor šablony zabezpečení, secedit /export (s dalšími parametry) exportuje nastavení zabezpečení z objektu do souboru šablony zabezpečení.
7.6.4
IntelliMirror
Tato technologie slouží k centrální správě softwaru, uživatelských dat a nastavení v lokální síti. Většina možností, které nabízí, vyžaduje používání služby Active Directory, ale některé možnosti mohou být používány i v síti bez Active Directory (samozřejmě potřebujeme síť se serverem, na kterém je nainstalována některá serverová verze Windows od 2000). Technologie IntelliMirror umožňuje například • konfiguraci nastavení uživatelů a počítačů, • nastavení zabezpečení v doméně, • používání přihlašovacích a odhlašovacích skriptů, • správu cestovních profilů, • centrální instalaci a aktualizaci softwaru v síti.
Centrální instalace a aktualizace softwaru: Tento úkol se provádí pomocí Zásad skupiny ve službě Active Directory. Můžeme tak bez nutnosti fyzické návštěvy u konkrétního počítače instalovat software, inovovat na novou verzi, aktualizovat operační systém (opravné balíčky, bezpečnostní záplaty). Můžeme publikovat software uživateli: aplikace se uživateli objeví v nástroji Přidat či odebrat programy, když uživatel bude chtít aplikaci používat, v tomto nástroji ji může sám nainstalovat, přiřadit software uživateli: aplikace se buď nainstaluje automaticky při prvním přihlášení uživatele na počítači, kde ještě není nainstalována (přiřazení plné instalace) nebo při prvním pokusu uživatele o její spuštění (přiřazení na vyžádání, aplikace působí dojmem, že už je nainstalovaná, například má odkaz v nabídce Start – Programy), přiřadit software počítači: aplikace se nainstaluje automaticky při spuštění počítače, pokud na něm ještě není nainstalovaná.
7.6.5
Diskové kvóty
Diskové kvóty určují, kolik místa na disku (obvykle síťovém) může který uživatel zabrat, znemožňují zabrat více než je stanovené množství nebo dovolují protokolovat překročení stanoveného místa. Obecně je možné přidělovat diskové kvóty na discích (složkách), které jsou sdílené a naformátované souborovým systémem NTFS. Zobrazíme vlastnosti disku (např. v Průzkumníkovi v kontextovém menu), a pokud je typu NTFS, je zde záložka Přidělená kvóta (musíme mít dostatečné oprávnění k přístupu). Povolíme přidělování kvót a dále je přidělíme jednotlivým uživatelům.
101
7.7
Skripty
Skripty jsou textové spustitelné soubory obsahující příkazy, pro jejichž spuštění (provedení) je zapotřebí některý další program (překladač, interpret). Jedním z typů skriptů jsou i dávkové soubory s příponou BAT (viz kapitola Příkazový řádek), v novějších verzích Windows můžeme používat také SCF soubory (jejich použitelnost je však omezená) a modul Windows Scripting Host.
SCF soubory: Windows od verze 98 nabízejí jistou omezenou možnost psaní skriptů s příponou SCF (Shell Command File). Z existujících je to například Zobrazit plochu.scf nebo explorer.scf. Máme zde možnost určit, kdo má skript interpretovat (2=Windows, 3=Internet Explorer), jak bude vypadat ikonka souboru skriptu (ICO soubor nebo odkaz na ikonu v knihovně či spustitelném souboru) a dále co se má provést po spuštění skriptu.
Windows Scripting Host (WSH): tento modul umožňuje spouštět skripty napsané v JavaScriptu, VBScriptu nebo Pearlu, poskytuje také vlastní skriptovací jazyk umožňující používat i prvky ActiveX (soubory s příponou WS). Skript pomocí WSH spustíme takto: wscript název souboru skriptu spustí soubor skriptu v prostředí Windows, používá se v Start – Spustit nebo v Zástupci, bez uvedení názvu souboru skriptu se spustí jednoduchý nástroj na konfiguraci WSH, když je spuštěný, můžeme skripty spouštět jako jiné spustitelné soubory poklepáním například v Průzkumníkovi3 , wscript název souboru skriptu spustí soubor skriptu v Příkazovém řádku, můžeme použít také v dávkovém souboru. V obou případech můžeme za název skriptu přidat parametry, které řídí provedení skriptu, seznam parametrů se zobrazí po zadání příkazu wscript /? resp. cscript /?.
Skripty definované v Zásadách skupiny: mohou zde být určeny přihlašovací a odhlašovací skripty (pro uživatele nebo jiný objekt) a spouštěcí a ukončovací skripty (pro počítač). Mohou být psány v jakémkoliv skriptovacím jazyce, které dokáže interpretovat Windows Scripting Host (JS, VBS, Pearl, BAT, . . . ).
3 Pokud se skript po poklepání nespustí, v zobrazeném okně Otevřít v programu provedeme přiřazení přípony skriptu programu Windows Based Scripting Host (wscript.exe), tedy tento program vybereme ze seznamu.
102
Část II Unix a Linux
103
Kapitola 8 Systémy Unixového typu V této kapitole jsou základní informace o Unixu a obecně o operačních systémech z Unixu odvozených. Nejdřív se podíváme na samotný Unix a pak stručně na několik jeho variant.
8.1
Unix
Unix je víceuživatelský multitaskový (preemptivní multitasking se sdílením času, multithreading) síťový operační systém běžící prakticky na čemkoliv od i386, včetně nových typů počítačů (existují 64-bitové varianty). Je to také víceprocesorový systém a důležitým rysem pro některé aplikace je i podpora realtimových procesů. 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ý, 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íť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 změny ve zdrojových kódech (obvykle). 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. Vyznačuje se tím, že na rozdíl od Windows „pokorněÿ přijme to, co mu na hardwaru dáme, když je toho
104
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í.
8.1.1
Operační systémy Unixového typu
Dále budeme hovořit o Unixových systémech, pod tímto pojmem budeme rozumět Unix-like systémy, tedy operační systémy se strukturou a vlastnostmi odvozenými od vlastní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, Linux (i když ne zcela), Mac OS X, . . . System V: větev vyvíjená původně firmou Unix System Laboratories (USL), zde patří například HP UX (od firmy Hewlet-Packard), Solaris (firma Sun), AIX (IBM), SCO Unix, . . . 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). Pro Unixové systémy existují tři hlavní standardy, a to System V, BSD a POSIX. POSIX je standard publikovaný úřadem pro standardizaci IEEE, ve verzích POSIX-1 a POSIX-2. Unixové systémy splňují obvykle nějakou kombinaci těchto standardů (například Linux v sobě kombinuje POSIX, hodně z BSD a něco také ze System V).
8.1.2
Licence
Licence ve světě softwaru jsou vpodstatě dvojího druhu: komerční a Open Source. První druh obvykle znamená nutnost platit za poskytnutí možnosti využívat produkt, Open Source je typ licence umožňující volně nakládat nejen s produktem samotným, ale i s jeho zdrojovým kódem. Zatímco Windows jsou poskytovány pouze pod komerční licencí EULA (End-User Licence Agreement – dohoda s koncovým uživatelem) 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 OpenSource vytvořila a tento projekt udržuje Open Source Initiative (OSI). Pokud někdo chce publikovat licenci jako OpenSource, musí požádat toto sdružení o certifikaci této licence jako OpenSource. Když OSI zjistí, že licence odpovídá definici OpenSource, je certifikace provedena.
105
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. Copyleft umožňuje nejen používání, ale i možnost úprav (třeba zdrojového kódu) i další distribuci. 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.
GNU je rekurzivní zkratka GNU’s Not Unix, vznikla pravděpodobně ve snaze odlišit licencování od komerčních Unixů (tehdy 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. 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. Freeware a GNU není totéž. Freeware je volně dostupný software, ale neříká to nic o licenci, pod kterou je distribuován. Software distribuovaný pod licencí GPL může být free, tedy volně dostupný (volně ke stažení na Internetu, pak se nazývá svobodný software), nebo nemusí (je za peníze, tedy komerční).
GPL je zkratka z GNU Public Licence nebo GNU General Public Licence), typ licence patřící mezi copylefty. Software šířený pod touto licencí je volně poskytován včetně zdrojového kódu (Open Source), 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. Software poskytovaný pod GPL je bez záruky v rámci právního systému určitého státu. 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ří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).
LGPL znamená Lesser GPL nebo Library GNU Public Licence. Je to licence odvozená z GPL. Rozdíl oproti GNU General Public Licence je v tom, že knihovny zveřejněné pod LGPL mohou být používány i v programech pod komerční licencí, kdežto ty zveřejněné pod obecnou GPL pouze ve volně šiřitelných programech. 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).
106
CDDL (Common Development and Distribution Licence) je OpenSource licence, kterou vytvořila firma Sun Microsystems, aby pod ní uvolnila svou variantu Unixu Solaris pod názvem OpenSolaris. Tato licence je OpenSource, ale nekompatibilní s GPL, proto kód z OpenSolaris se nesmí použít v softwaru distribuovaném pod GPL (to byl účel – Sun se může pochlubit, že má OpenSource operační systém, ale zároveň jeho kód nemůže použít nikdo jiný včetně programátorů Linuxu).
8.2
Vybrané volně šiřitelné Unixové systémy
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, Pearl, Apache, Sendmail, atd. Grafické prostředí je realizováno pomocí X Window stejně jako na Linuxu, varianta XFree86. Vyznačuje se dostupností pro velké množství hardwarových platforem. Adresy: www.openbsd.org, 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 pomocí X Window, variantou X.org, 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 verze tohoto systému (tj. nemusí se instalovat, spouští se přímo z CD, stačí z něho nabootovat), jmenuje se 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: www.freebsd.org, www.freebsd.cz, www.freesbie.org
Solaris samotný je komerční Unix firmy Sun Microsystems, je považován za jeden z nejlepších komerčních Unixů. Tato firma se rozhodla zpřístupnit odvozený systém, OpenSolaris, pod vlastní licencí CDDL. Adresy: www.sun.com, www.opensolaris.org
Linux je volně šiřitelný (pod GPL) operační systém typu Unix, má tedy všechny vlastnosti Unixu (víceuživatelský, multitaskový, . . . ), je to plně 32bitový nebo 64bitový (podle platformy) systém. Jeho struktura je také podobná struktuře Unixu – zachovává jeho strukturu, ale je kompletně přeprogramován. Hlavní adresy: www.linux.org, www.linux.cz
107
Kapitola 9 Základní vlastnosti Unixových systémů Zde projdeme některé základní charakteristiky systémů Unixového typu. Nebudeme se zabývat vnitřní strukturou Unixu (to je záležitost přednášek), ale spíše vlastnostmi týkajícími se uživatelů a správců systému.
9.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é (projekty vznikají, někdy bývají také dokončeny :-). Postup může být takový, že po zadání projektu (nebo jiném důvodu pro vznik skupiny) je vytvořena nová skupina pojmenovaná podle projektu, dále adresář, do kterého budou v budoucnu ukládána veškerá data projektu, majitelem adresáře je vedoucí projektu, skupinou je nová skupina, uživatelé spolupracující na projektu jsou členové této skupiny. Všichni uživatelé mají přiřazeno identifikační číslo UID (User ID), root má UID = 0. Stejně tak skupiny mají přiřazeno identifikační číslo GID (Group ID). Uživatel má přiřazeno UID, 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 odvozen z loginu, • skupiny, do kterých patří, • výchozí shell. • • • •
108
Čísla UID a GID může root určovat jakkoliv (při vytvoření uživatele a skupiny). 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 těchto počítačích bez nutnosti vytváření účtů na všech systémech. To se řeší obvykle síť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.
9.2
Procesy
Proces je vlastně běžící program. 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 vyjímky). Po startu systému běží pouze jediný proces, init. Jeho vlastníkem je root, pro init je PID = 1. Tento proces 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, kterým se v Unixu říká démony (někde démoni). 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ů. Každý proces má přiřazenu prioritu, která souvisí také s časovým kvantem, které je procesu přiřazováno pro běh na procesoru, realtimové procesy mají tzv. realtimovou prioritu, která je řádově vyšší než priorita běžných procesů. Procesy se o procesor dělí formou preemptivního multitaskingu se sdílením času, tedy dochází ke střídání procesů ve velmi krátkých intervalech. Délka intervalu závisí na prioritě a také na době, po kterou již proces běží. Jeden proces může být rozdělen na více vláken (Thread, jde o multithreading), každé vlákno může běžet na jiném procesoru (proces s jediným vláknem může běžet jen na jediném procesoru). 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ému předávání dat. V příkazech shellu nebo ve skriptu se obvykle realizuje zřetězením příkazů symbolem |. Ze stejného důvodu je v Unixu možné využívat ještě jednu praktickou věc – stejný kód programu může být sdílen více procesy, tedy instrukce programu, který byl spuštěn vícekrát (nebo knihovny), jsou v paměti pouze jednou a nezabírají místo navíc (samozřejmě pouze instrukce, data v proměnných, konstantách a jiných datových strukturách má každý proces vlastní, sdíleno je pouze to, co se nemění). Pokud například v případě knihovny některý proces chce zapisovat do paměti vlastněné touto
109
knihovnou, vytvoří se kopie tohoto paměťového prostoru ve vlastnictví procesu a ten si tam pak může zapisovat dle libosti. Tato funkce má název Copy-on-Write. Procesy mohou vzájemně komunikovat několika způsoby: • posíláním signálů (číselné konstanty, většinou znamenají něco jako „okamžitě ukonči svou činnostÿ – 9, „pozastav seÿ – 19, „znovu pokračujÿ – 18, „prosím, ukonči seÿ – 15, . . . , • posíláním zpráv (IPC, InterProcess Communication), zpráva narozdíl od signálu může obsahovat i data, používá se například při synchronizaci procesů, • přes sdílenou paměť, do které má přístup více procesů, • přes soubory, případně dočasné soubory, používá se i v mechanismu zřetězování příkazů pomocí pipes (rour).
9.3
Struktura adresářů
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ář), • 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 však vypadá následovně: nejdůležitější adresáře jsou / – kořenový adresář (root), narozdíl od Windows je společný pro všechna vnější paměťová média (obvykle disky), obsahuje také některé důležité soubory, /bin – soubory pro zavedení systému, některé konfigurační soubory systému /sbin – soubory používané rootem ke správě systému /etc – konfigurační soubory pro počítač, /etc/passwd – soubor se seznamem uživatelů (přihlašovací jméno, UID, skupina), můžeme vypsat /etc/group – seznam skupin uživatelů /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 OS /etc/mtab – seznam momentálně připojených souborových systémů (může se jmenovat mnttab) /etc/inittab – konfigurační soubor programu init /etc/shells – seznam povolených shellů, mezi kterými se lze přepínat příkazem chsh /root – domovský adresář uživatele root
110
/home – domovské adresáře ostatních uživatelů (každý má v tomto adresáři svůj vlastní adresář) /lib – základní systémové knihovny sdílené různými aplikacemi /dev – speciální soubory pro zařízení (zkratka z device) /tmp – adresář pro dočasné soubory /boot – soubory pro zavaděč systému (LILO nebo GROUB), není to totéž jako /bin, může tam být uloženo jádro /usr – zde jsou nainstalovány všechny programy a dokumentace, například /usr/bin – spustitelné příkazy /usr/man, /usr/info, /usr/doc – dokumentace, manuálové stránky /usr/x11r6 (může být i jinak) – X-Window /usr/include – knihovny hlavičkových souborů pro jazyk C /usr/lib /var – zkratka z variable, proměnlivý, zde jsou soubory, se kterými se neustále pracuje a mění se (například sdílené adresáře pro e-mail, logovací soubory, v adresáři /var/spool tiskové fronty tiskáren), /proc – informace o jádře, ve skutečnosti je to 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/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 Informace o standardu pro adresářovou strukturu Unixů (File Hierarchy Standard) jsou také na www.pathname.com/fhs.
9.4
Zařízení
Také v Linuxu jsou pro každé zařízení nutné ovladače. Samozřejmě nemůžeme použít ovladače pro Windows, 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 vestavěny 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 možnosti zařízení 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í. Každé zařízení je z hlediska uživatele a programátora reprezentováno souborem (tzv. speciální soubor), tedy základní operace jsou realizovány jako běžná práce se souborem: • inicializace zařízení (pokud je nutná) = otevření souboru,
111
• 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. Speciální soubory zařízení jsou v adresáři /dev, aby se s nimi dalo pracovat, je nutné je připojit. Zařízení, která je nutné připojit (obvykle paměťová média) 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). Soubory (vlastně adresáře) v adresáři /mnt (nebo jak je pojmenován) si můžeme pojmenovat jak chceme. 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). Pevný disk: soubor (vlastně adresář) se jmenuje hda (první pevný disk, primary master, celá cesta může být například /dev/hda), hdb (druhý pevný disk – primary slave), . . . , pokud máme na disku více partitions, tak každá z nich má vlastní adresář a jsou odlišeny čísly, například hda1, hda2, . . . Ve skutečnosti, i když máme na disku jen jedinou partition, používá se alespoň to číslo 1. SCSI disky jsou označovány /dev/sda1, /dev/sda2, . . . , /dev/sdb1, . . . CD mechanika je přístupná přes /dev/cdrom. Pokud ale 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/hdb1, /dev/hdc1 apod. Disketa je obvykle /dev/fd0, tiskárna /dev/lp0, USB flash disky jsou obvykle připojovány jako SCSI, tedy například pokud nemáme žádné „pravéÿ SCSI zařízení, je flash disk /dev/sda1 (ale může to být /dev/usb0, /dev/usb1, . . . ). 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). Další: 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. Zařízení /dev/random a /dev/urandom generují náhodná čísla a mohou být 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, 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, bloková zařízení jsou například pevný disk nebo disketa. Ke spoustě zařízení přistupujeme přes jejich soubor v /dev, ale pro paměťová média existuje ještě jeden adresář, většinou /mnt, který slouží právě k přístupu k těmto zařízením. V /mnt jsou pak adresáře, které odpovídají jednotlivým paměťovým médiím, a pak čtení z média je uživatelem realizováno jako čtení z tohoto adresáře, obdobně zápis. Abychom mohli k příslušnému adresáři v /mnt přistupovat, je nutné toto zařízení předem připojit, aby vznikla vazba mezi souborem v /dev a odpovídajícím adresářem v /mnt. Vyhrazená zařízení jsou při využívání některým procesem zamknuta, zamknutí zařízení je jeden ze synchronizačních prostředků.
112
9.5
Soubory
Nejdůležitějším faktem je: VŠECHNO JE SOUBOR (včetně adresářů a přístupových bodů k zařízením) a ke všemu se jako k souboru chováme včetně uplatňování přístupových práv. Soubory jsou ukládány v adresářové struktuře popsané v předchozí kapitole, způsob reprezentace souboru na paměťovém médiu je dán především použitým souborovým systémem. Souborovým systémům bude věnována jedna přednáška. 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íť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 již prosazují žurnálovací (Journalised) souborové systémy především z důvodu jejich větší bezpečnosti. Soubory mohou mít příponu, ale není operačním systémem vyžadována (může být vyžadová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. 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 abc.txt má 7 znaků. Některé soubory začínají tečkou (a obvykle je to jediná tečka v názvu). Jsou to konfigurační soubory systému, shellu nebo některé aplikace, obvykle textové, a při běžném zobrazování souborů je ve výpisech neuvidíme (je nutné v příkazu použít speciální parametr, podobně jako u skrytých souborů ve Windows). Konfigurace se tedy může provádět změnami v těchto souborech, i když v novějších operačních systémech typu Unix (včetně Linuxu) je možné většinu zásahů provádět přes grafické prostředí jako ve Windows nebo MacOS. Souborové systémy, které se běžně používají na Unixových operačních systémech, dovolují přiřazovat souborům přístupová práva a atributy. Následující text platí pro tyto druhy souborových systémů, pro jiné (například FAT a NTFS používané ve Windows) platí něco jiného.
9.5.1
Přístupová práva k souborům
Každý soubor má přiřazena přístupová práva pro svého majitele (owner, obvykle ten, kdo soubor vytvořil), určitou skupinu (group) a ostatní (others). Přístupová práva může ve většině případů
113
měnit jen majitel souboru nebo root (přesněji, kdykoliv root něco dělá, jeho práva nejsou 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). Přístupová práva jsou dána sekvencí 9 znaků, mohou to 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 -, to vše pro majitele, skupinu a ostatní (tedy tři skupiny po třech znacích). Například 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. 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í adresář.
9.5.2
Atributy souborů
Každý soubor má atributy, které ho plně určují (pozor – pod pojmem atribut zde rozumíme něco jiného než ve Windows). Tyto atributy jsou: 1. 2. 3. 4. 5. 6. 7. 8. 9.
typ souboru mód souboru počet odkazů na soubor majitel souboru (UID) skupina souboru (GID) velikost souboru v B (pro adresář má vztah k počtu souborů v tomto adresáři) čas posledního přístupu k souboru čas poslední změny obsahu souboru čas poslední změny atributů souboru (těchto atributů)
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
Mód souboru je číslo složené ze čtyř číslic, první odpovídá speciálnímu módu souboru. Tyto číslice dostaneme součtem určitých čísel:
114
• první číslice: 4 – set UID, nastaven příznak setuid (SUID) 2 – set GID, nastaven příznak setgid (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 Například mód 0710 znamená, že majitel souboru má nastavena všechna přístupová práva, skupina, jejíž GID je také v atributech souboru, má pouze právo spouštění (třeba programů), ostatní nemají žádná přístupová práva. Odpovídá to sekvenci rwx--x---.
Speciální příznaky v módu souboru: Přístupová práva pro uživatele jsou celkem jasná – stanovují, co je dovoleno uživateli, pokud přistupuje k určitému objektu. Totéž platí o přístupových právech skupiny. U procesů je to trochu složitější. Každý proces ve skutečnosti také patří do určité skupiny, stejně jako uživatelé, a také má svého majitele. Proces vznikne obvykle tak, že spustíme určitý spustitelný soubor. Tento soubor má přiřazena určitá práva pro stanoveného uživatele, skupinu a ostatní. Proces získá přístupová práva k různým objektům tak, že je mu přiřazen uživatel a skupina, do které patří, a to buď podle údajů ve vlastnostech souboru (jeho UID a GID) nebo podle UID či GID toho, kdo ho spustil. Speciální práva stanovená první číslicí módu souboru mají význam pouze u spustitelných souborů a adresářů (včetně skriptů). Nastavují se celkem tři příznaky, a to setuid, setgid a sticky. Příznak setuid: Pokud jde o spustitelný soubor, pak když je tento příznak nastaven, znamená to, že při spuštění souboru má vzniklý proces stejná práva jako jeho vlastník (ten nemusí být totožný s uživatelem, který soubor spustil), když není příznak nastaven, proces přebírá práva uživatele, který soubor spustil. Příznak setgid: U spustitelných souborů totéž, o skupinách. Pro adresáře v Unixech odpovídajících normě POSIX tento příznak znamená, že nově vytvořený adresář nebo soubor v tomto adresáři bude patřit do téže skupiny jako nadřízený adresář a ne do aktuální nebo primární skupiny uživatele, který vytvoření provedl. Příznak sticky: Pokud má určitý uživatel právo zápisu do určitého adresáře, znamená to, že zde může provádět jakékoliv změny, tedy nejen přidávat soubory a adresáře, ale je také mazat. Když je nastaven sticky bit, pak v tomto adresáři může mazat jenom jeho vlastník nebo root (žádný jiný uživatel, i když má právo w).
9.5.3
Odkazy na soubor
V Unixových systémech existují odkazy dvou typů: pevné a symbolické.
115
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. Je 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 ..), 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é partition, bude vysvětleno na přednášce).
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í 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.
9.6
Unixové shelly
Shell je příkazový interpret, je to především program, 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ů (například xterm). V Unixech obvykle bývá více shellů, uživatel si může vybrat, který shell mu nejvíce vyhovuje. Liší se obvykle v syntaxi příkazů a dále v komfortu práce s terminálem, především při využívání klávesnice. Jsou to například Bourne shell (sh) je shell používaný v původním Unixu, nejstarší. C shell (csh) jeho příkazy jsou založeny spíše na jazyce C, vznikl přibližně v době přepisu Unixu do C. Má oproti sh některé vlastnosti navíc (tedy liší se nejen syntaxí příkazů), například možnost práce s úlohami (job), historie příkazů atd. Toronto C shell (tcsh) rozšíření csh o další možnosti, například používání šipek při práci s historií příkazů. Korn shell (ksh) syntaxe příkazů odpovídá sh, ostatní možnosti přebírá z tcsh (ale ne všechno). Bourne Again shell (bash) podobný ksh, v Linuxu prakticky nejpoužívanější shell (samozřejmě jen tehdy, když nepoužíváme grafické prostředí). Skripty (skriptové soubory) jsou textové spustitelné soubory, které pro své spuštění potřebují interpret (to je některý shell). Každý skript je psán vždy pro určitý shell nebo jazyk (například bash nebo perl) a v jiném nemusí fungovat. Proto často bývá na prvním řádku skriptu identifikace shellu (například #!/usr/bin/tcsh). Tento řádek vždy začíná dvojicí znaků #!, pokud ovšem se ve skriptu nachází.
116
Kapitola 10 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 je organizováno grafické prostředí a jak se konfiguruje, jaký software v distribucích obvykle najdeme a jak nainstalovat další, a jak nainstalovat samotný Linux.
10.1
Základní údaje
Linux je ve skutečnosti jen jádro, to, s čím se setká uživatel, je distribuce Linuxu od nějaké firmy – 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.4, prosazuje se jádro verze 2.6. 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í. Celkové distribuce 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. 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 II, 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. 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čů,
117
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 RW a DVD mechanikami, SCSI zařízeními, LCD obrazovkami apod. Ovladače pro Linux nebývají přímo v dodávce HW, takže pokud nedostačují implicitní ovladače, je většinou možné najít ovladače na Internetu. Linux používá swap partition nebo swap soubor (obvyklejší je swap partition) trochu jinak než je běžné u Unixových systémů. Swap neslouží k odkládání paměťového prostoru celého procesu, ale pracuje se se stránkami (tedy virtuální paměť), do operační paměti se ze swapu pavádějí pouze potřebné stránky, funguje tedy jako „disková cacheÿ.
10.2
Linuxové distribuce
Každá distribuce obsahuje kromě jádra také spoustu dalších podpůrných nástrojů, především • 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šťuje připojená zařízení a celkovou konfiguraci počítače a opět může instalaci hodně usnadnit (pokud ovšem 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ů Linuxu se objevují snahy o určitou standardizaci. Existuje sice mnoho různých Linuxů, ale všechny (nebo skoro všechny) zachovávají základní adresářovou strukturu, některou z několika variant konfiguračních souborů, atd. Většina Linuxů zachovává LSB (Linux Standard Base), což je závazný dokument popisující adresářovou strukturu Linuxu, strukturu knihoven, startovací skripty, způsob instalace a konfigurace programů a některé další důležité vlastnosti systému. Úč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, které nejsou v distribuci zahrnuty a uživatel je najde například na Internetu, 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í). 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
118
a dokumentace většinou 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 k dispozici máme také příručky v češtině (je to ovšem komerční distribuce). Rozsáhlejší distribuce můžeme většinou dostat také ve verzi live (živé, lite). Je to odlehčená verze, která se vejde na jedno CD (plné verze mívají často i dvě DVD nebo 10 CD), 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 a CD mechanika nastavena jako first boot device), provede se rychlá detekce hardwaru, je načteno jádro a spuštěno grafické prostředí a můžeme pracovat. Pro live distribuci se dokonce může využít i DVD – například SUSE Live DVD. 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ěťové médium (speciální soubor na pevném disku nebo třeba USB flash disk) některé informace (např. zjištěnou konfiguraci hardwaru), které pak urychlují příští použití tohoto boot CD. Novinkou je trochu zvláštní live distribuce MandrakeMove (je i v české verzi), která není ani tak určena pro demonstraci systému, ale počítá se s jejím běžným používáním. Stejně jako mnoho jiných live distribucí, ani MandrakeMove neumožňuje přístup k pevným diskům, místo toho se počítá s používáním USB flash disku jak pro ukládání dat, tak i pro případné ukládání konfigurace systému (podpora USB flash disku je na výborné úrovni, používá se prakticky stejně jako ve Windows). Uložení konfigurace na flash disk způsobí rychlejší start systému (není třeba provádět detekci hardware) a navíc máme prostředí vždy přizpůsobeno k obrazu svému a nemusíme jeho konfiguraci provádět při každém spuštění. Výhodou je také „nezničitelnostÿ systému, v případě vážné chyby v konfiguraci prostě znovu nabootujeme. 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 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 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. Verze jednotlivých distribucí jsou označovány také jako stabilní (obsahují jen osvědčenou verzi jádra a otestované balíčky) nebo vývojové. Některé distribuce mají ještě další typy označení, na-
119
příklad Mandrake (viz dále) jednotlivé verze označuje nejdřív jako Community (víceméně stabilní, ale mohou se objevit nějaké problémy například s hardwarem), po dalším testování je vydána již „ostráÿ verze Official. Existuje také „čistě testovacíÿ verze Cooker. Nejznámější distribuce jsou:
RedHat („červený kloboukÿ) – svého času u nás nejrozšířenější, ale 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.), podporu zachovává pro „krabicovéÿ varianty. Protože pro mnoho linuxových nadšenců je hlavním lákadlem nízká cena, RedHat zůstává většinou jen ve firmách, které si koupily krabicovou verzi nebo u uživatelů, kteří moc nedbají na bezpečnost a vybavenost novinkami (jako například některé univerzity) nebo nemají připojení na Internet. Velmi rozšířená je na serverech. Používá balíčky aplikací typu rpm a instalační program se jmenuje Anaconda. Adresa: www.redhat.com
Fedora – RedHat tuto distribuci doporučuje jako náhradu linie, kterou sám přestal podporovat, je RedHatu hodně podobná (vzhledem i vybaveností) a dá se dokonce stáhnout ze serveru firmy RedHat. Instalace je velmi dobře propracovaná (instalátor Anaconda), lokalizace do češtiny je už trochu horší. Nástroje na konfiguraci systému jsou i v grafickém režimu, automatickou aktualizaci ze sítě RedHat může zajišťovat nástroj Up2date. Adresy: fedora.redhat.com, fedoranews.org, www.fedorazine.com
Mandriva – francouzská distribuce původně vycházející z RedHatu, ale dále šla vlastní cestou, používá tentýž způsob přidávání 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 (instalátor DrakX), pro začátečníky je to jedna z nejvhodnějších distribucí. Doporučuje se především na pracovní stanice, ale je vhodná také pro servery. Ještě nedávno se distribuce jmenovala Mandrake (firma Mandrakesoft se přejmenovala na Mandriva). Adresa: www.mandrakesoft.com, www.mandriva.com, www.mandrake.cz
SUSE – německá firma SUSE je dnes vlastněná firmou 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 Mandrake). Uživatelsky příjemná distribuce včetně instalace (instalátor Yast2), taktéž vhodná i pro začátečníky. Používá balíčky rpm. Její lokalizace do češtiny je ze všech distribucí asi na nejvyšší úrovni. Je k sehnání pouze v komerční verzi nebo Lite (tedy live). Adresa: www.suse.com
Debian GNU Linux je jediná distribuce, která je poskytována pouze zdarma. Je určen pro pokročilejší uživatele. Nepoužívá rpm balíčky, ale deb balíčky. 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á
120
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í). 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. Momentálně se připravuje stabilní verze nazvaná Sarge a probíhají ostré diskuse nad zařazováním balíčků v určitých verzích. Hlavní změnou v této verzi je instalátor, který sice pracuje v textovém (pseudografickém) režimu, ale je již uživatelsky příjemný (více komunikuje, umožňuje vybírat ze seznamu, automaticky detekuje hardware, konfiguruje síť, atd.). Tento instalátor se sice má objevit až v Sarge, ale distribuce odvozené z Debianu (Ubuntu, ale i testovací verze Debianu) ho (v zjednodušené podobě) používají už teď. Adresa: www.debian.org
Ubuntu je distribuce vycházející z Debianu, která je sice také stabilní, ale klade větší důraz na aktualizování programů. Vejde se na jedno CD, ale je možné stáhnout z Internetu jakékoliv další balíčky deb (je přece postavená na Debianu). Tato distribuce je poslední dobou používaná pro vytváření demonstračních live distribucí pro různá desktopová prostředí (viz dále). Adresa: www.ubuntulinux.org
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). Pokud ji chceme nainstalovat a používat, doporučuje se předem důkladně pročíst dokumentaci dostupnou například na Internetu (vlastně 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 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, swap totiž neexistuje. Slax také umožňuje vytvořit si
121
vlastní live distribuci. Adresa: www.slackware.com, www.slax.org, SlackBook v češtině na qwert.cz/index.php?pgn=navody
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á. Obvyklý způsob instalace je přes síť 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í. Gentoo je výjmečná distribuce už kvůli zvláštnímu řešení aktualizací. Balíčky jsou na Internetu 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 OpenSource 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 OpenSource projekty, například MacOS X nebo FreeBSD (u FreeBSD se Gentoo inspiroval také v principu Portage). Rozjíždí se spolupráce také s OpenBSD a OpenSolaris. Na Gentoo jsou dnes založeny další projekty, například VidaLinux nebo FlashLinux. Adresy: www.gentoo.cz, desktop.vidalinux.com
FlashLinux je zajímavá distribuce vycházející z Gentoo. Autoři se rozhodli vytvořit ekvivalent CD Live distribucí, ale místo CD použili 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í. Adresa: www.encryptec.net/flashlinux
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. 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: www.knoppix.org, games-knoppix.unix-ag.uni-kl.de, www.pjls16812.pwp.blueyonder.co.uk/knowing-knoppix/index.html
Danix – česká live distribuce vycházející z Knoppixu, prostředí je celé v češtině (lze přepnout i na angličtinu nebo slovenštinu). Programové vybavení je také dostačující (kancelářské aplikace, práce s Internetem, multimédii, grafikou), obsahuje také několik výukových programů a her pro děti.
122
Můžeme také vytvořit vlastní verzi Danixu s přidáním dalších balíčků z Debianu (nástroj DanixNG). Přestože jde o live distribuci, je použitelná i na serveru (doporučuje se např. ve školství). Adresa: www.danix.cz, danix.hladnov.osu.cz (ISO soubory)
Edulinux je zajímavá distribuce určená především pro školství. Adresa: www.edulinux.cl
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ší. 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. Adresa: www.skolelinux.org
Aurox je polská distribuce (nabízí i češtinu) postavená na Fedora Core. Vyznačuje se poměrně dobrou podporou hardware včetně hardware typického pro notebooky. Adresa: www.aurox.org
WOMP! je live distribuce zaměřená na multimediální využití (přehrání hudby, filmů, vypálení videa, . . . ), také v češtině. Adresa: womp.sourceforge.net
Linspire byl původně vyvíjen pod názvem Lindows, ale byl zažalován Microsoftem, protože tento název byl podobný názvu Windows (a ostatně Linspire hodně Windows napodoboval co se vzhledu týče). Je to komerční distribuce orientovaná především na uživatelskou přívětivost, bezpečnostní hlediska nebývají příliš zohledňována, přestože distribuce vychází z Debianu. Adresa: www.linspire.com
Lycoris byl původně vyvíjen Microsoftem pod názvem Redmond Linux, dnes je to již samostatný systém pod zvláštní licencí orientující se na uživatele zvyklé spíše na Windows (v posledních verzích prostředí vypadá jako Windows XP). Je to komerční distribuce, binární soubory (tj. ne zdrojové) lze volně stáhnout na Internetu například na www.linuxiso.org. Vyznačuje se také jistou „nekompatibilitouÿ s produkty dodávanými s jinými distribucemi. Adresy: www.lycoris.com, www.lycoris.org
123
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: www.sysrescd.org
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. 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í, zajímavé stránky jsou například distrowatch.com/, ISO obrazy CD některých distribucí jsou na www.linuxiso.org.
10.3
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). 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 pro správu procesů související s práci v prostředí (například možnost násilně ukončit aplikaci). X Window je ochranná známka MIT, proto pro systémy distribuované pod GPL se používá modifikace nazvaná buď 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 rozhraní, a aby bylo možné přímo pracovat v grafickém prostředí, je nutné mít ještě buď 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 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. Desktopové prostředí je vlastně balík aplikací, z nichž nejdůležitější je některý správce oken, dále zde najdeme
124
kromě konfiguračních nástrojů také 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 jejich vybavenost se zlepšuje. Každý správce oken a desktopové prostředí je charakterizováno svou widget knihovnou. Je to knihovna objektů a funkcí typických pro daného správce oken a prostředí, obsahuje například vlastní vzhled oken (jak vypadá horní lišta okna, menu, 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ší. Správci oken 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í. Nejznámější jsou: 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: www.fvwm.org SawMill – správce oken konfigurovatelný pomocí jazyka LISP. Nástupcem je projekt SawFish. Adresa: sawmill.sourceforge.net Window Maker – spouštěcí soubor je wmaker. Tento správce je založen na vzhledu operačního systému NeXT. Je poměrně přívětivý k uživateli i ke zdrojům počítače, které tolik nevyčerpává. Adresa: www.windowmaker.org IceWM – původně byl vytvořen jako správce oken pro prostředí GNUstep. Účelem je rychlost a snadnost konfigurace. Adresa: 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: 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 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ástroj pro provádění nastavení obsažených v těchto souborech. Adresa: www.fluxbox.org.
125
Používaná desktopová prostředí: 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í. Adresa: 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). KDE je postaveno na widget knihovně Qt (zkratka z Quasar Toolkit, čte se však [kjůt]). KDE má objektovou strukturu, proto není příliš vhodné na méně výkonné stroje. Adresa: 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ší, jeho běh je optimálnější, proto je vhodné i na pomalejší počítače. Adresa: www.Gnome.org Enlightenment – vizuálně i možnostmi nastavení velmi zdařilý správce, má poněkud vyšší nároky na zdroje počítače, má trochu zvláštní ovládání (ve standardním nastavení). Má velmi rozsáhlé možnosti konfigurace, může vypadat prakticky jako kterýkoliv jiný správce oken. Nejnovější verze se nepokouší 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. Adresa: 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. 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 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 balíčky, samotná instalace probíhá v grafickém režimu.
126
Adresy: www.xfce.org, live distribuce pro prezentaci XFce je na www.xfld.org, další nástroje a programy pro XFce jsou na xfce-goodies.berlios.de Croquet – zajímavé desktopové prostředí, které přesto není moc známé. Je to 3D prostředí, pracujeme jakoby v prostoru. Nároky na hardware jsou samozřejmě přiměřeně vysoké. Adresa: www.opencroquet.org Stránky www.plig.org/xwinman/ obsahují hodně informací o správcích oken včetně ukázek výřezů obrazovky. 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 kom binací Alt+F1 (první konzola), Alt+F2 (druhá), . . . , Alt+F6 (šestá konzola). V každé konzole můžeme míst 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). 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.
10.4
Software obvyklý v Linuxových distribucích
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. Některý software je součástí dodávky X Window, další se dodává s jednotlivými prostředími (KDE, Gnome), obvykle v Linuxu najdeme: • KOffice – balík programů dodávaný s prostředím KDE, obsahuje KWriter (textový editor podobný Wordu), KSpread (tabulkový editor), KIllustrator (vektorový editor), KPresenter (prezentace), KChart (grafy). • Gnome Office – totéž, pro prostředí Gnome, zvlášť může být dodán textový editor z tohoto balíku, AbiWord. • OpenOffice.org – balík programů srovnatelný s MS Office, dokáže pracovat i se soubory v MS Office vytvořenými (s malými vyjímkami). Oproti MS Office některé funkce postrádá a některé funkce má zase navíc (například od verze 1.0 možnost exportu dokumentu do formátu PDF, a to celkem zdařile, prezentace je možné zkonvertovat do EXE, narozdíl od Microsoftího Power Pointu, atd.). • 602Office – kancelářský balík české firmy Software 602, vznikl sloučením OpenOffice.org a databázového serveru 602SQL. • Emacs – textový editor programovatelný v jazyce Lisp, je často používán programátory pro psaní zdrojového kódu v různých programovacích jazycích.
127
• gedit, kate – jednoduché textové editory. • Midnight Commander (mc) – správce souborů podobný Norton Commanderovi. Pracuje sice v textovém režimu, ale dokáže spouštět i grafické aplikace, pracovat s rpm balíčky, obsahuje ftp klienta. • Konqueror – souborový manažer podobný Průzkumníkovi ve Windows, zároveň je použitelný pro prohlížení internetových stránek. Je dodáván s prostředím KDE. • Nautilus, Galeon – totéž, je dodáván s prostředím Gnome. • Mozilla, Mozilla Firefox – internetový prohlížeč. Třebaže je zdarma, obsahuje mnohem více funkcí než MS Internet Explorer (proto se začíná prosazovat také ve Windows), je považován za bezpečnější, stabilnější a flexibilnější (například uživatel může nastavit blokování pop-up oken a bannerů, používat záložky, . . . ). Firefox je odlehčená verze Mozilly, ale z hlediska běžného uživatele stejně funkční a navíc snadno konfigurovatelná. • KMail – e-mailový klient pro prostředí KDE. • Evolution – e-mailový klient pro Gnome. • Mozilla Thunderbird – e-mailový klient obsažený v Mozille (dá se sehnat i samostatně), opět je považován za bezpečnější a stabilnější než Outlook nebo Outlook Express. Existuje i verze pro Windows, proto ji často volí uživatelé střídavě pracující ve Windows i Linuxu na jednom počítači (je možné pro Windows i Linuxovou verzi sdílet jediný adresář i prostor na zprávy, takže ke stejným datům máme přístup z obou operačních systémů). • Licq, Gabber, Gaim – podobné ICQ. • Editory internetových stránek včetně editorů typu WYSIWYG – Nvu, dále jeden je vestavěný v Mozille. • GIMP – grafický procesor s možnostmi velkých grafických procesorů pod Windows (je často srovnáván s Adobe Photoshopem), ale zadarmo. Vyznačuje se trochu netradičním ovládáním, člověk si na to musí zvyknout. • Inkscape – vektorový grafický editor, také na velmi dobré úrovni. Je odvozen z jiného velmi dobrého editoru – Sodipodi. • amaroK, XMMS, MPlayer, XMovie – přehrávače hudby a videa. • Tvtime – sledování televize na počítači (je na sourceforge.net). • Kino – aplikace pro přenos digitálního videa z kamery. • gThumb – prohlížeč obrázků s funkcí vytváření obrázkových galerií (alb). • Scribus – DTP aplikace, spolupracuje také s OpenOffice.org. • xterm, xcalc, xpaint a další aplikace X Window. • KShapshot, scrot – programy pro vytváření screenshotů (sejmutých obrazovek). • GOCR – OCR nástroj (rozpoznávání textu). • Vývojová prostředí, obvykle pro jazyk C, ale také pro jiné jazyky. Příkladem je Kdevelop pro prostředí KDE (připomíná Delphi nebo C++ Builder), hodně se používá Qt designer (také pro KDE), Gambas (obdoba Visual Basicu) nebo Anjuta (pro Gnome), pro vývoj webových aplikací je určen např. Bluefish (podpora HTML, XML, CSS, PHP, JavaScript, Java, Pearl, C, Pascal, SQL, . . . ). • kompilátory a další nástroje pro programátory, například gcc je překladač jazyka C, program Scratchbox je nástroj pro cross-kompilaci (překlad pro jiné architektury, portování), včetně vytváření aplikací pro handheldy (www.scratchbox.org).
128
• Nástroje pro správu verzí (používají je skupiny programátorů spolupracující na jednom projektu), například CVS (nejstarší), BitKeeper (ten používají programátoři spolupracující na jádru Linuxu, bohužel je pod komerční licencí), Subversion (to je vylepšení CVS), Darcs. • Python, Lisp – skriptovací jazyky, hodně programů pro Linux je napsáno právě v těchto jazycích. • Nástroje pro práci s TeXem, také ghostscript. • Matematický software (většina matematického softwaru není nainstalována automaticky, tyto balíčky obvykle musíme při instalaci zvolit), například Mathematica, Maple, Matlab, (ty jsou komerční), Maxima, Octave, Yoric (ty jsou nekomerční). Existuje také knihovna SciPy, která je využívaná ve skriptech psaných v Pythonu. • PhET – software pro simulaci fyzikálních jevů, je na www.colorado.edu/physics/phet/. • MySQL, PostgreSQL – databázové systémy SQL. • cdr tools, X-CD-Roast, CD Bake Oven, K3B – podpora zápisu na CD i DVD. Aplikace K3B nabízí komfortní prostředí srovnatelné s aplikací Nero pro Windows. • Nástroje pro konfiguraci systému, liší se podle distribuce a zvoleného správce oken či desktopového prostředí. Obvyklý název shrnující nástroje používané v grafickém režimu je Ovládací centrum. • Parted, GParted, QtParted – diskové nástroje (např. pro rozdělení disku), poslední dva mají uživatelsky přívětivé grafické rozhraní trochu podobné Partition Magicu. • Nástroje pro vylepšení systému (většinou grafického prostředí) – například fbpanel, to je obdoba hlavního panelu z Windows. Někteří správci oken něco takového nemají, ale např. v Gnome nebo KDE není fbpanel potřeba, obdobná aplikace už je v prostředích zahrnuta (pro KDE to je Kicker). • swsusp2 – program umožňující hibernaci podobně jako ve Windows (data z paměti zapisuje do swap partition, tam ovšem musí být dost místa). • Nástroje pro práci se sítěmi, podpora protokolu TCP/IP, ale i jiných protokolů (IPX/SPX, AppleTalk, Samba – sdílení zdrojů z Windows, tento protokol instalujeme na server s daty přístupnými v Linuxu i Windows), . . . Servery všeho druhu, známý je například Apache (podpora jazyka PHP, jeno název je httpd), často se používá ve spojení s databázovým systémem MySQL, najdeme tady i několik ftp klientů, například KBear, SAMBA server (souborový server, který dokáže komunikovat i s Windows klienty), DHCP server. • Firewally a routery a nástroje pro jejich konfiguraci, například Shorewall, NetFilter, Firestarter, GuardDog. Podpora pro firewall je zabudována přímo v jádře a je realizována balíčkem iptables (Firestarter a další dříve jmenované jsou vlastně „grafické nástavbyÿ). • Další konfigurační programy pro síť, např. KNetworkConf pro KDE. • Emulátory pro provoz nelinuxových aplikací (emulátor DOSu dosemu nebo DOSBox, emulátory Windows Wine, WineX – WineX je dnes vyvíjen pod názvem Cedega, emulátory různých Unixů, atd.). • Emulátory počítačů – tyto programy jsou vlastně virtuální počítače s vlastním BIOSem a emulovanými zařízeními, můžeme na nich instalovat jakýkoliv (téměř) operační systém včetně Windows nebo jiného Linuxu, ten pak běží v rámci Linuxu „v okněÿ. V distribucích obvykle bývá Qemu, v některých distribucích (komerčních) najdeme také VMWare. • Zdrojové soubory většiny aplikací, ale také jádra (zdrojové soubory v některých případech také nejsou instalovány automaticky).
129
• Nápověda – v Linuxu máme možnost využívat man, info, xman, ale také nápovědu v grafických prostředích. • Hry – mnohem více než ve Windows, taktéž je obvykle musíme při instalaci přidat. Protože Linux nepodporuje DirectX, hry v něm neběží až tak „svižněÿ, ale pokud člověk není zrovna náruživý hráč trávící nad hrami dny, týdny a měsíce, není to taková katastrofa. Pokud se 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 ) 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 PuTTY na www.chiark.greenend.org.uk/~sgtatham/putty/, OpenSSH na www.openssh.org nebo ttssh). Pokud chceme na Linuxu (nebo FreeBSD) spouštět programy pro Windows, jedna z nejjednodušších možností je použití wine (to je emulátor Windows). Je ke stažení na www.winehq.org v binárních balíčcích pro nejznámější distribuce. Postup je následující: nainstalujeme balíčky (Wine a Winesetuptk), spustíme program winesetuptk, v něm vytvoříme nový 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 /home/uzivatel/.wine/fake windows/Windows/Fonts, • můžeme spouštět Windows aplikace.
• • • •
Vše včetně konfigurace je uloženo v adresáři .wine, takže nemusíme pokaždé provádět instalaci a konfiguraci znovu, stačí zkopírovat tento adresář. 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 (www.cygwin.com) od RedHatu. 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: www.linuxpackages.net www.sourceforge.net www.gnomefiles.org www.freshmeat.net www.linuxbase.org/download (pro LSB certifikované distribuce) www.linuxcentral.com www.freshrpms.net (pro Fedoru a Aurox) www plf.zarb.org (pro Mandrake) rpm.pbone.net (vyhledávání rpm balíčků, pro všechny distribuce s rpm) www.apt-get.org (pro Debian)
130
Instalace softwaru: O instalaci softwaru při instalaci systému se nemusíme 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á přístupová práva správce. Postup se liší podle toho, v jaké formě jsou instalační soubory. Pokud to jsou binární balíčky (rpm, deb, apod.), použijeme příslušný nástroj (pro rpm je to program rpm, pro deb je to apt, atd.), ve většině distribucí existují grafická rozhraní k těmto programům nebo přímo programy provádějící totéž, ale s grafickou nástavbou (rpmDrake v Mandrake, xrpm v RedHat, YaST v SUSE, . . . ). Například: rpm -i balicek.rpm (případně další parametry, jsou v man rpm, nejčastěji se používá -ivh) rpm -U balicek.rpm aktualizace programu, pro který je balíček vytvořen Pokud je software dodán ve tvaru zdrojových kódů, je nutné provést ruční nebo automatickou instalaci ze zdrojů. Automatická instalace bývá řízena skriptem dodávaným se zdrojovými soubory programu. Pokud musíme provést ruční instalaci, přečteme si předem soubory README nebo INSTALL, které obvykle bývají dodávány se softwarem, tam je návod na instalaci. Většinou je pro překlad nutný pouze překladač gcc. Konfigurace se obvykle povádí pomocí skriptu nazvaného configure (jako parametry tohoto skriptu se používají často volby, které mají řídit postup instalace – co se má instalovat, co ne, příp. konfigurace po nainstalování), případně tento skript slouží pouze k nastavení procesu instalace. Obvyklý postup je použití příkazů make a make install v adresáři, kde se nacházejí zdrojové soubory programu (většina distribucí nabízí další nástroje usnadňující instalaci, např. CheckInstall). Například (předpokládejme, že jsme v adresáři se zdrojovými soubory): ./configure make make install Většina distribucí obsahuje nástroje, které usnadňují instalaci a případně vyhledávání nových verzí balíčků. V Debianu je to systém APT, ve Fedoře a Mandrake také, a navíc Yum, existuje také přímo nástroj rpm pro instalování rpm balíčků (viz výše), urpmi, . . . 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.
10.5
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 nedostaneme na Internet ani k žádnému textovému editoru. Před instalací na počítač, na kterém máme nějaká data, je dobré tato data zálohovat. Nejspíš přežijou bez úhony, ale pravděpodobnost jejich poškození není úplně nulová. 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.
131
Potřebujeme: • sadu CD nebo DVD s distribucí Linuxu (pokud jsme to všechno sehnali na Internetu, musíme CD předem vypálit), pokud náš počítač (BIOS) nepodporuje bootování z CD, musíme vytvořit bootovací disketu (dá se stáhnout od distributora nebo je možné ji vytvořit z CD), • někteří distributoři umožňují po použití bootovací diskety instalovat z Internetu přes ftp nebo nfs, ale jádro musí rozpoznat síťovou kartu a musíme nastavit IP adresu a další parametry, • informace o HW (většinou stačí dokumentace dodávaná s počítačem, u „uživatelsky příjemnějšíchÿ distribucí dokonce nepotřebujeme ani tu, 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ž několik hodin, pro někoho i několik dnů :-).
Postup instalace z CD: 1. Pročteme si instalační informace, projdeme první CD, jestli na něm není nějaký důležitý textový soubor (obvykle je tam jeden nebo více textových souborů ve Windows txt se základními informacemi). 2. Vložíme první CD do mechaniky a restartujeme počítač (pokud není povoleno bootování z CD, povolíme – do BIOSu se dostaneme klávesou, uvedena na obrazovce která je většinou několik sekund po startu počítače, obvykle Del , F2 nebo F10 )). 3. Dále se posloupnost kroků liší v různých distribucích. Obvykle • volíme jazyk, • následuje detekce hardware s možností změnit zjištěné parametry, • dále systém umožní určit rozdělení disku a stanovit souborové systémy pro vytvořené partitions (logické disky), • v některých distribucích je nutné v této chvíli restartovat systém a nabootovat z disku (Debian), • určíme, které balíčky aplikací se mají nainstalovat, • určíme heslo roota (správce systému s nejvyššími přístupovými právy) a přidáme nějaké další uživatele, • systém nakonfiguruje X Window, pokud se má nainstalovat, • spustí se instalace dalších balíčků (aplikací), které byly vybrány. 4. Po restartu (pokud nebyl požadován během instalace) již můžeme systém volně používat. Některé distribuce ani restartování nevyžadují. 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 GROUB s nabídkou všech nainstalovaných operačních systémů (některý
132
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). Pokud má být možné spustit Linux z prostředí Windows (nebo DOSu), musíme nainstalovat LoadLin: • v Linuxu vytvoříme adresář loadlin na Windowsovském disku C (nebo jiném) příkazem mkdir /mnt/c/loadlin (předpokládáme, že tento disk je připojen jako /mnt/c) • do tohoto adresáře zkopírujeme jádro příkazem cp /boot/vmlinuz /mnt/c/loadlin/zimage • restartujeme počítač, spustíme Windows • vložíme instalační CD do mechaniky a spustíme SETUP.EXE (spustí se instalace Loadlin), • příště můžeme Linux spustit z Windows příkazem linux hd??, kde ?? je přesné umístění linuxového oddílu s kořenem virtuálního souborového systému. V souboru LINUX.PAR můžeme měnit parametry spouštění. Poznámka: Pokud chceme restartovat systém například během instalace (tím není myšlen zoufalý čin při zamrznutí systému, to se v Linuxu obvykle nepřihodí, ale restart z důvodů nového načtení všech konfiguračních souborů), použijeme klávesovou zkratku Ctrl+Alt+Del . Narozdíl od Windows se tady jedná o „regulérní restartÿ, na kterém se podílí operační systém.
10.6
Běh systému
Linux z definice standardu System V přejímá úrovně běhu (v BSD se nepoužívají). Úroveň běhu je stav procesu init. Podle toho, která úroveň běhu je použita, se určuje, které části systému mají být spuštěny.
0 1 2-5 6
Zastavení systému (systém neběží) Jednouživatelský režim Uživatelské režimy (běžný provoz) Znovuzavedení systému
Tabulka 10.1: Úrovně běhu systému Jednouživatelský režim je používán pro administraci systému, když je potřeba, aby se rootovi v systému „nemotaliÿ další uživatelé, zvláště tehdy, když potřebuje, aby v některém souborovém systému nebyly žádné soubory otevřené (například při zálohování nebo kontrole konzistence souborového systému). Pro běžný provoz se používají uživatelské režimy, každá distribuce má pro tento účel stanovenu výchozí volbu (bývá to většinou 3 nebo 4). Výchozí úroveň běhu, která je použita při zavedení systému, je určena v souboru /etc/inittab. Jinou úroveň můžeme nastavit například při startu systému v zavaděči LILO (jedna z položek menu nastaví úroveň 1), spuštěním jádra s parametrem single (pro jednouživatelský režim) nebo emergency (pro výchozí uživatelský režim), nebo za běhu systému příkazem telinit.
133
10.7
KDE a jeho správa
KDE (K Desktop Environment) je jedno z nejkomplexnějších (nabízí toho opravdu moc) a zároveň nejsnáze konfigurovatelných desktopových prostředí. 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 startovacího tlačítka na hlavním panelu. Na hlavním panelu také najdeme tlačítko Zobrazit plochu. Pokud chceme na ploše mít ikonu některého paměť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 partition pevného disku). Stejným způsobem vytváříme ikony pro cokoliv včetně souborů. Mezi položkami startovacího menu hlavního panelu 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 KDE, 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 buď 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í, proto se zde jednotlivým nástrojům nebudeme podrobněji věnovat. Některé nástroje zde zahrnuté vyžadují právo správce (roota). V různých distribucích najdeme další nástroje. Například v Mandrake (Mandriva) 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í. Screenshots (sejmuté obrazovky) týkající se správy prostředí a systému jsou na adrese www.fpf.slu.cz/~vav10ui/lin.html. Úkoly: 1. Spusťte Ovládací centrum KDE a projděte postupně všechny nástroje v něm obsažené. Zjistěte, kde se nastavují klávesové zkratky pro ovládaní systému (nápověda: týká se to zpřístupnění systému k uživateli) a asociace souborů. 2. 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ěťovým zařízením, apod. (v Mandrake je to Ovládací centrum Mandrake). Tyto nástroje si důkladně projděte.
3. Vyzkoušejte klávesovou zkratku Ctrl+Esc . Zobrazí se strážce procesů obdobný Správci úloh ve Windows.
134
Kapitola 11 Správa Linuxu v textovém shellu Tato kapitola je úvodem do správy operačních systémů typu Linux, většina postupů s mírnou modifikací platí i pro jiné Unixové systémy. Podíváme se především na práci se shellem. 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. Trochu pokročilejší témata jsou zahrnuta do následující kapitoly, kde najdeme také například úvod do psaní skriptů nebo používání podmínek a cyklů.
11.1
Kdy, kde a jak používat příkazy shellu
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 extovém režimu pomocí příkazů. Tento způsob práce se systémem se může zdát nepohodlný (a proto ho spousta uživatelů ani moc nepoužívá), 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 počítačích – serverech, • 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, • určitý program nepracuje v grafickém prostředí podle našich představ, • máme alergii na grafická prostředí, atd. Když zadáváme příkazy, pracujeme vždy s určitým shellem. Může to být bash, ksh, tcsh nebo jiný. Seznam použitelných shellů je v souboru /etc/shells, jednotlivé shelly se spouštějí programem uloženým v adresáři /bin a pojmenovaném zkratkou shellu. Mezi shelly se přepínáme příkazem chsh (je to zkratka z CHange SHell).
135
V moderních Unixových systémech včetně Linuxu máme souborové managery, 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 (mc) pracující v konzoli, Konqueror v desktopovém prostředí KDE, Nautilus v desktopovém prostředí GNOME, atd. Stejně jako v jiných operačních systémech, i ve většině Unixových systémů můžeme pracovat v grafickém režimu (desktopová prostředí nebo okenní manažery), a většinu příkazů lze provádět alternativně „v oknechÿ. Pokud se k Unixu přihlašujeme přes terminál a nemáme nastaveno automatické spuštění grafického režimu, můžeme hned pracovat s příkazy. Z grafického režimu (obvykle to bývá některé z desktopových prostředí KDE nebo GNOME) spustíme některý terminál (například xterm) nebo konzolu (program představující rozhraní pro zadávání příkazů, obvykle můžeme mít najednou spuštěno více shellů – relací a přepínat se mezi nimi pomocí záložek). V KDE bývají terminály a konzole dosažitelné přes tlačítko K , menu Terminály (případně K – Spustit – napíšeme xterm nebo jiný název terminálu či konzole). 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 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ášť, 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ů. Pokud je příkaz použitelný jako filtr, pak se obvykle poslední argument nezadává 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. Ještě malá, ale důležitá 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ářů.
11.2
Nápověda
Nápovědu k příkazům můžeme získat více způsoby: • v knihách a na Internetu, • v grafickém režimu v menu programů včetně terminálu případně přes tlačítko K , existuje také příkaz xman,
136
• v Linuxu existují dokumenty HOWTO (jak na to), a to buď přímo v jednotlivých distribucích nebo na Internetu, obsahují přímo rady, jak postupovat v určitých situacích, • v textovém režimu příkazem man nebo info, někde je implementován také příkaz apropos. Na Internetu je hodně stránek věnovaných tomuto shellu, například: www.gnu.org/software/bash tldp.rog/LDP/abs/html (skripty) www.abclinuxu.cz/clanky/show/46130 Příkaz man je zkratkou ze slova manual a je obdobou windowsovského příkazu help, i když je mnohem komplexnější. Používáme ho ve dvou tvarech: man příkaz vypíše manuál (nápovědu) k příkazu man -k řetězec výpis všech dostupných témat, ve kterých se nachází zadaný řetězec man -K řetězec (stejně funguje příkaz apropos, používáme ho na Unixech, kde není man -k podporováno) 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 to části uvedené v tabulce 11.1 (některé se nemusí vyskytovat, naopak jiné mohou být navíc).
Část NAME SYNOPSIS
DESCRIPTION FILES OPTIONS EXAMPLES SEE ALSO DIAGNOSTICS BUGS
Význam 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 Tabulka 11.1: Části manuálových stránek
Manuálové stránky jsou sdružovány do sekcí, v Linuxu jsou sekce uvedené v tabulce 11.2. 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.
137
Číslo sekce Obsah 1 Příkazy a systémové programy, tato sekce je dále členěna podle určení příkazů a programů 2 Služby jádra (volání jádra) a chybové (návratové) kódy 3 Dokumentace k systémovým knihovnám 4 Speciální soubory v /dev 5 Formát konfiguračních souborů (včetně /etc/fstab) 6 Hry 7 Balíky maker, popis souborového systému, manuálů atd., nástroje pro práci s textem 8 Správa systému – příkazy a nástroje používané rootem 9 Dokumentace k jádru n Nezařazené stránky Tabulka 11.2: Sekce manuálových stránek Příkaz man -a příkaz vypíše všechny manuálové stránky příkazu (ze všech sekcí). V následujících kapitolách je uveden pouze základní přehled příkazů, ve skutečnosti je jich v Unixových systémech mnohonásobně více a také obvykle mají mnohem více voleb než je zde uvedeno. Úkol: Zobrazte manuálovou stránku příkazu ls. Dále zjistěte, ve kterých manuálových stránkách se píše o souboru fstab.
11.3
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: * – 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 od A do K,
~
– domovský adresář, navíc sekvence ~uzivatel. (bez mezery) je odkaz na domovský adresář uživatele s přihlašovacím jménem uzivatel, ať se nachází kdekoliv.
138
11.4
Vybrané příkazy shellu bash a základní úlohy
11.4.1
Adresáře
Zde předpokládáme znalosti uvedené v dokumentu Unix o adresářích. Používané příkazy jsou pwd výpis názvu aktivního adresáře cd adresář změna aktivního adresáře (bez argumentu: přesun do domovského adresáře) cd .. přejde do nadřízeného adresáře (mezera za cd!!!) cd ../.. přejde o dvě úrovně výše (nadřízený adresář nadřízeného adresáře) cd ~ přejde do domovského adresáře uživatele mkdir adresář vytvoření adresáře rmdir adresář zrušení prázdného adresáře ls [-alF] [soubor] výpis souborů (obdoba DOSovského DIR), 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, taky . a . .), -F umožní rozlišit adresáře (na jejich konec přidá znak /), symbolické odkazy (@), spustitelné soubory (*) a ostatní. Argumentem příkazu může být také název souboru (resp. adresáře), který chceme vypsat. Například pro ls -l je 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
139
ú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ů výpisu je následující: • první znak určuje typ souboru d b c l p • • • • • •
... ... ... ... ... ...
adresář, obyčejný, speciální blokový, speciální znakový, symbolický link, named pipe (soubor použitý pro rouru, pojmenovaný), nebo další dle typu UNIXu,
dalších 9 znaků představuje přístupová práva k souboru, číslo znamenající počet pevných odkazů na soubor, vlastník a skupina (owner, group), velikost souboru v B, datum posledního zápisu, název souboru.
11.4.2
Soubory
cp soubor1 soubor2 kopírování prvního souboru do druhého mv s1 s2 přejmenování (přesun) s1 na s2 rm soubor odstranění souboru (existují také parametry pro rekurzivní mazání -fr) ln zdroj [cíl | cíový 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 ln /adr1/adr2/soub.pdf . vytvoří pevný odkaz na zadaný soubor v pracovním adresáři ln prvni.txt druhy.txt treti.txt /home/uzivatel vytvoří pevné odkazy na všechny zadané soubory v domovském adresáři uživatele uzivatel ln prvni.txt druhy.txt treti.txt ~ provede totéž (je to jiný způsob adresace domovského adresáře tohoto uživatele) 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) ln -s /etc/X11/xinit/xinitrc.xfce ~/.xinitrc 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
140
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) find [adresář] -name soubor -print hledá soubor v adresáři, přepínač -print způsobí výpis úplného jména find [adresář] -user uzivatel hledá soubor vlastníka uzivatel cat soubor vypsání obsahu textového souboru cat s1 s2 s3 > s4 obsah souborů s1, s2 a s3 přečte a zapíše do souboru s4 jejich obsah head -n soubor vypíše prvních n řádků souboru tail -n soubor vypíše posledních n řádků souboru cmp s1 s2 porovnání souborů s1 a s2, po nalezení rozdílu se běh ukončí file soubory 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 grep řetězec soubor vypíše řádky text. souboru, které obsahují zadaný řetězec, řetězec je zadáván jako regulární výraz sort [-u] soubor setřídí řádky textového souboru, pokud se použije přepínač -u, tak vynechá duplicitní řádky (tj. pokud je tentýž řádek vícekrát, ve výsledku bude pouze jednou) 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). 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 tar program pro archivaci souborů gzip totéž, ZIP a gz soubory, používá se také kombinace tohoto a předchozího s příponou .tar.gz compress, uncompress komprese a dekomprese souboru, soubory .Z
141
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. Úkol: 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. Pak zde vytvořte pevný odkaz na soubor .bashrc ze svého domovského adresáře (~/.bashrc) pod názvem bashrc (bez tečky). Vypište obsah svého adresáře documents v rozšířené formě, abyste viděli označení jednotlivých položek.
11.4.3
Přesměrování a filtry
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, se nazývají filtry.
Přesměrování: 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řesměrování chybového výstupu je trochu složitější. Používáme při něm popisovač souboru, 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á 0 ... STDIN 1 ... STDOUT 2 ... STDERR Například find / -name ’*’ -print 2< /dev/null přesměruje chybový výstup na zařízení null, tedy do „košeÿ.
Filtry: Je jich více, např. pg, more pro stránkování, wc pro výpis počtu hodnot, sort pro třídění, grep pro hledání, . . . Stránkovací filtry vypíšou svůj vstup po stránkách. Použití tohoto příkazu jako filtru: 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í
142
Ovládání filtru more: Mezerník další stránka Enter další řádek q ukončení
Filtr less je podobný filtru more, ale nabízí mnohem rozsáhlejší možnosti ovládání včetně používání kurzorových šipek. Příklady použití filtrů: ls -l | wc -l Výstupem prvního příkazu je výpis souborů (tedy i adresářů) obsažených v aktuálním adresáři v úplném tvaru, tj. každý soubor na samostatném řádku, tento výstup je dán na vstup druhého příkazu, který spočítá řádky svého vstupu, celkem tedy dostaneme počet souborů v aktuálním adresáři. ls -l | grep ’.txt’ | sort Výstupem prvního příkazu je opět seznam souborů aktuálního adresáře, druhý příkaz z tohoto seznamu vybere pouze řádky, kde se vyskytuje řetězec .txt (tedy vybere všechny soubory s příponou txt), třetí příkaz tento probraný seznam setřídí podle abecedy.
11.4.4
Správa zařízení
df vypíše volné místo na jednotlivých discích, pro výpis místa v B nebo odvozených jednotkách se používá přepínač -h free vypíše stav obsazení operační paměti a swapu mount připojí disk do systému (resp. jeho souborový systém) umount odpojí disk sync synchronizace (obsah cache paměti se zapíše na zadaný disk)
Soubor fstab: Při správě disků pracujeme opět buď s nástroji dostupnými v grafickém prostředí, nebo používáme příkazy shellu a soubor fstab a příkaz mount. Soubor /etc/fstab slouží k evidenci připojitelných logických disků. Každý řádek odpovídá jednomu disku nebo partition se souborovým systémem. Řádek se skládá z těchto částí: 1. Určení zařízení, které se bude připojovat, například /dev/hda1, /dev/cdrom, /dev/fd0.
143
2. Název přípojného bodu (mounting point), přes který bude zařízení přístupné (/mnt/c, /mnt/cdrom, případně /windows/C, /media/cdrecorder). Zde uvedený adresář můžeme určit také sami, jenom ho musíme předem vytvořit. 3. Typ souborového systému na zařízení. Může zde být ext2, ext3, reiserfs nebo jiný linuxový souborový systém, vfat, ntfs, msdos pro disky, se kterými pracujeme ve Windows, nfs je pro disky vzdálených počítačů, pro CD je iso9660, pro DVD je to udf (Universal Disk Format), pro swap partition je to hodnota swap. Některé distribuce povolují volbu auto, to znamená automatické rozpoznání souborového systému při připojování. Je to vhodné například pro diskety nebo CD (disketa totiž také může mít různé souborové systémy, pokud nemusí být používaná ve Windows, tak třeba i ext2). 4. Seznam parametrů pro mount. Nejdůležitější jsou ro (pouze pro čtení), rw (i pro zápis), user (připojit může i běžný uživatel, odpojit tentýž uživatel), users (připojit běžný uživatel, odpojit kdokoliv, i někdo jiný), noauto (po startu systému není připojen automaticky, musí se ručně), iocharset=iso8859-2 a code=852 (slouží ke správnému nastavení češtiny, může být i jiná znaková stránka), exec (povolení spouštět na zařízení programy), atd. Některé volby jsou použitelné pouze pro některé souborové systémy, univerzální jsou volby noauto a user (určení voleb je v manuálech – man fstab, man mount). 5. Pokud je zde znak 1, bude program dump tento oddíl zálohovat. 6. Pokud je zde znak 1 nebo 2, bude program fsck tento oddíl kontrolovat při startu. Hodnota 1 určuje větší prioritu (zkontroluje se nejdřív), používá se pro hlavní oddíl, 2 je pro ostatní. Hodnota 0 se zadává pro ty oddíly, které se nemají kontrolovat (například windows oddíly nebo výměnná média). Kořenový oddíl by měl obsahovat v posledních dvou částech znak 1. S jeho řádkem bychom neměli nic dělat, hrozí riziko kolapsu (resp. nespuštění) Linuxu.
Připojování disků: Pokud je v fstab na určitém řádku volba noauto, musíme tento disk sami připojit, abychom ho mohli používat. Může se to týkat CD nebo diskety. Tento úkol je snadno řešitelný v grafickém prostředí – v kontextovém menu ikony představující paměťové médium (disketu, flash disk apod.) zvolíme Připojit (Mount), pro odpojení Odpojit (UMount), v různých distribucích mohou být tyto položky různě nazvány. V shellu použijeme například tyto příkazy: mount vypíše připojené disky, podobné jako cat /etc/mtab, parametr -t slouží k zadání souborového systému, parametr -o umožňuje zadat volby popisující způsob připojení mount -a připojí vše uvedené v fstab, co ještě není připojeno (např. mezitím jsme něco odpojili) Připojování a odpojování vyžaduje práva správce systému (pokud nepoužíváme kontextové menu v grafickém režimu), proto před použitím příkazu mount nebo umount použijeme příkaz su nebo sudo pro získání práv superuživatele. Například: mount /dev/hdb1 /home připojí partition 1 druhého disku, na něm jsou domovské adresáře uživatelů
144
mount /dev/hda1 /mnt/C -t ntfs připojí partition 1 prvního disku se souborovým systémem NTFS mount /dev/hda3 /usr -t ext3fs připojí partition 3 prvního disku, na ní jsou adresáře instalovaných programů (/usr), souborový systém ext3 mount /dev/fd0 /mnt/floppy -t vfat připojí disketu se souborovým systémem FAT mount /mnt/floppy využití pouze druhého údaje na řádku v fstab umount /mnt/cdrom odpojení CD Pokud přípojný bod není uveden v fstab, musíme příkazu mount dodat i parametry, které by jinak byly v fstab uvedeny (forma je uvedena v man mount).
Připojení USB flash disku: Když chceme připojit USB flashdisk, nejdřív vytvoříme odpovídající adresář v /mnt, pokud tam ještě není: mkdir -m 666 /mnt/flash (parametrem příkazu mohou být i přiřazená přístupová práva, ať tento krok nemusíme dělat dalším příkazem) Pak pro připojení stačí zadat mount /dev/sda1 /mnt/flash (předpokládejme, že nemáme žádné SCSI zařízení). Jestliže si chceme trochu zjednodušit připojování, můžeme do fstab přidat řádek /dev/sda1 /mnt/flash vfat noauto,users,sync 0 0 Pak stačí pro připojení zadat jen mount /mnt/flash nebo flashdisk připojíme v grafickém prostředí. Existuje také možnost automatického připojování podobně jako ve Windows, většina větších distribucí už tuto možnost používá (lze pro to použít například program autofs, tuto možnost zde již nebudeme popisovat). V Gnome je k tomu výborný program Gnome Volume Manager, který automaticky připojuje i USB flash disky a CD hned po jejich zasunutí (ale neumí odpojovat, to musíme udělat například v kontextovém menu – Vysunout příslušné ikony). V KDE se pro CD používá program Autorun, který v pravidelných intervalech kontroluje změny v mechanice (vložení nového CD), dovoluje také určit, aby se po vložení CD automaticky spustil určitý program na CD. V některých distribucích (např. Mandrake) se obzvlášť pro KDE používá program Supermount. Pokud chceme a můžeme (není dostupný pro některé verze jádra) používat Supermount například pro CD, pak je pro tuto mechaniku v souboru fstab řádek none /mnt/cdrom supermount fs=auto,dev=/dev/cdrom,--,user 0 0 nebo použít ekvivalentní příkaz mount -t supermount -o fs=auto,dev=/dev/cdrom,--,user none /mnt/cdrom Příslušnost řešení k určitému desktopovému prostředí se samozřejmě týká jen vzhledu a používání knihoven. Pokud máme nainstalovány knihovny určitého prostředí, je možné daný program
145
používat v kterémkoliv prostředí či správci oken.
Program fdisk: Jedním z nejdůležitějších programů pro správu disků je program fdisk (podoba s Windowsovským fdiskem je pouze v názvu a v základních funkcích). Používá se takto: vypíše informace o udaném disku, zobrazí se okno pro práci s diskem, nápověda k fdisku, nápověda při práci s programem, zobrazí oddíly disku, vytvoří novou partition (program nás vede, občas stiskneme nějakou klávesu, udáme začátek a velikost partition), klávesa D .............. smaže partition. Programem fdisk je možné vytvářet i jiné než linuxové partitions, dokonce i msdos a vfat, ale nedoporučuje se to, DOS a Windows s takto vytvořenými partitions z nějakého důvodu nepracují správně. Narozdíl od DOSovského fdisku, který umí vytvořit pouze jednu primární partition a ostantní musí být zahrnuty v extended partition, linuxový fdisk dokáže vytvořit běžné 4 primární partitions. fdisk -l /dev/hda ..... fdisk /dev /hda ....... man fdisk .............. klávesa M .............. klávesa P .............. klávesa N ..............
11.4.5
Uživatelé a skupiny, přístupová práva
who výpis aktivních uživatelů whoami nebo who am i informace o přihlášeném uživateli finger výpis aktivních uživatelů včetně plného jména passwd změna hesla chown uživatel soubor změna majitele souboru, může použít pouze původní majitel nebo správce chgrp skupina soubor totéž pro skupinu chmod práva soubor změna přístupových práv souboru, obecně módu souboru, používá se ve dvou tvarech. 1. tvar (absolutní): práva jsou tři číslice (vlastník, skupina, ostatní), každá z intervalu 0. .7, každá z těchto číslic je součtem čísel 4 – čtení 2 – zápis 1 – spouštění 0 – nic
146
Například rw-r-xr-- ⇒ 4 + 2 + 0, 4 + 0 + 1, 4 + 0 + 0 ⇒ 654 ⇒ použijeme chmod 654 soubor rwxr-x--- ⇒ 4 + 2 + 1, 4 + 0 + 1, 0 + 0 + 0 ⇒ 750 ⇒ použijeme chmod 750 soubor 2. tvar: použijeme, když chceme pozměnit jen některá práva, Například chmod u+rw,g-w,o-rwx soubor takto jsme nastavili vlastníkovi souboru čtení a zápis, skupině jsme odebrali právo zápisu a ostatním jsme odebrali všechna práva, chmod g+r-w soubor skupině jsme nastavili právo čtení a odebrali právo zápisu. umask xyz vypíše masku práv, která se implicitně strhávají při vytvoření nového souboru (standardně 022, tedy se použijí práva 755). newgrp skupina vytvoření skupiny su [uživatel] získání práv jiného uživatele (SubstituteUser), když není uveden žádný uživatel, doplní se automaticky root sudo „SUperuser DOÿ, udělej jako superuživatel (root) id [-a] vypíše UID a GID uživatele, při použití přepínače -a i další informace (skupina apod.)
Nastavení příznaků módu souboru: (viz kap. 9.5.2 na str. 114) • pro spustitelné soubory: Příznaky setuid a setgid určují, zda proces spuštěný z tohoto souboru má zdědit přístupová práva majitele nebo skupiny souboru a nebo zda se mají použít přístupová práva toho, kdo proces spustil, • pro adresáře: příznak setgid pro systémy odpovídající standardu POSIX stanovuje, zda adresář nově vytvářený v tomto adresáři má zdědit zařazení do skupiny od tohoto adresáře nebo se má přejmout od uživatele, který adresář vytváří, příznak sticky určuje, že v tomto adresáři může mazat jen vlastník nebo root, pokud není nastaven, může v tomto adresáři mazat každý, kdo patří do skupiny s oprávněním w pro tento adresář. chmod u+s soubor nastavení příznaku setuid pro soubor chmod g+s soubor nastavení příznaku setgid pro soubor chmod +t soubor nastavení příznaku sticky pro soubor
147
Vytvoření nového uživatele: Napíšeme pouze příkaz useradd nebo adduser, podle toho, který příkaz je podporován. Program se nás zeptá postupně na přihlašovací jméno, celé jméno GID, UID, domovský adresář, implicitní shell a heslo. Protože čísla UID bývají do 500 vyhrazená systémovým uživatelům (root, ale také některé speciální procesy, démony, mají své UID z důvodu vyšších přístupových práv), volíme UID vždy větší než 500 (a samozřejmě takové číslo, které ještě není vyhrazeno pro jiného uživatele). Hromadné přidání nových uživatelů: Vytvoříme textový soubor, kde každý řádek bude patřit jednomu uživateli. Na řádku napíšeme postupně • • • • • • •
přihlašovací jméno, heslo v nezakódovaném tvaru (k tomuto souboru se proto nikdo nepovolaný nesmí dostat!!!), pořadí uživatele ve skupině, číslo výchozí skupiny, do které je uživatel zařazen, jakákoliv poznámka (obvykle se zde napíše skutečné jméno uživatele), domovský adresář (/home/. . . ), výchozí shell uživatele.
Pokud uvedená skupina nebo adresář ještě neexistuje, automaticky jsou vytvořeny. Jednotlivé položky na řádku jsou odděleny dvojtečkou (pro zapamatování: v proměnné PATH jsou položky také odděleny dvojtečkou), například komarek:px214ej:506:506:Jan Komarek:/home/komarek:/bin/bash Tento soubor použijeme jako atribut příkazu newusers, např: pokud je pojmenovan uzivatele.t, příkaz vypadá newusers uzivatele.t
Skupina uživatelů pracujících na projektu: Postupujeme takto: 1. Přihlásíme se jako root 2. groupadd nova skupina 3. uživatelé u1, u2, u3, . . . jsou členy skupiny users a nové skupiny: usermod -G users, nova skupina u1 usermod -G users, nova skupina u2 ... 4. mkdir /vol/novy adresar 5. nastavíme pro tento adresář skupinu a vlastníka (vedoucího skupiny – uživatele u1), dále přístupová práva: chgrp nova skupina /vol/novy adresar chown u1 /vol/novy adresar chmod o-rwx /vol/novy adresar
148
11.4.6
Procesy a úlohy
top Příkaz interaktivně vypisuje seznam procesů, které momentálně běží, a to v pravidelných intervalech. Ukončí se stiskem klávesy q (nebo jiným druhem ukončení).
Příkaz top obvykle zobrazuje pouze ty procesy, které zabírají větší než zanedbatelné množství systémových zdrojů (především CPU). Pro řízení výpisu můžeme používat některé klávesové zkratky, například Shift+P setřídí procesy podle zatížení CPU (Processor, může odhalit procesy, které se zasekly), Shift+M podle množství zabrané paměti (Me mory), M zapneme nebo vypneme zobrazování informací o paměti zabrané procesy, K umožní bez nutnosti opuštění programu poslat některý signál vybranému procesu (zadáme PID procesu a signál), H nápověda. ps Vypíše všechny momentálně běžící (running) procesy na určitém terminálu (PID, speciální soubor terminálu, čas CPU, který proces již využil, název procesu). Můžeme použít přepínače: ps -f přidá ještě některé informace, například UID, PPID procesu, čas spuštění. ps -ef totéž co předchozí, ale pro všechny procesy v systému, nejen z mého terminálu. ps -u uzivatel vypíše procesy určitého uživatele a další informace (zátěž CPU a RAM). pstree vykreslí hierarchii procesů (strom vztahů rodič – potomek). Můžeme také používat některé přepínače, například -c zobrazí všechny procesy bez shlukování stejně nazvaných, -p zobrazí u každého procesu PID, -a zobrazí také parametry, se kterými byly procesy spuštěny. Program pracuje v pseudografickém prostředí. Podobně fungující program, ale v grafickém prostředí (KDE), jde kpm. pgrep proces tento příkaz je vlastně kombinace příkazů ps a grep, vrátí PID zadaného procesu. pmap PID podrobný rozpis paměti využívané procesem (nejen vlastněné), také zjistíme, jestli proces využívá sdílenou paměť některé knihovny nebo jiného procesu. PID získáme například pomocí pgrep.
Úlohy a multitasking: V shellu bash můžeme s procesy pracovat na vyšší úrovni – pracujeme s úlohami. Tento styl práce souvisí s multitaskingem a práce s úlohami vlastně znamená práci v multitaskovém režimu i v textovém shellu. Většinou platí, že úloha je spuštěný program, a protože v rámci jednoho spuštěného programu může běžet více procesů (vlákna), jedné úloze teoreticky může odpovídat více procesů. V základním případě však jedna úloha odpovídá jednomu procesu. Některé úlohy mohou běžet na pozadí a nezdržují na terminálu uživatele, který může spouštět jakýkoliv počet jiných úloh. Každá úloha má přiřazeno identifikační číslo, které není totéž jako PID procesu. Pokud chceme toto identifikační číslo použít jako parametr některého z následujících příkazů, musíme před ním napsat znak %.
149
Když chceme úlohu hned spustit na pozadí, na konec připíšeme jako argument symbol & (za mezeru), například dlouhy vypocet & Dále můžeme používat tyto příkazy: jobs Vypíše všechny úlohy systému a jejich stav (běžící, pozastavena apod.). fg [%uloha] Příkazem fg pošleme úlohu běžící na pozadí zpět na popředí a začnou se vypisovat také jeho výstupy. Pokud je takových úloh více a příkaz je použit bez parametru, je poslána na popředí ta, která byla jako poslední „odsunutaÿ. Jako parametr můžeme zadat číslo úlohy, která má být přenesena na popředí (nesmíme zapomenout znak %). bg [%uloha] Pošle úlohu na pozadí. Opět můžeme v parametru zadat číslo úlohy. Klávesové zkratky pro práci s úlohami: Ctrl+C bezpodmínečné ukončení úlohy běžící na popředí (některé programy tuto zkratku
nereagují)
Ctrl+Z pozastavení úlohy na popředí (platí totéž)
Ctrl+L překreslení obrazovky terminálu nebo konzoly (hodí se například tehdy, když úloha
na pozadí nečekaně pošle něco na výstup)
Sekvenční a asynchronní běh příkazů: Příkazy se obvykle píšou každý na samostatný řádek, ale máme možnost je také řetězit. Používáme tyto symboly: ; (nebo nový řádek) – sekvenční provádění příkazů (provedou se postupně všechny takto oddělené) & – totéž, ale asynchronně, tedy shell nečeká, až se provede předchozí příkaz (spustí ho na pozadí, viz výše v kap. 11.4.6 Procesy a úlohy na str. 149), hned začne provádět i následující, tento symbol musí být vždy na konci řádku (a logicky na tomto řádku pouze jednou) && – logické AND, následující příkaz se bude provádět pouze tehdy, když předchozí skončil úspěšně (sekvenční podmíněné provádění typu AND) || – logické OR, následující příkaz se bude provádět pouze tehdy, když předchozí skončil neúspěchem (vrátil chybový kód, sekvenční podmíněné provádění typu OR) pgrep nejaky_proces >/dev/null && echo proces už běží || echo proces neběží Pro sdružování několika příkazů spojených těmito symboly můžeme použít složené závorky. Navíc se takto dá řešit problém poslání na pozadí celé sekvence příkazů. Příklad: sleep 30; echo "Konec prace!" 30 sekund se nic neděje (ani prompt), pak se vypíše hláška
150
sleep 30; echo "Konec prace!" & 30 sekund se nic neděje, pak se na pozadí provede příkaz { sleep 30; echo "Konec prace!" } & 30 sekund můžeme pracovat (je zobrazen prompt), pak se objeví hláška
Signály: Běžícím procesům a úlohám můžeme posílat signály (čísla znamenající jednoduché příkazy), například: 1 (HUP) – tento signál se posílá všem procesům, jejichž rodičovský proces byl ukončen, standardně se pak tyto procesy ukončují; pokud chceme, aby proces spouštěný určitým příkazem v takovém případě byl místo ukončení přesunut pod init, použijeme pro jeho spuštění příkaz nohup příkaz &
2 9 15
19 18
Některé programy tohoto signálu využívají k vyslání požadavku na znovunačtení konfiguračních souborů. (INT) – přerušení procesu nebo úlohy (ekvivalent klávesové zkratky Ctrl+C ) (KILL) – bezpodmínečné ukončení (proces po sobě neuklidí prostředky (např. paměť), zůstanou zabrány, dokud není ukončen rodičovský proces (z procesu se stane tzv. zombie) (TERM) – implicitní volba (když není uveden žádný signál, vybere se tento), zdvořile požádá proces, aby se ukončil a dá mu možnost po sobě uklidit prostředky, proces může tento signál ignorovat, – pozastavení úlohy, ekvivalentní použití klávesové zkratky Ctrl+Z – znovuspuštění pozastavené úlohy
Signály můžeme posílat pouze svým vlastním úlohám a procesům, kromě roota – ten může signál odeslat komukoliv. K posílání signálů slouží příkaz kill. kill -signal PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zaslání signálu procesu s číslem PID kill -signal %uloha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zaslání signálu úloze se zadaným číslem Signály se mohou lišit na různých Linuxech a samozřejmě na různých dalších Unixových systémech. Seznam nadefinovaných signálů vypíšeme příkazem kill -l. Například: došlo k nějaké závadě, která znemožní odhlásit se, potom: • přihlásíme se znovu • zjistíme číslo starého (běžícího) shellu, který se nám předtím nepodařilo ukončit odhlášením, a to pomocí příkazu ps • ukončíme tento shell příkazem kill -9 PID, kde za PID dosadíme zjištěné číslo procesu. Úkol:
Spusťte příkaz cat bez parametrů a pozastavte ho ( Ctrl+Z ). Stejně spusťte příkaz rev bez parametrů a také ho pozastavte (oba příkazy očekávají něco na vstupu). Příkazem jobs zobrazte seznam úloh, zjistěte čísla těchto úloh. Obnovte proces rev na pozadí, proces cat zastavte příkazem kill. Příkaz cat spusťte na pozadí, přesuňte ho na popředí a pomocí klávesové kombinace ho ukončete. Ukončete také proces rev.
151
11.4.7
Síť
Při práci se sítí především používáme protokoly ftp, telnet nebo ssh (ostatní jsou používány spíše v grafickém prostředí, např. http). Ke spuštění těchto protokolů obvykle slouží příkazy stejně pojmenované. ftp <počítač> přenos souborů; je nutné přihlásit se k počítači, který zadáváme (tj. přihlásit se). Po přihlášení obvykle můžeme zobrazit seznam příkazů, které můžeme používat, zadáním ?. telnet <počítač> příkaz pro vzdálené připojení k UNIXovému serveru, na kterém máme konto, je vyvolána přihlašovací procedura. Používáme všechny příkazy výše (i níže) uvedené, jakobychom seděli přímo u počítače, na který se přihlašujeme, včetně vyvolání nápovědy. Práci s telnetem ukončíme klávesou q .
ssh <počítač> podobně jako telnet, ale spojení je šifrované, proto bezpečnější, doporučuje se používat místo telnetu. Na Linuxech obvykle nenajdeme přímo program ssh, ale některou jeho volně šiřitelnou variantu, například OpenSSH. Dále v UNIXu samozřejmě najdeme prostředky pro komunikaci mezi uživateli přihlášenými ke stejnému UNIXovému systému, elektronickou poštu, atd. Další příkazy pro práci se sítí včetně příkazu ping jsou uvedeny v následující kapitole na str. 162.
11.4.8
Další příkazy
date výpis data a času date >> log.dat tento příkaz umístěný do .login, příp. .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 clear smazání obrazovky exec příkaz provede příkaz, ale těsně před tím ukončí rodičovský proces (pokud tento příkaz napíšeme v shellu, pak je ukončen shell a pak proveden příkaz); hlavním důvodem používání tohoto příkazu bylo dříve omezené množství operační paměti, ukončení rodičovského procesu způsobilo uvolnění paměti jím používané, dnes se používá spíše jako poslední spouštěcí příkaz ve skriptech 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.
152
Pokud parametr nebo jeho část uzavřeme do uvozovek, můžeme zde používat speciální znaky (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, v tom případě však obsah nebude interpretován (vypíše se tak jak je). Příklad: Tento příkaz vytvoří následující tabulku: echo -e "Nadpis1/tNadpis2/nObsah1/tObsah2" Nadpis1 Obsah1
Nadpis2 Obsah2
V shellu můžeme spouštět i aplikace grafického režimu, existují zde i textové programy pro úpravu textů (např. nano, pico, vi, vim, emacs), kompilátory jazyka C (gcc, c++, cc, . . . ) apod.
11.5
Systémové proměnné
Systémové 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: 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 (nedoporučuje se sem dávat název domovského adresáře, a to z bezpečnostních důvodů), jednotlivé cesty jsou odděleny dvojtečkou PS1 prompt, výzva příkazového řádku konzoly nebo terminálu PWD pracovní adresář Příkazy pro práci s proměnnými: echo $proměnná vypíše obsah proměnné (vyhodnotí ji) 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) env, set vypíše proměnné s jejich obsahem (příkaz env vypíše proměnné prostředí, příkaz set všechny včetně systémových proměnných)
153
Znak $ vyhodnotí vše, co se za ním nachází (i příkazy), proto když zadáváme delší příkaz a chceme, aby byla vyhodnocena pouze systémová proměnná a ne řetězec za ní následující, 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 závorek (apostrofů). Příklady: export PS1=’$PWD’ PS1="\W" (pracovní adresář bez cesty, s cestou je \w) echo ’ls’ PS1="\d" (promptem bude aktuální datum) PS1="\A" (aktuální čas – jen hodiny a minuty, jiné možnosti pro čas jsou \t nebo \T) PS1="\u@\h" (uživatel počítač) PS1="\$" PS1=’$SHELL’ (výchozí shell) PS1=’$pracuji tak dlouho: $SECONDS’
154
Kapitola 12 Další úlohy související se správou systému V této kapitole jsou zahrnuta pokročilejší témata, je vlastně rozšířením předchozí kapitoly, ve které byly pouze základy správy systému. Podíváme se na konfigurační soubory, potom na další úlohy týkající se práce v shellu bash (skripty, podmínky, cykly, pole, správa sítě, apod.), správu virtuální paměti, budeme se také podrobněji věnovat instalaci různých typů balíčků a na konci také bezpečnosti systému.
12.1
Konfigurační a další systémové soubory
Většina konfiguračních souborů není psána pro určitý shell, ale má speciální formát (samozřejmě textový) srozumitelný především tomu programu, který má konfigurovat. Některé z nich jsou skryté (začínají tečkou). Příklady konfiguračních souborů: /etc/fstab seznam souborových systémů, které se připojují při startu systému nebo mohou být připojeny /etc/mtab seznam připojených souborových systémů /etc/inittab konfigurace programu init /etc/termcab seznam použitelných terminálů, se kterými si operační systém „rozumíÿ /etc/passwd seznam uživatelů /etc/group seznam skupin
155
~/.profile
konfigurace osobního profilu uživatele, spustí se při přihlášení (hned po výchozích nastaveních provedených skriptem /etc/profile).
/etc/bashrc skript s výchozím nastavením profilu pro bash
~/.bashrc
konfigurace shellu bash pro uživatele
Do souboru /var/log/messages se ukládají zprávy o běhu systému (co se děje, co se spouští apod.), včetně samotného startu systému. Pokud chceme zjistit, zda došlo k nějaké chybě (a případně i nějaké další informace), můžeme nahlédnout do tohoto souboru. Přímý přístup k němu má však pouze root, a navíc tento soubor je hodně rozsáhlý (dokonce už jen při startu se toho děje strašně hodně), takže musíme zvolit vhodný způsob přístupu k tomuto souboru a navíc použít vhodný filtr. Root použije následující příkaz: cat /var/log/messages | grep klíčové slovo, běžný uživatel napíše příkaz dmesg | grep klíčové slovo (program dmesg slouží k získání informací o startu systému, také čte ze souboru /var/log/messages). Běžný uživatel může takto získat pouze informace uložené do /var/log/messages během startu systému, root kterékoliv informace přidané kdykoliv při běhu systému.
12.2
Něco víc o shellu bash
12.2.1
Přesměrování a deskriptory
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). Zacházení s tímto označením je trochu jiné než v Příkazovém řádku Windows. Pro přesměrování se používají symboly >, <, >> a |, jak je uvedeno v předchozí kapitole. S číselným označením se pracuje takto: i>soubor přesměrování výstupu původně směrovaného na deskriptor i do souboru i>>soubor připojení výstupu místo na deskriptor i do souboru <&i vstup je přesměrován z deskriptoru i i<&j vstup je směrován místo deskriptoru i z deskriptoru j >&i výstup je přesměrován do deskriptoru i i>&j do výstupního deskriptoru i je přiřazen deskriptor j Například: příkaz 1>soubor 2>&1 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
156
příkaz 2>&1 1>soubor přesměruje chybový výstup na původní výstup a potom výstup na zadaný soubor
12.2.2
Skripty
Skript pro shell bash vypadá takto: #!/bin/bash echo Hello World echo znamena Ahoj svete Skripty můžeme použít pro automatické zálohování, shromažďování informací, přidávání nových uživatelů a obecně jakoukoliv automatizaci posloupnosti operací. Parametry skriptu jsou přístupné přes proměnné $0 (název skriptu), $1 (první parametr), $2 (druhý parametr), . . . , $9, jejich obsahy lze posouvat a tak se dostat i k dalším parametrům pomocí příkazu shift.
Další možnosti použití skriptů: Na prvním řádku skriptu bývá uveden příkaz spouštějící shell, který má provést interpretaci následujících řádků. Ve skutečnosti tam může být téměř kterýkoliv příkaz, kterému je pak přesměrován zbývající obsah souboru jako vstup. Nahrazení shellu následujícím skriptem způsobí, že pokud se uživatel, pro kterého byla změna provedena, pokusí přihlásit do systému, vypíše se mu uvedená hláška a uživateli bude odmítnut přístup. #!/usr/bin/tail +2 Pozor, tvůj účet byl zablokován z důvodu ... Pokud chceš vše napravit, ... Samotné nahrazení shellu se provede příkazem chsh -s /.../soubor skriptu uživatel
12.2.3
Návratové hodnoty příkazů
Běžně používané návratové hodnoty (chybové kódy) jsou 0 (proces proběhl úspěšně), 1 (proces se spustil, ale proběhl neúspěšně – nastaly chyby při běhu), 2 (proces se nespustil), 127 (proces nebylo možno spustit, protože program nebyl nalezen). Stejně jako kterýkoliv binární program, i skript může vracet návratový kód. To se provede příkazem exit. Jako parametr můžeme zadat číslo, které se má použít pro návratový kód, nebo když parametr neuvedeme, jako návratový kód skriptu se použije návratový kód posledního provedeného příkazu skriptu. Návratový kód je ve skriptech i v příkazovém režimu přístupný přes speciální proměnnou $?.
157
12.2.4
Podmíněné provádění příkazů a příkazy cyklů
Podmínka if: Příkaz if má tuto syntaxi: if [ podmínka ]; then příkazy jakýkoliv počet příkazů fi nebo if [ podmínka ]; then příkazy else příkazy fi
Příkazy cyklů: Cykly můžeme provádět pomocí tří druhů příkazů: for, while a until. Příkaz for má syntaxi: for i in $( seznam řetězců ); do příkazy echo přístup k proměnné i je $i echo stejně jako u systémových proměnných done Můžeme také používat syntaxi převzatou z csh: for i in ’seznam řetězců’; do příkazy done Příkaz while má syntaxi: while [ podmínka ]; do příkazy done Příkaz until má syntaxi: until [ podmínka ]; do příkazy done
158
Podmínky v příkazech if, while a until: V podmínce se používají řetězce obvykle představující proměnné a dále operátory reprezentované těmito přepínači: Pro řetězce: řetězec -z řetězec řetězec1 = řetězec2 řetězec1 != řetězec2 Pro názvy souborů: -f soubor -d soubor -r soubor -w soubor -x soubor -s soubor
=true, =true, =true, =true,
=true, =true, =true, =true, =true, =true,
Pro čísla a proměnné s čísly: číslo1 -eq číslo2 číslo1 -ne číslo2 číslo1 -gt číslo2 číslo1 -lt číslo2 číslo1 -ge číslo2 číslo1 -le číslo2 Skládání výrazů: ! výraz výraz1 -a výraz2 výraz1 -o výraz2 \( výraz \).
pokud pokud pokud pokud pokud pokud
pokud pokud pokud pokud
soubor soubor soubor soubor soubor soubor
=true, =true, =true, =true, =true, =true,
je řetězec neprázdný je řetězec prázdný jsou řetězce stejné jsou řetězce různé
existuje existuje existuje existuje existuje existuje
pokud pokud pokud pokud pokud pokud
číslo1 číslo1 číslo1 číslo1 číslo1 číslo1
a a a a a a
je běžný soubor je to adresář je nastaveno právo čtení je nastaveno právo zápisu je nastaveno právo spouštění má nenulovou délku
= číslo2 <> číslo2 > číslo2 < číslo2 ≥ číslo2 ≤ číslo2
negace výrazu logické AND logické OR uzávorkování výrazu
V podmínkách příkazů musí být za závorkou [ a před závorkou ] mezera, protože [ je ve skutečnosti příkaz a vše za ním až po středník za symbolem ] jsou jeho parametry. Místo tohoto příkazu můžeme ve skutečnosti použít jakýkoliv jiný příkaz nebo kolonu (rouru) příkazů, vyhodnocována bude návratová hodnota. Pokud existuje třeba jen malá pravděpodobnost, že v proměnné použité ve výrazu by mohl být prázdný řetězec, musí být název proměnné (i se znakem $) uzavřen do uvozovek. Pokud v příkazu if chceme nechat první větev prázdnou a psát příkazy až do větve else, do první větve dáme alespoň prázdný příkaz (to je :). V sekvencích příkazů (včetně podmínek příkazů) můžeme používat také symboly pro spojování příkazů uvedené v předchozí kapitole u procesů na str. 150, tj. ;, &&, ||. V příkazech cyklů můžeme pro přerušení cyklu použít příkaz break nebo continue.
159
Příklady: 1. #!\bin\bash if [ "$PWD" = "/" ]; then echo Pracovní adresář je root, tam mě nikdo nedostane! exit 1 fi 2. #!/bin/bash #přepneme se do adresáře docasny v domovském adresáři cd ~/docasny #vytvoříme proměnnou (nemusíme exportovat, použijeme ji jen zde) souhlas="N" pwd for i in $( ls -a ); do echo Smazat $i .... (Ano/Ne)? read souhlas if [ "$souhlas" = "A" || "$souhlas" = "a" ]; then #rekurzívní mazání souborů a adresářů: rm -fr $i if [ $? -eq 0 ]; then OK, soubor smazán else CHYBA při mazání souboru! fi else OK, soubor zůstane fi done 3. #!/bin/bash for c in $( 1 2 3 ); do echo c = $c done for i in $("$HOME" "$SHELL" "$PS1" ); do echo $i je ’$i’ done 4. #!/bin/bash klavesa="N" until [ $klavesa != "N" ]; do echo Tak už stiskni nějakou klávesu! echo (krome klavesy N) done
160
5. #!/bin/bash CITAC=1 POSLEDNI=5 vysledek=1 while [ $CITAC -lt $POSLEDNI ]; do let vysledek*=2 citac+=1 done echo 2^${POSLEDNI} = $vysledek
12.2.5
Pole
Proměnné nemusí být jen řetězce nebo celá čísla, mohou to být také pole položek. S poli pracujeme podobně jako s jinými proměnnými a syntaxe částečně vychází z jazyka C, jen narozdíl od C nemusíme brát ohled na omezení daná datovými typy a pevnou či dynamickou alokací. Indexace je od 0. Příklady: 1. #!/bin/bash #deklarace pole: nazvyznamek=( Jednicky Dvojky Trojky Ctyrky Petky ) znamky=( 8 5 1 2 0 ) #pozor na slozene zavorky: echo Pocet jednicek: ${znamky[0]} echo Vsechny znamky: ${znamky[*]} echo Tabulka znamek: echo Znamka /tPocet #parametr prikazu for je vlastne taky pole: for z in $( 0 1 2 3 4 ); do echo ${nazvyznamek[$z]}: /t${znamky[$z]} done #predefinovani pole: znamky=( 3 4 5 1 ) #paty prvek (znamky[4]) se prepsal na prazdny retezec! 2. #!/bin/bash kapacitaletadel=( 21 3 15 ) #prikoupime letadlo, jehoz kapacita je 52: kapacitaletadel=( ${kapacitaletadel[*]} 52 )
161
#do prvniho letadla jsme prikoupili jedno sedadlo: kapacitaletadel[0]="22" Některé systémové proměnné jsou také typu pole, například proměnná BASH_VERSINFO je pole údajů o používané verzi shellu bash.
12.2.6
Trochu pokročilejší správa sítě
Při správě malé sítě se může používat soubor /etc/hosts, který obsahuje doménové adresy a aliasy pro určité IP adresy v malé síti, je zde také například řádek 127.0.0.1
localhost
Z nejdůležitějších příkazů: ping [-c n] [-R] počítač zjištění dostupnosti a odezvy určité IP nebo doménové adresy. Funguje prakticky stejně jako tento příkaz ve Windows. Odesílá cílovému počítači testovací pakety (každou sekundu) a čeká na odezvu. Příkaz pracuje interaktivně, jeho činnost přerušíme například stiskem kláves Ctrl+C , pak vypíše souhrnnou statistiku (kolik paketů bylo odesláno, přijato, podíl ztracených, dále odezvu cílového počítače – nejrychlejší, průměr a nejpomalejší odpověď, střední odchylka). Cílový počítač zadáváme buď jeho IP adresou, nebo jeho URL (tj. www.xxx.zz). Přepínač -c určuje, kolik paketů má být odesláno, přepínač -R zobrazí všechny uzly sítě, přes které vedla komunikace, další volby zjistíme z manuálových stránek. ifconfig zjištění MAC adresy (to je hardwarová adresa síťové karty – adresa na spojové vrstvě v OSI modelu), a také IP adresy pro určité rozhraní, masky sítě, atd., přidělení IP adresy určitému rozhraní (například ethernetové kartě – jako rozhraní použijeme eth0), je v adresáři /sbin host tento jednoduchý program převádí IP adresu na DNS a naopak, podle toho, jaký parametr zadáme. Různými parametry můžeme řídit další zobrazované informace. nslookup , pracuje v interaktivním i neinteraktivním režimu. nslookup kontrola činnosti DNS serveru (bez parametrů: vyhledá DNS servery pro danou doménu, případně můžeme program spustit v interaktivním režimu (spuštění bez parametrů), ve kterém zadáváme příkazy interpretované programem nslookup, nápověda se zobrazí příkazem help route práce se směrovací tabulkou netstat kontroluje konfiguraci a provoz na síti, velmi komplexní nástroj s různými přepínači (pro zobrazení směrovací tabulky, zobrazení spojení, atd.)
162
arp práce s tabulkami ARP (tyto tabulky slouží k rychlejšímu překladu mezi IP adresou a hardwarovou – MAC – adresou síťové karty) named správa a přístup k DNS (jmenné služby), program byl původně používán ve větvi BSD, teď je na většině Unixových systémů včetně Linuxů iptables konfigurace firewallu, existuje však mnoho nástrojů, které zjednodušují práci s firewallem arping [přepínače] počítač příkaz s podobnou funkcí jako ping, ale používá jiný typ paketů (pakety posílané příkazem ping mohou být některými servery a firewally ignorovány či zahazovány). Můžeme používat přepínač -c a také některé další přepínače se stejným významem jako u ping, dále např. přepínač -b způsobí, že všechny pakety budou zasílány formou broadcast (bez tohoto přepínače pouze první dotaz, ten slouží ke zjištění, kde hledat uzel sítě s danou IP adresou). traceroute počítač tento nástroj slouží k trasování (vypsání cesty k zadanému počítači). Je obvykle v adresáři /sbin nebo /usr/sbin. Funguje podobně jako ping -R, ale výpis je podrobnější a možnosti příkazu rozšiřují další přepínače (v manuálových stránkách).
12.2.7
Další úlohy
Příkaz test provádí vyhodnocení svého argumentu, obvykle vrací hodnotu true/false. Umožňuje zjistit, zda jsou dva řetězce (třeba obsahy proměnných) stejné nebo jeden menší (větší apod.) než druhý (především pro proměnné obsahující čísla), zda zadaný soubor existuje, zda je proveditelný (tj. program), atd. Názvy proměnných se dávají do uvozovek. Syntaxe používaná v podmínkách podmíněného příkazu a smyček je vlastně alias pro příkaz test, tedy [ řetězce ] je totéž jako test řetězce. Příkaz test samozřejmě nemusíme používat jen ve skriptech, můžeme využívat možnost provádět jednoduché výpočty a testování přímo v příkazovém režimu. V shellu bash můžeme používat také funkce, provádět jednoduché aritmetické operace, . . .
Hlavní a vedlejší číslo zařízení: Jádro nepracuje s „řetězcovýmiÿ názvy zařízení, ale pouze s jejich číselným označením. Každé zařízení má přiřazena dvě čísla: • Hlavní číslo je jedinečné pro každý druh zařízení, • Vedlejší číslo je jedinečné pro každou instanci druhu zařízení. Například když máme dvě síťové karty, budou mít stejné hlavní číslo, ale jiná vedlejší čísla. Ve výstupu příkazu ls -las /dev jsou tato čísla uvedena tam, kde u běžných souborů je jejich délka.
163
Práce s disky: Příkaz mkfs disk -t soub systém [-c] vytvoří souborový systém na zadaném disku, pokud je uveden parametr -c, provede se také kontrola povrchu (tj. něco jako format ve Windows), příkaz e2fsck disk provede kontrolu povrchu zadaného disku se souborovým systémem ext2 (něco jako scandisk nebo chkdsk ve Windows), podobné nástroje existují i pro další souborové systémy (parametrem je fyzický disk, ne pouhá partition, tedy např. /dev/hda). Aliasy: Alias je zástupný název pro nějaký řetězec, obvykle příkaz nebo část příkazu. Alias vytvoříme příkazem alias [zastupny=retezec], bez parametrů vypíše všechny existující aliasy. Aliasy platí vždy jen do ukončení systému, takže pokud chceme některý zástupný řetězec používat trvale, musíme ho zapsat do některého skriptu, který se spouští hned po startu počítače, přihlášení nebo startu shellu (např. ~/.bashrc). Příklady: alias odstrel=’kill -9’ alias textove="ls -la | grep ’.txt’" alias c+=’mount /mnt/hda1’
Plánování spouštění procesů: Používáme tyto příkazy: at naplánování spouštění programů nebo skriptů v zadaném čase cron nástroj (je spouštěn jako démon), který dokáže plánovat také pravidelné akce, například pravidelné zálohování. To, co se má spouštět, určujeme v konfiguračním souboru /etc/crontab. Podrobný popis pro příkaz zobrazíme příkazem man crontab, pro formát konfiguračního souboru man 5 crontab
Konverze textových souborů mezi různými kódováními: iconv je program pro konverzi textových souborů mezi různými kódováními (filtr), například iconv -f cp1250 -t iso8859-2 < souborwin.txt > souboriso.txt zkonvertuje soubor s Windows kódováním cp1250 na ISO8859-2, iconv -f iso8859-2 -t utf-8 < souboriso.txt > souborutf.txt zkonvertuje soubor v kódování ISO8859-2 na unicode UTF-8. Seznam všech podporovaných kódování se zobrazí iconv -list.
12.3
Další nástroje pro správu
Výborný nástroj pro správu systému je Webmin. Je volně ke stažení na www.webmin.com a pro jeho provoz stačí prakticky jen internetový prohlížeč (třeba Firefox nebo Mozilla) a samozřejmě nainstalovaného a spuštěného démona webmin. Pracujeme v grafickém rozhraní (co jiného v internetovém prohlížeči), ke konfiguraci lokálního počítače (toho, na kterém pracujeme) se dostaneme
164
přes https://localhost:10000, k jiným počítačům v síti přes jejich adresy. Můžeme konfigurovat i to, co není v Ovládacím centru včetně různých serverů (Samba, Apache, . . . ). Na adrese www.linuxprinting.org je možné najít řešení různých problémů při tisku v Linuxu. Položka Printer Listing pro námi zadanou tiskárnu zobrazí úroveň podpory v Linuxu (do jaké míry funguje), dále zde najdeme i ovladače pro různé druhy tiskáren. Pro bezpečnost sítě jsou užitečné nástroje Nessus (www.nessus.org, vyhledává bezpečnostní díry v počítačové síti), Nmap (www.nmap.org, kontroluje síťová zařízení přes IP protokol), Snort (www.snort.org, monitoruje podezřelou činnost na síti, detekuje možné průniky do sítě), atd.
12.4
Virtuální paměť a swap
Zatímco v tradičních Unixových systémech se virtuální paměť spravuje pomocí odkládání (swapování, tedy odkládání celého nedělitelného adresového prostoru procesu), v Linuxu je používáno stránkování (paging, odkládání jednotlivých stránek procesu), třebaže je pro tuto činnost z historických důvodů také používán pojem swap. Délka stránek, na které je rozdělena virtuální paměť, je obvykle 1 kB nebo 4 kB. V Linuxu je swapování optimalizováno tak, aby v případě nutné potřeby dalšího volného místa ve fyzické paměti byla menší pravděpodobnost, že bude potřeba odkládat některé stránky do swapu – stránky, které se nepoužívají, i když jsou rezervovány, jsou odloženy, aby zbytečně nezabíraly místo ve fyzické paměti. Používá se buď swap soubor nebo swap partition (doporučuje se spíše partition), swap partition nemá žádný souborový systém (nelze ji připojit), v souboru fstab ale musí být uvedena (pokud je používána, samozřejmě) a místo označení souborového systému je zde řetězec swap. Swapovacích souborů i partitions může být používáno i více (obvykle až 8). Nové swap soubory můžeme vytvářet podle potřeby za běhu systému, vytvoříme soubor s určitými vlastnostmi (musí to být soubor bez prázdných míst s vhodnou délkou). dd if=/dev/zero of=soubor bs=1024 count=1024 jeden ze způsobů vytvoření souboru vhodného pro použití jako swap mkswap soubor délka v kB převedení existujícího souboru na swap soubor (na jeho začátek se zapíšou potřebné řídicí struktury, provádí se obvykle jen při instalaci), délka může být 1024, pokud využijeme předchozí tvar příkazu swapon soubor zapnutí používání souboru pro swapování, může to být kterýkoliv soubor, který byl označen pomocí mkswap Pokud chceme používat swap partition, stačí, když je uvedena v souboru fstab s označením swap (může jich opět být více než jedna), zapnutí používání těchto oblastí pro swap se provádí také příkazem swapon. Příkaz free zobrazí údaje o fyzické a virtuální paměti včetně nevyužitého místa. Tytéž údaje získáme také výpisem textového souboru /proc/meminfo nebo příkazem top (viz procesy).
165
Pokud máme instalováno více operačních systémů, za jistých okolností a po provedení některých nastavení mohou sdílet stejný odkládací prostor.
12.5
Podrobněji k instalaci
V Linuxech se programy instalují obvykle do adresářů /usr/bin (programy dodávané s distribucí), /usr/local/bin (programy získané odjinud) nebo /usr/X11R6 (grafické aplikace pro X Window). Programy určené původně pro Unixy se mohou pokoušet instalovat do adresářů v Linuxu obvykle neexistujících, například /opt. Pokud takový adresář neexistuje, můžeme ho vytvořit třeba jako symbolický odkaz na /usr/local/bin a pak přidat do proměnné PATH. Pro většinu průběhu instalace stačí přístupová práva běžného uživatele, ale v případě, že instalační proces přistupuje k adresářům s omezenými přístupovými právy (/usr/..., potřebujeme práva roota, například u příkazu make install. Samozřejmě pokud je adresář /usr připojován obvykle jen pro čtení, je nutné ho odpojit a připojit i pro zápis. Mnohé distribuce se snaží uživatelům proces instalace ulehčit, proto tam najdeme aplikace určené k tomuto účelu přístupné ze startovacího tlačítka nebo kontextového menu plochy.
12.5.1
Instalace ze zdrojových kódů
Protože jsou instalační programy dostupné v archivech (gzip, tar, tar.gz, .tgz, .Z apod.), prvním krokem je samozřejmě rozbalení archivu do nějakého vhodného adresáře. Dalším krokem je hledání souboru README mezi rozbalenými soubory a případně skriptu Install, v těchto souborech bývá postup instalace podrobně popsán. Dále se postup instalace konfiguruje obvykle pomocí skriptu Install nebo configure. Abychom zajistili, že se spustí skript v pracovním adresáři a ne jiný stejně pojmenovaný (předpokládejme, že pracovním adresářem je adresář se zdrojovými soubory), použijeme syntaxi ./configure Pokud se jedná o aplikaci využívající grafické rozhraní, bude konfigurace instalace trochu jiná. Mezi zdrojovými soubory může být například skript Imake, pak se pro překlad místo make použije příkaz xmkmf. Instalace se provádí obvykle pomocí programu make. Tento program používá skript Makefile, který spustí příslušný překladač a ze zdrojových souborů vytvoří binární. Někdy je potřeba provést také příkaz make s dalšími parametry, například make install zkopíruje vytvořené binární soubory na správná místa v adresářové struktuře, make clean odstraní nepotřebné objektové soubory, make -p (před vlastní instalací) spustí pouze simulaci překladu, na výpisech programu můžeme sledovat, co vlastně bude provedeno. Ve většině případů stačí posloupnost akcí ./configure make
166
su make install
12.5.2
Instalace z binárních balíčků
Binární balíčky mají ve většině případů oproti instalaci ze zdrojových balíčků výhodu jednoduchosti a podpory v grafickém režimu, ale mají bohužel také nevýhody: • binární balíčky bývají vydávány se 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, • 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. Nejpoužívanější balíčky jsou rpm (distribuce odvozené z RedHat), deb (distribuce odvozené z Debianu) a slp (distribuce odvozené z Slackware). Za určitých okolností se dají mezi sebou navzájem konvertovat, k tomu slouží například programy martian a alien dostupné na Internetu. Distribuce obsahují pro práci se svým typem balíčků obvykle více různých nástrojů včetně těch s grafickým rozhraním, standardní nástroje jsou v následujících odstavcích:
rpm: Standardním nástrojem pro práci s rpm balíčky je program rpm. Rpm balíčky jsou buď čistě binární nebo zdrojové. Základní syntaxe je rpm přepínače soubor.rpm. Při instalaci binárních rpm balíčků použijeme přepínač -i nebo přepínače -ivh, při aktualizaci parametr -U. Zdrojové rpm obsahují vlastně zdrojový kód podobně jako zdrojové tgz balíčky (jen k tomu zdrojovému kódu nemáme tak snadný přístup), příkaz rpm má prostě ulehčit a zautomatizovat jejich instalaci (používá se přepínač --rebuild nebo --recompile). Z bezpečnostních důvodů je vhodné před samotnou instalací alespoň zkontrolovat digitální podpis a kontrolní součet balíčku (použije se pouze přepínač --checksig). Jde o to, aby v balíčku bylo právě to, co očekáváme a co tam dal autor, a ne třeba trojský kůň1 .
deb: Pro kontrolu deb balíčků používáme příkazy dpkg -I | --info soubor.deb nebo dpkg -e | --control soubor.deb, samotná instalace se provede příkazem dpkg --install soubor.deb Trojský kůň je program fungující podobně jako virus – program budící dojem užitečnosti, ale jeho kód byl zaměněn za jiný, poněkud méně „užitečnýÿ. 1
167
slp: Bezpečnostní rizika jsou u tohoto typu balíčků trochu menší než u rpm a deb, ale přesto existují. Standardním nástrojem pro práci se slp balíčky je nástroj pkgtool.
12.6
Bezpečnost systému
Linux je obecně považován za stabilní a bezpečný systém. Někdy se objeví bezpečnostní mezera, ale narozdíl od Windows se reakce v podobě záplaty objevuje velmi rychle (často během 24 hodin), pro bezpečnost má velký význam i to, že uživatelé (a především správci) Linuxu jsou většinou „znalí problematikyÿ a nezanedbávají bezpečnostní hlediska – používají různé bezpečnostní mechanismy, pravidelně zjišťují, zda je třeba systém aktualizovat, udržují spuštěné nástroje pro zajištění bezpečnosti na síti (firewall, apod.). Zatímco dříve se hesla uživatelů ukládala spolu s ostatními informacemi o uživatelích v zašifrované podobě (šifrovaná pouze hesla) v souboru /etc/passwd, dnes se pomalu, ale jistě prosazuje ukládání hesel do zvláštního souboru, /etc/shadow, taková „odstínovanáÿ hesla se nazývají stínová hesla. Příručka správce zabezpečení Linuxu je na adrese www.securityportal.com/lasg.
SELinux je projekt NSA (Národní agentura pro bezpečnost USA). Pokud Linuxová distribuce obsahuje podporu SELinuxu, v jádře existuje modul, který kontroluje přístupová práva ke všem operacím v systému u uživatelů, procesů a dalších objektů. Omezuje přístupová práva především procesům spuštěným ze sítě.
Viry nejsou na Linuxech příliš rozšířené. Je to z mnoha důvodů – „pravéÿ viry jsou vlastně úseky programu, musí tedy být vždy psány pro určitý operační systém, a tím je většinou systém Windows (Unixy jsou pořád ještě méně rozšířené než Windows, takže efekt by nebyl zase až tak veliký). Ostatní druhy škodlivých kódů fungující na trochu jiném principu (skripty, případně viry přímo psané pro Unixové systémy) sice teoreticky mají šanci, ale hradbou je zase obvykle vyšší zabezpečenost Unixových systémů, tedy systém přístupových práv (běžný uživatel nemůže zasahovat do jádra ani instalovat a spouštět programy, které do dokážou), firewall s routerem a další mechanismy, takže škodlivý kód může do systému proniknout většinou jen vinou administrátora, který zanedbal bezpečnostní opatření. Obdobné možnosti mají vlastně i systémy Windows s jádrem NT, i když možná ne tak propracovaná (Unixy jsou mnohem starší, programátoři měli víc času a zabezpečení bylo primární potřebou), zde se také projevuje především lidský faktor. Unixové systémy včetně Linuxů si navíc instalují především uživatelé „znalejšíÿ, kteří vědí, že podceňovat bezpečnost se nevyplácí. Důležitá je také otázka bezpečnostních chyb. V tisku (a hlavně na Internetu) se objevují často hlášky typu „byla objevena bezpečnostní díra X v operačním systému Y, která může způsobit Zÿ. Bezpečnostní díry se objevují v každém operačním systému (a vlastně v jakémkoliv rozsáhlejším a složitějším projektu, tomu se nedá vyhnout). Proto je důležité „záplatovat, záplatovat a záplatovatÿ, ať se jedná o jakýkoliv systém. Bezpečnostní záplaty jsou dostupné na Internetu
168
také pro Linuxy. I v Linuxu můžeme používat antivirové programy. Některé firmy známé svými produkty pro Windows dnes vydávají také verze pro Linux, například AVG, Kaspersky Anti-Virus for Samba nebo Nod32, to jsou však komerční produkty. Jejich výhodou je propracovaný servis ze strany firmy. Existuje však antivir, který je už od svých začátků volně šiřitelný a přímo určený pro Unixové systémy – ClamAV (jeho nástavba s grafickým rozhraním pro KDE je KlamAV), nabízí jak antivirový scaner, tak i „rezidentníÿ ochranu (je spuštěn démon) a ověřování pošty, můžeme aktivovat také automatické aktualizace produktu. Zajímavý je také projekt SpamAssassin, který také má verzi pro Linux. Objevují se také nástroje, které mají zvýšit bezpečnost existujících distribucí. Zde můžeme zařadit nejen SELinux, ale třeba také Bastille Linux. Bastille Linux je nástroj, který uživateli klade otázky a na základě jeho odpovědí mění konfiguraci systému ke kompromisu mezi bezpečností systému a uživatelskou přívětivostí. Nastavení se týkají povolování a zakazování některých funkcí, které by mohly být případně zneužity k průniku do systému, zakazování běhu některých funkcí jako démonů, ukončování některých nepotřebných serverů, zabezpečování heslem, konfigurace firewallu (tady pozor při konfiguraci přes síť, Bastille by takto mohl náhle přerušit svou činnost a počítač by zůstal nedostupný). Musíme být samozřejmě přihlášeni s dostatečnými právy. Projekt je dostupný zatím pro některé nejznámější distribuce a jejich klony na freshmeat.net.
Záchranný systém má podobný význam jako nouzový režim nebo záchranná konzola ve Windows 2000/XP. V různých distribucích ho lze spustit různě, je to jedna z věcí, kterou by si měl každý předem nastudovat v dokumentaci, obvykle platí: • pokud se dostaneme do grafického režimu s přihlašováním, přihlásíme se jako root a v přihlašovacím okně zvolíme failsafe (tam, kde se volí KDE, Gnome, Window Maker apod.), • když nejde spustit grafický režim a případně ani zavaděč (může být poškozený systémový disk), použijeme instalační CD (může to být první nebo kterékoliv jiné, je to napsáno v dokumentaci) pro nabootování, na přivítací obrazovce se přesuneme do módu rescue (postup je různý pro různé distribuce, například v Mandrake stiskneme klávesu F1 a napíšeme rescue), • jestliže nefunguje ani nabootování z CD, použijeme startovací disketu, kterou jsme si předem vytvořili (:-) například při instalaci (obrazy startovacích disket se přinejhorším dají pro některé distribuce stáhnout na internetu), • v některých distribucích může existovat jiný způsob, jak se dostat do záchranného režimu (chce to projít dokumentaci). V záchranném režimu se přihlásíme jako root. Spustí se pouze linuxové jádro s nejnutnějšími nástroji a terminál s shellem bash (pokud není disk poškozen, můžeme z tohoto terminálu spustit některého okenního manažera jeho spouštěcím souborem, například wmaker pro Window Makera). Z módu se dostaneme obvykle příkazem exit, quit, halt, logout nebo klávesovou zkratkou Ctrl+D . Pokud chceme pracovat s disky, musíme je ručně připojit příkazem mount (soubor fstab není načítán).
169
12.7
Další zdroje informací o Linuxu
Existuje hodně zdrojů, které může správce systému nebo sítě použít pro další sebevzdělávání (a sebevzdělávání je v této době nezbytně nutné). Dobře zpracovaná témata včetně podrobně vysvětlené správy sítě jsou v knize Linux Dokumentační projekt, která je volně ke stažení na stránkách nakladatelství CP Books (www.cpbooks.cz, bývalý ComputerPress, samozřejmě si tu knihu také můžete koupit :-), a v původní (aktuálnější) anglické verzi The Linux Documentation Project (www.tldp.org). Na Internetu dále najdeme informační portály o Linuxu a internetové časopisy: www.linux.cz docs.linux.cz www.penguin.cz www.linuxworld.cz www.linuxzone.cz www.linuxsoft.cz www.abclinuxu.cz www.root.cz www.manualy.sk/linux atd. Na stránkách vysokých škol je hodně materiálů, například: www.pslib.cz/ke/manuals/linux vychodil.inf.upol.cz/errata/download/linux-pcu-kap5.pdf www.fi.muni.cz/usr/brandejs/unix old/pomucky/pomucky-unix.html www.fi.muni.cz/usr/brandejs/unix unix.felk.cvut.cz/unix www.fee.vutbr.cz/MIRROR/FreeBSD/handbook www.fit.vutbr.cz/study/courses/OS1/public www.karlin.mff.cuni.cz/asc/network/prirucky/obcasnik/ob02/ob02.html Jsou vydávány i papírové časopisy plně se věnující Linuxu: LinuxExpress (www.linuxexpress.cz) Linux+DVD (www.lpmagazine.org)
170
Rejstřík adresář, 13 drag&drop, 15 jádro, 6 oblast oznamovací, 11 odhlášení, 10 plocha, 10 plocha aktivní, 10 plocha standardní, 10 přihlášení, 10 přípona souboru asociovaná, 16 složka, 13 složka speciální, 13 správce úloh, 12 system active desktop, 10 system tray, 11 zástupce objektu, 16
171