tytuł oryginału: how linux works: what every superuser ...spis tre ci 9 5.8. szczegóïy programu...

48

Upload: others

Post on 28-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150
Page 2: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ść

Page 3: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 4: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 5: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 6: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 7: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 8: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 9: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 10: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 11: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 12: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 13: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 14: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 15: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 16: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 17: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 18: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 19: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 20: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 21: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 22: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 23: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 24: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 25: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 26: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 27: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 28: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 29: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 30: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 31: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 32: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 33: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 34: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 35: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 36: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 37: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 38: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 39: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 40: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 41: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 42: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 43: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 44: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 45: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

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ę

Page 46: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150

456 S k o r o w i d z

Poleć książkęKup książkę

Page 48: Tytuł oryginału: How Linux Works: What Every Superuser ...Spis tre ci 9 5.8. Szczegóïy programu rozruchowego .....150 5.8.1. Rozruch MBR .....150 5.8.2. Rozruch UEFI .....150