Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00095 009193 10485309 na godz. na dobę w sumie
Jak działa Linux - książka
Jak działa Linux - książka
Autor: Liczba stron: 392
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-753-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> systemy operacyjne >> linux
Porównaj ceny (książka, ebook, audiobook).
Lista nazwisk autorów wydrukowanych na okładce książki jest błędna. Autorem książki, pierwotnie wydanej w wydawnictwie 'No Starch Press', jest Brian Ward. Za pomyłkę przepraszamy naszych klientów, wydawnictwo No Starch Press i Pana Briana Warda.

Jeśli chcesz poznać Linuksa 'od środka' -- sięgnij po tę książkę

Jeśli korzystasz z Linuksa, to na pewno nie trzeba opisywać Ci jego zalet. Bez wątpienia doceniasz jego stabilność i szybkość działania. Dzięki stale zwiększającej się liczbie aplikacji, komputer z zainstalowanym Linuksem można wykorzystać do pełnienia wielu funkcji - od domowej stacji roboczej, aż do serwera sieciowego. Aby jednak w pełni wykorzystać jego możliwości, musisz poznać jego wewnętrzne mechanizmy rządzące uruchamianiem systemu oraz obsługą sieci i urządzeń peryferyjnych, a także zasady administrowania jego zasobami.

Książka 'Jak działa Linux' zawiera wszystkie informacje dotyczące wnętrza systemu Linux oraz zasad korzystania z niego. Przedstawia zarówno zagadnienia podstawowe -- przebieg procesu uruchamiania systemu i mechanizmy obsługi sieci, jak i tematy zaawansowane, związane z administracją systemem, jego współpracą z urządzeniami zewnętrznymi oraz programowaniem.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI Jak dzia³a Linux KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG Autor: Brian Ward T³umaczenie: Wojciech Moch ISBN: 83-7361-753-1 Tytu³ orygina³u: How Linux Works Format: B5, stron: 392 TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Jeġli chcesz poznaæ Linuksa „od ġrodka” — siêgnij po tê ksi¹¿kê Ksi¹¿ka „Jak dzia³a Linux” zawiera wszystkie informacje dotycz¹ce wnêtrza systemu Linux oraz zasad korzystania z niego. Przedstawia zarówno zagadnienia podstawowe — przebieg procesu uruchamiania systemu i mechanizmy obs³ugi sieci, jak i tematy zaawansowane, zwi¹zane z administracj¹ systemem, jego wspó³prac¹ z urz¹dzeniami zewnêtrznymi oraz programowaniem. • Podstawy korzystania z Linuksa — polecenia, struktura plików i katalogów oraz dyski logiczne • Przebieg procesu uruchamiania Linuksa • Konfigurowanie i uruchamianie sieci i us³ug sieciowych • Pisanie w³asnych programów w jêzyku pow³oki oraz w C++ • Kompilowanie programów • Konserwacja j¹dra systemu • Obs³uga urz¹dzeñ peryferyjnych • Tworzenie kopii bezpieczeñstwa Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Spis treści Przedmowa....................................................................................... 11 Rozdział 1. Podstawy ......................................................................................... 13 1.1. Słowo o /bin/sh ...................................................i...................................................i 14 1.2. Korzystanie z powłoki ...................................................i........................................ 14 1.3. Polecenia podstawowe ...................................................i........................................ 16 ls...................................................i...................................................i......... 16 1.3.1. 1.3.2. cp...................................................i...................................................i........ 16 1.3.3. mv...................................................i...................................................i....... 16 touch...................................................i...................................................i... 17 1.3.4. rm ...................................................i...................................................i....... 17 1.3.5. 1.3.6. echo ...................................................i...................................................i.... 17 1.4. Polecenia działające na katalogach ...................................................i........................ 17 1.4.1. cd...................................................i...................................................i........ 18 1.4.2. mkdir ...................................................i...................................................i.. 18 1.4.3. rmdir...................................................i...................................................i... 18 1.4.4. Nazwy wieloznaczne...................................................i............................. 18 1.5. Polecenia pośredniczące...................................................i...................................... 19 1.5.1. grep...................................................i...................................................i..... 19 1.5.2. more i less ...................................................i............................................. 20 pwd...................................................i...................................................i..... 21 1.5.3. diff...................................................i...................................................i...... 21 1.5.4. 1.5.5. file ...................................................i...................................................i...... 21 find ...................................................i...................................................i..... 21 1.5.6. head i tail...................................................i............................................... 22 1.5.7. 1.5.8. sort...................................................i...................................................i...... 22 1.6. Zmienianie hasła i powłoki ...................................................i................................. 22 chsh ...................................................i...................................................i.... 22 1.7. Pliki z kropką ...................................................i...................................................i... 22 1.8. Zmienne środowiskowe i powłoki ...................................................i...................... 23 1.9. Ścieżka poleceń...................................................i...................................................i 24 1.10. Znaki specjalne ...................................................i...................................................i 24 1.11. Edycja wiersza poleceń...................................................i....................................... 25 1.12. Edytory tekstu ...................................................i...................................................i.. 26 1.13. Uzyskiwanie pomocy...................................................i.......................................... 27 1.6.1. 4 Jak działa Linux 1.14. Wejście i wyjście powłoki ...................................................i.................................. 28 1.14.1. Standardowy strumień błędów ...................................................i.............. 29 1.14.2. Przekierowywanie standardowego wejścia .............................................. 30 1.15. Prawidłowe odczytywanie komunikatów o błędach .............................................. 30 1.15.1. Typowe błędy...................................................i........................................ 31 1.16. Procesy...................................................i...................................................i.............32 1.16.1. Przerywanie działania procesów ...................................................i........... 33 1.16.2. Kontrola zadań ...................................................i...................................... 34 1.16.3. Procesy działające w tle...................................................i......................... 34 1.17. Tryby plików i uprawnienia ...................................................i................................ 35 1.17.1. Modyfikowanie uprawnień...................................................i.................... 36 1.17.2. Dowiązania symboliczne...................................................i....................... 38 1.18. Archiwizowanie i kompresowanie plików ...................................................i.......... 39 1.18.1. Archiwa skompresowane (.tar.gz) ...................................................i......... 41 1.18.2. Inne narzędzia kompresujące...................................................i................. 42 Rozdział 2. Urządzenia, dyski, systemy plików i jądro systemu............................ 43 2.1. Hierarchia katalogów ...................................................i.......................................... 43 2.1.1. Najważniejsze katalogi...................................................i.......................... 44 2.1.2. Pozostałe katalogi główne ...................................................i..................... 45 2.1.3. Katalog /usr ...................................................i........................................... 45 2.2. Jądro systemu...................................................i...................................................i... 46 2.3. Urządzenia ...................................................i...................................................i....... 47 Polecenie dd i urządzenia ...................................................i...................... 48 2.3.1. 2.3.2. Podsumowanie nazewnictwa urządzeń...................................................i.. 49 2.3.3. Tworzenie plików urządzeń ...................................................i.................. 52 Partycjonowanie urządzeń dyskowych...................................................i.. 53 2.3.4. 2.4. Systemy plików...................................................i...................................................i 56 2.4.1. Typy systemów plików...................................................i.......................... 56 2.4.2. Tworzenie systemu plików...................................................i.................... 57 2.4.3. Montowanie systemu plików...................................................i................. 57 2.4.4. Buforowanie systemów plików ...................................................i............. 59 2.4.5. Opcje montowania systemów plików...................................................i.... 59 2.4.6. Tabela systemów plików /etc/fstab...................................................i........ 61 Pojemność systemu plików ...................................................i................... 63 2.4.7. 2.4.8. Sprawdzanie i naprawianie systemów plików .......................................... 64 Systemy plików o specjalnym znaczeniu ................................................. 67 2.4.9. 2.5. Przestrzeń wymiany i pamięć wirtualna...................................................i.............. 67 2.5.1. Wykorzystywanie partycji jako przestrzeni wymiany .............................. 68 2.5.2. Wykorzystywanie pliku jako przestrzeni wymiany .................................. 68 Jak wielkiej przestrzeni wymiany potrzebuję? ......................................... 69 2.5.3. Rozdział 3. Jak uruchamia się Linux? .................................................................. 71 3.1. Program init ...................................................i...................................................i..... 72 3.1.1. Poziomy uruchomienia (runlevels)...................................................i........ 72 3.1.2. Jak uruchamiane są procesy na różnych poziomach uruchomienia? ........ 74 3.1.3. Dodawanie i usuwanie usług ...................................................i................. 75 3.1.4. Kontrolowanie programu init ...................................................i................ 76 3.1.5. Wyłączanie systemu ...................................................i.............................. 77 3.2. Programy rozruchowe ...................................................i......................................... 78 3.2.1. LILO...................................................i...................................................i... 79 3.2.2. GRUB...................................................i...................................................i. 79 3.2.3. Inne programy rozruchowe...................................................i.................... 81 3.2.4. Tryb pojedynczego użytkownika i uruchomienie awaryjne ..................... 81 3.3. Konsole wirtualne ...................................................i............................................... 82 Spis treści 5 Rozdział 4. Kluczowe pliki systemowe, serwery i narzędzia ................................. 83 4.1. Dzienniki systemowe ...................................................i.......................................... 84 4.2. Pierwsze spojrzenie na katalog /etc...................................................i..................... 85 4.3. Pliki zarządzania użytkownikami...................................................i........................ 86 4.3.1. Manipulowanie użytkownikami i hasłami................................................ 88 4.3.2. Praca z grupami...................................................i..................................... 88 4.4. Programy getty i login...................................................i......................................... 89 4.5. Ustawianie czasu...................................................i................................................. 90 4.5.1. Strefy czasowe...................................................i....................................... 91 4.5.2. Czas sieciowy...................................................i........................................ 91 4.6. Planowanie powtarzalnych zadań w programie cron ............................................. 92 Instalowanie plików crontab...................................................i.................. 93 Systemowe pliki crontab ...................................................i....................... 93 4.7. Planowanie jednorazowych zadań w programie at................................................. 94 4.8. Śledzenie procesów...................................................i............................................. 94 4.8.1. Wyszukiwanie otwartych plików programem lsof ................................... 95 Śledzenie działania programu poleceniami strace i ltrace ........................ 97 4.8.2. 4.9. Nadawanie procesom priorytetów...................................................i....................... 99 4.10. Monitorowanie wydajności systemu ...................................................i................. 100 4.11. Uruchamianie poleceń przez superużytkownika .................................................. 102 4.11.1. Rzeczywisty UID i efektywny UID...................................................i..... 104 4.6.1. 4.6.2. Rozdział 5. Konfigurowanie sieci....................................................................... 105 5.1. Warstwy sieciowe ...................................................i............................................. 105 5.2. Warstwa internetowa...................................................i......................................... 106 5.2.1. Więcej o podsieciach...................................................i........................... 107 5.3. Proste narzędzia protokołu ICMP ...................................................i..................... 108 5.4. Konfigurowanie interfejsów i warstwy komputer-sieć......................................... 109 5.5. Konfigurowanie bramy domyślnej...................................................i.................... 111 5.6. Rozwiązywanie nazw komputerów...................................................i................... 112 5.7. Korzystanie z klientów DHCP ...................................................i.......................... 114 5.8. Połączenia PPP ...................................................i................................................. 115 5.8.1. Testowanie portu szeregowego i modemu.............................................. 116 5.8.2. Uruchamianie demona pppd z plikami opcji .......................................... 117 5.8.3. Skrypty chat ...................................................i........................................ 119 Protokoły PAP i CHAP ...................................................i....................... 120 5.8.4. 5.8.5. Pliki opcji ...................................................i............................................ 121 5.8.6. Uprawnienia katalogu PPP...................................................i.................. 123 5.9. Połączenia szerokopasmowe ...................................................i............................. 123 5.9.1. Routery...................................................i................................................ 124 PPP over Ethernet (PPPoE)...................................................i................. 125 5.9.2. 5.10. Sieci Ethernet...................................................i...................................................i. 126 5.10.1. Ethernet i protokół IP ...................................................i.......................... 127 5.10.2. Sieci prywatne ...................................................i..................................... 128 5.11. Konfigurowanie tras...................................................i.......................................... 129 5.12. Warstwa transportowa — TCP, UDP i usługi...................................................i... 131 5.13. Zapory sieciowe ...................................................i................................................ 132 5.13.1. Strategie tworzenia zapór sieciowych ...................................................i. 135 5.13.2. Opcje programu iptables ...................................................i..................... 136 5.14. Translacja adresów sieciowych (maskarada IP)...................................................i 137 5.15. Ethernet bezprzewodowy ...................................................i.................................. 139 5.15.1. Wykład o bezpieczeństwie sieci bezprzewodowych .............................. 142 6 Jak działa Linux Rozdział 6. Usługi sieciowe .............................................................................. 143 6.1. Podstawy usług ...................................................i................................................. 143 6.2. Serwery autonomiczne...................................................i...................................... 144 6.3. Demon inetd...................................................i...................................................i... 145 6.3.1. Wrapper TCP: tcpd, /etc/hosts.allow, /etc/hosts.deny ............................ 146 6.3.2. xinetd...................................................i...................................................i 147 6.4. SSH...................................................i...................................................i................ 148 Instalowanie biblioteki OpenSSH ...................................................i....... 148 6.4.1. 6.4.2. Serwer SSHD ...................................................i...................................... 149 6.4.3. Klient SSH ...................................................i.......................................... 150 6.5. Narzędzia diagnostyczne...................................................i................................... 152 lsof...................................................i...................................................i.... 152 6.5.1. 6.5.2. tcpdump...................................................i............................................... 153 6.5.3. Netcat ...................................................i.................................................. 155 6.6. Zdalne wywoływanie procedur (RPC)...................................................i.............. 156 6.7. Zabezpieczenie sieci ...................................................i......................................... 156 6.7.1. Bezpieczeństwo dystrybucji Linuksa ...................................................i.. 158 6.7.2. Typowe słabości...................................................i.................................. 158 6.7.3. Skanowanie portów ...................................................i............................. 159 6.7.4. Źródła danych o zabezpieczeniach ...................................................i...... 160 Rozdział 7. Wprowadzenie do skryptów powłoki ............................................... 161 7.1. Podstawy skryptów powłoki ...................................................i............................. 161 7.1.1. Ograniczenia skryptów powłoki...................................................i.......... 162 7.2. Cudzysłowy...................................................i...................................................i.... 162 7.3. Zmienne specjalne...................................................i............................................. 163 7.3.1. Zmienne $1, $2…...................................................i................................ 163 7.3.2. Zmienna $#...................................................i.......................................... 164 7.3.3. Zmienna $@...................................................i........................................ 164 7.3.4. Zmienna $0...................................................i.......................................... 165 7.3.5. Zmienna $$...................................................i.......................................... 165 7.3.6. Zmienna $?...................................................i.......................................... 165 7.4. Kody wyjścia ...................................................i...................................................i. 165 7.5. Wyrażenia warunkowe...................................................i...................................... 166 7.5.1. Konstrukcje logiczne i || ...................................................i............... 168 7.5.2. Sprawdzanie warunków...................................................i....................... 169 Porównywanie ciągów znaków instrukcją case........................................ 171 7.5.3. 7.6. Pętle ...................................................i...................................................i............... 172 7.7. Podmiana poleceń ...................................................i............................................. 173 7.8. Zarządzanie plikami tymczasowymi ...................................................i.................. 174 7.9. Dokumenty miejscowe...................................................i...................................... 175 7.10. Ważne narzędzia skryptów powłoki...................................................i.................. 176 7.10.1. Polecenie basename...................................................i............................. 176 7.10.2. Polecenie awk...................................................i...................................... 177 7.10.3. Polecenie sed...................................................i....................................... 177 7.10.4. Polecenie xargs...................................................i.................................... 178 7.10.5. Polecenie expr ...................................................i..................................... 179 7.10.6. Polecenie exec ...................................................i..................................... 179 7.11. Podpowłoki ...................................................i...................................................i.... 179 7.12. Włączanie do skryptów innych plików ...................................................i............. 180 7.13. Pobieranie danych od użytkowników...................................................i................ 180 7.14. Za dużo?...................................................i...................................................i......... 180 Spis treści 7 Rozdział 8. Narzędzia programistyczne .............................................................. 183 8.1. Kompilator języka C ...................................................i......................................... 183 8.1.1. Wiele plików źródłowych...................................................i.................... 184 8.1.2. Pliki i katalogi nagłówkowe ...................................................i................ 185 8.1.3. Konsolidacja z bibliotekami ...................................................i................ 187 8.1.4. Biblioteki współdzielone...................................................i..................... 188 8.1.5. Make...................................................i...................................................i. 191 8.2. Debugery...................................................i...................................................i........ 197 8.3. Lex i Yacc...................................................i...................................................i...... 198 Języki skryptowe...................................................i............................................... 198 8.4. 8.4.1. Perl ...................................................i...................................................i... 200 Python ...................................................i................................................. 200 8.4.2. 8.4.3. Pozostałe języki skryptowe ...................................................i................. 201 8.5. Java ...................................................i...................................................i................ 201 8.6. Kod asemblerowy i zasada działania kompilatorów ............................................ 202 9.3. Rozdział 9. Kompilowanie programów z kodu źródłowego.................................. 205 9.1. Rozpakowywanie pakietów źródłowych...................................................i........... 206 9.1.1. Od czego zacząć? ...................................................i................................ 206 9.2. GNU Autoconf...................................................i.................................................. 207 9.2.1. Opcje skryptu configure ...................................................i...................... 208 9.2.2. Zmienne środowiskowe...................................................i....................... 209 9.2.3. Cele tworzone przez system Autoconf ...................................................i 210 9.2.4. Pliki dziennika systemu Autoconf...................................................i....... 211 Inne systemy ...................................................i...................................................i.. 211 9.3.1. Ręcznie konfigurowane pliki Makefile...................................................i 212 9.3.2. Imake...................................................i...................................................i 212 pkg-config ...................................................i........................................... 214 9.3.3. 9.4. Praktyki instalacyjne ...................................................i......................................... 215 9.4.1. Gdzie instalować?...................................................i................................ 216 9.5. Stosowanie poprawek...................................................i........................................ 219 9.6. Rozwiązywanie problemów z kompilowaniem i instalowaniem.......................... 220 9.6.1. Częste błędy ...................................................i........................................ 221 Rozdział 10. Konserwacja jądra systemu............................................................. 223 10.1. Czy muszę kompilować jądro własnego systemu?............................................... 224 10.2. Czego potrzeba do kompilacji jądra systemu? ...................................................i.. 224 10.3. Pobieranie kodu źródłowego...................................................i............................. 225 10.3.1. Rozpakowywanie archiwum z kodem źródłowym ................................. 225 10.3.2. Przegląd kodu źródłowego jądra ...................................................i......... 226 10.3.3. Jądra w różnych dystrybucjach...................................................i............ 226 10.4. Konfigurowanie i kompilowanie jądra...................................................i.............. 227 10.4.1. Opcje konfiguracyjne ...................................................i.......................... 229 10.4.2. Kompilowanie jądra i modułów ...................................................i.......... 237 10.4.3. Instalowanie modułów ...................................................i........................ 239 10.4.4. Parametry jądra ...................................................i................................... 239 10.5. Instalowanie jądra za pomocą programu rozruchowego ...................................... 240 10.5.1. Który program rozruchowy wybrać?...................................................i... 241 10.5.2. GRUB...................................................i.................................................. 241 10.5.3. LILO...................................................i...................................................i. 243 10.5.4. Początkowe RAM-dyski...................................................i...................... 245 10.6. Testowanie jądra ...................................................i............................................... 246 10.7. Dyskietki startowe...................................................i............................................. 246 10.8. Praca z ładowalnymi modułami jądra ...................................................i............... 247 10.8.1. Program ładujący moduły jądra...................................................i........... 248 10.8.2. Konfiguracja programu modprobe ...................................................i...... 248 8 Jak działa Linux Rozdział 11. Konfigurowanie i manipulowanie urządzeniami peryferyjnymi............ 251 11.1. Napędy dyskietek...................................................i.............................................. 251 11.1.1. Obrazy dyskietek...................................................i................................. 252 11.1.2. Formatowanie dyskietek na niskim poziomie......................................... 252 11.2. Nagrywarki płyt CD...................................................i.......................................... 253 11.2.1. Sprawdzanie sprzętu...................................................i............................ 253 11.2.2. Tworzenie obrazu systemu plików i zapisywanie go na płycie CD........ 254 11.3. Wprowadzenie do USB...................................................i..................................... 255 11.3.1. System plików i narzędzia urządzeń USB.............................................. 256 11.3.2. Urządzenia wejściowe USB ...................................................i................ 256 11.3.3. Aparaty cyfrowe, zewnętrzne nośniki pamięci Flash i dyski zewnętrzne...................................................i............................... 257 11.4. Dyski IEEE 1394/FireWire ...................................................i............................... 258 11.5. Obsługa włączania w czasie pracy (hotplug)...................................................i...... 259 11.6. Karty PC (PCMCIA)...................................................i......................................... 259 11.6.1. Gdy włożymy kartę do czytnika...................................................i.......... 261 11.6.2. Program cardctl ...................................................i................................... 263 11.7. Obsługa innych urządzeń ...................................................i.................................. 264 Rozdział 12. Drukowanie .................................................................................... 267 12.1. PostScript...................................................i...................................................i....... 268 12.2. Serwery wydruku ...................................................i.............................................. 268 12.3. Filtry wydruku ...................................................i.................................................. 269 12.4. Klienty drukowania...................................................i........................................... 269 12.4.1. Drukowanie w sieci ...................................................i............................. 270 12.5. CUPS ...................................................i...................................................i............. 271 12.5.1. Konfigurowanie demona cupsd...................................................i........... 272 12.5.2. Zabezpieczenia systemu CUPS ...................................................i........... 272 12.5.3. Uruchamianie systemu CUPS ...................................................i............. 274 12.5.4. Dodawanie i edytowanie drukarek ...................................................i...... 274 12.5.5. Urządzenia drukarek (specyfikacje backendów) .................................... 276 12.5.6. Pliki PPD...................................................i............................................. 278 12.5.7. Określanie filtra...................................................i................................... 279 12.5.8. Filtr Foomatic (drukarki nieobsługujące PostScriptu)............................ 282 12.5.9. Przegląd poleceń administracyjnych ...................................................i... 283 12.5.10. Kontrola dostępu do serwera ...................................................i............... 284 12.5.11. Automatyczne wykrywanie ...................................................i................. 285 12.5.12. Współpraca z serwerem zgodnym z LPD............................................... 286 12.5.13. Usuwanie problemów...................................................i.......................... 286 12.6. Ghostscript ...................................................i...................................................i..... 289 12.6.1. Opcje wiersza poleceń...................................................i......................... 290 12.6.2. Więcej operacji w programie Ghostscript .............................................. 291 12.6.3. Serwer drukarek HP InkJet...................................................i.................. 292 12.7. Inne opisy systemów drukowania ...................................................i..................... 292 Rozdział 13. Kopie bezpieczeństwa..................................................................... 293 13.1. Co powinno znaleźć się w archiwum? ...................................................i.............. 293 13.2. Sprzęt ...................................................i...................................................i............. 294 13.3. Archiwa pełne i przyrostowe...................................................i............................. 294 13.4. Stosowanie programu tar...................................................i................................... 295 13.4.1. Tworzenie archiwów ...................................................i........................... 295 13.4.2. Przyrostowe archiwa tworzone programem tar.......................................... 296 13.4.3. Rozpakowywanie archiwów...................................................i................ 297 13.5. Zapisywanie archiwów na nietradycyjne nośniki................................................. 298 13.5.1. Zapisywanie archiwów na dyski twarde................................................. 298 Spis treści 9 13.6. Napędy taśmowe...................................................i............................................... 299 13.6.1. Praca z napędami taśmowymi ...................................................i............. 300 13.6.2. Tworzenie archiwów na taśmie ...................................................i........... 301 13.6.3. Odczytywanie archiwów z taśmy ...................................................i........ 302 13.6.4. Rozpakowywanie archiwów...................................................i................ 303 13.6.5. Przewijanie taśmy w przód i w tył...................................................i....... 303 13.6.6. Polecenia i status programu mt...................................................i............ 304 13.6.7. Bezpośredni dostęp do plików...................................................i............. 305 13.7. Inne programy do archiwizacji...................................................i.......................... 306 13.7.1. Programy dump i restore ...................................................i..................... 306 13.7.2. Program cpio ...................................................i....................................... 308 13.7.3. System Amanda...................................................i................................... 310 13.8. Inne źródła informacji...................................................i....................................... 310 Rozdział 14. Współdzielenie plików za pomocą pakietu Samba ............................ 313 14.1. Konfigurowanie serwera ...................................................i................................... 314 14.1.1. Kontrola dostępu do serwera ...................................................i............... 314 14.1.2. Hasła...................................................i...................................................i. 315 14.2. Uruchamianie serwera...................................................i....................................... 316 14.3. Diagnostyka i pliki dziennika...................................................i............................ 317 14.4. Współdzielenie plików...................................................i...................................... 317 14.4.1. Katalogi domowe ...................................................i................................ 318 14.5. Współdzielenie drukarek...................................................i................................... 318 14.5.1. Współdzielenie pojedynczej drukarki...................................................i.. 319 14.6. Korzystanie z klientów Samby...................................................i.......................... 319 14.6.1. Dostęp do plików ...................................................i................................ 320 14.6.2. Drukowanie przez udział systemu Windows.......................................... 321 Rozdział 15. Przesyłanie plików w sieci................................................................ 323 15.1. Podstawy polecenia rsync ...................................................i................................. 324 15.1.1. Tworzenie dokładnych kopii struktury katalogów.................................. 325 15.1.2. Jak używać końcowego ukośnika? ...................................................i...... 326 15.1.3. Pomijanie plików i katalogów ...................................................i............. 327 15.2. Sumy kontrolne i tryb informacyjny ...................................................i................. 327 15.3. Kompresja...................................................i...................................................i...... 328 15.4. Ograniczanie przepustowości...................................................i............................ 329 15.5. Przesyłanie plików do naszego komputera...................................................i........ 329 15.6. Więcej informacji o programie rsync...................................................i................ 329 Rozdział 16. Środowiska użytkowników............................................................... 331 16.1. Odpowiednie pliki uruchomieniowe ...................................................i................. 331 16.2. Elementy plików uruchamiających powłokę...................................................i..... 332 16.2.1. Ścieżka wyszukiwania poleceń ...................................................i........... 332 16.2.2. Ścieżka stron podręcznika man ...................................................i........... 333 16.2.3. Symbol zachęty ...................................................i................................... 334 16.2.4. Aliasy ...................................................i.................................................. 335 16.2.5. Maska uprawnień ...................................................i................................ 335 16.3. Kolejność plików uruchomieniowych i przykłady ............................................... 336 16.3.1. Powłoka bash ...................................................i...................................... 336 16.3.2. Powłoka tcsh ...................................................i....................................... 338 16.4. Domyślne ustawienia użytkownika...................................................i................... 339 16.4.1. Powłoka...................................................i............................................... 340 16.4.2. Edytor...................................................i.................................................. 341 16.4.3. Program stronicujący...................................................i........................... 341 16.5. Pułapki w plikach uruchomieniowych ...................................................i.............. 341 16.6. Dalsze informacje ...................................................i............................................. 341 10 Jak działa Linux Rozdział 17. Sprzęt dla Linuksa .......................................................................... 343 17.1. Składniki podstawowe ...................................................i...................................... 344 17.1.1. Płyta główna i procesor ...................................................i....................... 344 17.1.2. Pamięć...................................................i................................................. 345 17.1.3. Dysk twardy ...................................................i........................................ 346 17.1.4. Karty sieciowe i infrastruktura sieciowa ................................................ 347 17.1.5. Sprzęt graficzny...................................................i................................... 348 17.2. Inne elementy sprzętowe...................................................i................................... 349 17.2.1. Monitory...................................................i.............................................. 349 17.2.2. Klawiatury...................................................i........................................... 350 17.2.3. Myszy...................................................i.................................................. 350 17.2.4. Modemy ...................................................i.............................................. 351 17.2.5. Drukarki ...................................................i.............................................. 351 17.3. Słowo o unowocześnianiu sprzętu...................................................i...................... 352 17.4. Oszczędzanie pieniędzy ...................................................i.................................... 353 17.4.1. Procesory...................................................i............................................. 353 17.4.2. Dyski twarde ...................................................i....................................... 355 17.4.3. Obudowy komputera ...................................................i........................... 355 17.4.4. Karty wideo...................................................i......................................... 355 17.5. Komputery typu notebook...................................................i................................. 355 17.6. Mniejsze projekty...................................................i.............................................. 356 Rozdział 18. Pozostałe wskazówki ...................................................................... 357 18.1. Kolejne tematy ...................................................i.................................................. 357 18.2. Przemyślenia końcowe...................................................i...................................... 359 Dodatek A Klasyfikacja poleceń ....................................................................... 361 Bibliografia..................................................................................... 367 Skorowidz....................................................................................... 371 Rozdział 3. Jak uruchamia się Linux? Znamy już fizyczną strukturę systemu Linux, wiemy, czym jest jądro, znamy też zasady pracy z procesami. W niniejszym rozdziale zajmiemy się uruchamianiem systemu, czyli mechanizmami ładującymi jądro do pamięci i uruchamiającymi podstawowe procesy systemowe. Jak się okazuje, sam proces uruchamiania systemu jest bardzo prosty: 1. Program rozruchowy znajduje na dysku obraz jądra, ładuje go do pamięci i uruchamia. 2. Jądro inicjalizuje urządzenia i ich sterowniki. 3. Jądro montuje system plików partycji podstawowej. 4. Jądro uruchamia program o nazwie init. 5. Program init uruchamia pozostałe procesy. 6. Ostatnie procesy uruchamiane przez program init w ramach rozruchu systemu pozwalają na zalogowanie użytkowników. Rozpoznawanie każdego z etapów procesu rozruchu systemu jest niezwykle istotne przy rozwiązywaniu problemów występujących w czasie rozruchu, jak również pozwala na dokładne poznanie całości systemu. Na początek zajmiemy się programem rozrucho- wym (boot loader), który po włączeniu komputera i zakończeniu wszystkich procedur samosprawdzania sprzętu wyświetla pierwsze komunikaty albo zadaje pytanie o to, któ- ry system operacyjny chcemy uruchomić. Gdy dokonamy już wyboru, program rozru- chowy ładuje do pamięci jądro systemu Linux i przekazuje do niego sterowanie. Samo jądro zostało szczegółowo opisywane w innej części książki (podrozdział 2.2 objaśnia rolę jądra w systemie, a w rozdziale 10. dowiemy się, jak można zbudować swoje własne jądro). W niniejszym rozdziale opisany zostanie jedynie etap inicjalizacji jądra, czyli etap, w którym jądro wypisuje mnóstwo komunikatów opisujących sprzęt znajdujący w naszym komputerze. Po wyświetleniu komunikatu mówiącego o tym, że jądro zamontowało system plików partycji podstawowej (/), uruchamiany jest program init: 72 Jak działa Linux 8(5/QWPVGFTQQV GZVHKNGU[UVGO TGCFQPN[ Chwilę później pojawi się komunikat o uruchamianiu programu init, a później komu- nikaty o uruchamianiu usług systemowych, a na końcu wyświetlony zostanie symbol zachęty logowania. W systemach Red Hat Linux pierwszy komunikat programu init jest trudny do prze- oczenia, ponieważ „wita” on nas w systemie „Red Hat Linux”. Wszystkie późniejsze komunikaty uzupełniane są informacją o sukcesie lub porażce poszczególnych ope- racji podawaną w nawiasach kwadratowych po prawej stronie ekranu. Większa część tego rozdziału poświęcona jest programowi init, ponieważ jest on częścią procesu rozruchu systemu, nad którą mamy największą kontrolę. Dopiero w podrozdziale 3.2 zajmiemy się programami rozruchowymi. 3.1. Program init W programie init nie ma nic wyjątkowego. Przechowywany jest w katalogu /sbin razem z innymi programami systemu Linux, od których praktycznie niczym się nie różni. Głów- nym zadaniem tego programu jest uruchamianie i zatrzymywanie innych programów w zadanej kolejności. Istnieje kilka różnych wersji programu init, a większość systemów linuksowych korzy- sta z (opisywanego w tej książce) programu tworzonego w stylu systemu System V. Niektóre dystrybucje używają prostszych wersji programu init przypominających te stosowane w systemach BSD, ale są one rzadko spotykane. 3.1.1. Poziomy uruchomienia (runlevels) W każdym momencie działania systemu Linux uruchomiony jest pewien podstawowy zbiór procesów. Taki stan maszyny nazywany jest poziomem uruchomienia (runlevel) i oznaczany numerem od  do . Sam system większość czasu spędza na tylko jednym spośród poziomów uruchomienia, jednak w czasie zamykania systemu program init przełącza się na inny poziom uruchomienia w celu prawidłowego zakończenia działania usług systemowych i zatrzymania samego jądra systemu. Jeszcze inny poziom urucho- mienia przeznaczony jest dla trybu pojedynczego użytkownika (ang. single user) opisy- wanego w punkcie 3.2.4. Najprostszą metodą poznania poszczególnych poziomów uruchomienia jest przeglądanie pliku konfiguracyjnego /etc/inittab. Spróbujmy wyszukać w nim następujący wiersz: KFKPKVFGHCWNV Zapis w tym wierszu oznacza, że domyślnym poziomem uruchomienia będzie poziom . Wszystkie wiersze w pliku inittab mają tę samą postać. Składają się one z czterech pól oddzielanych dwukropkami ułożonych w następującej kolejności: Rozdział 3. ♦ Jak uruchamia się Linux? 73  Niepowtarzalny identyfikator (krótki ciąg znaków, taki jak ciąg KF z powyższego przykładu).  Stosowane poziomy uruchomienia.  Akcja podejmowana przez program init (w powyższym przykładzie akcją tą było ustalenie numeru domyślnego poziomu uruchomienia na ).  Polecenie do uruchomienia (opcjonalne). W powyższym przykładzie nie jest podane żadne polecenie do wykonania, ponieważ akcja KPKVFGHCWNV, czyli ustalenie domyślnego poziomu uruchomienia, nie wiąże się z wywołaniem żadnego konkretnego polecenia. Nieco dalej w pliku initab z pewnością znajdziemy linię podobną do poniższej: NYCKVGVETEFTE Jest to bardzo ważny wiersz, ponieważ wywołuje on większość konfiguracji i usług systemowych zapisanych w katalogach rc*.d i init.d (więcej na ten temat w punkcie 3.1.2). Z tego wiersza wynika, że na piątym poziomie uruchomienia wykonywane jest polecenie o nazwie GVETEFTE. Na podstawie akcji YCKV możemy określić, kiedy i jak program init uruchomi to polecenie: po przejściu na piąty poziom uruchomienia polecenie TE ma być uruchomione jednokrotnie, a następnie program init ma czekać przed podjęciem kolejnych działań. Poza akcjami KPKVFGHCWNV i YCKV dostępnych jest jeszcze kilka innych. Wiele z nich dotyczy zarządzania zasilaniem, a wszystkie opisane zostały na stronie podręcznika inittab(5). W kolejnych podpunktach zajmiemy się tymi akcjami, które są wykorzysty- wane najczęściej. respawn Akcja TGURCYP powoduje, że program init uruchomi podane polecenie, a po jego zakoń- czeniu uruchomi je ponownie. W pliku inittab najprawdopodobniej znajdziemy zapis podobny do poniższego: TGURCYPUDKPOKPIGVV[VV[ Program getty zajmuje się udostępnianiem znaków zachęty logowania. Powyższy wiersz dotyczy pierwszej konsoli wirtualnej (/dev/tty1), którą możemy wywołać, naciskając klawisze Alt+F1 lub Ctrl+Alt+F1 (więcej na ten temat w podrozdziale 3.3). Akcja TGU åRCYP powoduje, że po wylogowaniu się z systemu symbol zachęty logowania ponow- nie pojawia się na ekranie. ctrlaltdel Akcja ETVNCNVFGN definiuje zachowanie systemu po naciśnięciu w konsoli wirtualnej klawiszy Ctrl+Alt+Del. W większości systemów wywoływane jest wtedy polecenie powodujące ponowne uruchomienie systemu wykorzystujące polecenie UJWVFQYP, opi- sane w punkcie 3.1.5. 74 sysinit Jak działa Linux Akcja U[UKPKV określa pierwsze polecenie uruchamiane przez program init w czasie uruchamiania systemu jeszcze przed wejściem na jakikolwiek poziom uruchomienia. 3.1.2. Jak uruchamiane są procesy na różnych poziomach uruchomienia? Teraz możemy zacząć mówić o tym, jak program init uruchamia usługi systemowe, jeszcze zanim pozwoli się nam zalogować do systemu. Proszę sobie przypomnieć przed- stawiany wcześniej wiersz z pliku inittab: NYCKVGVETEFTE Ten niewielki kawałek tekstu powoduje uruchomienie bardzo wielu programów. Nazwa TE jest skrótem od run commands, czyli uruchom polecenia, ale wiele osób mówi o tych poleceniach jak o skryptach, programach albo usługach. Gdzie w takim razie są te pole- cenia? W naszym przykładzie, dla piątego poziomu uruchomienia, wszystkie polecenia naj- prawdopodobniej znajdują się w katalogu /etc/rc.d/rc5.d lub /etc/rc5.d. Poziom uru- chomienia  korzysta z katalogu rc1.d, poziom uruchomienia  — z katalogu rc2.d i tak dalej. W katalogu rc5.d najprawdopodobniej znajdziemy następujące pliki: 5U[UMNQIF5RRR5IRO 5MGTPGNF5PGVUVFAPHU5JVVRF 5PGVUVFAKPKV5PGVUVFAOKUE5TOPQNQIKP 5PGVDCUG5REOEKC5UUJF 5CEEV5CVF 5NQIQWVF5ETQP Polecenie TE uruchamia programy znajdujące się w katalogu podanego poziomu uruchomienia, wywołując następujące polecenia: 5U[UMNQIFUVCTV 5MGTPGNFUVCTV 5PGVUVFAKPKVUVCTV 5PGVDCUGUVCTV   5UUJFUVCTV Proszę zwrócić uwagę na parametr UVCTV podawany do każdego z tych poleceń. Litera 5 znajdująca się na początku nazwy każdego z tych poleceń oznacza, że polecenie powin- no być uruchamiane w trybie startu, natomiast liczba (od  do ) oznacza kolejność uruchamiania polecenia przez program TE. Polecenia rc*.d są najczęściej skryptami powłoki uruchamiającymi programy zapisane w katalogach /sbin lub /usr/sbin. Najczęściej możliwe jest sprawdzenie operacji wyko- nywanych przez te polecenia, przeglądając ich treść w programie NGUU lub innym. Rozdział 3. ♦ Jak uruchamia się Linux? 75 Możliwe jest też ręczne uruchamianie tych usług. Na przykład, jeżeli chcielibyśmy ręcznie uruchomić serwer WWW httpd, to wystarczyłoby wywołać polecenie 5JVVRFUVCTV. Podobnie, jeżeli kiedykolwiek zajdzie potrzeba zakończenia pracy jednej z tych usług w czasie normalnej pracy komputera, możliwe jest uruchomienie odpowiedniego pole- cenia z katalogu rc*.d z parametrem UVQR (na przykład 5JVVRFUVQR). Niektóre z katalogów rc*.d zawierają polecenia, których nazwy zaczynają się od litery - (od słowa kill, czyli „zabij”). W takim przypadku skrypt rc uruchamia te polecenia z parametrem UVQR, a nie UVCTV. Najbardziej prawdopodobne jest znalezienie takich poleceń w katalogach poziomów uruchomienia związanych z zamykaniem systemu. 3.1.3. Dodawanie i usuwanie usług Jeżeli chcielibyśmy dodać, usunąć lub zmodyfikować zestaw usług zapisanych w kata- logach rc*.d, to musimy najpierw dokładniej przyjrzeć się tym katalogom. Wywołanie pełnych danych katalogu powinno wyświetlić mniej więcej takie dane: NTYZTYZTYZ5U[UMNQIF KPKVFU[UMNQIF NTYZTYZTYZ5MGTPGNF KPKVFMGTPGNF NTYZTYZTYZ5PGVUVFAKPKV KPKVFPGVUVFAKPKV NTYZTYZTYZ5PGVDCUG KPKVFPGVDCUG  Polecenia znajdujące się w katalogu rc*.d są tak naprawdę dowiązaniami symbolicznymi do plików znajdujących się w katalogu init.d, który najczęściej znajduje się w katalogu /etc lub /etc/rc.d. Dystrybucje Linuksa korzystają z tych dowiązań, dzięki którym moż- liwe jest korzystanie z tych samych skryptów niezależnie od poziomu uruchomienia. Ta konwencja nie jest żadnym wymogiem, ale bardzo ułatwia organizację pracy. Pierwszym pomysłem na zablokowanie uruchamiania jednego z poleceń z katalogu init.d na danym poziomie uruchomienia może być usunięcie odpowiadającego mu dowiązania symbolicznego z jednego z katalogów rc*.d. To z całą pewnością zadziała, ale jeżeli kiedykolwiek zostaniemy zmuszeni ponownie włączyć to polecenie do sekwencji auto- matycznego uruchamiania, to będziemy mieć kłopoty z przypomnieniem sobie pełnej nazwy dowiązania. Z tego powodu nie należy usuwać dowiązań symbolicznych z kata- logów rc*.d, ale raczej dodawać znak podkreślenia (A) na początku ich nazw: OX5JVVRFA5JVVRF W czasie uruchamiania systemu program rc zignoruje nazwy w rodzaju _S99httpd, po- nieważ nie zaczynają się one od litery 5 lub -. Co więcej, nadal mamy dostęp do pełnej nazwy skrótu, a także do polecenia przez niego wskazywanego, dzięki czemu możemy je szybko uruchomić ręcznie, jeżeli zajdzie taka potrzeba. Dodając usługę do sekwencji automatycznego uruchamiania, musimy przygotować nowy skrypt w katalogu init.d, a następnie przygotować dowiązanie symboliczne w odpowied- nim katalogu rc*.d. Osoby nieznające języka skryptów powinny najpierw przeczytać rozdział 7. Najprostszą metodą na napisanie takiego skryptu jest przejrzenie skryptów znajdujących się w katalogu init.d, skopiowanie jednego z nich (najlepiej pasującego do naszych wymagań) i zmodyfikowanie takiej kopii. 76 Jak działa Linux Należy się też upewnić, że nową usługę umieściliśmy w odpowiednim miejscu w se- kwencji uruchamianych usług. Jeżeli zostanie ona uruchomiona zbyt wcześnie, może nie działać właściwie ze względu na zależności wiążące ją z innymi usługami. Mało ważne usługi najczęściej otrzymują od administratorów numery powyżej 90 i są uru- chamiane po wszystkich usługach dostarczonych razem z systemem. Dystrybucje Linuksa wyposażone są najczęściej w specjalne polecenie włączające i wyłączające usługi zapisane w katalogach rc*.d. Na przykład w dystrybucji Debian jest to polecenie WRFCVGTEF, a w dystrybucji Red Hat — EJMEQPHKI. Dostępne są również odpowiednie programy z interfejsem graficznym. Korzystanie z tych progra- mów ułatwia zachowanie spójności katalogów startowych, a także pozwala na łatwe dokonywanie uaktualnień systemu. Jednym z najczęstszych problemów z instalowaniem Linuksa jest nieprawidłowa konfiguracja serwera XFree86 powodująca migotanie obrazu, w wyniku czego sys- temu nie da się używać. Poprawienie tego zachowania wymaga uruchomienia sys- temu w trybie pojedynczego użytkownika i zmodyfikowanie naszego poziomu urucho- mienia i związanych z nim usług. W katalogach rc*.d lub pliku /etc/inittab należy szukać zapisów zawierających ciągi znaków ZFO, IFO lub MFO. 3.1.4. Kontrolowanie programu init Czasami konieczne jest nakazanie programowi init wykonania zmiany poziomu uru- chomienia, ponowne odczytanie pliku inittab albo zamknięcie systemu. Identyfikator procesu init ma zawsze wartość jeden, ponieważ jest to pierwszy program uruchamiany w systemie. Do kontrolowania działania programu init służy polecenie VGNKPKV. Na przykład przełą- czenie na trzeci poziom uruchamiania wykonywane jest poniższym poleceniem: VGNKPKV W czasie przełączania poziomów uruchomienia program init próbuje zakończyć wszyst- kie procesy, które nie występują w pliku inittab w opisie nowego poziomu. Należy więc być bardzo ostrożnym przy wykonywaniu tej operacji. Po wprowadzeniu jakiejkolwiek zmiany do pliku inittab musimy poinformować program init o wprowadzonych zmianach i zmusić go do ponownego odczytania tego pliku. Nie- którzy wywołują w tym celu polecenie MKNN*72. Jest to tradycyjna metoda, która funkcjonuje w większości wersji Uniksa, o ile polecenie zostanie wpisane prawidłowo. To samo działanie ma też znacznie prostsze polecenie: VGNKPKVS Poza tym polecenie VGNKPKVU umożliwia przejście do trybu pojedynczego użytkownika (więcej na ten temat zawarto w punkcie 3.2.4). Rozdział 3. ♦ Jak uruchamia się Linux? 77 3.1.5. Wyłączanie systemu Program init kontroluje też proces zamykania i ponownego uruchamiania systemu. W Linuksie prawidłową metodą zamknięcia systemu jest wywołanie polecenia UJWVFQYP. Możliwe są dwa podstawowe sposoby wykorzystania polecenia UJWVFQYP. Po pierwsze, jeżeli chcemy zatrzymać system, pozwala ono na zatrzymanie maszyny i wyłączenie komputera. Aby wykonać natychmiastowe zatrzymanie, należy wpisać poniższe pole- cenie: UJWVFQYPJPQY W większości nowych komputerów, na których zainstalowane są w miarę nowe wersje Linuksa, takie zatrzymanie systemu powoduje też automatyczne wyłączenie zasilania komputera. Dostępna jest też operacja ponownego uruchomienia systemu. W tym celu zamiast opcji J należy podać opcję T. Proces wyłączania systemu trwa kilka sekund. W czasie jego trwania nie wolno wyłą- czać ani ponownie uruchamiać komputera. W poprzednim przykładzie wartość PQY („teraz”) oznacza moment, w którym ma nastąpić wyłączenie. Ten parametr musi być podawany zawsze, choć istnieje wiele sposobów określenia czasu wyłączenia. Jeżeli chcemy, żeby komputer wyłączył się dopiero za jakiś czas, to można podać w tym para- metrze wartość P, gdzie P jest liczbą minut jaką polecenie UJWVFQYP ma odczekać, zanim zacznie wyłączać system. Pozostałe opcje polecenia opisywane są na stronie podręcz- nika shutdown(8). Poniższe polecenie powoduje ponowne uruchomienie systemu po dziesięciu minutach od wywołania polecenia: UJWVFQYPT  W Linuksie polecenie UJWVFQYP zawiadamia wszystkich zalogowanych użytkowników o planowanym zamykaniu komputera, choć nie robi nic ponad to. Jeżeli podamy czas zamknięcia systemu inny niż PQY, to polecenie UJWVFQYP utworzy plik /etc/nologin. Obecność tego pliku uniemożliwia użytkownikom (z wyjątkiem użytkownika root) zalogowanie się do systemu. Gdy w końcu nadejdzie moment wyłączenia komputera, polecenie UJWVFQYP nakazuje programowi init wykonanie przełączenia na poziom uruchomienia  (jeżeli system ma być wyłączony) lub  (jeżeli wykonywane będzie ponowne uruchomienie). Po wejściu do poziomu uruchomienia  lub  wykonywane są podane niżej operacje. Można się o tym przekonać, przeglądając skrypty znajdujące się w katalogach rc0.d i rc6.d. 1. Program init kończy działanie wszystkich dostępnych procesów (podobnie działa przy przełączaniu w dowolny inny poziom uruchomienia). 2. Uruchamiane są początkowe polecenia z katalogu rc0.d lub rc6.d blokujące pliki systemowe i wykonujące inne przygotowania do wyłączenia. 3. Uruchamiane są kolejne polecenia z katalogu rc0.d lub rc6.d odmontowujące wszystkie systemy plików za wyjątkiem partycji podstawowej. 78 Jak działa Linux 4. Następne polecenia z katalogu rc0.d lub rc6.d ponownie montują partycję podstawową w trybie tylko do odczytu. 5. Dalsze polecenia z katalogu rc0.d lub rc6.d zapisują poleceniem U[PE wszystkie buforowane dane do systemu plików (była o tym mowa w punkcie 2.4.4). 6. Ostatnie polecenia z katalogu rc0.d lub rc6.d, nakazują jądru zatrzymać się lub ponownie się uruchomić, wywołując odpowiednio polecenie TGDQQV, JCNV lub RQYGTQHH. Programy TGDQQV i JCNV zachowują się inaczej w zależności od poziomu uruchomienia, na którym są one wywoływane, co może powodować pewne nieporozumienia. Domyśl- nie programy te wywołują polecenie UJWVFQYP z opcją T lub J. Jeżeli jednak system znajduje się w poziomie uruchomienia  lub  to oba te polecenia nakazują jądru sys- temu natychmiastowe zatrzymanie. Jeżeli musimy zamknąć system w pośpiechu (nie zważając na ewentualne uszkodzenia wynikające z nieprawidłowego zamknięcia), to w obu programach można zastosować opcję H. 3.2. Programy rozruchowe Zanim jądro będzie mogło uruchomić program init, samo musi być uruchomione przez program rozruchowy (boot loader). Czasami zdarza się, że będziemy musieli nakazać programowi rozruchowemu załadowanie innego jądra lub systemu operacyjnego albo uruchomienie się w innym trybie. Jest to szczególnie ważne wtedy, gdy próbujemy na- prawić system, w którym występują problemy uniemożliwiające prawidłowe urucho- mienie. Rozwiązane takich problemów może być wykonane w trybie pojedynczego użytkownika albo za pomocą innego jądra systemu. Program rozruchowy ładuje do pamięci obraz jądra i przekazuje mu kontrolę nad pro- cesorem, być może przekazując przy tym kilka parametrów. Parametry te są zwykłymi ciągami znaków, na przykład U oznacza uruchomienie w trybie pojedynczego użytkow- nika, a TQQVRCTV[ELC nakazuje jądru używanie partycji określonej za pomocą parame- tru RCTV[ELC jako partycji podstawowej. W parametrze jądra można podać też poziom uruchomienia, na którym jądro ma zatrzymać proces uruchamiania systemu. Najpierw jednak musimy wiedzieć, jak dostać się do wiersza poleceń programu rozrucho- wego. Niestety, dostępnych jest kilka rodzajów programów rozruchowych, a ponieważ pozwalają one na zmiany swojego zachowania, dystrybucje Linuksa w pełni korzystają z tych możliwości. W następnych punktach dowiemy się, jak można dostać się do wiersza poleceń programu rozruchowego w celu wprowadzenia nazwy uruchamianego jądra i jego parametrów. Każdy, kto chciałby wiedzieć, jak można zainstalować program rozruchowy albo zmie- nić jego konfigurację, powinien zajrzeć do podrozdziału 10.5. Rozdział 3. ♦ Jak uruchamia się Linux? 79 3.2.1. LILO Program rozruchowy LILO wykorzystywany jest niemal od czasu pojawienia się pierw- szego jądra Linuksa. Wiersz poleceń LILO najczęściej kończy się słowem DQQV. Jeżeli nasz system uruchamiany jest przez LILO, to najprawdopodobniej przy starcie zoba- czymy na ekranie ładny ekran graficzny, ponieważ taką konfigurację wykorzystuj
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Jak działa Linux
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: