[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Avoiding SystemD isn't hard



Liam Proven wrote:
On 21 October 2014 17:40, Miles Fidelman <mfidelman@meetinghouse.net> wrote:
Liam Proven wrote:
A blog post explaining why it isn't mandatory, the utter futility of
the fork and more besides, clearly and simply.

http://www.vitavonni.de/blog/201410/2014102101-avoiding-systemd.html

Would be nicer if it was accurate.

For example, it talks about version pinning as a way to prevent installation
of systemd - except that version pinning doesn't effect the installer.
By definition, no. It cannot. If you're installing, it's a new system
and there is nothing to pin. Ergo your objection is egregious.

No... my objection is that the referenced blog post is, itself, egregious in being both inaccurate and full of polemics. Re. the first, a post that starts with "Don't listen to trolls. They lie" - that's pretty egregious in my book.

As to accuracy, the post's title is "Avoiding systemd isn't hard" - which is immediately followed by completely inaccurate information, including:

------
"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."

and

"As you /should/ know, apt allows version pinning <https://wiki.debian.org/AptPreferences>. 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
"
-----

When, in fact, there IS no way to prevent systemd from being installed during installation (except for upgrades).

In theory, one can use include/exclude statements in a preseed file (see discussion on this list and debian-boot), but in practice bug no. 668001
in debootstrap prevents this.  There's a patch, but it doesn't look like it's considered release critical, so who knows when it might it might
make it into the installer.

Which leaves the only option being to install, with systemd, then follow the instructions in
https://randomstring.org/blog/blog/2014/10/14/removing-systemd-from-a-debian-jessie-system/
|# apt-get install sysv-rc sysvinit-core sysvinit-utils
# apt-get purge systemd libpam-systemd systemd-sysv
# echo udev_log=\"err\" >> /etc/udev/udev.conf
# update-initramfs -k all -u
# shutdown -r now|

Which, potentially, leads to all kinds of dependency hell.  For example, per some recent discussion, the above steps seem to remove
Gnome in the process (https://lists.debian.org/debian-devel/2014/10/msg00409.html) - despite the presence of systemd-shim.

--------

So, yes - it's possible to avoid systemd, particularly on a headless server - but "easy," not so much.

But there is a mandatory *choice* of init system during installation,
it says. Is that not true?


No. There is no choice during installation. The INSTALLER chooses the first of the listed options (systemd-sysv | sysvinit-core | upstart)as its default "choice" - the user is not presented with a choice, and as noted above, preseeding is broken when it comes to overriding the default.

Talk about trolling, indeed.


Miles Fidelman

--
In theory, there is no difference between theory and practice.
In practice, there is.   .... Yogi Berra


Reply to: