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