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

linuxmemes

21019 readers
329 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] 79 points 11 months ago (10 children)

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

    [–] [email protected] 45 points 11 months 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 11 months ago (3 children)

    for no good reason

    I think the reason is that almost everyone uses systemd

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

    Circles are superior geometric forms. Peak design!

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

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

    load more comments (1 replies)
    [–] [email protected] 2 points 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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] 4 points 11 months ago* (last edited 11 months 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 11 months ago

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

    [–] [email protected] 2 points 11 months 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 11 months 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 11 months ago* (last edited 11 months 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 11 months ago (2 children)

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

    [–] [email protected] 7 points 11 months 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 11 months 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 11 months ago* (last edited 11 months ago) (2 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 11 months ago (2 children)

    Is it difficult to replace systemd?

    [–] [email protected] 10 points 11 months 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 11 months 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.

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

    Lennart Poettering being completely unable to fathom why anyone would ever want to use any piece of software other than his

    What's behind this? I'm sure it's definitely not 100 % a single guy working on systemd, and tbh hating software because of the person who wrote it seems rather silly.

    And what about those API changes you mentioned? Genuinely curious, I thought it always at least mentions them in release notes during betas.

    [–] [email protected] 1 points 11 months ago* (last edited 11 months ago) (1 children)

    It appears I was mistaken -- systemd does announce changes to internal interfaces on their mailing list although I can't be bothered to find out how much warning they give -- but I believe my point stands. Regardless of whether he gives adequate warning, he's still very much a dick about it ("gentoo users, this is your wakeup call") and he still seems to be doing the embrace-extend-extinguish thing. It used to be possible to run systemd-logind without systemd -- it no longer is -- and that mail I just linked is about making udev hard dependent as well.

    Of course Poettering does not do all the development himself, but he does lead the project and it is his hubris and inability to accept that one size does not fit all that is responsible for the project being as hostile to outside implementations as it is.

    Again, it's not the systemd project making alternatives to widely used applications and daemons (or even bringing development of those applications under the systemd umbrella) that I mind. It's Poettering's "my way or the highway" attitude and apparent belief that if your system is not either 0% systemd or 100% systemd then you do not deserve to have a system that works.

    [–] [email protected] 2 points 11 months ago

    “gentoo users, this is your wakeup call”

    that was from 2014.

    As a gentoo user, he can go eat some dicks, my system today runs just fine.

    load more comments (2 replies)
    [–] [email protected] 11 points 11 months 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 11 months 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 11 months ago (1 children)

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

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

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

    [–] bdonvr 6 points 11 months ago (2 children)

    I think it would be pretty easy to qualitatively test this

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

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

    load more comments (1 replies)
    [–] [email protected] 3 points 11 months 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 11 months ago

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

    [–] [email protected] 10 points 11 months 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 11 months 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 11 months ago (1 children)

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

    [–] [email protected] 2 points 11 months ago
    [–] [email protected] 5 points 11 months 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 11 months 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 11 months 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 11 months ago* (last edited 11 months ago)
    [–] [email protected] 3 points 11 months 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 11 months 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 11 months ago* (last edited 11 months ago)

    Easy:

    Less Code in Kernelspace means safer OS

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

    load more comments (1 replies)