I have seen so many times that systemd is insecure, bloated, etc. So i wonder ¿does it worth to switch to another init system?
Watch this 45 minute video first so you understand why systemd was developed and implemented https://youtu.be/o_AIw9bGogo?feature=shared
I mean, is systemd giving YOU problems? If not, don’t switch just because other people complain about it
Keep systemd. People can cry all they like but it’s the best init system we have right now. Unless you want to start building a better one, i guess.
the only reason to stick to one of those init systems is that you already know everything about them and you dont want to relearn a bunch of stuff.
other than that i see 0 benefits to skip systemd
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.
Gentoo is great because they give you step by step directions for systemd and openrc so you can see the differences in action. (If you choose to read both sets of directions)
Is the experience of trying new distros very cool? yes
Should you abandon systemd? no
systemd is not bloated and it’s not insecure. If you don’t have any problems, don’t switch (unless you wanna have some fun trying new things, if you do, run a vm).
Systemd is a large piece of software. There are ways to make it smaller and disable various modules for it, but usually by default it’s very heavy.
With a traditional init system, it’s just an init system, and you’ll use other other programs to do the other things. This basically means a chain of interconnected bash scripts. Perhaps you’ll run into some integration issues. Probably not though. It’ll be mostly the same.
There is no real advantage to this from a user perspective beyond a philosophical one. Systemd works quite well at doing the things it tries to do, but it’s the Unix philosophy to “do one thing and do it well,” and some people care very deeply that systemd does not, and that’s certainly a fair reason to not use it.
However, if you’re not having problems with using systemd, I’d say don’t bother switching.
Systems is not the Unix philosophy, at least, not to me. It tries to handle so many different things and use cases. “One thing” normally means a small thing, and initialising everything you could ever think of is not a small thing.
If you have to ask, no.
I say this as someone who doesn’t use systemd. There’s not much benefit to it. It’s cool to do if you’re an enthusiast or experimentalist, but from a practical stand point, systemd is most practical.
I use gentoo with openRC btw.
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
Openrc at least is sysvinit based. Pre systemd the options were really sysvinit and upstart. Upstart was even worse than sysvinit such that afaik no one has bothered to try to revive.
Oh yeah ahaha
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.)
deleted by creator
deleted by creator
I’m not recommending non-systemd inits, but in a desktop usage, I never wrote a single script with MX Linux and Alpine. Their init system just works.
Basically, if you do not see any reason to switch from systemd then you should not. The thing with systemd is that it is really big and complicated. If you just use defaults of your distro systemd works just fine, but if you want to (or have to) change something fundamental, then dealing with this monstrosity becomes a bit of pain. You basically end with the situation where you are in a war with your own PC. After some time of this, dealing with an init system that does exactly what you tell it to do feels refreshing. There is also the part, where some init systems (sysVinit and runit) boot faster then others (openRC and systems), but it is not that significant. I use runit BTW. With my setup I spend much less time dealing with runit then I used to with systemd. That being said I still miss some of systemd features.
What distro do you use with runnit?
I, personally, use Void Linux, which is a ‘flagship’ runit distro. But if you want a bigger package repository, then devuan is also a good choice.
Void Linux
The biggest benefit would be to learn more about how unix systems work from the ground up. I’d say if you’ve had no problems ever with systemd then just stick to it. My linux usage predates systemd (by a lot) and I just want options kept open so I’m never forced onto it against my will.
Systemd vs anything else is mostly controversy, the outlet of a bunch of people that don’t want Linux to evolve, become better and have more flexibility because it violates the UNIX philosophy and/or it is backed by big corp. Systemd was made to tackle a bunch of issues with poorly integrated tools and old architectures that aren’t as good as they used to be. If you look at other operating systems. Even Apple has a better service manager (launchd) than what Linux had with init and friends.
Systemd is incredibly versatile and most people are unaware of its full potential. Apart from the obvious - start services - it can also run most of a base system with features such as networking (IPv4+IPV6, PBR), NTP, Timers (cron replacement), secure DNS resolutions, isolate processes, setup basic firewalls, port forwarding, centralize logging (in an easy way to query and read), monitor and restart services, detect hardware changes and react to them, mount filesystems, listen for connections in sockets and launch programs to handle incoming data, become your bootloader and… even run full fledged containers both privileged and non-privileged containers. Read this for more details: https://tadeubento.com/2023/systemd-hidden-gems-for-a-better-linux/
The question isn’t “what is the benefit of removing this init system”, it is “what I’ll be missing if I remove it”. Although it is possible to do all the above without Systemd, you’ll end up with a lot of small integration pains and dozens of processes and different tools all wasting resources.
I would be interested in using a distro that uses only systemd for everything(preferably arch based). Is there such a distro? I know it can be done manually,but I lack the time or patience to do it at this time.
The article you linked is really nifty! Are there any distros that are using all or nearly all of the features that systemd provides?
Yes, I wrote the article as a collections of thoughts and links of what I’ve learn about systemd over the years. The reality is that when Debian moved to systemd I wasn’t that happy but after learning all it can do and the way it works I see it was the best move.
As someone who’ve tried Gentoo on systemd and OpenRC, as well as Void with runit, I don’t see any reason to use OpenRC over systemd. I never noticed any performance difference, and it has far less features. As for runit, if half the boot time for half the features is what you need, then go for it.