this post was submitted on 29 Jun 2023
141 points (96.7% liked)

Linux

48731 readers
1017 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
 

SystemD is blamed for long boot times and being heavy and bloated on resources. I tried OpenRC and Runit on real hardware (Ryzen 5000-series laptop) for week each and saw only 1 second faster boot time.

I'm old enough to remember plymouth.service (graphical image) being the most slowest service on boot in Ubuntu 16.04 and 18.04. But I don't see that as an issue anymore. I don't have a graphical systemD boot on my Arch but I installed Fedora Sericea and it actually boots faster than my Arch despite the plymouth (or whatever they call it nowadays).

My 2 questions:

  1. Is the current SystemD rant derived from years ago (while they've improved a lot)?
  2. Should Linux community rant about bigger problems such as Wayland related things not ready for current needs of normies?
(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 4 points 2 years ago* (last edited 2 years ago)

For someone coming from NeXTStep (BSD based), having worked with SCO, various BSD and mostly Linux for the last 20 years, the worst thing about systemd is documentation that's easily accessible/readable for people used to a traditional init system.

"How do I get it to do special use case X" was a basically unanswerable question when it got dragged into the mainstream (for reasons I can very well understand - the reasons for the dragging, that is, the bad docs, not so much).

Maybe that's improved in the mean time - I wouldn't know, I had to figure it out back then and now I know its lingo when searching and such.

[–] [email protected] 4 points 2 years ago
[–] [email protected] 4 points 2 years ago (8 children)

As service manager systemd nice, but look all services:

systemd + systemd/journal + systemd/Timers
systemd-boot
systemd-creds
systemd-cryptenroll
systemd-firstboot
systemd-home
systemd-logind
systemd-networkd
systemd-nspawn
systemd-resolved
systemd-stub
systemd-sysusers
systemd-timesyncd

That's look as overkill. I use only systemd, journald, systemd-boot, systemd-networkd, systemd-resolved and systemd-timesyncd, but that a lot systemd. Feel like system make monolith.

systemd-nspawn for example. Systems manager for containers. Seriously. Why than exists? I don't understand. Really, someone use that daemon?

[–] [email protected] 4 points 2 years ago (7 children)

How you would replace those in non-SystemD setup? Asking for learning purposes.

[–] [email protected] 2 points 2 years ago* (last edited 2 years ago)

or maybe I didn't understand the question. If you about that change daemons to non systemd, then:

systemd-boot -> grub, lilo, efistub

systemd-networkd -> some system scripts (different for different distributions), netplan, NetworkManager

systemd-resolved -> dnsmasq, bind, set directly on 8.8.8.8

systemd-timesyncd -> chrony, ntp

journal -> rsyslog

systemd -> init.V, openRC

load more comments (6 replies)
[–] [email protected] 3 points 2 years ago (1 children)

AFAIK, nspawn is mostly a debugging tool for working with the init system without having to actually boot a live system/VM. At least that's all I've ever used it for.

[–] [email protected] 2 points 2 years ago* (last edited 2 years ago)

It also a use case. =)

The documentation for systemd-nspawn itself says:

systemd-nspawn — Spawn a command or OS in a light-weight container

The developers themselves position the daemon as a simple alternative to LXD containers.

load more comments (6 replies)
[–] [email protected] 3 points 2 years ago (1 children)

I go crazy over boot times, systems is faster on every machine I’ve tried it on. The biggest difference I’ve seen is replacing grub, both systems-boot and car-boot seem to shave off a decent amount.

[–] [email protected] 4 points 2 years ago

systemd-boot vs. GRUB should make no appreciable difference other than default timeouts and those are configurable.

[–] [email protected] 3 points 2 years ago (2 children)

I'm honestly a big fan. Systemd-init has tons of options like run targets, sandbox options, users you want things to run as, etc. System-oomd has tons of qol stuff for desktop users to help with stutter and responsiveness. I am also kind of excited for UKI that systemd-boot is set to support.

load more comments (2 replies)
[–] [email protected] 3 points 2 years ago

SystemD is blamed for long boot times

That is and always was nonsense. Systemd shortens boot times by starting things in parallel. That's one of its key features.

There are some things to note about that:

Systemd only starts services in parallel when it isn't told otherwise by Before and/or After settings in the service files. This makes it pretty easy to make systemd slow by misconfiguring it. You can use the systemd-analyze program to see which services held up your boot.

Systemd has a very long default timeout (90 seconds) for starting or stopping a service. It's appropriate for the big, lumbering servers that systemd was probably designed for, but it might be wise to shorten the timeout on desktops, where a service taking more than 5 seconds to start is almost certainly broken. It's a setting in /etc/systemd/system.conf.

Is the current SystemD rant derived from years ago (while they’ve improved a lot)?

I'm an early adopter of systemd. I installed it on my Debian desktops pretty much as soon as it was available in Debian, and I later started moving servers to it as well. I had long been jealous of Windows NT's service manager, and systemd is exactly what I had hoped would come to Linux one day.

Yes, the rant you're talking about is old, and yes, systemd is better now than it was then, but not in the sense of what the rant was complaining about. The rant was already patent nonsense when it was written, which has given me a very dim view of the anti-systemd crowd.

Besides systemd proper, they also spent a lot of time ranting about the journal system, which redirects syslog entries into a set of binary log files. They complained that this would make logs impossible to read in emergencies. This isn't even close to being true—any emergency bootable Linux image worth its salt has a copy of journalctl on it—and the binary nature of systemd's logs has caused me serious problems on exactly zero occasions.

[–] [email protected] 3 points 2 years ago

No. The people with a raging hate boner for systemd are just a vocal minority in lots of online Linux spaces.

Most people either don't care or actively prefer it. Personally, I much prefer unit files to hacking away at init scripts or whatever the fuck Upstart was.

[–] [email protected] 2 points 2 years ago

I make plymouth do the verbose mode because it's cool and hacker-y. Also I like when it says "failed" and I know what failed. For a few weeks I kept having to manually start firewalld and I never would have known otherwise, update seems to have fixed that though.

Tbf, I really only have experience with fedora and thus systemd, so, I like it but I "don't know what I'm missing" in a sense.

[–] [email protected] 2 points 2 years ago

As a guy that's been installing Linux since you had to compile network drivers and adjust the init scripts to use them; SystemD rocks.

load more comments
view more: ‹ prev next ›