Mailinglist Archive: opensuse (982 mails)

< Previous Next >
Re: [opensuse] Getting rid of systemd and putting sysv back
  • From: Andreas Mahel <andreas@xxxxxxxxx>
  • Date: Tue, 30 Sep 2014 12:56:31 +0200
  • Message-id: <542A8C5F.3@mahel.net>
On 30.09.2014 00:33, Dirk Gently wrote:
So. how is the script getting interecepted and replaced with a systemctl
command,
when there is NO mention of systemctl anywhere in the cron start/stop
script?

Actually, from your more fact oriented and less emotional posts in the
past I would have thought that you'd have figured that out by yourself
by now.
On the other hand, as it might be of interest for more people, here is how:

The SysVInit scripts are being "intercepted" by /etc/rc.status. This
script has been extended to first check if systemd is installed, and if
the script qualifies for being handled by systemd directly. If yes, the
process is switching to systemctl:
exec /bin/systemctl ${SYSTEMCTL_OPTIONS} $1 "${_rc_base}"

While this is in fact not the prettiest solution, and makes it a little
harder to find out how this works. On the other hand, as I see it, this
mechanism exists only for backward compatibility reasons, and actually
provides an elegant way to allow the software packager to provide both
SysVInit scripts and systemd units, which can be used with either init
daemon without change (so actually, there's no need to touch existing
and working SysVInit scripts at all).
However, if systemd is being used as the init daemon, systemd will be
used to start the service.

/Andreas

--
Cahn's Axiom:
When all else fails, read the instructions.
--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse+owner@xxxxxxxxxxxx

< Previous Next >
This Thread