Provided by: manpages-pl_20060617-4_all bug

NAZWA

       init, telinit - sterowanie procesu inicjujcego

SK/LADNIA

       /sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx ] [ 0123456Ss ]
       /sbin/telinit [ -t sekundy ] [ 0123456sSQqabcUu ]

OPIS

   Init
       Init  jest  przodkiem  wszystkich  procesow. Jego glownym zadaniem jest
       stworzenie procesow w oparciu o skrypt zapisany  w  pliku  /etc/inittab
       (patrz  te  inittab(5)).  Ten  plik  zawiera  zwykle  pozycje, ktore ka
       procesowi init pomnaa getty na kadej linii, na ktore uytkownicy mog  si
       zalogowa.  Kontroluje  te  samodzielne  procesy, ktorych istnienie jest
       konieczne w danym systemie.

POZIOMY PRACY

       Runlevel (poziom pracy) jest to  konfiguracja  oprogramowania  systemu,
       ktora  pozwala  zaistnie  tylko  wytypowanym  grupom  procesow. Procesy
       tworzone przez init dla kadego z tych poziomow s zdefiniowane  w  pliku
       /etc/inittab.  Init  moe by w jednym z omiu poziomow pracy: 0-6 i S lub
       s.  Poziom  pracy  jest  zmieniany  przez  uruchomienie  telinit  przez
       uprzywilejowanego  uytkownika.   telinit  wysyla odpowiednie sygnaly do
       init, mowice, w jaki tryb ma przej.

       Tryby pracy 0, 1, oraz 6  s  zarezerwowane.  Tryb  0  jest  uywany,  by
       zatrzyma  system,  tryb  6, by przeladowa system (reboot), a tryb 1, by
       wprowadzi system w tryb pracy jednego  uytkownika  (single-user  mode).
       Tryb  S  nie  jest pomylany dokladnie tak, by go uywa bezporednio, lecz
       raczej dla skryptow wykonywanych przy wchodzeniu w tryb 1.  Aby  uzyska
       wicej informacji na ten temat, zobacz strony podrcznika dla shutdown(8)
       i inittab(5).

       Tryby pracy 7-9 te s poprawne, cho niezbyt udokumentowane. To z  powodu
       "tradycyjnych"  wariantow Uniksa nie uywajcych ich.  Jeli jeste ciekaw,
       to wiedz, e poziomy S i s s w rzeczywistoci takie same.   Wewntrznie  s
       to tylko zastpcze nazwy dla takich samych trybow pracy.

BOOTOWANIE

       Po  tym  jak  init  jest  wywolany w ostatnim kroku sekwencji bootujcej
       jdra, szuka pliku /etc/inittab w  celu  znalezienia  w  nim  pola  typu
       initdefault  (patrz  te  inittab(5)). Pole initdefault okrela pocztkowy
       poziom pracy systemu. Jeli nie ma  tam  takiego  pola  (lub  wcale  nie
       istnieje   /etc/inittab),   poziom  pracy  musi  by  podany  z  konsoli
       systemowej.

       Poziom S lub s wprowadza system w tryb jednego uytkownika i nie  wymaga
       pliku  /etc/initttab.  W  trybie  jednego  uytkownika,  wywolywany jest
       /sbin/sulogin na urzdzeniu /dev/console.

       Podczas wchodzenia w tryb  jednego  uytkownika,  proces  init  inicjuje
       ustawienia  stty  konsoli  na  bezpieczne  wartoci. Ustawiany jest tryb
       clocal. Prdko sprztu i handshaking nie s zmieniane.

       Podczas wchodzenia w tryb  wielu  uytkownikow  po  raz  pierwszy,  init
       wykonuje  pozycje boot i bootwait, by pozwoli systemom plikow zamontowa
       si zanim uytkownicy bd mogli si zalogowa. Potem wykonywane s  wszystkie
       pozycje przypisane danemu poziomowi pracy.

       Kiedy  nowy  proces startuje, init sprawdza najpierw, czy istnieje plik
       /etc/initscript. Jeli tak, uywa tego skryptu by ten proces zacz.

       Za kadym razem, gdy proces potomny si zakoczy, init zapamituje ten fakt
       i  powod  mierci procesu jest zapisany w /var/run/utmp i /var/log/wtmp,
       pod warunkiem, e te pliki istniej.

ZMIENIANIE TRYB'OW PRACY

       Po tym jak "namnoone" zostan wszystkie  wyszczegolnione  procesy,  init
       czeka  na  mier  kadego swojego procesu potomnego, sygnal braku energii
       lub zasygnalizowanie przez telinit zmiany  poziomu  dzialania  systemu.
       Gdy  wystpi jeden sporod tych trzech warunkow, ponownie sprawdzany jest
       plik /etc/inittab, poniewa nowe pola mog by do  niego  dodane  w  kadej
       chwili.  Jednakowo,  init  wci  oczekuje  na  wystpienie jednego z tych
       trzech warunkow. By przygotowa si na natychmiastow odpowied, telinit  Q
       albo  uyta  komenda q moe obudzi proces init, by jeszcze raz przeczytal
       plik /etc/inittab.

       Jeli init nie jest w trybie jednego uytkownika i odbiera sygnal  zaniku
       energii  (SIGPWR),  czyta  plik  /etc/powerstatus.  Nastpnie  uruchamia
       polecenie zalene od zawartoci tego pliku:

       F(AIL) Zawodzi zasilanie, UPS dostarcza mocy. Wykonuje wpisy  powerwait
              i powerfail.

       O(K)   Zasilanie powrocilo, uruchamia wpisy powerokwait.

       L(OW)  Zasilanie  zawodzi,  a  UPS-owi  wyczerpuje si bateria. Wykonuje
              wpisy powerfailnow.

       Jeeli plik /etc/powerstatus nie istnieje lub zawiera  cokolwiek  innego
       ni jedn z liter F, O lub L, init zachowa si tak, jakby przeczytal F.

       Uywanie  SIGPWR  i  /etc/powerstatus  nie jest zalecane. Jeeli kto chce
       wspoldziala z init-em, powinien uy kanalu kontroli /dev/initctl - prosz
       przeczyta  kod rodlowy pakietu sysvinit po wicej dokumentacji dotyczcej
       tego kanalu.

       Gdy init  jest  proszony  o  zmian  poziomu  dzialania,  wysyla  sygnal
       ostrzegawczy SIGTERM do wszystkich procesow, ktore nie s zdefiniowane w
       nowym poziomie pracy. Potem czeka 5 sekund zanim "na  sil"  zakoczy  te
       procesy  poprzez sygnal SIGKILL.  Zauwa, e init zaklada, e wszystkie te
       procesy (i ich potomki) pozostaj w tej samej grupie procesow, ktor init
       oryginalnie im utworzyl. Jeeli jakikolwiek proces zmienil sw przynaleno
       do grupy procesow to nie odbierze tych sygnalow. Tego typu procesy musz
       by koczone osobno (np. demony wszelakie - przyp. tlum.).

TELINIT

       /sbin/telinit  jest  symbolicznym  dowizaniem do /sbin/init. Pobiera on
       jednoznakowy argument i sygnaly  init,  by  podjl  stosowne  dzialanie.
       Ponisze argumenty mona stosowa jako rozkazy dla telinit:

       0,1,2,3,4,5 lub 6
              mowi procesowi init by przelczyl w odpowiedni poziom dzialania.

       a,b,c  ka   procesowi   init   by   przetwarzal  tylko  te  pola  pliku
              /etc/inittab, ktore odnosz si do poziomu pracy a,b lub c.

       Q lub q
              ka procesowi init jeszcze raz przeczyta plik /etc/inittab.

       S lub s
              mowi eby init przelczyl w tryb jednego uytkownika.

       U lub u
              ka procesowi init przeladowa si  (zachowujc  obecny  stan).  Nie
              wystpuje  ponowne  odczytywanie pliku /etc/inittab. Poziom pracy
              powinien by ustawiony na Ss12345, w przeciwnym wypadku danie moe
              by "delikatnie" zignorowane.

       telinit  moe take powiedzie procesowi init, jak dlugo powinien on czeka
       midzy wysylaniem sygnalow SIGTERM i  SIGKILL.  Domyln  wartoci  jest  5
       sekund, ale moe by ona zmieniona za pomoc opcji -t sekundy.

       telinit moe by wywolywany tylko przez uytkownikow uprzywilejowanych.

       Wywolany  init  sprawdza  czy jest procesem inicjujcym init czy te jest
       wywolany jako  telinit  poprzez  wgld  w  swoj  identyfikator  procesu;
       prawdziwy  identyfikator  procesu  init  ma  zawsze  warto 1.  Teraz ju
       wiadomo, e zamiast wywolywa telinit moesz te po prostu uy init,  a  nie
       skrotu.

RODOWISKO

       Init  ustawia  nastpujce  zmienne  rodowiskowe  dla  wszystkich  swoich
       dzieci:

       PATH   /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin

       INIT_VERSION
              Jak mowi nazwa - wersja programu. Uyteczne dla  okrelenia,  jeli
              skrypt uruchamia si bezporednio z init.

       RUNLEVEL
              Obecny poziom pracy systemu.

       PREVLEVEL
              Poprzedni poziom pracy systemu (uyteczne po zmianie poziomow).

       CONSOLE
              Konsola  systemu. Tak naprawd ta warto jest przyjmowana od jdra;
              jednak jeli  nie  jest  ustawiona  init  ustawi  j  domylnie  na
              /dev/console.

FLAGI STARTOWE

       Jest  moliwe  by  przekaza  pewne  flagi  do  procesu  init  z monitora
       startowego (np. LILO). Init dopuszcza stosowanie nastpujcych flag:

       S, single
            Bootowanie w trybie jednego uytkownika. W tym trybie  /etc/inittab
            jest  sprawdzany  (wczytywany)  i  skrypty  startowe  rc  s zwykle
            uruchamiane zanim wystartuje powloka dla trybu jednego uytkownika.

       1-5  Poziom dzialania w jakim system ma wystartowa.

       -b, emergency
            Wejcie bezporednio w  tryb  jednego  uytkownika  bez  uruchamiania
            adnych innych skryptow startowych.

       -a, auto
            Program  ladujcy  LILO  dodaje slowo "auto" do linii polece, jeeli
            uruchomil jdro z domyln lini polece (uytkownik jej nie  zmienial).
            Jeeli  init znajdzie to slowo, ustawi zmienn rodowiskow "AUTOBOOT"
            na  "yes".  Prosz  zauway,  e  nie  mona  tego   uy   jako   rodka
            bezpieczestwa  -  oczywici  uytkownik  mogl  rcznie w linii polece
            wpisa "auto" uy opcji -a.

       -z xxx
            Argument opcji -z jest ignorowany. Moe by uyta do wydluenia  linii
            polece,  tak eby zajmowala wicej miejsca na stosie. Init moe wtedy
            manipulowa lini  polece,  tak  eby  ps(1)  pokazywalo  biecy  tryb
            uruchomienia.

INTERFEJS

       Init  nasluchuje  wiadomoci na lczu fifo w /dev, /dev/initctl.  Telinit
       uywa tego do komunikacji z procesem init. Ten interfejs nie  jest  zbyt
       dobrze udokumentowany czy skoczony. Zainteresowani powinni przestudiowa
       plik initreq.h w podkatalogu src/ archiwum tarowego  z  kodem  rodlowym
       init.

SYGNA/LY

       Init reaguje na nastpujce sygnaly:

       SIGHUP
            Ma ten sam efekt co telinit q.

       SIGUSR1
            Po  odebraniu  tego  sygnalu,  init zamyka i ponownie otwiera swoj
            kontrolk  fifo,  /dev/initctl.  Uyteczne  w   przypadku   skryptow
            startowych, gdy przemontowywany jest katalog /dev.

       SIGINT
            Zwykle  ten  sygnal  jest  wysylany z jdra by powiedzie, e wcinita
            zostala kombinacja klawiszy CTRL-ALT-DEL. Powoduje  to  rozpoczcie
            akcji ctrlaltdel.

       SIGWINCH
            Jdro wysyla ten sygnal jeli wcinity zostal klawisz KeyboardSignal.
            Aktywuje to akcj kbrequest.

ZGODNE Z

       Init jest kompatybilny  z  init  obecnym  System  V.  Dziala  razem  ze
       skryptami w katalogach /etc/init.d i /etc/rc{poziom_dzia/lania}.d.  Jeli
       twoj system uywa tej konwencji, to powinien by  obecny  plik  README  w
       katalogu /etc/init.d wyjaniajcy, jak te skrypty dzialaj.

PLIKI

       /etc/inittab
       /etc/initscript
       /dev/console
       /var/run/utmp
       /var/log/wtmp
       /dev/initctl

UWAGI

       Init  zaklada,  e  procesy  i  ich procesy potomne pozostaj w tej samej
       grupie procesow, ktora  byla  dla  nich  oryginalnie  stworzona.  Jeeli
       jakikolwiek  proces  zmienil  sw przynaleno do grupy procesow, init nie
       moe ich zabi i moe skoczy si na tym, e zostan dwa  procesy  czytajce  z
       jednej linii terminala.

DIAGNOSTYKA

       Jeli  init  zorientuje  si,  e  wci powtarza namnaanie zadanego procesu
       czciej ni 10 razy w cigu 2 minut, wtedy  zaloy,  e  gdzie  w  wywolaniu
       komendy  jest  bld, wyle wiadomo o bldzie na konsol systemu, i przerwie
       pomnaanie danego pola do uplynicia 5 minut lub  do  odebrania  sygnalu.
       Zapobiega   to   "zjadaniu"   zasobow   systemu  gdy  kto  popelni  bld
       typograficzny (bardziej po naszemu: "literowk" - przyp. tlum.) w  pliku
       /etc/inittab  lub  gdy  program  normalnie uruchamiany dla danego wpisu
       jest usunity.

AUTOR

       Miquel  van  Smoorenburg  (miquels@cistron.nl),  pierwsz  wersj  strony
       podrcznika              napisal              Michael             Haardt
       (u31b3hs@pool.informatik.rwth-aachen.de).

PATRZ TAKE

       getty(1),   login(1),   sh(1),   runlevel(8),   shutdown(8),   kill(1),
       inittab(5), initscript(5), utmp(5)

INFORMACJE O T/LUMACZENIU

       Powysze  tlumaczenie  pochodzi z nieistniejcego ju Projektu Tlumaczenia
       Manuali i moe nie by aktualne. W razie zauwaenia ronic  midzy  powyszym
       opisem  a  rzeczywistym  zachowaniem  opisywanego programu lub funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.

                                 19 lipca 2004                         INIT(8)