DOKK / manpages / debian 12 / manpages-pl / update-rc.d.8.pl
UPDATE-RC.D(8) Debian GNU/Linux UPDATE-RC.D(8)

update-rc.d - instaluje lub usuwa dowiązania do skryptów startowych w stylu System-V

update-rc.d [-f] nazwa remove

update-rc.d nazwa defaults

update-rc.d nazwa defaults-disabled

update-rc.d nazwa disable|enable [ S|2|3|4|5 ]

update-rc.d automatycznie aktualizuje dowiązania do skryptów w stylu System V. Dowiązania o nazwie /etc/rcpoziom.d/NNnazwa są kierowane do skryptu /etc/init.d/nazwa. Uruchamiane są przez init, gdy zmieniany jest tryb pracy (poziom), i ogólnie używane są do uruchamiania oraz zatrzymywania pracy serwisów systemowych, takich jak demony. Poziom jest jednym z trybów pracy obsługiwanym przez init, mianowicie 0123456789S, a NN jest dwucyfrowym kodem używanym przez init do określenia kolejności uruchamiania skryptów.

Ten podręcznik opisuje jedynie sposób użycia i zachowanie się polecenia update-rc.d. Szczegóły dotyczące mechanizmów skryptów startowych w stylu System V są zawarte w opisie init(8) oraz w dokumencie Debian Policy Manual.

update-rc.d wymagają informacji o zależnościach i poziomie uruchomienia zapewnionych przez nagłówek komentarza LSB wszystkich skryptów init.d. Strona podręcznika insserv(8) zawiera więcej informacji na temat formatu nagłówka LSB.

Gdy update-rc.d jest uruchamiany z opcją defaults, to tworzy dowiązania o nazwie /etc/rcpoziom.d/[SK]NNnazwa do skryptu /etc/init.d/nazwa używając informacji o poziomie pracy i zależnościach z nagłówka komentarza LSB skryptu init.d.

Gdy update-rc.d jest uruchamiany z opcją defaults-disabled, to tworzy dowiązania o nazwie /etc/rcpoziom.d/KNNnazwa do skryptu /etc/init.d/nazwa używając informacji o zależnościach z nagłówka komentarza LSB skryptu init.d. Oznacza to, że skrypt init.d będzie wyłączony (zob. niżej).

Jeśli istnieje już jakiś plik o nazwie /etc/rcpoziom.d/[SK]??nazwa, to update-rc.d nie tworzy dowiązania. Dzięki temu administrator systemu może poprzestawiać dowiązania (zmieniając tym samym kolejność wykonywania skryptów) i jeżeli pozostanie przynajmniej jedno dowiązanie, to ta konfiguracja utworzona przez administratora nie zostanie nadpisana przez update-rc.d. Program tworzy dowiązania tylko wtedy, gdy żadne dowiązanie nie jest obecne, tj. gdy wydaje się, że usługa nigdy wcześniej nie była zainstalowana.

Starsze wersje update-rc.d obsługiwały również opcje start i stop. Obecnie nie są już stosowane i odpowiadają opcji defaults.

Częstym błędem popełnianym przez administratorów jest usuwanie wszystkich dowiązań z przekonaniem, że tym sposobem "wyłączy się" usługę, czyli że usługa nie będzie już uruchamiana. Jednakże, jeżeli usunie się wszystkie dowiązania, to podczas kolejnej aktualizacji pakietu, jego skrypt poinstalacyjny uruchomi update-rc.d, które ponownie utworzy dowiązania, zgodnie z ustawieniami podanymi przez opiekuna pakietu. Poprawnym sposobem wyłączania usług jest skonfigurowanie usługi jako zatrzymanej we wszystkich poziomach pracy, w których wcześniej była uruchamiana. W systemie init z Systemu V oznacza to zmienienie nazwy dowiązaniom symbolicznym z S na K. Nazwa skryptu /etc/init.d/ musi istnieć przed uruchomieniem update-rc.d w celu utworzenia dowiązań.

update-rc.d uruchomiony z opcją remove usuwa wszystkie dowiązania symboliczne do skryptu /etc/init.d/nazwa z katalogów /etc/rcrunlevel.d. Sam skrypt musi być wcześniej usunięty. Jeżeli skrypt wciąż istnieje, to update-rc.d przerywa działanie, zwracając odpowiedni komunikat błędu. update-rc.djest zwykle wywoływane przez skrypty poinstalacyjne pakietu, gdy skrypt ten otrzyma argument purge. Wszystkie pliki w katalogu /etc/rcpoziom.d, które nie są dowiązaniami symbolicznymi do skryptu /etc/init.d/nazwa nie zostaną zmodyfikowane.

update-rc.d uruchomiony z opcjami disable [ S|2|3|4|5 ] zmieni istniejące dowiązania skryptu /etc/init.d/nazwa przez zastąpienie dowiązań uruchamiających usługę na dowiązania ją zatrzymujące i ustawi im numer sekwencji równy różnicy między liczbą 100 a oryginalnym numerem sekwencji.

update-rc.d uruchomiony z opcjami enable [ S|2|3|4|5 ] zmieni istniejące dowiązania skryptu /etc/init.d/nazwa przez zastąpienie dowiązań zatrzymujących usługę na dowiązania ją uruchamiające i ustawi im numer sekwencji równy różnicy między liczbą 100 a oryginalnym numerem sekwencji, co powinno spowodować powrót do oryginalnego numeru sekwencji, z którym skrypt został zainstalowany zanim go wyłączono. Obie te opcje działają tylko przy dowiązaniach poziomów uruchomieniowych S, 2, 3, 4 lub 5. Gdy nie poda się poziomu uruchomieniowego po słowach kluczowych enable lub disable, skrypt spróbuje zmodyfikować dowiązania we wszystkich poziomach uruchomieniowych.

Zmusza do usunięcia dowiązań, nawet w przypadku, gdyby skrypt /etc/init.d/nazwa wciąż istniał.

Utworzenie domyślnych dowiązań:

update-rc.d foobar defaults


Odpowiadający mu nagłówek zależności określałby zależności uruchamiające i kończące od "$remote_fs" i "$syslog" oraz uruchamianie usługi w poziomach 2-5 i jej zatrzymywanie w poziomach 0, 1 i 6.

Usuwa wszystkie dowiązania dla skryptu (zakładając, że blabla zostało już usunięte):

update-rc.d blabla remove


Przykład wyłączania usługi:

update-rc.d blabla disable


Przykład polecenia instalującego systemowy skrypt inicjacji-i-zamykania:

update-rc.d foobar defaults


Przykład polecenia wyłączającego systemowy skrypt inicjacji-i-zamykania:

update-rc.d blabla disable


Zob. http://bugs.debian.org/sysv-rc i http://bugs.debian.org/init-system-helpers.

/etc/init.d/
Katalog zawierający aktualne skrypty startowe.
/etc/rc?.d/
Katalog zawierający dowiązania używane przez init i modyfikowane przez update-rc.d.
/etc/init.d/skeleton
Przykładowy skrypt do wykorzystania przez programistę przy tworzeniu własnych skryptów init.d.

Debian Policy Manual,
/etc/init.d/skeleton,
insserv(8),
init(8)

Ian Jackson, Miquel van Smoorenburg

License: GNU General Public License v2 or Later (GPLv2+)

2001 Henrique de Moraes Holschuh

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Piotr Roszatycki <dexter@debian.org>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

14 listopada 2005