The former contents of this blog post have been removed.

Systemd-haters pissed me off so much, that I’m no longer willing to provide information helpful for avoiding systemd.

Here is my message to all the anti-systemd-trolls: Go jump in a lake, we do not need haters in the open source community.

Hint: if you want people to care about you, stop insulting them. If you keep on pissing off people, you will not achieve anything!


Original contents:

Don’t listen to trolls. They lie.

Debian was and continues to be about choice. Previously, you could configure Debian to use other init systems, and you can continue to do so in the future.

In fact, with wheezy, sysvinit was essential. In the words of trolls, Debian “forced” you to install SysV init!

With jessie, it will become easier to choose the init system, because neither init system is essential now. Instead, there is an essential meta-package “init”, which requires you to install one of systemd-sysv | sysvinit-core | upstart. In other words, you have more choice than ever before.

Again: don’t listen to trolls.

However, notice that there are some programs such as login managers (e.g. gdm3) which have an upstream dependency on systemd. gdm3 links against libsystemd0 and depends on libpam-systemd; and the latter depends on systemd-sysv | systemd-shim so it is in fact a software such as GNOME that is pulling systemd onto your computer.

IMHO you should give systemd a try. There are some broken (SysV-) init scripts that cause problems with systemd; but many of these cases have now been fixed - not in systemd, but in the broken init script.

However, here is a clean way to prevent systemd from being installed when you upgrade to jessie. (No need to “fork” Debian for this, which just demonstrates how uninformed some trolls are … - apart from Debian being very open to custom debian distributions, which can easily be made without “forking”.)

As you should know, apt allows version pinning. This is the proper way to prevent a package from being installed. All you need to do is create a file named e.g. /etc/apt/preferences.d/no-systemd with the contents:

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

from the documentation, a priority less than 0 disallows the package from being installed. systemd-sysv is the package that would enable systemd as your default init (/sbin/init).

This change will make it much harder for aptitude to solve dependencies. A good way to help it to solve the dependencies is to install the systemd-shim package explicitly first:

aptitude install systemd-shim

After this, I could upgrade a Debian system from wheezy to jessie without being “forced” to use systemd…

In fact, I could also do an aptitude remove systemd systemd-shim. But that would have required the uninstallation of GNOME, gdm3 and network-manager - you may or may not be willing to do this. On a server, there shouldn’t be any component actually depending on systemd at all. systemd is mostly a GNOME-desktop thing as of now.

As you can see, the trolls are totally blaming the wrong people, for the wrong reasons… and in fact, the trolls make up false claims (as a fact, systemd-shim was updated on Oct 14). Stop listening to trolls, please.

If you find a bug - a package that needlessly depends on systemd, or a good way to remove some dependency e.g. via dynamic linking, please contribute a patch upstream and file a bug. Solve problems at the package/bug level, instead of wasting time doing hate speeches.