Krótki instruktaż systemd: użyteczne drobiazgi
RTFM: sd_notify
Na początku należy mieć świadomość, że aktywacji jednostek nie podlegają tylko
usługi, a wszystkie możliwe typy. Można więc stworzyć gniazdko, z którym
połączenie zaktywuje inne gniazdo. Albo licznik czasu wyzwalany pojawieniem
się pliku w katalogu. Efektem nawiązania połączenia może być zamontowanie urządzenia.
I to wszystko wyrażone naturalnie zmienną konfiguracyjną Unit=
.
Przy konfigurowaniu jednostek działających w podobny sposób można skorzystać
z dyrektywy .include
. Usługi mogą korzystać z instancji generowanych
dodaniem znaku @ do nazwy.
Pisząc skrypty działające jako usługi warto je wzbogacić wywołaniami
polecenia systemd-notify
przekazującymi konkretniejsze informacji
o stanie działania. Dla demonów w C do poznania jest strona manuala funkcji
sd_notify()
. Pełniejszy status może wyglądać następująco:
# systemctl status avahi-daemon.service … Status: "Server startup complete. Host name is dhartha.local. Local service cookie is 3239089184."
Wpisanie zależności jako OnFailure=
pozwala zaregować na błędy
przy uruchamianiu/restartowaniu usługi. Efektem może być np. aktywowanie zadania
wysyłającego do administratora maila/SMSa, że kluczowa usługa przestała działać.
Aktywacja usług na żądanie może trwać długo. Zawsze możemy taką długostartującą
usługę przypisać do .wants/
któregoś z celi aktywowanych przy bootowaniu.
Wtedy uruchomienie usługi nastąpi przy starcie systemu.
Zdarza się czasami popsuć system w sposób uniemożliwiający prawidłowy
start. Niechcący można chociażby wyłączyć getty
dające
logowanie na konsolach i nie wystartować sieci z ssh
.
Uruchomienie awaryjne systemu realizujemy przez linię poleceń
jądra, w ktorej przekazujemy nazwę jednostki do aktywowania zamiast
default.target
. Przykładowo systemd.unit=emergency.target
.
Jest o tyle lepsze od podania single
lub init=/bin/bash
, że
po naprawieniu możemy przejść do normalnego uruchomienia systemu: systemctl default
.
W czasie pracy można przejść do awaryjnej linii poleceń domyślnie
konfigurowaną usługą kbrequest
, startowaną skrótem klawiaturowym
Alt+↑.
Poprzednio: Kontrola startu; Następnie: Spis treści.
Archived comments:
DeHa 2010-08-12 21:02:44
Wszystko, co tu przeczytałem wygląda bardzo na czasie i fajnie. Widać, że ktoś to przemyślał.
Co z tego, natomiast, że mamy piękne wnętrzności skoro z zewnątrz dalej jesteśmy pryszczaci?
Paweł Ciupak 2010-08-12 23:53:06
> Wszystko, co tu przeczytałem wygląda bardzo na czasie i fajnie.
O Iphone też mówią, że wygląda bardzo na czasie.
Comments
Comments powered by Disqus