SysVInit vs SystemD

Started by V.T. Eric Layton, November 30, 2021, 01:59:16 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

V.T. Eric Layton

OK, folks. Let's warm this place up a bit...

I'm sure most of you who've spent any time with GNU/Linux this past few years are aware of the raging debate over the use of SystemD in a large majority of the distributions out there these days. I'm going to post my take on this here. Feel free to jump into the fire pit, if you dare. Be nice, though! :)

Alrighty...

There is this old init system in GNU/Linux called SysVinit. It's a very simple method of using plain text files along with permissions to instruct an operating system to start/stop certain applications and background functions, and who can and cannot manipulate these things.

It is easily understood and easily manipulated. You just edit the text files and/or edit their permissions to achieve your goals with regards to how you want your system to run. Pretty clear and easy so far, huh?

OK, there's this newer kid on the block created by a very smart fellow named Lennart Poettering. I'm not going to get to technical here because I don't have the brain that Mr. Poettering has and couldn't really explain it to you that well.

That being said, though, SystemD has become THE init system in nearly 99% of all GNU/Linux distributions. Some love it; others HATE it. Here's what I think about it...

I was playing around with SystemD in Arch Linux long before most anyone had ever heard of it. I thought it was neat, efficient, and easily manipulated to achieve those same system goals that I mention above. I do NOT believe that SystemD is a cancerous, insidious infection in your GNU/Linux distribution put there by aliens who intend to invade the Earth and herd all humanity into pens and fields where they'll be fattened up to feed our new masters.

My one and only dislike of SystemD is that it's MUCH more complicated than it needs to be. It violates the old UNIX rule of KISS (keep it simple, stupid). Why use a system that is extremely complicated to achieve something that can be done just as efficiently and much more understandably with a simpler method?

I've learned from LIFE experience -- yes, it's one of the good things about aging -- that simpler is most definitely better. I can use my old 1982 Chevrolet pick up truck as an example. When I go out there and turn the key in that truck's ignition, if it doesn't start, there's NOTHING that can be causing it that I cannot troubleshoot and repair myself. I don't need a Masters Degree in any field to do this. Compare this to your average newer vehicle. They've become SO complicated to fix and repair that auto mechanics now actually need to be electronic engineers to work on these cars/trucks. Yet, my ol' truck still gets me from A to B just like those spiffy, overpriced Frankenvehicles.

See my point? Simple is gooder. I've said my piece. I'll leave you with this:

     

raymac46

Well I'm not sure I want to join you in the swamp here, but I will say that a couple of distros I really like use SystemD, and a couple I also like use SysVInit. They all work fine. SystemD has some nice switches for controlling the network and other essential services in Linux - which is good.
I have had zero problems with SystemD but I can't say the same about Lennart's other masterpiece - Pulse Audio. That may get replaced eventually, but I used to say the same thing about Xorg. We'll see.

V.T. Eric Layton

Quote from: raymac46 on November 30, 2021, 01:35:24 PM...but I can't say the same about Lennart's other masterpiece - Pulse Audio. That may get replaced eventually...

BAHAHAHA! That's a whole 'nother bag o' taters there. I agree with you completely. I am, to put it mildly, not particularly enamored with PulseAudio. There is a method for eliminating it completely and returning to ALSA in Slackware, but I've become lazy in my old age, so I haven't done that yet. I was waiting for the next stable release (15 - coming soon) from Pat V. before I make this modification to my Slackware.

As you say, though... we'll see.

securitybreach

Oh no, this is as bad as an Vim versus Emacs thread (Vim FTW!)
"We try to avoid the word "newbie", it does no justice to the efforts we, also the beginners, put in to learn a new operating system. I think the wish to learn Linux shows a brave attitude and deserves a better qualification." --Bruno

securitybreach

I've been using SystemD primarily since Archlinux moved to it back in 2012. I've gotten used to it but that was the only time that an upgrade broke my Arch install to the point of not being able to fix it. The update that switched Arch from SysVinit to SystemD was a major change that a lot of installs didn't make it past. BTW Alsa and Pulse are not an either/or thing, I actually use them together on my arch install.

QuotePulseAudio is a general purpose sound server intended to run as a middleware between your applications and your hardware devices, either using ALSA or OSS.
https://wiki.archlinux.org/title/PulseAudio
"We try to avoid the word "newbie", it does no justice to the efforts we, also the beginners, put in to learn a new operating system. I think the wish to learn Linux shows a brave attitude and deserves a better qualification." --Bruno

securitybreach

Good explanation:

QuoteThere are four layers in this abridged explanation of the audio stack.

    The hardware.
    ALSA.
    Pulseaudio
    Applications.

ALSA has all the hardware support. It's great at talking to a whole load of different stuff but it's relatively rubbish at talking to more than one application or providing network-aware features like Pulseaudio.

In this sort of stack, PulseAudio is the only thing that interfaces with the main ALSA devices so if you want to make a sound, you either have to kick PulseAudio off, or interface with it.

PulseAudio can accept connections from clients that only speak ALSA (it pretends to be an ALSA device) for legacy reasons which allows things like Wine, Skype, et al to work (most of the time).

QuoteALSA is the kernel level sound mixer, it manages your sound card directly....PulseAudio is a software mixer, on top of the userland (like you'd run an app). When it runs, it uses Alsa's channel and manages EVERY mixing stuff, devices, network devices, everything by itself

https://askubuntu.com/questions/147981/how-do-you-use-both-pulse-audio-and-alsa
"We try to avoid the word "newbie", it does no justice to the efforts we, also the beginners, put in to learn a new operating system. I think the wish to learn Linux shows a brave attitude and deserves a better qualification." --Bruno

Hedon James

I'm indifferent, as I can see the merit in each side's argument, whether pro- or anti- systemd.  I'm fine with whatever starts my system....I just need to know which key(s) to put in the ignition.

With that being said, I've noticed how parochial Linux seems to be; with some very intelligent folks making their pro or anti arguments based on what's important to THEM.  And in that case, they're correct, no matter if they're pro or anti.  But the last time I checked, the MAIN feature of Linux is "freedom", as in freedom to choose.  So I don't understand the argument in the first place.  Systemd, sysvinit, runit, Upstart, OpenRC....are all valid choices to start a Unix system, whether Linux or BSD.  Choose what works for you.  If your favorite distro uses an init system that you disagree with, there are literally hundreds (perhaps even thousands?) of alternatives to choose from.  And nearly all of them can trace their lineage to Arch, Debian, Suse/Red Hat, and/or Slack; so you can often stay within the same family!  Once again, freedom of choice!

And with that said, I'm not quite sure how these "wars" get started in the first place.  From the outside looking in, I think VT is onto something with his reference to KISS philosophy; related to the old Unix philosophy of "one tool for one job".  I can agree with the basic philosophy of KISS, but the original Unix philosophy was developed in a time of lesser memory and lesser CPUs.  Is minimalism even necessary in today's computer world?  Desirable?  SURE!  Necessary?  I dunno....  How about we let the user choose? (there's that freedom of choice again!)  Personally, I'm a fan of MULTIPLE tools for the job; redundancy in case of failure.  If I have an issue with Firefox, I've got Chromium ready to go to finish the job at hand before I dive into fixing Firefox.  Similarly, I've never had an issue with LibreOffice (knock on wood!), but if that would ever happen, I've got AbiWord available to finish the task before I repair LO.  Personally, I think everyone should consider the merits of such a philosophy.  But I'm not about to start a flame war insisting that everyone should actually DO just that.  See the difference?  I've offered a solution for OTHERS to consider; I didn't implement the solution on their behalf.  They're free to choose what's best for THEM!

And I think VT touched upon the other issue with Systemd.....the developer Lennart Poettering.  I've not really had any issues with PulseAudio (PA), but that may just be luck on my part.  Seems a LOT of folks have had issues with PA and curse about it quite often.  For such a seemingly problematic piece of software, it seems no one has fixed the perceived issues, but merely continue to gripe about them.  Because of PA, Mr. Poettering is associated with an unflattering reputation as a "crappy" software developer.  Therefore, anything he does is sub-standard.  Maybe fair....maybe not.  But I think the criticism should be directed at the product, not the person, until PROVEN that the person is the issue.  And since Mr. Poettering continues to offer services and contributions to other ongoing projects, I personally conclude that his contributions are worthy of inclusion.  So I think the "crappy developer" argument is dismissed....at least in my mind, it is.

So what's the issue?  I think it's something that's deeply embedded in the Linux ecosystem itself.....HYPOCRISY!

The basic tenet of Linux is FREEDOM of choice (free, as in beer, is a secondary consideration).  Linux users want the freedom to tailor their OSes exactly how they want, without interference.  But once that is achieved, too many users want to tell others how their OSes should be.  They're carrying the very thing they migrated away from, and trying to put it in Linux.  "Control by others.....BAD; control by me....GOOD"  So much for the appeal of a FREE OS?!  Am I the only one who sees this "character flaw" in the Linux community, time and time again?

raymac46

I think of using Linux like being a guest at an elaborate Chinese food buffet. I won't like all the dishes offered, and for some of them I don't want to know the ingredients used.
But there's some combination that I will really enjoy. And since I didn't do any of the cooking I don't think I should complain too much.

V.T. Eric Layton

HA! Good reply, HJ!

To wax philosophical here for a bit, I think the debates regarding anything in GNU/Linux and its associated applications and tools are mostly due to human tendencies toward argumentativeness. Basically, the same thing that causes all the hate and strife in this world... "us and them", "mine and yours", "green or blue", etc.

Personally, I've always thought the most wonderful thing about GNU/Linux is the ability to choose. Unfortunately, there's a little bit of the "fanboi" in all of us. We have our favs. We talk about them. We push them on others. We cheer for this, but not for that. It is what it is, I guess.

I've never met a bad GNU/Linux distribution. I've met some I didn't care too much for for whatever reasons. A great example of this would be Gentoo, which I've always jokingly referred  to as "a masochist's Linux". Choosing Gentoo is like deciding to build your own pickup truck from scratch out in your garage. It requires patience and a great love for what you're doing. For me, Gentoo was just too much work. That being said, though, if you care to engage in that work to its end, Gentoo is a seriously stable and excellent distribution.

Usually, after discussions and debates around anything in GNU/Linux, I end my post with... "Use whatever works for you!. That's what it's all about!" And that it is. :)

___

About Pulseaudio, though.... I actually have never had any issues with it since Pat V. reluctantly added it to Slackware because of Bluetooth requirements. However, I have issues with the Mixer and the sound quality. To my old and partially deaf ears, PA just doesn't give me the tonal quality that a pure ALSA system did. It's probably just my imagination. The main reason I haven't performed the necessary tweaks in Slackware to run pure ALSA is basically because I'm lazy in my old age, and I've gotten used to PA.

___

About that ol' VIM/Emacs debate that Josh briefly mentions above... VIM for me! Why? Well, mostly because it's what I started with and what I know best. Ol' people are like cats; we don't like change, and are reluctant to make changes when not necessary. ;)

___

> I think of using Linux like being a guest at an elaborate Chinese food buffet.

That's a great analogy, Ray!


securitybreach

BTW there is a new multimedia framework that is essentially going to replace PulseAudio:

QuotePipeWire is a project that aims to greatly improve handling of audio and video under Linux. It provides a low-latency, graph based processing engine on top of audio and video devices that can be used to support the use cases currently handled by both pulseaudio and JACK. PipeWire was designed with a powerful security model that makes interacting with audio and video devices from containerized applications easy, with supporting Flatpak applications being the primary goal. Alongside Wayland and Flatpak we expect PipeWire to provide a core building block for the future of Linux application development.

https://pipewire.org/

QuotePipeWire is a new low-level multimedia framework. It aims to offer capture and playback for both audio and video with minimal latency and support for PulseAudio, JACK, ALSA and GStreamer-based applications. The daemon based on the framework can be configured to be both an audio server (with PulseAudio and JACK features) and a video capture server.

https://wiki.archlinux.org/title/PipeWire
"We try to avoid the word "newbie", it does no justice to the efforts we, also the beginners, put in to learn a new operating system. I think the wish to learn Linux shows a brave attitude and deserves a better qualification." --Bruno

securitybreach

I haven't tried PipeWire yet but I do plan on checking it out.
"We try to avoid the word "newbie", it does no justice to the efforts we, also the beginners, put in to learn a new operating system. I think the wish to learn Linux shows a brave attitude and deserves a better qualification." --Bruno

V.T. Eric Layton

Oh, goody! Something new. I'll see this in the Slackware repos sometime in 2030 or so. ;)

securitybreach

Quote from: V.T. Eric Layton on December 04, 2021, 04:37:54 PM
Oh, goody! Something new. I'll see this in the Slackware repos sometime in 2030 or so. ;)

Lol
"We try to avoid the word "newbie", it does no justice to the efforts we, also the beginners, put in to learn a new operating system. I think the wish to learn Linux shows a brave attitude and deserves a better qualification." --Bruno

raymac46

Pipewire is showing up in Debian Testing - at least on my install it is.

https://wiki.debian.org/PipeWire

V.T. Eric Layton

Using Pipewire Instead of Pulseaudio in Slackware 15*

Off-topic: I'm very reluctant to upgrade my system from 14.2 to 15 any time soon. Pat V. will, of course, support 14.2 for quite some time to come, so I should be fine with it. Anyway, the reason I don't want to upgrade is due to major changes in Xfce, one of the most annoying being Client Side Decorations (CSD). I HATE IT... HATE IT... HATE IT!

*from an posting at LinuxQuestions.org