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.
- -f
- 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 <
[email protected]>, Robert Luberda
<
[email protected]> i Michał Kułach
<
[email protected]>
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
[email protected]