I have seen so many times that systemd is insecure, bloated, etc. So i wonder ¿does it worth to switch to another init system?
I mean, is systemd giving YOU problems? If not, don’t switch just because other people complain about it
I didn’t use Linux two decades ago (I started on a systemd distro a few years ago), and the init system I use (runit on Void) is both simple to use and boots faster than any systemd-based distro I used; which is what I personally care about. I never used any “advanced” features of systemd other than timers and user services, and these have many alternatives.
I think systemd is fine, and has generally proven itself as reliable, but that doesn’t mean the current alternatives have no merit.
I would be interested in understanding how it boots faster considering that systemd init is fairly small and the features of runit is parallel process starting, which is also something that systemd provides.
Are you sure it’s not just that void itself has less crap to load?
This feels like I’m going to have to set up a couple of Arch installs to compare for myself.
I would be interested in understanding how the hell it’s such a big issue, honestly. Even if we generously assume that runit boots 5 times as fast as systemd, on modern systems it makes like a few seconds difference, which… who cares? Who goes around constantly rebooting their shit so many times a day that those 5 seconds they save per boot add up to any significant amount of time?
Even you asking this question means you should not. Systemd is perfectly fine for most people and the people that dislike it have their very specific reasons. Just use what your distro gives you, you shouldn’t have to care about these things.
Just use what your distro gives you, you shouldn’t have to care about these things.
To expand on this: OP, if you want to try a different init, you’re most likely better off switching the whole distro to one using that init. Unless of course your current distro explicitly supports many different init systems (like Gentoo). Don’t try to replace it by hand in a distro that expects to run on systemd, it’s a recipe for disaster.
Switch to sysvinit and you’ll understand the benefit of systemd
This is a bit of a strawman. SysVinit is hardly the only alternative:
antiX: sysvinit and runit
Artix: openrc, runit, s6, and dinit
Chimera: dinit
Devuan: sysvinit (default), openrc, runit, sinit
Dragora: sysvinit + perp
Gentoo: openrc, systemd
Guix: shepherd
Hyperbola: openrc and runit
KNOPPIX: knoppix-autoconfig
MX Linux: sysvinit (default), systemd
Obarun: s6 supervision suite
Parabola: openrc, sysvinit, s6, systemd (default)
PCLinuxOS: sysvinit
Slackware: sysvinit
Stali: sinit
Void Linux: runit, openrc
just another one of the holy wars within Linux – for the average user, it’s not going to make any difference – most of the mainstream distros switched over a LONG time ago so if you want to avoid systemd, you have to do a little hunting (ex. Devuan, Void, Gentoo, etc.)
It used to be that everything in Linux was a file, ideally a text file, so if you could find the right file you could access or change what you wanted. Systemd is a big program that manages a bunch of stuff and creates unique commands within its programs for doing so, which moves away from that principle and turns system management into what feels a bit more microsofty (like the registry editor program vs editing config files, etc) and a lot of people don’t like that. But to its credit, it does solve a few problems with cobbling together a modern system that doesn’t suck.
It used to be that everything in Linux was a file, ideally a text file
Yes? The entire Systemd configuration is done with files. With a very well defined structure called units that you can use to configure, boot, service startup, networking, containers, mount stuff, open sockets… that’s exactly the point Systemd provides a cohesive configuration file format for a system.
Yes and no. Let me start by saying I use systemd and have never seen any of this as a problem big enough for me to switch.
The Unix philosophy is that a program should do one thing and do it well, the old init.d system did exactly that, but systemd does more than just start programs, for example there’s the systemd-logind service which is used to authenticate users. Why is this a problem? Because some people don’t want to use systemd, therefore they don’t have logind, so if something were to depend on that, like GNOME’s GDM did for a while, it would be impossible to use it without systemd. So in a way people complain about programs becoming dependant on systemd, and systemd grabbing more and more responsibilities to the point where it would become an integral part of Linux, it’s not that systemd is a problem now, is that it has the potential to become so ingrained to everything that it becomes impossible to remove. But in the meantime systemd does provide some advantages, including parallelism which makes the computer boot faster.
Should you switch? Not really, this is more a philosophical debate on what Linux is and should be, I agree with all of the philosophical points and don’t think programs should depend on systemd, but I don’t think that’s directly systemd’s fault.