Systemd - actually quite cool

For a long time I really didn't see the point of systemd. RC scripts work fine, why replace something that works perfectly well? After a bit of reading I've discovered that systemd is actually very cool.

If you have a bit of reading time you might want to look at:

http://0pointer.de/blog

10 Replies

Did you fall on your head?

Compared to Chkconfig/Service, Systemd is a bloated, overly complicated, nightmare that has no (zero, zip, nadda) purpose being in a SERVER OS.

You could have saved some characters and just gone with "GET OFF MY LAWN!"

srs

Asking from genuine ignorance here: do both options allow parallel loading? Or does one of the options only load things sequentially?

Both "variants" of init can support parallel loading - Debian does with the old style init if the LSB dependencies are declared, not sure if RHEL/Centos does.

@vonskippy:

Did you fall on your head?

Yes, but that was years ago and the scar has faded so much it's barely visible anymore. It never stopped me getting into Mensa so I guess the damage can't have been that bad.

@vonskippy:

Compared to Chkconfig/Service, Systemd is a bloated, overly complicated, nightmare that has no (zero, zip, nadda) purpose being in a SERVER OS.

That's exactly what I thought about it at first, and the reason I avoided it for so long. It's really none of those things you list, it's a good thing™. RHEL 7 is going to come with systemd but you will still be able to use chkconfig and service as before as well as the new systemctl commands.

Sadly it won't help keeping those dam kids off your lawn.

Lets see…..

Is this command easier to type, remember, understand

chkconfig httpd --list

Or is this such a better (or shall we say cooler) way of doing it

ls /etc/systemd/system/*.wants/httpd.service 

And of course only the nerds would be dumb enough to want to type this

service httpd start

When all the cool kids are typing this

systemctl start httpd service

There is NO REASON for the added complexity and longer syntax.

RHEL is getting major flack for letting the Fedora dorks dictate procedural calls in RHEL. It will be interesting to see if Systemd makes it past RHEL 7 into RHEL 8. There are thousands (and thousands) of scripts that will need to be tinkered with for a big fact zero gain. Most businesses frown on having their overpaid IT staff do needless work.

If only there were a way they could make 'chkconfig' and 'service' behave exactly the same as they do now…

@vonskippy:

When all the cool kids are typing this

systemctl start httpd service

I've never needed to start anything that way, just doing for eg systemctl start httpd worked fine. Unless fedora etc are doing something dodgy…

Here is a very short list of some of the advantages that systemd has over sysvinit:

It figures out dependencies and starting order of daemons. Sysvinit has to be told what order to start things in.

Because of the above it starts daemons in parallel giving a very fast boot time.

The configs are declarative ( like puppet, cfengine, etc ), not overly long shell scripts.

Systemd keeps track of processes with linux cgroups, which allows systemd to find all subprocesses of started daemons no matter how much they fork() and exec(). This is impossible with the standard rc script setup.

@sednet:

It figures out dependencies and starting order of daemons. Sysvinit has to be told what order to start things in.

Does systemd determine this on its own, or does it need to have dependencies given in a config file? If the latter, LSB sysvinit also has this capability, although whether it uses this vs. hardcoded boot sequence values depends on your distro.

A couple systemd capabilities would seem to be useful on Linode:

  • Starting network services on demand ala inetd. This way a less-used daemon need not sit loaded in memory (or swap) all the time just waiting for connections.

  • Automatically restarting services that have died without having to run monit or similar.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct