8 ms·
SystemD definitely spurred some controversies years ago but is it that bad in 2019? All major distros adopted it and even some that are listed there as "no sys
by Whatitat90 7y ago
SystemD definitely spurred some controversies years ago but is it that bad in 2019?
All major distros adopted it and even some that are listed there as "no systemd" in reality just give you choice (e.g. Gentoo).
I'd gladly hear the opinion of distro maintainers why did they switch to SystemD if it's as bad as it looks like in people's perception.
- qxcbr 7y agoThey didn't really have an option: the same organisation controls GNOME and systemd, so they introduced systemd as a hard dependency of GNOME to force distros to adopt systemd. And you can't have a distro out there without GNOME, so... Those distros that can run without systemd have to make their own patches to "fix" GNOME, which is very costly. Even Gentoo struggles with that, as it takes them a long time to release new versions of GNOME because they have to write the patches to strip out systemd first.
- AdmiralAsshat 7y ago>And you can't have a distro out there without GNOME, so... LxQt and any KDE-powered distro would beg to differ. But I agree, in general, that KDE-default distros are few and far between. And the KDE team probably has better things to do with their time than try to maintain a systemd-less fork.
- lmm 7y agoThey're rare in the US. KDE-as-default is close to the norm in Europe. KDE has long been a more crossplatform system than Gnome (much better windows support (and even e.g. solaris), BSD is treated as first-class) so I'd hope they'll continue to avoid being systemd-dependent.
- qxcbr 7y ago>They're rare in the US. KDE-as-default is close to the norm in Europe. Based on what?
- nickik 7y ago> as a hard dependency of GNOME to force distros to adopt systemd Or because they like systemd and they think the abstractions it provides are useful and its better to not have that code in GNOME. But sure, lets go with the conspiracy angle. Also, pure serve distros also adopted systemd. > Those distros that can run without systemd have to make their own patches to "fix" GNOME, which is very costly. OpenSource project not implementing the features some users want them to implement. Shocking stuff. Its almost as if that's the bases of Open Source. If you don't like the choices of the project you can take the source and do your own thing.
- yellowapple 7y ago> And you can't have a distro out there without GNOME cough cough Slackware cough cough Kubuntu/Xubuntu/Lubuntu cough cough Tiny Core Linux cough cough the literal dozens if not hundreds of distros that ship with a desktop environment that's not GNOME or MATE or Cinnamon or some other derivation thereof cough cough cough
- masklinn 7y ago> SystemD definitely spurred some controversies years ago but is it that bad in 2019? The reasons for the controversies have not really changed (lennart, the idea that it's not "unixy", a takeover of many subsystems by various systemd components, …) so people who didn't like systemd years ago probably still don't. As somebody who's not really involved, I found Benno Rice's The Tragedy of Systemd[0] interesting and enlightening. [0] https://www.youtube.com/watch?v=o_AIw9bGogo https://www.youtube.com/watch?v=o_AIw9bGogo
- dijit 7y agoI found that talk incredibly condescending. He speaks about launchd as if it’s a good thing but it’s quite universally accepted as a bad thing and apples attempts to upstream the problem to the bsd developers has been met with open hostility. It’s also to the point where Benno states that people don’t like change, but that’s really not true. Everyone jumped on virtualisation (except Theo De Raat), everyone jumped on containers, Kubernetes, GO, Rust, eBPF et al. There are new technologies which don’t have to eat the universe to function. Most people who have a problem with systemd don’t actually hate it, they’re upset because the environment that allowed systemd to grow no longer exists for its replacement. Coupled with the fact that we should really consider systemd a proof-of-concept for something better, means that we’ll be stuck with buggy, weird, non-deterministic C++ for decades. That’s the root of the problem, not that we nerds dislike change, we tend to love change.
- acdha 7y ago> He speaks about launchd as if it’s a good thing but it’s quite universally accepted as a bad thing This is your personal opinion being presented as fact. Speaking from some experience in the Mac admin world, I’d really want to see the survey you did to support that claim.
- JdeBP 7y agosystemd is not written in C++.
- meddlepal 7y agoIt seems the systemd hate mostly comes from a philosophical position these days than anything grounded in real user impact. You either agree or disagree with what systemd does, or do not care because you are not aware of it (which I would argue is a good thing). Personally I think it is great. Sysvinit scripts were terrible to write and frequently had bugs because the scripts were usually afterthoughts "Oh yea... I guess we need one of those things". The nice integrations between systemd and journald is well worth it in my mind as well.
- lmm 7y ago> Sysvinit scripts were terrible to write and frequently had bugs because the scripts were usually afterthoughts "Oh yea... I guess we need one of those things". There were alternative solutions to that problem that didn't require replacing a long and ever-growing list of system components with tightly-coupled (and often buggy) systemd versions. In fact people who really cared about their init system were already using them.
- NikkiA 7y agosysvinit was at least a thousand times easier than bsd init scripts, and I occasionally see people that are opposed to both systemd and sysvinit and think rc.local was 'it'. shakes head slowly
- JdeBP 7y agoBSD rc scripts haven't worked in the way that you think that they have, for decades. Mewburn rc, which reduced many rc scripts to a couple of shell function calls and a handful of variable declarations, has been used by NetBSD since 2001, and FreeBSD started using it about a year later. OpenBSD, furthermore, reinvented Mewburn rc around 8 years ago. Project Trident (formerly TrueOS formerly PC-BSD) has also since then switched from Mewburn rc to OpenRC. * https://news.ycombinator.com/item?id=10357589 https://news.ycombinator.com/item?id=10357589 * https://news.ycombinator.com/item?id=11550802 https://news.ycombinator.com/item?id=11550802 * https://news.ycombinator.com/item?id=14736175 https://news.ycombinator.com/item?id=14736175 /etc/rc.local was first declared obsolete in the BSD world and replaced by a system of drop-in files in a directory back in 1995. * http://jdebp.info./FGA/rc.local-is-history.html http://jdebp.info./FGA/rc.local-is-history.html
- lmm 7y agoThe objections to systemd are still as valid as ever. We still see a pretty high rate of security vulnerabilities in it. However, as projects adopt systemd-proprietary APIs, distros are forced to choose between maintaining ongoing forks of those projects, dropping those projects, or adopting systemd. E.g. I suspect Slackware only avoided being forced to adopt it because they'd already decided to not support gnome.
- PlutoIsAPlanet 7y agoHigh rate? Compared to the Linux kernel, systemd's CVE rate is very low.
- telmich 7y agoDo you have a source for it?
- PlutoIsAPlanet 7y agoSure https://www.cvedetails.com/product/47/Linux-Linux-Kernel.html?vendor_id=33 https://www.cvedetails.com/product/47/Linux-Linux-Kernel.htm... https://www.cvedetails.com/product/38088/Freedesktop-Systemd.html?vendor_id=7971 https://www.cvedetails.com/product/38088/Freedesktop-Systemd... For a piece of software used by millions of machines, that's a very low CVE count.
- markstos 7y agoIn 2017, the Linux Kernel had over 450 CVEs, while systemd had 5. https://www.cvedetails.com/product/47/Linux-Linux-Kernel.html?vendor_id=33 https://www.cvedetails.com/product/47/Linux-Linux-Kernel.htm... https://www.cvedetails.com/vulnerability-list/vendor_id-7971/product_id-38088/Freedesktop-Systemd.html https://www.cvedetails.com/vulnerability-list/vendor_id-7971... So far in 2019, the gap has narrowed: "only" 45 CVEs so far for the Linux kernel, and 7 for systemd.
- snazz 7y agoAs marcosdumay said upthread, “Systemd has a historic of refusing to fill CVEs, even for incredibly bad vulnerabilities.” This contributes to the low rate of CVEs in systemd relative to Linux (for which many less-important bugs get CVEs).
- PlutoIsAPlanet 7y agoEarlier versions of systemd were fairly buggy, but then it was still in its infancy and its in a much better state now. systemd (not SystemD) changes a core part of the OS, we go from a userspace being bootstrapped by a bunch of different shell scripts calling a dozen individual binaries, to an actual system and service manager configured with unit files. It's a large change, although one other operating systems went through a decade earlier, and some people don't like change.
- JohnFen 7y ago> and some people don't like change. People really need to stop saying this rather than taking the time to actually understand what people are objecting to.
- sprash 7y agoI like change! I switched to runit and are not looking back.
- yarrel 7y agoBy that standard SystemD proponents' fetishization of ineptly implemented change for change's sake clearly makes their position invalid.
- ripdog 7y agoWhy on earth do systemd haters insist on capitalizing the D? It's really amazing how people think mistyping the name is some kind of useful or novel criticism of the software.
- silversconfused 7y agoIt's a classic joke. http://catb.org/jargon/html/S/studlycaps.html http://catb.org/jargon/html/S/studlycaps.html
- teddyh 7y ago
- boomboomsubban 7y agoPeople's perceptions aren't unified. Some people will always dislike SystemD, and they are not be forced to use it. If every major distro maintainer loves it, some people still would hate it. There's still a group of Unix users upset about the major init split that happened fourth years ago. Things will never be unified.
- telmich 7y agoI think the main problem is not the init process, but the tooling around it that breaks systems. For instance systemd-resolved did break local resolving some years ago (maybe still today). While it is optional, ubuntu installations come with it turned on by default.
- blibble 7y agoyes it's still that bad, my previously reliable systems are now non-deterministic and break randomly every few days I discover some new bit of non-determinism: - systems getting stuck for long periods at startup or reboot with with some useless text like "Waiting for user session to shutdown" - reboots never completing at all (getting completely wedged shutting down) - jobs starting in weird orders, like crond starting up before the network, causing various things to break in new novel ways (sometimes, not always) I can fix most of these systemd-created issues one by one as I discover them, but it's hardly making my life easier
- telmich 7y agoI have the same getting stuck problems plus resolving issues as soon as systemd-resolved is in the game
- bengerbil 7y agoI think some of my pain came from attempts to unmount everything (particularly NFS) before letting long-running shutdowns (graphite/carbon) finished flushing, then never trying again. While diving into that and eventually coming up with a sufficient set of dependencies, I would fondly think back to the two (or more) phases of unmounting at shutdown that had that solved cold many years prior.
- acdha 7y agoAll of those issues happened with SysV init, as well — there are literally decades of history of people working around things like unmounting failed filesystems, watchdogs to kill -9 hung daemons, etc. For example, you mentioned crond startup before the network but that's hardly new with systemd — checking the oldest system I have access to shows that it's configured with two dependencies: “# Required-Start: $local_fs $syslog”. To the extent that systemd changed anything it was exposing that an assumption was wrong — and the nice thing is that you can use a systemd service to replace that cron task with something which _does_ behave the way you thought with precise service dependencies and all of the other benefits to using systemd (e.g. resource management): https://www.freedesktop.org/software/systemd/man/systemd.timer.html https://www.freedesktop.org/software/systemd/man/systemd.tim...