[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: opentmpfiles & opensysusers, and its use in the Debian policy



The Wanderer <wanderer@fastmail.fm> writes:

> If I recall and understand correctly, installing systemd-the-package
> will result in at least some of the daemons therein - including both
> systemd itself, and systemd-logind - being set up to run automatically
> in the correct contexts (whether by scripted invocation set up by a
> package, or by socket activation, or by some other means), in such a way
> that they will generally wind up running even on a computer where
> systemd-the-daemon is not the init system. I'm currently digging through
> the result of 'apt-get source systemd', and I haven't yet managed to
> either confirm or refute this with certainty.

This is the bit that I'm fairly sure is not the case.

All of the native systemd facilities are started via systemd units.  If
systemd is not running as PID 1, nothing is going to load or act on the
systemd units.  Therefore, nothing will start those services.

This may be a concern in some future in which there are multiple init
systems that interpret and act on systemd units, but this is not yet the
case.  That will be an integration worry that we'll have to tackle should
that be the case in the future, but I don't think it's a concern right
now.

> Again if I recall correctly, there were some behaviors which arose from
> having logind running in a non-systemd-as-init-system environment which
> the maintainers did not consider something which they would need to fix
> but which I found undesirable.

Possibly you're thinking of the problem that Sam pointed out, which is
that the systemd package depends on libsystemd0 which currently
effectively conflicts with elogind, and therefore you can't install
elogind and the systemd package simultaneously?

If so, that indeed is true but is a problem that probably has to be fixed
anyway, regardless of the current discussion, for elogind to be easily
usable in Debian.

This is a problem with package dependencies, though.  Installing the
systemd package should not cause systemd-logind to run.  It is started via
/lib/systemd/system/systemd-logind.service, which will be ignored unless
systemd is running as PID 1.

I would welcome corrections of I'm wrong, though!

> I don't want to "risk" (in quotation marks because there may not be
> much, if any, actual risk involved) my primary system on testing this,
> and right now I don't have any spare systems or a working virtualization
> environment (because I haven't been able to get libvirt, as packaged for
> Debian, to work properly in a non-systemd environment) to use for
> testing, so I'm not in a position to do that test myself. I do have a
> functioning virtualization environment at my workplace, so if downtime
> permits over the next week or three, I may be able to do that there.

Totally understood, and obviously you're under no obligation to do the
testing!

> (Personally, I'd argue that splitting the various daemons and non-daemon
> tools out into packages according to which ones depend on which others
> makes sense purely from a "granularity of dependencies" perspective, but
> it's been clear for a long time that that argument is a nonstarter with
> the systemd maintainers.)

The systemd maintainers do split out some binaries, but I don't think
creating 20-odd packages for each individual small service (systemd has a
general model of breaking the boot up into small, simple binaries that do
a single thing) is necessarily an improvement.  My understanding of the
preference of the systemd maintainers is to not split the package except
where there's a clear benefit (in terms of dependency structure or some
other problem) that outweighs the ongoing cost of maintaining more
individual packages.  Here, if the systemd package works the way that I
believe that it does, I don't think splitting will change anything other
than saving a small amount of disk space on non-systemd systems.

(Splitting doesn't avoid the library dependency problem that currently
causes problems with elogind, since I believe the programs in question
also depend on that shared library.)

-- 
Russ Allbery (rra@debian.org)              <https://www.eyrie.org/~eagle/>


Reply to: