News for hackers. Stuff that matters.
Re:IBM acquires Red Hat by severino on Sunday October 28, 2018 @03:29PM (#18322513)
Well, I don't know anybody in the FOSS community which would be worried it systemd became endangered ;)
Re:IBM acquires Red Hat by dang on Sunday October 28, 2018 @08:03PM (#18324006)
Please don't troll threads, intentionally or not, by throwing in classic flamebait. It seems funny at the time, and then we get another systemd or whatever flamewar.

We detached this subthread from https://news.ycombinator.com/item?id=18322395 and marked it off-topic.

Re:IBM acquires Red Hat by pritambaral on Sunday October 28, 2018 @03:41PM (#18322626)
1. Every distro that already uses systemd (which is close to 100%)

2. (Close to 100% of) packagers and maintainers of system services

3. System administrators using distros from #1 (which is, again, practically everyone)

Re:IBM acquires Red Hat by severino on Sunday October 28, 2018 @04:54PM (#18323126)
Now talking seriously, even if IBM stopped funding the project, it wouldn't be such a disaster. First of all, it's open source. A new mantainer could take over the project (for free) so the distributions can keep using it. But even if a replacement had to be found, the process wouldn't be traumatic... just like when Debian, the base of many other distributions, adopted systemd some years ago.
Re:IBM acquires Red Hat by geofft on Sunday October 28, 2018 @05:21PM (#18323279)
A new maintainer could take over the project, but Red Hat was funding their labor, and the chances that someone takes over the project and continues contributing regularly goes up significantly if their labor is reliably funded. (Working for a large company is not the only way to fund labor, but it seems to be the most common one in our society.)

Similarly, having something worth switching to also depends on labor to develop such an alternative. Upstart is no longer funded, and was the closest (including in terms of mindshare that caused people to spend labor developing integration between their software and the init system).

Re:IBM acquires Red Hat by severino on Sunday October 28, 2018 @06:07PM (#18323526)
That's right, but we've plenty of "plumbing" software for the Linux ecosystem whithout funding companies behind, and they get regular contributions.

The same should happen with the init system. Of course, it's different when the software pretends not just to be an init system but also a replacement for tons of other daemons like cron, inetd, networking, etc, making it a huge piece of software. But maybe that's the problem in the first place.

Re:IBM acquires Red Hat by dfox on Sunday October 28, 2018 @07:37PM (#18323904)
The point there is that most of the underlying user space plumbing of modern Linux system is in fact funded by Red Hat in one way or another.

(And in this context it is probably useful to realize that on the kernel side of things the amount of funding from Red Hat and IBM is comparable)

Re:IBM acquires Red Hat by severino on Monday October 29, 2018 @05:16PM (#18331570)
If that's true, maybe we should stop relying so much on a single company like RedHat. Maybe we need to stop making so many distributions, and instead focus on the tools everybody use.
Re:IBM acquires Red Hat by _emacsomancer_ on Sunday October 28, 2018 @07:32PM (#18323880)
systemd is interesting and innovative. But I do question whether the most baroque of the modern inits should be the de facto standard init.
Re:IBM acquires Red Hat by dijit on Sunday October 28, 2018 @04:47PM (#18323068)
The warnings for #1 were clear. Nobody wanted to hear or heed them. I have little sympathy for those that adopted it despite many people begging them (distro maintainers) not to.
Re:IBM acquires Red Hat by geofft on Sunday October 28, 2018 @05:23PM (#18323292)
I do not think that there were any clear warnings that you should avoid using systemd because it's good software that might stop being developed soon.

I also don't think avoiding using systemd solves the problem. My preferred alternative to an abandoned systemd is a well-developed systemd, not sysvinit.

Re:IBM acquires Red Hat by LaGrange on Sunday October 28, 2018 @06:44PM (#18323678)
Yeah, I'm also not a fan of systemd, but if there's something I dislike more, it's plain sysvinit. I _almost_ prefer the old BSD style "just a bunch of hand-rolled scripts," at least that one has you feeling special as you make a mess of it.
Re:IBM acquires Red Hat by dijit on Sunday October 28, 2018 @05:45PM (#18323428)
>because it's good software that might stop being developed soon.

Having looked at the code. Calling it good software is a dubious proposition at best.

As mentioned in another comment. There are other init replacements that are seeking to solve the same issues as systemd. I bet you can’t name them though since they were never properly evaluated.

Re:IBM acquires Red Hat by acdha on Sunday October 28, 2018 @08:56PM (#18324190)
Of all the standard anti-systemd talking points this one is one of the most puzzling rejections of reality. Every major distribution reviewed the landscape. Look through https://wiki.debian.org/Debate/initsystem/systemd and all of the votes, countless threads, etc. You can disagree with the conclusions but it’s just absurd to say that people weren’t aware that there were alternatives.
Re:IBM acquires Red Hat by geofft on Sunday October 28, 2018 @10:50PM (#18324679)
(Also, I'm not sure whether that was intended to be an ad hominem that I personally haven't looked for alternatives, or a statement about the state of the industry that I haven't been made aware of them, but I can in fact name alternatives, and mostly because I've followed debates like this.)
Re:IBM acquires Red Hat by dijit on Monday October 29, 2018 @05:13AM (#18325982)
In the end it was a tie in the Debian technical committee. The chairman’s vote was counted twice so systemd won. Then the people who had voted for systemd resigned rather than actually implement their choice.

Not as cut and dry as you make it seem.

Re:IBM acquires Red Hat by geofft on Monday October 29, 2018 @08:35AM (#18326955)
This is just not true at all. (I'm a Debian package maintainer; I paid close attention to both the vote itself and the discussion around it.)

Debian uses ranked preference voting. Of the nine committee members, only one ranked sysvinit above either systemd or upstart. The rest were split about which of the two, with systemd winning the tie-break vote, but both were acceptable choices to all eight. There was no tie about whether systemd would have been an acceptable choice; both systemd and upstart were accepted 8-to-1.

The one member who voted in favor of sysvinit resigned after trying to start a general resolution (a vote of the entire project) to overrule the committee, and being told by basically everyone that this was inappropriate. He did not resign over systemd; he resigned, at best, over the process, and really I'd say he resigned because the project had lost confidence in him as someone able to act reasonably in contentious technical situations, which is basically the job of a technical committee member.

Nobody on the technical committee had refused to implement systemd support. The technical committee is not an implementation body anyway, but none of the members have refused to, say, implement systemd support in their packages, and they all remain members of the project.

All of this is public record, e.g.: https://lwn.net/Articles/585504/

(Also, none of what you said is a counterargument to the post you replied to.)

Re:IBM acquires Red Hat by acdha on Monday October 29, 2018 @08:56AM (#18327079)
I’m not sure how you think that relates to my comment. As I said, it’s bizarre to suggest that the problem was a lack of awareness about the alternatives when there was such a long process doing exactly that.
Re:IBM acquires Red Hat by eliaspro on Sunday October 28, 2018 @03:45PM (#18322668)
So you'd rather go back to Upstart or SysV? Really?
Re:IBM acquires Red Hat by bigbugbag on Sunday October 28, 2018 @04:54PM (#18323128)
I would stay away from upstart because canonical. SysV, yes in the blink of an eye.

But you are mistaken if you think systemd is about init, it has gobbled so much stuff that this thing is a monstrous kitchen sink on its way to engulfing the whole bathroom.

then again maybe there are other init systems options than those two, devuan which arose from keeping systemd out of debian offert no less than 6 alternatives that address SysV flaws: openrc, sinit, runit, s6 and shepherd.

Re:IBM acquires Red Hat by _emacsomancer_ on Sunday October 28, 2018 @07:34PM (#18323889)
A: I'm not that fond of Ford cars.

B: So you want to drive a horse-and-buggy then?

That is to say, there are quite a number of modern inits that are not systemd. It's such a straw-man argument to bring up sysv init every time someone says something critical of systemd.

Re:IBM acquires Red Hat by JdeBP on Monday October 29, 2018 @03:37AM (#18325637)
The false dichotomy was called out by the Uselessd Guy some years ago.

* http://uselessd.darknedgy.net/ProSystemdAntiSystemd/

Re:IBM acquires Red Hat by _emacsomancer_ on Monday October 29, 2018 @10:21AM (#18327733)
Yet it comes up nearly every time I express concern about any aspect of systemd. ("Like it or not, you've got to move on from sysv; systemd is the industry standard" etc. etc.)
Re:IBM acquires Red Hat by throwaway76543 on Sunday October 28, 2018 @03:48PM (#18322692)
Yes, without question. Systemd provides me absolutely no benefit when running a server and adds considerable complexity and fragility in a critical component.

A traditional SysV init is just fine. Want orchestrated service invocation on startup? Run it from SysV init instead of replacing SysV init.

There is no need to conflate the "sysv rc system" with "sysv init." They are entirely separate things.

Re:IBM acquires Red Hat by pcwalton on Sunday October 28, 2018 @04:10PM (#18322847)
So you're saying to just use SysV init to launch processes from inittab, and have one of those processes be a systemd/launchd clone that launches everything else. I mean, I guess that's a possible design, but at that point I would question whether using the SysV init program is really buying you anything.

In any case, most people wouldn't consider that design "SysV init". The SysV init ecosystem is built around rc files.

Re:IBM acquires Red Hat by throwaway76543 on Sunday October 28, 2018 @04:42PM (#18323034)
I teach unix internals to engineers as part of my job and I've found most engineers aren't intimately familiar with the distinction between the RC system and the init system at all. I agree there isn't widespread understanding of this distinction but I think it is because most engineers simply don't know how any of this works.

The reason to keep these things modular is flexibility and ease of analysis and improvement. The major criticism I see with systemd is that has undefined operational scope and unbounded feature creep. It has no stable interface between components and changes behavior in incompatible and difficult to predict ways fairly regularly. From a systems perspective it's a big ball of mud and the lack of a formal interface makes it prohibitively difficult to change or replace its subsystems.

I don't like that systemd performs ANSI animations on my machine's serial console, for example. Have you seen the "marquee" animations it does when certain services start? I sure would like to force it to print sequential lines of text instead, but I can't.

I don't like that when systemd updated basic utilities like "reboot" I lost the ability to use them in a chroot. Even "reboot -f" which does not need to talk to init. I had to write my own one-liner to call reboot(2) myself not too long ago.

System components need to be well scoped and replaceable. There's a major design problem brewing in this area.

Re:IBM acquires Red Hat by mediocrejoker on Sunday October 28, 2018 @08:41PM (#18324146)
Not trying to nit pick but I am among the group who did not realize there is a distinction between sysV init and RC files.

Is it possible to use one without the other?

Re:IBM acquires Red Hat by throwaway76543 on Sunday October 28, 2018 @08:59PM (#18324206)
Sure thing!

/sbin/init is pid=1, the single process that the kernel starts when a system boots. It typically runs a command to kick off bringing up userland to the correct runlevel, maybe something like "/etc/rc.d/rc 3". It doesn't do anything more than just execute this command.

The command is part of the RC system. Typically written in shell, it handles walking /etc/rc.*/ and running the scripts contained therein to configure and invoke the various services for a particular runlevel.

You can boot linux using your own init and skip the rc system. From grub, add "init=/bin/sh" to your kernel parameters and you will get a shell as pid=1 and no other processes -- from there you can run commands as you wish to bring your system the rest of the way up. If you were to run "/etc/rc.d/rc 3" by hand you would invoke the same scripts that normally run on bootup to runlevel 3.

You could also delete all these shell scripts and replace them with your own code for configuring the system.

Re:IBM acquires Red Hat by JdeBP on Monday October 29, 2018 @03:48AM (#18325676)
It's not only possible, it is how the System Resource Controller worked in AIX from version 3.2 back in 1992 onwards. srcmstr is run from an entry in inittab, which at the same time shrank to just one run level in real use.

You have erroneously conflated rc and init, as others have pointed out.

Re:IBM acquires Red Hat by cthalupa on Sunday October 28, 2018 @04:22PM (#18322918)
I'd rathe someone take another shot at service management.

I don't want to hold onto everything about SysV style systems - I love SMF in Solaris! - but I'd definitely prefer a leaner and more focused approach to development than we see with systemd.

Re:IBM acquires Red Hat by JdeBP on Monday October 29, 2018 @03:50AM (#18325682)
Then you should pick up the reins of System XVI.

* https://news.ycombinator.com/item?id=10212770

Re:IBM acquires Red Hat by dfox on Sunday October 28, 2018 @07:40PM (#18323918)
It is interesting that you bring up SMF. For me systemd mostly seems like saner implementation of SMF.
Re:IBM acquires Red Hat by severino on Sunday October 28, 2018 @03:48PM (#18322702)
No, it was just a joke, you know... but in fact I've checked and I'm already running upstart right now, as part of my Ubuntu LTS system. So really no need to "go back" :P
Re:IBM acquires Red Hat by Chyzwar on Sunday October 28, 2018 @05:28PM (#18323329)
Ubuntu switched to systemd from 16.04. You must be running 14.04. Ubuntu improved a lot in 4 years.
Re:IBM acquires Red Hat by severino on Sunday October 28, 2018 @06:01PM (#18323497)
Yes, it's 14.04. I tried 18.04 a couple of weeks ago, but I didn't really like the new GNOME interface. For me, Unity was (is) a great DE. I know other things improved too, but I'm not really enthusiastic about them either. For example, snaps, whose paradigm of self-contained applications I don't consider an improvement.
Re:IBM acquires Red Hat by rocqua on Sunday October 28, 2018 @06:03PM (#18323509)
Last I checked Upstart was deprecated.
Re:IBM acquires Red Hat by severino on Sunday October 28, 2018 @06:13PM (#18323555)
It is, but it's also the init system of some Ubuntu versions still supported, so you can be running upstart on a modern, supported distribution.
Re:IBM acquires Red Hat by cthalupa on Sunday October 28, 2018 @07:41PM (#18323922)
4 years old, running a 3.13.x kernel

You and I have very different definitions of modern, I suppose.

Re:IBM acquires Red Hat by dijit on Sunday October 28, 2018 @04:48PM (#18323077)
False dichotomy. There are more options than those. SystemD won because it had been adopted already and was supported by a major company in FOSS
Re:IBM acquires Red Hat by bigbugbag on Sunday October 28, 2018 @05:07PM (#18323203)
I would disagree that systemd got adopted because it had been already adopted, this is a circular reasoning.

From a distance it looks like politics and influence pushed for adoption of systemd, motivation behind this uncanny move and spread has been questioned making some wonder if this could be intended with a nefarious purpose in mind.

Re:IBM acquires Red Hat by emmelaich on Sunday October 28, 2018 @07:08PM (#18323774)
You just cannot call it "politics and influence" when systemd was discussed thoroughly and adopted by Debian.
Re:IBM acquires Red Hat by seenitall on Monday October 29, 2018 @01:28AM (#18325269)
In the end it was a tie in the Debian technical committee. The chairman’s vote was counted twice so systemd won. Then the people who had voted for systemd resigned rather than actually implement their choice.
Re:IBM acquires Red Hat by the_why_of_y on Monday October 29, 2018 @06:39PM (#18332261)
> Then the people who had voted for systemd resigned rather than actually implement their choice.

Huh? I'm not sure what you think the role of Debian's TC is, you seem to be quite confused about it. Also, both TC members who preferred systemd over upstart and members who preferred upstart over systemd resigned.

Re:IBM acquires Red Hat by sprash on Sunday October 28, 2018 @05:01PM (#18323173)
False dichotomy indeed. Right now I'm testing runit (on void linux) for my production machines. My experience since more than a year: Once it runs it runs, literally zero surprises so far.

The general volatility of systemd introduces so many unstable elements in your system, that it really makes you think if the added risk it is really worth the value it offers (even though I'm still not quiet sure what the value of systemd actually is).

Re:IBM acquires Red Hat by Spivak on Sunday October 28, 2018 @09:25PM (#18324295)
I'm not exactly surprised that someone who isn't using systemd for anything is getting little value from it. If you really want to give it a fair chance go all in on 'the systemd way' and you'll wonder how you ever got by without it.

- Services can depend on mounts, sockets, paths, or other servives. Don't start the NFS server until your backend storage is online and mounted and stop it if it goes offline.

- Are you annoyed when Symantec is chewing through your CPU? Use systemctl --edit and cap it at 20% with one CPUQuota option.

- Have a NodeJS service you want to bind to port 80 but not run as root? AmbientCapabilities=CAP_NET_BIND_SERVICE and you're done.

- Want to automount a directory? Drop in an .automount file or add an option to fstab and you're done.

- Replace GRUB with systemd-boot and enjoy configuring boot options with simple INI files.

- Want to do offline updates? Have any service you want be part of system-update.target, touch /system-update and reboot.

- Annoyed that you can't have more than 3 dns servers or can't run DNSoTLS or DNSoHTTPS? systemd-resolved has your back.

- Forget about ntpd or chrony and use systemd-timesyncd is a lightweight standards complaint ntp client.

- Run all your userspace daemons like offlineimap, tmux, emacs, your dev server, etc. as systemd user services.

- Manage the permissions, resource usage, and monitor long running jobs with systemd-run.

- Replace cron with systemd timers that not only have more powerful timespecs, are hooked into the dependency solver, and can be monitored like any other service.

- Isolate troublesome 3rd party applications with systemd-portable which are a bit like privileged containers but easier to use.

- Run apps as unprivileged users without having to fill passwd with users and groups just for services with dynamic users.

These are just the ones off the top of my head. It boggles my mind how people say that systemd doesn't provide value.

Re:IBM acquires Red Hat by dijit on Monday October 29, 2018 @01:31AM (#18325280)
The things you listed exist outside of systemd.

You’re arguing the same tired points against sysvinit except also attributing valour to systemd where it doesn’t belong.

- Services can depend on mounts, sockets, paths, or other servives. Don't start the NFS server until your backend storage is online and mounted and stop it if it goes offline.

This is what the next generation of init systems brought. Not just systemd, but runit and others. Nobody was fighting for sysvinit, which is what people seem to argue.

- Are you annoyed when Symantec is chewing through your CPU? Use systemctl --edit and cap it at 20% with one CPUQuota option.

This is just cgroups, a function of the kernel, not systemd

- Have a NodeJS service you want to bind to port 80 but not run as root? AmbientCapabilities=CAP_NET_BIND_SERVICE and you're done.

Polkit

- Want to automount a directory? Drop in an .automount file or add an option to fstab and you're done.

Automount, existed for 15 years at this point.

- Replace GRUB with systemd-boot and enjoy configuring boot options with simple INI files.

You know they adopted a boot loader for this right? It existed before systemd. Regardless an “ease of use bootloader” that comes with a lot of opinions on other things like logging and opaque non-deterministic behaviour? Nah.

- Want to do offline updates? Have any service you want be part of system-update.target, touch /system-update and reboot.

What does this mean?

- Annoyed that you can't have more than 3 dns servers or can't run DNSoTLS or DNSoHTTPS? systemd-resolved has your back.

This has been the horror of many, since the code to do this is so shitty and makes so many assumptions. (Like that it silently fails and makes your application pause, or the more subtle default of using Google’s dns server- which they didn’t pay for and is a weird default in the context of servers- hammering home to me that systemd was for the desktop.

Explains a lot of the design if you frame it that way, looks a lot like the windows subsystem)

- Forget about ntpd or chrony and use systemd-timesyncd is a lightweight standards complaint ntp client.

Why forget about things that work? I don’t understand your reasoning here. Because you like INI files?

- Run all your userspace daemons like offlineimap, tmux, emacs, your dev server, etc. as systemd user services.

This one is fair enough, I used to use supervisord, but that’s very meh- Or there’s the old tmux session that lives forever.

- Manage the permissions, resource usage, and monitor long running jobs with systemd-run.

Same as cgroups again.

- Replace cron with systemd timers that not only have more powerful timespecs, are hooked into the dependency solver, and can be monitored like any other service.

Your argument here boils down to “service integration with corn” because high resolution timers were a thing before systemd. This is solved with other inits (like runit) by making resources available as you request them. Much like xinetd.

- Isolate troublesome 3rd party applications with systemd-portable which are a bit like privileged containers but easier to use.

LXC or in a real pinch, cgroups + chroot.

- Run apps as unprivileged users without having to fill passwd with users and groups just for services with dynamic users.

Polkit. This is what polkit was designed for.

Re:IBM acquires Red Hat by Spivak on Monday October 29, 2018 @11:18AM (#18328180)
> This is what the next generation of init systems brought. Not just systemd

Exactly! I'm not saying that it's unique to systemd, just that it's useful. I expect many next-gen init systems will be implementing many similar features to systemd.

> This is just cgroups, a function of the kernel, not systemd

And Docker resource control is just cgroups too. Doesn't mean it's not much much easier to use. The value of systemd's resource control options is that it comes with a constraint solver and sets up the cgroups to satisfy your desires. If you have many services all with their own caps it becomes very annoying to figure out how to set up the ratios of CPU shares.

> Automount, existed for 15 years at this point.

And it's been super flaky for 15 years. Would you rather edit automount maps or just say, "hey when this path is first accessed, mount it."

> Polkit

Huh? Polkit 100% cannot do this. This is the ability to set and deny Linux capabilities to services. systemd is actually providing something very unique here which as of yet doesn't exist outside systemd.

The userspace tools for capabilities allow you to set them on files so that when you exec them they have (or are denied) the capabilities you set. But what about an interpreted program like python or node? You probably don't want to set CAP_NET_BIND_SERVICE on all node processes, just your web server.

Systemd makes this very easy by starting a service as root, dropping capabilies to match your directives then execing the service. Nothing magic but something very few tools let you do. Someone could write a tool for this but it's doesn't exist anywhere in my repos.

> You know they adopted a boot loader for this right?

Look I know it's gummyboot. Gummyboot is great. Just because it's now systemd-boot doesn't make it any less good. In fact it makes it better since the userspace tooling systemd added greatly improved the experience using it.

> What does this mean?

Downloading updates to apply, rebooting into a minimal environment to apply them, and then rebooting back into your system. It's a very slick implementation.

> Why forget about things that work?

Drastically reduced complexity and attack surface because timesyncd focuses entirely on being a client.

> Same as cgroups again.

Yes they use cgroups under the hood. Tell me how to, from a shell, run an arbitrary process capped at 30% CPU and 128M of memory that's easier than

systemd-run -t -p MemoryMax=128M -p CPUQuota=30% my-process

> LXC or in a real pinch, cgroups + chroot.

Right, but systemd is providing the tooling to make it easy package and run services like this.

> Polkit. This is what polkit was designed for.

Polkit literally cannot do this. Tell me how to make a user $service exist only while $service is running.

Re:IBM acquires Red Hat by craftyguy on Sunday October 28, 2018 @05:27PM (#18323323)
I'm in the FOSS community and I like systemd, so find some other dead horse to beat.
Re:IBM acquires Red Hat by MindTooth on Sunday October 28, 2018 @03:57PM (#18322761)
That made my day... Thank you :)

Haven't laughed as hard in a while.

Re:IBM acquires Red Hat by bdavis__ on Sunday October 28, 2018 @03:42PM (#18322635)
redhat had a lot of love in the world. any other vendor that shoved systemd down everyones throat would have been villified. redhat was given a pass. (karma, anyone?)
Re:IBM acquires Red Hat by icebraining on Sunday October 28, 2018 @04:39PM (#18323015)
Karma? Red Hat shareholders will be getting a 60% premium over the current value.. if it's karma, then pushing systemd was a good action.
Re:IBM acquires Red Hat by village-idiot on Sunday October 28, 2018 @04:12PM (#18322864)
Indeed. Canonical tried and failed, hard.
Re:IBM acquires Red Hat by ddingus on Sunday October 28, 2018 @03:36PM (#18322576)
You win! Truth

I know. It is perfectly OK. I will bever be a fan of systemd.