How to remove systemd from a Debian jessie/sid installation
SysV init
First install the SysV init packages:
apt-get install sysvinit-core sysvinit-utils cp /usr/share/sysvinit/inittab /etc/inittab
Then reboot your machine and remove all of the systemd packages. BE AWARE that the following command removes packages that depend on systemd itself or things like libpam-systemd!
apt-get remove --purge --auto-remove systemd
Prevent apt from installing systemd packages in the future.
echo -e 'Package: systemd\nPin: release *\nPin-Priority: -1' > /etc/apt/preferences.d/systemd
Prevent apt from installing any systemd like packages in the future (note the star before and after systemd)
echo -e '\n\nPackage: *systemd*\nPin: release *\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
Note: This prevents the installation of the package systemd-shim as well. However this is a emulation of systemd functions, so you can install software which depends on systemd. So if you get "Package systemd-shim is not available, but is referred to by another package." you might temporary disable the three lines in the preferences.d/systemd file.
In the case your system uses multiarch (mixed 32 and 64bit packages), you need to pin the 64bit version of systemd too. Otherwise apt-get could still install it as dependency later.
echo -e '\nPackage: systemd:amd64\nPin: release *\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
In other multiarch cases where amd64 is the default architecture, you may have to pin the i386 package to prevent APT from installing it:
echo -e '\nPackage: systemd:i386\nPin: release *\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
polkit
To enable polkit based stuff (suspend, hibernate, mount via gvfs etc.), the following procedure can be used.
Warning: tested with lightdm on jessie only!
Add wheezy repo to apt lists:
echo deb http://ftp.debian.org/debian/ wheezy main contrib non-free >/etc/apt/sources.list.d/wheezy.list
Pin essential packages to wheezy:
echo -e '\n\nPackage: policykit-1\nPin: origin "wheezy"\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd echo -e '\n\nPackage: libpolkit-*\nPin: origin "wheezy"\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd echo -e '\n\nPackage: upower\nPin: origin "wheezy"\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
Note: for multiarch system you may need also to pin 64bit and i386 versions separately as mentioned above.
Install polkit-1 with libs, upower and udisks (not udisks2!)
apt-get install polkit-1 libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 upower udisks
Install policykit authentication agent depending on what desktop environment you use:
apt-get install policykit-1-gnome # For GNOME or XFCE4 apt-get install mate-polkit # For MATE apt-get install lxsession # For LXDE
Reboot or restart your *dm service.