All of these init systems, including systemd, upstart and Windows Service Manager, pretend they can properly deal with failure, but they don't do it well or predictably.
If you have a service other services depend on, and then it goes down - you obviously need to restart the service that went down, but you may or may not need to restart the dependents, they may or may not have intermittent failures that are going to trigger other things -- It's just a huge mess.
Almost all systems work almost all of the times but when they don't, it is incredibly hard to reason what will happen because of the interaction between services and init system. The problem is inherent and I don't think a general service manager can fix it.
Even on systems that use systemd, I install djb's daemontools, and run my services under it; It only tries to do the things that can be reasoned about - services are indepedent; if you want to orchestrate dependencies, you need to do so in a way that makes sense for your own services because there is no general solution. It is incredibly simple, yet as robust as all the shiny systems (and perhaps more so).
s6 (on which Obarun is based, if you go deep enough) started life as a daemontools clone, but it added enough complexity to lose the robustness, predictability and simplicity of djb's design.
Obarun is a real breath of fresh air. By the time the image downloaded I had read some of the documentation about 66, I am a little familiar with s6 and its advantages (I don't think any other system makes better use of the kernel than s6) and I was happy to see a simple way to make s6 work.
This is really what makes s6 hard and less known, it is missing what 66 provides to average user.
I haven't used systemd for more than a few times testing distros, and the difference on machines that are older is HUGE. Anything with systemd on old machinery is like a messed up windows installation dragging its feet to do any little thing. I can't understand how can so many people defend it WHEN THEY HAVEN'T TRIED ANYTHING ELSE. It is obvious they haven't.
I use void and runit and I run a very simple system, so s6/66 is a ton of luxury, and between a minimalist runit system and an s6 system there is little performance difference. But after seeing Obarun I am ready to try 66 on Void.
If I want to make my own Linux-based OS, where do I start learning/practicing?
I already know how to install and use Arch, should I read and build Linux From Scratch or should I concentrate on understanding the kernel and the low level libs first?
Arch Linux developers add systemd dependency to lot of packages, but reality is that for somebody like me who is obaruner, i have to edit PKGBUILD's and remove unneccessary systemd package and i manage to build and run them without without systemd
This is why systemd is cancer, it forces arch devs to add unneccessary systemd deps and that makes life pain in the ass for somebody who uses non-systemd arch linux based distro.
Others use dummy libsystemd, or dummy systemd but is it real solution, obarun doesnt provide dummies, so pkg codes are 'cleaner'
Try to build some package that requiries systemd, remove it from dependencies and do it, you'll see lot of programs run fine without systemd!!! So why the hell arch linuxers add systemd dependency to almost everything they can??
Well i am obarun user but beginner so i can't give lots of insights.
I know that artix uses systemd and systemd-libs dummy packages, because most of pkgs from arch have systemd in dependencies, which is completely useless...
obarun doesnt provide these. You can grab a pkgbuild and remove systemd dependency and other stuff.
Your best bet is to go on obarun forums and ask yourself
also obarun provides it's own 66 suite
https://web.obarun.org/software/
This init system obarun provides is bloody fast, you can configure your trees to suit your needs and your system will take 5 seconds to boot.
Artix is a bit like ubuntu of non-systemd arch linux.
This is obarun announcement that was removed from /linux reddit because it critises systemd
https://sysdfree.files.wordpress.com/2020/11/linux-removes-o...
That announcement doesn't even mention systemd. It was probably removed because of its bombastic, grandiose claims - "most advanced init system", "make every other system appear obsolete", "more effective than ever before or with any other system" etc.
Non-systemd systems seem very "hacker" to me. Bonus points for going against the grain and doing a project fewer people care about for the purpose of fulfilling esoteric software philosophies.
The vast majority of unix/linux "media" are sponsored by a handful of industries that all "sell" systemd based distros. Who makes a living writing for a linux media outfit who will turn against the interests of those who pay his salary?
How do you know there is a choice for people if you don't know the amount of bias there is in media what to project as "mainstream" and "popular". When Distrowatch a little while ago, run a poll, about init systems, systemd DID NOT come 1st, and its 3-4 top adversaries got 60% of the votes. Based on this I'd say systemd is a little second class adversary that can only get newbs fooled to use it because that is what mass media tells them they should try.
Ubuntu, Mint, Manjaro, Debian, Fedora. This is what media is pushing down peoples' throats.
Could someone explain it to me? I'm really out of the loop. I replaced Windows with Ubuntu a month ago with the intent to learn Linux. So far I have learned nothing: it's too stable and usable. Clearly something is being done correctly, and I did briefly have a stint with the older boot/service stuff in high school (which was impossible).
Some people don't like systemd because it rolls a bunch of other functionality beyond 'just init' into a giant monolithic beast. The advantage is that distro maintainers are able to present an extremely usable and stable system like Ubuntu, Arch or any of the other mainstream distros. For most people that just want to use their computer to do regular stuff like browse the internet and edit photos and stuff, systemd or otherwise doesn't really matter because you pretty much never need to touch those parts of the system. Alternate init systems are for power users or people with particular constraints. For example, one of the reasons Alpine Linux is able to be so small is because it uses OpenRC instead of systemd.
Personally, I use a non-systemd distro because my computers all have tiny-sized HDDs by today's standards and I hate having to read a bunch of documentation every time I want to create a new system service. To me, it's easier to just write an ordinary shell script. I don't need all the ridiculous logging capabilities that systemd offers. Regular old plain text is enough for me.
I prefer system d because I also have a cloud VM where I use systemd to run a database and an account service online for the games I make. I found systemd to be pretty darn nice for that. basically a better supervisor and far less bulky than using Docker.
That being said, I almost never use (or even think about) systemd on my Linux Mint install.
>"...So far I have learned nothing: it's too stable and usable...."
About 20 years ago I was developing new product (commercial media system) and tried to use Linux. After managing to crash system and my application like few times a day I showed it a middle finger and did it in Windows. Was not worth saving on licensing fee.
I came back to Linux about 3 years ago for writing native servers in C++. The difference in experience is night and day. The system is stable to the point that I do not even notice it. Everything I need works like a charm.
I feel like the only thing holding back the year of the Linux desktop is now apps (more Blender-quality stuff is needed) and people actually taking notice of Linux.
If you have a service other services depend on, and then it goes down - you obviously need to restart the service that went down, but you may or may not need to restart the dependents, they may or may not have intermittent failures that are going to trigger other things -- It's just a huge mess.
Almost all systems work almost all of the times but when they don't, it is incredibly hard to reason what will happen because of the interaction between services and init system. The problem is inherent and I don't think a general service manager can fix it.
Even on systems that use systemd, I install djb's daemontools, and run my services under it; It only tries to do the things that can be reasoned about - services are indepedent; if you want to orchestrate dependencies, you need to do so in a way that makes sense for your own services because there is no general solution. It is incredibly simple, yet as robust as all the shiny systems (and perhaps more so).
s6 (on which Obarun is based, if you go deep enough) started life as a daemontools clone, but it added enough complexity to lose the robustness, predictability and simplicity of djb's design.