About systemd
- Inicie sesión o regístrese para enviar comentarios
Hello everyone,
excuse the potentially stupid question: I've been reading about systemd lately and was wondering what exactly is the main issue that some people seem to have with it. My understanding so far is that it violates the Unix principle of doing one thing and doing it right and the amount of features potentially causing issues in the future/already causing issues. Is that correct? I'd like to know the stance and of some reasons for and against using it compared to, e.g., OpenRC.
- PenGNUin
I, a userro of gnu/systemd or gnu + systemd as I've recently taken to calling it will try to illustrate it with a picture ->
I whole-heartedly agree with your sentiment because memes.
- PenGNUin
My biggest problem with systemd is that they skipped systems A, B and C ..
>:(
My view is, if it's pure enough for rms (since he accepts Trisquel and other systemd-using OS's), it's pure enough for anybody.
As far as anything other than freedom is concerned, if systemd is inappropriately ambitious, there should be practical consequences for that supposed philosophical wrongdoing. So where are the horror stories? Why aren't distros fleeing from it? In fact it not only seems to work perfectly well, but outperform legacy software such as with boot times, and distros are flocking to it. I don't agree that market share always equals quality, obviously, otherwise I'd advocate Windows, but in a context of freedom where marketing budgets, path dependence / lock-in, etc are NOT an issue, migration and swapping out this or that piece of software is possible, "market share" actually DOES point to quality.
And why is it inappropriately ambitious anyway? Why entrust our OS init operations and other important processes to various tiny ancient wholly separate pieces of software with different legacies, each of which has to be maintained by a separate team that must always remain engaged and willing to continue support?
And is it really a UNIX philosophy that software must do only one thing? If so, why are the BSDs fully integrated systems designed to be end-to-end packages from the outset? If it were the UNIX philosophy to do one thing at a time, the BSDs and "Linux" would trade places, with the BSDs being teetering piles of individual separately designed and written programs that all must work somehow, while "Linux" OS's, being less direct descendants of the original UNIX, would be one integrated program that does it all.
That line of reasoning seems perfectly reasonable to me. I wasn't concerned about freedom with systemd - it is Free Software and as such perfectly acceptable in my books. In regards to swapping it out being viable, this is what I've seen in a few distros, some of which seem to be marketing more or less exclusively the lack of systemd as a feature in and of itself. The only argument I've heard agains the freedom to either include it or not include it in any specific distro was that it was supposedly a dependency for many a package. That would restrict it in that regard, however I don't know if that's true and a widespread issue or simply refers to an isolated incident.
Totally agree with your point about the philosophical implications, however - it would be ridiculous to argue that because of the violation of an arbitrary principle one should not use a certain piece of software, as long as there are no real negative implications tied to it. GNU/Linux should definitely not be tied to such a thing, even though adhering to the principle has produced good programs in the past. Correlation does not imply causation.
Thanks for your extensive answer.
- PenGNUin
Read below that third post: many of jij_je_walkman_terug's arguments against systemd are refuted.
"there should be practical consequences for that supposed philosophical wrongdoing. So where are the horror stories? Why aren't distros fleeing from it? In fact it not only seems to work perfectly well, but outperform legacy software such as with boot times, and distros are flocking to it"
Which is what everyone does to nonfree software in our OS. They don't flee, they embrace it. It seems to not only work perfectly well, but outperform free software in many things.
I'm not a staunch anti-systemd guy at all (despite my being on Slackware), but I don't see how that's a very good argument personally.
I think the point is that the criticisms of systemd are all technically minded. For example, yeah, you could say that you think having an "X" to close the window on the top-right instead of the top-left is morally wrong because it "goes against the philosophy" of some OS you're used to, but it doesn't hold water because there isn't any legitimate basis for an ethical concern there. Likewise, I can't think of anything people complain about in systemd that there is any legitimate ethical basis to be upset about. For example:
* Going against "Unix philosophy": just a design preference, or does that mean that any OS that isn't a Unix system is unethical somehow?
* The way logs, scripts, etc are done: so you don't like it done that way. What, is C++ unethical because I don't like it?
* The way the developer develops it: so you don't trust him. Or maybe you just don't like him personally. Ergo, you have to like everyone who develops a program you use? On what basis? Certainly not any ethical one I can think of. Last I checked it wasn't unethical to be unpopular.
This is an issue of pragmatism and personal preference, not ethics. So I think it does logically follow that people will flock over to the better option. The only exception would be if you think copyleft is unethical (like the BSD developers do), in which case the only problem you face is that systemd is a popular copylefted collection of software.
"Likewise, I can't think of anything people complain about in systemd that there is any legitimate ethical basis to be upset about." Me neither, in many ways, I can understand that a lot of people don't like systemd but yeah, it's free, and I'm not quite of the knowledge to decide it's otherwise not the better way to go anyway, so I'm not arguing there at all.
But OTOH simply saying that people will flock to the "better" thing thereby correctly determining whether a philosophical issue is there (something you totally didn't, but IrishUSA IMO did) would put into question why Trisquel, etc bother existing.
"Removing systemd is beyond the scope of the Trisquel project" Not what I'm asking at all though. I am on Slackware, and I guess I do enjoy the lack of Systemd, but the reason for me being here is unrelated to Systemd :)
If things happen that make me want to move to e.g. post-Upstart Trisquel, I will, and Systemd as far as things are now with it and myself won't (at least for objective reasons) stop me.
Oh that, and Parabola can also be run without Systemd AFAIK (Arch can, which in turn is why Manjaro can as well).
Yeah I just thought that of the few, some of which somewhat obscure distros you remember has non-Systemd inits it would be strange that one of the even fewer fully-free ones that does do that would be forgotten (now that I've come to think of it I don't recall Dragora using systemd either)
And I'm on Slackware because of totally non-Systemd-related reasons - otherwise I'd stay with Triquel 7 anyway (and if that reaches EOL and I *really* hated systemd that much but really wanted to stay I can always just link APT to the old archive part of the repo anyway like I could do now with something like Brigantia if I were desperate to stay full-GTK+2 (I'm not) :p).
Basically as far as we know someone might do a FreeCentOS and I might move there not caring about Systemd. And anyway if Slackware ever F's up I might return to dailying Trisquel anyway systemd or no systemd since the reason I stopped dailying Trisquel to begin with was neither because it couldn't work (it still can), nor Systemd :)
just a tad strange that your post seems needlessly defensive and to assume that I'm some "systemd refugee". May be confirmaton bias on my part to be fair, though.
AFAIK, Manjaro is not free enough to qualify for FSF endorsement. And according to DistroWatch, it's not systemd-free either. I'm not sure whether to trust that claim, however, since DistroWatch also claims that Linux Mint is systemd-free, which makes no sense since Ubuntu already uses systemd and Mint is an Ubuntu derivative.
If you're going to set aside FSF-level strict freedom criteria in search of a systemd-free distro, PCLinuxOS is probably the most popular. Texstar has firmly stated it won't use systemd.
IIRC here's my attempt at a DIY-fully-free Manjaro. Would've been a few years back though so might not be 100% accurate:
1) Manjaro
2) I wanted linux-libre. I guess I could from time to time activate Parabola's repos to take the kernel from there, then disable the repos again before running pacman -Syu
3) I wanted to remove the non-free kernel from Manjaro...wait, I can't. So make the linux-libre package provide it? No, I'm not building anything without yaourt's help :)
So...yeah. It seemed better to just go Parabola instead at that point. Or Trisquel (did both for different hardware).
"DIY free-as-I-can-make-it Ubuntu 16.04"
When 14.04 was out for months already but trisquel 7 was still beta or something I debootstrapped a Trisquel 7 installation into existance and it acted like a normal, stable Ubuntu release. Maybe it's the case here (or maybe you're already running Trisquel 8 and I just missed the post saying so)?
> So where are the horror stories?
Have one -> https://github.com/systemd/systemd/issues/5644
Pottering, da man. He knows everything there is to know in the entire universe. You can see it clearly. He also acts like a hysterical grandma overdosed on MDMA, but then again that's because he knows everything.
Lennart Poettering only wrote this message in the thread:
I am not sure I'd consider this much of a problem. Yeah, it's a UNIX pitfall, but "rm -rf /foo/.*" will work the exact same way, no?
https://github.com/systemd/systemd/issues/5644#issuecomment-290345033
Is that "hysterical"? If there must be "hysterical grandmas" in that thread, they are the haters finding outrageous that Lennart Poettering ask a question on the behavior of 'rm -rf /foo/.*' (notice the "no?" at the end of his message):
For some people it's advisable to never miss a chance to stay silent. (...) Way to highlight how little consideration is being given to issues reported by systemd users. Bodes well for the whole project!..
https://github.com/systemd/systemd/issues/5644#issuecomment-294384461
shocking to hear. no, and you REALLY should know that as many others do or AT LEAST test it before pretend such nonsense - frankly
https://github.com/systemd/systemd/issues/5644#issuecomment-294414802
Moreover, Lennart Poeterring is actually right since he was talking about UNIX, not GNU/Linux.
Finally, the problem in question was solved the day after it was reported: https://github.com/systemd/systemd/commit/ab883125704b9310dcdfcf7451a27e85609da76c
But the solution was improved the day after because Lennart Poeterring proposed a better fix: https://github.com/systemd/systemd/pull/5653#issuecomment-290346072
In the end, if there is a "horror story" here, it must have to do with Lennart Poettering constantly suffering from haters who do not lose an occasion to attack/insult him because he does *not* know everything or for no reason at all...
I agree with you on this. People seem to be "too picky" nowadays.
Besides, these people might be used to using GNU `rm', GNU is Not
Unix. ;)
name at domain writes:
> Lennart Poettering only wrote this message in the thread:
>
> I am not sure I'd consider this much of a problem. Yeah, it's a UNIX
> pitfall, but "rm -rf /foo/.*" will work the exact same way, no?
> https://github.com/systemd/systemd/issues/5644#issuecomment-290345033
>
> Is that "hysterical"? If there must be "hysterical grandmas" in that
> thread, they are the haters finding outrageous that Lennart Poettering
> ask a question on the behavior of 'rm -rf /foo/.*' (notice the "no?"
> at the end of his message):
>
> For some people it's advisable to never miss a chance to stay
> silent. (...) Way to highlight how little consideration is being given
> to issues reported by systemd users. Bodes well for the whole
> project!..
> https://github.com/systemd/systemd/issues/5644#issuecomment-294384461
>
> shocking to hear. no, and you REALLY should know that as many others
> do or AT LEAST test it before pretend such nonsense - frankly
> https://github.com/systemd/systemd/issues/5644#issuecomment-294414802
>
> Moreover, Lennart Poeterring is actually right since he was talking
> about UNIX, not GNU/Linux.
>
> Finally, the problem in question was solved the day after it was
> reported:
> https://github.com/systemd/systemd/commit/ab883125704b9310dcdfcf7451a27e85609da76c
>
> But the solution was improved the day after because Lennart Poeterring
> proposed a better fix:
> https://github.com/systemd/systemd/pull/5653#issuecomment-290346072
>
> In the end, if there is a "horror story" here, it must have to do with
> Lennart Poettering constantly suffering from haters who do not lose an
> occasion to attack/insult him because he does *not* know everything or
> for no reason at all...
>
--
- https://libreplanet.org/wiki/User:Adfeno
- Palestrante e consultor sobre /software/ livre (não confundir com
gratis).
- "WhatsApp"? Ele não é livre. Por favor, use o GNU Ring ou o Tox.
- Contato: https://libreplanet.org/wiki/User:Adfeno#vCard
- Arquivos comuns aceitos (apenas sem DRM): Corel Draw, Microsoft
Office, MP3, MP4, WMA, WMV.
- Arquivos comuns aceitos e enviados: CSV, GNU Dia, GNU Emacs Org, GNU
GIMP, Inkscape SVG, JPG, LibreOffice (padrão ODF), OGG, OPUS, PDF
(apenas sem DRM), PNG, TXT, WEBM.
According to hyperbola gnu/linux there are some issues with systemd
https://www.hyperbola.info/news/end-of-systemd-support/
I am just a regular user and I don't have a founded opinion about it.
I don't really have a strong view on systemd myself. Tbh, I probably don't understand enough of what it does and how it differs from the alternatives to be able to judge its merits.
From what I've read, the thing that concerns me the most is the potential 'lock-in' if it becomes a ubiquitous dependency for so many packages that we don't have any choice but to use it.
However, if it does its job well and it's libre, then I don't really see a major problem with it. Perhaps the reason so many distros are flocking to it is that it's just superior to the alternatives? Perhaps we're looking at a software case of 'survival of the fittest'? Otherwise, why else is everyone flocking to it?
In terms of 'lock-in', that doesn't seem to be so different to (for example) the standard C library or the linux kernel itself. We don't really have any viable alternatives to those, do we? But, they do their jobs well, so we don't care.
Seems like it probably isn't something that's worth my time or inconvenience to fight against, tbh. *Shrug*
Well, excluding the euphoric sensation one gets from hating the status quo (which may very well be a popular cause of SystemD hatred...), the following seem to be the major issues:
1. As you've already mentioned, it doesn't follow the Unix philosophy. A side-effect of this is that its scope has expanded to cover what historically would have been done by many separate tools: everything from init through login manager to DNS is now offered under the umbrella of the SystemD project.
2. It was rapidly adopted by a number of high-profile projects, before it had been around long enough to be deemed 'rigorously tested'. The project began in 2010, and by February 2014 had become the standard Debian init system- just 4 years of testing for a key component of *the* 'rock-solid' OS! GNOME had begun integrating components by November 2012 (though refused to make SystemD a dependency), which many would deem too early for one of the most popular DEs in existence to go fiddling with such a core component.
3. Finally... the 'not a bug' attitude of the project, seemingly stemming largely from lead developer Lennart Poettering, has lost the trust of many. Essentially, a number of bugs (one in which rm would not ask questions before deleting / and another in which illegal names in a utility would just default to root come to mind) have simply been subject to 'passing the blame'. From- paraphrased- "GNU does it too!"- when it takes 5 seconds to check it *doesn't*- to "It's illegal anyway- so just don't do it,"- when the bug lets simple mistakes have serious consequences- this attitude has made SystemD's trustworthiness somewhat questionable.
Of course, none of this means the software is *evil*- it does give the freedoms which can be considered ethically imperative, and it isn't as if resisting distros are in any way deprived or suppressed. However, many- including me- feel that it has not earned the respect such a low-level component of an operating system demands.
See https://trisquel.info/forum/about-systemd#comment-120790 about "deleting /": it was solved the day after the problem was reported.
About user names starting with a number, they are invalid and tools in all major distributions (e.g., Debian's 'adduser') will refuse to create such a user. If, in the configuration of a service, the "User" does not exist, the service fails on start (and the issue is logged). So, to face the problem, you need to create a user with an invalid user name, bypassing the normal ways to do so. It does not look absurd to ignore such a problem. Lennart Poettering calmly explained that in several messages in the thread. Here they are (all):
See https://trisquel.info/forum/could-systemd-be-inconvenient-portability
All major distributions switched to systemd's init many years ago, after many technical discussions: Fedora in 2011, Arch, openSUSE and Mageia in 2012, Red Hat and CentOS in 2014, Debian and Ubuntu in 2015. Yet the disaster that haters predicted did not happen. Developers and packagers look happy (simple descriptive definition of the services, less security issues, etc.). Sysadmins look happy (easier management/monitoring of the daemons, new tools, etc.). End users look happy (faster boot, bugs in energy and session management fixed, etc.). Only some "old sysadmins" who do not want to learn anything new (after spending most of their lives working with horrible Shell init scripts) seem unhappy. And haters, who usually do not know what they talk about. Well, I am caricaturing: a few good arguments are made against systemd. But those are exceptions.
Take Hyperbola's list for instance: some complaints relate to an exotic configuration of the kernel (see https://bugs.freedesktop.org/show_bug.cgi?id=74589#c4 and consider that cgroups entered the Linux kernel in January 2008), other complaints have been answered with reasonable rationales (https://github.com/systemd/systemd/issues/2402#issuecomment-177907110 and https://bugs.freedesktop.org/show_bug.cgi?id=64116#c3 and https://github.com/systemd/systemd/issues/6237#issuecomment-312479534 for instance), some are bugs that have been fixed years ago (https://bugzilla.redhat.com/show_bug.cgi?id=1308780#c14 and https://bugs.freedesktop.org/show_bug.cgi?id=61191#c9 for instance), configuring one variable address one complaint (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#15), another complaint comes from a misunderstanding of the scope of a module (http://seclists.org/oss-sec/2014/q4/595). But really, there are a few exceptions: for instance, I find https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761658 and https://github.com/systemd/systemd/issues/2447 problematic.
Thanks for those links. I don't totally understand the details of this one
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761658
but sending any sort of data to Google without informing the user does seem troubling. I hope such behavior isn't something that will end up in a libre distro. If Debian doesn't address it (which sounds unlikely) and it isn't addressed in Ubuntu (probably not likely either) is it something that could be fixed in Flidas?
Sure. It is only a matter of defining a variable in a configuration file (Trisquel's defaults can be different from Debian's):
First of all, systemd-resolved is not used and enabled by default.
If you actually do use systemd-resolved, disabling the
fallback DNS server(s) is trivial.
Either edit /etc/systemd/resolved.conf and set
FallbackDNS=
or create a drop-in snippet like this:
mkdir /etc/systemd/resolved.conf.d/
echo -e "[Resolve]\nFallbackDNS=" > /etc/systemd/resolved.conf.d/no-fallback.conf
Then run systemctl restart systemd-resolved.service.
https://bugs.debian.org/cgi-bin/bugreport.cgi?att=0;bug=761658;msg=216
Notice that the fallback DNS server is only used when no DNS server is configured. When you connect to Internet, a DHCP server administrated by your Internet provider should send you the addresses of DNS servers (usually its own) and the fallback is never used.
So, for those that don't like/want systemd, what are the viable alternatives? Seems like Upstart isn't being maintained any more, right?
Right. But there are still-maintained alternatives such as OpenRC and GNU Shepherd:
Isn't this whole "Unix Philosophy" more of a relic from a time when procedural programming was all that we had?
With the merits of object oriented programming, it is possible for a program to consist of many loosely coupled components that do mainly one job and do it right, without breaking the whole thing.
It seems to me that this is what the Unix Philosophy tried to achieve in between different programs, rather than inside of each program (because it was not possible back then or at least hard to do).
Just my guess.
Procedural programming can be modular too (functions, libraries, etc.). systemd is not only modular in that sense but also in the sense that the Linux kernel is modular, i.e., you can easily activate/deactivate parts of it at compilation time: https://freedesktop.org/wiki/Software/systemd/MinimalBuilds/
... and it is also modular in the sense many different "programs that do one thing and do it well" (as Doug Mcllroy wrote)! According to http://0pointer.de/blog/projects/the-biggest-myths.html :
If you build systemd with all configuration options enabled you will build 69 individual binaries. These binaries all serve different tasks, and are neatly separated for a number of reasons. For example, we designed systemd with security in mind, hence most daemons run at minimal privileges (using kernel capabilities, for example) and are responsible for very specific tasks only, to minimize their security surface and impact. Also, systemd parallelizes the boot more than any prior solution. This parallelization happens by running more processes in parallel. Thus it is essential that systemd is nicely split up into many binaries and thus processes. In fact, many of these binaries are separated out so nicely, that they are very useful outside of systemd, too.
These binaries are under the systemd umbrella and not independent projects. They include the same libraries (fix a bug in it and you fixed it for *all* binaries), they are thought to work together, they expect similar arguments from the user, etc.
“Hyperbola is a Free Software and Free Culture project aiming to provide a fully free as in freedom GNU/Linux distribution called Hyperbola GNU/Linux-libre. It is based on the packages of the Arch GNU/Linux plus security and stability patches of Debian GNU/Linux, with packages optimized for i686 and x86_64 CPUs under a Long Term Support (LTS) way. Hyperbola aims to keep its package and management tools simple, stable and secure. The primary goal is to give the user complete control over their system with 100% Free Software and Free Culture.”
“As systemd doesn’t follow our Social Contract, we have decided to remove it and use OpenRC as our default init system. The decision means that the Stable v0.1 will be the first and the last version supporting systemd.”
https://www.hyperbola.info/news/end-of-systemd-support/
(Apologies to the upthread posters who've mentioned it already ... )
For those wanting to see criticisms of the "Unix philosophy", see
... and if they refer to "Lisp Machines", and if you don't know what it
is, see
.
Hint: It's *not* a programming language, "Lisp" is.
name at domain writes:
> Hello everyone,
>
> excuse the potentially stupid question: I've been reading about
> systemd lately and was wondering what exactly is the main issue that
> some people seem to have with it. My understanding so far is that it
> violates the Unix principle of doing one thing and doing it right and
> the amount of features potentially causing issues in the
> future/already causing issues. Is that correct? I'd like to know the
> stance and of some reasons for and against using it compared to, e.g.,
> OpenRC.
>
> - PenGNUin
>
--
- https://libreplanet.org/wiki/User:Adfeno
- Palestrante e consultor sobre /software/ livre (não confundir com
gratis).
- "WhatsApp"? Ele não é livre. Por favor, use o GNU Ring ou o Tox.
- Contato: https://libreplanet.org/wiki/User:Adfeno#vCard
- Arquivos comuns aceitos (apenas sem DRM): Corel Draw, Microsoft
Office, MP3, MP4, WMA, WMV.
- Arquivos comuns aceitos e enviados: CSV, GNU Dia, GNU Emacs Org, GNU
GIMP, Inkscape SVG, JPG, LibreOffice (padrão ODF), OGG, OPUS, PDF
(apenas sem DRM), PNG, TXT, WEBM.
- Inicie sesión o regístrese para enviar comentarios