UPDATE-RC.D(8)

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

SKŁADNIA

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 ]

OPIS

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.

INSTALOWANIE DOWIĄZAŃ DO SKRYPTÓW STARTOWYCH

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ń.

USUWANIE 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.

WYŁĄCZANIE DOWIĄZAŃ DO SKRYPTÓW STARTOWYCH

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.

OPCJE

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

PRZYKŁADY

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

BŁĘDY

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

PLIKI

/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.

ZOBACZ TAKŻE
Debian Policy Manual,
/etc/init.d/skeleton,
insserv(8),
init(8)

AUTOR
Ian Jackson, Miquel van Smoorenburg License: GNU General Public License v2 or Later (GPLv2+)

PRAWA AUTORSKIE
2001 Henrique de Moraes Holschuh

TŁUMACZENIE
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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.