180
SystemD (lemmy.ml)
submitted 1 year ago by Tundra@lemmy.ml to c/linux@lemmy.ml

Ive been runing Debian 12 (kde) since bookworm was released and am loving it.

I have recently discovered Devuan which seems to be Debian without systemd - what is the benefit of removing this init system?

you are viewing a single comment's thread
view the rest of the comments
[-] Synthead@lemmy.world 156 points 1 year ago* (last edited 1 year ago)

It's mostly opinionated. systemd is written in C, uses a consistent config, is documented well, has a lot of good developers behind it, is very fast and light, and does what it's doing very well. Since systemd also is split up into multiple parts, it still follows the "do one thing, do it right" philosophy.

There are some people that believe that systemd "took over" the init systems and configuration demons of their distro, and does "too much." It really does quite a lot: it can replace GRUB (by choice), handle networking config, all the init stuff of course, and much more.

However, I have lived through the fragmented and one-off scripts that glued distros together. Some distros used completely custom scripts for init and networking, so you had to learn "the distro" instead of "learn Linux." They were often slower, had worse error handling, had their own bugs, were written in various scripting languages like tcl, Perl, Bash, POSIX shell, etc. It was a mess.

The somewhat common agreed-upon init system was System V, which is ancient. It used runlevels, nested configuration (remember /etc/rc.d?), and generally, it was mostly used because it was battle tested and did the job. However, it is arguably esoteric by modern standards, and the init philosophy was revised to more modern needs with systemd.

You can probably tell my bias, here. If you have to ask, then you probably don't have a "stance" on systemd, and in my opinion, I would stick with systemd. There were dozens of custom scripts running everywhere and constantly changing, and systemd is such an excellent purpose-built replacement. There's a reason why a lot of distros switched to it!

If you want to experience what other init systems were like, I encourage you to experiment with distros like the one you mentioned. You might even play with virtual machines of old Linux versions to see how we did things a while back. Of course, you probably wouldn't want to run an old version of Linux for daily use.

It should also be mentioned that init systems are fairly integral to distros. For example, if you install Apache httpd, you might get a few systemd .service files. Most distros won't include init files for various init systems. You can write them yourself, but that's quite a lot of work, and lots of packages need specific options when starting them as a service. For this reason, if you decide you want to use a different init system, a distro like the one you mentioned would be the best route.

Great question, and good luck! 👍

[-] Shdwdrgn@mander.xyz 13 points 1 year ago

Some distros used completely custom scripts for init and networking, so you had to learn “the distro” instead of “learn Linux.”

I never really noticed init scripts differing much between distros, but I also didn't play around with many. If the systemD scripts are the same across every system, then this is the first positive thing that I've heard about systemD, so thanks for that.

[-] clmbmb@lemmy.dbzer0.com 10 points 1 year ago* (last edited 1 year ago)

Init scripts were different, I can confirm. And it was pretty bad if you were doing your job and had to change something on a Debian ~~massive~~ machine, then moved to a red hat one.

[-] Shdwdrgn@mander.xyz 3 points 1 year ago

Ah ok, most of my experience has been on debian or derivations in the past decade. It seems weird that the init scripts would need to be different on various systems, I thought they had been pretty well standardized, with variables in the /etc/default/ entries pointing to specific folders or startup options. Ah well.

load more comments (15 replies)
this post was submitted on 27 Aug 2023
180 points (96.4% liked)

Linux

47889 readers
1355 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS