.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1998-2004 Miquel van Smoorenburg. .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA .\" .\"{{{}}} .\"{{{ Title .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH INIT 8 "29 lipca 2004" "" "Podręcznik administratora systemu Linux" .\"}}} .\"{{{ Name .SH NAZWA .\"}}} .\"{{{ Synopsis init, telinit \- sterowanie procesu inicjującego .SH SKŁADNIA \fB/sbin/init\fP [\fB \-a \fP] [\fB \-s \fP] [\fB \-b \fP] [\fB \-z\fP \fIxxx\fP] [\fB 0123456Ss \fP] .br \fB/sbin/init\fP [\fB \-\-version \fP] .br \fB/sbin/telinit\fP [\fB \-t\fP \fISEKUNDY\fP ] [\fB 0123456sSQqabcUu \fP] .br .\"}}} .\"{{{ Description \fB/sbin/telinit\fP [\fB \-e\fP \fIZMIENNA\fP[\fB=\fP\fIWARTOŚĆ\fP] ] .SH OPIS .\"{{{ init .SS Init \fBInit\fP jest przodkiem wszystkich procesów. Jego głównym zadaniem jest stworzenie procesów w oparciu o skrypt zapisany w pliku \fB/etc/inittab\fP (patrz też \fIinittab\fP(5)). Ten plik zawiera zwykle pozycje, które każą procesowi \fBinit\fP pomnażać \fBgetty\fP na każdej linii, na które użytkownicy mogą się zalogować. Kontroluje też samodzielne procesy, których istnienie jest konieczne w danym systemie. .PP .\"{{{ Runlevels .SH "POZIOMY PRACY" \fIRunlevel\fP (poziom pracy) jest to konfiguracja oprogramowania systemu, która pozwala zaistnieć tylko wytypowanym grupom procesów. Procesy tworzone przez \fBinit\fP dla każdego z tych poziomów są zdefiniowane w pliku \fB/etc/inittab\fP. \fBInit\fP może być w jednym z ośmiu poziomów pracy: \fB0\(en6\fP i \fBS\fP (inaczej \fBs\fP). Poziom pracy jest zmieniany przez uruchomienie \fBtelinit\fP przez uprzywilejowanego użytkownika. \fBtelinit\fP wysyła odpowiednie sygnały do \fBinit\fP, mówiące, w jaki tryb ma przejść. .PP Tryby pracy \fBS\fP, \fB0\fP, \fB1\fP, oraz \fB6\fP są zarezerwowane. Tryb S jest używany do zainicjowania systemu, podczas jego rozruchu. Gdy uruchamiany jest tryb pracy S (w czasie rozruchu) lub tryb pracy 1 (przełączanie się z trybu wielu użytkowników), system jest wprowadzany w tryb pracy jednego użytkownika ("single\-user mode"), po którym bieżącym poziomem pracy jest S. Tryb 0 jest używany, by zatrzymać system; tryb 6, by przeładować system (reboot). .PP Po zakończeniu rozruchu w poziomie S, system jest automatycznie wprowadzany w jeden z trybów wielu użytkowników, od 2 do 5, chyba że wystąpił problem, który musi zostać naprawiony przez administratora, w trybie jednego użytkownika. Po przejściu w tryb jednego użytkownika administrator zwykle zajmuje się konserwacją, a następnie przeładowuje system. .PP Aby uzyskać więcej informacji na ten temat, proszę zapoznać się ze stronami podręcznika \fBshutdown\fP(8) i \fBinittab\fP(5). .PP Tryby pracy 7\-9 również są poprawne, choć niezbyt dobrze udokumentowane. Wynika to z faktu, że "tradycyjne" warianty Uniksa nie używają ich. .PP .\"}}} Poziomy \fIS\fP i \fIs\fP są w rzeczywistości takie same. Wewnętrznie są to tylko zastępcze nazwy dla tego samego trybu pracy. .PP .SH ROZRUCH Po tym jak \fBinit\fP jest wywołany w ostatnim kroku sekwencji rozruchowej jądra, szuka pliku \fB/etc/inittab\fP w celu znalezienia w nim pola typu \fBinitdefault\fP (patrz też \fIinittab\fP(5)). Pole \fBinitdefault\fP określa początkowy poziom pracy systemu. Jeśli nie ma tam takiego pola (lub wcale nie istnieje \fB/etc/inittab\fP), poziom pracy musi być podany z konsoli systemowej. .PP Poziom \fBS\fP lub \fBs\fP wprowadza system w tryb jednego użytkownika i nie wymaga pliku \fB/etc/initttab\fP. .PP W trybie jednego użytkownika, wywoływany jest \fB/sbin/sulogin\fP na urządzeniu \fB/dev/console\fP. .PP Podczas wchodzenia w tryb jednego użytkownika, proces \fBinit\fP inicjuje ustawienia \fBstty\fP konsoli na bezpieczne wartości. Ustawiany jest tryb clocal. Prędkość sprzętu i handshaking nie są zmieniane. .PP Podczas wchodzenia w tryb wielu użytkowników po raz pierwszy, \fBinit\fP wykonuje pozycje \fBboot\fP i \fBbootwait\fP, by pozwolić systemom plików zamontować się zanim użytkownicy będą mogli się zalogować. Potem wykonywane są wszystkie pozycje przypisane danemu poziomowi pracy. .PP Kiedy nowy proces startuje, \fBinit\fP sprawdza najpierw, czy istnieje plik \fI/etc/initscript\fP. Jeśli tak, używa tego skryptu by ten proces zacząć. .PP Za każdym razem, gdy proces potomny się zakończy, \fBinit\fP zapamiętuje ten fakt i powód śmierci procesu jest zapisany w \fB/var/run/utmp\fP i \fB/var/log/wtmp\fP, pod warunkiem, że te pliki istnieją. .SH "ZMIENIANIE TRYBÓW PRACY" After it has spawned all of the processes specified, \fBinit\fP waits for one of its descendant processes to die, a powerfail signal, or until it is signaled by \fBtelinit\fP to change the system's runlevel. When one of the above three conditions occurs, it re\-examines the \fB/etc/inittab\fP file. New entries can be added to this file at any time. However, \fBinit\fP still waits for one of the above three conditions to occur. To provide for an instantaneous response, the \fBtelinit Q\fP or \fBq\fP command can wake up \fBinit\fP to re\-examine (reload) the \fB/etc/inittab\fP file. .PP Jeśli \fBinit\fP nie jest w trybie jednego użytkownika i odbiera sygnał zaniku energii (SIGPWR), czyta plik \fB/etc/powerstatus\fP. Następnie uruchamia polecenie zależne od zawartości tego pliku: .IP F(AIL) Zawodzi zasilanie, UPS dostarcza mocy. Wykonuje wpisy \fBpowerwait\fP i \fBpowerfail\fP. .IP O(K) Zasilanie powróciło, uruchamia wpisy \fBpowerokwait\fP. .IP L(OW) Zasilanie zawodzi, a UPS\-owi wyczerpuje się bateria. Wykonuje wpisy \fBpowerfailnow\fP. .PP Jeżeli plik /etc/powerstatus nie istnieje lub zawiera cokolwiek innego niż jedną z liter \fBF\fP, \fBO\fP lub \fBL\fP, init zachowa się tak, jakby przeczytał \fBF\fP. .PP Usage of \fBSIGPWR\fP and \fB/etc/powerstatus\fP is discouraged. Someone wanting to interact with \fBinit\fP should use the \fB/run/initctl\fP control channel \- see the initctl manual page for more documentation about this. .PP .\"}}} .\"{{{ telinit When \fBinit\fP is requested to change the runlevel, it sends the warning signal \s-1\fBSIGTERM\fP\s0 to all processes that are undefined in the new runlevel. It then waits 3 seconds before forcibly terminating these processes via the \s-1\fBSIGKILL\fP\s0 signal. Note that \fBinit\fP assumes that all these processes (and their descendants) remain in the same process group which \fBinit\fP originally created for them. If any process changes its process group affiliation it will not receive these signals. Such processes need to be terminated separately. .SH TELINIT \fB/sbin/telinit\fP jest symbolicznym dowiązaniem do \fB/sbin/init\fP. Pobiera on jednoznakowy argument i sygnały \fBinit\fP, by podjął stosowne działanie. Poniższe argumenty można stosować jako rozkazy dla \fBtelinit\fP: .IP "\fB0\fP,\fB1\fP,\fB2\fP,\fB3\fP,\fB4\fP,\fB5\fP lub \fB6\fP" mówią procesowi \fBinit\fP by przełączył w odpowiedni poziom działania. .IP \fBa\fP,\fBb\fP,\fBc\fP każą procesowi \fBinit\fP by przetwarzał tylko te pola pliku \fB/etc/inittab\fP, które odnoszą się do poziomu pracy \fBa\fP,\fBb\fP lub \fBc\fP. .IP "\fBQ\fP lub \fBq\fP" każą procesowi \fBinit\fP jeszcze raz przeczytać plik \fB/etc/inittab\fP. .IP "\fBS\fP lub \fBs\fP" mówią żeby \fBinit\fP przełączył w tryb jednego użytkownika. .IP "\fBU\fP lub \fBu\fP" tell \fBinit\fP to re\-execute itself (preserving the state). No re\-examining of \fB/etc/inittab\fP file happens. Runlevel should be one of \fBSs0123456\fP otherwise request would be silently ignored. .PP \fBtelinit\fP can tell \fBinit\fP how long it should wait between sending processes the SIGTERM and SIGKILL signals. The default is 3 seconds, but this can be changed with the \fB\-t\fP option. .PP \fBtelinit \-e\fP mówi procesowi \fBinit\fP, aby zmienił środowisko procesów, które mnoży. Argumenty do \fB\-e\fP mogą mieć postać \fIZMIENNA\fP=\fIWARTOŚĆ\fP, która ustawia zmiennej \fIZMIENNA\fP wartość \fIWARTOŚĆ\fP lub postać \fIZMIENNA\fP (bez znaku równości), która usuwa zmienną \fIZMIENNA\fP. .PP \fBtelinit\fP może być wywoływany tylko przez użytkowników uprzywilejowanych. .PP .\"}}} .\"}}} Wywołany \fBinit\fP sprawdza czy jest procesem inicjującym \fBinit\fP czy też jest wywołany jako \fBtelinit\fP poprzez wgląd w swój \fIidentyfikator procesu\fP; prawdziwy identyfikator procesu \fBinit\fP ma zawsze wartość \fB1\fP. Teraz już wiadomo, że zamiast wywoływać \fBtelinit\fP możesz też po prostu użyć \fBinit\fP, a nie skrótu. .SH ŚRODOWISKO \fBInit\fP ustawia następujące zmienne środowiskowe dla wszystkich swoich dzieci: .IP \fBPATH\fP \fI/bin:/usr/bin:/sbin:/usr/sbin\fP .IP \fBINIT_VERSION\fP Jak mówi nazwa \- wersja programu. Użyteczne dla określenia, jeśli skrypt uruchamia się bezpośrednio z \fBinit\fP. .IP \fBRUNLEVEL\fP Obecny poziom pracy systemu. .IP \fBPREVLEVEL\fP Poprzedni poziom pracy systemu (użyteczne po zmianie poziomów). .IP \fBCONSOLE\fP Konsola systemu. Tak naprawdę ta wartość jest przyjmowana od jądra; jednak jeśli nie jest ustawiona \fBinit\fP ustawi ją domyślnie na \fB/dev/console\fP. .SH "FLAGI STARTOWE" It is possible to pass a number of flags to \fBinit\fP from the boot monitor (eg. LILO or GRUB). \fBInit\fP accepts the following flags: .TP 0.5i \fB\-s, S, single\fP Rozruch w trybie jednego użytkownika. W tym trybie \fI/etc/inittab\fP jest sprawdzany (wczytywany) i skrypty startowe rc są zwykle uruchamiane zanim wystartuje powłoka dla trybu jednego użytkownika. .PP .TP 0.5i \fB1\-5\fP Poziom działania w jakim system ma wystartować. .PP .TP 0.5i \fB\-b, emergency\fP Wejście bezpośrednio w tryb jednego użytkownika bez uruchamiania żadnych innych skryptów startowych. .PP .TP 0.5i \fB\-a, auto\fP Program ładujący LILO dodaje słowo "auto" do linii poleceń, jeżeli uruchomił jądro z domyślną linią poleceń (użytkownik jej nie zmieniał). Jeżeli \fBinit\fP znajdzie to słowo, ustawi zmienną środowiskową "AUTOBOOT" na "yes". Proszę zauważyć, że nie można tego użyć jako środka bezpieczeństwa \- oczywiści użytkownik mógł ręcznie w linii poleceń wpisać "auto" użyć opcji \-a. .PP .TP 0.5i \fB\-z \fP\fIxxx\fP Argument opcji \fB\-z\fP jest ignorowany. Może być użyta do wydłużenia linii poleceń, tak żeby zajmowała więcej miejsca na stosie. \fBInit\fP może wtedy manipulować linią poleceń, tak żeby \fBps\fP(1) pokazywało bieżący tryb uruchomienia. .PP .TP 0.5i \fB\-\-version\fP This argument, when used on its own, displays the current version of init to the console/stdout. It is a quick way to determine which init software and version is being used. After the version information is displayed, init immediately exits with a return code of zero. .PP .SH INTERFEJS Init listens on a \fIfifo\fP in /dev, \fI/run/initctl\fP, for messages. \fBTelinit\fP uses this to communicate with init. The interface is not very well documented or finished. Those interested should study the \fIinitreq.h\fP file in the \fIsrc/\fP subdirectory of the \fBinit\fP source code tar archive. .SH SYGNAŁY Init reaguje na następujące sygnały: .TP 0.5i \fBSIGHUP\fP Ma ten sam efekt co \fBtelinit q\fP. .PP .TP 0.5i \fBSIGUSR1\fP On receipt of this signals, init closes and re\-opens its control fifo, \fB/run/initctl\fP. Useful for bootscripts when /dev is remounted. .TP 0.5i \fBSIGUSR2\fP When init receives SIGUSR2, init closes and leaves the control fifo, \fB/run/initctl\fP, closed. This may be used to make sure init is not holding open any files. However, it also prevents init from switching runlevels. Which means commands like shutdown no longer work. The fifo can be re\-opened by sending init the SIGUSR1 signal. .TP 0.5i \fBSIGINT\fP Zwykle ten sygnał jest wysyłany z jądra by powiedzieć, że wciśnięta została kombinacja klawiszy CTRL\-ALT\-DEL. Powoduje to rozpoczęcie akcji \fIctrlaltdel\fP. .TP 0.5i \fBSIGWINCH\fP Jądro wysyła ten sygnał jeśli wciśnięty został klawisz \fIKeyboardSignal\fP. Aktywuje to akcję \fIkbrequest\fP. .\"{{{ Conforming to .SH "ZGODNE Z" .\"}}} .\"{{{ Files \fBInit\fP jest kompatybilny z init obecnym System V. Działa razem ze skryptami w katalogach \fI/etc/init.d\fP i \fI/etc/rc{poziom_działania}.d\fP. Jeśli twój system używa tej konwencji, to powinien być obecny plik \fIREADME\fP w katalogu \fI/etc/init.d\fP wyjaśniający, jak te skrypty działają. .SH PLIKI .nf /etc/inittab /etc/initscript /dev/console /var/run/utmp /var/log/wtmp /run/initctl .fi .\"}}} .\"{{{ Warnings .SH OSTRZEŻENIA \fBInit\fP zakłada, że procesy i ich procesy potomne pozostają w tej samej grupie procesów, która była dla nich oryginalnie stworzona. Jeżeli jakikolwiek proces zmienił swą przynależność do grupy procesów, \fBinit\fP nie może ich zabić i może skończyć się na tym, że zostaną dwa procesy czytające z jednego wiersza terminala. .PP .\"}}} .\"{{{ Diagnostics W systemie Debian, wejście w poziom pracy 1 powoduje zabicie wszystkich procesów z wyjątkiem wątków jądra i skryptu który wykonuje zabijanie oraz innych procesów w jego sesji. W konsekwencji, powracanie z poziomu 1 do poziomu pracy trybu wielu użytkowników nie jest bezpieczne: demony, które zostały uruchomione w poziomie S i są wymagane do normalnego działania nie są dłużej uruchomione. System powinien zostać uruchomiony ponownie. .SH DIAGNOSTYKA .\"}}} .\"{{{ Author Jeśli \fBinit\fP zorientuje się, że wciąż powtarza namnażanie zadanego procesu częściej niż 10 razy w ciągu 2 minut, wtedy założy, że gdzieś w wywołaniu komendy jest błąd, wyśle wiadomość o błędzie na konsolę systemu, i przerwie pomnażanie danego pola do upłynięcia 5 minut lub do odebrania sygnału. Zapobiega to "zjadaniu" zasobów systemu gdy ktoś popełni literówkę w pliku \fB/etc/inittab\fP lub gdy program normalnie uruchamiany dla danego wpisu jest usunięty. .SH AUTOR .\"}}} .\"{{{ See also Miquel van Smoorenburg (miquels@cistron.nl), pierwszą wersję strony podręcznika napisał Michael Haardt (u31b3hs@pool.informatik.rwth\-aachen.de). .SH "ZOBACZ TAKŻE" \fBgetty\fP(1), \fBlogin\fP(1), \fBsh\fP(1), \fBrunlevel\fP(8), \fBshutdown\fP(8), \fBkill\fP(1), \fBinitctl\fP(5), \fBinittab\fP(5), \fBinitscript\fP(5), \fButmp\fP(5) .\"}}} .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Paweł Wilk , Robert Luberda i Michał Kułach . Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres .MT manpages-pl-list@lists.sourceforge.net .ME .