Bug#746577: closed by Michael Biebl <biebl at debian.org> (Re: Bug#746577: systemd-sysv: for upgrade safety, systemd-sysv and sysvinit-core must be coinstallable)

Zack Weinberg zackw at panix.com
Mon May 5 19:50:27 BST 2014


On 2014-05-03 12:18 PM, Tollef Fog Heen wrote:
> Zack Weinberg wrote:
>> 1) Switching from sysvinit to systemd (and vice versa, if necessary)
>> should be accomplished via a command dedicated to the purpose; it
>> should *not* occur as a side effect of installing, removing,
>> upgrading, or downgrading any package.
>
> So you say.  I (with my systemd maintainer hat on) disagrees, and this
> has already been in wheezy and works quite well.
>
>> 2) The procedure I described should be the official procedure for
>> making the changeover.
>
> Again, you say so, but provide no rationale or reason why.

Fundamentally what I want is a bulletproof procedure for reverting to 
sysvinit in case something goes wrong.  I made an analogy earlier to how 
upgrading to a newer upstream kernel (with Debian's packaging) keeps the 
old kernel installed and trivially bootable, in case something goes 
wrong.  This is not because the kernel maintainers know of specific 
situations where something *will* go wrong; it is because there is a 
nontrivial chance that something *could* go wrong, and in the worst case 
that will render the system unbootable.

I think a changeover from one init implementation to another is a 
similar situation.  The worst case for "something goes wrong" for a 
systemd conversion is not *quite* as dire as the worst case for a bad 
kernel upgrade, but it's close: the system can potentially be rendered 
unbootable without init=/bin/sh.  If that happens, the sysadmin should 
not have to manually flip switches to get to a point where they can 
uninstall systemd-sysv and reinstall sysvinit-core; in particular, 
"apt-get install sysvinit-core" is likely to require a network 
connection, and bringing up a network connection while booted with 
init=/bin/sh can be very difficult.

I do not think "this is how we have done it so far and it's worked fine" 
is sufficient evidence that it will also work fine for the much larger 
group of people who will be activating systemd for the first time as 
part of an upgrade from wheezy to jessie.  The people who have already 
tried this changeover are also more likely to be able to recover "by 
hand" if something goes wrong.

I don't insist on my particular suggestion for how this bulletproof 
procedure for reverting to sysvinit should work, but I think that any 
such procedure cannot help but be simpler and more reliable if 
sysvinit-core and systemd-sysv are coinstallable.

If this is still not enough rationale, please tell me what would 
convince you.

zw




More information about the Pkg-systemd-maintainers mailing list