Why is systemd preferred for lightweight distributions.

Redox

New Member
Joined
May 20, 2022
Messages
2
Reaction score
2
Credits
22
I would like to know why being systemd free is preferred by the distribution developers of lightweight OSes.
While i do understand that init and systemd are both service intiators and in most of the article and research that i have read systemd is deemed as the better alternative and is being adopted by mainstream Distributions but all distros that target performance and are trying to be lightweight are seen using init over systemd.
if someone could technically differentiate between these two as i am currently also creating a distribution too so i wish to know which would be better.
 


I would like to disagree, I am currently running MX Linux on the lowest spec laptop I have ever owned, and am shocked at how fast it is, and the version of MX Linux am using is their latest, and am not using the systemd variant, which also available at boot time.
If its not broke am not fixing it.
You will probably find there are systemd lovers and haters.
Celeron 4120 with 4Bb ram.
 
Welcome to the forums
I will ask if @Lord Boltar can give you an answer, as he is a distribution developer himself,
just wait a little and when he is on he will see I have tagged him
 
I would like to know why being systemd free is preferred by the distribution developers of lightweight OSes.
While i do understand that init and systemd are both service intiators and in most of the article and research that i have read systemd is deemed as the better alternative and is being adopted by mainstream Distributions but all distros that target performance and are trying to be lightweight are seen using init over systemd.
if someone could technically differentiate between these two as i am currently also creating a distribution too so i wish to know which would be better.
Hello @Redox
Welcome to the group. Here's a good article on the difference between Init and systemd. The biggest problem with the adoption of systemd was the method in which many thought it was being forced upon us with no user input. For a very light weight Distro systemd would not be really any advantage. And one of the Systemd developers was very vocal in his replay to those who dared to ask why.. I find for my use very little difference in systemd or an init boot process. systemd is a bit easier to manage. But others believe that it infringes on linux freedom. So the debate goes on. Which ever you choose to use your system will most likely be happy with. Cheers!
 
Hello @Redox
Welcome to the group. Here's a good article on the difference between Init and systemd. The biggest problem with the adoption of systemd was the method in which many thought it was being forced upon us with no user input. For a very light weight Distro systemd would not be really any advantage. And one of the Systemd developers was very vocal in his replay to those who dared to ask why.. I find for my use very little difference in systemd or an init boot process. systemd is a bit easier to manage. But others believe that it infringes on linux freedom. So the debate goes on. Which ever you choose to use your system will most likely be happy with. Cheers!
Thanks for the article this makes it quite clear why performance centric OSes prefer init instead of systemd hence systemd being not only hefty in size with alot of dependencies but also being more restricting for in depth tinkering.
 
Don't have a problem with systemd - used Devuan for the longest time, but decided to switch to Debian and so far I don't regret it - Bullseye is running really well especially on this old Vaio VGN-FE15GP 32 bit laptop - pretty solid vanilla distro. Can't notice any performance difference with systemd running as opposed to sysvinit.
 
Thanks for the article this makes it quite clear why performance centric OSes prefer init instead of systemd hence systemd being not only hefty in size with alot of dependencies but also being more restricting for in depth tinkering.
You got it.
 
systemd is another replacement for the old SysV init, but it includes a whole lot more. It has modules that manage physical devices, user logins, network name resolution, and much more, it is made up of more than 70 binaries and over 1.4 million lines of code.
Critics regard systemd as overly complex and suffering from continued feature creep, arguing that its architecture violates the Unix philosophy. Which, IMHO I can care less about that.
systemd is middle-of-the-road, the people who either want a hyper secure, or hyper small or hyper fast system are left out. The truth of the matter is that it barely changes anything because systemd has only been adopted by systems who never catered to those people anyway. It's mostly been adopted by systems who cater to people who don't really care about 'under the hood' as long as their desktop environment keeps running.

Me I don't give two cents either way I just want my stuff to work and systemd does work
Also see here - https://www.freedesktop.org/wiki/Software/systemd/
 
Last edited by a moderator:
Me I don't give two cents either way I just want my stuff to work and systemd does work
That makes us 2! lol I've used (distros with) sysV, runit and systemd; didn't notice any difference, except for some commands and other stuff, but performance-wise, nothing at all, nada, after all, I use the defaults. Only thing I do is disable some unnecessary services I don't use like irqbalance, cups, cups-browsed, ModemManager, ufw. That being said, I do prefer systemd; much easier to use and ships with some handy features, like this one: https://www.freedesktop.org/software/systemd/man/systemd-nspawn.html
systemd-nspawn may be used to run a command or OS in a light-weight namespace container. In many ways it is similar to chroot(1), but more powerful since it fully virtualizes the file system hierarchy, as well as the process tree, the various IPC subsystems and the host and domain name.

systemd-nspawn may be invoked on any directory tree containing an operating system tree, using the --directory= command line option. By using the --machine= option an OS tree is automatically searched for in a couple of locations, most importantly in /var/lib/machines/, the suggested directory to place OS container images installed on the system.

In contrast to chroot(1) systemd-nspawn may be used to boot full Linux-based operating systems in a container.

systemd-nspawn limits access to various kernel interfaces in the container to read-only, such as /sys/, /proc/sys/ or /sys/fs/selinux/. The host's network interfaces and the system clock may not be changed from within the container. Device nodes may not be created. The host system cannot be rebooted and kernel modules may not be loaded from within the container.
Or this one https://www.freedesktop.org/software/systemd/man/coredumpctl.html#
coredumpctl is a tool that can be used to retrieve and process core dumps and metadata which were saved by systemd-coredump(8).

Or https://www.freedesktop.org/software/systemd/man/bootctl.html#
bootctl can check the EFI firmware and boot loader status, list and manage available boot loaders and boot loader entries, and install, update, or remove the systemd-boot(7) boot loader on the current system.

Or https://www.freedesktop.org/software/systemd/man/systemd-cgtop.html#
systemd-cgtop shows the top control groups of the local Linux control group hierarchy, ordered by their CPU, memory, or disk I/O load. The display is refreshed in regular intervals (by default every 1s), similar in style to top(1). If a control group path is specified, shows only the services of the specified control group.

1653152759453.png


https://www.freedesktop.org/software/systemd/man/index.html
This is a good reading, too https://www.linux-magazine.com/Issues/2018/214/Systemd-Timers/(tagID)/628
 
Starting a Flame War 101: Include the term "Systemd" in any Linux-related thread.


My thoughts. Very long, quite abstract, not really recommended because they offer little technical advice and don't really answer the question. They're just commentary on this never-ending circular systemd debate, which is tired at best.
TBH, when I heard it was coming to Debian, I wanted to jump ship, but my problem was "where to?" Back then there was nothing as stable (that I know of -- Devuan was still a protest rather than an action). But I reasoned with myself that systemd seemed to be okay on other distros (eg: Arch). I'll be honest, and anyone here can argue with me, but Debian has slowed down a lot. Now I'm not going to blame systemd since everything has increased in demand for system resources (call it "The Counter-Moore's-Law Law": resource demand increases relative to available computational power).
How do I feel about systemd? I disagree with it in principle because it makes my system feel less me-controlled. Note I spoke about feelings there, not objectivity. If I had that much conviction, I wouldn't still be using Debian. So clearly, I can rant as much as I like, but I've done three clean installs since the change and at least the last two times, there were viable options like Devuan or Void (Okay, to be fair I'd change to Void if it was a massive project -- owing to my need for stability/support for my work machine). Systemd startup may be a little slower, but how many times do you restart/start your PC? You can't fault systemd here because it was built for an enterprise market, where there's little-to-no downtime, so that didn't enter the equation when it came to designing it. Did systemd introduce a lot of PITA? Yes, absolutely, but every major change does. Does systemd ensure things start in the correct order very effectively and that inter-dependent processes are managed properly? Yes (100% in my experience). Does it cause long two-minute hangs at poweroff? Sometimes (in my experience). Are these things a fair trade-off? That's for the user to decide and that's the nice thing about the Linux ecosystem is that the user has that choice; maybe they need to go to another distro, but they have that choice, bottom line. I'd love to be systemd-free, but I'm not motivated enough to actually move away from my stable, safe, setup just for the sake of a few pragmatic gains and some ideology, which means that technically, it's not so bad. If it was that detrimental, I would've been more motivated. It's the same with the nVidia proprietary drivers argument. Or even the binary blobs argument. Well, the latter is very ideological, I'll grant you, but it is also genuinely a concern for security/compatibility.
Anyway, these arguments are analogous to real-life politics: you can have really strong capitalist or socialist views, but will you actually do any real activism (posting crap on Twitter, arguing with people, etc. does not count, that's slacktivism at the best of times). Probably not. Maybe you'll start an angry Youtube channel. But you'll still use that financial system you oppose and still benefit from it (BTW: Not advocating abandoning your passionate beliefs, I'm just illustrating a point). It's the same with systemd, and that's why I stopped all my hypocrisy shortly after using Debian with systemd, despite my plethora of non-ideological complaints I had; I realised that if I was unwilling to overhaul my system for what I perceived as "freedom"/"systemd-free", then systemd could not possibly be subjectively "bad" for me (that sounds inductive, I realise, but it proved to be the case in the years to come -- for me and others I know/knew). So, I shut up about it. Now I criticise the debate itself. And no, the irony there has not escaped me, lol.
 
Last edited:
Yes seen much vitriol towards Mr Pottering for systemd and pulseaudio - causing much division. Not very healthy.

Fact is as has been said there is distros that can be used with sysvinit - so if the conviction to only use a sysvinit system then there is distros to meet that need.
 
That makes us 2! lol I've used (distros with) sysV, runit and systemd; didn't notice any difference, except for some commands and other stuff, but performance-wise, nothing at all, nada, after all, I use the defaults.
Let's make it 3 that don't care it's systemd or not or sysV or init or runit.

If you use old desktops with low spec system hardware as I do you will notice a difference in speed using runit leastwise I do with Antix Linux.
 
@GeckoLinux may know to has he maintains GeckoLinux.
Hi there, thanks for the ping!
I haven't found systemd to be a major culprit in system resource usage. Opening an additional tab in a modern web browser probably uses far more resources than any init system out there. Additionally, since openSUSE uses systemd and GeckoLinux is an alternative configuration of openSUSE, it obviously has to use the same init system. I suspect that's why many other lightweight distros are also using systemd; since they're usually small projects they have to stick to whatever init system their upstream distro base uses.
 
Hi there, thanks for the ping!
I haven't found systemd to be a major culprit in system resource usage. Opening an additional tab in a modern web browser probably uses far more resources than any init system out there. Additionally, since openSUSE uses systemd and GeckoLinux is an alternative configuration of openSUSE, it obviously has to use the same init system. I suspect that's why many other lightweight distros are also using systemd; since they're usually small projects they have to stick to whatever init system their upstream distro base uses.
Bye the way thanks for Gecko :)
 


Top