Używam Ubuntu gdzie mam katalogi /etc/rc0.d
, /etc/rc1.d
, /etc/rc2.d
, ..., /etc/rc6.d
.
Przykładowe pliki z mojego komputera:
directory example symlinks in the dir
------------------------------------------
/etc/rc1.d: K76dovecot, K77ntp
/etc/rc2.d: S23ntp, S24dovecot
/etc/rc3.d: S23ntp, S24dovecot
/etc/rc4.d: S23ntp, S24dovecot
/etc/rc5.d: S23ntp, S24dovecot
Pytania:
- Jaki jest cel wielu katalogów „rc”?
- Dlaczego nie zainstalować Ubuntu duplikaty
dovecot
intp
do wszystkich katalogów z wyjątkiemrc0.d
arc6.d
? - Jeśli są one określone wiele razy, jak powyżej, to czy faktycznie są wykonywane wielokrotnie?
- Czy możesz powiedzieć z powyższego, w jakiej kolejności
dovecot
intp
będzie wykonywany przy starcie? - Jaki jest właściwy sposób, aby powiedzieć Ubuntu, aby zawsze uruchamiał się
ntp
przeddovecot
uruchomieniem?
services
init-script
init.d
roger.james
źródło
źródło
Jak zauważyli inni, odpowiedź dotyczy wszystkich poziomów działania, które są w zasadzie trybami działania systemu operacyjnego. W systemie Linux są to zwykle:
Każdy
rcN
katalog zawiera zatem dowiązania symboliczne do skryptów, które powinny być uruchamiane na tym poziomie pracy. Wszystkie rzeczywiste skrypty są zwykle w/etc/init.d
katalogu:Nazwy dowiązań symbolicznych
Łącze symboliczne, którego nazwa zaczyna się od,
S
zostanie uruchomione na danym poziomie uruchamiania, podczas gdy osoby, których nazwa zaczyna się od,K
zostaną zabite. Zauważ, że wszystkie linki wrc6.d
, poziom uruchamiania ponownego uruchomienia, zaczynają się odK
. Jest tak, ponieważ wszystkie powinny zostać zatrzymane w celu ponownego uruchomienia i nic nie powinno się zaczynać.Liczby po pierwszej literze odnoszą się do kolejności działania połączonych skryptów. Te z mniejszymi liczbami będą biegać przed tymi z wyższymi liczbami. Tak więc, w konkretnym przykładzie,
S23ntp
zostanie uruchomione (rozpoczął się w tym przypadku) przedS24dovecot
.źródło
S01bluetooth
iS01rsync
czy kolejność będzie dowolna?S01
od porównania,b
<r
masz pomysł. Może!/etc/init.d/rc
mówifor s in /etc/rc$runlevel/S*; do …
, więc po prostu idzie w kolejności globalnej ekspansji; tj. numeryczne / alfabetyczne. Długa odpowiedź brzmi: kod tam jest o wiele bardziej skomplikowany niż pamiętam. Spróbuję poświęcić trochę czasu na studiowanie go w ciągu najbliższych sześciu do ośmiu tygodni. Na pierwszy rzut oka wygląda to wydobywania numer znajdujący się poS
i robić coś z nim, więcS42beeblebrox
iS42zaphod
może być bardziej ściśle związane niż, powiedzmy,S43arthur
iS44dent
.1) Wiele katalogów rcX.d określa, które usługi mają być uruchamiane lub zatrzymywane podczas poziomu uruchamiania „X”.
2) rc0.d jest dla poziomu 0, który jest wyłączony. rc6.d służy do ponownego uruchomienia. Reszta wszystkie są dla różnych poziomów pracy (2–5). S oznacza początek, a K oznacza zabicie. Są to zasadniczo linki do oryginalnych skryptów w /etc/rc.d. Liczby po S / K są priorytetem, według którego usługi zostaną uruchomione / Zabite.
3) Tak, jeśli zostaną określone wiele razy skrypt start / kill będzie uruchamiany wiele razy. Ale nikt nie chce tego robić.
4) Patrząc na numery priorytetowe, najpierw uruchomiona zostanie usługa ntp, a następnie dovecot.
5) Czwarty punkt jest właściwy.
źródło