You are on page 1of 42

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl

COM+. Kompendium
programisty
Autorzy: Graham Glass, King Ables
Tumaczenie: Marcin Rog
ISBN: 978-83-246-0504-0
Tytu oryginau: Linux for Programmers and Users
Format: B5, stron: 648
Szczegowe omwienie systemu Linux
Instalacja, konfiguracja i uruchamianie
Praca z powokami tekstowymi
Programowanie w C
rodowiska graficzne
Linux, napisany w ramach studenckich laboratoriw, w cigu kilku lat sta si niezwykle
popularnym systemem operacyjnym. Jego stabilno i niezawodno doceniaj ju nie
tylko profesjonalici, ale take uytkownicy domowi, dla ktrych dostpny nieodpatnie
produkt coraz czciej jest alternatyw dla komercyjnych systemw operacyjnych.
Linux wici triumfy nie tylko jako baza dla wydajnych i bezpiecznych serwerw
sieciowych, ale rwnie jest wykorzystywany w stacjach roboczych oraz komputerach
domowych uywanych do pracy, rozrywki i przegldania zasobw internetowych.
Dla Linuksa powstaje coraz wicej oprogramowania, rwnie dostpnego nieodpatnie
i w niczym nieustpujcego narzdziom komercyjnym.
Linux dla programistw i uytkownikw to doskonay przewodnik po tym systemie
operacyjnym. Omawia zagadnienia zwizane z programowaniem i przedstawia je
z perspektywy uytkownika. Czytajc go, dowiesz si, jakie dystrybucje Linuksa
moesz znale na rynku oraz jak zainstalowa system i skonfigurowa go. Nauczysz
si korzysta z powok tekstowych i rodowisk graficznych, pracowa w sieci i czy
si z internetem. Poznasz tajniki programowania w jzyku C dla systemu Linux,
napiszesz wasne narzdzia oraz zobaczysz, w jaki sposb dziaa system. Przeczytasz
take o podstawowych zadaniach administratora Linuksa.
Wybr dystrybucji
Instalacja systemu
Podstawowe narzdzia dla uytkownikw
Przetwarzanie plikw tekstowych
Operacje na systemie plikw
Powoki Bash, Korn i C
Linux w sieci
rodowiska graficzne
Jdro Linuksa
Administrowanie systemem
Poznaj system operacyjny, ktry zrewolucjonizowa wspczesn informatyk

Przedmowa .................................................................................... 19
Rozdzia 1. Czym jest Linux? ............................................................................ 27
1.1. Systemy komputerowe .......................................................................................... 28
1.2. Sprzt .................................................................................................................... 28
1.2.1. Procesor .................................................................................................. 28
1.2.2. Magistrala ............................................................................................... 28
1.2.3. Pami RAM .......................................................................................... 29
1.2.4. Pami ROM .......................................................................................... 29
1.2.5. Dyski ...................................................................................................... 30
1.2.6. Napdy CD-ROM ................................................................................... 30
1.2.7. Monitor ................................................................................................... 30
1.2.8. Karta graficzna ....................................................................................... 30
1.2.9. Klawiatura .............................................................................................. 30
1.2.10. Myszka ................................................................................................... 30
1.2.11. Drukarka ................................................................................................. 31
1.2.12. Napdy tamowe .................................................................................... 31
1.2.13. Modem .................................................................................................... 31
1.2.14. Interfejs sieciowy ................................................................................... 31
1.2.15. Inne urzdzenia peryferyjne ................................................................... 31
1.3. System operacyjny ................................................................................................ 31
1.4. Oprogramowanie .................................................................................................. 32
1.5. Dzielenie zasobw ................................................................................................ 33
1.6. Komunikacja ......................................................................................................... 33
1.7. Narzdzia .............................................................................................................. 34
1.8. Wspomaganie programistw ................................................................................ 35
1.9. Standardy .............................................................................................................. 35
1.10. Historia Linuksa .................................................................................................... 36
1.10.1. UNIX ...................................................................................................... 36
1.10.2. Open Source Software i Free Software Foundation ............................... 37
1.10.3. Linus ....................................................................................................... 39
1.11. Pakiety z Linuksem ............................................................................................... 39
1.12. Filozofia Linuksa i UNIX-a .................................................................................. 40
1.13. Cechy Linuksa ...................................................................................................... 41
1.14. W dalszych rozdziaach ........................................................................................ 42

Linux dla programistw i uytkownikw

Rozdzia 2. Instalowanie Linuksa ...................................................................... 45


2.1. Wstp .................................................................................................................... 46
2.2. Upewnij si, e masz odpowiedni sprzt .............................................................. 46
2.2.1. Jednostka centralna (procesor) ............................................................... 46
2.2.2. Architektura magistrali ........................................................................... 47
2.2.3. Pami .................................................................................................... 47
2.2.4. Dysk ........................................................................................................ 48
2.2.5. Monitor, klawiatura i myszka ................................................................. 48
2.3. Wybr dystrybucji ................................................................................................ 49
2.3.1. Debian .................................................................................................... 49
2.3.2. Fedora ..................................................................................................... 50
2.3.3. Mandriva ................................................................................................ 51
2.3.4. Slackware ............................................................................................... 51
2.3.5. SuSE ....................................................................................................... 52
2.3.6. TurboLinux ............................................................................................. 52
2.4. Rozwa opcjonalne pakiety oprogramowania ...................................................... 53
2.4.1. System X Window .................................................................................. 53
2.4.2. rodowiska graficzne ............................................................................. 53
2.4.3. Obsuga sieci .......................................................................................... 55
2.4.4. Narzdzia biurowe .................................................................................. 57
2.4.5. Narzdzia programistyczne i jzyki programowania ............................. 57
2.5. Zaprojektuj swj system ....................................................................................... 58
2.5.1. W jaki sposb ma by uruchamiany Linux? .......................................... 58
2.5.2. Partycjonowanie dysku ........................................................................... 59
2.5.3. System plikw Linuksa .......................................................................... 60
2.5.4. Programy rozruchowe (adujce) ........................................................... 63
2.5.5. Dyskietka startowa ................................................................................. 64
2.6. Zdobd Linuksa .................................................................................................. 64
2.6.1. Dyski CD-ROM ..................................................................................... 65
2.6.2. Pobieranie ............................................................................................... 65
2.7. Instalacja Linuksa ................................................................................................. 66
2.7.1. Zdobd dokumentacj swojej dystrybucji ............................................ 66
2.7.2. Uruchomienie ......................................................................................... 67
2.7.3. Partycjonowanie dyskw ........................................................................ 67
2.7.4. Zmiana rozmiaru partycji Windows ....................................................... 69
2.7.5. Konfigurowanie systemu ........................................................................ 69
2.7.6. Program rozruchowy .............................................................................. 70

Rozdzia 3. Narzdzia GNU dla zwykych uytkownikw ..................................... 73


3.1. Uzyskiwanie konta ................................................................................................ 74
3.2. Logowanie ............................................................................................................ 75
3.3. Powoki ................................................................................................................. 76
3.4. Uruchamianie narzdzi GNU ............................................................................... 76
3.5. Kanay wejcia, wyjcia i bdu ............................................................................ 77
3.6. Uzyskiwanie pomocy man ............................................................................... 78
3.7. Znaki specjalne ..................................................................................................... 80
3.7.1. Przerywanie procesu Control+C ....................................................... 81
3.7.2. Koniec danych wejciowych Control+D ........................................... 81
3.8. Ustanawianie wasnego hasa passwd ............................................................. 81
3.9. Wylogowanie ........................................................................................................ 82
3.10. Poezja w dziaaniu eksplorowanie systemu plikw ......................................... 83
3.11. Wywietlanie nazwy biecego katalogu roboczego pwd ............................... 83
3.12. Wzgldne i bezwzgldne cieki dostpu ............................................................. 85
3.13. Tworzenie pliku .................................................................................................... 86

Spis treci

7
3.14. Wywietlanie zawartoci katalogu ls ............................................................... 87
3.15. Wywietlanie zawartoci pliku cat, more, head i tail ...................................... 88
3.16. Zmienianie nazwy pliku mv ............................................................................ 89
3.17. Tworzenie katalogu mkdir ............................................................................... 90
3.18. Przechodzenie do innego katalogu cd .............................................................. 91
3.19. Kopiowanie pliku cp ........................................................................................ 92
3.20. Edycja pliku vim .............................................................................................. 92
3.21. Usuwanie katalogu rmdir ................................................................................. 93
3.22. Usuwanie pliku rm ........................................................................................... 94
3.23. Drukowanie pliku lp, lpstat i cancel ................................................................ 95
3.24. Drukowanie pliku lpr, lpq i lprm ....................................................................... 96
3.25. Liczenie sw w pliku wc ................................................................................ 98
3.26. Atrybuty pliku ....................................................................................................... 98
3.26.1. Przechowywanie pliku ........................................................................... 99
3.26.2. Nazwy plikw ......................................................................................... 99
3.26.3. Data i czas modyfikacji pliku ............................................................... 100
3.26.4. Waciciel pliku .................................................................................... 100
3.26.5. Grupa pliku ........................................................................................... 100
3.26.6. Typy plikw ......................................................................................... 101
3.26.7. Prawa dostpu do plikw ..................................................................... 102
3.26.8. Liczba twardych dowiza do pliku ..................................................... 104
3.27. Grupy .................................................................................................................. 104
3.28. Wywietlanie grup, do ktrych naleysz groups ........................................... 105
3.29. Zmienianie grupy wacicieli pliku chgrp ..................................................... 105
3.30. Zmienianie praw dostpu do pliku chmod ...................................................... 106
3.31. Zmienianie waciciela pliku chown .............................................................. 108
3.32. Zmiana grupy newgrp .................................................................................... 108
3.33. Poezja w dziaaniu epilog .............................................................................. 109
3.34. Okrelanie typu terminala tset ....................................................................... 109
3.35. Zmienianie charakterystyk terminala stty ...................................................... 112
3.36. Edycja pliku vim ............................................................................................ 113
3.36.1. Uruchamianie vim ................................................................................ 114
3.36.2. Tryb wprowadzania tekstu ................................................................... 114
3.36.3. Tryb wydawania polece ...................................................................... 115
3.36.4. Bufor pamici i pliki tymczasowe ........................................................ 116
3.36.5. Popularne funkcje edycyjne ................................................................. 117
3.36.6. Przemieszczanie kursora ...................................................................... 117
3.36.7. Usuwanie tekstu ................................................................................... 117
3.36.8. Zamienianie tekstu ............................................................................... 119
3.36.9. Wklejanie tekstu ................................................................................... 119
3.36.10. Wyszukiwanie ...................................................................................... 120
3.36.11. Wyszukiwanie i zamienianie ................................................................ 121
3.36.12. Zapisywanie i odczytywanie pliku ....................................................... 121
3.36.13. Inne ....................................................................................................... 122
3.36.14. Dostosowywanie vim ........................................................................... 123
3.36.15. Zachowywanie ustawie ...................................................................... 123
3.37. Edycja pliku emacs ........................................................................................ 124
3.37.1. Uruchamianie edytora emacs ............................................................... 125
3.37.2. Polecenia edytora emacs ...................................................................... 125
3.37.3. Wydobywanie si z kopotw .............................................................. 126
3.37.4. Uzyskiwanie pomocy ........................................................................... 126
3.37.5. Opuszczanie edytora emacs .................................................................. 127
3.37.6. Tryby dziaania edytora emacs ............................................................. 127
3.37.7. Wpisywanie tekstu ............................................................................... 127

Linux dla programistw i uytkownikw


3.37.8. Popularne funkcje edycyjne ................................................................. 127
3.37.9. Przemieszczanie kursora ...................................................................... 128
3.37.10. Usuwanie, wklejanie i cofanie zmian ................................................... 128
3.37.11. Wyszukiwanie ...................................................................................... 129
3.37.12. Wyszukiwanie i zastpowanie .............................................................. 129
3.37.13. Zapisywanie i adowanie plikw .......................................................... 130
3.37.14. Inne ....................................................................................................... 130
3.38. Poczta elektroniczna mail .............................................................................. 130
3.38.1. Wysyanie poczty ................................................................................. 131
3.38.2. Czytanie poczty .................................................................................... 133
3.38.3. Kontaktowanie si z administratorem systemu .................................... 135

Rozdzia 4. Narzdzia GNU dla zaawansowanych uytkownikw ....................... 137


4.1. Wprowadzenie .................................................................................................... 138
4.2. Filtrowanie plikw grep, egrep, fgrep i uniq ................................................. 138
4.2.1. Filtrowanie wedug wzorca egrep, fgrep, grep ................................ 139
4.2.2. Usuwanie powtarzajcych si wierszy uniq .................................... 142
4.3. Sortowanie plikw sort .................................................................................. 143
4.4. Porwnywanie plikw cmp i diff .................................................................. 146
4.4.1. Sprawdzanie identycznoci cmp ..................................................... 146
4.4.2. Rnice w plikach diff .................................................................... 147
4.5. Wyszukiwanie plikw find ............................................................................ 148
4.6. Archiwizowanie plikw cpio, tar, dump i restore .......................................... 150
4.6.1. Kopiowanie plikw cpio ................................................................. 151
4.6.2. Archiwizowanie na tamie tar ......................................................... 153
4.6.3. Tworzenie przyrostowych kopii zapasowych dump i restore ......... 155
4.7. Ustalanie harmonogramu wywoywania polece cron i at ............................ 156
4.7.1. Cykliczne uruchamianie crontab ..................................................... 157
4.7.2. Jednokrotne uruchamianie zadania w przyszoci at ....................... 158
4.8. Programowalne przetwarzanie tekstu gawk .................................................. 160
4.8.1. Programy gawk ..................................................................................... 161
4.8.2. Dostp do pojedynczych pl ................................................................ 162
4.8.3. BEGIN i END ...................................................................................... 162
4.8.4. Operatory .............................................................................................. 162
4.8.5. Zmienne ................................................................................................ 163
4.8.6. Struktury sterujce ................................................................................ 163
4.8.7. Rozszerzone wyraenia regularne ........................................................ 164
4.8.8. Zasig warunkw ................................................................................. 164
4.8.9. Separatory pl ....................................................................................... 164
4.8.10. Funkcje wbudowane ............................................................................. 165
4.9. Dowizania twarde i symboliczne ln ............................................................. 165
4.10.Identyfikowanie powok whoami .................................................................. 167
4.11. Zmienianie uytkownika su ........................................................................... 167
4.12. Przeksztacanie plikw ....................................................................................... 168
4.12.1. Kompresowanie plikw gzip i gunzip ............................................. 169
4.12.2. Edycja strumienia sed ...................................................................... 169
4.12.3. Konwertowanie znakw tr ............................................................... 173
4.12.4. Konwersja sekwencji podkrelajcych ul ........................................ 174
4.13.Przegldanie surowej zawartoci pliku od ..................................................... 175
4.14.Montowanie systemw plikw mount i umount ........................................... 176
4.15. Identyfikowanie terminali tty ........................................................................ 177
4.16. Pomiar czasu wykonania time ....................................................................... 177

Spis treci

9
4.17.Tworzenie wasnych programw Perl ........................................................... 178
4.17.1. Skd wzi Perla? ................................................................................. 179
4.17.2. Uruchamianie Perla .............................................................................. 179
4.17.3. Wywietlanie tekstu ............................................................................. 179
4.17.4. Zmienne, acuchy i liczby cakowite .................................................. 180
4.17.5. Tablice .................................................................................................. 180
4.17.6. Operatory matematyczne i logiczne ..................................................... 182
4.17.7. Operatory acuchw ........................................................................... 183
4.17.8. Operatory porwnania .......................................................................... 183
4.17.9. Ptle if, while, for i foreach ............................................................. 184
4.17.10. Obsuga plikw ..................................................................................... 185
4.17.11. Funkcje ................................................................................................. 185
4.17.12. Funkcje biblioteczne ............................................................................. 186
4.17.13. Odczytywanie argumentw z wiersza polece .................................... 187
4.17.14. Praktyczny przykad ............................................................................. 188

Rozdzia 5. Powoki systemu Linux ................................................................. 193


5.1. Wprowadzanie .................................................................................................... 194
5.2. Wybr powoki ................................................................................................... 195
5.3. Operacje powoki ................................................................................................ 196
5.4. Pliki wykonywalne a wbudowane polecenia ...................................................... 197
5.4.1. Wywietlanie informacji echo ......................................................... 197
5.4.2. Zmiana katalogu cd ......................................................................... 198
5.5. Metaznaki ........................................................................................................... 198
5.6. Przekierowanie ................................................................................................... 199
5.6.1. Przekierowanie wyjcia ........................................................................ 199
5.6.2. Przekierowanie wejcia ........................................................................ 200
5.7. Symbole wieloznaczne w nazwach plikw ........................................................ 201
5.7.1. Potoki .................................................................................................... 202
5.8. Zastpowanie poleceniem ................................................................................... 204
5.9. Sekwencje ........................................................................................................... 204
5.9.1. Sekwencje warunkowe ......................................................................... 205
5.10. Grupowanie polece ........................................................................................... 205
5.11. Przetwarzanie w tle ............................................................................................. 206
5.12.Przekierowanie procesw dziaajcych w tle ..................................................... 207
5.13. Programy powoki (skrypty) ............................................................................... 208
5.14. Podpowoki lub powoki potomne ...................................................................... 209
5.15. Zmienne .............................................................................................................. 210
5.16. Cytowanie ........................................................................................................... 212
5.17. Dokumenty wbudowane ..................................................................................... 213
5.18. Sterowanie zadaniami ......................................................................................... 214
5.18.1. Status procesu ps ............................................................................. 214
5.18.2. Wysyanie sygnaw do procesw kill ............................................ 217
5.18.3. Oczekiwanie na proces potomny wait ............................................. 218
5.19. Wyszukiwanie polece $PATH ..................................................................... 219
5.20.Zastpowanie standardowych narzdzi .............................................................. 220
5.21.Koczenie dziaania i kody wyjcia .................................................................... 221
5.22. Wsplne polecenia wbudowane ......................................................................... 222
5.22.1. Polecenie eval ....................................................................................... 222
5.22.2. Polecenie exec ...................................................................................... 222
5.22.3. Polecenie shift ...................................................................................... 223
5.22.4. Polecenie umask ................................................................................... 223

10

Linux dla programistw i uytkownikw

Rozdzia 6. Powoka Bourne Again ................................................................. 227


6.1. Wprowadzenie .................................................................................................... 228
6.2. Rozpoczynanie sesji ............................................................................................ 229
6.3. Zmienne .............................................................................................................. 229
6.3.1. Tworzenie prostych zmiennych ............................................................ 230
6.3.2. Odwoania do zmiennych ..................................................................... 230
6.3.3. Tworzenie tablic ................................................................................... 233
6.3.4. Odwoania do tablic .............................................................................. 233
6.3.5. Tworzenie tablic ................................................................................... 234
6.3.6. Niszczenie tablic ................................................................................... 235
6.3.7. Odczytywanie zmiennej ze standardowego wejcia ............................ 235
6.3.8. Eksportowanie zmiennych ................................................................... 236
6.3.9. Zmienne tylko do odczytu .................................................................... 237
6.3.10. Zmienne predefiniowane ...................................................................... 238
6.4. Skrty polece .................................................................................................... 240
6.4.1. Aliasy .................................................................................................... 240
6.4.2. Historia polece .................................................................................... 241
6.4.3. Automatyczne uzupenianie ................................................................. 243
6.5. Zastpowanie znaku tyldy .................................................................................. 243
6.6. Przekierowanie ................................................................................................... 244
6.7. Podstawianie poleceniem .................................................................................... 245
6.8. Arytmetyka ......................................................................................................... 245
6.9. Wyraenia warunkowe ....................................................................................... 246
6.9.1. Porwnania arytmetyczne .................................................................... 246
6.9.2. Porwnywanie acuchw .................................................................... 247
6.9.3. Wyraenia warunkowe dla plikw ....................................................... 247
6.10. Struktury sterujce .............................................................................................. 247
6.10.1. Instrukcja case .. in .. esac .................................................................... 248
6.10.2. Instrukcja if .. then .. elif .. then .. else .. fi ........................................... 250
6.10.3. Instrukcja for .. do .. done ..................................................................... 251
6.10.4. Instrukcja while/until .. do .. done ........................................................ 251
6.10.5. Instrukcja trap ....................................................................................... 253
6.11. Funkcje ............................................................................................................... 253
6.11.1. Uywanie parametrw .......................................................................... 254
6.11.2. Zwracanie wyniku funkcji .................................................................... 255
6.11.3. Dostp do funkcji ................................................................................. 255
6.11.4. Rekurencja ............................................................................................ 256
6.11.5. Wspdzielenie funkcji ......................................................................... 257
6.12. Tworzenie menu select .................................................................................. 257
6.13.Dostp do katalogw i stos katalogw ............................................................... 259
6.14. Sterowanie zadaniami ......................................................................................... 260
6.14.1. Wskazywanie zadania .......................................................................... 261
6.14.2. Polecenie bg ......................................................................................... 261
6.14.3. Polecenie fg .......................................................................................... 261
6.14.4. Polecenie kill ........................................................................................ 262
6.15. Opcje powoki ..................................................................................................... 262

Rozdzia 7. Powoka Korn ............................................................................... 265


7.1. Wprowadzenie .................................................................................................... 266
7.2. Rozpoczynanie sesji ............................................................................................ 267
7.3. Zmienne .............................................................................................................. 268
7.3.1. Tworzenie (przypisywanie wartoci) zmiennej .................................... 268
7.3.2. Odwoania do zmiennych ..................................................................... 269
7.3.3. Odczytywanie zmiennych ze standardowego wejcia .......................... 270

Spis treci

11
7.3.4. Eksportowanie zmiennych ................................................................... 271
7.3.5. Zmienne tylko do odczytu .................................................................... 272
7.3.6. Predefiniowane zmienne lokalne .......................................................... 273
7.3.7. Predefiniowane zmienne rodowiska ................................................... 274
7.4. Aliasy .................................................................................................................. 274
7.4.1. Przypisywanie aliasw poleceniom wbudowanym .............................. 275
7.4.2. Usuwanie aliasw ................................................................................. 275
7.4.3. Predefiniowane aliasy ........................................................................... 276
7.4.4. Przydatne aliasy .................................................................................... 276
7.4.5. Aliasy ledzone ..................................................................................... 277
7.4.6. Wspdzielenie aliasw ........................................................................ 277
7.5. Historia ............................................................................................................... 278
7.5.1. Polecenia numerowane ......................................................................... 278
7.5.2. Przechowywanie polece ..................................................................... 278
7.5.3. Ponowne wykonywanie polece .......................................................... 279
7.5.4. Edycja polece ..................................................................................... 279
7.6. Edycja polece .................................................................................................... 281
7.6.1. Wbudowany edytor vi ..................................................................... 281
7.6.2. Wbudowany edytor emacs i gmacs ................................................. 283
7.7. Arytmetyka ......................................................................................................... 284
7.7.1. Zapobieganie interpretacji metaznakw ............................................... 285
7.7.2. Sprawdzanie wartoci ........................................................................... 285
7.8. Zastpowanie tyldy ............................................................................................. 285
7.9. Tworzenie menu select .................................................................................. 286
7.10. Funkcje ............................................................................................................... 287
7.10.1. Uywanie parametrw .......................................................................... 288
7.10.2. Zwracanie wyniku funkcji .................................................................... 289
7.10.3. Kontekst ................................................................................................ 289
7.10.4. Zmienne lokalne ................................................................................... 289
7.10.5. Rekurencja ............................................................................................ 290
7.10.6. Wspdzielenie funkcji ......................................................................... 291
7.11. Sterowanie zadaniami ......................................................................................... 291
7.11.1. Polecenie jobs ....................................................................................... 292
7.11.2. Wskazywanie zadania .......................................................................... 292
7.11.3. Polecenie bg ......................................................................................... 293
7.11.4. Polecenie fg .......................................................................................... 293
7.11.5. Polecenie kill ........................................................................................ 293
7.12. Udoskonalenia .................................................................................................... 294
7.12.1. Przekierowanie ..................................................................................... 294
7.12.2. Potoki .................................................................................................... 295
7.12.3. Zastpowanie poleceniem .................................................................... 295
7.12.4. Zmienne ................................................................................................ 296
7.12.5. Polecenia wbudowane .......................................................................... 301
7.13. Przykadowy projekt mieci .......................................................................... 306
7.14. Opcje startowe powoki ...................................................................................... 308

Rozdzia 8. Powoka C ................................................................................... 311


8.1. Wprowadzenie .................................................................................................... 312
8.2. Rozpoczynanie sesji ............................................................................................ 312
8.3. Zmienne .............................................................................................................. 314
8.3.1. Tworzenie prostych zmiennych i przypisywanie im wartoci ............. 314
8.3.2. Odwoania do prostych zmiennych ...................................................... 315
8.3.3. Tworzenie zmiennych tablicowych i przypisywanie im wartoci ........ 315
8.3.4. Dostp do wartoci zmiennej tablicowej .............................................. 316

12

Linux dla programistw i uytkownikw


8.3.5. Budowanie tablic .................................................................................. 317
8.3.6. Predefiniowane zmienne lokalne .......................................................... 317
8.3.7. Tworzenie zmiennych rodowiska i przypisywanie im wartoci ......... 317
8.3.8. Predefiniowane zmienne rodowiska ................................................... 319
8.4. Wyraenia ........................................................................................................... 319
8.4.1. Wyraenia acuchowe ......................................................................... 319
8.4.2. Wyraenia arytmetyczne ...................................................................... 320
8.4.3. Wyraenia stosowane w pracy z plikami ............................................. 321
8.5. Uzupenianie nazw plikw ................................................................................. 322
8.6. Edycja polece .................................................................................................... 323
8.7. Aliasy .................................................................................................................. 323
8.7.1. Usuwanie aliasw ................................................................................. 324
8.7.2. Przydatne aliasy .................................................................................... 324
8.7.3. Wspdzielenie aliasw ........................................................................ 324
8.7.4. Aliasy z parametrami ............................................................................ 325
8.8. Historia ............................................................................................................... 325
8.8.1. Numerowane polecenia ........................................................................ 326
8.8.2. Przechowywanie polece ..................................................................... 326
8.8.3. Odczytywanie historii ........................................................................... 326
8.8.4. Ponowne wykonywanie polece .......................................................... 327
8.8.5. Dostp do fragmentw historii ............................................................. 327
8.8.6. Dostp do fragmentw nazw plikw .................................................... 328
8.8.7. Zastpowanie historii ........................................................................... 329
8.9. Struktury sterujce .............................................................................................. 329
8.9.1. Ptla foreach .. end ............................................................................... 330
8.9.2. Polecenie goto ...................................................................................... 330
8.9.3. Instrukcje warunkowe if .. then .. else ..endif ....................................... 331
8.9.4. Polecenie onintr .................................................................................... 332
8.9.5. Polecenie repeat .................................................................................... 333
8.9.6. Instrukcja switch .. case .. endsw ......................................................... 333
8.9.7. Polecenie while .. end ........................................................................... 335
8.10. Przykadowy projekt smieci .......................................................................... 335
8.11. Rozszerzenia ....................................................................................................... 337
8.11.1. Metaznaki {} ........................................................................................ 338
8.11.2. Rozwijanie nazw plikw ...................................................................... 338
8.11.3. Przekierowanie ..................................................................................... 339
8.11.4. Potoki .................................................................................................... 339
8.11.5. Sterowanie zadaniami ........................................................................... 340
8.11.6. Koczenie dziaania powoki logowania .............................................. 342
8.12. Polecenia wbudowane ........................................................................................ 342
8.12.1. Polecenie chdir ..................................................................................... 343
8.12.2. Polecenie glob ...................................................................................... 343
8.12.3. Polecenie source ................................................................................... 343
8.13. Stos katalogw .................................................................................................... 344
8.13.1. Tablica asocjacyjna .............................................................................. 345
8.14. Opcje startowe powoki ...................................................................................... 346

Rozdzia 9. Sieci i internet ............................................................................. 349


9.1. Wprowadzenie .................................................................................................... 350
9.2. Budowa sieci ....................................................................................................... 351
9.2.1. Ethernet ................................................................................................ 351
9.2.2. Mosty .................................................................................................... 352
9.2.3. Routery ................................................................................................. 352
9.2.4. Bramy ................................................................................................... 353

Spis treci

13
9.3. Praca w sieci zoonej ......................................................................................... 353
9.3.1. Transmisja pakietowa ........................................................................... 354
9.3.2. Adresy IP .............................................................................................. 354
9.3.3. Nazwy ................................................................................................... 356
9.3.4. Trasowanie ........................................................................................... 356
9.3.5. Bezpieczestwo .................................................................................... 356
9.3.6. Porty i popularne usugi ....................................................................... 358
9.3.7. Programowanie sieci ............................................................................ 359
9.4. Identyfikowanie uytkownikw sieci ................................................................. 359
9.4.1. Wywietlanie uytkownikw users ................................................. 359
9.4.2. Wicej informacji o uytkownikach who i w .................................. 359
9.4.3. Nazwa Twojego hosta hostname ..................................................... 360
9.4.4. Dane osobiste finger ........................................................................ 360
9.5. Komunikowanie si z uytkownikami sieci ....................................................... 361
9.5.1. Ochrona przed komunikacj mesg .................................................. 362
9.5.2. Wysyanie pojedynczych wierszy write .......................................... 362
9.5.3. Interaktywne rozmowy talk ............................................................. 363
9.5.4. Wiadomoci do wszystkich wall ..................................................... 363
9.6. Przesyanie danych ............................................................................................. 364
9.6.1. Kopiowanie plikw pomidzy dwoma hostami pracujcymi
pod kontrol systemu Linux lub UNIX rcp i scp ............................ 365
9.6.2. Kopiowanie plikw pomidzy hostami niepracujcymi
pod kontrol systemu Linux lub UNIX ftp i sftp ............................ 365
9.7. Przetwarzanie rozproszone ................................................................................. 368
9.7.1. Zdalne demony logowania rlogin i slogin ....................................... 368
9.7.2. Zdalne wykonywanie polece rsh i ssh ........................................... 368
9.7.3. Poczenia zdalne telnet .................................................................. 370
9.8. Ewolucja internetu .............................................................................................. 372
9.8.1. Pocztki lata szedziesite ............................................................. 373
9.8.2. Standaryzacja internetu lata siedemdziesite .................................. 374
9.8.3. Rekonstrukcja i zmiana nazwy internetu lata osiemdziesite ......... 376
9.8.4. Pajczyna lata dziewidziesite ..................................................... 379
9.9. Korzystanie ze wspczesnego internetu ............................................................ 384
9.9.1. URL ...................................................................................................... 385
9.9.2. Przeszukiwanie sieci WWW ................................................................ 386
9.9.3. Wyszukiwanie uytkownikw i domen ............................................... 386

Rozdzia 10. rodowisko graficzne w Linuksie ................................................... 389


10.1. Wprowadzenie .................................................................................................... 390
10.1.1. Graficzny interfejs uytkownika (GUI) ............................................... 390
10.1.2. MIT ....................................................................................................... 391
10.2. Serwery X ........................................................................................................... 391
10.2.1. Geometria ekranu ................................................................................. 392
10.2.2. Bezpieczestwo i uwierzytelnianie ...................................................... 393
10.3. rodowiska graficzne .......................................................................................... 394
10.3.1. CDE ...................................................................................................... 394
10.3.2. GNOME ............................................................................................... 395
10.3.3. KDE ...................................................................................................... 395
10.4. Meneder okien .................................................................................................. 396
10.4.1. Aktywno okna ................................................................................... 396
10.4.2. Uruchamianie programw .................................................................... 396
10.4.3. Okna otwarte i zamknite ..................................................................... 397
10.4.4. Wybr ................................................................................................... 398

14

Linux dla programistw i uytkownikw


10.5. Formanty ............................................................................................................. 400
10.5.1. Menu ..................................................................................................... 400
10.5.2. Przyciski ............................................................................................... 400
10.5.3. Pola wyboru i przyciski opcji ............................................................... 401
10.5.4. Paski przewijania .................................................................................. 402
10.6.Operacje w rodowisku graficznym ................................................................... 402
10.6.1. Przywoywanie gwnego menu .......................................................... 402
10.6.2. Otwieranie i zamykanie okna ............................................................... 403
10.6.3. Minimalizowanie okna ......................................................................... 403
10.6.4. Maksymalizowanie okna ...................................................................... 404
10.6.5. Przesuwanie okna ................................................................................. 404
10.6.6. Zmiana rozmiaru okna .......................................................................... 404
10.6.7. Przenoszenie okna na spd lub na wierzch .......................................... 404
10.6.8. Przywoywanie menu okna .................................................................. 404
10.7. Aplikacje klienckie ............................................................................................. 404
10.7.1. Polecenie xclock ................................................................................... 405
10.7.2. Polecenie xterm .................................................................................... 406
10.8.Standardowe argumenty klientw X .................................................................. 406
10.8.1. Geometria ............................................................................................. 406
10.8.2. To i pierwszy plan ............................................................................... 406
10.8.3. Opcja title ............................................................................................. 407
10.8.4. Opcja iconic .......................................................................................... 407
10.9. Tematy zaawansowane ....................................................................................... 407
10.9.1. Kopiuj i wklej ....................................................................................... 407
10.9.2. Korzystanie z sieci ................................................................................ 408
10.9.3. Zasoby aplikacji ................................................................................... 409

Rozdzia 11. Programowanie w C ..................................................................... 413


11.1. Jzyk C ................................................................................................................ 414
11.2. Kompilatory jzyka C ......................................................................................... 414
11.3.Program zoony z jednego moduu ................................................................... 415
11.3.1. Kompilowanie programu C .................................................................. 416
11.3.2. Kod rdowy poprawnej wersji programu wspak ............................... 417
11.3.3. Uruchamianie programu napisanego w C ............................................ 417
11.3.4. Nadawanie wasnej nazwy plikowi wykonywalnemu .......................... 418
11.4. Programy wielomoduowe .................................................................................. 418
11.4.1. Funkcje wielokrotnego uytku ............................................................. 419
11.4.2. Przygotowywanie funkcji wielokrotnego uytku ................................. 419
11.4.3. Oddzielne kompilowanie i konsolidacja moduw .............................. 420
11.4.4. Powtrne uycie funkcji wspak ............................................................ 421
11.5. Archiwizacja moduw ar .............................................................................. 422
11.5.1. Tworzenie lub dodawanie pliku ........................................................... 423
11.5.2. Doczanie pliku ................................................................................... 423
11.5.3. Spis zawartoci archiwum .................................................................... 423
11.5.4. Usuwanie pliku ..................................................................................... 423
11.5.5. Wydobywanie pliku z archiwum .......................................................... 423
11.5.6. Zarzdzanie archiwum z wiersza polece ............................................ 424
11.5.7. Indeksowanie archiww ....................................................................... 424
11.5.8. Biblioteki wspdzielone ...................................................................... 425
11.6.Zarzdzanie zalenociami make ................................................................... 425
11.6.1. Pliki powiza ...................................................................................... 426
11.6.2. Porzdek regu ...................................................................................... 427
11.6.3. Uruchamianie make .............................................................................. 428
11.6.4. Reguy powiza .................................................................................. 429

Spis treci

15
11.6.5. Wymuszanie kompilacji ....................................................................... 429
11.6.6. Makra .................................................................................................... 430
11.6.7. Obsuga archiwum za pomoc make .................................................... 431
11.6.8. Inne moliwoci make .......................................................................... 432
11.7. Program profilujcy GNU gprof .................................................................... 432
11.8.Szukanie bdw w programie gdb ................................................................ 433
11.8.1. Przygotowywanie programu do debugowania ..................................... 434
11.8.2. Uruchamianie debuggera ...................................................................... 435
11.8.3. Uruchamianie programu ....................................................................... 435
11.8.4. Wywietlanie kodu rdowego ........................................................... 436
11.8.5. Ustawianie punktw wstrzymania ........................................................ 437
11.8.6. Wykonywanie krokowe ........................................................................ 439
11.8.7. Sprawdzanie wartoci zmiennych ........................................................ 439
11.8.8. Olnienie ............................................................................................... 441
11.9. Gdy ju skoczye strip ................................................................................ 442

Rozdzia 12. Programowanie systemu ............................................................... 445


12.1. Wprowadzenie .................................................................................................... 446
12.2. Obsuga bdw perror() ................................................................................ 448
12.3. Zarzdzanie zwykymi plikami ........................................................................... 450
12.3.1. Elementarz zarzdzania plikami ........................................................... 450
12.3.2. Pierwszy przykad wspak ................................................................ 452
12.3.3. Jak dziaa nasz program? ...................................................................... 453
12.3.4. Listing wspak.c ..................................................................................... 454
12.3.5. Otwieranie pliku open() ................................................................... 459
12.3.6. Odczyt pliku read() .......................................................................... 461
12.3.7. Zapis do pliku write() ...................................................................... 462
12.3.8. Zmiana pozycji w pliku lseek() ....................................................... 462
12.3.9. Zamykanie pliku close() .................................................................. 464
12.3.10. Usuwanie pliku unlink() .................................................................. 464
12.3.11. Drugi przykad monitor ................................................................... 465
12.3.12. Jak dziaa program monitor? ................................................................ 466
12.3.13. Listing monitor.c .................................................................................. 467
12.3.14. Uzyskiwanie informacji o pliku stat() ............................................. 473
12.3.15. Odczytywanie informacji o katalogu opendir(), readdir() i closedir() 475
12.3.16. Inne wywoania systemowe zwizane z zarzdzaniem plikami ........... 475
12.3.17. Zmiana waciciela i (lub) grupy pliku chown() ............................. 475
12.3.18. Zmiana praw dostpu do pliku chmod() .......................................... 477
12.3.19. Powielanie deskryptora pliku dup() ................................................ 477
12.3.20. Operacje na deskryptorze pliku fcntl() ............................................ 478
12.3.21. Sterowanie urzdzeniami ioctl() ...................................................... 480
12.3.22. Tworzenie dowiza twardych link() .............................................. 480
12.3.23. Tworzenie plikw specjalnych mknod(), mkdir() i mkfifo() .......... 481
12.3.24. Oprnianie bufora systemu plikw sync() ........................................ 482
12.3.25. Zmiana rozmiaru pliku truncate() .................................................... 482
12.4. Zarzdzanie procesami ....................................................................................... 483
12.4.1. Tworzenie nowego procesu fork() .................................................. 484
12.4.2. Procesy osierocone ............................................................................... 486
12.4.3. Koczenie procesu exit() ................................................................. 487
12.4.4. Procesy zombie ..................................................................................... 487
12.4.5. Oczekiwanie na proces potomny wait() .......................................... 488
12.4.6. Rnicowanie procesu exec() .......................................................... 489
12.4.7. Zmiana katalogu chdir() .................................................................. 490
12.4.8. Zmiana priorytetu nice() .................................................................. 491

16

Linux dla programistw i uytkownikw


12.4.9. Dostp do identyfikatorw grupy i uytkownika ................................. 492
12.4.10. Przykadowy program przetwarzanie w tle ..................................... 493
12.4.11. Przekierowanie ..................................................................................... 494
12.5. Sygnay ............................................................................................................... 495
12.5.1. Typy sygnaw ..................................................................................... 496
12.5.2. Sygnay zdefiniowane .......................................................................... 496
12.5.3. Sygnay POSIX .................................................................................... 496
12.5.4. Sygnay terminala ................................................................................. 496
12.5.5. Ustawianie budzika w celu wysania sygnau alarm() .................... 497
12.5.6. Obsuga sygnaw signal() .............................................................. 498
12.5.7. Ochrona istotnego kodu i czenie programw obsugi przerwa ....... 500
12.5.8. Wysyanie sygnaw kill() ............................................................... 500
12.5.9. Zakoczenie procesu potomnego ......................................................... 501
12.5.10. Zawieszanie i wznawianie procesu ...................................................... 502
12.5.11. Grupy procesw i terminale sterujce .................................................. 504
12.6. Komunikacja midzyprocesowa ......................................................................... 507
12.6.1. Potoki .................................................................................................... 508
12.6.2. Gniazda ................................................................................................. 514

Rozdzia 13. Wewntrz Linuksa ........................................................................ 537


13.1. Podstawowe informacje o jdrze ........................................................................ 538
13.1.1. Podsystemy jdra .................................................................................. 539
13.1.2. Procesy i pliki ....................................................................................... 539
13.1.3. Komunikacja z jdrem .......................................................................... 539
13.1.4. Wywoania systemowe ......................................................................... 540
13.1.5. Tryb jdra i tryb uytkownika .............................................................. 541
13.1.6. Przetwarzanie synchroniczne kontra asynchroniczne .......................... 543
13.1.7. Przerywanie przerwa .......................................................................... 544
13.2. System plikw .................................................................................................... 544
13.2.1. Budowa dysku ...................................................................................... 545
13.2.2. Wirtualny system plikw ...................................................................... 549
13.2.3. Struktura i-wzw ............................................................................... 549
13.2.4. Ukad systemu plikw .......................................................................... 551
13.2.5. Uszkodzone bloki ................................................................................. 553
13.2.6. Katalogi ................................................................................................ 553
13.2.7. Tumaczenie cieek dostpu na numery i-wzw ............................. 553
13.2.8. Montowanie systemw plikw ............................................................. 555
13.3. Zarzdzanie procesami ....................................................................................... 556
13.3.1. Pliki wykonywalne ............................................................................... 556
13.3.2. Pierwsze procesy .................................................................................. 557
13.3.3. Procesy jdra i procesy uytkownika ................................................... 557
13.3.4. Hierarchia procesw ............................................................................. 557
13.3.5. Stany procesu ....................................................................................... 558
13.3.6. Reprezentacja procesu .......................................................................... 558
13.3.7. Lista zada ............................................................................................ 560
13.3.8. Planista ................................................................................................. 560
13.4. Zarzdzanie pamici wirtualn ......................................................................... 561
13.4.1. Tablica stron ......................................................................................... 562
13.4.2. Stronicowanie ....................................................................................... 563
13.4.3. Pliki odwzorowywane w pamici ......................................................... 563
13.4.4. Wymiana .............................................................................................. 563
13.4.5. Alokacja i dealokacja ........................................................................... 564
13.4.6. adowanie pliku wykonywalnego execl() i execv() ....................... 565
13.4.7. Powielanie procesu fork() ............................................................... 565

Spis treci

17
13.5. Wejcie i wyjcie ................................................................................................ 566
13.5.1. Obiekty wejcia-wyjcia ....................................................................... 566
13.5.2. Wywoania systemowe wejcia-wyjcia .............................................. 567
13.5.3. Buforowanie wejcia-wyjcia ............................................................... 567
13.5.4. Funkcje wejcia-wyjcia dla zwykego pliku ....................................... 568
13.5.5. Funkcje wejcia-wyjcia do katalogu ................................................... 571
13.5.6. Montowanie systemw plikw ............................................................. 571
13.5.7. Tumaczenie cieek dostpu ............................................................... 572
13.5.8. Funkcje wejcia-wyjcia dla plikw specjalnych ................................. 573
13.6. Komunikacja midzyprocesowa ......................................................................... 576
13.6.1. Sygnay ................................................................................................. 576
13.6.2. Potoki .................................................................................................... 579
13.6.3. Gniazda ................................................................................................. 580

Rozdzia 14. Administrowanie systemem .......................................................... 583


14.1. Wprowadzenie .................................................................................................... 584
14.2. Jak zosta superuytkownikiem? ........................................................................ 584
14.2.1. Korzystanie z su ................................................................................... 585
14.2.2. Korzystanie z sudo ............................................................................... 585
14.3. Uruchamianie systemu ........................................................................................ 586
14.3.1. Jdro systemu ....................................................................................... 586
14.3.2. Poziomy dziaania ................................................................................ 587
14.3.3. Proces init ............................................................................................. 587
14.3.4. Skrypty startowe ................................................................................... 588
14.4. Wyczanie systemu ........................................................................................... 588
14.5. Konserwacja systemu plikw ............................................................................. 589
14.5.1. Integralno systemu plikw ................................................................ 589
14.5.2. Przestrze dyskowa .............................................................................. 589
14.5.3. Tworzenie nowego systemu plikw ..................................................... 592
14.5.4. Tworzenie kopii zapasowej systemu plikw ........................................ 592
14.6.Zarzdzanie kontami uytkownikw .................................................................. 593
14.6.1. Plik hase .............................................................................................. 593
14.6.2. Plik grup ............................................................................................... 594
14.7.Instalowanie nowego oprogramowania .............................................................. 595
14.8. Urzdzenia peryferyjne ....................................................................................... 596
14.9. Interfejs sieciowy ................................................................................................ 597
14.10. Automatyzacja zada .......................................................................................... 598
14.11. Dostrajanie parametrw pracy jdra ................................................................... 599
14.11.1. System plikw /proc ............................................................................. 599
14.11.2. Narzdzie sysctl .................................................................................... 600
14.12. Bezpieczestwo .................................................................................................. 600

Dodatek A ................................................................................... 605


Bibliografia .................................................................................. 617
Skorowidz .................................................................................... 619

Rozdzia 2.

Cel
W przeszoci, gdy kto zostawa nowym uytkownikiem UNIX-a, system przewanie udostpniany by w miejscu pracy uytkownika lub w szkole. Linux jest systemem popularnym zarwno na uniwersytetach, jak i w rodowiskach biznesowych, ale
stanowi on take wietny system operacyjny dla uytku osobistego. Z tego powodu
moesz rozway zainstalowanie Linuksa. Ten rozdzia uczyni to mniej stresujcym.

Wymagania wstpne
Ten rozdzia bdzie na pewno przydatny pocztkujcym, ktrzy nie mieli jeszcze stycznoci z Linuksem. Oglna znajomo zagadnie zwizanych z komputerami oraz lektura rozdziau 1., Czym jest Linux?, bdzie na pewno bardzo pomocna.

Zakres
W tym rozdziale omwi kwestie zwizane z wyborem waciwej dystrybucji Linuksa,
metody jej zdobycia i sposb instalacji systemu. Poniewa kada instalacja jest inna,
bdziesz musia sign do przewodnika instalacji lub innej dokumentacji dystrybucji,
ktr bdziesz chcia zainstalowa.

46

Linux dla programistw i uytkownikw

Sposb prezentacji
Rozpoczniemy od przejrzenia sprztu wymaganego do uruchomienia Linuksa oraz popularnych dystrybucji Linuksa, z ktrych prawdopodobnie bdziesz wybiera. Gdy ju zadecydujesz, ktr zainstalowa, omwimy kwestie zwizane z zainstalowaniem Linuksa.

2.1. Wstp
By moe signe po t ksik, aby dowiedzie si, jak korzysta z Linuksa w miejscu, gdzie jest ju zainstalowany. W takim przypadku z lektury tego rozdziau dowiesz
si po prostu, w jaki sposb przebiegaa instalacja. Moesz jednak zacz korzysta
z Linuksa, nie przeprowadzajc wasnej instalacji.
Rwnie prawdopodobne jest to, e potrzebujesz lub chcesz uruchomi Linuksa na
wasnym komputerze (np. w domu). W takim przypadku musisz zdoby dystrybucj
i j zainstalowa, zanim przystpisz do prawdziwej pracy.
Ilo moliwych alternatyw, jakie s dostpne, moe by przytaczajca. Poniewa
moesz wybra dowoln dystrybucj, nie mog przedstawi szczegowego opisu instalacji dla kadej z nich. Gdybym wybra jedn dystrybucj i na jej podstawie pisa t
ksik, byaby on znacznie mniej przydatna dla osb, ktre wybray inn dystrybucj
(a na pewno byaby to wikszo czytelnikw). Aby jak najwicej osb odnioso korzy z przeczytania tego rozdziau, nie ograniczymy si do omwienia jednej dystrybucji, ale omwimy liczne kwestie i decyzje, jakie naley uwzgldni podczas instalacji
dowolnej dystrybucji Linuksa. Powiniene zapozna si z dokumentacj instalacji doczon do wybranej dystrybucji.

2.2. Upewnij si, e masz


odpowiedni sprzt
Linux dziaa na wielu platformach sprztowych, ale mimo to warto jest powici par
minut, aby mie pewno, e komputer, na ktrym ma zosta zainstalowany, bdzie
odpowiedni.

2.2.1. Jednostka centralna (procesor)


Liczba komputerw z procesorami firmy Intel (lub ich klonami), na ktrych zainstalowany jest Linux, prawdopodobnie przewysza liczb instalacji na pozostaych typach
sprztu (przede wszystkim dlatego, e stanowi one wikszo obecnie uywanych

Rozdzia 2. Instalowanie Linuksa

47

systemw). Jednak poza typowymi procesorami dla PC, produkowanymi przez firmy
takie jak Intel, AMD i Cyrix, istniej inne rodziny procesorw, na ktrych Linux moe
pracowa1:
t 68000 (Motorola),
t Alpha (DEC, stanowicy teraz cz HP),
t Itanium (HP i Intel),
t MIPS (SGI),
t PA-RISC (HP),
t PowerPC (IBM i Freescale Semiconductor, niegdy cz Motoroli),
t RS6000 (IBM),
t SPARC (Sun Microsystems),
t Vax (DEC, stanowicy teraz cz HP).

Procesor Intel Pentium I jest najstarszym procesorem Intela, jakiego mgby uy.
Niektre dystrybucje s kompilowane specjalnie dla Pentium, wic nie bd one dziaa
na starszych procesorach, ale nawet jeeli na systemie 80486 uda si uruchomi Linuksa, wydajno pozostawi wiele do yczenia. Odkryem, e Pentium II (z odpowiedni
iloci pamici) wystarczy do wikszoci zastosowa.

2.2.2. Architektura magistrali


Wikszo wspczesnych komputerw klasy PC posiada dwa typy architektury magistrali: PCI (ang. Peripheral Component Interconnect) i ISA (ang. Industry Standard
Architecture). Magistrala PCI ma szeroko 32 bitw i jest szybsza od starszych architektur magistral (a jej rozszerzona wersja PCI-X jest jeszcze szybsza). Magistrala ISA jest jedn z tych starszych architektur. Jej szeroko to 16 bitw i jest wolniejsza od magistrali PCI, ale jest jeszcze dostpna w wielu komputerach w celu zapewnienia
zgodnoci ze starszym sprztem. Po raz pierwszy zostaa zastosowana przez IBM w 1980
roku i miaa szeroko 8 bitw, a pniej 16. Rozszerzona magistrala ISA (EISA) ma
szeroko 32 bitw i take jest obsugiwana przez jdro Linuksa.
Czasem Linux wymaga zastosowania dodatkowych sterownikw dla nietypowych urzdze przyczonych do magistrali ISA, ale z wikszoci urzdze PCI dziaa poprawnie.

2.2.3. Pami
Jak kady rozbudowany system operacyjny, take Linux wymaga znacznej iloci pamici do wydajnej pracy. Tabela 2.1 przedstawia zalecan ilo pamici dla rnego
typu instalacji.
1

Oprcz wymienionych obecnie coraz wiksz popularnoci ciesz si procesory ARM uywane
przede wszystkim w urzdzeniach mobilnych przyp. tum.

48

Linux dla programistw i uytkownikw

Tabela 2.1. Zalecana ilo pamici operacyjnej


Minimalna ilo pamici dla systemu
bez graficznego interfejsu uytkownika

64 MB

Minimalna ilo pamici dla typowej graficznej stacji roboczej

128 MB

Zalecana ilo pamici dla typowej stacji roboczej

256 MB (lub wicej)

Linux bdzie dziaa na systemach z mniejsz iloci pamici, ale jego wydajno bdzie
pozostawiaa wiele do yczenia. Oczywicie im wicej pamici jest zainstalowane w systemie, tym lepiej.

2.2.4. Dysk
W zasadzie kady system operacyjny zajmuje wicej przestrzeni na dysku wraz z kad
now edycj i Linux nie stanowi tu wyjtku. Pena instalacja Linuksa, w zalenoci
od wybranej dystrybucji, wymaga okoo 3 gigabajtw2 (GB) przestrzeni na dysku. Na
szczcie mona ograniczy ilo potrzebnego miejsca i nie straci przy tym na uytecznoci systemu. Tabela 2.2 przedstawia oszacowan przestrze wymagan dla najczstszych sposobw uytkowania Linuksa.
Wikszo komputerw opartych na procesorach Intel wyposaona jest w dyski twarde
wykorzystujce interfejs IDE (ang. Integrated Device Electronics), z ktrymi Linux
dobrze wsppracuje. Niektre wyszej klasy komputery PC mog korzysta z dyskw SCSI (ang. Small Computer Systems Interface) i mimo e Linux jest dostarczany
ze sterownikami dla SCSI, jdro uruchamiajce system nie zawsze je odnajduje przy
ustawieniach domylnych. By moe zajdzie konieczno signicia do przewodnika
instalacji3, aby dowiedzie si, jak zaadowa sterowniki SCSI, gdy Linux nie widzi
dyskw podczas adowania systemu.
Tabela 2.2. Zalecana ilo miejsca na dysku twardym
May system, bez wikszoci dodatkowego oprogramowania

Od 500 MB do 1 GB

Typowa instalacja Linuksa zawierajca popularne aplikacje

1 2 GB

Stacja robocza lub serwer z doczon du iloci dodatkowego


oprogramowania

2 4 GB

Pena instalacja zawierajca wszystkie pakiety z nonikw instalacyjnych

4 12 GB (w zalenoci
od wybranej dystrybucji)

2.2.5. Monitor, klawiatura i myszka


Wikszo monitorw, klawiatur i myszek, ktre s podczone do komputera, bdzie
wsppracowa z Linuksem. Podobnie jak przy innym sprzcie, starsze modele mog
nie by obsugiwane. Czasami take najnowsze urzdzenia nie s rozpoznawane, poniewa nikt nie zdy jeszcze napisa do nich sterownikw.
2
3

1 GB = 1024 megabajty (MB).


Podobna sytuacja pojawia si czsto w przypadku uycia dyskw SATA przyp. tum.

Rozdzia 2. Instalowanie Linuksa

49

Wiele dystrybucji domylnie ustawia rozdzielczo obrazu na 640480 pikseli, aby


zapewni kompatybilno z jak najwiksz liczb kart graficznych i monitorw. Po
zainstalowaniu Linuksa mona zmieni konfiguracj obrazu i ustawi wysz rozdzielczo, w granicach obsugiwanych przez kart graficzn i monitor.
Linux obsuguje wikszo klawiatur oraz myszy podczonych zarwno do portu
PS/2, jak i portu szeregowego, bez potrzeby okrelania konkretnego sterownika, ale by
moe bdziesz musia wybra typ urzdzenia z listy.

2.3. Wybr dystrybucji


Jeeli Linux ma jak wad, to jest ni na pewno dua ilo dystrybucji, spord ktrych mona wybiera! Wiele duych i maych firm, a nawet pojedyncze osoby tworz
wasne dystrybucje, ktre maj zaspokaja okrelone potrzeby. Jest to zalet otwartego oprogramowania, ale moe by te wad, jeeli chcesz wybra tylko jedn z nich,
aby zainstalowa j na wasnym komputerze. Dystrybucje Linuksa s dostpne na
wszystkich typach nonikw, pod wszystkie platformy systemowe i dla rnorodnych
potrzeb uytkownikw. Niektre dystrybucje (np. Knoppix, Linspire, MEPIS i SuSE)
maj wersje Live, ktre uruchamiane s bezporednio z pyty CD-ROM, bez potrzeby
przeprowadzania instalacji. FeatherLinux moe by uruchamiany z pendrivea podczanego poprzez zcze USB. Yellow Dog Linux dziaa na komputerze Power Mac
firmy Apple.
Dobra wiadomo jest taka, e tylko kilka dystrybucji jest szeroko rozpowszechnionych. Istnieje znacznie wicej dystrybucji, ni moglibymy tu omwi. Ograniczymy si
zatem tylko do najbardziej popularnych i najtaszych. Sporo informacji na ich temat
(oraz wiele innych) mona znale w nastpujcych witrynach:
http://www.linux.org,
http://www.distrowatch.com.
Kod Linuksa i narzdzi GNU jest kodem otwartym, wic jest dostpny za darmo. Jednak w zalenoci od dystrybucji, ktr wybierzesz, nonika i wsparcia technicznego,
by moe bdziesz musia wyda jak sum pienidzy. Wikszo omawianych tu
dystrybucji moe zosta pobrana z internetu, ale wszystkie s rwnie dostpne za
niewielk opat w wersji na pytach CD.

2.3.1. Debian
Debian GNU/Linux jest prawdziwie niekomercyjn dystrybucj Linuksa, ktra jest zarzdzana i rozwijana przez ochotnikw rozsianych po caym wiecie, a nie przez jakiekolwiek przedsibiorstwo. Debian jest dostpny dla wikszej liczby platform systemowych ni wikszo pozostaych dystrybucji.

50

Linux dla programistw i uytkownikw

Debian ma opini trudnego w instalacji, jednak jest to sukcesywnie zmieniane dziki


utworzeniu nowego programu instalacyjnego. Podczas instalacji Linuksa mona wybra
wiele opcji, a obecnie uywany system instalacji Debiana wymaga od uytkownika ich
zrozumienia. Instalacja jest przeprowadzana w trybie tekstowym (bez interfejsu graficznego), co moe sprawia trudno pocztkujcym uytkownikom. System X Window moe zosta skonfigurowany dopiero po zakoczeniu instalacji, wic pocztkowo
Debian nie jest wyposaony w graficzny interfejs uytkownika.
Zainstalowany Debian zbiera jednak wysokie noty za jego zaawansowany mechanizm
zarzdzania pakietami (ang. Advanced Packaging Tool), ktry suy do instalacji
pakietw z programami (stosowany zamiast bardziej popularnego Red Hat Package
Manager).
Debian jest niezawodn dystrybucj i jest bardzo popularny wrd zaawansowanych
uytkownikw. Wicej informacji na jego temat uzyskasz w witrynach:
http://www.debian,org/,
http://www.aboutdebian.com/.

2.3.2. Fedora
Zaoony w 1994 roku Red Hat, Inc. by wczesnym i bez wtpienia odnoszcym najwiksze sukcesy komercyjnym producentem dystrybucji Linux. Z biegiem czasu Red
Hat skupi si na klientach biznesowych, ktrzy oczekiwali wikszego wsparcia dla systemu uywanego w celach komercyjnych. Po wdroeniu programu szkoleniowego Red
Hat Certified Engineer przedsibiorcy uzyskali pewno, e informacje, uaktualnienia
i wsparcie techniczne bd dostpne jeszcze przez dugi czas.
Sukces oddali Red Hata od mniejszych klientw i pojedynczych uytkownikw Linuksa.
Aby nie zaniedba tej wielkiej i lojalnej grupy uytkownikw, Red Hat powoa Projekt
Fedora4, ktry w odrnieniu od komercyjnej wersji systemu jest zarzdzany przez
wsplnot uytkownikw. Jego celem jest szybkie rozwijanie dystrybucji, tak wic jest
ona pena nowych rozwiza, co odbija si nieco na stabilnoci. Dystrybucja dostarczana przez Projekt Fedora znana jest jako Fedora Core Linux i jest popularna dziki atwoci instalacji oraz uytkowania. Pomimo e Red Hat sponsoruje Projekt Fedora,
nie udziela on wsparcia technicznego uytkownikom dystrybucji Fedora Core, w przeciwiestwie do wasnych, komercyjnych dystrybucji.
Jak wikszo twrcw dystrybucji, Red Hat doda kilka rozszerze do podstawowego systemu GNU/Linux. Fedora Core dostarczana jest z graficznym narzdziem do partycjonowania dyskw, a take z wasnym programem zarzdzania pakietami (ang. Red
Hat Package Manager RPM), ktry jest uywany take w wielu innych dystrybucjach.

W 2002 roku powstaa polska dystrybucja oparta na Fedora Core Aurox. Wicej informacji
na jej temat uzyskasz w witrynie http://www.aurox.org przyp. tum.

Rozdzia 2. Instalowanie Linuksa

51

Fedora Core jest wyposaona w bardzo przyjazne narzdzie instalacyjne i najlepiej ze


wszystkich dystrybucji wykrywa podczas instalacji urzdzenia zainstalowane w systemie. Pomaga te dokona wyboru spord dodatkowych pakietw dostpnych do
zainstalowania.
Oficjalnie Fedora Core jest oznaczana jako wersja eksperymentalna i nie jest przeznaczona dla zastosowa wymagajcych niezawodnoci, ale dla wikszoci zastosowa
dystrybucja ta jest zupenie wystarczajca. W rodowisku biznesowym lub w innych
istotnych zastosowaniach raczej wykorzystywane s komercyjne wydania Red Hata.
Aby uzyska wicej informacji na temat Fedora Core i Red Hata, odwied nastpujce witryny:
http://fedora.redhat.com/,
http://www.fedoranews.org/,
http://www.redhat.com/.

2.3.3. Mandriva
Mandriva Linux wywodzi si z dystrybucji Mandrake, ktra z kolei bazowaa na Red
Hacie. W 2005 roku firma Mandrake poczya si z firm Conectiva i zmieniona zostaa nazwa zarwno firmy, jak i dystrybucji na Mandriva. Z dystrybucj dostarczane jest
bardzo wygodne graficzne centrum sterowania (Centrum Sterowania Mandriva Linux).
Mandriva korzysta z pakietw RPM, a oprcz tego posiada narzdzie dziaajce w trybie
tekstowym urpmi, ktre pozwala na przeprowadzanie aktualizacji pakietw (i caego
systemu) na zasadzie podobnej do aplikacji apt-get, znanej z Debiana. Dystrybucja ta
jest publicznie dostpna, jednak uytkownicy opacajcy abonament Mandriva Club
maj specjalne przywileje, w tym np. gosowanie, ktre programy maj zosta wczone do nastpnej dystrybucji. Wicej informacji na temat tej dystrybucji znajdziesz
w witrynie:
http://www.mandriva.pl.

2.3.4. Slackware
Slackware Linux by pierwsz dystrybucj Linuksa utworzon przez Patricka J. Volkerdinga (zreszt dalej aktywnie uczestniczcego w jej rozwoju) podczas studiw na uniwersytecie stanowym Moorhead w Minnesocie. Podobnie jak Debian, Slackware jest
niekomercyjn dystrybucj i stara si pozosta bardziej tradycyjn i zblion do czystej
dystrybucji Linuksa.
Instalacja przeprowadzana jest w trybie tekstowym, a nie graficznym, co moe przeraa pocztkujcych uytkownikw. Aby zainstalowa system, naley zaadowa jdro,
a nastpnie uruchomi narzdzie do partycjonowania dysku (fdisk lub cfdisk), po czym
uruchomi program konfiguracyjny. Podobnie jak w Debianie, system X Window moe
zosta skonfigurowany dopiero po instalacji, wic pocztkowo Slackware nie jest wyposaony w graficzny interfejs uytkownika.

52

Linux dla programistw i uytkownikw

Braki w rnego rodzaju dodatkach Slackware nadrabia stabilnoci. Dowiadczeni


uytkownicy (wrd ktrych Slackware jest najpopularniejszy) doceniaj, e nie jest
on zabaaganiony niepotrzebnym kodem dodatkowych aplikacji.
Spord wszystkich dystrybucji Slackware najbardziej wyrnia si tym, e podczas
adowania uywa on skryptw przypominajcych skrypty BSD, a nie bardziej popularnej struktury z System V. Zawiera on take wasne narzdzie do obsugi pakietw
(pkgtool) zamiast RPM, ale pkgtool obsuguje take pliki w formacie RPM.
Wicej informacji na temat Slackware znajdziesz w witrynie:
http://www.slackware.com.

2.3.5. SuSE
SuSE Linux powsta w Niemczech i by bardzo popularny w Europie. Jest on pochodn
Slackwarea, ale posiada te cechy typowe dla komercyjnych dystrybucji. SuSE naley
teraz do Novella i pomau staje si ulubion dystrybucj w Stanach Zjednoczonych.
SuSE posiada wasne graficzne narzdzie suce do instalacji i konfiguracji, zwane YaST
(jest to skrt od angielskiego Yet another Setup Tool kolejne narzdzie instalacyjne). YaST wykonuje ca instalacj (czasem, co jest przykre, w trybie tekstowym),
wczajc w to dzielenie dysku na partycje, a take jest gwnym narzdziem sucym
do konfiguracji dziaajcego systemu. To rozwizanie jest bardzo wygodne i zapewnia miejsce w systemie, w ktrym mona wykona kade zadanie zwizane z konfiguracj i aktualizacj systemu. SuSE dostarcza take narzdzie do konfiguracji systemu
X Window o nazwie SaX2. Podobnie jak wiele innych dystrybucji, SuSE korzysta z pakietw RPM.
Wicej informacji na temat SuSE znajdziesz w witrynie:
http://www.suse.com.

2.3.6. TurboLinux
Podczas gdy amerykaskim czytelnikom TurboLinux moe nie przypa do gustu, spodoba si on uytkownikom z innych czci wiata. TurboLinux jest wiodc dystrybucj
Linuksa w Azji i jest tam bardzo popularna, poniewa wietnie obsuguje wielobajtowe
jzyki (a wic dobrze dziaa w wersji chiskiej, japoskiej i koreaskiej). TurboLinux
zawiera atwy w uyciu program instalacyjny. Jest on wasnoci firmy Livedoor, firmy
informatycznej z siedzib w Tokio, ktra nabya go w roku 1994.
Wicej informacji na temat dystrybucji TurboLinux znajdziesz w witrynie:
http://www.turbolinux.com.

Rozdzia 2. Instalowanie Linuksa

53

2.4. Rozwa opcjonalne pakiety


oprogramowania
Gdy wybierzesz ju dystrybucj, ktr chcesz zainstalowa, bdziesz chcia zdecydowa, jak duo zainstalowa. Nie musisz podejmowa decyzji dotyczcej kadego
pojedynczego pakietu zarwno przed, jak i w trakcie instalacji. Moesz je zainstalowa
pniej. Jest jednak par rzeczy, o ktrych musisz pomyle przed instalacj, aby przebiega ona gadko.
Powiniene zastanowi si, czy potrzebujesz graficznej stacji roboczej, czy wystarczy
Ci tylko praca w trybie tekstowym, czy komputer bdzie podczony do sieci oraz co
bdziesz robi przy uyciu nowego systemu. Oczywicie, jeeli masz wystarczajc
ilo miejsca na dysku, moesz zainstalowa wszystkie skadniki dystrybucji.

2.4.1. System X Window


System X Window jest graficznym interfejsem uytkownika przeznaczonym dla systemw Linux (omawiam go szczegowo w rozdziale 10., rodowisko graficzne
w Linuksie). Jeeli nie planujesz wykorzystania Linuksa jedynie jako serwera lub
tylko po to, by korzysta z funkcji wprowadzanych z wiersza polece, prawdopodobnie chcesz zainstalowa system X Window.
Do poowy 2004 roku XFree86 by wersj sytemu X Window o otwartym kodzie rdowym, doczan do wikszoci dystrybucji Linuksa. Z powodu zmian w licencjonowaniu, do czego fani wolnego oprogramowania nie s przyzwyczajeni, wiele dystrybucji wybrao implementacj dostarczan przez X.org Foundation. W zalenoci od
dystrybucji, a nawet wersji tej samej dystrybucji, dostarczony zostanie pakiet z jedn
z tych wersji X.
Prawdopodobnie bdzie dostpna jedna albo druga, ale na pewno nie obie, wic jeli
planujesz wykorzystywa komputer jako stacj robocz, zainstaluj wersj systemu
X Window doczon do dystrybucji.
Wicej informacji na temat systemu X Window znajdziesz w witrynach:
http://www.x.org,
http://www.xfree86.org.

2.4.2. rodowiska graficzne


Jeeli zamierzasz uruchamia Linuksa jako robocz stacj graficzn, wtedy poza zainstalowaniem systemu X Window bdziesz potrzebowa rodowiska graficznego. System
X Window zapewnia jedynie podstawowe funkcje obsugi okien oraz wywietlanie
na ekranie, natomiast rodowisko graficzne dostarcza interfejsu, z ktrego korzysta uytkownik, czyli ikon, menu i paskw narzdzi tworzcych na ekranie wirtualny pulpit.

54

Linux dla programistw i uytkownikw

Na gwnych graczy wyrosy dwa rodowiska wykorzystywane teraz take w systemach


UNIX: GNOME (ang. GNU Object Model Enviroment) oraz KDE (ang. K Desktop
Enviroment). Oba s dostarczane z wikszoci dystrybucji Linuksa, ale kada okrela domylne rodowisko (np. Fedora wybiera GNOME, a Mandriva KDE). Obydwa rodowiska graficzne posiadaj pasek menu zawierajcy liczne aplikacje, pasek
stanu, w ktrym wywietlane s aktualnie uruchomione procesy oraz inne informacje,
a take waciwe dla siebie aplikacje (takie jak menedery plikw i okien).
Jeeli nigdy nie korzystae z GNOME i KDE, prawdopodobnie bdziesz chcia zainstalowa oba (jeeli masz wystarczajc ilo miejsca), aby je wyprbowa. Toczy si
nieustajca debata o wyszoci jednego rodowiska nad drugim, a kade z nich ma
swoich zagorzaych zwolennikw. Na zewntrz obydwa zachowuj si jak typowe systemy graficzne. Rnice zauwaalne s raczej w filozofii wybranej przez projektantw i
dotycz problemw, ktre chcieli rozwiza. Mocno upraszczajc, mona powiedzie,
e GNOME jest prosty, ale elegancki, natomiast KDE jest zoony, ale elastyczny.
Wybr jest tak naprawd kwesti gustu.

2.4.2.1. GNOME
GNOME wyrs z kodu napisanego dla bibliotek obsugi obrazw GNU. Posiada pulpit
uytkownika, jak rwnie platform rozwojow dla aplikacji graficznych, ktre mog
by tworzone w rnych jzykach. Projektanci dziaajcy przy projekcie GNOME
woyli wiele wysiku w stworzenie wygodnego interfejsu i pooyli duy nacisk na
uyteczno. W tradycji UNIX-a oznacza to prostot, zapewnienie podstawowych
funkcji rodowiska graficznego, bez nadmiernego obciania uytkownika du liczb
opcji. GNOME jest oprogramowaniem otwartym. Rysunek 2.1 przedstawia przykadowy
pulpit GNOME.

2.4.2.2. KDE
Na KDE rwnie skada si pulpit oraz platforma programistyczna. Dostarcza on wicej
aplikacji przeznaczonych dla rodowiska KDE i prbuje zaspokoi wicej potrzeb
rnych uytkownikw. Podczas gdy daje to uytkownikom w szczeglnoci pocztkujcym wicej opcji i moliwoci, sprawia te, e pulpit wydaje si bardziej
zabaaganiony. Niektrym nie podoba si, e korzenie KDE sigaj licencjonowanego
oprogramowania, ale woono wiele wysiku, aby usun te fragmenty, i obecnie KDE
jest w caoci oprogramowaniem otwartym.
Jeeli chcesz zainstalowa tylko jedno z rodowisk, powiniene odwiedzi witryn obydwu projektw i dokadnie poczyta o ich moliwociach:
http://www.kde.org,
http://www.gnome.org.
Mog nawet pokusi si o stwierdzenie, e w obu witrynach czu atmosfer panujc w poszczeglnych rodowiskach, wic jeeli ktra witryna wyda Ci si bardziej
przyjazna i wygodna w uyciu, moe to by pewnego rodzaju wskazwk (rysunek 4.2).

Rozdzia 2. Instalowanie Linuksa

55

Rysunek 2.1. Pulpit GNOME w dystrybucji Aurox

2.4.3. Obsuga sieci


Jeeli instalujesz Linuksa na komputerze podczonym do sieci lokalnej, bdziesz musia dowiedzie si kilku rzeczy, aby przeprowadzi instalacj. Administrator sieci
powinien udostpni Ci wymagane informacje. W wikszoci programw instalacyjnych
naley w pewnym momencie wprowadzi te ustawienia. Jeeli instalujesz Slackware
w trakcie przeprowadzania instalacji, musisz uruchomi w tym celu narzdzie network.
Moesz te okreli wszystkie ustawienia zwizane z obsug sieci po zakoczeniu instalacji, ale upewnij si, e wybrae odpowiednio duo pakietw, by usugi sieciowe
i programy narzdziowe zostay zainstalowane, na wypadek gdyby ich potrzebowa.
Pierwsz rzecz, jakiej musisz si dowiedzie o Twojej sieci, jest to, czy dziaa w niej
serwer DHCP (ang. Dynamic Host Configuration Protocol). Jeeli w sieci wykorzystywany jest protok DHCP, komputer podczas adowania systemu uzyskuje informacje dotyczce sieci, wic nie musisz samemu przeprowadza konfiguracji (jednak musisz poprosi administratora sieci, aby doda do serwera DHCP informacje na temat
nowego komputera). Komputer wykorzystujcy DHCP podczas adowania systemu

56

Linux dla programistw i uytkownikw

Rysunek 2.2. Pulpit KDE w dystrybucji Aurox

rozgasza komunikat, ktry mona przetumaczy jako: Kim jestem?, i powinien uzyska w odpowiedzi swoj nazw, adres sieciowy i pozostae informacje potrzebne
do dziaania w sieci.
Jeeli w sieci nie jest wykorzystywany DHCP, wtedy administrator musi przydzieli
(lub pomc Ci wybra):
t nazw hosta dla Twojego komputera,
t adres IP,
t mask sieciow,
t domylny adres bramy,
t adres serwera nazw (DNS).

Zagadnienia te s dokadniej omwione w rozdziale 9., Sieci i internet.


Jeeli komputer jest podczony do sieci lokalnej, powiniene zainstalowa wszystkie
pakiety zawierajce usugi i narzdzia sieciowe. Jeeli zamierzasz pozwoli innym
komputerom uzyska dostp do systemu plikw Twojego komputera, zainstaluj take
NSF (ang. Network File System firmy Sun) oraz Samb.

Rozdzia 2. Instalowanie Linuksa

57

Powiniene te dowiedzie si, czy w sieci wykorzystywany jest protok IP (IPv4), czy
IPv6. Niektre dystrybucje s domylnie ustawione, aby korzystay z protokou IPv6
(najnowszej wersji protokou sieciowego Internet Protocol), jednak w niektrych rodowiskach moe to powodowa problemy z wydajnoci. Jeeli w sieci wci wykorzystywany jest IPv4 (a prawdopodobnie tak wanie jest), powiniene wyczy IPv6.

2.4.4. Narzdzia biurowe


Z wikszoci dystrybucji dostarczany jest bardzo dobry pakiet aplikacji biurowych
(jeeli nie, to moesz pobra najnowsz wersj, dostpn pod podanym niej adresem).
Sun Microsystems sponsoruje i uczestniczy w projekcie OpenOffice.org, ktry dostarcza zestaw narzdzi o moliwociach zblionych do pakietu Office firmy Microsoft.
Bazujce na StarOffice firmy Sun (ktry nie moe zosta wydany w wersji o otwartym
kodzie rdowym, poniewa jego cz objta jest prawami autorskimi) narzdzia
OpenOffice mog importowa i eksportowa dane w formacie aplikacji Microsoftu, wic
mona bez przeszkd wymienia informacje z uytkownikami tego oprogramowania.
OpenOffice.org zosta pobrany ju 16 milionw razy. W jego skad wchodz:
t Writer edytor tekstu do tworzenia raportw, dokumentw, biuletynw

i broszur.
t Calc arkusz kalkulacyjny.
t Impress program do tworzenia prezentacji z narzdziami umoliwiajcymi

rysowanie, animowanie oraz dodawanie efektw specjalnych.


t Draw narzdzie suce do rysowania, za pomoc ktrego utworzysz

wszystko od prostych diagramw po specjalistyczne obrazy trjwymiarowe.


t Base narzdzia baz danych, ktre obsuguj bazy danych dBase,

ODBC i JDBC.
Jeeli zamierzasz cokolwiek pisa lub tworzy prezentacje w systemie Linux, instalacja
tych narzdzi jest po prostu koniecznoci. Jeeli chcesz dowiedzie si wicej na temat
OpenOffice.org lub pobra najnowsz wersj, odwied witryn:
http://www.openoffice.org.

2.4.5. Narzdzia programistyczne


i jzyki programowania
Linux dostarczany jest z kompilatorami jzykw GNU C i C++, Perl i Python. Java
dostarczana jest z wieloma dystrybucjami, ale jeeli nie ma jej w Twojej, moesz pobra j z witryny Sun Java:
http://java.sun.com/linux/.

58

Linux dla programistw i uytkownikw

2.5. Zaprojektuj swj system


Teraz, gdy wybrae ju dystrybucj i narzdzia, ktre chcesz mie w systemie, powiniene pomyle nad ukadem systemu (systemw) plikw. Mona po prostu zainstalowa Linuksa z pyt CD, zaakceptowa wszystkie domylne ustawienia, wielko i lokalizacj komponentw, aby uzyska dziaajcy system. Ale naprawd warto powici
chwil i zastanowi si, czego oczekujemy od systemu, a nastpnie przygotowa odpowiedni plan.

2.5.1. W jaki sposb ma by uruchamiany Linux?


W idealnej sytuacji posiadasz nieuywany komputer, na ktrym moesz zainstalowa
Linuksa i z niego korzysta. Dziki temu nie ryzykujesz utraty adnych danych, gdyby popeni bd przy instalacji. W komisach komputerowych mona naby starsze
komputery za uamek ceny nowego zestawu. Jeeli posiadasz lub moesz pozwoli
sobie na kupno dodatkowego komputera, zalecabym prac na zupenie osobnym komputerze. Jednak nie zawsze jest to moliwe. Jeeli musisz wykorzysta komputer, na
ktrym jest ju zainstalowany system Microsoft Windows, masz kilka opcji.
Istniej wersje Live niektrych dystrybucji (np. Knoppix, Linspire, MEPIS i SuSE),
ktre mog by uruchamiane bezporednio z CD, bez koniecznoci przeprowadzania
instalacji.
Inna moliwo polega na uruchamianiu Linuksa w systemie Windows. Komercyjny
program, VMware (www.vmware.com), potrafi emulowa komputer PC, co pozwala na
zainstalowanie i uruchamianie Linuksa w tym rodowisku.
Najprawdopodobniej zdecydujesz si jednak na zainstalowanie Linuksa rwnolegle
z systemem Windows. Jeeli instalujesz rwnolegle Linuksa i inny system operacyjny, tworzysz system z podwjnym rozruchem (dual-boot), co umoliwia adowanie
dwch rnych systemw operacyjnych. Moesz take zainstalowa kilka rnych dystrybucji Linuksa (jeeli dysponujesz wystarczajc iloci miejsca na dysku) i utworzy komputer wielosystemowy (multiboot).
System z podwjnym rozruchem twrz jedynie wtedy, gdy masz moliwo ponownej instalacji starego systemu, jeli zajdzie taka potrzeba, i nie zapomnij najpierw
utworzy kopii zapasowej wszystkich danych! Jeeli popenisz bd podczas instalacji Linuksa, moesz usun wszystkie dane z dyskw, wczajc w to istniejcy
system operacyjny i przechowywane dane. Jeeli nie masz moliwoci ponownej instalacji i odzyskania dawnego systemu na czystym dysku, nie powiniene prbowa
tworzy systemu z podwjnym rozruchem!

Rozdzia 2. Instalowanie Linuksa

59

2.5.2. Partycjonowanie dysku


Jeeli zamierzasz zainstalowa Linuksa na dysku twardym, bdziesz musia na nim
utworzy jedn lub wicej partycji. Partycja jest wydzielonym obszarem dysku. Dysk
moe zawiera tylko jedn partycj (obejmujc cay dysk) lub moe by podzielony
na mniejsze jednostki.
Dzielenie dysku na partycje jest z pewnoci najtrudniejszym krokiem instalacji. Jeeli
chcesz zachowa istniejce ju w systemie dane (jak na przykad zainstalowan partycj
Windows), jest to take krok najbardziej niebezpieczny. Podczas tworzenia partycji linuksowych musisz uwaa, aby nie nadpisa adnych danych, ktre chcesz zachowa.
Kady dysk posiada tablic partycji, w ktrej przechowywane s informacje na temat
kadej partycji. Wikszo tablic partycji moe zawiera cztery wpisy.

2.5.2.1. Typy partycji


Wikszo dyskw zawiera dwa typy partycji: podstawowe i rozszerzone (logiczne).
Partycja podstawowa posiada wpis w tablicy partycji i wskazuje na ustalony obszar
dysku. Partycja rozszerzona rwnie posiada wpis w tablicy partycji, ale moe wskazywa do jednej lub kilku partycji logicznych. Jest to przydatne, gdy zapewnia obsug
wikszej liczby partycji ni 4 zapewnione przez tablic partycji.
Niezalenie od wybranego typu partycji Linux bdzie dziaa tak samo. Niektre narzdzia do partycjonowania dyskw nawet nie pokazuj rozrnienia midzy partycjami
podstawowymi a rozszerzonymi. Jeeli zajdzie taka potrzeba, po prostu tworz partycje rozszerzone.

2.5.2.2. Partycjonowanie dla Linuksa


System plikw Linuksa posiada hierarchiczn struktur katalogw rozpoczynajc si
od katalogu gwnego (/). Jest on rwnie nazywany katalogiem systemowym. Najprostszym sposobem podzielenia dysku na partycje dla Linuksa jest umieszczenie caego
systemu plikw na jednej partycji. Masz rwnie moliwo utworzenia dodatkowych
partycji dla rnych czci systemu.
Inn partycj niezbdn dla dziaania Linuksa jest partycja wymiany (swap). Jest ona
wykorzystywana przez podsystem pamici wirtualnej do przerzucania danych z i do pamici podczas dziaania systemu. Nie jest to system plikw, ale raczej surowy obszar
dysku, w ktrym jdro moe skroba. Ta partycja przewanie jest 1,5 do 2 razy
wiksza ni rozmiar pamici operacyjnej zainstalowanej w systemie. Jeli na przykad
w systemie zainstalowane jest 256 MB pamici, partycja powinna zajmowa przynajmniej 256 MB, ale wydajno zwikszy si, jeeli bdzie ona miaa rozmiar 384 MB
lub wikszy.
Jeeli posiadasz w systemie dwa czyste dyski, na kadym z nich moesz utworzy
partycj wymiany o rozmiarze rwnym poowie wymaganego. To dzieli proces wymiany danych pomidzy dwa urzdzenia i troch zwiksza wydajno. W takim przypadku

60

Linux dla programistw i uytkownikw

wielko kadej partycji powinna by wystarczajco dua, by by przydatna dla systemu, wic nie twrz mniejszych ni 64 MB, nawet jeeli razem bd tworzy partycj
wiksz, ni teoretycznie potrzebujesz.
Jeeli masz dwa dyski, ale wiesz, e jeden jest zdecydowanie szybszy, jeli to moliwe, utwrz na nim partycj wymiany.
Jeeli tworzysz system podwjnego rozruchu lub wielosystemowy z wiksz iloci
dystrybucji Linuksa, moesz utworzy jedn partycj wymiany i skonfigurowa wszystkie dystrybucje tak, aby korzystay z tej samej partycji. Na partycji wymiany nic nie
jest na stae zapisywane. Jest to po prostu obszar, z ktrego korzysta podsystem pamici
wirtualnej, gdy Linux jest uruchomiony. A poniewa zawsze bdzie uruchomiona tylko
jedna dystrybucja, wszystkie mog korzysta z tej samej partycji.

2.5.2.3. Partycjonowanie dla Linuksa i systemu Windows


Jeeli jeste zmuszony do zainstalowania Linuksa w systemie, w ktrym zainstalowany jest ju Windows, wtedy partycje linuksowe moesz utworzy jedynie w obszarach
niewykorzystywanych przez Windows. Wikszo systemw Windows jest zainstalowana z uyciem caej dostpnej przestrzeni dyskowej, wic tu pojawia si pierwszy
problem jak zwolni miejsce i udostpni je Linuksowi?
Jeeli masz szczcie, moe okaza si, e masz podczony (lub moesz podczy)
dodatkowy dysk. Jeeli dysponujesz nieuywanym dyskiem, z ktrego nie korzysta
Windows, tym samym masz miejsce na umieszczenie Linuksa i nie musisz nic zmienia na dysku zawierajcym Windows (mimo to musisz uwaa, aby podczas instalacji
Linuksa przypadkiem nie wyczyci dysku z zainstalowanym systemem Windows).
Wikszo komputerw osobistych wyposaona jest tylko w jeden dysk twardy w takim przypadku musisz utworzy partycj Linuksa na tym samym dysku. To, jak przekonamy si pniej, wie si z koniecznoci zmniejszenia istniejcej partycji Windows.

2.5.3. System plikw Linuksa


Partycja jest tylko obszarem na dysku, w ktrym mog by przechowywane dane.
Aby Linux mg odczytywa i zapisywa pliki i katalogi, partycja musi zawiera system plikw. System plikw jest infrastruktur danych, ktra wie w hierarchicznej
strukturze nazwy plikw i odpowiadajce im bloki danych, co umoliwia atwe uytkowanie komputera. Do zainstalowania Linuksa nie jest potrzebna jaka zaawansowana wiedza na temat systemu plikw i sposobw jego dziaania. Wikszo dystrybucji zawiera kilka systemw plikw, spord ktrych mona wybiera.

2.5.3.1. Typy systemw plikw


Istnieje wiele rnych systemw plikw, z ktrych kady ma swoje wady i zalety. Na
przykad system plikw z kronik, ktry zapisuje informacje dotyczce operacji na
plikach, zanim faktycznie je wykona, co znaczco zmniejsza prawdopodobiestwo
utraty danych.

Rozdzia 2. Instalowanie Linuksa

61

Wszystkie dystrybucje Linuksa obsuguj ponisze popularne systemy plikw:


t ext2 (drugi rozszerzony system plikw), standardowy system plikw Linuksa

(w niektrych programach instalacyjnych jest okrelany jako natywny),


t ext3 to wersja ext2 z dodan kronik. Jest szybszy i bardziej niezawodny.

Wiele dystrybucji oferuje take jeden lub wicej alternatywnych systemw plikw
z kronik:
t IBM JFS system plikw z kronik zaprojektowany przez IBM;
t ReiserFS bardzo wydajny system plikw z kronik zaprojektowany przez

Hansa Reisera;
t XFS system plikw z kronik utworzony przez SGI.

Moesz wybra dowolny system plikw dostpny podczas instalacji. Wikszo osb
wybiera ext2 lub ext3, chyba e wol bardziej specjalistyczny system plikw lub go
potrzebuj.

2.5.3.2. Organizacja systemu plikw


Drzewo katalogw Linuksa, zaczynajce si od katalogu gwnego (/), skada si z jednego lub wikszej liczby systemw plikw. Wan kwesti, ktr naley uwzgldni
podczas instalacji, jest sposb, w jaki podzieli system plikw Linuksa midzy dostpne
partycje. Moesz umieci wszystkie pliki w katalogu gwnym (/), utworzy drug
partycj jako partycj wymiany i system bdzie dziaa. Jest to rozwizanie wystarczajce dla wikszoci stacji roboczych. W zalenoci od tego, w jaki sposb chcesz korzysta z systemu, moesz chcie umieci niektre katalogi na osobnych partycjach.
Gdy umieszczasz katalog w przeznaczonej tylko dla niego partycji, jest on poczony z katalogiem gwnym w punkcie montowania katalogu w gwnym systemie plikw.
Pliki adujce przechowywane s w katalogu /boot. Jest on czasem umieszczany na
maej, osobnej partycji, aby mie pewno, e bdzie si znajdowa na pocztku dysku.
Jest to zwizane z tym, e dawniej urzdzenia adujce system mogy odczyta tylko
ograniczony obszar dysku. Dzi nie ma to wikszego znaczenia.
W systemie, z ktrego bdzie korzysta wiksza liczba uytkownikw (np. serwera),
katalogi domowe s czsto tworzone w standardowej lokalizacji, jak na przykad
/home. Jeeli katalog /home stanowi cz gwnego systemu plikw, uytkownicy
mog zapeni dysk systemowy. Jeeli utworzysz katalog /home jako osobny system
plikw i zamontujesz go w gwnym systemie, uytkownicy nie odczuj adnej rnicy, ale bd mogli zapeni jedynie przeznaczon dla nich partycj, a nie gwny system plikw. Jeeli uytkownicy zapeni /home, gwny system plikw wci bdzie
mia miejsce, wic system bdzie bez przeszkd kontynuowa prac. Uytkownicy nie
bd mogli tworzy nowych plikw, ale stanowi to mniejszy problem ni sytuacja,
w ktrej to system nie ma moliwoci tworzenia nowych plikw.

62

Linux dla programistw i uytkownikw

Katalogi systemowe, ktre s uywane do przechowywania znacznej iloci tymczasowych danych, take nadaj si do zastosowania dla nich osobnego systemu plikw.
Katalog /var jest uywany do przechowywania danych, takich jak pliki przesyane do
drukarki oraz otrzymywane i wysyane wiadomoci e-mail. Jeeli /var stanowi osobn
partycj, wtedy procesy te bd dziaay poprawnie, nawet jeeli inne partycje bd
zapenione. Katalog /tmp jest kolejnym miejscem, w ktrym przechowywane s pliki
tymczasowe. Moe on zosta w ten sposb oddzielony od reszty systemu, na wypadek
gdyby jaki program zapdzi si w liczbie tworzonych plikw.
Nawet katalogi systemowe, takie jak /usr i /opt, gdzie przechowywane s pliki systemowe i opcjonalne oprogramowanie, mog by umieszczane na osobnych partycjach.
Oczywicie rozmieszczenie systemu na osobnych partycjach wymaga wicej pracy, ale
w zalenoci od wykorzystania systemu rezultat moe by wart wysiku.

2.5.3.3. Wielko systemu plikw


Trudno powiedzie, ile miejsca na dysku bdziesz potrzebowa dla rnych systemw
plikw. Zasad jest, e partycja /boot (jeeli j tworzysz) powinna mie wielko przynajmniej 10 MB5. Przechowywane s tam jedynie pliki potrzebne do rozruchu (jdro
i inne pliki), wic nie wymaga ona zbyt wiele miejsca.
Minimalna ilo przestrzeni dyskowej, na ktrej w ogle moesz instalowa Linuksa,
to okoo 500 MB, a najmniejszy gwny system plikw bdzie mia wanie zbliony
rozmiar. Im wicej zainstalujesz dodatkowego oprogramowania, tym wikszej iloci
miejsca bdziesz potrzebowa (tabela 2.2 wczeniej w tym rozdziale).
Nawet jeeli dzielisz cay system plikw pomidzy rne partycje, nie powiniene
nigdy tworzy gwnego systemu plikw mniejszego ni 500 MB. Wielko pozostaych partycji, a w szczeglnoci katalogu zawierajcego katalogi domowe uytkownikw uzaleniona jest gwnie od dostpnej iloci miejsca na dysku.

2.5.3.4. Udostpnianie systemw plikw


Jeeli zamierzasz utworzy system z podwjnym rozruchem (np. z systemem Windows
lub inn dystrybucj Linuksa), musisz pamita o kilku kwestiach.
Partycje Windows mog by montowane i czytane w Linuksie. Niektre systemy plikw mog by montowane w trybie tylko do odczytu, natomiast niektre w trybie odczytu i zapisu. Zalecabym montowanie wszystkich systemw plikw Windows w trybie
tylko do odczytu, aby unikn przypadkowej modyfikacji danych.
Nie udostpniaj partycji /boot rnym dystrybucjom Linuksa. System ma pen swobod zapisu do tej partycji, wczajc w to pliki, ktre mog mie te same nazwy w rnych dystrybucjach, tak wic jedna dystrybucja moe nadpisa pliki (np. jdro) innej
dystrybucji.
5

Ze wzgldu na powszechne uycie ramdysku startowego, ktrego obraz jest przechowywany w /boot,
obecnie lepiej za minimum przyj co najmniej 20 MB przyp. tum.

Rozdzia 2. Instalowanie Linuksa

63

2.5.4. Programy rozruchowe (adujce)


Sowo rozruch weszo w skad terminologii komputerowej na zasadzie analogii z rozruchem samochodu lub innej maszyny. Sprzt wie, jak zaadowa may program
z okrelonej lokalizacji i jak go uruchomi. Z kolei ten program zna lokalizacj waciwego systemu operacyjnego i aduje go.
Gdy rozpoczyna si proces rozruchu, komputer aduje zawarto gwnego rekordu
startowego (ang. Master Boot Record MBR) znajdujcego si w pierwszym sektorze
pierwszego dysku6 i uruchamia ten program. W systemach pracujcych pod Windows
adowany jest system Windows i komputer jest gotowy do uytku. W Linuksie jest
podobnie. Program rozruchowy Linuksa aduje jdro i oto startuje Linux.
W wikszoci dystrybucji mona wybra program adujcy: oryginalny LILO (ang.
LInux LOader) lub nowszy GRUB (ang. GNU Grand Unified Boot Loader). Obydwa
wykonuj w zasadzie t sam prac: tworz kod rozruchowy pozwalajcy wybra jeden
lub wicej systemw, ktre maj zosta zaadowane. Oba mog zosta zainstalowane
zarwno w MBR w pierwszym sektorze pierwszego dysku, jak i na dyskietce.
Jeeli umiecisz kod rozruchu w MBR, nadpiszesz ca jego zawarto (np. kod rozruchowy Windows). GRUB i LILO zachowuj moliwo uruchomienia Windows
z poziomu swojego menu, ale optowabym za niezmienianiem zawartoci MBR, jeeli
zamierzasz oprcz Linuksa uruchamia te Windows.
Jeeli instalujesz program adujcy w MBR, wci musisz polega na kodzie rozruchowym Windows, ktry musi go znale i przekaza mu kontrol. Kod Windows
jest znany z tego, e nie lubi si z innymi, i z tego powodu nie polecam takiego
rozwizania.
Jeeli planujesz utworzenie systemu z podwjnym rozruchem dla Windowsa i Linuksa,
program rozruchowy moesz umieci na dyskietce (przewanie /dev/fd0). Dziki temu
nie bdziesz musia instalowa programu adujcego na dysku twardym i pozostawisz
bez zmian kod rozruchu Windows, znajdujcy si w MBR. Gdy bdziesz chcia uruchomi Linuksa, woysz do napdu dyskietk zawierajc program adujcy, natomiast
jeeli w napdzie nie bdzie dyskietki, zostanie uruchomiony system Windows. Jest to
najbezpieczniejszy sposb konfiguracji systemu z podwjnym rozruchem. Upewnij si,
e podczas instalacji okrelie /dev/fd0 jako miejsce przechowywania programu rozruchowego.
Jeeli instalujesz pojedyncz dystrybucj, wtedy prawdopodobnie nie bdziesz zmienia ustawie programu adujcego, pozostawisz te, ktre uruchamiaj Linuksa. Jeli
chcesz utworzy system wielosystemowy, bdziesz musia zmieni ustawienia programu rozruchowego po instalacji kadego kolejnego systemu.

Nowoczesne BIOS-y potrafi startowa z dyskw innych ni pierwszy dysk twardy, lecz moe to
spowodowa dokonanie zmian w konfiguracji standardowego procesu startowego Linuksa przyp. tum.

64

Linux dla programistw i uytkownikw

2.5.5. Dyskietka startowa


Podczas instalacji w wikszoci dystrybucji mona utworzy dyskietk startow (w zainstalowanym systemie moesz uy polecenia mkbootdisk). Ta dyskietka moe zosta
uyta do uruchomienia Linuksa w przypadku zaamania systemu lub wystpienia innej awarii, ktra uszkodzia sektor rozruchowy twardego dysku. Powiniene zawsze
tworzy dyskietk startow. Moesz jej nigdy nie uy i w zwizku z tym moe si
wydawa niepotrzebna, ale jej utworzenie zajmuje tylko kilka minut, a jej brak moe
si skoczy koniecznoci ponownej instalacji systemu. Dyskietka startowa stanowi
niejako polis ubezpieczeniow.
Aby jeszcze bardziej poleci tworzenie dyskietki startowej, teraz opowiem wasn histori. Podczas przygotowywania tej ksiki utworzyem system o podwjnym rozruchu
z Mandrake Linux i Windows XP. Wszystko wietnie dziaao. Do czasu. Ktrego dnia
po wczeniu komputera pojawi si komunikat: Lilo timestamp mismatch (niezgodno znacznika czasu Lilo) i na tym koniec adnego menu, adnego Windowsa ani
Linuksa. Nie mogem ponownie zainstalowa LILO, poniewa nie dao si uruchomi
Linuksa. Poniewa nie utworzyem dyskietki startowej (by to w kocu system testowy),
musiaem ponownie instalowa7 zarwno Windowsa, jak i Linuksa. Nie pozwl, aby zdarzyo si to w Twoim systemie!
Moesz te uywa dyskietki startowej zamiast dyskietki z zainstalowanym programem
adujcym. W tym przypadku dyskietka zawiera nieco inne informacje, ale rezultat
jest ten sam. Dyskietka startowa pozwala zmienia parametry i lokalizacj jdra w przypadku, gdy z powodu awarii nie jest moliwe normalne uruchomienie systemu. Jednak
domylnie adowane jest jdro znajdujce si na dysku twardym, czyli tak jak przy
uyciu programu rozruchowego.

2.6. Zdobd Linuksa


Gdy ju przygotowae sprzt i wybrae dystrybucj, ktrej chcesz uywa, wszystko,
co Ci pozostao, to jej zdobycie. Noniki (lub ich obrazy) z Linuksem mona pozyska na wiele sposobw. Jest to bogosawiestwem i przeklestwem. Bogosawiestwem, poniewa dla kadego komputera, niezalenie od ogranicze, znajdzie si jaka
sensowna metoda zdobycia Linuksa. Przeklestwem, poniewa istnieje tak wiele moliwoci, e trudno zdecydowa, ktra jest najlepsza.
Linux jako taki jest dostpny za darmo, poniewa jest rozpowszechniany na zasadach
GNU Public License. To samo dotyczy narzdzi GNU dostarczanych z jdrem, ktre
tworz waciw dystrybucj. Poniewa GPL pozwala na rozpowszechnianie ich bez
opat, moesz poyczy od znajomego pyty CD, skopiowa je lub za ich pomoc
przeprowadzi instalacj (w przypadku komercyjnego oprogramowania chronionego
prawami autorskimi jest to przewanie zabronione).
7

Naley pamita, e wikszo nonikw instalacyjnych z Linuksem pozwala na uruchomienie w trybie


odzyskiwania systemu, zanim przystpi si do bardziej drastycznych krokw przyp. tum.

Rozdzia 2. Instalowanie Linuksa

65

Nawet jeeli nie znasz nikogo, kto posiadaby ju kopi, wikszo dystrybucji jest
dostpna do pobrania za darmo lub jest rozpowszechniana na pytach CD za niewielk
opat. Podczas gdy nie ma opaty licencyjnej za oprogramowanie, firmy sprzedajce
dystrybucje Linuksa czsto dostarczaj te noniki, dokumentacj i wsparcie techniczne, wic kupujesz co wicej ni tylko darmowe oprogramowanie.

2.6.1. Dyski CD-ROM


Najprostsz metod na zainstalowanie Linuksa jest zdobycie go na jakim staym noniku, najczciej na kilku dyskach CD-ROM. Mona je atwo kupi, przenosi i przechowywa. Jeeli kiedy bdziesz musia ponownie zainstalowa Linuksa, po prostu
woysz CD i przystpisz do pracy. Wad dyskw jest fakt, e przewanie musisz je
kupi. Poniewa jednak Linux jest oprogramowaniem o otwartym kodzie rdowym,
cena CD zawiera przewanie tylko koszty produkcji, a nie drogie opaty licencyjne.
Tabela 2.3. Ceny wybranych dystrybucji Linuksa
Fedora Core 5 (1 pyta DVD)

32,94 z

Mandriva Linux PowerPack 2006 (2 pyty DVD, dokumentacja w wersji ksikowej


i elektronicznej, 2 miesice wsparcia technicznego)

199 z

SuSE 10.0 (dodatkowo 300 stron dokumentacji i 90 dni wsparcia technicznego)

239 z

Aurox 11.0 (1 pyta DVD)

35 z

Debian 3.1 (14 pyt CD)

35 z

Slackware 10.2 (4 pyty CD)

20 z

Rnice w cenie najczciej wynikaj z iloci pyt, na ktrych zamieszczona jest dystrybucja, iloci doczonych pakietw i zaczonej dokumentacji (np. przewodnika instalacji).
Linuksa mona kupi w wielu miejscach. Jeeli dobrze poszukasz w internecie, znajdziesz wiele sklepw, w ktrych moesz kupi dystrybucj. Uwaam, e ponisze s
godne polecenia:
http://asseq.pl,
http://sklep.linux.pl.

2.6.2. Pobieranie
Jeeli instalujesz Linuksa w miejscu, gdzie s ju komputery pracujce pod jego kontrol (np. w rednim lub duym przedsibiorstwie czy na uniwersytecie), prawdopodobnie w sieci lokalnej znajduj si obrazy pyt instalacyjnych. Moesz je skopiowa
z innego komputera za pomoc dowolnego z duej liczby narzdzi sieciowych, jeeli
tylko w docelowym komputerze zainstalowana jest karta sieciowa. Porozmawiaj z administratorem systemu lub z kim, kto ma wiedz na ten temat, poniewa szczegy
dotyczce krokw, ktre naley podj, rni si w zalenoci od miejsca przechowywania danych i rodzaju uywanego interfejsu sieciowego.

66

Linux dla programistw i uytkownikw

Jeeli dysponujesz poczeniem z internetem, moesz pobra obrazy instalacji z witryny


www.linux.org lub dowolnej organizacji, ktra rozpowszechnia wasn dystrybucj.
Pobranie obrazu instalacji wie si ze skopiowaniem standardowego obrazu ISO dyskw instalacyjnych i zapisaniem ich na CD lub dysku twardym. To jest rozwizanie
dla osb, ktre dysponuj naprawd szybkim czem, a nawet wtedy pobieranie zajmuje duo czasu. W pewnym momencie czas, ktry naley przeznaczy (nie wspominajc o cenie pustego dysku CD), przekracza stosunkowo nisk cen kopii dostpnej
u sprzedawcy. Jeeli nie znasz nikogo, kto miaby dowiadczenie w tego typu dziaalnoci, polecabym zakup dystrybucji.

2.7. Instalacja Linuksa


Jak wspominaem na pocztku tego rozdziau, moesz wybra dowoln dystrybucj
i z tego powodu, nie mog napisa dokadnego przewodnika instalacji przeznaczonego
dla dystrybucji, na ktr si zdecydowae. Mimo e programy instalacyjne poszczeglnych dystrybucji mog si rni, czynnoci, ktre wykonuj, aby zainstalowa
Linuksa i narzdzia GNU, s w zasadzie takie same.

2.7.1. Zdobd dokumentacj swojej dystrybucji


Pierwsz rzecz, jak powiniene zrobi, jest zdobycie przewodnika instalacji przeznaczonego dla Twojej dystrybucji. Na wikszoci dyskw CD znajduj si pliki tekstowe lub HTML (przeznaczone do przegldania w przegldarce internetowej). Ich nazwy
i lokalizacje mog si rni, ale szukaj katalogw zawierajcych pliki o nazwach podobnych do podanych poniej8:
t doc lub docu katalog zawierajcy pliki dokumentacji;
t README dokument, ktry powiniene przeczyta na samym pocztku;
t HOWTO czsto zawiera list krokw, jakie musisz podj podczas instalacji;
t release_notes uwagi o wydaniu danej dystrybucji, czasem zawieraj

informacje dotyczce instalacji;


t HTML lub htm te pliki przewanie s jakiego rodzaju dokumentacj;
t FAQ (ang. Frequently Asked Questions) czsto zadawane pytania;
t install uwagi na temat instalacji lub nazwa katalogu, ktry je zawiera.

Dokumentacja Debiana znajduje si na przykad na dysku CD w katalogu install/doc,


a Slackware dostarcza dobry podrcznik instalacji na pierwszym CD-ROM-ie zawierajcym kody rdowe, jak rwnie w pliku tekstowym Slackware-HOWTO na startowym
8

Dokumentacja zawarta na nonikach instalacyjnych jest czsto dostpna w rnych jzykach.


Pliki z dokumentacj przetumaczon na jzyk polski z reguy maj dodane na kocu _pl lub -pl
przyp. tum.

Rozdzia 2. Instalowanie Linuksa

67

dysku CD, natomiast podrcznik instalacji Mandrivy umieszczony jest w pliku installation.htm. Moesz take znale uwagi o instalacji w witrynach internetowych poszczeglnych sponsorw dystrybucji.

2.7.2. Uruchomienie
Najprostszym sposobem, aby rozpocz, jest zaadowanie Linuksa z pyty CD. Jeeli
Twj komputer nie jest zbyt stary, powinien obsugiwa t funkcj. Jeeli nie obsuguje,
powiniene mc zmieni ustawienia rozruchu w programie konfiguracyjnym BIOS,
tak aby jako pierwszy przeszukiwany by napd dyskw CD. Linux rozpoznaje wikszo nowych napdw CD. Jeeli nie moesz dokona rozruchu z pyty CD, bdziesz
potrzebowa dyskietki startowej.

2.7.3. Partycjonowanie dyskw


Jak widzielimy wczeniej, jest to krok niebezpieczny, mogcy usun wszystkie dane
znajdujce si na komputerze. Jeeli jeszcze nie jeste przekonany, wiedz, e nie mog
wystarczajco mocno podkreli tego, jak bardzo istotne jest utworzenie kopii zapasowej przechowywanych danych, zanim przystpisz do instalacji. To byo ostatnie
ostrzeenie.
Gdy korzystasz z programu tworzcego partycje, niezalenie od tego, czy posiada on
interfejs graficzny, czy jest to fdisk lub cfdisk, bdziesz korzysta z partycji za pomoc
ich nazw urzdzenia. S to nazwy specjalnych plikw znajdujcych si w katalogu /dev, ktre okrelaj kade urzdzenie. Szczegowe omwienie tych plikw znajdziesz w rozdziale 13., Wewntrz Linuksa. Nazwy, z ktrymi prawdopodobnie si
spotkasz, to:
t /dev/fd0 pierwszy napd dyskietek,
t /dev/fd1 drugi napd dyskietek,
t /dev/hda pierwszy dysk twardy IDE,
t /dev/hdb drugi dysk IDE,
t /dev/sda pierwszy dysk SCSI,
t /dev/sdb drugi dysk SCSI.

Zauwa, e podczas gdy w wikszoci systemw znajdziesz /dev/fd0 (napd dyskietek), to z pozostaych nazw moesz zobaczy tylko kilka lub adnej, poniewa zaley
to od dyskw zainstalowanych w systemie. Zwr te uwag, e cze z pliku /dev/fd0
do waciwego napdu dyskietek jest tworzone podczas instalacji. Jeeli przeprowadzasz instalacj na laptopie wyposaonym w wymienny napd dyskietek i nie jest on
podczony podczas instalacji, cze nie zostanie poprawnie utworzone. Jeeli podczysz napd dyskietek pniej i Linux nie bdzie mg uzyska dostpu do niego
przez /dev/fd0, wyprbuj inne nazwy urzdze zwizane z IDE (np. u mnie zadziaao

68

Linux dla programistw i uytkownikw

/dev/hdc). Jeeli napd CD-ROM jest urzdzeniem IDE, dostp do niego rwnie powinien odbywa si przez ktre z urzdze hd. Jedno z narzdzi sucych do przegldania lub zarzdzania sprztem (np. Hardware Browser (hwbrowser) w Fedora lub
Harddrake w Mandriva) moe pomc w zidentyfikowaniu dyskw.
Kada z partycji dysku twardego rwnie bdzie miaa swoj nazw urzdzenia. Na
przykad pierwsza partycja dysku /dev/hda bdzie nazywa si /dev/hda1, druga partycja /dev/hda2 itd.
Podczas tworzenia partycji i przypisywania im poszczeglnych skadnikw systemu
plikw Linuksa pamitaj, aby zanotowa sobie, ktra partycja zawiera ktry skadnik.
Jeeli tworzysz wiksz liczb partycji, moesz atwo si pogubi, a jeeli nie zrobie
notatek, pniej sobie nie przypomnisz!
Pamitaj te, e niektre narzdzia do partycjonowania dysku nie pokazuj rnicy
midzy partycj gwn a partycjami rozszerzonymi, po prostu nastpuje przeskok
z /dev/hda2 do /dev/hda5 (poniewa /dev/hda4 zostaa utworzona jako partycja rozszerzona). Narzdzie Disk Drake w Mandrivie, jeeli zajdzie taka potrzeba, tworzy
rozszerzone partycje, nie wymagajc wprowadzania adnych ustawie, natomiast Disk
Druid dostarczany z Fedor pozwala wymusi, aby partycja bya partycj gwn,
ale jeeli tego nie okrelisz, sam dokona wyboru.
Wszystkie dystrybucje zawieraj narzdzia fdisk i cfdisk suce do tworzenia partycji. Wikszo twrcw dystrybucji utworzya wasne narzdzia i nie korzysta ju
z tych programw. Niektre, bardziej tradycyjne systemy (np. Debian i Slackware) wci
polegaj na cfdisk (chocia aktualnie rozwijane jest nowe narzdzie instalacyjne dla
Debiana). Narzdzie fdisk jest obsugiwane z wiersza polece, natomiast cfdisk jest
narzdziem penoekranowym, w ktrym dostpne s informacje pomocy.
Niezalenie od tego, ktrego narzdzia uyjesz, oglny schemat postpowania polega
na zdefiniowaniu partycji i ustaleniu miejsca jej montowania (lub ustawienia jej jako
partycji wymiany), a nastpnie zapisaniu tablicy partycji na dysku. Dopki tablica partycji nie bdzie zapisana, adne zmiany na dysku nie zostan dokonane. Gdy ju uaktualnisz tablic partycji, dane znajdujce si na partycjach, ktre nie s duej zdefiniowane, s ju stracone (fizycznie znajduj si one jeszcze na dysku, ale nie ma sposobu9,
aby uzyska do nich dostp), poniewa ustalona jest ju nowa tablica partycji.
Czci partycjonowania jest take formatowanie. Nie jest to konieczne, gdy partycja
nie bya zmieniana i zostaa sformatowana wczeniej. Jednak gdy pozwolisz systemowi
na ponowne sformatowanie wszystkiego, bdziesz mia pewno wyniku. Jeeli nie masz
pewnoci, czy dysk jest w dobrym stanie, zalecabym te przeprowadzenie podczas
formatowania wyszukiwania uszkodzonych blokw (zajmie to wicej czasu, ale zaoszczdzi wielu kopotw, jeeli okae si pniej, e niektre bloki s uszkodzone).

Istniej narzdzia zgadujce poprzedni tablic partycji, naley jednak unika sytuacji,
gdy s potrzebne przyp. tum.

Rozdzia 2. Instalowanie Linuksa

69

2.7.4. Zmiana rozmiaru partycji Windows


Jeeli zamierzasz utworzy system z podwjnym rozruchem dla Linuksa i Windowsa,
by moe bdziesz musia zmniejszy partycj Windows, aby uzyska wystarczajc
ilo miejsca na instalacj Linuksa. Pierwsze, co musisz zrobi, to zaadowa Windowsa
i uruchomi program SCANDISK lub CHKDSK, aby upewni si, e system plikw
Windows nie zawiera bdw. Nastpnie powiniene uruchomi DEFRAG, aby przeprowadzi defragmentacj dysku i przenie dane na jego pocztek. W raporcie programu DEFRAG zobacz, ktre bloki s wykorzystywane przez Windows jako ostatnie.
Okreli to, jak bardzo moesz zmniejszy partycj Windows, ale powiniene zostawi
dodatkowe 20 25% wolnego miejsca na nowe pliki Windowsa.
Gdy ju okrelisz nowy rozmiar partycji Windows, musisz j zmniejszy, aby utworzy partycje Linuksa w zwolnionym miejscu. Stary program, FIPS, moe zmniejszy
system plikw FAT i FAT32, ktre s najczciej wykorzystywane w systemach Windows 95, 98 i ME. Jeeli Windows korzysta z ktrego z tych systemw, moesz znale program FIPS w swojej dystrybucji Linuksa (np. Mandriva i TurboLinux dostarczaj go w katalogu dosutils, a Debian w katalogu tools).
Windows XP nie posiada narzdzia, za pomoc ktrego mona zmniejszy wykorzystywany przez niego system plikw NTFS (dostarczone narzdzia pozwalaj jedynie na
powikszenie systemu plikw). Jedynym rozwizaniem jest zakupienie jednej z komercyjnych aplikacji sucych do partycjonowania dyskw. Jedn z nich jest, cieszcy si
dobr opini, PartitionMagic firmy Symantec.
Niektre dystrybucje Linuksa (np. Mandriva i SuSE) zawieraj bardzo dobre narzdzia do dzielenia dysku na partycje, ktre potrafi take zmniejsza partycje NTFS.
Niezalenie od sposobu, w jaki bdziesz zmniejsza istniejc partycj Windows, BD
BARDZO OSTRONY i wykonuj tylko te kroki, ktre cakowicie rozumiesz. Jeeli nie
jeste czego pewien, zapytaj kogo z wikszym dowiadczeniem. Nadpisanie partycji
jest nieodwoalne.

2.7.5. Konfigurowanie systemu


Po utworzeniu partycji rozpocznie si instalacja. Jest to cz majca najwicej wsplnych cech we wszystkich dystrybucjach. Przy niewspomaganej instalacji, jak w Slackware
po uruchomieniu cfdisk, naley uruchomi narzdzie setup.
W czci procesu instalacji zwizanej z konfiguracj systemu wybierasz ustawienia
dotyczce:
t jzyka,
t klawiatury, myszki i monitora,
t czasu i strefy czasowej,
t poziomu bezpieczestwa,
t drukarki,

70

Linux dla programistw i uytkownikw


t sieci,
t dodatkowych pakietw/komponentw,
t hasa uytkownika root,
t ustawie nowego konta uytkownika lub uytkownikw.

Linux wykorzystuje Uniwersalny Czas Koordynowany (ang. Coordinated Universal


Time UTC), ktry (dla naszych potrzeb) jest rwnowany z Czasem Uniwersalnym
(ang. Greenwitch Mean Time GMT). Gdy w jakim programie wywietlany jest
czas, wykorzystuje on odwoanie do informacji dotyczcej strefy czasowej i wywietla
czas uwzgldniajcy ewentualn poprawk. Dziki temu uytkownikom pracujcym
w rnych strefach czasowych wywietlany jest waciwy czas lokalny, jednak wewntrzna reprezentacja jest wci w UTC/GMT.
Moe to stanowi problem, gdy tworzysz podwjny rozruch z Windowsem, poniewa
Windows korzysta wewntrznie z czasu lokalnego. Podczas konfiguracji zostaniesz zapytany, czy korzysta10 z czasu lokalnego, czy UTC, wic moesz wybra czas lokalny.
Niektre dystrybucje pozwalaj te wybra poziom bezpieczestwa, automatycznie zainstaluj i skonfiguruj funkcje systemu zwizane z bezpieczestwem, jak np. firewall.

2.7.6. Program rozruchowy


Podczas instalacji moesz wybra, czy ma by zainstalowany program rozruchowy.
Standardowym programem jest LILO, ale niektre dystrybucje instaluj domylnie
GRUB (np. Fedora i SuSE).
Program startowy LILO zawiera narzdzie lilo, uruchamiane z linii polece, ktre zapisuje kod rozruchowy do urzdzenia rozruchowego okrelonego w pliku /etc/lilo.conf.
Ten plik zawiera wszystkie informacje na temat rnych systemw operacyjnych oraz
parametry rozruchu. Po wprowadzaniu zmian do pliku konfiguracyjnego uruchom lilo,
aby zainstalowa nowy program startowy.
GRUB dostarcza wicej moliwoci, ale to wie si z ustawieniem wikszej liczby
opcji oraz bardziej zoonym interfejsem. GRUB zawiera powok polece, wywoywan poleceniem grub, ktra umoliwia zmian informacji o rozruchu i wprowadzenie
ich do programu startowego.
Windows umieszcza kod rozruchowy uruchamiajcy Windows w MBR. Podczas instalacji Linuksa moesz nadpisa ten kod kodem LILO lub GRUB, aby uruchamia
Linuksa. Programy te przewanie zachowuj informacje rozruchowe Windowsa i tworz program rozruchowy wywietlajcy go jako jeden z systemw, ktre mona uruchomi. Jednak bezpieczniej jest zapisywa program rozruchowy do MBR tylko wtedy,
10

Chodzi o format czasu ustawiony w zegarze czasu rzeczywistego komputera. Wewntrznie Linux
nadal bdzie korzysta z UTC po naniesieniu odpowiedniej korekty na czas odczytany z zegara
czasu rzeczywistego przyp. tum.

Rozdzia 2. Instalowanie Linuksa

71

gdy nie planujesz ju uruchamia systemu Windows (czyli jeeli instalujesz Linuksa
w miejsce Windows), poniewa po nadpisaniu MBR oryginalny kod rozruchowy Windows przepadnie. Moesz go przywrci przy uyciu Konsoli Odzyskiwania systemu
Windows w Windows XP (lub fdisk, we wczeniejszych wersjach), ale jeeli bdziesz
mia kopoty z ponownym uruchomieniem Windowsa, nie pomoe Ci to. Mimo e programy rozruchowe mog zosta zainstalowane w taki sposb, aby mona byo uruchamia system Windows, zalecabym umieszczenie programu startowego na dyskietce
i pozostawienie bez zmian jego kodu rozruchowego. Jeeli zdecydujesz si nadpisa
MBR, upewnij si, e Windows pojawia si na licie systemw, ktre mona uruchomi, zanim zainstalujesz program rozruchowy na dysku.

Podsumowanie
Lista kontrolna
W tym rozdziale omwiem:
t sprzt potrzebny do uruchomienia Linuksa,
t dostpne dystrybucje Linuksa,
t pakiety Linuksa,
t partycjonowanie dysku i organizacj systemu plikw Linuksa,
t programy i dyskietki rozruchowe,
t sposoby zdobycia wasnej dystrybucji Linuksa.

Quiz
1. Jaka jest minimalna ilo pamici i miejsca na dysku wymagana do komfortowej

pracy Linuksa?
2. Ile partycji podstawowych moe zosta utworzonych na dysku?
3. Jaka jest minimalna liczba partycji konieczna do uruchomienia Linuksa?
4. Czym jest system z podwjnym rozruchem?
5. Jaka jest rnica midzy systemami plikw ext2 i ext3?
6. Opisz funkcje programu rozruchowego.

72

Linux dla programistw i uytkownikw

wiczenia
1. Wyszukaj trzy dystrybucje Linuksa, nieomwione w tym rozdziale, i zastanw

si, dlaczego kto mgby je wybra zamiast bardziej popularnych dystrybucji


[poziom trudnoci: rednie].

Projekty
1. Zdobd dystrybucj Linuksa i j zainstaluj (chyba si tego spodziewae)

[poziom trudnoci: atwe].

You might also like