Comparing Operating Systems with and without systemd

I have now added UbuntuDDE, Nitrux and Solus to my repertoire of “tried that.” UbuntuDDE would not run at all adequately from a USB stick. It was so horrible that I didn’t want to install it at all. I realize it would perform differently had I done so, but it was so bad I just couldn’t make myself do it.

Nitrux was only a little better. I didn’t like it at all and it wouldn’t execute some pretty basic commands. Really fought it as well (again, from the USB stick).

I tried Solus in the Budgie flavor (I tend to like GNOME) and I am on it right now. It replaces Elementary OS and so far, so good. I quite like it thus far. So, if you’re keeping count, Pop! OS is my primary daily driver on my Dell 2-in-1 Gen 8 i3. Zorin is going strong on my Dell Gen 8 i7 and Solus-Budgie is running on my Gen 4 i3 (and I just realized this one has actually been upgraded to 12 GB of RAM). I have no qualms in recommending all 3 for beginners, though Solus was a bit aggravating to get running properly… I lost my displays and had to install a controller and at one point, my comp froze during a Chrome install and entered a loop that required me to re-install the entire OS. But it seems pretty good right now.

I know Ubuntu is highly recommended for beginners, but I just didn’t love it. I may give it another go when something breaks on one of the other distros, but for now, I am halting experiments and sticking with Pop, Solus and Zorin.

Nice to see someone liking Solus/Budgie. I have had it running in a hard disk install for over a year.
A couple of points about Solus

  1. It is a specialist desktop distro… you cant set it up as a server … you cant even run ftpd daemon, it doesnt have it, serving ftp is a server function… You can run an ftp client
  2. It would be great on a laptop with touchscreen. It has a screen keyboard app and a number of apps you only see in Android
  3. It keeps its packages uptodate. The package system (eopkg) works fine and has a great gui.
  4. It is managed rolling release. You will get more downloads than you would with say Ubuntu or Debian
  5. The only negative I have is it uses systemd
    Regards
    Neville
2 Likes

nevj: Tell me more about systemd. I have read a bit about it, but… PLEASE understand that I am not a programmer. I am a moderately advanced user who has modest requirements. Once upon a time, I programmed routers to have static IP numbers and used port forwarding to get to company servers (I was the manager of that company at the time). I’ve dabbled with FTP and SFTP (we used an FTP connection to drop files on a secure server at our printing plant an hour away and we used FTP connections to share files between properties), but at some point and time, I became a CEO and less of a tech guy and punted those tasks to employees.

My point: Pretend I have no idea what you’re talking about and explain it at a fundamental level (because I’ll probably have no idea what you’re talking about if you don’t!). Also… people talk about package handling and package formats and all sorts of other things and while there may have been a time when I understood or cared, I am simply in a place where I am tired of Apple’s prices and Windows’ bloat. I am also tired of Google’s pimping my info for dollars, and the day will come when I am done with them, too, but one step at a time. Right now, it’s Linux. :slightly_smiling_face:

Also, Pop! is on my touchscreen laptop and it works GREAT. I’ll keep Solus Budgie in mind should I get tired of Pop! on that unit.

Also, I am thinking it’s because of having NVIDIA cards (probably? based on something I read?), but I am getting lines through YouTube videos in both Zorin and Solus when I hover over the video or when the controls briefly appear at the bottom of the video when it first starts. Anybody know why, or more importantly, how to fix?

Well , there is one process that is the first process to start when Linux ( and all Unixes) start up after the kernel is loaded. This first process was originally called init. All other processes are child processes … either children of init directly, or children of children…

The init system became rather complicated with age and attempts were made by several distros to replace it. The winner at the moment is systemd ( ie system daemon) produced by Red Hat. There was an anormous controversy when Debian decided to adopt systemd, and Debian was split into Debian and Devuan. The other major distro to adopt systemd is Arch.

What the controversy was all about, was not so much replacing init , but the concern was the way in which Redhat implemented it. They expanded its function to include a whole lot of system activities other than being the first process and starting other processes.
The argument against that was that Unix has long had the philosophy of “One task one process” and " A program should do one thing and do it well" . That philosophy IS Unix. By expanding into a variety of functions systemd had violated this basic principle… and as a consequence exposed itself to being complicated and bug prone.

OK so what are the alternatives to systemd
Devuan offers choice ot the orininal init, OpenRC, and runit
Void is runit only
Gentoo defailts to OpenRC, but offers others
BSD mostly uses OpenRC
PS LinusOS uses original init

There are more but you get the picture. The Linux community is divided on this issue.

I just wish that more distros would be like Devuan and offer alternatives. It cant be all that difficult… Devuan can do it with a much smaller staff than Debian

My personal preference is for runit. It is ultra-simple… starts daemons and does nothing else… and the learning curve is half an hour. In contrast the learning curve for systemd is months or years… you might never remember all its commands.

Make your choices ( of distro) carefully. Some are more complicated to manage, and therefore more bug prone, than others.

Regards
Neville

1 Like

So in reading about Devuan was where I learned a very very little about this. I was on a distro chooser and it asked if I had a problem with systemd. I had no idea what that meant, so my answer was no. Devuan got high marks for a distro that would work for my needs and I read a bit about it and the whole “it uses init” thing was mentioned. I had NO IDEA what that meant.

Your answer has been ENORMOUSLY helpful and useful. The idea about “do one thing and do it well” is a perfect way to explain what is a complicated issue. By avoiding a bloated piece of code that does a million things and is, therefore, difficult or impossible to troubleshoot, you distill it to the basics so what you know what went wrong if anything goes wrong.

Thanks for the comprehensive and enlightening answer! I do understand what you are talking about and it does help me understand the whole systemd discussion. It’s what some in the firearm world call a “philosophy of use.” It’s not necessarily a simple thing to understand, but it is rooted in a fundamental principle and it matters.

1 Like

You dont need the fine details.
The way a distro updates itself in your computer is called the package system. It needs to be

  1. simple
  2. reliable
    The best known system, used by Debian and its derivative distros, is called apt.
    The package system is really the heart of a distro. It has to work well,or the whole thing is a failure.

Most package systems that you will encounter are OK. Just learn to live with what you get with your favourite distro. Most of them have a gui.
Neville

2 Likes

Exactly what this systemd controversy is all about

So if you want to avoid systemd , there is a great FOSS article

which lays out all the choices for you.

And while we are here, what are all the alternative init systems? They are all listed here

And last but not least… the BSD world does not use systemd

2 Likes

We need some hard data on Linux fault rates with and without systemd.
The best I could find was

https://m.slashdot.org/story/334735

but it is just a statement, no data.
Does anyone have counts of bug reports, say comparing debian with devuan?

1 Like

I don’t have hard data or enough experience on this topic to express an easily falsifiable statement, however I want to talk about my observations and conclusions derived from them.

Observations:

  • systemd is always hated on, because it is really badly designed and insecure, in theory. I think, this is pretty much indisputable. However, the real world cases, where systemd actually had a huge negative impact, are small in numbers, at least as far as I know. If anyone knows plenty of examples, go ahead. I just know 2 or 3 examples where systemd has a real world use case negative impact, i.e. not only in theory.
  • Linux fanatics often say “just switch to Linux, it’s better!” and then some people switch, without being aware of the downsides and suddently those same Linux fanatics aren’t there anymore, when someone switched to Linux and needs help in solving Linux specific issues. The same happens with systemd. All the hate for systemd everywhere, but once you switch and experience issues for not using the standard init system, you don’t get much assistance from the same fanatics promoting usage without systemd.
  • The most successful GNU/Linux operating systems in the world use systemd. systemd has, as aforementioned, many design issues. At the same time, it has proven to be useful and helpful in the real world. Some operating systems make so much use of systemd’s features, that they pretty much cannot get rid of it. Nix is one such example. It relies heavily on systemd and that won’t change anytime, soon.
  • A lot of open source software depends on systemd. An example is k3s. It’s installation scripts, etc. all depend on systemd. Without systemd you are forced to use other non-standard installation methods, if available. systemd is so often defaulted to, there is even a fake systemctl for Docker containers, to moch systemd for applications depending on it.

Conclusion:

systemd has bad design. I think that is indisputable. It’s too huge, too insecure, too instable. However, in the real world(!), it is very useful and used widely, pretty much everywhere. Not only at home, but also at enterprises relying on a stable infrastructure. Therefore, the theory in this case obviously does not reflect reality that precisely.

Therefore, systemd is bad but not as bad as anti-systemd fanatics make it out to be, in the real world.

@Akito
I do a lot of Gentoo installs using Virtualbox, just to be doing something, most all installs use OpenRC with init. What would I be facing if I use Systemd for an install.

I have not experienced any issues with runit in either Void or Devuan.

On the other hand, I have Devuan running alongside Debian in the same machine and have no issues with either. They have both been thru cross release upgrades without a hitch

My only issue with systemd has been in a laptop… it kept suspending during bootup and shutdown

My friend switched to the Arch family about a year ago. At first, Artix was used, because that person didn’t want to use systemd due to the known issues. Bugs started to appear. They became bigger and more obvious. They became so big, Artix had to go. There were programs that just wouldn’t run on Artix and huge errors were visible, like for example, very disruptive font issues in Firefox.

Following recommendations from the Arch community, that person changed to pure plain old Arch Linux (runs with systemd by default). Suddenly, everything worked. All the programs started working. No font issues. Everything was fine.

The only supposed difference between those two distributions is that Artix runs without systemd. Otherwise, we don’t know any other notable differences between plain old Arch Linux and Artix.

So, this is one expert user’s account and experience about at first refraining from systemd and then using it.

Artix uses original init
I think the quality of Artix distro maintenance is the question here.
Arch probably has a much larger support staff
Rolling release distro need super good support staff

I dont see any difference between Debian and Devuan. I started with Devuan/init ( the default) and changed it to Devuan/runit.
I think both Debian and Devuan have quality support staff, so they both do it properly.
Fixed release distros are easier to support

No browser font issues for me in Devuan or Void

Might be a point. Though, doesn’t Artix merge fixes and features from upstream? At least, I would expect that.

If they do that, they get all the stuff from Arch Linux and then only have to keep systemd out of the system.

Removing systemd is not a trivial task.
There is an article in one of the Linux Magazines by Klaus Knopper on removing systemd from Knoppix…
I can find it if you want

It’s probably not an easy task, because it is used everywhere. If it’s used everywhere and most systems work alright, then systemd at least does not seem as instable, as systemd critics try to make it seem like. (This is my point from earlier.)

It’d probably interesting to discover how Artix gets/got rid of systemd and all the other derivatives, that got rid of it.

I think the distros that do non-systemd well are the independent ones like Void that do it from scratch with an alternative init.

Runit in Void is different from runit in Devuan. In my opinion the Void implimentation of runit is simpler.

I’ve run workloads - professional, corporate, enterprise on literally THOUSANDS of Linux server instances running systemd and not experienced any major flaws whatosever with it.

It just works… and it’s running on literally MILLIONS of devices… perhaps even BILLIONS…

Whine and sook about it as much as you like, and I agree to some extent, I miss the simplicity of runlevel scripts and init, but considering the vast bulk of internet compute, runs on Linux and in nearly all of those cases, those Linux implementations will be later releases of Debian, Ubuntu server, or one of the Red Hat family (Red Hat will be bigger than any of the Debian / Ubuntu footprints) - Red Hat family includes Red Hat itself, Oracle Enterprise Linux (there’s so much Oracle cloud stuff running on OEL, e.g. ExaData Oracle database appliances run OEL), CentOS, and Amazon Linux is based on Red Hat…

It’s here… get used to it… and by all means, run some obscure niche distro that eschews systemd, that’s how OSS works…

Before Oracle basically killed off Solaris, even Sun Microsystems were heading into the kinda “systemd” direction with SMF (System Management Framework) to replace SystemV init…

And - now - when I hit some system that DOES NOT do systemd, I’m kinda lost, when I want to do stuff like “systemctl --user [operation] [my-service]” when I want to run some simple service under my user profile - I actually LIKE this feature of systemd…


also - init made some sysadmins very LAZY - I can recall looking in /etc/rc3.d and instead of some symlink to a proper script in /etc/init.d/ - there was a basic script, that didn’t even had “start or stop or restart” arguments - basically just a shell script that “did the thing” of startup up some process, without arguments - and nothing else, no stop on shutdown scheduled reboot… So - there’s that - init made for LAZY sysadmins…

2 Likes

Yep.
And I guess bad design that works will beat innovative simpler design that just never gets production tested adequately. At least in commercial world.

Not sure about old init. There were issues there too, as you noted.
If there is to be change, it ought to be forwards. Maybe systemd could be split up into sensible onetask modules.

At home, you can experiment more. Thats where the fun bit comes in.