Saved from without-systemd.org
These instructions are for installing the
sysvinit init program on Debian “buster” 10 systems. This is done by installing the
sysvinit-core package for an init system that's not systemd, and a set of
elogind packages to provide backwards compatibility with the
systemd library packages.
I have chosen to recommend using rescue media to change init programs because systemd does not allow its removal while it is running, and this seems to be the easiest and cleanest way. It also makes sure your reboot will be clean.
Boot with your Debian install disc or USB mass storage device. Choose rescue mode. Answer all of the questions.
Choose your root filesystem, for example the
/dev/sda2 device. (It'll probably be the only one that works, unless you have more than one UNIX or Linux system installed on your computer.) Choose to execute
a shell in that device, your root filesystem.
/etc/apt/sources.list file, for example with the
nano command. You can use your mirror or the CDN source in the examples.
Add a line for unstable, like this one, for example.
deb http://deb.debian.org/debian unstable main
Add another line for experimental, like this one:
deb http://deb.debian.org/debian experimental main
You can add
deb-src lines in addition to the above two lines, too, if you
This is so your system doesn't download and upgrade everything to the
branch of Debian.
Create a file called something like
/etc/apt/preferences.d/unstable-pin and edit
it, and put this in the file:
Package: * Pin: release a=unstable Pin-Priority: -1
Make APT aware of the new packages, which we're going to install, by running the following line: apt update
To install the
sysvinit-core package and remove the systemd packages, run:
apt install sysvinit-core elogind/unstable libpam-elogind-compat libpam-elogind/unstable libelogind0/unstable
If you have a multi-arch
amd64 Debian system, and you want
i386 support for Wine or Steam, for example, you will need to install the
libelogind0:i386/unstable package, too. Either add that package to the line
above or run the following line:
apt install libelogind0:i386/unstable
Exit the shell and choose the “reboot the system” option from the Debian rescue menu.
You may wish to remove the Debian install media before you reboot so your computer does not automatically boot from the media.
I installed all of the Debian graphical interfaces or desktop environments (DEs) in a Qemu virtual machine, GNOME, Cinnamon, MATE, Xfce, LXQT, LXDE. They all worked.
Installing and removing packages in Synaptic worked in LXDE and probably would work in all the other DEs since it's not DE-dependent.
Ejecting the (virtual) DVD-ROM took around 3 minutes in MATE and Xfce. In LXQT and LXDE I got messages saying the DVD-ROM was already mounted, although it was mounted or possible to mount, which is the main point.
Installing assorted different packages can trigger a reinstall of the
In order to avoid reinstalling systemd you can at least get a warning from APT by setting
a hold on the systemd package after it is installed. Run:
echo systemd hold | dpkg --set-selections
You may have to be watchful whenever installing new packages, to see if the held
package will be changed, or if systemd will be reinstalled.
The developers have stated that the
libpam-elogind-compat package is for
testing only, so these instructions may be completely unsupported in Debian.
I have only tested what I said above, that is, running all the desktop environments, testing mounting and ejecting the DVD-ROM, and installing and removing packages in Synaptic.
It would probably help if I made a better APT
unstable pin so that the
related packages would upgrade automatically once they were in Debian buster (or