Dependencies
Sean E. Russell
upstart at ser1.net
Sun Oct 8 03:43:27 BST 2006
On Saturday 07 October 2006 18:22, Aidan Thornton wrote:
> Ah yes. The code related to upgrading is one of the more fragile parts
> of InitNG. (As I'm sure most of you know, if init or any of its
> libraries is upgraded, init needs to be restarted or remounting the
> root filesystem read-only will fail on the next shutdown).
Wow. Was that the problem? What causes this behavior?
> I don't think Gentoo's init system is particularly complex, it's just
I'm no guru of init systems, but I consider Gentoo's init to support
relatively complex dependencies. sysvinit doesn't support dependencies at
all (sequences aren't dependencies); "after" and "before" are synonymous with
sequences, but "need" provides true dependencies. The real magic is "use",
which provides fairly sophisticated behavior, and I don't know of another
init system that offers such syntax. Combine them all together, and I'd say
it allows for constructing complex dependency trees unavailable in other init
systems.
Of course, in the end, Gentoo's init merely produces a sequence, constructed
from a convenient and flexible language for specifying dependencies; it is,
ultimately, a determinant system.
Upstart is the only system I've encountered that has the potential to provide
truly non-determinant init processes. It offers parallel service starting
(very nice!), and a reactive, adaptive method for handling services. It may
not offer a ton of advantage on servers, but on laptops, I suspect that it'll
be a great help.
> By the way, I assume that there'll eventually be some way of varying
> the set of events required to start a service depending on a config
> file? For example, I want MythTV to start even if no network interface
Interesting! This is definitely something that needs to be considered.
I also wonder about enabling and disabling scripts. They could be moved in
and out of /etc/event.d, but then how does one handle system upgrades? The
package manager can't just throw new versions in event.d. It seems that
there needs to be a way to remove scripts from the event queue. I'm not
really fond of symlinks from event.d to somewhere else on the system -- it
smells too much like sysvinit -- but that may a solution. Have there been
other ideas?
--
### SER
### Deutsch|Esperanto|Francaise|Linux|XML|Java|Ruby|Aikido|Iaido
### http://www.ser1.net jabber.com:ser ICQ:83578737
### GPG: http://www.ser1.net/Security/ser_public.gpg
More information about the Upstart-devel
mailing list