Learning systemd

Mattias Geniar, Friday, January 16, 2015 - last modified: Monday, January 19, 2015

Systemd is coming to a linux distro near you.

In fact, if you're using RHEL 7+, CentOS 7+, Fedora 15+ or Arch, you're already using systemd. You can always stick to a distribution that stays clear of systemd, but chances are you'll eventually run into systemd -- so why not get to know it a little better?

Here's a set of resources I found useful.

I hope these resources can be valuable to you too!

And who knows, after reading up on systemd, you may actually like it? I know I'm looking forward to using it!



Hi! My name is Mattias Geniar. I'm a Support Manager at Nucleus Hosting in Belgium, a general web geek, public speaker and podcaster. Currently working on DNS Spy. Follow me on Twitter as @mattiasgeniar.

I respect your privacy and you won't get spam. Ever.
Just a weekly newsletter about Linux and open source.

SysCast podcast

In the SysCast podcast I talk about Linux & open source projects, interview sysadmins or developers and discuss web-related technologies. A show by and for geeks!

cron.weekly newsletter

A weekly newsletter - delivered every Sunday - for Linux sysadmins and open source users. It helps keeps you informed about open source projects, Linux guides & tutorials and the latest news.

Share this post

Did you like this post? Will you help me share it on social media? Thanks!

Comments

lucius.cornelius Saturday, January 17, 2015 at 06:31 (permalink)

Or put another way – systemd is pervasive and even though it breaks the philosophy underpinning Linux and even though it’s being forced on many users, it’s just so much easier to learn to use it than to stand against it, so just give up already.
Or you could encourage people to take a principled stand (which is where GNU/Linux was born in the first place) and get them to look at using Slackware/SalixOS, both of which are systemd free, as caving into bullies is not how we advance the cause, it’s how we lose it.

Reply


    Mattias Geniar Saturday, January 17, 2015 at 08:46 (permalink)

    Systemd is ‘forced upon you’ the same way Kernels are. It’s always your choice wether you follow them or not. I like to think systemd development is an advancement for the Linux world.

    Have you tried systemd? Or have you read the countless blogs and rants about others, all claiming the same “unix philosophy” argument?

    I’m going to quote Lennart Poettering verbatim, he sums it up perfectly I think.

    There are many different misconceptions. Something you always see is the claim that Systemd is monolithic – and another is that it’s not like Unix. The Unix misconception is a pretty interesting one, because most people who say Systemd is un-Unixish have no idea what Unix is actually like.

    What’s typical for Unix, for example, is that all the tools, the C library, the kernel, are all maintained in the same repository, right? And they’re released in sync, have the same coding style, the same build infrastructure, the same release cycles – everything’s the same. So you get the entire central part of the operating system like that. If people claim that, because we stick a lot of things into the Systemd repository, then it’s un-Unixish, then it’s absolutely the opposite. It’s more Unix-ish than Linux ever was!

    The Linux model is the one where you have everything split up, and have different maintainers, different coding styles, different release cycles, different maintenance statuses. Much of the Linux userspace used to be pretty badly maintained, if at all. You had completely different styles, the commands worked differently – in the most superficial level, some used -h for help, and others ––help. It’s not uniform.

    Lennart Poettering

    Systemd is a change, and that’s what people are afraid of. It’s a big change at that, too. But in the same way Puppet is a declarative config management system, I like how systemd is declarative service management.

    We shouldn’t have to re-invent the wheel with new bash-scripts every time.

    I intend to embrace systemd and see where it gets me. Maybe I’ll change my mind in 6 months, but I’m at least going to give it a fair chance.

    Reply


      lucius.cornelius Saturday, January 17, 2015 at 09:25 (permalink)

      Yes I’ve tried systemd. I’ve run various distros that use it. It’s quick. But it still contradicts the underlying philosophy and quoting Mr Poettering isn’t doing your argument any favours as he clearly demonstrates that he has absolutely no understanding of what Unix is. If he had, systemd would not be growing and swallowing previously independent parts of the OS that have no bearing on the start up sequence.
      Mr Poettering is a trojan and by the time you and all the other “we know better than the people who created the OS we use” crowd realise this, it may well be too late. Systemd is a powergrab, it places control over 98% of all distros into the hands of Red Hat, who might be an Open Source Company but who are a Corporation first and foremost and they put, by law, profit above all other considerations. Linux is going through a “we don’t care about any of the things we used to think were paramount, just give us speed and convenience” phase. It is heartbreaking to behold.

      Reply


      Mattias Geniar Saturday, January 17, 2015 at 10:29 (permalink)

      Yes I’ve tried systemd.

      Then I apologise for jumping to conclusions. I get a feeling a lot of hate/disappointment towards systemd is because it’s not been given a fair chance.

      Mr Poettering is a trojan and …

      Haha! Surely you don’t think Mr Poettering is alone? If one man, with an opinion that no one shares, can write software and force it onto every major distro, then something is wrong with the Linux community.

      The reality however is that distro’s have voted, argumented and discussed every little angle of systemd, and still they chose to implement it.

      Don’t get me wrong, I understand you’re not too happy with a systemd future, and I respect that. My opinion is not the entirely opposite direction, as you may have assumed, but I don’t think systemd is all that evil.

      It does a heck of a lot more good than bad.

      And just like tools like Puppet abstracts away some of the differences in OS’s (ie: package and service management in Debian/RHEL/…), so will systemd abstract away some of the internals of all those distros. Linux distro’s can become a more unified landscape once again.

      In the end, my job is to keep servers secure, performant and reliable. And right now, I think systemd is a good tool that’ll help me in Getting Things Done.

      If I’m wrong in 6 months to a year, I’ll buy you a beer. ;-)

      Reply


lucius.cornelius Saturday, January 17, 2015 at 10:46 (permalink)

I don’t reject anything ‘because it’s new’, but only because it’s either dishonestly portrayed, misleadingly advertised, badly engineered or part of the “everything you do must be open to us” ideology.
From an engineering point of view – Slackware is still the world’s best distro, without exception. It hasn’t lost its mind over each new, groovy and poorly planned doodad. Though I get that in an age where convenience trumps morality and common sense, that that standard is barely appreciated.

Reply


lucius.cornelius Saturday, January 17, 2015 at 10:58 (permalink)

Just as a matter of interest – what did you use before systemd? Windows? Because Linux was so awful and so unstable and so unreliable that prior to systemd, hardly anyone used it?
I’ve been using Linux for 12 years and the first I heard about how dreadful sysVinit was, was on a forum where some rabid systemd freak was savaging anyone who disagreed with him.
So the biggest alarm for me is the way that the debate was controlled – putting down a solution that everyone was quite happy with for years and seeking to portray people unwilling to change as backward looking, stupid fools. This is how debate in the mainstream political sphere is conducted. This is how we ended up with slashed welfare, reduced taxes for the wealthy, widespread dishonesty about the climate, a gaping wealth gap, etc – because the debate was controlled and dissenters were trashed and it’s all about forcing the adoption of a new and stupid (but very beneficial to a minority) way of doing things upon the majority.

Reply


    Mattias Geniar Saturday, January 17, 2015 at 11:04 (permalink)

    Just as a matter of interest – what did you use before systemd? Windows? Because Linux was so awful and so unstable and so unreliable that prior to systemd, hardly anyone used it?

    I’ve used Windows for 10+ years and Linux for the last 8+ years. Linux works, but was/is certainly up for improvement. The same goes for Windows, FreeBSD, …

    This is one of those things where, yes, everything works with SysVinit. Just the same way that yes, everything works without config management. But it sure as hell is an improvement over doing things “manually” and inconsistently.

    … because the debate was controlled and dissenters were trashed and it’s all about forcing the adoption of a new and stupid (but very beneficial to a minority) way of doing things upon the majority.

    It’s very hard to judge technology based on internet fora and comments. Only the ones with a very heavy voice will be heard. Just like you, you are avidly against systemd and you take your time to respond and argument. At the same time, this post is getting quite a lot of track on Twitter, with just shares. Those are people that would agree with the sentiment that we should learn systemd, but they don’t take the time to comment.

    So it may seem like everyone’s against systemd, because 10% of the Linux community takes their time to respond and argument on the internet? What about the rest of the community, that remains silent and just accept it? Perhaps they accept it too blindly, I can’t tell — I can only see a lot of people remain silent on the debate.

    As always, time will tell. I’m still convinced that today, systemd is a step forward. It’ll also evolve and I can’t predict where it’ll be in yet another 10 years. Maybe it’s replaced entirely again. Maybe we’ll go back to bash-scripts?

    Either way, systemd is here today. And we should learn to use it.

    Reply


    alex Saturday, January 17, 2015 at 17:31 (permalink)

    That’s something I’ve read from many vocal systemd opponents over the years, but that I’ve never understood (and that’s never explained): Why do you compare systemd to Windows? AFAICT (I haven’t used Windows for 13 years) there are no significant similarities, apart from Windows being an OS and systemd being part of an OS.
    And even if they were so similar, what point is that supposed to make? The main reason I prefer Linux to Windows or OSX is that it’s Free Software.

    Reply


lucius.cornelius Saturday, January 17, 2015 at 11:20 (permalink)

One thing is for sure – if there was no Open Source, we wouldn’t be having this conversation because there would be no choice in the matter. So, I’ll raise a metaphorical glass (it’s 9:17AM here) to the freedom to say “thanks, but no thanks” and we’ll all see where we are in a year or two and can then engage in a gleeful session of “told ya so”.

Reply


lucius.cornelius Sunday, January 18, 2015 at 07:07 (permalink)

I didn’t compare systemd to Windows. What I tried to point out was that Linux was perfectly fine BEFORE systemd was invented and that the changes it is introducing are, therefore, largely unnecessary.
I use the “what did you use before systemd? Windows?! to try to get people to think “hang on, we didn’t have any problems with the way Linux started before, so why have we thrown 20+ years of experience and extremely well tested code away for a replacement that goes against the underlying philosophies, is already bloating its way into other areas and is openly saying that its goal is to end up controlling the entire Linux OS, from boot, to update to Desktop – all will be ‘looked after’ by systemd? If you, or anyone else cannot see why this might be a problem then I feel truly sorry for you.
As for me, I don’t want this code in my OS, until it’s been around a while and the more unpleasant consequences have not materialised and it’s been proven to be sound.
Systemd is not awesome because Lennart says it is, or because most distros have adopted it (particularly because most had no choice). I’d be a great deal more impressed if Pat Volkerding from Slackware thought it was awesome code and a good idea, but, as far as I cant tell, he doesn’t. Systemd is not in Slackware and there’s currently no known plan to include it. That speaks volumes to me.

Reply


    alex Sunday, January 18, 2015 at 18:10 (permalink)

    I don’t think that there’s any point in discussing this any further, so this will be my last comment here. Everything that can be said, has already been said, and it’s extremely unlikely that anyone changes their opinion on this matter. I only commented because I thought that you could help explain that strange comparison often made by people opposed to systemd.
    But for the record, I think that just about everything you wrote is wrong: Yes, Sysv-init/rc did work, but it was not “extremely well tested code” and there were plenty of problems with it. After all, a number of alternative init systems have been written before systemd; so at least the authors of those systems thought that there indeed were problems with Sysvinit or ways to do things in a better way. Besides, computers have changed a lot since Sysvinit was written, and many of the assumptions and compromises that went into its design are no longer valid or sensible. If you, or anyone else cannot see why this might be a problem then I feel truly sorry for you.
    Every distribution had and always has a choice what software they use. Debian discussed for months which init-system should be the default for their next release. Even Red Hat had this discussion (albeit not as publicly). These discussions alone show that there was a choice and that they choose systemd for good and well-documented reasons. Also the fact that there still are distributions that don’t use systemd (you mentioned Slackware yourself) shows, that there indeed was and is a choice.

    If you don’t want to use systemd, thats completely fine. No one forces you to do so, despite your claims to the contrary. But you don’t seem to think that it’s fine that anyone wants to use systemd (or simply doesn’t care enough about that part of the OS). And that speaks volumes to me.

    Reply


lucius.cornelius Sunday, January 18, 2015 at 19:23 (permalink)

Either say – I’m done here, or, present a set of points and arguments. But don’t say “I’m done here and then fire off a loaf of points and arguments because that sort of implies a less than ideal attitude on your part.
I got as far as “sysVinit is not well tested code” and stopped reading.
So, it was installed on hundreds of thousands of PC’s, for at least 10 years and was thus booted millions of times, but this is not “well tested code”?
Bye.

Reply


trouble Monday, January 19, 2015 at 11:30 (permalink)

Or you could just upgrade to FreeBSD…

Reply


lucius.cornelius Monday, January 19, 2015 at 11:38 (permalink)

“Systemd is coming to a distro near you”.

Except it isn’t.
There is Pisi Linux, Crux Linux, Slackware, SalixOS, Slackel, Manjaro OpenRC and Devuan coming soon. There might be more, but those are the ones I’m aware of.
There is still choice for those of us not willing to go along with systemd just yet.

Reply


    Mattias Geniar Monday, January 19, 2015 at 11:42 (permalink)

    Agree, there is choice. And that’s a good thing, that’s what kept the Linux/Unix/BSD community alive for all these years.

    But let’s be honest, if systemd is being used by RHEL & Debian, you are going to run into it. Every major Linux user is bound to have a RHEL/Debian/…whatever system running, that will have systemd.

    I completely agree with you that it’s a choice; you can use systemd, or you can chose distributions that don’t have systemd.

    But in your professional career, you are going to run into systemd eventually. Maybe not in the current job, maybe not the next, but you’ll eventually have to log in, diagnose and debug a problem where systemd knowledge will come in handy.

    Reply


Steve Dupuis Thursday, January 22, 2015 at 01:28 (permalink)

I’m looking at the whole Linux landscape and would suggest that systemd has been developed because Linux is becoming main stream – at least in the servers and cloud computing environments. Most people who are adopting it see it as a consistent way to manage these servers without having to develop a batch of scripts to do it. I guess a lot of old-guard linux admins don’t like the idea of losing their favorite pastime. The Linux desktop too is becoming mainstream – no longer geekware. Debian and its best known derivatives Ubuntu and Linux Mint, Redhat – Fedora – Centos are all being used or evaluated for use. Something like systemd makes them consistent for new admins to use to keep these different distributions running smoothly without having to learn all the different implementations of the other init systems. I’ve been using systemd with Arch since April 2013, and have never had a problem on any of my personal workstations, including the latest Debian testing machines. Fortunately I haven’t had any major storage failures, but I back all my partitions up weekly so that if something bad happens I can replace a disk and recover. I wouldn’t bother trying to dick around with recovery tools – a restore is a hell of a lot faster.

For me, systemd is solid and fast and consistent across all my workstations and servers. I imagine that Linux will become several different operating systems depending on use. Thats already happening now. Who says we can’t have a geekware version? We can always take a whack at Linux From Scratch if we really want to do things our own way.

Reply


Mike S. Monday, February 2, 2015 at 20:59 (permalink)

Thanks for taking the time to post this. If anyone who dislikes systemd takes the time to read the articles you links, or goes through the rest of Poettering’s blog articles on systemd at his 0pointer.de site, I would virtually guarantee their dislike would be toned down if not removed.

I’ve read all of the arguments for and against, and it’s put me on the ‘for’ side. And not in a rabid fan way that makes me send personal attacks at the people who disagree, but just as someone who sees the tradeoffs and thinks they’re worthwhile.

Reply


    Mattias Geniar Monday, February 2, 2015 at 23:13 (permalink)

    Hi Mike,

    Thanks for the comment! It’s in no way my intention to persuade people of the good/bad of systemd, but before anyone makes a judgement they should be well informed.

    Looking from the outside in, I can understand how systemd appears to take over the world – so it’s important we are aware of what systemd is and isn’t.

    … it’s put me on the ‘for’ side. And not in a rabid fan way that makes me send personal attacks at the people who disagree …

    Haha, I’m glad you’re in the team that doesn’t send personal attacks, I’ve had plenty of those already and I’m getting tired of them. :-)

    Everyone can think what he/she wants of systemd, I couldn’t care less. For now, I’m also in the “for” camp but I’m not making any claims for the next 2 years yet.

    Reply


Anon Developer Tuesday, February 3, 2015 at 22:23 (permalink)

I have to agree with this mainstreaming comment.

10 years ago I was doing a small server farm (back then these cost a ton – even data was insanely expensive compared to todays prices). I used to love getting into the dirt. As the users expand you get users who just don’t want or don’t care to learn all the nuances of getting stuff to work consistently, plus I just find the setup and teardown of servers has totally changed. It’s gone from really building up a server, then a server farm to spin up spin down cloud instances with much much less hand configuration. Now I’d be annoyed if it took more than an hour to get a system up an running.

There is a blindness to the systemd haters as well. Each distribution followed their own community processes to make a decision best for the distro. There’s been basically a vote with feet, and code is talking and talk is walking. I’ve heard a lot about how things “should” have been progressed, but none of the actual coding efforts really caught on. Ubuntu made some major efforts here that didn’t end up going the long distance. If systemd is truly the end of the world and no one wants it fork your distro and enjoy the tons of new users. This has happened with projects as major I think as GCC / EGCS etc, the whole X community etc etc.

But the efforts to attack an individual are totally ridiculous. The idea that this guy can dictate things is silly. This is open source, even Linus can’t dictate, a fork would spring up and folks would switch to that.

Lots of cool features, some that rub me wrong. The containerization efforts I wish would be more integrated with existing community efforts etc… But really actually hope some of the old guard forks off their old style debian’s etc so the business of moving the mainstream of linux forward doesn’t have the same level of hate going on.

Reply


    Mattias Geniar Tuesday, February 3, 2015 at 23:00 (permalink)

    Hi Mr./Mrs. Anonymous!

    Thanks for taking your time to write down your thoughts, without anger or hate. It seems rare in this systemd debate …

    More should follow your example, both for and against systemd, to have a proper discussion.

    Take care!

    Reply


Leave a Reply

Your email address will not be published. Required fields are marked *

Inbound links