Before anything else, I would like to say that I admit systemd
has brought great change to GNU/Linux. sysvinit
wasn’t the best, and custom scripts for every distro is a pain I’d rather not have.
With that said, Poettering now works for Microsoft, systemd
has basically taken over all of the common/popular distributions (if this is about the argument of “systemd
making it easier for developers”, disclaimer: I don’t know. I’m not a developer), and this has led to a rampant monopolisation of the init system.
Memes aside, this has very real consequences. If you don’t want another CentOS-style “oof, sorry, off to testing” debacle happening with your init system, might want to look at the more “advanced” distributions that let you choose the init system.
I am well aware that systemd works well for the most part, and that gamers and most other people likely don’t care - which is fine, at least for now. I do expect to see a massive turnover in sentiment if something ever happens to systemd
(not that I’d like for that to happen, but no trusting RedHat anymore), but I suppose we’ll get to it when we do.
My sentiments are well enunciated in this recent post on the Devuan forum: https://dev1galaxy.org/viewtopic.php?id=5826
Cheers!
and this has led to a rampant monopolisation of the init system.
You will be shocked if you find out that virtually every distro runs on the same kernel. Pure monopolisation! For the freedom to choose!
You will be shocked if you find out that virtually every distro runs on the same kernel. Pure monopolisation!
FUCK! What’s next? Everything using glibc?
I’m a proponent of
musl
with Alpine, Gentoo and Void. I’m all for it.I’m a proponent of musl with Alpine, Gentoo and Void. I’m all for it.
Not binary compatible with gibc, so I guess it’s a victim of the glibc monopoly then.
I’m just waiting for GNU Hurd to be viable myself.
I hear it’s completely ready but they only built an ipv6 stack so as soon as everything finishes the quick migration to ipv6 we can all switch to it.
There was choice, but not enough volunteers: https://www.debian.org/ports/kfreebsd-gnu/
every distro runs on the same kernel.
Still it is super easy to change the kernel in an installed and running system, but compare that to the real PITA to change the init environment on the same system.
Last time I tried it was an apt install followed by a reboot. If your distribution claims to support several inits and it is harder than that: Your distribution did a poor job.
But that kernel is still some version of Linux. Good luck installing the Darwin kernel or FreeBSD kernel on arch
@ultra @NeoNachtwaechter why would you want to do that?
I only gave that example to prove my point
@ultra you proved you’re just looking for an excuse to hate these systems.
The person I replied to said that it’s really easy to change the kernels on distros, but hard to change the init system from systemd. However, most custom kernels on distros are just Linux with patches, but the core functionality and API are mostly the same. I’m pretty sure it would be easy to change the init system to a fork of systemd with some extra patches.
I don’t have any issue with other init systems, the only reason I use systemd is because NixOS was built to use it.
A different kernel would lead to a completely different OS. I do think the BSDs should be used more, but that is not the point of the post.
Why? Slab sysv-init (or openrc or s6) and the gnu tools the onto it and you will hardly be able to tell the difference :-)
That is actually the thing I like about systemd: They expose a lot of linux-only features to admins and users, making the kernel shine.
Ring me when systemd starts phoning home to Microsoft and/or installing random microsoft-related packages without my consent.
Whilst I don’t think that will happen anytime soon, I do not like how RedHat handled CentOS. With that said, I don’t think they are about to put their flagship init system on a testing-only OS (at this point), but I don’t know what they will come up with
To M$ maybe not, to RH… dunno.
Remember when Google’s DNS server address was hard-coded in systemd-resolved? Good times, what a laugh we all had.
Systemd-networkd (not systemd the init system) defaulted to the google DNS servers when:
- the admin did not change the configuration
- the user did not configure anything
- the network did not announce anything
- the packagers had not changed it as they were asked to do
- the distribution actually decided to switch to networkd. Few have done somtomthis day.
That is indeed a serious issue worth bringing up decades later.
The main thing that turned it into a serious issue rather than just a stupid thing to joke about was that Poettering refused (as of five years ago) to admit that it was a mistake.
Why would he? It never was an issue.
It’s just one more annoying little thing to go on the big list of items to be corrected when setting up a systemd-equipped system, but more importantly believing that it’s acceptable to just leave it there demonstrates extremely poor judgement to a degree that makes many of us doubt the trustworthiness of the entire project. Perhaps in 2013, or whenever the decision was initially made, substantial numbers of people were sufficiently clueless as to think that adding in the possibility of inadvertently having your system quietly direct all its DNS queries to Google was better than the more obvious alternative of not doing so, but after everything that’s gone down since then it’s quite hard to imagine why anyone would stick up for such a bizarre point of view today.
Where are those “many of us”?
It is what the CI uses for testing. If several layers of people decide to not do their job and you have no hardware in your network that announces the DNS servers to use like basically everybody has, then those CI settings might leak through to the occassional user. Even then, at least there is network: Somebody that can’t be arsed to configure their network or pick any semi-private distribution will probably prefer that.
Absolutely no issue here, nothing to see.
the packagers had not changed it as they were asked to do
Were they really? Or were they told “change it if you don’t like it”? Genuine question, and it would make some difference.
But in either case I’m sure not all of them did, and failing that it is all down to the one person (or worse, one team of people) administering the system. Badly configured networks resulting in DNS problems is not exactly rare, but that is beside the point. It’s clearly wrong no matter how uncommon is the situation that makes it materially detrimental.
Poettering now works for Microsoft
systemd has no copyright assignment or CLA. Poettering could work for Putin and systemd as proper Free Software project would not be affected that much.
this has led to a rampant monopolisation of the init system.
https://www.gnu.org/philosophy/free-sw.html
That’s literally the opposite of a monopoly. You can make a fork of systemd now and call it lemmyd.
Yeah as far as i know Red Hat is still the primary developer… for what that’s worth. But I’d worry more about them than Poettering.
I’d worry more about them than Poettering.
Red Hat isn’t the Linux distributor that’s releasing CLA’ed or copyright assignment shit. The principles of true Free Software work just as well when it’s about Red Hat.
You’re not wrong.
Indeed. I should probably have highlighted that better in my post.
monopolisation of the init system
That’s the one thing about systemd that is sort of nice. We don’t really need to have more than one init system, and it does a sufficiently comprehensive job of being one. If it were only an init system and nothing else, there basically wouldn’t be any remaining complaints about it by now.
I do agree somewhat. The main argument coming against it is not following the “Unix philosophy” which I’m a proponent for, making
systemd
annoying.The main argument coming against it is not following the “Unix philosophy” which I’m a proponent for
Gosh, don’t use a “GNU’s Not Unix” system then!
The main argument coming against it is not following the “Unix philosophy” which I’m a proponent for
Gosh, don’t use a “GNU’s Not Unix” system then!
I think you’re confused about what “Not Unix” means in the name “GNU’s Not Unix”. It’s nothing to do with the Unix philosophy. It’s to do with overcoming the limitations of proprietary Unices from the 1980’s. From the GNU Manifesto:
“GNU will be able to run Unix programs, but will not be identical to Unix. We will make all improvements that are convenient, based on our experience with other operating systems. In particular, we plan to have longer file names, file version numbers, a crashproof file system, file name completion perhaps, terminal-independent display support, and perhaps eventually a Lisp-based window system through which several Lisp programs and ordinary Unix programs can share a screen. Both C and Lisp will be available as system programming languages. We will try to support UUCP, MIT Chaosnet, and Internet protocols for communication.”
I think you’re confused about what “Not Unix” means in the name “GNU’s Not Unix”.
Nah, I’m not confusing anything, I just decent to the level of people claiming that systemd was not following the Unix philosophy.
I disagree.
I don’t really have a choice in the matter: most software is written for GNU/Linux systems, which is Unix-like at best. I agree that Linux has had many improvements since then, and I wholeheartedly support and applaud Linux for what it has achieved as a project.
If there was a usable Unix derivative (different from *nix clones) I would seriously consider it, but I don’t think there’s much development other than AIX and what was Solaris by Sun.
macOS is certified Unix and its technically BSD
I’ve had good luck with the BSDs over the years. Great system documentation.
Indeed. It is most fantastic to peruse through their documentation, very well written.
I don’t really have a choice in the matter: most software is written for GNU/Linux systems
And here I’m sitting, thinking that more software is being written for Windows and macOS, a UNIX® Certified Product. (Don’t look up Apple’s launchd, your brain would meld trying to reconcile your insane claim that systemd “is not following the Unix philosophy” when launchd certifiably is.)
That said, GNU’s Not Unix, so GNU/Linux does not have to follow an archaic philosophy anywhere.
To be fair, every part of it is a small binary that generally does a single thing. You don’t have to run them all or even install them but they bring a lot of necessary functionality around base host bootstrapping that everyone used to write in shell for every distro.
I find it nice as an operators of multiple infrastructures to be able to log into a Linux system and have all the hosts bootstrapped in a relatively similar fashion with common tools.
Sysv kinda sucked because everyone had to do it all themselves. Then we got sysv, openrc, upstart and then systems and there was a while there where you never knew what you’d get if you logged into a box. And oh look, I gotta remember 10 different config file locations and syntaxes to assign an IP. Different syntaxes to start a daemon. Do I need to install a supervisor or does that come with the init.
People are doing a lot of really cool stuff with Linux OSs assigning IP addresses in 10 different ways or starting programs was never one of them.
Its also not that systemd has a monopoly, there are other init systems out there, but all the big distros, RH, Debian, ubuntu, arch . . . all came to the same decision that it was the best available init and adopted it. There are other options and any one of those projects is big enough to maintain its own init, but no one really finds the value in dedicating reaources, so they haven’t.
If you don’t want another CentOS-style “oof, sorry, off to testing” debacle
The major difference is that the CentOS project is basically owned by redhat while systemd isn’t. I do not get this argument. Systemd makes it easier for EVERYONE instead of having to port services across init systems. Unless your alternative has compatibility, I won’t use it.
– because it’s not an argument; it’s a vague association of imagery with no explanatory content.
What does Poett.'s current employment have to do with anything, though? Guido van Rossum (Python) & Simon Peyton Jones (Haskell) work at M$; I believe the guy who started Gentoo went on to work there likewise. Same with the lead dev of GNOME. I despise M$ as much as the next man; but correlations like these reek of guilt by association.
Good alternatives: Devuan, Slackware, Gentoo.
Gentoo took the better approach, imo, you can choose your init system. Done.
Indeed. I’d add Void for runit and the BSDs to the list.
deleted by creator
might want to look at the more “advanced” distributions that let you choose the init system.
Yeah, sure… integrating a init system is a huge task (if you want to do it properly). Let’s do that several times!
Obsolete tech gets phased out all the time. Why do so many people want to treat systemd like some kind of conspiracy? Where’s the hate for Wayland, or x86_64?
I don’t have a very high opinion of x64 either, but that’s for a different post
To be honest, I somewhat enjoyed this talk