W Ubuntu
- Czy istnieje polecenie pokazujące listę wszystkich usług autostartu?
- Czy istnieje polecenie sprawdzające, czy usługa jest uruchamiana automatycznie podczas uruchamiania, czy nie?
Zrobiłem Google i IRC. Nie mogę znaleźć odpowiedzi. Być może w Ubuntu nie ma takich poleceń. Na początku myślałem, że wszystkie usługi autostartu będą poniżej /etc/rc2.d/
, ale myliłem się co do tego. Niektóre są skonfigurowane tylko pod /etc/init/*.conf
. Potem wypróbowałem chkconfig
narzędzie (zainstalowałem je ręcznie), nie działa ono cały czas. Na przykład daje zły wynik, dla mongodb
którego jest automatycznie uruchamiany /etc/init/mongodb.conf
.
service --status-all
i initctl list
może jedynie określić aktualny status usług zamiast statusu autostartu. update-rc.d
to polecenie zmiany statusu autostartu zamiast pokazywania statusu.
Jeśli nie ma odpowiedzi na moje pytanie, po prostu zastanawiam się, dlaczego tak trudno jest sprawdzić usługi autostartu w Ubuntu.
chkconfig --list
zadziała dobrze?on
oznacza, że usługa działa na tym poziomie pracy, a usługa ta uruchomi się automatycznie po uruchomieniu systemu.ls /etc/rc?.d
?Odpowiedzi:
Ubuntu używa
Upstart
zamiast tradycyjnegoinit
systemu. Upstart jest silniejszy niż init, ale jest nieco bardziej skomplikowany niżinit
.Natomiast Upstart opiera się na zdarzeniach. „Zdarzenie” może być czymś w rodzaju „rozruchu” ... lub może być o wiele bardziej szczegółowe, na przykład „sieć jest gotowa do użycia”. Możesz określić, które skrypty zależą od tego, które zdarzenia. Wszystko, co nie czeka na zdarzenie, może działać, gdy jest dostępny procesor.
Ten system oparty na zdarzeniach ma jeszcze jedną zaletę: możesz teoretycznie używać go nawet po uruchomieniu systemu. Upstart ma ostatecznie przejąć zadania takie jak podłączanie urządzeń zewnętrznych, takich jak pendrive'y (obecnie obsługiwane przez udev i hal), lub uruchamianie programów w określonych momentach (obecnie obsługiwanych przez crona).
Jak powinieneś teraz wiedzieć, martwy demon (który nie uruchamia się podczas uruchamiania) może być żywy i uruchamia się z powodu zdarzenia.
Ubuntu ma zarówno / etc / init, dla Upstart, jak i /etc/init.d, dla starych plików SysV. Niektóre zawarte w nim pliki to zwykłe skrypty początkowe SysV, które nie zostały jeszcze zmigrowane. Jednak niektóre migrowane usługi utrzymują łącze z /etc/init.d do / lib / init / upstart-job. Jeśli uruchomisz jeden z nich, działa, ale najpierw drukuje ostrzeżenie:
Na maszynie Upstart, init pochodzi z upstartu. Zamiast uruchamiania głównego skryptu rc, który wywołuje skrypty dla określonego poziomu uruchamiania, init Upstart pobiera zadania z katalogu zadań.
Teraz wiemy, że nie ma prostego sposobu na wyświetlenie listy demonów autostartu, powinieneś wymienić wszystkie demony i sprawdzić je pojedynczo. Demon może być uruchomiony przez
init
lubupstart
nawet w późniejszym zdarzenia. Najprostszym sposobem na uzyskanie tej listy jest uruchomienie tego polecenia w powłoce:Dane wyjściowe wyglądają następująco:
Niektóre elementy, takie jak pierwszy, są tak proste,
hostname
zaczynają się przy starcie. Ale inne przedmioty mogą wyglądać na bardziej skomplikowane. (Ale na szczęście czytelne dla człowieka :-))źródło
W rzeczywistości wszystkie usługi są dostępne tylko w /etc/init.d:
Jeszcze jedno, wszystkie usługi są
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
również dostępne, ale jest to tylko symboliczny link do/etc/init.d
.Zobacz tutaj to jest zawartość
rc1.d
katalogu:Tutaj możesz zaobserwować symboliczny link do init.d (K15pulseaudio -> ../init.d/pulseaudio).
Ale tutaj każda usługa jest połączona z init.d, prawda? Ale każda usługa się nie uruchomi; powodem są dwa skrypty.
Pierwszy to skrypt S (S30killprocs) ---> start
Drugi to skrypt k (K15pulseaudio) ---> kill
Wszystkie usługi skryptowe K zabijają usługi, a wszystkie usługi skryptowe S uruchamiają usługi dla tego poziomu działania.
W skrócie
S70dns-clean -> ../init.d/dns-clean
uruchomdns-clean
usługę na poziomie 1.K15pulseaudio -> ../init.d/pulseaudio
zabijapulseaudio
usługę na poziomie 1.źródło
Możesz zainstalować sysv-rc-conf, który jest programem ncurses do graficznego konfigurowania / wyświetlania poziomów rc.
źródło
Zajrzyj tutaj: update-rc-d-cheat-sheet
Brak, wiem o (co nic nie znaczy;), ale możesz zacząć czytać tutaj: askubuntu forum - zależność od usługi
źródło