How to remove systemd from a Debian Stretch installation
From Without Systemd
Contents |
Using sysvinit instead of systemd in Debian Stretch
Required steps
- Install the sysvinit packages:
apt-get install sysvinit-core
- Copy inittab: cp /usr/share/sysvinit/inittab /etc/inittab
- Reboot the system:
reboot
Optional steps
- Install udisks2 and/or policykit if needed for graphical desktops or build them from Debian sources by applying a small patch.
- Remove the systemd packages, including libpam-systemd:
apt-get remove --purge --auto-remove systemd
- Prevent apt from installing systemd-related packages in the future:
echo -e 'Package: *systemd*\nPin: release *\nPin-Priority: -1\n' > /etc/apt/preferences.d/systemd
Using sysvinit instead of systemd in Debian Stretch (variant)
Required steps
- Configure the nosystemd repo:
echo -e 'deb nosystemd-stretch main' > /etc/apt/sources.list.d/nosystemd.list
- Configure the nosystemd apt preference: Note: libsystemd0 does not need to be removed as it is harmless without systemd itself.
echo -e 'Package: *\nPin: origin nPin-Priority: 1100\n' > /etc/apt/preferences.d/nosystemd
echo -e 'Package: libsystemd0\nPin: version *\nPin-Priority: 500\n' >> /etc/apt/preferences.d/nosystemd
echo -e 'Package: *systemd*\nPin: release *\nPin-Priority: -1\n' >> /etc/apt/preferences.d/nosystemd
- Get the GPG key for the repo:
wget -qO - | apt-key add -
-OR-apt-get install kilobyte-archive-keyring
- Install the sysvinit packages:
apt-get install sysvinit-core sysvinit-utils
- Copy inittab: cp /usr/share/sysvinit/inittab /etc/inittab
- Reboot the system:
reboot
Optional steps
- Remove the systemd packages, including libpam-systemd:
apt-get purge systemd*
- For graphical desktops, systemd independent udisks2 and/or policykit will be pulled from the repo above.
Support status
A January 2017 bug report discussion and a February 2017 mailing list thread indicate that Debian developers are continuing to support sysvinit.