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 styluTen 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 removePrzykład wyłączania usługi:
update-rc.d foobar disablePrzykład polecenia instalującego systemowy skrypt inicjacji-i-zamykania:
update-rc.d foobar defaultsPrzykł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.
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.