NAZWA
update-rc.d - instaluje lub usuwa dowiązania do skryptów startowych w stylu System-V
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
BŁĘDY
Patrz http://bugs.debian.org/sysv-rc.
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), sysv-rc-conf(8), bum(8),
init(8).
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Piotr Roszatycki (PTM) <dexter [AT] debian.org>, Robert Luberda <robert [AT] debian.org> i Michał Kułach <michal.kulach [AT] gmail.com>.
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.