I am a Linux user, but I don’t really know how most things work, even after years of casual use on my Main, I just started getting into Devuan and wondered then, what exacly does systemd do that most distros have it? What even is init freedom? And why should I care?
Linux is based on unix, which was an operating system designed to run on computers like the PDP-11 of the 1970s.
The problem is that computers have changed a lot, and Richie and Thompson couldn’t perfectly forecast all those changes. Most notably, it predates the internet.
Anyways, computers changed and so systemd was invented to copy MacOS Tiger’s launchd service model. Here’s the only video you need to watch on the subject
Here is an alternative Piped link(s): https://piped.video/watch?v=o_AIw9bGogo
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
I have been a Linux user since 2000.
All your chat is about technical issues, and both sides allways talk about the technical pros and cons of each system.
But i remember reading when debian team changed to systemd the arguments included these: 1- now Linux works like Windows and we do not like it. 2- now all depends on the systemd team, while init gives more freedom, so started devuan. 3- init and systemd can do the same but…here all the technical blah blah. By the way, if devuan exists and works well… 4- last and not least, systemd lets lock out the system (distro).
I am not an IT guy, just an user…so an ignorant. My questions: are those statements still valid or wrong? Even today the number 4 gets mi confused, it is, or was, a real reason?
Sorry my wording, my first language is not English.
What exactly does systemd do?
Too much.
Easier compared to what? Easier compared to sysvinit, of course. Easier compared to all the other alternatives? Six of one, half a dozen of the other, on balance, I would say.
But SystemD has inertia behind it now. If you run into problems, there are probably 1e10 web pages out there that will help you fix it. That’s why Debian solidified on SystemD: not because it’s any better than any of the others, but because it’s the same as everybody else.
Why should you care? Tech diversity is good, and people can try out different approaches. Aside from that, there’s not a reason. Systemd is a really good desktop init.
What is init freedom? It means the init system can be changed without other software breaking because there is a dependency on some functionality of the init. In this case, a dependency on systemd. Although it’s probably a dependency on a subproject under the systemd umbrella rather then systemd itself.
Why systemd? It’s tailored to weirdnesses in the Linux kernel. The Linux kernel isn’t perfect, and it’s user land isn’t tied to the kernel. Systemd is a shim which papers over the oddities. I don’t remember which oddities, but they’re there and people ignore them.
Were there dumb decisions made? Yes, especially for the server side. I should test out some other inits for servers, but it ultimately works fine.
This is a good post.
As for why people don’t like systemd, it follows the kitchen-sink approach to software and does a lot of things at once.
For people new to Linux I just want to point out - for better or for worse this goes against the Unix philosophy.
Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
One thing that people miss - either out of ignorance, or because it goes against the narrative - is that systemd is modular.
One part handles init and services (and related things like mounts and sockets, because it makes sense to do that), one handles user sessions (logind), one handles logging (journald), one handles networking (networkd) etc etc.
You don’t have to use networkd, or their efi bootloader, or their kernel install tool, or the other hostname/name resolution/userdb/tmpfiles etc etc tools.
Could one argue that a monolithic kernel such as the Linux kernel also goes against that principle?