Toto je obecná otázka pro začátečníka, ale dovolte mi použít konkrétní případ:
Centrify je brána NIS do ActiveDirectory. Musí se načíst před jakoukoli službou, která bude záviset na ověřovací službě, kterou poskytuje, např. autofs, cron, nis a kol.
Ukázalo se, že je to docela náročné dosáhnout, i když se pokoušíte změnit závislosti ostatních služeb (což si myslím, že bychom stejně neměli dělat, nechci se dotýkat ostatních úloh Upstart, pokud je to vůbec možné) .
Návrhy?
Nejlepší odpověď
Řešením je přistoupit k problému z jiného směru:pro splnění počátečních kritérií pro Centrify není nutné, aby stávající služby
závisely na nové službě Centrify, ale aby byla nová služba Centrify
závislá. na stávající služby.
Například konfigurační soubor Upstart /etc/init/centrify.conf
mohl říct:
start on (spuštění cronu nebo spuštění autofs nebo spuštění nis)
Při převodu do angličtiny by se to přeložilo jako:
spusťte službu Centrify těsně před buď cron, autofs nebo nis
start (podle toho, co začne dříve).
Pořadí, ve kterém se cron, autofs nebo nis spouští, je irelevantní:Upstart zajistí, že se Centrify spustí dříve, než kterákoli služba začne jako první, čímž zajistí
, že Centrify bude spuštěno před spuštěním kterékoli z těchto služeb.
Všimněte si také, že Upstart zablokuje start první služby, která se chce spustit, dokud nezačne fungovat Centrify.
Velmi elegantní a jednoduché, jakmile si zvyknete uvažovat tímto způsobem.