email: darw32@poczta.onet.pl


Linux - 7.init

Plik /etc/inittab

Startując init odczytuje plik /etc/inittab. Odczytuje go ponownie po otrzymaniu sygnału SIGHUP (możesz go wysłać wydając polecenie kill -HUP 1 będąc rootem oczywiście), co eliminuje konieczność restartowania systemu po zmianie tegoż pliku.

Plik /etc/inittab może wydawać się nieco skomplikowanym jednak szybko go poznasz. Zaczniemy od omówienia sposobu włączenia oczekujących getty. Linia w pliku /etc/inittab ma następującą postać:

id:poziomy_pracy:akcja:proces

Dodatkowo plik może zawierać linie: puste i zaczynające się znakiem hash ("#"); obie są ignorowane.

id

Identyfikator linii. W przypadku getty najczęściej określa numer terminala, na którym program powinien nasłuchiwać (znak po /dev/tty). Powinien być unikalny i mieć określony rozmiar, nic więcej.

poziomy pracy

Poziomy pracy, na których powinno się wykonać zawartość linijki. Podaje się je jako liczby bez żadnych separatorów (np. 345). Poziomy pracy omówione są w następnej sekcji.

akcja

respawn oznacza, że program powinien być restartowany, once oznacza pojedyńcze uruchomienie programu.

proces

Polecenie do wykonania.

Aby uruchomić getty na pierwszym wirtualnym terminalu (/dev/tty1) we wszystkich trybach wieloużytnikowych (2-5) powinniśmy wstawić:

1:2345:respawn:/sbin/getty 9600 tty1

Pierwsze pole mówi, że proces pracuje na /dev/tty1. Drugie oznacza, że robi to na poziomach pracy 2, 3, 4, 5. Trzecie nakazuje restart polecenia po zakończeniu działania. Ostatnie pole jest poleceniem do wykonania (różne wersje getty wymagają różnych opcji. Szukając szczegółów zajrzyj do strony podręcznika).

Chcąc dodać więcej terminali lub linii dial-in (logowanie się przez modem) zmień odpowiednio /etc/inittab. Sprawdź strony podręcznika dotyczące: init, inittab, getty.

Jeżeli nie udało się uruchomić polecenia, a init został skonfigurowany do restartowania go system zostanie poważnie obciążony niekończącymi się restartami. Aby temu zapobiec init zapisuje informacje o częstotliwości restartowania programu, jeżeli odbywa się to zbyt często program poczeka 5 minut przed kolejną próbą.