I am wary of systemd for various reasons which are irrelevant to this question. Now, I'm about to upgrade my Debian Wheezy to Debian Jessie. Will systemd be used by default after an apt-get dist-upgrade? If so, what do I need to do to stick with sysvinit?


Yes, it will run by default. A dist-upgrade from wheezy to Jessie will switch to using systemd as the init system. The Jessie release notes devotes a whole section to this issue, also giving a recommendation about how to stay with your current init system:

to prevent systemd-sysv from being installed during the upgrade, you can create a file called /etc/apt/preferences.d/local-pin-init with the following contents:

Package: systemd-sysv
Pin: release o=Debian
Pin-Priority: -1

It also mentions that "some packages may have degraded behavior or may be lacking features under a non-default init system."

  • "some packages may have degraded behavior or may be lacking features under a non-default init system.": I am not sure I understand this. As far as I understand, the init system has the role of starting, stopping and monitoring processes. Other packages should be passive entities that are controlled by the init system. So, how can the behaviour of certain packages degrade when you switch the init system? What am I missing? – Giorgio Apr 27 '16 at 17:23
  • @Giorgio they are (now) bound irrevocably into the systemd way of doing things. It's getting to the stage that I can't install a lot of user level applications because they all depend on systemd in some way or other. – roaima Apr 27 '16 at 17:26

Jessie will install systemd by default, even as an upgrade from Wheezy. After installation you can disable it by following the instructions at How to remove systemd from a Debian jessie/sid installation

There are explanations of these commands on that page, but the gist is as follows:

apt-get install sysvinit-core sysvinit sysvinit-utils

# 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

# These prevent systemd in the future. Unfortunately also including systemd-shim
echo -e 'Package: systemd\nPin: origin ""\nPin-Priority: -1' > /etc/apt/preferences.d/systemd
echo -e '\n\nPackage: *systemd*\nPin: origin ""\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
echo -e '\nPackage: systemd:amd64\nPin: origin ""\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
echo -e '\nPackage: systemd:i386\nPin: origin ""\nPin-Priority: -1' >> /etc/apt/preferences.d/systemd
  • I don't recommend installing systemd and then switching back. That's two opportunities for problems. If you don't want systemd, don't install it in the first place. – Gilles 'SO- stop being evil' Jul 20 '15 at 23:16
  • After running the first two commands (installing and rebooting) the system still defaults to using systemd, and running the third command (remove) gets you: systemd is the active init system, please switch to another before removing systemd. – einpoklum Jul 21 '15 at 11:18

Another solution for a Debian Jessie desktop without systemd would be to look at Antix Linux.

  • @DanGetz sysvinit-core is pulled in by sysvinit. See roaima's answer... – eyoung100 Aug 5 '15 at 3:12
  • What are Squeeze and OpenVZ containers doing in here anyway? – McSinyx Aug 5 '15 at 13:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.