[SOLVED] Is 2019 Still Too Soon For Intelligent Assessment of SystemD?
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Is 2019 Still Too Soon For Intelligent Assessment of SystemD?
Before I get to the heart of the matter, I should first say that I am not only very happy with Slackware, I am particularly sort of proud we didn't go systemd, which is why I'm choosing to post here rather than in General or elsewhere. I even took some pride in that Debian nearly imploded over it and that the more serious like BSD and Gentoo stood up against it, too.
Anyway let me make it perfectly clear that I don't think was ever rabid in my opposition to systemd, but I saw no upside for me (I couldn't care less about faster boot times) and saw lots of downsides, not the least of which I've since come to see as just a tad reactionary, "It isn't Unix-like!!!" and I am not at all looking forward to a time, if ever, that Slackware adopts it or anything like it. It's just that I take more pride in challenging my assumptions to try to properly assess reality and not devolve into an "echo chamber" from being intellectually lazy.
The purpose of this thread is purely to understand better what developers face and what, if anything, any manner of altered init system might provide for them which means ultimately to us all, since apparently there is more than just faster boot times to systemd's credit.
Today I watched a video of a fascinating 2019 symposium titled "The Tragedy of SystemD" and frankly it shook up some of my negative assumptions and I'd like to know more about where Linux, in general, may be headed, and what possible value there actually might be to get a more realistic assessment than I have apparently had so far.
Whatever your POV I think most will find this sober symposium interesting if not enlightening. I'd like to see comments on the video, the speaker and his points in his talk. I sincerely hope my title is appropriate since surely we are all adult enough to resist flame fests, right?
Anyway let me make it perfectly clear that I don't think was ever rabid in my opposition to systemd, but I saw no upside for me (I couldn't care less about faster boot times) and saw lots of downsides, not the least of which I've since come to see as just a tad reactionary, "It isn't Unix-like!!!"
There's certainly some truth in that. systemd's sources do not contain a single line of code originating from original UNIX. However, we derive inspiration from UNIX, and thus there's a ton of UNIX in systemd. For example, the UNIX idea of "everything is a file" finds reflection in that in systemd all services are exposed at runtime in a kernel file system, the cgroupfs. Then, one of the original features of UNIX was multi-seat support, based on built-in terminal support. Text terminals are hardly the state of the art how you interface with your computer these days however. With systemd we brought native multi-seat support back, but this time with full support for today's hardware, covering graphics, mice, audio, webcams and more, and all that fully automatic, hotplug-capable and without configuration. In fact the design of systemd as a suite of integrated tools that each have their individual purposes but when used together are more than just the sum of the parts, that's pretty much at the core of UNIX philosophy. Then, the way our project is handled (i.e. maintaining much of the core OS in a single git repository) is much closer to the BSD model (which is a true UNIX, unlike Linux) of doing things (where most of the core OS is kept in a single CVS/SVN repository) than things on Linux ever were.
Ultimately, UNIX is something different for everybody. For us systemd maintainers it is something we derive inspiration from. For others it is a religion, and much like the other world religions there are different readings and understandings of it. Some define UNIX based on specific pieces of code heritage, others see it just as a set of ideas, others as a set of commands or APIs, and even others as a definition of behaviours. Of course, it is impossible to ever make all these people happy.
Ultimately the question whether something is UNIX or not matters very little. Being technically excellent is hardly exclusive to UNIX. For us, UNIX is a major influence (heck, the biggest one), but we also have other influences. Hence in some areas systemd will be very UNIXy, and in others a little bit less.
I'm not expert on systemd (yet, I should add because I need to learn it sooner or later - recently I was asked about it in a job interview) but one thing I really dislike about it are binary logs. I just think text is better but that's it.
Last edited by average_user; 08-02-2019 at 04:40 PM.
I trust our maintainer to continue to develop Slackware using a sane approach. I have an ambivalent opinion about the issue(that shall not be named). Whatever Mr. Volkerding and the Team decides to do is fine with me.
Well, average_user, that has been a negative aspect I thought was endemic as well but what the video made me aware of is that due to the way it actually functions transport of logs is some easier and more efficient. This may only be useful in larger networks such as in Enterprise, but I'd like to know more about that.
Also, I can't help but comment on your opener, "Oh great, systemd again.". Now that hopefully only embers are left from the initial firestorm isn't there value in a real assessment of how it has actually panned out in use? of who and what it can possibly benefit and at what cost? I have to tell you the video even made me reassess at least a little bit my assumptions about Lennart Voldemort It was indeed a massive undertaking and I was not aware he actually received death threats over it as a reward for his hard work. OK he is socially abrasive but so is Linus sometimes yet both have accomplished good work that has benefited much of the modern world. I think that deserves more than knee jerk condemnation. I was at least to some degree, in the wrong, and I'm choosing to rectify that.
I agree with a lot that's in that talk. I actually think SystemD is useful for a machine that I don't want to tinker much with. Distros that run it do seem to boot very quickly, they seem to have sorted out most of the issues that a 'normal user' encountered and it's no longer the disaster that it started out as.
I was forced into SystemD a couple of months back because I had to use a distro based on it for work (a requirement imposed by someone else, not chosen by me), and I think my biggest annoyance was its integration with DNS. The first thing I do to sort out DNS issues is to run my own Dnsmasq and it was a pain to just get SystemD out of the way. Of course there is loads of help because so many distros use it, so that mitigates. Ultimately I managed to get it to do what I wanted.
I'm used to bringing up Slackware with shell scripts. I know how the various commands work: iptables, brctl, ifconfig etc... I've been using some tried-and-trusted sequences for more than a decade so when I have to deal with a more 'modern' system all those commands need to be turned into cfg, and slotted into some framework that does it all in the right order, and you'd better hope that the config caters for all the options of all the commands you make use of. You no longer have much control. Slackware gives you *some* framework. But in the end it doesn't care whether you use it. If you don't like rc.inet1, just ditch it and write your own. You don't need to be an expert and I've been hacking those init scripts ever since I was a beginner. Barrier for entry is ridiculously low.
But my biggest disappointment with SystemD is that it doesn't translate well to embedded systems. It was touted as modular so you could only use what you needed but in practice nobody bothered. You can find plenty of arguments and counter-arguments about memory usage but I haven't seen it in systems with 4MB flash.
Show me it working with OpenWrt or Busybox without using any more RAM and I'll bow down at the Poettering altar like everyone else, but until then...
Well, average_user, that has been a negative aspect I thought was endemic as well but what the video made me aware of is that due to the way it actually functions transport of logs is some easier and more efficient. This may only be useful in larger networks such as in Enterprise, but I'd like to know more about that.
Maybe it's better in some circumstances. But I can imagine a situation in which I'd have to copy logs to another device or read them using some Live system after a crash and I couldn't do that without converting them to text first using some specialized program that may not be at hand.
Quote:
Originally Posted by enorbet
Also, I can't help but comment on your opener, "Oh great, systemd again.". Now that hopefully only embers are left from the initial firestorm isn't there value in a real assessment of how it has actually panned out in use? of who and what it can possibly benefit and at what cost?
There is. It's just that this is yet another topic on systemd and there were already many discussions about it in the past.
Quote:
Originally Posted by enorbet
PS: I still despise Pulseaudio
I do not, I can finally use my Bluetooth headphones comfortably.
I'm used to bringing up Slackware with shell scripts. I know how the various commands work: iptables, brctl, ifconfig etc... I've been using some tried-and-trusted sequences for more than a decade so when I have to deal with a more 'modern' system all those commands need to be turned into cfg, and slotted into some framework that does it all in the right order, and you'd better hope that the config caters for all the options of all the commands you make use of. You no longer have much control. Slackware gives you *some* framework. But in the end it doesn't care whether you use it. If you don't like rc.inet1, just ditch it and write your own. You don't need to be an expert and I've been hacking those init scripts ever since I was a beginner. Barrier for entry is ridiculously low.
But my biggest disappointment with SystemD is that it doesn't translate well to embedded systems. It was touted as modular so you could only use what you needed but in practice nobody bothered. You can find plenty of arguments and counter-arguments about memory usage but I haven't seen it in systems with 4MB flash.
Show me it working with OpenWrt or Busybox without using any more RAM and I'll bow down at the Poettering altar like everyone else, but until then...
Distribution: Slackware/Salix while testing others
Posts: 1,718
Rep:
enorbet, that was the same lecture he gave back in 2017 as well or 2018. He blocked comments on the youtube channel which is/was a shame because the viewpoints pro/con would have been interesting.
IMO the pros of systemd are few and mainly revolve around consolidating Linux and having it be more homogeneous which is easier for corporate maintainers, new breed of admins etc... The cons of systemd are plentiful including bugs being poorly resolved or not at all (infamous not a bug report closed), attack surface is increased as predicted and confirmed with the numerous CVE's issued, problems with systemd and AMD, assumptions by dev's that most people are using similar boxes as them etc...
If broken into parts (elogind, eudev etc...) then perhaps its benefits can be utilized with minimizing the cons, however, it still appears that it was a solution looking for a problem of which better solutions could have been utilized. Without having Gnome dependent on systemd, I do not think it would have succeeded in replacing init. I do think it will be replaced, just a matter of when not if. my 2 .
I'm not a systemd hater, but I am now* a systemd mistruster**.
There's one really important question for me - can it be easily replaced if*** it causes me problems? As long as the answer is "no" it's not going on my computer (my bail out from Linux, if necessary, is ready and waiting).
Edit: Which means that as soon as I see from Redhat a trivially easy recipe for removing systemd if I don't like it, I'd be willing to use it again (eg if it became part of a standard Slackware install).
*Originally I thought the fuss was just resistance to change and couldn't be bothered looking into it.
**Mostly because of its "feature creep". Partly because what's good for Redhat isn't necessarily good for me.
***I used a systemd distro for some years thinking it was JUST an init system and I admit I've never had a problem with it.
Last edited by fido_dogstoyevsky; 08-02-2019 at 05:39 PM.
Generally, I'm a systemd user. Do I like it? NO. But, all my favorite distro's moved to it, so I use it. It works* (*mostly, for the most part). Honestly the BIGGEST thing I dislike about it is binary logs. If journald saved everything as a straight text file, I'd probably like systemd. But I definitely agree with everyone who says they don't trust it...it's been a security NIGHTMARE since coming out. If it were easier to use my preferred distro's without it, I would. As it's difficult, if not impossible, to do so, I use it and I'll continue using it.
Last edited by Timothy Miller; 08-02-2019 at 06:37 PM.
You seem to have taken the words "shell script" out of what I wrote, and found the same words in myth 4, and linked the two. You're missing the point. My problem isn't that I can't script something it's how those scripts fit together with the rest of the system. You don't gain anything by scripting something only to have your work undone by some other part of the framework. You need to learn up-front much more of the system to do something useful.
You can link to all the 'myth busting' articles you want. Something is either quick to learn or it isn't. I gave an honest opinion about how I'd found it, so how about you do the same instead of just linking to stuff we can already google?
Yes, busybox is just Linux, so you can add all you want including full glibc and thereby run whatever you want. I specifically mentioned 4MB flash, because I knew someone would come back with a google hit like that. Again, missing the point.
You seem to have taken the words "shell script" out of what I wrote, and found the same words in myth 4, and linked the two. You're missing the point. My problem isn't that I can't script something it's how those scripts fit together with the rest of the system. You don't gain anything by scripting something only to have your work undone by some other part of the framework. You need to learn up-front much more of the system to do something useful.
You said you want to configure your system with shell scripts and you can still do that within the framework provided by systemd.
Quote:
Originally Posted by bifferos
You can link to all the 'myth busting' articles you want. Something is either quick to learn or it isn't.
It's different, that's way you find it hard to learn. You've worked on your scripts for years and know them well. It's just like people saying that Linux is hard because it doesn't look like Windows.
Quote:
Originally Posted by bifferos
Yes, busybox is just Linux, so you can add all you want including full glibc and thereby run whatever you want. I specifically mentioned 4MB flash, because I knew someone would come back with a google hit like that. Again, missing the point.
4MB is really very little these days. The trend I see is different - get more expensive hardware and cut development time using JavaScript instead of C, Linux instead of RTOS etc. I think that systemd was not written with such small devices in mind. It's mostly geared for desktops and servers.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.