update-rc.d(8) instaluje lub usuwa dowiązania do skryptów startowych w stylu

SKŁADNIA

update-rc.d [-n] [-f] nazwa remove
update-rc.d [-n] nazwa defaults
update-rc.d [-n] 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/rcrunlevel.d/NNnazwa są kierowane do skryptu /etc/init.d/nazwa. Uruchamiane są przez init, gdy zmieniany jest tryb pracy (runlevel), i ogólnie używane są do uruchamiania oraz zatrzymywania pracy serwisów systemowych, takich jak demony. runlevel 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/rcrunlevel.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.

Jeśli istnieje już jakiś plik o nazwie /etc/rcrunlevel.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ł 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.

Skrypt /etc/init.d/nazwa musi już istnieć w momencie wywołania polecenia update-rc.d.

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.d jest zazwyczaj uruchamiany ze skryptu usuwającego pakiet, jeżeli przekazano temu skryptowi argument purge. Jakiekolwiek pliki w katalogach /etc/rcrunlevel.d, które nie są dowiązaniami symbolicznymi do /etc/init.d/nazwa nie będą zmieniane.

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 opcje działają tylko na dowiązaniach startowych w poziomach S, 2, 3, 4 lub 5. Jeśli po słowach kluczowych disable lub enable nie poda się żadnych poziomów uruchomieniowych, to skrypt spróbuje zmienić dowiązania we wszystkich poziomach uruchomieniowych.

OPCJE

-n
Niczego nie rusza, tylko pokazuje, co mogłoby być zmienione.
-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 blabla 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 foobar 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 foobar disable

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.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Piotr Roszatycki (PTM) <[email protected]>, Robert Luberda <[email protected]> i Michał Kułach <[email protected]>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 2.88 oryginału.