[systemd-devel] runtime directories for services vs. tmpfiles

Lennart Poettering lennart at poettering.net
Wed Jul 17 17:51:09 PDT 2013

On Wed, 17.07.13 11:24, Michael Biebl (mbiebl at gmail.com) wrote:

> 2013/7/17 Michael Biebl <mbiebl at gmail.com>:
> > If this scheme is not flexible enough to cover the vast majority of
> > all cases (for services), then I fear we'd end up half of the services
> > using RuntimeDirectory, the other half a tmpfile. And that imho would
> > be even more confusing.
> Could we have some stats from Fedora and/or Arch which have done a
> (complete) migration to systemd, about how many services/packages
> currently use a tmpfile and what they use in the tmpfile, i.e. if the
> proposed scheme from Lennart would suffice say for 90+ % of them

Fedora is not completely converted, but here are some stats.

The number of packages with tmpfiles:

    $ repoquery --whatprovides '/usr/lib/tmpfiles.d/*' --qf "%{name}" | sort -u | wc -l

The full list is here: http://ur1.ca/eonvl

The number of packages with service files:

    $ repoquery --whatprovides '/usr/lib/systemd/system/*' --qf "%{name}" | sort -u | wc -l
The full list is here: http://ur1.ca/eonxq

The number of holdouts with init scripts:

    $ repoquery --whatprovides '/etc/rc.d/init.d/*' --qf "%{name}" | sort -u | wc -l

This is highly misleading however as it is permitted by the fedora
policy to continue sysv scripts if this is done in a separate package
from the main one. Let's manually sort out these cases:

    $ repoquery --whatprovides '/etc/rc.d/init.d/*' --qf "%{name}" | sort -u | egrep -v '(-sysvinit|-initscript|-sysv)$' | wc -l

The full list is here: http://ur1.ca/eoo02

This means: ~81% of the packages have been converted from sysv to
systemd. And ~10% of the converted packages make use of tmpfiles.

Now, my rpm/yum-fu is a bit too limited to easily figure out what
precisely they use of the tmpfiles functionality.
This is Fedora 19.


Lennart Poettering - Red Hat, Inc.

More information about the systemd-devel mailing list