Avoiding systemd isn't hard
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.