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?

3 Answers 3


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, 2016 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. Apr 27, 2016 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. Jul 20, 2015 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, 2015 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, 2015 at 3:12
  • What are Squeeze and OpenVZ containers doing in here anyway?
    – McSinyx
    Aug 5, 2015 at 13:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .