systemd (Was Re: tmpfs for strategic directories)

Lennart Poettering mzerqung at
Tue Jun 1 20:13:40 UTC 2010

On Tue, 01.06.10 15:25, Bill Nottingham (notting at wrote:

> Lennart Poettering (mzerqung at said: 
> > > > dbus.socket
> > > > dbus.socket
> > > 
> > > What does this goop mean and why is it necessary?
> > 
> > encapsulates the early boot process (kinda the same stuff
> > rc.sysinit currently does). The Requires= make sure that this is pulled
> > in by dbus.service. The After= makes sure that it has finished before we
> > fork dbus.
> How are these evaluated differently that you'd need to list both 'Requires'
> and 'After', as opposed to just one? (I would think Requires would imply
> After.)

Well, in systemd ordering dependencies are independent of requirement


A requires B means that when A is started B is started too, at the same

A after B means that when A is started and B is started as well, then B
is started first and only when that finished A is started too.

Now, if you combine both, then you get A requires B + A after B, which
means that when A is started we first start B and when that is finished
wwe load A too.

There are use-cases for all three cases listed above, so we thought we
cover this in just two dependency types, instead of three. (And in fact
actually, since we have "requires" and "requisite" too, this saves us
quite a few additional types)

Now, since is pulled in by the default boot target anyway,
one could argue that in this case an After= would suffice, and the
requires= is redundant. But uh, on a logical level is
actually required, so we should list both elements I think.


Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net           GnuPG 0x1A015CC4

More information about the devel mailing list