this post was submitted on 12 Nov 2023
676 points (94.6% liked)

linuxmemes

21222 readers
94 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     

    I use plasma, BTW

    you are viewing a single comment's thread
    view the rest of the comments
    [–] [email protected] 80 points 1 year ago (10 children)

    Can someone persuade me to not use systemd without using the word 'bloat?'

    [–] [email protected] 45 points 1 year ago (3 children)

    Use systemd if you want. It's not perfect, but nothing is. There are certainly good reasons to use systemd, including, but not limited to, that it's the default on most distros and you don't want to mess with init systems. My only complaint is that too much software and documentation is written with the expectation that you have systemd for no good reason, which makes it harder to leave, which makes more people stick with it, which is an excuse to neglect support for other init systems even more.

    [–] [email protected] 39 points 1 year ago (3 children)

    for no good reason

    I think the reason is that almost everyone uses systemd

    [–] [email protected] 13 points 1 year ago (2 children)
    [–] [email protected] 3 points 1 year ago (1 children)

    Circles are superior geometric forms. Peak design!

    load more comments (1 replies)
    [–] [email protected] 4 points 1 year ago (1 children)

    That just sounds like a reason to not bother supporting Linux, when Windows is so much more popular

    [–] [email protected] 1 points 1 year ago

    Yes that's what lots of companies/people do

    [–] [email protected] 2 points 1 year ago

    Yeah. That was my point. It's a self fulfilling cycle of people using it because it's all that's supported, and it being all that's supported because people use it. I think that is a problem. That's the same reason most software is for Windows. I don't think that's a good reason.

    [–] [email protected] 15 points 1 year ago (2 children)

    My question was just curiosity. If there's a good reason to switch to something else, I'd like to know, you know?

    [–] [email protected] 13 points 1 year ago (1 children)

    You get a lot more transparency with the other init systems. Systemd is a big system that does lots of things and it's not always possible to see everything it's doing, because it's doing a lot.

    [–] [email protected] 8 points 1 year ago (1 children)

    It also likes to hide things behind port redirections and binary storage of things that have always been text before so you pretty much have to use their tools to even read them

    [–] [email protected] 3 points 1 year ago (1 children)

    I assume there's an advantage to the binary formats though. More efficient in terms of storage size? Easier to quickly search by a particular field even in huge files? Maybe something like that. (I genuinely don't know)

    [–] [email protected] 2 points 1 year ago

    "Lennart just thinks they're neat."

    [–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

    I can actually understand what's going on with other init systems. They're basically just a list of stuff that gets run before you even log in. I do not understand everything that systemd does. I like understanding what my computer is doing. Most people don't care about that, and there's nothing wrong with that, but systemd is not what I want. I feel forced into using it anyway though, because it can be a lot of work to avoid it, and there's no reason for that beyond the fact that not enough people care.

    I get it. I'm in a small niche within a small niche. Nobody owes me an easy alternative to systemd. I'd still like one though.

    [–] [email protected] 3 points 1 year ago

    Exactly. Other systems are clearly doing one thing: init. Systemd wants to do everything

    [–] [email protected] 2 points 1 year ago

    Agreed. Was just looking at Podman's documentation the other day, and even though it'll run on distributions without systemd, for a second I thought cgroups might not even work without systemd. Glad that's not the case though, but I'm predicting a few problems down the road simply because I plan to use Alpine.

    [–] [email protected] 23 points 1 year ago (3 children)

    If you try to switch a distro that's already using Systemd to some other init system, you'll have so many broken things to fix!

    [–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

    Debian lets you switch and AFAIK it mostly works fine. They provide both sysvinit and runit as alternatives. Packages are only required to provide systemd units now, however a lot of core packages still provide sysvinit scripts, and Debian provides a package orphan-sysvinit-scripts that contains all the legacy sysvinit scripts that package maintianers have chosen to remove from their packages.

    That's just in the official repository, of course. Third-party repos can do whatever they want.

    [–] [email protected] 2 points 1 year ago (2 children)

    Ah ok. Is that different for runit or the other typical alternatives?

    [–] [email protected] 7 points 1 year ago

    None of the others are as deeply integrated into everything as systemd, they pretty much just handle starting things up so dropping in a replacement should be fairly straightforward. At least, it was until everything switched to systemd. Which is probably my biggest issue with it: that it integrates to the point you can't replace it anymore.

    [–] [email protected] 5 points 1 year ago

    Honestly I don't know. I just know that desktop environments and a lot of other packages have hard dependencies on Systemd, at least on Arch and Debian based systems. Those packages include: base, flatpak, polkit, xdg-desktop-portals, and vulkan-intel. So yeah, it's nearly impossible to not break anything.

    [–] [email protected] 16 points 1 year ago* (last edited 1 year ago) (6 children)

    It's not systemd doing all the things completely unrelated to system initialization that it does that I have a problem with. It's systemd doing them worse than the existing tools that do those things that the systemd equivalents replace and Lennart Poettering being completely unable to fathom why anyone would ever want to use any piece of software other than his. systemd talks big game about being modular, but makes breaking changes to how those modules communicate without warning anyone, so if you dare to be a "systemd hater" as he calls them and replace one of those modules with an equivalent he isn't involved with, Heaven help you when he breaks the API of systemd that they hook into and the developers of your equivalent scramble to implement the binary protocol he thought up yesterday so that their alternative continues to work.

    I don't want software on my system that is managed like that. It's the same reason I prefer Firefox over anything Chromium based.

    [–] [email protected] 2 points 1 year ago (2 children)

    Is it difficult to replace systemd?

    [–] [email protected] 10 points 1 year ago (2 children)

    Borderline impossible if you aren't using a distro designed with that in mind. Pretty much everything that isn't a program you directly start (e.g. sound system, desktop environment, bluetooth daemon etc.) either only provide a systemd unit to start them (which you'll have to manually translate into e.g. a shell script if you want it to work with your new init system) or is entirely reliant on systemd to function.

    Your choices of distro if you don't want systemd are Debian, Void, Artix, and Gentoo, and afaik that's about it.

    Replacing components of the systemd suite (e.g. using connman or networkmanager instead of systemd-networkd) isn't actually that bad as long as your DE has support for them, but replacing systemd itself is something you are building your entire system around.

    load more comments (2 replies)
    [–] [email protected] 5 points 1 year ago

    Extremely. When things like your DE starts being dependent on systemd, you don't want to replace it.

    I had posted about the monopoly that systemd has, and was down voted to oblivion.

    load more comments (5 replies)
    [–] [email protected] 11 points 1 year ago (4 children)

    If you actually want a reason, then most people experience faster boot up times using runit instead of Systemd. I haven't tried it yet though.

    [–] [email protected] 16 points 1 year ago

    maybe if you ran systemd you wouldn't have to boot up so often that actual boot times mattered that much.

    [–] [email protected] 14 points 1 year ago (1 children)

    I'm curious if there's any quantitative evidence to show this.

    [–] [email protected] 12 points 1 year ago (1 children)

    There is none. It's all conjecture or circumstantial.

    [–] [email protected] 6 points 1 year ago (2 children)

    I think it would be pretty easy to qualitatively test this

    [–] [email protected] 1 points 1 year ago

    I think it would not actually be easy to test this. The massive combinations of hardware and software configurations in use out in the world make it nearly impossible to conclusively say one way or the other.

    For instance consider the hypothetical of a service with a bug that increases its startup in certain circumstances. If Systemd triggered this bug and OpenRC didn't because of some default setting in each, perhaps a timeout setting, would you say OpenRC is conclusively better at start up time? Not really, they just got lucky that their default bypassed someone elses bug. Just off the top of my head other things that would probably cause hell in comparisons are disk access speeds, RAM bottlenecks, network load, CPU and GPU temp and performance etc.

    You can perhaps test for specific use cases and sets of services, but I think this is more useful for improving each init system than it is as a comparison between them.

    [–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

    But then it wouldn't fit the "systemd = devil" narrative if it was actually tested and found out to be false lol

    [–] [email protected] 3 points 1 year ago (1 children)

    Is boot time that much of an issue besides for arbitrary competitive reasons? I haven’t tried any optimizations and boot time on my headless server is less than two seconds.

    load more comments (1 replies)
    [–] [email protected] 2 points 1 year ago

    I maybe reboot my computer once a month. Why care?

    [–] [email protected] 10 points 1 year ago (1 children)

    Fun. You can dick around with your init scripts without having to worry about the right triggers or spawn classes or anything. Your system is hackable with bash. Systemd: here are a list of approved keywords, don't insert that there, why are using cron when you can use me?

    [–] [email protected] 5 points 1 year ago (1 children)

    oh, you haven't seen nothing yet. you know the lisp-y, hackable goodness you get in emacs? what if an init system was that hackable, and configured with a lisp? go give GNU shepherd a try.

    [–] [email protected] 2 points 1 year ago (1 children)

    I'm an avid GUIX user, is Shepherd already incorporated into it?

    [–] [email protected] 5 points 1 year ago (1 children)

    Systemd, as a replacement init system, is fine-ish. It's sometimes slow and when it decides a service is lost there's not much to do aside from killing the thing and restarting it.

    Systemd, the full blown ecosystem that wants to replace literally everything by systemd-thesamethingasbeforebutfromscratch however, invites scepticism, especially when there are no particular flaws in the existing versions of things. DNS resolution, DHCP clients, NTP sync, etc. worked perfectly well.

    [–] [email protected] 4 points 1 year ago

    From reading all of these comments, I think I have to agree. It seems like systemd as "the tool" is ok (I know there's some argument there too), but systemd as the project and ecosystem seems to go a bit against the soul of GNU and Unix.

    [–] [email protected] 3 points 1 year ago (1 children)

    "building codes."

    It's like the rules systemd breaks except more noticeable when people have fucked around and now find out.

    [–] [email protected] 4 points 1 year ago* (last edited 1 year ago)
    [–] [email protected] 3 points 1 year ago (1 children)

    Perhaps the most asinine reason I can give, I really like the color scheme and log design used in OpenRC, makes for a very nice init scroll of text

    [–] [email protected] 3 points 1 year ago

    That's a great reason! Why use a computer at all if you can't look cool while you use it?

    [–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

    Easy:

    Less Code in Kernelspace means safer OS

    I want a Mikrokernel Linux. Maybe RedoxOS will be suitable.

    load more comments (1 replies)