Debian Developers Have Been Listening!
A while ago, I initiated the "If Linux Is About Choice ..." thread
about why there is no choice of inits during an initial install.
Since that time, I've tested several systemd-less distros as well as
Stretch as replacements for my aging Wheezy system. With Stretch my
plan was to see if I could replace systemd as the init without removing
it just leaving its components (some or all as necessary) to meet
dependencies without it breaking the system That way there would be no
need for third party repos or jumping through hoops to keep a
systemd-less working. I figured it would be a somewhat difficult, time
consuming process. However, I made a discovery during these tests: The
Debian developers had already done it for me. They made switching from
systemd as the init to sysvinit or runit easy just by issuing a couple
commands. Here's what you do.
First, install Stretch as you normally would, systemd, et al. I chose
LXDE for the GUI as it has no direct systemd dependencies, and it uses
Openbox as the window manager which I normally use in lieu of a desktop
environment anyway. This was quicker and easier testing-wise than
starting with a terminal-based system as I normally would, and building
up from there.
To switch to sysvinit, as root:
apt-get install sysvinit-core
and reboot. Done! systemd components are still on the hard drive,
except systemd-sysv has been removed. There is also no systemd
supervision either as far as I can tell.
To switch to runit-init is an easy 2-step process. Do a standard
install as before. Then add runit supervision first before
installing runit-init. As root:
apt-get install runit-systemd
apt-get install runit-init
Reboot. Done! The latter command removes systemd-sysv during the
These new init set ups survive apt-get upgrade or dist-upgrade even if
systemd components are upgraded. Systemd as init does not get
reactivated. Tested and verified. I can find no systemd pinning
I now have two Stretch systems running in VirtualBox. One a full LXDE
desktop using runit for both the init and supervision, and the other
with just Openbox and lxpanel as the GUI, and sysvinit and runit for
supervison. No problems at all with either.
 AntiX, MX Linux, SalixOS and Void Linux.
 With either above options, you can't go from an init other than
systemd to another init. apt-get install <chosen init> fails due to
systemd-sysv being missing.