Krótki instruktaż systemd: kontrola startu



RTFM: systemctl, systemd.unit

Do śmieci: chkconfig

W SysV zarządzanie usługami polega na ogarnięciu stada symlinków z /etc/rcX.d/, odpowiadających runlevelom. W systemd start usług w większości wynika z zależności, czasem jednak trzeba dodać coś swojego. Albo wskazać, że naszserver.target oznacza uruchomienie Tomcata.

Zarządzanie takimi explicit zależnościami również realizuje się przez łącza symboliczne. Przy analizie każdej jednostki sprawdzana jest zawartość katalogu o takiej samej nazwie z doklejonym .wants (np. touchme.service.wants/). Jednostki, do których symlinki znajdują się wewnątrz traktowane są jakby były wyszczególnione słowem kluczowym Wants= w definicji touchme.service.

W drugą stronę: jednostki mogą zasugerować, że są potrzebne do czegoś, np. przez WantedBy=multi-user.target. W takim przypadku systemctl enable <UNIT> doda symlinki w katalogach .wants/ wyszczególnionych jednostek. Analogicznie disable łącza usunie.

chkconfig SERVICE [on|off] przechodzi w systemctl [enable|disable] UNIT

Do dyspozycji jest też słówko Also=, które rządzi włączaniem usług stowarzyszonym. Jednym ruchem można aktywować usługę, jej gniazdko, timery itp.

Poprzednio: Zależności; Następnie: Użyteczne drobiazgi.


Archived comments:

DeHa 2010-08-12 09:49:49

Podoba mi się ta epopeja nerdowska. Planujesz wypuścić tyle odcinków, co Klan? ;P

A z innych: podoba mi się tempo prac. Systemd stał się używalny i funkcjonalny w krótszym czasie, niż upstart zaczął robić "cokolwiek".

zdz 2010-08-12 13:36:32

Moda na sukces to wzór! A tak na poważnie to dzisiaj spiszę ostatnie skrawki myśli i to chyba koniec eksperymentu z taką formą blogowania.

Co do tempa prac, to faktycznie jest niezłe. Pierwszy commit w listopadzie zeszłego roku, a tej chwili już praktycznie niczego nie brakuje, został ,,polishing''. A dla porówniania o upstart od lat słyszę:
"As Upstart matures, it is intended that its role will expand to the duties currently handled by cron, anacron and atd, and possibly (but much less likely) inetd." (wiki).
Gdzieś tam kiedyś. A tutaj systemd.timer, systemd.socket...

Comments


Comments powered by Disqus