Tytuł oryginału: How Linux Works: What Every Superuser Should Know, Second Edition
Tłumaczenie: Piotr Pilch
ISBN: 978-83-283-0980-7
Copyright © 2015 by Brian Ward. Title of English-language original: How Linux Works, 2nd Edition, ISBN 978-1-59327-567-9, published by No Starch Press.
Polish-language edition copyright © 2015 by Helion SA.All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Wydawnictwo HELIONul. Kościuszki 1c, 44-100 GLIWICEtel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/jakli2Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
• Kup książkę• Poleć książkę • Oceń książkę
• Księgarnia internetowa• Lubię to! » Nasza społeczność
Spis tre ci
PODZI KOWANIA ................................................................................... 17
WST P ...................................................................................................... 19Kto powinien przeczyta t ksi k ? .........................................................................19Wymagania ................................................................................................................20Jak czyta t ksi k ? .................................................................................................20
wiczenia ..................................................................................................................21Podzia tej ksi ki ......................................................................................................21Co nowego w drugim wydaniu? ................................................................................22Kilka s ów o terminologii ...........................................................................................22
1INFORMACJE OGÓLNE ............................................................................. 23
1.1. Poziomy i warstwy abstrakcji w systemie Linux .......................................................241.2. Sprz t: pami operacyjna ........................................................................................261.3. J dro systemu ............................................................................................................26
1.3.1. Zarz dzanie procesami ...............................................................................271.3.2. Zarz dzanie pami ci ..................................................................................281.3.3. Sterowniki urz dze i zarz dzanie urz dzeniami ........................................291.3.4. Wywo ania systemowe ...............................................................................29
1.4. Przestrze u ytkownika ............................................................................................301.5. U ytkownicy .............................................................................................................321.6. Spojrzenie w przysz o ............................................................................................33
Poleć książkęKup książkę
6 S p i s t r e c i
2PODSTAWOWE POLECENIA I HIERARCHIA KATALOGÓW ...................... 35
2.1. Pow oka Bourne’a: /bin/sh ........................................................................................ 362.2. Korzystanie z pow oki .............................................................................................. 37
2.2.1. Okno pow oki ............................................................................................ 372.2.2. Polecenie cat .............................................................................................. 372.2.3. Standardowe wej cie i wyj cie ................................................................... 38
2.3. Podstawowe polecenia ............................................................................................. 392.3.1. Polecenie ls ................................................................................................. 392.3.2. Polecenie cp ............................................................................................... 402.3.3. Polecenie mv .............................................................................................. 402.3.4. Polecenie touch .......................................................................................... 402.3.5. Polecenie rm ............................................................................................... 412.3.6. Polecenie echo ........................................................................................... 41
2.4. Polecenia dzia aj ce na katalogach ............................................................................ 412.4.1. Polecenie cd ............................................................................................... 422.4.2. Polecenie mkdir .......................................................................................... 422.4.3. Polecenie rmdir .......................................................................................... 422.4.4. Rozwijanie nazw (nazwy wieloznaczne) ..................................................... 42
2.5. Polecenia po rednicz ce ........................................................................................... 442.5.1. grep ............................................................................................................ 442.5.2. Polecenie less ............................................................................................. 452.5.3. Polecenie pwd ............................................................................................ 452.5.4. Polecenie diff .............................................................................................. 462.5.5. Polecenie file ............................................................................................... 462.5.6. Polecenia find i locate ................................................................................. 462.5.7. Polecenia head i tail .................................................................................... 472.5.8. Polecenie sort ............................................................................................. 47
2.6. Zmienianie has a i pow oki ....................................................................................... 472.7. Pliki z kropk ............................................................................................................ 472.8. Zmienne rodowiskowe i pow oki ........................................................................... 482.9. cie ka polece ........................................................................................................ 492.10. Znaki specjalne ......................................................................................................... 502.11. Edycja wiersza polece ............................................................................................. 502.12. Edytory tekstu .......................................................................................................... 512.13. Uzyskiwanie pomocy ................................................................................................ 522.14. Wej cie i wyj cie pow oki ......................................................................................... 54
2.14.1. Standardowy strumie b dów .................................................................. 552.14.2. Przekierowywanie standardowego wej cia ................................................ 56
2.15. Prawid owe odczytywanie komunikatów o b dach ................................................ 562.15.1. Anatomia uniksowych komunikatów o b dach ......................................... 562.15.2. Typowe b dy ............................................................................................. 57
2.16. Przegl danie procesów i manipulowanie nimi .......................................................... 592.16.1. Opcje polecenia .......................................................................................... 592.16.2. Przerywanie dzia ania procesów ................................................................ 60
Poleć książkęKup książkę
S p i s t r e c i 7
2.16.3. Kontrola zada ............................................................................................612.16.4. Procesy dzia aj ce w tle ..............................................................................61
2.17. Tryby plików i uprawnienia .......................................................................................622.17.1. Modyfikowanie uprawnie ..........................................................................642.17.2. Dowi zania symboliczne .............................................................................652.17.3. Tworzenie dowi za symbolicznych ..........................................................66
2.18. Archiwizowanie i kompresowanie plików ................................................................672.18.1. Program gzip ...............................................................................................672.18.2. Program tar .................................................................................................672.18.3. Archiwa skompresowane (.tar.gz) ..............................................................692.18.4. Program zcat ...............................................................................................692.18.5. Inne narz dzia kompresuj ce ......................................................................70
2.19. Hierarchia katalogów ................................................................................................702.19.1. Pozosta e katalogi g ówne ...........................................................................722.19.2. Katalog /usr .................................................................................................732.19.3. Umiejscowienie j dra systemu ....................................................................73
2.20. Uruchamianie polece przez superu ytkownika ......................................................742.20.1. Polecenie sudo ............................................................................................742.20.2. Plik /etc/sudoers ..........................................................................................74
2.21. Podsumowanie ..........................................................................................................75
3URZ DZENIA .......................................................................................... 77
3.1. Pliki urz dze ............................................................................................................783.2. cie ka urz dze sysfs ...............................................................................................793.3. Polecenie dd i urz dzenia ..........................................................................................813.4. Podsumowanie nazewnictwa urz dze ....................................................................82
3.4.1. Dyski twarde — /dev/sd* ............................................................................823.4.2. Nap dy CD i DVD: /dev/sr* .......................................................................833.4.3. Dyski twarde PATA: /dev/hd* .....................................................................843.4.4. Terminale: /dev/tty*, /dev/pts/* i /dev/tty ...................................................843.4.5. Porty szeregowe — /dev/ttyS* ...................................................................853.4.6. Porty równoleg e — /dev/lp0 i /dev/lp1 ......................................................853.4.7. Urz dzenia audio — /dev/dsp, /dev/audio, /dev/snd/* i inne ......................863.4.8. Tworzenie plików urz dze .......................................................................86
3.5. System udev ..............................................................................................................873.5.1. System plików devtmpfs .............................................................................873.5.2. Konfiguracja i dzia anie procesu udevd .......................................................883.5.3. Program udevadm .......................................................................................903.5.4. Monitorowanie urz dze ............................................................................91
3.6. Szczegó y: SCSI i j dro Linuksa .................................................................................923.6.1. Pami ci masowe USB i protokó SCSI ........................................................953.6.2. SCSI i ATA ...................................................................................................963.6.3. Ogólne urz dzenia SCSI ..............................................................................973.6.4. Wiele metod dost pu do jednego urz dzenia .............................................98
Poleć książkęKup książkę
8 S p i s t r e c i
4DYSKI I SYSTEMY PLIKÓW ...................................................................... 99
4.1. Partycjonowanie urz dze dyskowych ................................................................... 1024.1.1. Przegl danie tablicy partycji ...................................................................... 1024.1.2. Modyfikowanie tablicy partycji ................................................................. 1044.1.3. Geometria dysku i partycji ........................................................................ 1054.1.4. Dyski SSD ................................................................................................. 107
4.2. Systemy plików ....................................................................................................... 1074.2.1. Typy systemów plików ............................................................................. 1084.2.2. Tworzenie systemu plików ...................................................................... 1094.2.3. Montowanie systemu plików .................................................................... 1104.2.4. Identyfikator UUID systemu plików ......................................................... 1124.2.5. Buforowanie dysku i systemu plików ....................................................... 1134.2.6. Opcje montowania systemów plików ...................................................... 1144.2.7. Ponownie montowanie systemu plików ................................................... 1154.2.8. Tabela systemów plików /etc/fstab .......................................................... 1164.2.9. Rozwi zania konkurencyjne dla pliku /etc/fstab ....................................... 1184.2.10. Pojemno systemu plików ...................................................................... 1184.2.11. Sprawdzanie i naprawianie systemów plików .......................................... 1194.2.12. Systemy plików o specjalnym znaczeniu .................................................. 122
4.3. Przestrze wymiany ............................................................................................... 1234.3.1. Wykorzystywanie partycji jako przestrzeni wymiany ............................... 1234.3.2. Wykorzystywanie pliku jako przestrzeni wymiany ................................... 1244.3.3. Jak wielkiej przestrzeni wymiany potrzebuj ? .......................................... 124
4.4. Spojrzenie w przysz o : dyski i przestrze u ytkownika ...................................... 1254.5. Tradycyjny system plików ...................................................................................... 126
4.5.1. Przegl danie szczegó ów w z ów inode .................................................. 1284.5.2. Praca z systemami plików w przestrzeni u ytkownika ............................ 1304.5.3. Ewolucja systemów plików ...................................................................... 130
5JAK URUCHAMIA SI LINUX? ............................................................... 133
5.1. Komunikaty rozruchowe ........................................................................................ 1345.2. Inicjowanie j dra i opcje rozruchu .......................................................................... 1355.3. Parametry j dra ...................................................................................................... 1365.4. Programy rozruchowe ........................................................................................... 137
5.4.1. Zadania programu rozruchowego ............................................................ 1385.4.2. Przegl d programów rozruchowych ........................................................ 138
5.5. Wprowadzenie do programu GRUB ...................................................................... 1395.5.1. Przeszukiwanie urz dze i partycji za pomoc wiersza polece
programu GRUB ....................................................................................... 1425.5.2. Konfigurowanie programu GRUB ............................................................ 1445.5.3. Instalowanie programu GRUB .................................................................. 146
5.6. Problemy z bezpiecznym rozruchem UEFI ............................................................ 1485.7. adowanie innych systemów operacyjnych ............................................................ 149
Poleć książkęKup książkę
S p i s t r e c i 9
5.8. Szczegó y programu rozruchowego .......................................................................1505.8.1. Rozruch MBR ............................................................................................1505.8.2. Rozruch UEFI ............................................................................................1505.8.3. Jak dzia a GRUB? .......................................................................................151
6URUCHAMIANIE PRZESTRZENI U YTKOWNIKA ................................. 153
6.1. Wprowadzenie do procesu init ...............................................................................1546.2. Poziomy uruchomienia System V ............................................................................1556.3. Identyfikowanie rodzaju procesu init ......................................................................1566.4. systemd ...................................................................................................................156
6.4.1. Jednostki i typy jednostek .........................................................................1576.4.2. Zale no ci systemd ...................................................................................1586.4.3. Konfiguracja systemd ................................................................................1606.4.4. Praca z systemd .........................................................................................1636.4.5. Dodawanie jednostek systemd .................................................................1666.4.6. ledzenie i synchronizacja procesów systemd ..........................................1676.4.7. Uruchamianie na danie i zrównoleglanie zasobów ................................1686.4.8. Zgodno systemd z System V ..................................................................1736.4.9. Programy pomocnicze systemd ................................................................173
6.5. Upstart ....................................................................................................................1746.5.1. Procedura inicjowania procesu Upstart ....................................................1756.5.2. Zadania w procesie Upstart ......................................................................1766.5.3. Konfiguracja Upstart .................................................................................1786.5.4. Dzia anie procesu Upstart .........................................................................1836.5.5. Protoko y procesu Upstart .......................................................................1846.5.6. Poziomy uruchomienia procesu Upstart i zgodno z System V ..............185
6.6. Proces init System V ................................................................................................1866.6.1. Proces init w stylu System V: sekwencja polece rozruchowych .............1886.6.2. Farma dowi za procesu init w stylu System V ........................................1896.6.3. run-parts ...................................................................................................1906.6.4. Sterowanie procesem init w stylu System V .............................................191
6.7. Wy czanie systemu ................................................................................................1926.8. Pocz tkowy system plików w pami ci RAM ...........................................................1936.9. Rozruch awaryjny i tryb pojedynczego u ytkownika ..............................................195
7KONFIGURACJA SYSTEMU: REJESTROWANIE,CZAS SYSTEMOWY, ZADANIA WSADOWE I U YTKOWNICY ................ 197
7.1. Struktura katalogu /etc ............................................................................................1987.2. Rejestrowanie dzienników systemowych ...............................................................199
7.2.1. Rejestrator systemowy .............................................................................1997.2.2. Pliki konfiguracyjne ....................................................................................199
7.3. Pliki zwi zane z zarz dzaniem u ytkownikami .......................................................2027.3.1. Plik /etc/passwd .........................................................................................2027.3.2. U ytkownicy specjalni ...............................................................................203
Poleć książkęKup książkę
10 S p i s t r e c i
7.3.3. Plik /etc/shadow ....................................................................................... 2047.3.4. Manipulowanie u ytkownikami i has ami .................................................. 2047.3.5. Praca z grupami ........................................................................................ 205
7.4. Programy getty i login ............................................................................................. 2067.5. Ustawianie czasu .................................................................................................... 206
7.5.1. Reprezentacja czasu j dra i strefy czasowe .............................................. 2077.5.2. Czas sieciowy ........................................................................................... 208
7.6. Planowanie powtarzalnych zada w programie cron ............................................. 2097.6.1. Instalowanie plików crontab ..................................................................... 2107.6.2. Systemowe pliki crontab .......................................................................... 2107.6.3. Przysz o narz dzia cron ........................................................................ 211
7.7. Planowanie jednorazowych zada w programie at ................................................ 2117.8. Identyfikatory u ytkowników i prze czanie ich ..................................................... 212
7.8.1. Prawo w a ciciela procesu, efektywny identyfikator u ytkownika,rzeczywisty identyfikator u ytkownika i zapisany identyfikatoru ytkownika ............................................................................................. 212
7.9. Identyfikowanie i uwierzytelnianie u ytkowników ................................................. 2157.9.1. U ycie bibliotek do uzyskiwania informacji o u ytkownikach .................. 216
7.10. System PAM ........................................................................................................... 2177.10.1. Konfiguracja systemu PAM ....................................................................... 2177.10.2. Uwagi dotycz ce systemu PAM ............................................................... 2217.10.3. System PAM i has a ................................................................................... 222
7.11. Spojrzenie w przysz o ......................................................................................... 223
8WYKORZYSTANIE PROCESÓW I ZASOBÓW .......................................... 225
8.1. ledzenie procesów ................................................................................................ 2268.2. Wyszukiwanie otwartych plików programem lsof ................................................. 226
8.2.1. Analizowanie danych wyj ciowych polecenia lsof .................................... 2278.2.2. U ycie polecenia lsof ................................................................................ 228
8.3. ledzenie dzia ania programu i wywo a systemowych ......................................... 2288.3.1. Polecenie strace ........................................................................................ 2298.3.2. Polecenie ltrace ........................................................................................ 230
8.4. W tki ...................................................................................................................... 2318.4.1. Procesy jednow tkowe i wielow tkowe .................................................. 2318.4.2. Wy wietlanie w tków .............................................................................. 231
8.5. Wprowadzenie do monitorowania zasobów ......................................................... 2338.6. Pomiar czasu procesora ......................................................................................... 2338.7. Nadawanie procesom priorytetów ........................................................................ 2348.8. rednie obci enia .................................................................................................. 235
8.8.1. U ycie polecenia uptime .......................................................................... 2358.8.2. Wysokie obci enia .................................................................................. 236
8.9. Pami .................................................................................................................... 2378.9.1. Zasady dzia ania pami ci ........................................................................... 2378.9.2. B dy stron ............................................................................................... 238
8.10. Monitorowanie wydajno ci procesora i pami ci za pomoc polecenia vmstat ...... 239
Poleć książkęKup książkę
S p i s t r e c i 11
8.11. Monitorowanie operacji wej cia-wyj cia .................................................................2418.11.1. U ycie narz dzia iostat .............................................................................2418.11.2. Wykorzystanie i monitorowanie urz dze wej cia-wyj cia
dla poszczególnych procesów — narz dzie iotop ....................................2438.12. Monitorowanie poszczególnych procesów za pomoc narz dzia pidstat ..............2448.13. Dodatkowe zagadnienia ..........................................................................................244
9SIE I JEJ KONFIGURACJA ..................................................................... 247
9.1. Podstawy dotycz ce sieci ........................................................................................2489.1.1. Pakiety .......................................................................................................248
9.2. Warstwy sieciowe ...................................................................................................2499.3. Warstwa internetowa .............................................................................................250
9.3.1. Wy wietlanie adresu IP u ywanego komputera ........................................2529.3.2. Podsieci .....................................................................................................2529.3.3. Typowe maski podsieci i notacja CIDR .....................................................253
9.4. Trasy i tabela routingu j dra ....................................................................................2549.4.1. Brama domy lna ........................................................................................255
9.5. Podstawowe narz dzia protoko u ICMP i systemu DNS .......................................2569.5.1. ping ............................................................................................................2569.5.2. Program traceroute ..................................................................................2579.5.3. DNS i host .................................................................................................258
9.6. Warstwa fizyczna i Ethernet ....................................................................................2589.7. Interfejsy sieciowe j dra ..........................................................................................2599.8. Wprowadzenie do konfiguracji interfejsów sieciowych ..........................................260
9.8.1. R czne dodawanie i usuwanie tras ............................................................2619.9. Konfiguracja sieci aktywowana podczas rozruchu ..................................................2619.10. Problemy z konfiguracj sieci r czn i aktywowan podczas rozruchu ..................2629.11. Mened ery konfiguracji sieciowych .........................................................................263
9.11.1. Dzia anie narz dzia NetworkManager ......................................................2639.11.2. Interakcja z narz dziem NetworkManager ...............................................2649.11.3. Konfiguracja narz dzia NetworkManager .................................................265
9.12. Rozpoznawanie nazw hostów .................................................................................2679.12.1. Plik /etc/hosts ............................................................................................2689.12.2. Plik resolv.conf ..........................................................................................2689.12.3. Buforowanie i system DNS bez konfiguracji .............................................2689.12.4. Plik /etc/nsswitch.conf ...............................................................................269
9.13. Host lokalny ............................................................................................................2709.14. Warstwa transportowa: protoko y TCP i UDP oraz us ugi ....................................271
9.14.1. Porty TCP i po czenia ..............................................................................2719.14.2. Ustanawianie po cze TCP .....................................................................2729.14.3. Numery portów i plik /etc/services ..........................................................2739.14.4. W a ciwo ci protoko u TCP .....................................................................2739.14.5. Protokó UDP ...........................................................................................274
9.15. Ponowna analiza prostej sieci lokalnej .....................................................................276
Poleć książkęKup książkę
12 S p i s t r e c i
9.16. Protokó DHCP ...................................................................................................... 2769.16.1. Klient DHCP w systemie Linux ................................................................ 2779.16.2. Serwery DHCP w systemie Linux ............................................................ 277
9.17. Konfigurowanie systemu Linux jako routera .......................................................... 2779.17.1. cza internetowe .................................................................................... 279
9.18. Sieci prywatne ........................................................................................................ 2799.19. Translacja adresów sieciowych (maskarada IP) ...................................................... 2809.20. Routery i system Linux ........................................................................................... 2829.21. Zapory sieciowe ..................................................................................................... 283
9.21.1. Podstawy dotycz ce linuksowych zapór sieciowych ................................ 2839.21.2. Konfigurowanie regu zapory sieciowej .................................................... 2859.21.3. Strategie tworzenia zapór sieciowych ...................................................... 287
9.22. Ethernet, IP i ARP ................................................................................................... 2899.23. Ethernet bezprzewodowy ...................................................................................... 291
9.23.1. iw .............................................................................................................. 2929.23.2. Zabezpieczenia sieci bezprzewodowych ................................................. 293
9.24. Podsumowanie ....................................................................................................... 293
10US UGI I APLIKACJE SIECIOWE ............................................................. 295
10.1. Podstawy us ug ....................................................................................................... 29610.1.1. Dok adniejsza analiza ................................................................................ 296
10.2. Serwery sieciowe ................................................................................................... 29810.3. Secure Shell (SSH) .................................................................................................. 299
10.3.1. Serwer SSHD ........................................................................................... 30010.3.2. Klient SSH ................................................................................................. 303
10.4. Demony inetd i xinetd ............................................................................................ 30510.4.1. Wrapper TCP: tcpd, /etc/hosts.allow, /etc/hosts.deny ............................ 306
10.5. Narz dzia diagnostyczne ........................................................................................ 30610.5.1. lsof ............................................................................................................ 30610.5.2. tcpdump ................................................................................................... 30810.5.3. netcat ........................................................................................................ 31010.5.4. Skanowanie portów .................................................................................. 310
10.6. Zdalne wywo ywanie procedur (RPC) ................................................................... 31110.7. Zabezpieczenie sieci ............................................................................................... 312
10.7.1. Typowe s abo ci ....................................................................................... 31410.7.2. ród a danych o zabezpieczeniach ........................................................... 314
10.8. Spojrzenie w przysz o ......................................................................................... 31510.9. Gniazda: sposób komunikacji procesów z sieci .................................................... 31510.10. Gniazda domenowe systemu Unix ......................................................................... 317
10.10.1. Korzy ci dla projektantów ........................................................................ 31710.10.2. Wyszczególnianie gniazd domenowych systemu Unix ............................. 318
Poleć książkęKup książkę
S p i s t r e c i 13
11WPROWADZENIE DO SKRYPTÓW POW OKI ......................................... 319
11.1. Podstawy skryptów pow oki ...................................................................................31911.1.1. Ograniczenia skryptów pow oki ...............................................................320
11.2. Cudzys owy i litera y ...............................................................................................32111.2.1. Litera y ......................................................................................................32111.2.2. Pojedyncze cudzys owy ............................................................................32211.2.3. Podwójne cudzys owy ...............................................................................32311.2.4. Przekazywanie litera u w postaci znaku pojedynczego cudzys owu .........323
11.3. Zmienne specjalne ..................................................................................................32411.3.1. Pojedyncze argumenty: $1, $2… ..............................................................32411.3.2. Liczba argumentów: $# ............................................................................32511.3.3. Wszystkie argumenty: $@ ........................................................................32511.3.4. Nazwa skryptu: $0 ....................................................................................32611.3.5. Identyfikator procesu: $$ ..........................................................................32611.3.6. Kod wyj cia: $? ..........................................................................................327
11.4. Kody wyj cia ............................................................................................................32711.5. Wyra enia warunkowe ...........................................................................................328
11.5.1. Obs uga list pustych parametrów .............................................................32911.5.2. U ycie innych polece do testów .............................................................32911.5.3. S owo kluczowe elif ..................................................................................32911.5.4. Konstrukcje logiczne && i || ....................................................................33011.5.5. Sprawdzanie warunków ............................................................................33011.5.6. Porównywanie ci gów znaków instrukcj case ........................................333
11.6. P tle ........................................................................................................................33411.6.1. P tle for ....................................................................................................33411.6.2. P tle while .................................................................................................335
11.7. Podmiana polece ...................................................................................................33611.8. Zarz dzanie plikami tymczasowymi ........................................................................33711.9. Dokumenty miejscowe ...........................................................................................33811.10. Wa ne narz dzia skryptów pow oki .......................................................................338
11.10.1. Polecenie basename ..................................................................................33911.10.2. Polecenie awk ...........................................................................................33911.10.3. Polecenie sed ............................................................................................34011.10.4. Polecenie xargs .........................................................................................34111.10.5. Polecenie expr ..........................................................................................34211.10.6. Polecenie exec ..........................................................................................342
11.11. Podpow oki .............................................................................................................34211.12. W czanie do skryptów innych plików ....................................................................34311.13. Pobieranie danych od u ytkowników .....................................................................34411.14. Kiedy (nie)u ywa skryptów pow oki? ....................................................................344
Poleć książkęKup książkę
14 S p i s t r e c i
12PRZENOSZENIE PLIKÓW W SIECI .......................................................... 345
12.1. Szybkie wykonywanie kopii .................................................................................... 34512.2. rsync ....................................................................................................................... 346
12.2.1. Podstawy dotycz ce narz dzia rsync ....................................................... 34612.2.2. Tworzenie dok adnych kopii struktury katalogów ................................... 34812.2.3. Jak u ywa ko cowego uko nika? ............................................................ 34812.2.4. Pomijanie plików i katalogów ................................................................... 35012.2.5. Integralno transferu, sumy kontrolne i tryby informacyjne ................... 35112.2.6. Kompresja ................................................................................................ 35212.2.7. Ograniczanie przepustowo ci .................................................................. 35212.2.8. Przesy anie plików do naszego komputera .............................................. 35212.2.9. Wi cej informacji o programie rsync ........................................................ 353
12.3. Wprowadzenie do wspó u ytkowania plików ........................................................ 35312.4. Wspó u ytkowanie plików za pomoc pakietu Samba ........................................... 354
12.4.1. Konfigurowanie serwera .......................................................................... 35412.4.2. Kontrola dost pu do serwera ................................................................... 35512.4.3. Has a ......................................................................................................... 35612.4.4. Uruchamianie serwera ............................................................................. 35812.4.5. Diagnostyka i pliki dziennika ..................................................................... 35812.4.6. Konfigurowanie udzia u plikowego ........................................................... 35812.4.7. Katalogi domowe ...................................................................................... 35912.4.8. Wspó u ytkowanie drukarek .................................................................... 35912.4.9. Korzystanie z klientów Samby .................................................................. 36012.4.10. Dost p do plików jako klient .................................................................... 361
12.5. Klienty NFS ............................................................................................................. 36212.6. Dodatkowe ograniczenia i opcje sieciowych us ug plikowych ............................... 363
13RODOWISKA U YTKOWNIKÓW .......................................................... 365
13.1. Wytyczne dotycz ce tworzenia plików uruchomieniowych .................................. 36613.2. Kiedy nale y modyfikowa pliki uruchomieniowe? ................................................. 36613.3. Elementy plików uruchamiaj cych pow ok .......................................................... 367
13.3.1. cie ka wyszukiwania polece ................................................................. 36713.3.2. cie ka stron podr cznika man ................................................................ 36813.3.3. Symbol zach ty ......................................................................................... 36913.3.4. Aliasy ......................................................................................................... 37013.3.5. Maska uprawnie ...................................................................................... 370
13.4. Kolejno plików uruchomieniowych i przyk ady ................................................... 37113.4.1. Pow oka bash ........................................................................................... 37113.4.2. Pow oka tcsh ............................................................................................ 374
13.5. Domy lne ustawienia u ytkownika ......................................................................... 37513.5.1. Domy lne ustawienia pow oki .................................................................. 37513.5.2. Edytor ....................................................................................................... 37613.5.3. Program stronicuj cy ................................................................................ 376
Poleć książkęKup książkę
S p i s t r e c i 15
13.6. Pu apki w plikach uruchomieniowych .....................................................................37613.7. Dalsze informacje ....................................................................................................377
14OGÓLNY PRZEGL D INTERFEJSÓW U YTKOWNIKASYSTEMU LINUX .................................................................................... 379
14.1. Komponenty interfejsów u ytkownika ...................................................................38014.1.1. Mened ery okien ......................................................................................38014.1.2. Pakiety narz dziowe .................................................................................38114.1.3. rodowiska interfejsów u ytkownika ........................................................38114.1.4. Aplikacje ....................................................................................................382
14.2. System X Window System ......................................................................................38214.2.1. Mened ery wy wietlaczy ..........................................................................38314.2.2. Przezroczysto sieci ................................................................................383
14.3. Eksplorowanie klientów serwera X ........................................................................38414.3.1. Zdarzenia serwera X ................................................................................38414.3.2. Ustawianie preferencji i dane wej ciowe serwera X ................................385
14.4. Przysz o serwera X ..............................................................................................38814.5. Us uga D-Bus ..........................................................................................................389
14.5.1. Instancja sesji i instancja systemowa ..........................................................38914.5.2. Monitorowanie komunikatów us ugi D-Bus ..............................................390
14.6. Drukowanie ............................................................................................................39014.6.1. CUPS .........................................................................................................39114.6.2. Konwersja formatów i filtry wydruku .......................................................392
14.7. Inne zagadnienia zwi zane z interfejsami u ytkownika ...........................................392
15NARZ DZIA PROGRAMISTYCZNE ........................................................ 393
15.1. Kompilator j zyka C ................................................................................................39415.1.1. Wiele plików ród owych .........................................................................39515.1.2. Pliki i katalogi nag ówkowe .......................................................................39615.1.3. Konsolidacja z bibliotekami .......................................................................39815.1.4. Biblioteki wspó u ytkowane .....................................................................399
15.2. Narz dzie make ......................................................................................................40315.2.1. Przyk adowy plik Makefile .........................................................................40415.2.2. Wbudowane regu y ...................................................................................40515.2.3. Ko cowe budowanie programu ................................................................40615.2.4. Aktualizowanie ..........................................................................................40615.2.5. Argumenty i opcje wiersza polece ..........................................................40715.2.6. Standardowe makra i zmienne ..................................................................40815.2.7. Typowe cele kompilacji .............................................................................40815.2.8. Organizowanie pliku Makefile ...................................................................409
15.3. Debuggery ...............................................................................................................41115.4. Lex i Yacc ................................................................................................................412
Poleć książkęKup książkę
16 S p i s t r e c i
15.5. J zyki skryptowe .................................................................................................... 41215.5.1. Python ...................................................................................................... 41315.5.2. Perl ........................................................................................................... 41415.5.3. Pozosta e j zyki skryptowe ...................................................................... 414
15.6. Java .......................................................................................................................... 41515.7. Spojrzenie w przysz o : kompilowanie pakietów ................................................. 416
16WPROWADZENIE DO KOMPILOWANIA OPROGRAMOWANIAZ KODU RÓD OWEGO C ...................................................................... 417
16.1. Systemy do tworzenia oprogramowania ................................................................ 41816.2. Rozpakowywanie pakietów kodu ród owego j zyka C ........................................ 419
16.2.1. Od czego zacz ? ..................................................................................... 42016.3. GNU autoconf ........................................................................................................ 420
16.3.1. Przyk ad u ycia systemu GNU autoconf .................................................. 42116.3.2. Instalacja za pomoc narz dzia do tworzenia pakietów ........................... 42216.3.3. Opcje skryptu configure ........................................................................... 42316.3.4. Zmienne rodowiskowe ........................................................................... 42416.3.5. Cele tworzone przez system autoconf .................................................... 42516.3.6. Pliki dziennika systemu autoconf .............................................................. 42616.3.7. pkg-config ................................................................................................. 426
16.4. Praktyki instalacyjne ................................................................................................ 42816.4.1. Gdzie instalowa ? ..................................................................................... 428
16.5. Stosowanie poprawek ............................................................................................ 42916.6. Rozwi zywanie problemów z kompilowaniem i instalowaniem ............................ 430
16.6.1. Cz ste b dy ............................................................................................. 43116.7. Spojrzenie w przysz o ......................................................................................... 433
17BUDOWANIE NA FUNDAMENTACH ..................................................... 435
17.1. Serwery WWW i aplikacje internetowe ................................................................. 43517.2. Bazy danych ............................................................................................................ 436
17.2.1. Typy baz danych ....................................................................................... 43717.3. Wirtualizacja ........................................................................................................... 43717.4. Obliczenia rozproszone i na danie ...................................................................... 43817.5. Systemy wbudowane .............................................................................................. 43817.6. Ko cowe uwagi ...................................................................................................... 440
BIBLIOGRAFIA ....................................................................................... 441
SKOROWIDZ .......................................................................................... 445
Poleć książkęKup książkę
5Jak uruchamia si Linux?
ZNASZ JU FIZYCZN I LOGICZN STRUKTUR SYSTEMU LINUKSO-WEGO, WIESZ, CZYM JEST J DRO SYSTEMU I JAK WSPÓ PRACUJEZ PROCESAMI. W TYM ROZDZIALE ZAPREZENTUJ PROCEDURuruchamiania (lub rozruchu) j dra. Innymi s owy, dowieszsi teraz, w jaki sposób j dro przenosi si do pami ci kom-
putera do momentu, w którym uruchomiony zostaje pierwszyproces u ytkownika.
Uproszczona procedura uruchamiania systemu wygl da nast puj co. 1. BIOS komputera lub jego firmware aduje i uruchamia program rozruchowy(ang. boot loader).
2. Program rozruchowy odszukuje na dysku obraz j dra, aduje go do pami cii uruchamia.
3. J dro inicjuje wszystkie urz dzenia wraz z ich sterownikami. 4. J dro montuje podstawowy system plików. 5. J dro uruchamia program o nazwie init zwi zany z procesemo identyfikatorze 1. To w tym momencie uruchamiana jest przestrzeu ytkownika.
6. Program init wprawia w ruch pozosta e elementy systemu. 7. W pewnym momencie program init uruchamia proces pozwalaj cyna zalogowanie si u ytkownika. Zazwyczaj dzieje si to pod sam koniecprocesu uruchamiania systemu.
Poleć książkęKup książkę
134 R o z d z i a 55
W tym rozdziale zajm si czterema pierwszymi krokami; skoncentruj si naj drze i programie rozruchowym. W rozdziale 6. podejm ten temat od momentuuruchomienia przestrzeni u ytkownika.
Umiej tno zidentyfikowania poszczególnych etapów uruchamiania systemuokazuje si niezast piona podczas rozwi zywania problemów ze startem systemu,ale te u atwia zrozumienie zasad funkcjonowania systemu jako ca o ci. Niestetydomy lne zachowanie w wielu dystrybucjach Linuksa cz sto bardzo utrudnia,a czasem i uniemo liwia zidentyfikowanie pierwszych etapów rozruchu. W efekciemo esz przejrze ten proces dopiero po zako czeniu uruchamiania i zalogowa-niu si .
5.1. Komunikaty rozruchoweTradycyjne systemy uniksowe podczas uruchamiania generuj wiele komunikatówdiagnostycznych, które dok adnie opisuj ca y ten proces. Pocz tkowo komunikatyte pochodz wy cznie z j dra, ale pó niej pojawiaj si te takie, które pochodzz procesów i procedur inicjuj cych uruchamianych przez program init. Komuni-katy te nie s jednak ani adne, ani spójne, a w niektórych przypadkach nie niosnawet czytelnych informacji. Wi kszo aktualnych dystrybucji Linuksa stara sijak najlepiej ukrywa je za ekranami startowymi i innymi obrazkami. Dodatkoworozwijany ci gle sprz t sprawia, e j dro uruchamia si dzisiaj znacznie szybciejni dawniej, przez co wszystkie te komunikaty przewijane s tak szybko przezekran, e nie da si ich przeczyta .
Istniej dwie metody przegl dania komunikatów diagnostycznych rozruchuj dra i dzia aj cych pó niej programów. Mo emy:
przejrze plik protoko u systemowego j dra; cz sto znajduje si on w pliku/var/log/kern.log, ale w zale no ci od konfiguracji systemu mo e te znalesi w ród innych plików protoko ów systemowych, w katalogu/var/log/messages lub innym,
u y polecenia dmesg, przy czym jego wyj cie koniecznie trzeba przepu ciprzez program less, poniewa komunikatów na pewno b dzie wi cej,ni mo e pomie ci jeden ekran. Polecenie to wykorzystuje bufor cyklicznyj dra, który ma ograniczon wielko , ale w wi kszo ci nowoczesnych j derjest na tyle du y, e przez d ugi czas mo e przechowywa komunikatyrozruchowe.
Oto przyk ad tego, czego mo na si spodziewa po uruchomieniu poleceniadmesg:
$ dmesg[ 0.000000] Initializing cgroup subsys cpu[ 0.000000] Linux version 3.2.0-67-generic-pae (buildd@toyol) (gcc version 4.6.3 (Ubuntu/Linaro4.6.3-1ubuntu5) ) #101-Ubuntu SMP Tue Jul 15 18:04:54 UTC 2014(Ubuntu 3.2.0-67.101-generic-pae3.2.60)
Poleć książkęKup książkę
J a k u r uc ha m i a s i L i nux ? 135
[ 0.000000] KERNEL supported cpus:--ciach--[ 2.986148] sr0: scsi3-mmc drive: 24x/8x writer dvd-ram cd/rw xa/form2 cdda tray[ 2.986153] cdrom: Uniform CD-ROM driver Revision: 3.20[ 2.986316] sr 1:0:0:0: Attached scsi CD-ROM sr0[ 2.986416] sr 1:0:0:0: Attached scsi generic sg1 type 5[ 3.007862] sda: sda1 sda2 < sda5 >[ 3.008658] sd 0:0:0:0: [sda] Attached SCSI disk--ciach--
Po zako czeniu uruchamiania j dra komunikaty generowane s przez pro-cedur uruchamiania przestrzeni u ytkownika. Te komunikaty b d znacznietrudniejsze do przejrzenia i oceny, poniewa w wi kszo ci systemów nie s zapi-sywane do jednego pliku protoko ów. Skrypty startowe zazwyczaj wypisuj nakonsol swoje komunikaty, a te s zwykle kasowane po zako czeniu proceduryuruchamiania. Zazwyczaj nie stanowi to problemu, poniewa ka dy skrypt prowadzite swój w asny protokó . Niektóre wersje programu init, takie jak Upstarti systemd, zarówno w czasie rozruchu, jak i w trakcie normalnej pracy systemumog przechwytywa komunikaty, które trafiaj jedynie na konsol .
5.2. Inicjowanie j dra i opcje rozruchuPodczas rozruchu j dro Linuksa inicjuje si w nast puj cej kolejno ci.
1. Sprawdzenie procesora. 2. Sprawdzenie pami ci. 3. Rozpoznawanie magistrali urz dze . 4. Rozpoznawanie urz dze . 5. Konfigurowanie uzupe niaj cych podsystemów j dra (sie i tym podobne). 6. Montowanie podstawowego systemu plików. 7. Uruchamianie przestrzeni u ytkownika.
Pierwsze kroki nie s szczególnie spektakularne, ale gdy j dro dotrze do roz-poznawania urz dze , pojawia si pytanie o zale no ci mi dzy nimi. Przyk adowosterowniki urz dzenia dyskowego mog zale e od funkcji obs ugi magistrali orazobs ugi podsystemu SCSI.
Na dalszym etapie procesu inicjacji j dro musi zamontowa podstawowy sys-tem plików, eby pó niej uruchomi program init. Zwykle nie musimy si przej-mowa tymi sprawami. Wyj tek mo e stanowi sytuacja, kiedy niektóre niezb dnekomponenty nie s cz ci samego j dra, ale dost pne s jako zewn trzne modu y.Na niektórych komputerach konieczne mo e by za adowanie tych modu ów jesz-cze przed zamontowaniem samego systemu plików. Tym problemem oraz jegorozwi zaniem w postaci pocz tkowego systemu plików w pami ci RAM zajm siw podrozdziale 6.8.
Poleć książkęKup książkę
136 R o z d z i a 55
W czasie pisania tej ksi ki j dro nie generowa o adnych komunikatóww zwi zku z przygotowaniami do uruchomienia pierwszego procesu przestrzeniu ytkownika. Jednak poni sze komunikaty zwi zane z zarz dzaniem pami ci ca -kiem dobrze wskazuj na to, e zaraz nast pi przekazanie kontroli do przestrzeniu ytkownika, poniewa w ten sposób j dro zaczyna chroni w asn pami przeddzia aj cymi w niej procesami.
Freeing unused kernel memory: 740k freedWrite protecting the kernel text: 5820kWrite protecting the kernel read-only data: 2376kNX-protecting the kernel data: 4420k
W tym miejscu mo esz te zobaczy te komunikat informuj cy o montowaniupodstawowego systemu plików.
Je eli interesujesz si dalszym ci giem procesu uruchamiania przestrzeni u ytkow-nika realizowanej przez program init uruchomiony przez j dro, od razu mo eszprzej do rozdzia u 6. W pozosta ej cz ci tego rozdzia u b d opisywa dok adniejkolejne etapy uruchamiania j dra.
5.3. Parametry j draPodczas uruchamiania j dra Linuksa program rozruchowy przekazuje do niegozestaw tekstowych parametrów j dra, które decyduj o tym, w jaki sposób ma onozosta uruchomione. Parametry te definiuj wiele ró nych typów zachowa , takichjak ilo komunikatów diagnostycznych wypisywanych przez j dro, albo podajopcje w a ciwe dla ró nych sterowników.
Parametry j dra u yte przy uruchamianiu swojego systemu mo na przejrzew pliku /proc/cmdline:
$ cat /proc/cmdlineBOOT_IMAGE=/boot/vmlinuz-3.2.0-67-generic-pae root=UUID=70ccd6e7-6ae6-44f6-812c-51aab8036d29 ro quiet splash vt.handoff=7
Parametrami mog by znaczniki sk adaj ce si z pojedynczego s owa, takie jakro lub quiet, ale mog by nimi równie pary klucz=warto , takie jak vt.handoff=7.Wiele parametrów nie ma wi kszego znaczenia, na przyk ad parametr splashpozwalaj cy wy wietli ekran startowy, ale jeden z nich jest absolutnie niezb dny —root. Definiuje on lokalizacj podstawowego systemu plików. Bez niego j dro nieb dzie mog o odnale programu init i nie uruchomi przestrzeni u ytkownika.
Podstawowy system plików mo esz zdefiniowa za pomoc pliku urz dzenia,tak jak w poni szym przyk adzie:
root=/dev/sda1
UWAGA
Poleć książkęKup książkę
J a k u r uc ha m i a s i L i nux ? 137
Jednak w wi kszo ci nowoczesnych systemów najcz ciej u ywany jest w tymcelu identyfikator UUID systemu plików (omawiany w punkcie 4.2.4):
root=UUID=70ccd6e7-6ae6-44f6-812c-51aab8036d29
U ycie tu parametru ro jest ca kiem normalne. Nakazuje on, by j dro zamon-towa o podstawowy system plików w trybie tylko do odczytu w momencie uru-chamiania przestrzeni u ytkownika. Tryb tylko do odczytu sprawia, e programfsck mo e bezpiecznie skontrolowa system plików. Po zako czeniu takiej kontroliproces uruchamiania systemu mo e ponownie zamontowa podstawowy systemplików w trybie pe nego dost pu.
Je eli j dro Linuksa natknie si na parametr, którego nie rozumie, mimowszystko go zapami tuje, a nast pnie przekazuje jako parametr programu initpodczas uruchamiania przestrzeni u ytkownika. Je li na przyk ad w ród parame-trów j dra znajdzie si warto -s, j dro przeka e j do programu init, w wynikuczego ten uruchomi si w trybie pojedynczego u ytkownika.
Przyjrzyjmy si teraz mechanice uruchamiania j dra przez program rozruchowy.
5.4. Programy rozruchoweNa pocz tku procesu rozruchu systemu program rozruchowy (ang. boot loader)musi uruchomi j dro. Zadanie programu rozruchowego wydaje si ca kiem proste:za adowa do pami ci j dro systemu, a nast pnie uruchomi je, przekazuj codpowiednie parametry. Zastanówmy si jednak, z jakimi problemami musi zmie-rzy si ten program.
Gdzie znajduje si j dro? Jakie parametry nale y przekaza do j dra w momencie jego uruchamiania?
Odpowied na te pytania (zazwyczaj) brzmi tak, e j dro oraz niezb dne para-metry znajduj si gdzie w podstawowym systemie plików. Wydaje si , e odszu-kanie parametrów j dra nie powinno by k opotliwe, z tym e samo j dro jeszczenie dzia a, dlatego nie mo na przeszuka systemu plików, eby odnale niezb dnepliki. Co gorsza, niedost pne s te sterowniki urz dze , z których normal-nie korzysta j dro. Wydaje si , e mamy tu do czynienia z problemem typu„jajko czy kura”.
Rozwa ania zaczn od sterowników. W komputerach PC programy rozru-chowe uzyskuj dost p do dysków za po rednictwem interfejsów BIOS (ang. BasicInput/Output System) lub UEFI (ang. Unified Extensible Firmware Interface).Niemal wszystkie dyski wyposa one s w oprogramowanie pozwalaj ce na dost pdo danych za pomoc adresowania LBA (ang. Linear Block Addressing). Mimo eto rozwi zanie ma bardzo nisk wydajno , ten tryb adresowania pozwala na uni-wersalny dost p do zawarto ci dysku. Programy rozruchowe s chyba jedynymiprogramami, które odwo uj si do dysków za po rednictwem BIOS-u. Samo j drokorzysta ju z w asnych sterowników o znacznie lepszej wydajno ci.
Poleć książkęKup książkę
138 R o z d z i a 55
Z systemem plików sprawa nie jest ju tak prosta. Wi kszo nowoczesnychprogramów rozruchowych mo e odczyta tablic partycji i ma wbudowan obs ugsystemów plików w trybie tylko do odczytu, a to oznacza, e mog one odczytywapliki z dysku. Takie mo liwo ci sprawiaj , e znacznie atwiejsze staje si dyna-miczne konfigurowanie i rozbudowywanie programu rozruchowego. Starsze linuk-sowe programy rozruchowe nie mia y takich mo liwo ci, przez co ich konfiguro-wanie sprawia o znacznie wi ksze problemy.
5.4.1. Zadania programu rozruchowegoOto zadania linuksowego programu rozruchowego.
Wybieranie spo ród kilku ró nych j der. Prze czanie pomi dzy ró nymi zestawami parametrów j dra. Umo liwienie u ytkownikowi r cznej edycji nazw i parametrów j dra
systemu (na przyk ad w celu przej cia do trybu pojedynczego u ytkownika). Umo liwienie uruchamiania innych systemów operacyjnych.
Od czasu gdy powsta o j dro Linuksa, programy rozruchowe stawa y si corazbardziej rozbudowane i przejmowa y takie funkcje jak historia i system menu.Jednak najwi ksz przewag ich nowoczesnych wersji jest mo liwo elastycznegowyboru j dra i jego parametrów. Co ciekawe, przy okazji okaza o si , e pewnewymagania zosta y mocno zredukowane. Przyk adowo dzi ki temu, e mo emyteraz wykona awaryjne uruchomienie systemu cz ciowo lub ca kowicie z nap dupod czonego do portu USB, raczej nie musimy zajmowa si r cznym wprowa-dzaniem parametrów j dra albo przechodzeniem do trybu pojedynczego u ytkow-nika. Nowoczesne programy rozruchowe daj wi cej ró nych mo liwo ci ni by oto kiedykolwiek mo liwe, co bardzo przydaje si osobom tworz cym w asne j drasystemu albo próbuj cym zmienia ich parametry.
5.4.2. Przegl d programów rozruchowychOto najwa niejsze programy rozruchowe, z którymi mo esz si zetkn , wed ugich popularno ci.
GRUB — praktycznie standardowy program w systemach linuksowych.LILO — jeden z pierwszych linuksowych programów rozruchowych.ELILO to wersja wspó pracuj ca z UEFI.SYSLINUX — mo esz go skonfigurowa tak, eby dzia a z wieloma ró nymisystemami plików.LOADLIN — uruchamia j dro w systemie MS-DOS.efilinux — program rozruchowy dzia aj cy z UEFI, który ma by wzoremi modelem dla innych programów rozruchowych.coreboot (dawniej LinuxBIOS) — zamiennik BIOS-u komputera o wysokiejwydajno ci, który mo e zawiera j dro systemu.
Poleć książkęKup książkę
J a k u r uc ha m i a s i L i nux ? 139
Linux Kernel EFISTUB — modu j dra pozwalaj cy na za adowanie j drabezpo rednio z partycji systemowej EFI/UEFI. Pojawia si w najnowszychsystemach.
W tej ksi ce b dziemy si zajmowa wy cznie programem GRUB. Wynikato z faktu, e inne programy rozruchowe s albo atwiejsze do skonfigurowania niGRUB, albo s od niego szybsze.
Aby wprowadzi nazw j dra lub jego parametry, musisz najpierw w czywiersz polece programu. Niestety czasami nie do ko ca wiadomo, jak to zrobi ,poniewa dystrybucje Linuksa staraj si dopasowa do siebie zachowanie i wygl dprogramu rozruchowego.
W kolejnym podrozdziale opisz , jak przej do wiersza polece programurozruchowego w celu wprowadzenia nazwy j dra i jego parametrów. Gdy ju b dziewiadomo, jak to zrobi , mo esz spróbowa samodzielnie skonfigurowa i zainsta-lowa swój program rozruchowy.
5.5. Wprowadzenie do programu GRUBNazwa GRUB jest skrótem od angielskiego Grand Unified Boot Loader, czyli„wielki zunifikowany program rozruchowy”. Omówi tutaj wersj GRUB 2. Cza-sami u ywana jest jeszcze starsza wersja nazywana teraz GRUB Legacy, którajednak pojawia si bardzo rzadko.
Jedn z najwa niejszych funkcji tego programu jest mo liwo nawigowaniaw systemie plików, która umo liwia atwiejsze wybranie obrazu j dra i jego konfi-guracj . Przejrzenie menu programu jest dobr metod na poznanie rz dz cychnim zasad. W udost pnianym interfejsie atwo si porusza nawet wtedy, kiedywidzisz go po raz pierwszy, co jest ca kiem prawdopodobne. W ko cu twórcydystrybucji Linuksa staraj si jak mog , eby ukry program rozruchowy przedu ytkownikami.
Aby dosta si do menu programu GRUB, nale y przytrzyma klawisz Shiftw czasie, gdy na ekranie widoczne s informacje wy wietlane przez BIOS lubfirmware komputera. Je eli tego nie zrobisz, program rozruchowy nie zatrzyma siprzed za adowaniem j dra do pami ci. Na rysunku 5.1 przedstawiam menuprogramu GRUB. Po pojawieniu si tego menu mo na nacisn klawisz Esc, ebytymczasowo wy czy opó nienie automatycznego rozruchu.
W ramach poznawania programu rozruchowego proponuj wykona poni szekroki.
1. Uruchom (ponownie) swój system linuksowy. 2. Podczas autotestu BIOS-u lub firmware’u komputera przytrzymaj klawiszShift, eby wywo a menu GRUB-a.
3. Naci nij klawisz E, eby przejrze polecenia konfiguracyjne programurozruchowego domy lnej opcji rozruchu. Na ekranie powinno pojawi sico podobnego do przedstawionego na rysunku 5.2.
Poleć książkęKup książkę
140 R o z d z i a 55
Rysunek 5.1. Menu programu GRUB
Rysunek 5.2. Edytor konfiguracji programu GRUB
Poleć książkęKup książkę
J a k u r uc ha m i a s i L i nux ? 141
Z tego ekranu dowiesz si , e w tej konfiguracji podstawowy system plikówwybierany jest za pomoc identyfikatora UUID, obraz j dra umieszczony jestw pliku /boot/vmlinuz-3.2.0.31-generic-pae, a w ród parametrów j dra znajdujsi opcje ro, quiet, i splash. Je eli nie zdarzy o Ci si wcze niej przegl da tegorodzaju konfiguracji, mo esz czu si troch nieswojo. Dlaczego odwo anie dopodstawowego systemu plików pojawia si tu wielokrotnie i na dodatek z ró nymiwarto ciami? Co oznacza opcja insmode? Czy nie jest to funkcja j dra normalnieuruchamiana przy u yciu demona udevd?
Takie podwójne zapisy s ca kowicie uzasadnione, poniewa GRUB nie korzystaz j dra, a jedynie je uruchamia. Widoczna tu konfiguracja sk ada si wy czniez polece wewn trznych samego programu GRUB, a ten jest ca kowicie nieza-le nym wiatem.
Powsta e zamieszanie wynika z faktu, e GRUB zapo ycza terminologi z wieluró nych róde . Ma swoje w asne „j dro” oraz w asne polecenie insmod pozwala-j ce na dynamiczne adowanie modu ów programu, które s ca kowicie niezale neod j dra Linuksa. Wiele polece GRUB-a bardzo przypomina polecenia uniksowejpow oki. Dost pne jest tu nawet polecenie ls do wypisywania plików.
Najwi ksze zamieszanie powoduje jednak sposób u ycia s owa root. W ramachwyja nienia zaznacz , e szukaj c podstawowego systemu plików swojego kom-putera, nale y stosowa si do prostej zasady: interesuj cy nas system plikówpodawany jest wy cznie w ramach parametrów uruchamianego j dra.
W konfiguracji GRUB-a parametry j dra zapisywane s zaraz za nazw obrazuw poleceniu linux. Ka de inne wyst pienie s owa root dotyczy b dzie jedyniepartycji podstawowej GRUB-a. Dla tego programu s owo „root” oznacza systemplików, GRUB poszukuje j dra oraz plików obrazów systemów plików umieszcza-nych w pami ci RAM.
Na rysunku 5.2 partycja podstawowa GRUB-a najpierw ustawiana jest naspecjalnym urz dzeniu (hd0,msdos1). W nast pnym poleceniu GRUB poszukujepartycji z okre lonym identyfikatorem UUID. Je eli j znajdzie, w a nie ona staniesi katalogiem podstawowym.
Podsumowuj c, mo na stwierdzi , e pierwszy parametr polecenia linux(/boot/vmlinuz-...) podaje lokalizacj pliku z obrazem j dra Linuksa. GRUBza aduje ten plik ze swojej partycji podstawowej. Podobnie dzia a polecenie initrd,z tym e najpierw okre la lokalizacj wst pnego systemu plików dla pami ci RAM.
Oczywi cie mo emy dowolnie edytowa tak konfiguracj w samym programieGRUB. Jest to najprostsza metoda tymczasowego naprawiania uszkodzonego pro-cesu rozruchu systemu. Aby taki problem usun trwale, konieczna jest zmianazapisów konfiguracyjnych (wi cej o tym w punkcie 5.5.2), ale na razie przyjrzymysi wewn trznym elementom GRUB-a; u yjemy przy tym interfejsu wierszapolece .
Poleć książkęKup książkę
142 R o z d z i a 55
5.5.1. Przeszukiwanie urz dze i partycjiza pomoc wiersza polece programu GRUB
Jak mo na by o zobaczy na rysunku 5.2, GRUB ma w asny sposób adresowaniaurz dze . Przyk adowo pierwszy znaleziony dysk twardy otrzymuje nazw hd0,nast pny to hd1 i tak dalej. Niestety przypisanie nazw do urz dze mo e podlegazmianom. Na szcz cie GRUB mo e przeszuka partycje, sprawdzaj c ich identy-fikator UUID, w celu odnalezienia tej, na której znajduje si plik j dra systemu;do tego s u y polecenie search.
Wypisywanie urz dzeAby pozna sposób odwo ywania si do urz dze w systemie przez GRUB, mo eszotworzy jego wiersz polece , naciskaj c klawisz C w menu rozruchowym albow edytorze konfiguracji. Powinien si wtedy pojawi znak zach ty:
grub>
Mo esz tu wprowadzi dowolne z polece , które widzia e w konfiguracji.Na pocz tek jednak proponuj u y polecenia diagnostycznego ls. Bez adnychparametrów wypisuje ono list urz dze znanych GRUB-owi:
grub> ls(hd0) (hd0,msdos1) (hd0,msdos5)
W tym przypadku na li cie znajduje si jedno urz dzenie dyskowe oznaczonejako (hd0) oraz dwie partycje — (hd0,msdos1) i (hd0,msdos5). Przedrostek msdosw nazwie partycji oznacza, e na dysku znajduje si tablica partycji typu MBR.Je eli by aby to tablica partycji typu GPT, nazwy partycji mia yby przedrostek gpt.Mo liwe s jeszcze kolejne kombinacje z trzecim identyfikatorem, kiedy wewn trzpartycji znajduje si mapa etykiet dysku BSD. Zazwyczaj nie trzeba si tymprzejmowa , o ile nie pracujesz z kilkoma ró nymi systemami operacyjnymi najednym komputerze.
Bardziej szczegó owe informacje uzyskasz po wprowadzeniu polecenia ls -l.Polecenie to mo e by szczególnie u yteczne, poniewa podaje te identyfikatoryUUID wszystkich partycji na dysku. Oto przyk ad.
grub> ls -lDevice hd0: Not a known filesystem - Total size 426743808 sectors Partition hd0,msdos1: Filesystem type ext2 – Last modification time 2015-09-18 20:45:00 Friday, UUID 4898e145-b064-45bd-b7b4-7326b00273b7 -Partition start at 2048 - Total size 424644608 sectors Partition hd0,msdos5: Not a known filesystem - Partition start at 424648704 - Total size 2093056 sectors
Poleć książkęKup książkę
J a k u r uc ha m i a s i L i nux ? 143
Ten konkretny dysk na pierwszej partycji MBR zawiera linuksowy system pli-ków ext2/3/4, natomiast 5. partycja nosi sygnatur linuksowej przestrzeni wymiany.Oznacza to do typow konfiguracj dysku. Niestety, patrz c na podany wy ejwydruk, nie da si stwierdzi , e partycja (hd0,msdos5) zosta a przeznaczona naprzestrze wymiany.
Nawigacja w ród plikówPrzyjrzyjmy si teraz funkcjom GRUB-a, przy u yciu których mo liwe jest poru-szanie si w systemie plików. Za pomoc polecenia echo mo esz sprawdzi pod-stawow partycj (pami taj, e to na niej GRUB spodziewa si znale j drosystemu):
grub> echo $roothd0,msdos1
Polecenie ls pozwala te na wypisanie listy plików i katalogów w partycjipodstawowej. Wystarczy jako parametr wpisa jej nazw i zako czy znakiemuko nika:
grub> ls (hd0,msdos1)/
Niestety zapami tanie i pó niejsze wpisywanie pe nej nazwy partycji pod-stawowej mo e by k opotliwe, dlatego zastosowanie zmiennej $root pozwala naspor oszcz dno czasu i nerwów:
grub> ls ($root)/
W efekcie zobaczysz krótk list plików i katalogów umieszczonych w systemieplików tej partycji. Znajd si na niej takie pozycje jak etc/, bin/ lub dev/. Pami taj,e to zupe nie osobna funkcja polecenia ls z GRUB-a. Wcze niej wypisywa o ono
urz dzenia, tablice partycji i czasami informacje nag ówkowe systemów plików.Teraz pozwala na faktyczne przegl danie zawarto ci tych systemów plików.
W podobny sposób mo esz te zajrze g biej w hierarchi plików i katalogówdanej partycji. Gdy na przyk ad chcesz zobaczy zawarto katalogu /boot, mo eszu y nast puj cego polecenia:
grub> ls ($root)/boot
Za pomoc klawiszy strza ek w gór i w dó mo esz przegl da zawarto historiipolece , natomiast klawisze strza ek w lewo i w prawo umo liwiaj edycj aktualniewybranego polecenia. Podobnie dzia aj standardowe kombinacje klawiszy Ctrl+Ni Ctrl+P.
UWAGA
Poleć książkęKup książkę
144 R o z d z i a 55
Polecenie set pozwala na przejrzenie wszystkich zdefiniowanych w danymmomencie zmiennych programu GRUB:
grub> set?=0color_highlight=black/whitecolor_normal=white/black--ciach--prefix=(hd0,msdos1)/boot/grubroot=hd0,msdos1
Jedn z najwa niejszych zmiennych programu jest zmienna $prefix definiuj casystem plików i katalog, w którym GRUB powinien szuka swojej konfiguracjioraz dodatkowych plików. Wi cej informacji na ten temat podam ju w nast pnympunkcie.
Po zapoznaniu si z interfejsem wiersza polece GRUB-a mo esz wprowadzipolecenie boot, eby uruchomi system z zastosowaniem aktualnej konfiguracji,albo nacisn klawisz Esc, eby wróci do menu programu. Jednak teraz uruchomsystem, poniewa zajmiemy si konfigurowaniem GRUB-a, a to najlepiej robiz wykorzystaniem narz dzi oferowanych przez system operacyjny.
5.5.2. Konfigurowanie programu GRUBKatalog konfiguracji GRUB-a zawiera g ówny plik konfiguracyjny (grub.cfg) orazwiele modu ów adowanych o rozszerzeniu .mod. Wraz z powstawaniem kolejnychwersji programu modu y te by y przenoszone do podkatalogów, takich jak i386-pc.Zazwyczaj pliki te znajduj si w katalogu /boot/grub lub /boot/grub2. Nie nale ybezpo rednio modyfikowa zawarto ci pliku grub.cfg. Znacznie lepiej b dzie, je eliu yjesz polecenia grub-mkconfig (a w dystrybucji Fedora — grub2-mkconfig).
Przegl danie pliku grub.cfgNa pocz tek przejrzyjmy zawarto pliku grub.cfg, eby sprawdzi , w jaki sposóbGRUB inicjuje swoje menu oraz opcje j dra. Plik ten zawiera ró ne poleceniaGRUB-a, których lista zazwyczaj zaczyna si od pewnych operacji inicjuj cych.Nast pnie pojawia si lista pozycji menu dla ró nych konfiguracji j dra i procesujego rozruchu. Sama inicjacja nie jest bardzo skomplikowana. To zaledwie kilkapolece definicji zmiennych oraz konfiguracji trybu wy wietlania, na przyk adtakich:
if loadfont /usr/share/grub/unicode.pf2 ; then set gfxmode=auto load_video insmod gfxterm--ciach--
Poleć książkęKup książkę
J a k u r uc ha m i a s i L i nux ? 145
Dalej w pliku powinni my zobaczy dost pne konfiguracje rozruchu systemu,przy czym ka da z nich b dzie zaczyna si od polecenia menuentry. Korzystaj cz tego, czego nauczy e si w poprzednim punkcie, z pewno ci uda Ci si odczy-ta i zrozumie zawarto poni szego przyk adu:
menuentry 'Ubuntu, with Linux 3.2.0-34-generic-pae' --class ubuntu --class gnu-linux --class gnu--class os {
recordfail gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 70ccd6e7-6ae6-44f6-812c-51aab8036d29 linux /boot/vmlinuz-3.2.0-34-generic-pae root=UUID=70ccd6e7-6ae6-44f6-812c-51aab8036d29 ro quiet splash $vt_handoff initrd /boot/initrd.img-3.2.0-34-generic-pae}
Przyjrzyj si poleceniom submenu. Je eli w pliku grub.cfg znajduje si wielepolece menuentry, wi kszo z nich b dzie zapewne umieszczona wewn trz pole-cenia submenu, gromadz cego konfiguracje starszych wersji j dra, tak eby nieza mieca y g ównego menu programu.
Generowanie nowego pliku konfiguracyjnegoJe eli chcesz wprowadzi zmiany do konfiguracji swojego programu GRUB, raczejnie polecam r cznego edytowania pliku grub.cfg, poniewa jest on generowanyautomatycznie i od czasu do czasu system nadpisuje jego zawarto . Now kon-figuracj lepiej wprowadzi w innym miejscu, a nast pnie uruchomi poleceniegrub-mkconfig, eby wygenerowa nowy plik konfiguracyjny.
Poznawanie metod generowania pliku konfiguracyjnego najlepiej rozpocz odprzyjrzenia si pocz tkowi pliku grub.cfg. Powinien tam znajdowa si komentarzpodobny do poni szego:
### BEGIN /etc/grub.d/00_header ###
Po dok adniejszym sprawdzeniu tego tropu przekonasz si , e ka dy plikw katalogu /etc/grub.d jest skryptem pow oki, który generuje cz zawarto ci plikugrub.cfg. Samo polecenie grub-mkconfig jest kolejnym skryptem pow oki, któryuruchamia poszczególne pliki z katalogu /etc/grub.d.
Proponuj wypróbowa dzia anie tego polecenia (nie zapomnij o uprawnie-niach superu ytkownika). Nie trzeba si przy tym obawia o zniszczenie aktualnejkonfiguracji. Poni sze polecenie wypisuje jedynie wygenerowan konfiguracj nastandardowe wyj cie:
# grub-mkconfig
Poleć książkęKup książkę
146 R o z d z i a 55
A co zrobi , je eli chcesz doda nowe pozycje do menu albo kolejne poleceniado konfiguracji programu GRUB? Krótko mówi c, wszystkie takie zmiany umiew nowym pliku custom.cfg znajduj cym si w katalogu konfiguracyjnym programu,takim jak /boot/grub/custom.cfg.
D u sza odpowied b dzie ju troch bardziej z o ona. Katalog konfiguracji/etc/grub.d daje do wyboru dwie opcje: 40_custom oraz 41_custom. Pierwsza z nichjest skryptem, który mo esz samodzielnie edytowa , ale to rozwi zanie mniej sta-bilne. Ka da aktualizacja pakietu mo e zniszczy wszystkie zmiany, jakie tu wpro-wadzisz. Skrypt 41_custom jest znacznie prostszy i zawiera jedynie seri poleceaduj cych plik custom.cfg w momencie uruchamiania GRUB-a. Pami taj, e je eli
zdecydujesz si na t drug opcj , Twoje modyfikacje nie pojawi si podczasgenerowania pliku konfiguracyjnego.
Obie opcje w asnych plików konfiguracyjnych nie daj szczególnie wielkichmo liwo ci. W poszczególnych dystrybucjach w katalogu /etc/grub.d mo na zoba-czy ró ne dodatkowe elementy. Przyk adowo Ubuntu dodaje do konfiguracji opcjuruchomienia testu pami ci (memtest86+).
Aby wygenerowa i zapisa nowy plik konfiguracji GRUB-a, nale y zastoso-wa opcj -o podczas uruchamiania polecenia grub-mkconfig, podaj c lokalizacjwynikowego pliku, na przyk ad tak:
# grub-mkconfig -o /boot/grub/grub.cfg
U ytkownicy Ubuntu mog po prostu skorzysta z polecenia install-grub.W ka dym przypadku uprzednio pami taj o wykonaniu kopii bezpiecze stwadotychczasowego pliku konfiguracyjnego, upewnij si , e instalujesz nowy plik wew a ciwym katalogu i tym podobne.
Teraz mo esz przej do bardziej technicznych szczegó ów GRUB-a i ogólnieprogramów rozruchowych. Je eli czujesz ju znu enie tym tematem, mo esz odrazu przej do rozdzia u 6.
5.5.3. Instalowanie programu GRUBInstalowanie GRUB-a jest bardziej z o one od jego konfigurowania. Na szcz ciezazwyczaj nie musisz przejmowa si tym procesem, poniewa zadanie to przej-muje dystrybucja. Je eli jednak próbujesz wykona kopi dysku z systemem lubodtworzy taki dysk albo przygotowa w asn sekwencj rozruchow , ca kiemmo liwe, e nie obejdzie si bez samodzielnej instalacji programu rozruchowego.
Zanim przejdziemy dalej, proponuj przeczyta punkt 5.8.3, eby zorientowasi w sposobie rozruchu komputera PC i sprawdzi , czy masz do czynienia z pro-cedur MBR, czy raczej z EFI. Nast pnie musisz skompilowa GRUB-a i okre li ,w jakim katalogu ma zosta umieszczony. Domy lnie stosuje si katalog /boot/grub.Je eli dystrybucja sama przejmuje to zadanie, mo liwe, e samodzielne kompilo-wanie programu nie b dzie konieczne, ale je eli b dzie trzeba, mo esz zajrze dorozdzia u 16., eby pozna metody kompilowania oprogramowania z kodu ród o-
Poleć książkęKup książkę
J a k u r uc ha m i a s i L i nux ? 147
wego. Warto si przy tym upewni , e podczas kompilacji u ywany jest w a ciwycel, poniewa dla procedur MBR i UEFI stosowane s ró ne cele kompilacji.Dodatkow ró nic jest wersja procesu EFI — mo e by 32-bitowa lub 64-bitowa.
Instalowanie GRUB-a w swoim systemieInstalowanie programu rozruchowego wymaga zdefiniowania elementów, takich jak:
docelowy katalog programu widzianego przez aktualnie pracuj cy system;zazwyczaj jest to katalog /boot/grub, ale je eli instalujesz program rozruchowyna innym dysku albo u ywasz innego systemu, katalog ten mo e by inny,
aktualne urz dzenie docelowego dysku dla GRUB-a, aktualny punkt montowania partycji rozruchowej UEFI, w przypadku
procedury rozruchowej UEFI.
Pami taj, e GRUB jest systemem modularnym, ale sam program musi odczy-ta system plików z tym programem, eby móg za adowa odpowiednie w danejchwili modu y. Twoim zadaniem jest tu skonstruowanie takiej wersji programu,która b dzie w stanie odczyta ten system plików, co pozwoli jej na za adowaniepozosta ej cz ci swojej konfiguracji (plik grub.cfg) oraz wszystkich wymaganychmodu ów. W Linuksie oznacza to zwykle konieczno zbudowania wersji programuz za adowanym ju modu em ext2.mod. Po przygotowaniu takiej wersji pozostajeju tylko umieszczenie jej w cz ci dysku przeznaczonej do rozruchu systemui skopiowanie pozosta ych plików do katalogu /boot/grub.
Na szcz cie w zestawie z programem GRUB dostarczane jest narz dzieo nazwie grub-install (nie nale y go myli z poleceniem install-grub z Ubuntu),które wykonuje wi kszo prac zwi zanych z instalacj plików i konfigurowaniemGRUB-a. Je li na przyk ad aktualny dysk to /dev/sda i na nim chcesz zainstalowaGRUB-a z zastosowaniem standardowego katalogu /boot/grub, poni sze poleceniezainstaluje program rozruchowy w MBR:
# grub-install /dev/sda
Nieprawid owa instalacja GRUB-a mo e spowodowa uszkodzenie sekwencji roz-ruchu systemu operacyjnego, dlatego nie wykonuj tej operacji pochopnie. Je eli maszw tpliwo ci, lepiej najpierw dowiedz si , jak mo na wykona kopi zapasow MBRza pomoc polecenia dd, wykonaj kopi katalogu aktualnie zainstalowanej wersjiGRUB-a i upewnij si , e masz plan na wypadek awarii.
Instalowanie GRUB-a na zewn trznym no nikuAby zainstalowa GRUB na no niku danych niezale nym od aktualnego systemu,nale y zdefiniowa katalog GRUB-a na tym urz dzeniu, tak jak widzi go aktualniepracuj cy system. Za ó my, e docelowe urz dzenie to /dev/sdc, a katalog podsta-wowy (lub rozruchowy) systemu plików z tego urz dzenia (na przyk ad /dev/sdc1)
OSTRZE ENIE
Poleć książkęKup książkę
148 R o z d z i a 55
zamontowany jest w aktualnym systemie w katalog /mnt. Oznacza to, e podczasinstalowania GRUB-a aktualny system b dzie widzia pliki programu rozrucho-wego w katalogu /mnt/boot/grub. A zatem uruchamiaj c polecenie grub-install,musisz zastosowa poni sze parametry:
# grub-install --boot-directory=/mnt/boot /dev/sdc
Instalowanie GRUB-a w systemach z UEFIProcedura instalacji w systemach z UEFI powinna by prostsza, poniewa w takiejsytuacji trzeba tylko skopiowa program rozruchowy we w a ciwe miejsce. Oprócztego konieczne jest jednak „zaprezentowanie” programu rozruchowego firm-ware’owi komputera za pomoc polecenia efibootmgr. Je eli polecenie to jestdost pne, program grub-install uruchomi je automatycznie, dlatego w teoriiinstalacja GRUB-a na partycji UEFI wymaga b dzie jedynie wydania poni szegopolecenia:
# grub-install --efi-directory=katalog_efi –-bootloader-id=nazwa
W poleceniu tym parametr katalog_efi opisuje umiejscowienie katalogu UEFIw aktualnym systemie (zazwyczaj jest to katalog /boot/efi/efi, poniewa partycjaUEFI jest najcz ciej montowana w katalogu /boot/efi), natomiast parametrnazwa jest prostym identyfikatorem programu rozruchowego, który omówiw punkcie 5.8.2.
Niestety podczas instalowania programu rozruchowego dla UEFI mo e poja-wi si wiele ró nych problemów. Przyk adowo podczas instalowania go na dysku,który ma si znale w innym systemie, musimy znale sposób na zaprezento-wanie nowego programu rozruchowego firmware’owi nowego komputera. Pozatym procedura instalacji na zewn trznych no nikach danych wygl da zupe nieinaczej.
Jednak najpowa niejszym problemem jest procedura bezpiecznego rozruchuUEFI (ang. secure boot).
5.6. Problemy z bezpiecznym rozruchem UEFIJednym z najnowszych problemów, z którymi musz si zmaga systemy linuk-sowe, jest funkcja bezpiecznego rozruchu pojawiaj ca si w najnowszych kompu-terach PC. Gdy jest aktywna, UEFI wymaga od programu rozruchowego cyfro-wego podpisu wystawionego przez zaufan organizacj . Microsoft wymóg naproducentach sprz tu dostarczaj cych system Windows 8, eby zawsze u ywalifunkcji bezpiecznego rozruchu. W efekcie ka da próba uruchomienia zainsta-lowanego, niepodpisanego programu rozruchowego (a jest to powszechne w linuk-sowych dystrybucjach) skazana jest na niepowodzenie.
Poleć książkęKup książkę
J a k u r uc ha m i a s i L i nux ? 149
Najprostsz metod obej cia tego problemu dla osób niezainteresowanychu ywaniem systemów Windows jest wy czenie funkcji bezpiecznego rozruchuw ustawieniach UEFI. Niestety nie sprawdzi si to w komputerach z dwoma sys-temami, a poza tym nie jest to rozwi zanie odpowiednie dla wszystkich u ytkow-ników. W zwi zku z tym dystrybucje Linuksa coraz cz ciej dostarczaj podpisaneprogramy rozruchowe. Niektóre rozwi zania s tylko programami wst pnymi dlaGRUB-a, ale niektóre to w pe ni podpisane sekwencje rozruchu systemu (od pro-gramu rozruchowego a po j dro). Inne rozwi zanie polega na zastosowaniu zupe -nie nowego rodzaju programu rozruchowego (programy te w wi kszo ci bazujna programie efilinux).
5.7. adowanie innych systemów operacyjnychUEFI bardzo u atwia obs ug innych systemów operacyjnych, poniewa na par-tycji EFI mo na zainstalowa kilka ró nych programów rozruchowych. Niestetytakie rozwi zania nie s obs ugiwane przez stary dobry rekord MBR, dlatego nawetw komputerach z UEFI mo emy by zmuszeni do u ywania programu rozrucho-wego wspó pracuj cego z MBR. Mo liwe jest natomiast takie skonfigurowanieGRUB-a, eby za adowa i uruchomi inny program rozruchowy umieszczony nawyznaczonej partycji. Taki proces nazywany jest rozruchem a cuchowym (ang.chainloading).
Aby zastosowa rozruch a cuchowy, nale y utworzy now pozycj menuw konfiguracji GRUB-a (stosuj c metody opisane w podpunkcie „Generowanienowego pliku konfiguracyjnego”). Oto przyk adowa konfiguracja uruchamiaj casystem Windows zainstalowany na trzeciej partycji dysku:
menuentry "Windows" { insmod chain insmod ntfs set root=(hd0,3) chainloader +1}
Warto +1 w opcji chainloader nakazuje za adowa dowolne dane, jakie znaj-duj si w pierwszym sektorze tej partycji. Mo liwe jest te bezpo rednie za a-dowanie ca ego pliku. Przyk adowo poni szy wariant umo liwia za adowanie plikuaduj cego system MS-DOS, czyli io.sys:
menuentry "DOS" { insmod chain insmod fat set root=(hd0,3) chainloader /io.sys}
Poleć książkęKup książkę
150 R o z d z i a 55
5.8. Szczegó y programu rozruchowegoTeraz przyjrzymy si pokrótce wewn trznym mechanizmom programu rozrucho-wego. Je eli nie interesuje Ci ta tematyka, mo esz spokojnie przej do nast p-nego rozdzia u.
Je li chcesz zrozumie zasad dzia ania takich programów jak GRUB, musiszprzyjrze si sposobom rozruchu komputera PC po w czeniu zasilania. Z powoduró nych braków tradycyjnych mechanizmów rozruchu komputerów PC istniejekilka wariantów tego procesu, ale cz si one w dwa g ówne schematy — MBRi UEFI.
5.8.1. Rozruch MBROprócz informacji o partycjach opisywanych ju w podrozdziale 4.1, rekord roz-ruchowy MBR (ang. Master Boot Record) zawiera niewielki obszar, który jest ado-wany do pami ci przez BIOS i uruchamiany zaraz po zako czeniu wst pnegotestu (POST — ang. Power-On Self-Test). Niestety jest to zbyt ma a przestrze ,eby zmie ci w niej jakikolwiek program rozruchowy, dlatego wykorzystywane jest
dodatkowe miejsce, co tworzy tak zwany wieloetapowy program rozruchowy.W tym przypadku pierwszy kawa ek kodu z rekordu MBR zajmuje si jedynieza adowaniem pozosta ej cz ci kodu programu rozruchowego, który najcz ciejzostaje upchni ty pomi dzy rekordem MBR a pierwsz partycj na dysku.
Oczywi cie takie rozwi zanie nie jest zbyt bezpieczne, poniewa ka dy programmo e nadpisa znajduj cy si w tym miejscu kod, ale z metody tej korzysta wi k-szo programów rozruchowych, w tym i sam GRUB. Co wi cej, ta metoda roz-ruchu nie wspó pracuje z partycjami GPT, poniewa tablica GPT umieszczana jestzaraz za rekordem MBR. Mechanizm GPT nie narusza jednak samego MBR w celuzachowania wstecznej zgodno ci.
Obej ciem tego problemu w przypadku partycji GPT jest przygotowanieniewielkiej partycji nazywanej partycj rozruchow o specjalnym identyfikatorzeUUID, która daje programowi rozruchowemu do miejsca na dysku. Partycje GPTs jednak zazwyczaj u ywane w po czeniu ze schematem UEFI, a nie z trady-cyjnym BIOS-em.
5.8.2. Rozruch UEFIProducenci komputerów PC oraz firmy tworz ce oprogramowanie zauwa yli, etradycyjny proces rozruchu zwi zany z BIOS-em jest bardzo ograniczony, dlategozdecydowano si przygotowa nowsze rozwi zanie o angielskiej nazwie ExtensibleFirmware Interface (EFI). Troch czasu up yn o, zanim EFI przyj o si na kom-puterach PC, ale dzisiaj jest ju ca kiem powszechne. Aktualnym standardem jestUEFI (Unified EFI), które udost pnia takie funkcje jak wbudowana pow okaoraz mo liwo odczytywania tablic partycji i nawigowania w systemach plików.Sposób partycjonowania GPT jest cz ci standardu UEFI.
W systemach z UEFI rozruch wygl da zupe nie inaczej i jest zdecydowanieatwiejszy do zrozumienia. W tym przypadku wykonywalny kod rozruchowy nie
Poleć książkęKup książkę
J a k u r uc ha m i a s i L i nux ? 151
musi znajdowa si poza systemem plików. Na dysku tworzony jest specjalnysystem plików nazywany systemow partycj EFI (ang. EFI System Partition —ESP), który zawiera katalog o nazwie efi. Ka dy program rozruchowy ma swójw asny identyfikator oraz podkatalog, taki jak efi/microsoft, efi/apple albo efi/grub.Plik programu rozruchowego musi mie rozszerzenie .efi i znajdowa si w jednymz tych katalogów, razem ze wszystkimi plikami wspomagaj cymi.
Partycja ESP ró ni si od partycji rozruchowej BIOS opisywanej w punkcie 5.8.1i ma inny identyfikator UUID.
I tutaj pojawia si ma y problem. Nie mo na po prostu umie ci kodu staregoprogramu rozruchowego w takim katalogu, poniewa kod ten zosta przystoso-wany do wspó pracy z interfejsem BIOS-u. Konieczne staje si stosowanie progra-mów rozruchowych przystosowanych do pracy z UEFI. Kiedy przyk adowo stosu-jesz GRUB, musisz u y specjalnej wersji dla UEFI, a nie dla BIOS-u. Dodatkowokonieczne jest „przedstawienie” takiego programu rozruchowego firmware’owikomputera.
Jak ju wspomina em w podrozdziale 5.6, pojawia si te problem „bez-piecznego rozruchu”.
5.8.3. Jak dzia a GRUB?Podsumuj ten rozdzia opisaniem sposobów dzia ania programu GRUB.
1. BIOS lub firmware komputera PC inicjuje elementy sprz towe i poszukujekodu rozruchowego na dyskach w kolejno ci ustalonej w konfiguracji.
2. Po odnalezieniu kodu rozruchowego BIOS lub firmware aduje go do pami cii uruchamia. To w tym momencie GRUB o ywa.
3. adowane s g ówne funkcje GRUB-a. 4. Nast puje inicjacja. W tym momencie GRUB mo e ju uzyska dost p dodysków i systemów plików.
5. GRUB odszukuje swoj partycj podstawow i pobiera z niej konfiguracj . 6. GRUB daje u ytkownikowi szans na zmian tej konfiguracji. 7. Po up yni ciu czasu oczekiwania GRUB wykonuje instrukcje z konfiguracji(sekwencj polece opisywan w punkcie 5.5.2).
8. W trakcie wykonywania instrukcji konfiguracyjnych GRUB mo e za adowadodatkowy kod (modu y) z partycji podstawowej.
9. GRUB wykonuje polecenie boot, które aduje i uruchamia j dro zgodniez instrukcjami podawanymi w poleceniu linux.
Kroki 3. i 4. podanej wy ej sekwencji, w których adowany jest podstawowyprogram GRUB-a, mog by bardzo skomplikowane, co wynika z ró norodno citradycyjnego mechanizmu rozruchu komputerów PC. Podstawowe pytanie brzmiw tym momencie: „Gdzie jest j dro GRUB-a?”. Mo na na nie odpowiedzie natrzy ró ne sposoby.
UWAGA
Poleć książkęKup książkę
152 R o z d z i a 55
Cz ciowo mo e by upchni te pomi dzy rekordem MBR a pocz tkiempierwszej partycji.
Znajduje si na zwyczajnej partycji na dysku. Umieszczony jest na specjalnej partycji rozruchowej: partycji rozruchowej
GPT, partycji systemowej EFI albo gdzie indziej.
We wszystkich przypadkach, z wyj tkiem u ycia partycji ESP, BIOS komputeraza aduje 512 bajtów rekordu MBR i to w a nie od tego zaczyna si praca GRUB-a.Ten niewielki wycinek kodu (pobrany z pliku boot.img z katalogu GRUB-a) nie jestjeszcze jego j drem, ale przechowuje dane o jego lokalizacji i zajmuje si jegoza adowaniem do pami ci.
Je eli jednak korzystasz z partycji ESP, ca y kod GRUB-a umieszczany jestw jednym pliku. Firmware komputera mo e wtedy przeszuka partycj ESP i bez-po rednio uruchomi j dro GRUB-a albo dowolny inny program rozruchowy, jakisi na niej znajdzie.
Niestety w przypadku wi kszo ci systemów nie jest to jeszcze pe ny obrazsytuacji. Programy rozruchowe mog wymaga za adowania obrazu wst pnegosystemu plików w pami ci RAM i dopiero potem przyst pi do adowania i uru-chamiania j dra systemu operacyjnego. To w a nie takie zachowanie definiujeparametr konfiguracji initrd opisywany w podrozdziale 6.8. Zanim jednak zacznieszpoznawa wst pny system plików w pami ci RAM, powiniene dowiedzie si ,w jaki sposób uruchamiana jest przestrze u ytkownika. I tym zajmiemy siw nast pnym rozdziale.
Poleć książkęKup książkę
Skorowidz
Aabstrakcje, 24adres
IP, 252MAC, 258
akcjactrlaltdel, 188respawn, 187sysinit, 188
aktywowanie jednostki, 160aliasy, 370analiza sieci lokalnej, 276aplikacje, 382
internetowe, 435sieciowe, 295
archiwa skompresowane, 69archiwizowanie, 67, 68argumenty
kontrolne, 218modu u, 221pojedyncze, 324
ARP, Address Resolution Protocol, 289ATA, 96ataki DoS, 313
Bbazy danych, 436biblioteka, 398
gobject, 399libata, 96
biblioteki wspó u ytkowane, 399–402BIOS, 137, 150bit setuid, 212–215b dy, 56
drugorz dne strony, 238podstawowe strony, 238procesu budowania, 431stron, 238typowe, 57
brama domy lna, 255buforowanie, 268
dysku, 113systemu plików, 113
Ccele
kompilacji, 408systemu autoconf, 425
Poleć książkęKup książkę
446 S k o r o w i d z
CIDR, Classless Inter-Domain Routing, 253cron
pliki crontab, 210cudzys owy, 321
podwójne, 323pojedyncze, 322
CUPS, 391czas, 206
sieciowy, 208systemowy, 197, 234trwania, 234u ytkownika, 234
Ddebuggery, 411debugowanie, 55definicje makr, 397demon
inetd, 305xinetd, 305
DHCP, 276DNS, 256, 258dodawanie
do cie ki, 368tras, 261u ytkowników, 357
dokumenty miejscowe, 338domy lne ustawienia
pow oki, 375u ytkownika, 375
dost p dodysków, 101jednego urz dzenia, 98plików, 361serwera, 355
dowi zania symboliczne, 65drukowanie, 390dyrektywy warunkowe, 398dysk twardy, 82, 99, 106
PATA, 84SATA, 83, 96SSD, 107
dzia anieGRUB, 151pami ci, 237procesu udevd, 88procesu Upstart, 183programu pkg-config, 427
dziennik systemowy, 199
Eedycja wiersza polece , 50edytor, 376edytor tekstu, 51eksplorowanie klientów serwera X, 384elementy pierwotne, 309Ethernet, 258, 289Ethernet bezprzewodowy, 291ewolucja systemów plików, 130ext3, 108ext4, 108
FFAT, 109FFS, Fas File System, 108filtrowanie
wed ug protoko u i portu, 307wed ug statusu po czenia, 308
filtry wydruku, 392FTP, File Transfer Protocol, 249funkcja, 200
Ggenerowanie pliku konfiguracyjnego, 145geometria
dysku, 105partycji, 105
globbing, 42gniazda, 315gniazda domenowe systemu, 317GNU autoconf, 420GRUB
dzia anie, 151instalowanie, 146konfigurowanie, 140, 144menu, 140przeszukiwanie urz dze , 142wiersz polece , 142
grupa, 205
Hhas a, 222, 356hierarchia katalogów, 35, 70host, 258host lokalny, 270HTTP, 296
Poleć książkęKup książkę
S k o r o w i d z 447
Iidentyfikator
procesu, 326UUID, 112, 113u ytkownika
efektywny, 212rzeczywisty, 212zapisany, 212
identyfikowanie u ytkowników, 215informacje o u ytkownikach, 216inicjowanie j dra, 135init System V
farma dowi za , 189identyfikowanie rodzaju procesu, 156run-parts, 190sekwencja polece rozruchowych, 188sterowanie procesem, 191
instalowanieoprogramowania, 428plików crontab, 210programu GRUB, 146
instancja, 172sesji, 389systemowa, 389
instrukcja case, 333interfejs
niezarz dzany, 265SCSI, 82sieciowy j dra, 259u ytkownika, 379
komponenty, 380IP, 289IPC, Interprocess Communication, 316
JJava, 415j dro, kernel, 24, 26, 73jednostka [email protected], 172jednostki, 157jednostki pomocnicze, 169j zyk
Emacs Lisp, 414Java, 415JavaScript, 414m4, 415Mathematica, 415Matlab, 414Octave, 414
Perl, 414PHP, 414Python, 413Ruby, 414Tcl, 415
j zyki skryptowe, 412
Kkatalog
/bin, 71/boot, 73/dev, 71/etc, 71, 198/home, 71/include, 73/info, 73/lib, 71/local, 73/man, 73/media, 73/opt, 73/proc, 72/sbin, 72/share, 73/sys, 72/tmp, 72/usr, 72/var, 72
katalogidomowe, 359g ówne, 72kompilacji, 423nag ówkowe, 396
klawiatura, 387klient
DHCP, 277NFS, 362SSH, 303
klucze hostów, 301kod wyj cia, 327kolejno plików uruchomieniowych, 371kompilacja j dra systemu, 434kompilator j zyka C, 394kompilowanie
oprogramowania, 417pakietów, 416
kompresja, 352kompresowanie plików, 67komunikacja procesów z sieci , 315
Poleć książkęKup książkę
448 S k o r o w i d z
komunikat o b dzie, 56, 431–433komunikaty rozruchowe, 134konfigurowanie
interfejsów sieciowych, 260narz dzia NetworkManager, 265procesu udevd, 88programu GRUB, 140, 144regu , 285sieci, 247
aktywowana podczas rozruchu, 261mened ery konfiguracji, 263r czna, 262
systemd, 160systemu, 197systemu PAM, 217udzia u plikowego, 358Upstart, 178zale no ci, 159
konsekwencje dwóch rodzajów pow ok, 372konsole wirtualne, 84konsolidacja z bibliotekami, 398, 402konstrukcja
&&, 330||, 330
konstrukcje logiczne, 330kontrola zada , 61konwersja formatów, 392kopia struktury katalogów, 348kopiowanie pliku, 345korzystanie z pow oki, 37
Lliczba argumentów, 325litera y, 321
adowanie innych systemów operacyjnych, 149cza internetowe, 279
MMAC, Media Access Control, 258magistrala SCSI, 93make
aktualizowanie, 406argumenty, 407budowanie programu, 406makra, 408
opcje wiersza polece , 407wbudowane regu y, 405wiersz polece , 407zmienne, 408
manipulowaniehas ami, 204u ytkownikami, 204
maskauprawnie , 370podsieci, 253
maskarada IP, 280MBR, 103mened ery
konfiguracji sieciowych, 263okien, 380wy wietlaczy, 383
metody dost pu do urz dzenia, 98MMU, Memory Management Unit, 237modu , 24modu y systemu PAM, 221modyfikowanie
plików uruchomieniowych, 366sekwencji uruchamiania, 190tablicy partycji, 104uprawnie , 64
monitorowanieoperacji wej cia-wyj cia, 241poszczególnych procesów, 244urz dze , 91urz dze wej cia-wyj cia, 243wydajno ci procesora, 239zasobów, 233
montowanieponowne systemu plików, 115systemu plików, 110, 114
mysz, 387
Nnadawanie procesom priorytetów, 234nap d DVD, 83naprawianie systemów plików, 119narz dzia
diagnostyczne, 306do zarz dzania partycjami, 102kompresuj ce, 70programistyczne, 393skryptów pow oki, 338
narz dzie, Patrz programNAT, 280nazewnictwo urz dze , 82
Poleć książkęKup książkę
S k o r o w i d z 449
nazwahosta, 267skryptu, 326
nazwy wieloznaczne, 42, 43notacja CIDR, 253numery portów, 273
Oobliczenia
na danie, 438rozproszone, 438
obs uga list pustych parametrów, 329odczyt j dra, 103ograniczenia skryptów pow oki, 320okno pow oki, 37opcje
d ugie, 115krótkie, 114montowania systemów plików, 114polecenia, 59rozruchu, 135sieciowych us ug plikowych, 363skryptu configure, 423
operacja kopiowania, 349operacje wej cia-wyj cia, 241operatory, 310
typu plików, 332uprawnie plików, 332
optymalizacja uruchamiania, 169organizacja systemu, 25organizowanie pliku Makefile, 409
Ppakiet, 24, 248pakiet Samba, 354pakiety
kodu ród owego, 419narz dziowe, 381ród owe, 434
PAM, Pluggable Authentication Modules, 217argumenty kontrolne, 218argumenty modu u, 221has a, 222konfiguracja systemu, 217regu y zestawiane, 218typy funkcji, 218
pami , 237Flash, 83masowa USB, 95operacyjna, 26
parametry j dra, 136partycja, 99
logiczna, 103podstawowa, 103rozszerzona, 103
partycjonowanie urz dze dyskowych, 102pe ny dost p, 313p tla
for, 334while, 335
plik.bashrc, 372.cshrc, 374/etc/fstab, 118/etc/hosts, 268/etc/nsswitch.conf, 269/etc/passwd, 202, 204/etc/services, 273/etc/shadow, 204/etc/shells, 218/etc/sudoers, 74config.log, [email protected], 173grub.cfg, 144Makefile, 404, 409resolv.conf, 268
plikicrontab, 210dziennika, 108, 358, 426jednostek, 161konfiguracyjne, 199kopie, 345nag ówkowe, 396, 397otwarte, 226przenoszenie w sieci, 345tymczasowe, 337uruchomieniowe, 366urz dze , 78, 86wspó u ytkowane, 345, 353z kropk , 47ród owe, 395
pobieranie danych, 344podmiana polece , 336podpow oki, 342podr cznik systemowy, man, 53, 368podsieci, 252podsystem, 24podsystem SCSI, 94pojemno systemu plików, 118
Poleć książkęKup książkę
450 S k o r o w i d z
polecenia, 35dzia aj ce na katalogach, 41po rednicz ce, 44SCSI, 93
polecenieawk, 339basename, 339cat, 37cd, 42cp, 40dd, 81diff, 46echo, 41exec, 342expr, 342file, 46find, 46grep, 44head, 47less, 45locate, 46ls, 39lsof, 227, 228ltrace, 230mkdir, 42mv, 40ping, 256pwd, 45rm, 41rmdir, 42sed, 340sort, 47strace, 229sudo, 74tail, 47tcpdump, 308touch, 40uptime, 235vmstat, 239xargs, 341xset, 388
po czenia, 271po czenia TCP, 272pomiar czasu procesora, 233pomoc, 52poprawki, 429porównywanie ci gów znaków, 333porty
równoleg e, 85szeregowe, 85TCP, 271
POST, Power-On Self-Test, 150pow oka, 54
bash, 371Bourne’a, 36, 320tcsh, 374
pow okibez logowania, 372interaktywne, 373logowania, 371
poziomy uruchomienia System V, 155praktyki instalacyjne, 428prawo w a ciciela procesu, 212preprocesor, 397priorytet, 200priorytet procesu, 234problemy z
bibliotekami, 402instalowaniem, 430kompilowaniem, 430
procesinit, 154, 156init System V, 186systemd, 167udevd, 88Upstart, 175
procesy, 59dzia aj ce w tle, 61jednow tkowe, 231wielow tkowe, 231
programat, 211cron, 209coreboot, 138efilinux, 138fdisk, 102gdisk, 102getty, 206gparted, 102GRUB, 138–140gzip, 67init, 154iostat, 241iotop, 243iw, 292lex, 412LILO, 138Linux Kernel EFISTUB, 139LOADLIN, 138login, 206lsof, 226, 306make, 403
Poleć książkęKup książkę
S k o r o w i d z 451
netcat, 310NetworkManager, 263–265parted, 102pidstat, 244pkg-config, 426rsync, 346, 348stronicuj cy, 376SYSLINUX, 138systemd, 154tar, 67tcpdump, 310traceroute, 257udevadm, 90Upstart, 154yacc, 412zcat, 69
programypomocnicze systemd, 173rozruchowe, 137, 138
protoko y procesu Upstart, 184protokó
ATA, 96DHCP, 276ICMP, 256SCSI, 95SSH, 299TCP, 271, 273UDP, 271, 274
przegl danieprocesów, 59tablicy partycji, 102
przekazywanie, 172przekazywanie litera u, 323przekierowywanie standardowego wej cia, 56prze czanie u ytkowników, 212przenoszenie plików, 345przerywanie dzia ania procesów, 60przestrze
j dra, kernel space, 25u ytkownika, user space, 24, 30, 125, 130, 153wymiany, 123
rozmiar, 124wykorzystywanie partycji, 123wykorzystywanie pliku, 124
przesy anie plików, 352przeszukiwanie
partycji, 142urz dze , 142
przezroczysto sieci, 383pu apki w plikach uruchomieniowych, 376punkt montowania, 111
Rramka, 258regu y
zapory sieciowej, 285zestawiane, 218
rejestrowanie dzienników systemowych, 197, 199reprezentacja czasu j dra, 207router, 277, 282rozpakowywanie
pakietów, 419plików tar, 68
rozpoznawanie nazw hostów, 267rozruch
awaryjny, 195MBR, 150UEFI, 148, 150
rozsy anie, 266rozwi zywanie problemów, 201rozwijanie nazw, 42RPC, Remote Procedure Call, 311rsync
integralno transferu, 351kompresja, 352kopiowanie struktury katalogów, 348ograniczanie przepustowo ci, 352pomijanie plików, 350przesy anie plików, 352sumy kontrolne, 351tryby informacyjne, 351
SSamba, 354
diagnostyka, 358dodawanie u ytkowników, 357dost p do plików, 361has a, 356katalogi domowe, 359konfigurowanie serwera, 354konfigurowanie udzia u plikowego, 358kontrola dost pu, 355korzystanie z klientów, 360pliki dziennika, 358uruchamianie serwera, 358usuwanie u ytkowników, 357
SATA, 96schemat
dysku, 100j dra, 101podsystemu SCSI, 94sterowników urz dze , 98
Poleć książkęKup książkę
452 S k o r o w i d z
SCSI, Small Computer System Interface, 82, 92,96
Secure Shell, 299sekcja [Install], 162sekwencja polece rozruchowych, 188serwer
DHCP, 277SSH, 302SSHD, 300X
dane wej ciowe, 385ustawianie preferencji, 385zdarzenia, 384
serwerysieciowe, 298WWW, 435
sie , 247bezprzewodowa, 291lokalna, 248prywatna, 279
skanowanie portów, 310sk adnia rozszerzona, 200skróty klawiaturowe, 51skrypt configure, 423skrypty pow oki, 36, 319s owo kluczowe elif, 329SMB, Server Message Block, 354specyfikatory, 163sprawdzanie
systemu plików, 121warunków, 330zalogowania, 373
SSD, solid-state disk, 107SSH, Secure Shell, 299SSHD, 300SSL, Secure Socket Layer, 249standardowe wej cie i wyj cie, 38standardowy strumie b dów, 55stdin, 38stdout, 38sterowniki urz dze , 29stosowanie poprawek, 429strefy czasowe, 207strofa expect, 182struktura
katalogu /etc, 198w z ów inode, 127
strumie b dów, 55suma kontrolna, 351superu ytkownik, 32, 74, 204symbol
aktualnego katalogu, 368zach ty, 369
synchronizacja procesów systemd, 167system
autoconf, 425DNS, 256, 268drukowania, 391GNU autoconf, 421NFS, 362PAM, 217, 221plików, 99, 107
buforowanie, 113CIFS, 361devtmpfs, 87ewolucja, 130ext2, 109ext3, 108ext4, 108FAT, 109FFS, 108HSF+, 109identyfikator UUID, 112initramfs, 193montowanie, 110naprawianie, 119o specjalnym znaczeniu, 122opcje montowania, 114pocz tkowy, 193pojemno , 118ponownie montowanie, 115sprawdzanie, 119struktura w z ów inode, 127tabela, 116tradycyjny, 126tworzenie, 109typy, 108UFS, 108wbudowany, 438
udev, 87V, 155, 173X Window System, 382
systemd, 156, 163dodawanie jednostek, 166jednostki, 157konfiguracja, 160programy pomocnicze, 173specyfikatory, 163typy jednostek, 157usuwanie jednostek, 167w czanie jednostek, 162zale no ci, 158
Poleć książkęKup książkę
S k o r o w i d z 453
zgodno z System V, 173zmienne, 163
systemowe pliki crontab, 210systemy do tworzenia oprogramowania, 418
cie kapolece , 49stron podr cznika, 368urz dze sysfs, 79wyszukiwania polece , 367
ledzeniedzia ania programu, 228procesów, 226procesów systemd, 167
rednie obci enia, 235rodowiska
interfejsów u ytkownika, 381u ytkowników, 365
Ttabela
routingu j dra, 254systemów plików, 116
tablicaMBR, 103partycji, 99, 102, 104
terminale, 84testy
arytmetyczne, 333ci gów znaków, 332plików, 331
t o wy wietlacza, 388translacja adresów sieciowych, 280trasy, 254tryb
informacyjny, 351j dra, kernel mode, 25pojedynczego u ytkownika, 195wypisywania zawarto ci archiwum, 68
trybyplików, 62wy wietlania, 84
tworzeniedok adnych kopii, 348dowi za symbolicznych, 66oprogramowania, 418pakietów, 422plików uruchomieniowych, 366
plików urz dze , 86systemu plików, 109zapór sieciowych, 287
typybaz danych, 437funkcji, 218jednostek, 157systemów plików, 108
UUEFI, 137, 148UFS, Unix File System, 108uko nik, 348uprawnienia, 62Upstart, 174
dzia anie procesu, 183inicjowanie procesu, 175konfiguracja, 178poziomy uruchomienia, 185protoko y, 184przegl danie zada , 177przej cia mi dzy stanami, 178strofa expect, 182ledzenie procesów, 182
zadania, 176zgodno z System V, 185
uruchamianiena danie, 168nowego procesu, 30przestrzeni u ytkownika, 153sekwencyjne us ug, 170serwera, 358serwera SSH, 302skryptów, 190systemu, 133us ug, 190
urz dzenia, 77audio, 86blokowe, 78gniazdkowe, 79optyczne, 98potokowe, 79SCSI, 97wej ciowe, 386znakowe, 79
us uga, 271, 295, 296D-Bus, 389
monitorowanie komunikatów, 390gniazdka sieciowego, 171syslog, 201tty1, 180
Poleć książkęKup książkę
454 S k o r o w i d z
ustanawianie po cze TCP, 272ustawianie czasu, 206usuwanie
tras, 261u ytkowników, 357
UTC, Universal Coordinated Time, 207UUID, Universally Unique Identifier, 112uwierzytelnianie u ytkowników, 215u ytkownik, 32, 197
root, 204specjalny, 203
u ywanieko cowego uko nika, 349narz dzia iostat, 241polecenia lsof, 228polecenia uptime, 235skryptów pow oki, 344systemu GNU autoconf, 421
Wwarstwa
aplikacji, 249fizyczna, 249, 258internetowa, 249, 250transportowa, 249, 271
warstwyabstrakcji, 24sieciowe, 249
w tki, 231w z y
inode, 128urz dze , 78
widok systemu plików, 126wieloetapowy program rozruchowy, 150wiersz polece , 50Wi-Fi, 291wirtualizacja, 437w a ciwo ci protoko u TCP, 273w czanie
jednostek, 162plików, 343
wrapper TCP, 306wspó u ytkowanie
drukarek, 359plików, 345, 353
wst pny odczyt j dra, 103wydajno procesora, 239wyj cie pow oki, 54
wykorzystanieprocesów, 225zasobów, 225
wy czanie systemu, 192wyra enia warunkowe, 328wysokie obci enia, 236wyszukiwanie otwartych plików, 226wy wietlanie
adresu IP, 252w tków, 231
wywo ania systemowe, 29, 228
XX Window System
mened ery wy wietlaczy, 383przezroczysto sieci, 383
Zzabezpieczenia, 214
sieci, 312, 314sieci bezprzewodowych, 293
zadaniajednorazowe, 211programu rozruchowego, 138wsadowe, 197
zale no cisystemd, 158warunkowe, 160
zale noConflicts, 159Requires, 158Requisite, 159Wants, 159
zapory sieciowe, 283zarz dzanie
pami ci , 28plikami tymczasowymi, 337procesami, 27urz dzeniami, 29u ytkownikami, 202
zatrzymywanie us ug, 190zdalne wywo ywanie procedur, RPC, 311zdarzenia serwera X, 384z o liwe programy, 313zmienianie
has a, 47, 357pow oki, 47urz dzenia, 89
Poleć książkęKup książkę
S k o r o w i d z 455
zmienne, 163pow oki, 48specjalne, 324rodowiskowe, 48, 424
znakkrzy yka, 320uko nika, 348zapytania, 43
znaki specjalne, 50zrównoleglanie zasobów, 168
Poleć książkęKup książkę
456 S k o r o w i d z
Poleć książkęKup książkę