Why systemd is the way forward: technical arguments

Here you can discuss every aspect of Debian. Note: not for support requests!

Why systemd is the way forward: technical arguments

Postby edbarx » 2014-11-24 14:54

For the sake of balance, let us invite our systemd supporting fellow members of this forum, including DDs, to post their reasons behind their support for systemd.

U-turns are not impossible, even for world-famous politicians, let alone mere Debian users.

I am not afraid of making a U-Turn if the arguments presented prove systemd is superior to other similar initialisation daemons.
Debian == { > 30, 000 packages }; Debian != systemd
The worst infection of all, is a false sense of security!
It is hard to get away from CLI tools.
User avatar
edbarx
 
Posts: 5401
Joined: 2007-07-18 06:19
Location: 35° 50 N, 14 º 35 E

Re: Why systemd is the way forward: technical arguments

Postby thanatos_incarnate » 2014-11-24 15:10

Non-technical user here, so no professional answer to why it would be better.
I am therefore neither pro, nor against systemd.

My observations thus far:

+ shorter shutdown/hibernate/suspend commands than before with dbus, whatever
+ works as before, but boots faster
+ no bugs thus far on Debian Jessie (both with a full fletched KDE4 installation,
as well as just a lean WM environment)

- from what I can gather, we will have to learn some new commands
- systemd seems to take up more space, but it seems trivial on today's cheap storage
(not sure how that behaves on embedded devices)
User avatar
thanatos_incarnate
 
Posts: 717
Joined: 2012-11-04 20:36

Re: Why systemd is the way forward: technical arguments

Postby confuseling » 2014-11-24 15:52

The Forum's search box is terrible. Use site specific search, e.g.
https://www.google.com/search?q=site%3A ... terms+here
confuseling
 
Posts: 2143
Joined: 2009-10-21 01:03

Re: Why systemd is the way forward: technical arguments

Postby buntunub » 2014-11-24 16:58

thanatos_incarnate wrote:Non-technical user here, so no professional answer to why it would be better.
I am therefore neither pro, nor against systemd.

My observations thus far:

+ shorter shutdown/hibernate/suspend commands than before with dbus, whatever
+ works as before, but boots faster
+ no bugs thus far on Debian Jessie (both with a full fletched KDE4 installation,
as well as just a lean WM environment)

- from what I can gather, we will have to learn some new commands
- systemd seems to take up more space, but it seems trivial on today's cheap storage
(not sure how that behaves on embedded devices)


I boot my desktop up only after power outages. That's roughly once every year or so. Same for my servers. Why are boot times even being considered as a plus for Systemd when they are trivial with SysVinit as-is?

Yes, I have read that wiki for Systemd. More than once. I see nothing listed in there that really appeals to my way of computing. TBH, I see nothing in there that should appeal to any sysadmin.
User avatar
buntunub
 
Posts: 591
Joined: 2011-02-11 05:23

Re: Why systemd is the way forward: technical arguments

Postby confuseling » 2014-11-24 17:06

Systemd uses control groups to ensure that any service, regardless of
its state, can be shut down properly.
Systemd extends the logging features of the system in many ways with
journald, and can remain integrated with the existing rsyslog daemon.
Logs are in a structured format, attributed to filename, line of code, PID
and service. They include the early boot (starting from initramfs). They
can be quickly filtered and programatically accessed through an efficient
interface.
Systemd’s virtual TTY management allows real multi-seat support, and
revoking access to input devices on session switch.
Systemd can trivially add security settings to a service without any need
to patch it: user/group change, chroot, private network, private /tmp,
read-only access to parts of the tree, tcp wrappers, filtering system
calls, ? NoNewPrivileges (kernel feature to avoid privilege changes),
limiting effective capabilities, limiting whatever the kernel provides in an
integrated manner (device bandwidth, CPU usage, memory usage, OOM
settings, nice levels, timer slack, ulimits…)
Systemd’s centralized service startup and monitoring makes it much
easier to setup high-availability using software like heartbeat or
pacemaker.
Systemd ships a growing number of useful, unified command-line
interfaces for system settings and control (timedatectl, bootctl,
hostnamectl, loginctl, machinectl, kernel-install, localectl). In Debian,
they use the existing configuration files without breaking compatibility.
In addition to command-line interfaces, Systemd provides a D-Bus API
to control service management and access system settings, as well as
bindings to do that from Python, node.js, php, lua, Qt… GNOME is
relying on these services, and it is likely for KDE and Xfce to use pieces
of it in the near future. They are not specific to systemd per se , but so
far it is the only implementation.
Systemd can run without any configuration change in a virtual machine
or a container. It will automatically skip unwanted services.
Systemd provides full watchdog support. If configured to do so, PID 1
will enable the watchdog and will perform the watchdog notifications
itself. Suitably configured services use systemd as the watchdog, and
notify it regularly to be considered alive. In this way, the whole system
is supervised, with the hardware supervising systemd, and systemd
supervising the rest.
Systemd can be used used inside the initramfs (see dracut on Fedora),
which means the same code serves an additional purpose, and there's
less stuff to maintain. It can also hand control back to the initramfs at
shutdown, making it possible to cleanly unmount the root filesystem
even in very complicated, stacked setups.
Systemd is introspectable and easy to debug: in addition to the ability
to provide debugging output and a debugging shell much earlier in the
boot process than other boot systems can, systemd features command-
line and GUI tools to debug the state of individual services and
understand precisely why they fail to work correctly.
Systemd is moving strongly in the direction of configuration-less system
( i.e. “empty /etc/”). So /etc/fstab might be empty on a system with a
GPT partition table, with partitions mounted in appropriate places based
on their type id. This means that the configuration of the common one-
machine-one-disk setup becomes even simpler.


None of that sounds useful to you?
The Forum's search box is terrible. Use site specific search, e.g.
https://www.google.com/search?q=site%3A ... terms+here
confuseling
 
Posts: 2143
Joined: 2009-10-21 01:03

Re: Why systemd is the way forward: technical arguments

Postby twoflowers » 2014-11-24 17:32

It does make sense, but it's just an other way to say "we place a layer over what we had and call it soooo cooool - and what we did not understand we broke thoroughly and call it soooo coool, too"

e.g. logs: have you ever heard of a system that changes logs after they got written? well, here it is, it's systemd! cool, aint it?
e.g. "configuration-less system" ... aka "registry" .. wait, windows has one and it's soooo coool!
twoflowers
 

Re: Why systemd is the way forward: technical arguments

Postby thanatos_incarnate » 2014-11-24 17:41

Boot times and fast resuming are important for embedded devices.
User avatar
thanatos_incarnate
 
Posts: 717
Joined: 2012-11-04 20:36

Re: Why systemd is the way forward: technical arguments

Postby confuseling » 2014-11-24 17:47

If it were a mere obfuscation, sure. But it isn't - it does things like process monitoring that weren't done in the core system before.

You can use conventional logs if you want to.

And nobody complained when xorg.conf disappeared, did they? The system automatically configuring itself sanely is emphatically a good thing, as long as it respects manual configuration too.
The Forum's search box is terrible. Use site specific search, e.g.
https://www.google.com/search?q=site%3A ... terms+here
confuseling
 
Posts: 2143
Joined: 2009-10-21 01:03

Re: Why systemd is the way forward: technical arguments

Postby TobiSGD » 2014-11-24 19:18

buntunub wrote:
I boot my desktop up only after power outages. That's roughly once every year or so. Same for my servers. Why are boot times even being considered as a plus for Systemd when they are trivial with SysVinit as-is?

Not everyone has the same use case as you. If you start a non-trivial amount of VMs or containers, preferably on demand, on your servers then even one second longer boot time will add up quickly, both in used resources and reaction time. Having said that, improvements in boot time is not actually a plus for systemd, but a plus for parallelization of service startups where possible. My systems start exactly as fast with systemd as with OpenRC with parallel starts enabled.
So I see your point, but it is not valid for all use cases. Nonetheless I agree with you, improved boot times should not be an argument for systemd, since they are not a systemd-only domain, but merely a side-effect of a design decision other init systems also make use of.

@twoflowers: I guess you mean stateless systems, not configurationless systems, but even then comparing this with the Windows registry does not make sense at all. If you care to come up with a technical point and show us where you think this will lead to a registry-like design I am happy to discuss that with you.

So, some of the dvantages I see for me with using systemd:
- consolidation of commands and functions, read: one command for one specific area of functionality, systemctl for managing everything regarding system states, timedatectl for anything time/timezone related, journalctl for anything with regards to logs (if you decide to use the journal), ..., and with that consolidation of server management, it doesn't matter if you are logged into a RHEL, Suse or Debian server when managing services, if all of them use systemd
- integration of VM/container-management, it is just convenient to to able to control and inspect the init system of a container without logging into it, all I wait for is that they add Docker to the list of supported managers
- easy and straight forward setup of my network, uncluding bridges and stuff, using networkd
- documentation, the man-pages are good and most of the time you will find tutorials written directly by the authors

- something that often time is mentioned, but only indirectly affects me: consolidation of common functions and offering. APIs for them, so that they don't have to be implemented over and over again in the actual services or daemons, like privilege dropping, session management, daemonization of processes, ... . Though this only indirectly affects me (besides making my systems more secure), due to the fact that I am not a developer, this is the point that many people have issues with, since this is the part where projects that decide to use those APIs add a dependency on those APIs to their project, read: other people shout at them for being depending on systemd (while in fact they are dependend on APIs that anyone can provide), or, more often, shout at systemd developers for forcing themselves onto anyone and being cancer or a virus, instead of offering those APIs for their init system of choice (or init system independent).

- The most compelling reason for me is: they actually go forward and do it. Many of the things I mentioned can be done without systemd, a point that often comes up in discussions. The point is that nobody is actually doing it, while the systemd developers just go ahead and offer those services, neatly integrated into one modular project, where it is easily usable and testable.

Many things that now matter to me and are only offered to me by systemd (yet?) are things that I did not care about before actually trying it myself, which is why I encourage anyone to just give it a try with an open mind to see what it can offer for you if you are willing to spend some time learning.

systemd has changed my way of managing my systems in the same way as switching from floating WMs to the tiling ones: at first it was confusing and sometimes hard to grasp, but after some learning I really started to like them and nowadays I am seriously annoyed when I only have floaters available for use.
Or when I started to use Vim instead of nano, hard for anyone used to nano at first, but after a little learning powerful and convenient, even a little bit addictive (I had to add an alias named :q to my shell configuration because I started to getting a lot of 'command not found' type errors when trying to close a shell).
User avatar
TobiSGD
 
Posts: 859
Joined: 2010-05-08 22:27
Location: Hannover, Germany

Re: Why systemd is the way forward: technical arguments

Postby RU55EL » 2014-11-24 21:04

TobiSGD wrote:[...]So, some of the dvantages I see for me with using systemd:[...]


I'm sorry if this is off topic, but this spelling error made me laugh! (Speaking strickly in the context of humor)

dvantages = positive attributes of systemd
User avatar
RU55EL
 
Posts: 494
Joined: 2014-04-07 03:42
Location: /home/russel


Re: Why systemd is the way forward: technical arguments

Postby tomazzi » 2014-11-24 21:23

Boot time is becoming highly irrelevant on desktops/laptops as more and more PCs are using SSDs as the main drive.
<true> Servers on the other hand, (not talking about home-brew PCs which are funcioning as servers), are using extremely fast and redundand Raid arrays, which are usually even faster that single-SSD configurations. When the system is running, then starting another OS in the VM is even faster - due to multiple caching effect : OS cache + Raid cache + VM (OS intrernal) cache - eg. even with a normal HDD used for a VM, shitty winblows works 10x faster than as a host OS - so please, boot time is the least important thing to mention with regard to systemd.

I like the idea behind the systemd - however, there are two aspects of using it:
- as a service and boot manager - works ok (usually, in common configurations)
- extensions for systemd (like DNS resolved daemon - it lacks of even most basic protection <not to mention RFC> against cache poisoning) are completely broken, untested piece of crap.

Although it works ok in common cases, then still the problem is, that it wasn't really tested - nobody, including RedHat haven't a chance to do this, because it changes so frequently (should I mention that libsystemd-logind, currently used by Jessie, is now obsolete?).
Another fact is, that even an average C programmer, after reading the sources can confirm, that the code is a crap, wich lacks protection against segfaults and there's totally no protection implemented in release builds...

What's strange - somehow, it happenned that people in Debian are blindlessly repeating bullshits stated by the authors:
<From wiki>
Systemd uses control groups to ensure that any service, regardless of its state, can be shut down properly.

Explanation: this is impossible and/or dangerus - Yes, systemd can kill each service easily, very much like the "WaitToKillServiceTimeout" setting in Winblows. It's a total bullshit or simply a lie that it's safe to "shutdown a service regardles of its state"

That beeing said, I'm convinced that systemd can be fixed/forked - and this is the only solution to stabilise its code, because the authors are apparently using the RedHat position in the market/Linux word to experiment on us - users, and they are not interested in freezing the systemd anytime soon... (what means that Debian uses alpha-level software, which just happened to work somehow)

Regards.
Odi profanum vulgus
tomazzi
 
Posts: 730
Joined: 2013-08-02 21:33

Re: Why systemd is the way forward: technical arguments

Postby TobiSGD » 2014-11-24 21:58

tomazzi wrote:- extensions for systemd (like DNS resolved daemon - it lacks of even most basic protection <not to mention RFC> against cache poisoning) are completely broken, untested piece of crap

Seriously? You use the state of a part of systemd that is in early development and discouraged to use in the current state by its developer as indicator for the quality of all parts of the tree besides the core components? Way to go!
http://lwn.net/Articles/622445/
User avatar
TobiSGD
 
Posts: 859
Joined: 2010-05-08 22:27
Location: Hannover, Germany

Re: Why systemd is the way forward: technical arguments

Postby buntunub » 2014-11-24 21:59

tomazzi wrote:
What's strange - somehow, it happenned that people in Debian are blindlessly repeating bullshits stated by the authors:
<From wiki>
Systemd uses control groups to ensure that any service, regardless of its state, can be shut down properly.

Explanation: this is impossible and/or dangerus - Yes, systemd can kill each service easily, very much like the "WaitToKillServiceTimeout" setting in Winblows. It's a total bullshit or simply a lie that it's safe to "shutdown a service regardles of its state"



This. Aside from one poster above, everyone who has been on the side, or at least still on the fence about Systemd just reposts exxagerations or misleading information directly from the Systemd website. First, it was boot times. Now, it's cgroups and process shutdowns.. Really?! How stupid is that? Like this can't be done - at all - on Wheezy, as is, right this very millisecond?

Please folks, stop drinking the Systemd coolaid. It quite litterally does nothing that can't be done right now without it. Yes, Lennart and crew have done something interesting with Systemd, I will not deny it is has some interesting ideas contained deep down within the mess it is now. Yes, Lennart and crew at the very least are trying to do ~something~. My belief is that what they are doing does not have the best interests of computing freedom in mind, especially considering it leaves the BSDs out in the cold and breaking POSIX.
User avatar
buntunub
 
Posts: 591
Joined: 2011-02-11 05:23

Re: Why systemd is the way forward: technical arguments

Postby confuseling » 2014-11-24 22:03

What? That comes from the Debian wiki.

It's been pored over by the tech committee. Do you think any of it is wrong? Which parts?
The Forum's search box is terrible. Use site specific search, e.g.
https://www.google.com/search?q=site%3A ... terms+here
confuseling
 
Posts: 2143
Joined: 2009-10-21 01:03

Next

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 6 guests

fashionable