NOVELL 3102
Rafał Sikora
2014-06-02
Spis treści
1. Start systemu i poziomy pracy 2
a) Proces uruchamiania systemu 2
b) Początek procesu - z BIOSu do m...
16 downloads
20 Views
75KB Size
8
NOVELL 3102
Rafał Sikora
2014-06-02
Spis treści
1. Start systemu i poziomy pracy 2
a) Proces uruchamiania systemu 2
b) Początek procesu - z BIOSu do menedżera startowego 3
c) Bootloader – LILO 4
d) Bootloader - GRUB 5
e) Ładowanie Jądra 5
2. Systemy plików 5
a) Systemy plików 5
Start systemu i poziomy pracy
Proces uruchamiania systemu
Start systemu:
BIOS komputera uruchamia sprzęt.
BIOS przekazuje kontrolę nad komputerem do programu rozruchowego (LILO lub GRUB).
dalszym uruchamianiem zarządza jądro Systemu
Bootloader - fragmentu kodu, który uruchamia system operacyjny
MBR – master boot rekord – pierwszy sektor na dysku
Jak uruchamia się Linux:
Początek procesu - z BIOSu do menedżera startowego
BIOS odczytuje nagłówek programu rozruchowego z MBR
MBR zawiera nagłówek programu rozruchowego (zaledwie 446 bajtów) i tablicę partycji (64 bajty).
/boot/vmlinuz-wersja_kernela - jądro systemu dekompresuje się samodzielnie i przejmuje kontrolę nad dalszym uruchamianiem systemu.
Jądro:
Sprawdza ustawienia systemu
Odczytuje ustawienia generowane przez bios
Inicjuje podstawowe interfejsy sieciowe
Sterowniki będące częścią jądra sprawdzają sprzęt i odpowiednio inicjują.
Jądro – kontroluje system, zarządza dostępem do sprzętu i przydziela czas procesora i zasoby pamięci.
Initramfs – Initial RAM File System - Przygotowuje środowisko uruchomieniowe oraz zamontuje główny system plików
minimalne środowisko pracy linuxa, pozwala wykonyać programy przed zamontowaniem głównego systemu plików
Archiwum cpio, które jądro ładuje do ramu.
dostarcza zawsze program wykonawczy o nazwie init – program inicjuje system plików i kontynuuje
/boot/initrd – link do pliku /boot/initrd-wersja_kernela (spakowany cpio)
Kernel startuje program init zawarty w initramfs
/sbin/init –( program) na koniec startuje z głównego systemu plików
W celu przejrzenia skryptu init w initramfs rozpakujemy archiwum cpio:
mkdir /tmp/initramfs
cd /tmp/initramfs
ls /boot
gunzip –c /boot/initrd-2.6.16.46-0.12-default " cpio –i
less init
initramfs – jest tworzony i włącza odpowiednie moduły podczas instalacji.
Włączone moduły są umieszczone w zmiennej INITRD_MODULES= w katalogu /etc/sysconfig/kernel
Gdy musimy dodać lub skasować niektóre moduły - możemy edytować listę modułów i przebudować initramfs.
Przebudowanie initramfs można wykonać poleceniem mkinitrd.
INIT
Procesowi init przydzielany jest zawsze PID numer 1.
Startowanie init:
Uruchamia skrypty /etc/init.d/boot (skrypty kontrolują start usług, montują system plików.
Uruchamia skrypt /etc/init.d/rc
Bootloader – LILO
LILO – (LINUX LOADER) Podzielony na dwa moduły stage 1 i stage 2
STAGE 2 jest fragmentem pliku /boot/boot.b . Program /sbin/lilo ładuje LILO do boot sektora.
/etc/lilo.conf – zawiera całą konfigurację bootloadera.
boot=/dev/sda – podajemy gdzie znaleźć stage 1
install= /boot/boot.b – gdzie znaleźć stage 1
map=/boot/map – określamy lokalizację pliku z informacjami, komunikatami i tablicą deskryptów
Podajemy prompt gdy chcemy podczas pracy LILO był wyświetlany interfejs z wyborem systemu do załadowania. (możemy ten interfejs wywołać klawiszem TAB.
Przy podaniu parametru prompt możemy podać parametry:
timeout=120
default=OpenSUSE
Lokalizację jąder określamy parametrem
image=/boot/vmlinuz-2.6.31.5
Następne paramety
label=OpenSUSE – etykieta wyświetlana użytkownikowi
root=/dev/sdb1 – wkazuje lokalizację głównego systemu plików zarządzanego przez jądro
System plików powinien być zamontowany tylko do odczytu. (robimy to komendą: read-only )
Jeżeli sterownik potrzebny do startu systemu został skompilowany jako moduł, znajduje się w innym pliku niż jądro i należy wykonać obraz initial ramdisk ze wszystkimi potrzebnymi modułami i odwołać się do boot loadera, by załadował go do pamięci razem z jądrem:
initrd=/boot/initrd-2.6.31.5.img
Parametrem passwd=hasło – ustawiamy hasło do załadowania konkretnego systemu.
Other=/dev/sdb2 – stosujemy gdy chcemy załadować inny system niż linux.
LILO podczas ładowania systemu kolejno wyświetla litery napisu "LILO" informując nas o postępie prac.
L: został załadowany stage 1
LI: został załadowany stage 2
LIL: stage 2 został uruchomiony
LILO: skończono pracę bez błędów
Bootloader - GRUB
Składa się z 3 modułów: storage 1, storage 1.5, storage 2
Stage 1 i stage 2 zajmują się z grubsza tym samym, co analogiczne moduły LILO
Storage 1.5 umożliwia bootloaderowi zajrzenie do systemu plików podczas pracy.
Kod stage 1.5 znajduje się bezpośrednio za MBR i zajmuje 31.5 KB ( 32 KB - 512 B MBR ).
/boot/grub – (katalog) znajdują się dostępne moduły storage 1.5
Ls /boot/grub/*stage1_5 - wyświetlamy te moduły
Pliki konfiguracyjne GRUBa:
/etc/grub.conf
/boot/grub/menu.lst
NIE SKOŃCZONE
Ładowanie Jądra
Jądro ładuje proces init, znajduje się w /sbin. Jest on najważniejszym procesem i uruchamia on inne procesy.
/etc/inittab – plik konfiguracyjny procesu init
/var/log/boot.msg – przebieg ostatniego logowania
/etc/rc.d/boot.d/ - (katalog) jądro uruchamia stąd skrypty startowe, które aktywują kolejne urządzania albo montują systemy plików
Boot.clock – ustawia zegar systemowy
Idconfig – identyfikuje aktualną strefę czasową
Boot.sysctrn, boot.localnet, boot.isapnp – skrypty włączają interfejsy sieciowe
/etc/init.d/boot.local – skrypt pokazujący komunikat, że system został przygotowany (System Boot Control: The system bas been set up)
Następnie zostaje wywołany odpowiedni poziom pracy systemu. Standardowy system z pulpitem graficznym i obsługą sieci działa w poziomie 5.
W 5 poziomie pracy następuje uruchomione usługi (sieciowe i inne) i aktywowanie dzienników zdarzeń systemu.
W dalszej kolejności uruchamiane i ładowane są sterownik karty dźwiękowej, mapowania klawiatury, interfejsy drukarek CUPS, agent przesyłania poczty i usługi internetowe xinetd.
jądro ładuje X Window System i menedżera wyświetlania, który pozwala na zalogowanie użytkownika
Po zalogowaniu ładuje się wybrane środowisko pulpitu
Usługi i poziomy pracy systemu
Poziomy pracy (runlevels) decydują o tym, czy i kiedy usługa zostaje uruchomiona, a dodatkowo decydują o kolejności uruchamiania usług.
Poziom 1 – instalacja minimalna, trym jednodostępowy
Poziom 3 – instalacja minimalna z obsługą sieci
Poziom 5 – tryb graficzny
Poziomy pracy systemu:
Poziom 0 – zatrzymanie systemu
Poziom 1 – Tryb jednodostępny lub ratunkowy, tylko root ma możliwość logowania
Poziom 2 – wielodosępny lokalny z obsługą sieci
Poziom 3 – pełny tryb wielodostępny z obsługą sieci
Poziom 4 – Niewykorzystany
Poziom 5 – pełny tryb wielodostępny z obsługą sieci i menedżerem wyświetlania X
Poziom 6 – restart systemu
Init NR – przełączanie między trybami pracy (ROOT)
/etc/inittab – ustawiamy jaki poziom ma być uruchamiany domyślnie (id:5:initdefault)
Startx – uruchamia tryb graficzny
Po wpisaniu init 3 - Init sprawdza konfigurację /etc/inittab i uruchamia skrypt /etc/init.d/rc z wartością 3. Narzędzie rc zatrzyma wszystkie krypty których nie ma w /etc/init.d/rc3.d.
/etc/init.d/nazwa_usługi start – uruchomienie usługi
/etc/init.d/nazwa_usługi restart – restart usługi
/etc/init.d/nazwa_usługi stop – zatrzymanie usługi
Zarządzanie procesami i usługami
Monitorowanie i zarządzanie procesami
Program – uszeregowany zbiór poleceń przechowywany w pliku systemu
Proces – program załadowany do pamięci i wykonywany przez CPU
Proces użytkownika (user proces) – proces uruchomiony przez użytkownika
Proces demon – proces lub zbiór procesów, który czaeka na zdarzenie, by wywpać akcję na części programu. Proces systemowy niepowiązany z terminalem ani środowiskiem graficznym
Proces ID (PID) – unikalny identyfikator przydzielany każdemu procesowi w momencie jego rozpoczęcia
Proces potomny (podrzędny) chold proces – proces rozpoczęty przez inny proces, który jest procesem nadrzędnym dla procesu potomnego.
Proces nadrzędny - rodzicielski – proces rozpoczynający inne procesy
PPID – PID procesu nadrzędnego
CTRL + Z – przenosi proces na drugi plan, zatrzymuje program
bg – kontynuowanie zatrzymanego programu w tle
fg ID_zadania – przenosi proces do pierwszego planu
Nazwa_programu & - rozpoczyna program w tle
jobs - wyświetla zawartość listy kontroli zadań ( zadania zarzymane i uruchomione)
+ - oznacza które zadanie zareaguje na polecenie fg
- - oznacza który proces będzie miał znak + po zamknięciu procesu z tym znakiem
Monitorowanie procesów i priorytety
ps – przeglądamy pracujące procesy
a – pokazuje wszystkie procesy, które posiadają terminal kontrolny, włącznie z procesami innych użytkowników
x - pokazuje procesy z lub bez terminali kontrolnych
-w, w – dostarcza szczegółowych informacji
u – wyświetla w formacie zorientowanym dla użytkownika
f - Wyświetla hierarchiczną listę procesów (format drzewa)
-l - Długi format
U - Wybrane pod kątem faktycznego ID użytkownika
Pole
Opis
UID
ID użytkownika
PID
ID procesu
PPID
ID procesu rodzica
TTY
Numer terminalu kontrolnego
PRI
Numer priorytetu (im niższy, tym więcej czasu pracy procesora jest przydzielane do procesu).
NI (nice)
Wpływa na regulacje dynamicznego priorytetowania
STAT
Obecny stan procesu
TIME
Użyty czas CPU
COMMAND
Nazwa polecenia.
STAN PROCESU STAT MOŻE BYĆ:
Kod
Opis
R (runnable)
wykonywanie- proces jest uruchomiony i wykonuje kolejne instrukcje
S (sleeping)
oczekiwanie - czeka na zewnętrzne zdarzenie (takie, jak dostarczenie danych)
D (Uninterruptable sleep)
blokada przerwań - proces nie może być zakończony w tym momencie
T (Traced or Stopped)
Zawieszenie
X
jest martwy
Z (zombie)
Proces zakończył się, ale nie było jeszcze żądania jego wyniku (wartości zwrotnej) - czyli zamknięcie procesu nie zostało jeszcze obsłużone przez proces rodzica.
pstree – przeglądanie i zarządzanie procesami w formacie drzewa
-p – wyświetla PID procesów
-u – wyświetla ID użytkownika (jeśli zmienił się właściciel)
nice – uruchamia proces z ustaloną wartością nice [-19:20] (tylko root ujemne)
renice – zmienia wartość nice pracującego procesu(tylko root)
top – monitor procesów w czasie rzeczywistym. Może też zmieniać wartość nice, zamykać procesy
Systemy plików
cat /proc/partitions - Przeglądamy bieżącą, używaną przez jądro systemu, tablicę partycji
partprobe - zmusić jądro do uaktualnienia tablicy partycji
Systemy plików
FAT 32
mkfs.msdos –n nazwa_etykiety /dev/hda7
EXT2
mkfs –t ext2 –v /dev/hda8
RAISERFS
mke2fs /dev/hda9
Montowanie
mount albo cat /proc/mounts - Przeglądamy informacje o zamontowanych systemach plików
mount –tvfat /dev/sdb1 /mount/pendrive – montowanie pendrive
/etc/mtab – aktualnie zamontowane
/etc/fstab – montowane na stałe
mount –a - montujemy wszystkie nowe systemy plików i wymuszamy ponowny odczyt pliku /etc/fstab
Dopisujemy do tego pliku:
/dev/hda7 /ścieżka_montowania vfat defaults 1 2
/dev/hda8 /ścieżka_montowania ext2 defaults 1 2
/dev/hda9 /ścieżka_montowania reiserfs defaults 1 2
Rafał Sikora NOVELL 3102 03.06.2014r.
[Wpisz tytuł dokumentu]
[Wpisz imię i nazwisko autora]
[Wybierz datę]