Questa è una domanda generale di Upstart, ma lasciami usare un caso specifico:
Centrify è un gateway da NIS ad ActiveDirectory. Deve essere caricato prima di qualsiasi servizio che dipenderà dal servizio di autenticazione che fornisce, ad es. autofs, cron, nis, et al.
Questo si è rivelato piuttosto impegnativo da ottenere, anche quando si tenta di modificare le dipendenze degli altri servizi (cosa che non credo dovremmo fare comunque, non voglio toccare gli altri lavori di Upstart se possibile) .
Suggerimenti?
Migliore risposta
La soluzione è affrontare il problema dall'altra direzione:per soddisfare i criteri di partenza per Centrify, non è necessario far dipendere i servizi esistenti
dal nuovo servizio Centrify, ma far dipendere il nuovo servizio Centrify
sui servizi esistenti.
Ad esempio, un file di configurazione Upstart /etc/init/centrify.conf
potrebbe dire:
start on (avvio di cron o avvio di autofs o avvio di nis)
Convertindolo in inglese, questo si tradurrebbe come:
avvia il servizio Centrify poco prima cron, autofs o nis
start (quello che inizia per primo).
L'ordine di avvio di cron, autofs o nis è irrilevante:Upstart assicurerà che Centrify venga avviato prima che il servizio venga avviato per primo, assicurando così
che Centrify sia in esecuzione prima dell'avvio di uno qualsiasi di questi servizi.
Tieni inoltre presente che Upstart bloccherà l'avvio del primo servizio che desidera avviarsi fino a quando Centrify non avrà avviato l'esecuzione.
Molto elegante e semplice una volta che ci si abitua a pensare in questo modo.