this post was submitted on 07 Mar 2024
485 points (96.5% liked)

linuxmemes

21172 readers
909 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
     
    top 50 comments
    sorted by: hot top controversial new old
    [–] [email protected] 85 points 8 months ago* (last edited 8 months ago) (5 children)

    Person: Systemd bad

    Me: why

    Them: IDK

    [–] [email protected] 43 points 8 months ago (11 children)

    The argument is basically that it does too much and as the motto of Unix was basically "make it do 1 thing and that very well", systemd goes against that idea.

    You might think it is silly because what is the issue with it doing many things. Arguably, it harms customization and adaptability, as you can't run only 2/3 of systemd with 1/3 being replaced with that super specific optimisation for your specific use case. Additional, again arguably, it apparently makes it harder to make it secure as it has a bigger attack surface.

    [–] [email protected] 23 points 8 months ago (2 children)

    Sustemd is modular though, you don't have to use every subsystem. The base init system and service manager is very comprehensive for sure.

    load more comments (2 replies)
    [–] [email protected] 21 points 8 months ago (1 children)

    Then again, it doing all those things can lead to those parts working together better because it's the one project instead of a dozen different projects with every distro having a different mix.

    load more comments (1 replies)
    [–] [email protected] 12 points 8 months ago* (last edited 8 months ago) (5 children)

    And funnily enough, the kernel doesn't follow the unix philosophy either as far as I know.

    load more comments (5 replies)
    load more comments (8 replies)
    [–] [email protected] 12 points 8 months ago (3 children)

    I been told it was to big, but if you look at the Linux Kernel, it is huge.

    People also love to say Unix, but Linux is not Unix.

    load more comments (3 replies)
    [–] [email protected] 11 points 8 months ago

    maybe systemd is a verb

    e.g.

    "damn homie got systemd by the opps"

    load more comments (2 replies)
    [–] [email protected] 47 points 8 months ago* (last edited 8 months ago) (5 children)

    Poettering and Systemd are amazing and Linux would not be as good as it is today without them. Whether you like it or not, we can't have a fragmented ecosystem and expect people and companies to adopt it (see the 14 competing standards XKCD). Having one solid base that works the same on every client is like literally the base requirement for making a product for the said client. Systemd, flatpak, xdg-portals, pipewire and immutable distros all solve this.

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

    Here's my hot take: I don't care what operating system most people use. If people are happy on Windows, let them stay on Windows. That's not my problem. When you say we need to make Linux less diverse and interesting to make number go up because more biggerer number more gooderer then suddenly that is my problem. You are trying to make my experience worse for the sake of something I do not care about.

    There is nothing wrong with systemd. Most people on Linux are using it, and that's fine. Options are good too though. I specifically like Linux because it's NOT a bunch of homogeneous lowest common denominator sameyness. That's the very thing I don't want.

    load more comments (1 replies)
    [–] [email protected] 10 points 8 months ago* (last edited 8 months ago) (1 children)

    Ironically, pipewire is built to replace pulseaudio.

    load more comments (1 replies)
    load more comments (3 replies)
    [–] [email protected] 37 points 8 months ago (1 children)

    I'd like to propose a new rule for this community:

    People criticizing systemd to the extent where they promote alternatives (regressions), have to provide proof that they have or are maintaining init scripts for at least ten services with satisfying the following conditions: said init scripts must 1.) be shown to reliably start up the services and 2.) not signal their dependencies to early and 3.) gracefully stop the services 99.9% of the time. People failing to satisfy these conditions are not allowed to voice their opinions on how arbitrary init systems are better than systemd. Violations of this rule will be punished by temporary bans and forcing the violators to fill the entire canvas of a blackboard with "'do one thing and do it well' is a unix principle, not a linux principle" in fine print.

    More lines of semi-reliable init scripts have been written by package maintainers, than lines of systemd code by Poettering & Co, and that while achieving far less. The old init systems might have been simple, the hell of init scripts wasn't.

    [–] [email protected] 11 points 8 months ago (10 children)

    That might have been true a decade ago. I don't actually know. I do know that modern init scripts for modern alternatives to systemd are barely longer than systemd service scripts though. So that's kind of an insane take.

    load more comments (10 replies)
    [–] [email protected] 36 points 8 months ago (5 children)

    To me systemd is fine, I am not really emotional at init systems. But on the other hand Linux is about choice and systemd kills that in some way because it does so much more than just starting services. GNOME is unusable without systemd, which makes it a no choice if you go into another rabbit hole. It’s kinda weird how deeply systemd is integrated in Linux these days. What I really dislike is that the log is in binary format by default which makes it necessary to deal with another tool to read logs. But well software changes, so do tools. But honestly the devs acted like dick heads sometimes, so I think most of the antipathy comes from their behavior and well yes MS now kinda pushing systemd because poettering works for them. I have fear that MS forces the systemd devs to implement things you cannot simply opt out of because it is so tightly integrated. Maybe copilot for writing systemd unit files would be nice though :P

    [–] [email protected] 41 points 8 months ago

    GNOME is unusable without systemd

    It is also unusable with systemd.

    This comment was presented by the KDE gang.

    [–] [email protected] 19 points 8 months ago

    Systemd is very customizable and flexible. I also fine it is faster than anything else. You can also choose what systemd services to use and what not to use

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

    well yes MS now kinda pushing systemd because poettering works for them. I have fear that MS forces the systemd devs to implement things you cannot simply opt out of because it is so tightly integrated.

    How has MS pushed systemd?

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

    That's a nonsense spin of things. There wasn't/isn't a need for Microsoft to push systemd, because it had been adopted by all major linux distributions before Poettering even made the switch. It's a straw that init system luddites clutch at.

    [–] [email protected] 9 points 8 months ago

    I have fear that MS forces the systemd devs to implement things you cannot simply opt out of because it is so tightly integrated.

    What the hell? Code isn't unpatchable, and neither is Microsoft the super evil villain trying to ruin the lives of Linux users that childishly.

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

    I feel like the people who complain about systemd have never tried to mess with sysVinit scripts before

    6+ years ago, I was trying to configure a touchscreen HAT for a raspberry pi, and dicking with the init.rc script was a massive pain

    load more comments (4 replies)
    [–] [email protected] 26 points 8 months ago* (last edited 8 months ago) (3 children)

    Kind of sad there are still people raging over systemd. When it flares up in discussions there is the usual debunked nonsense:

    • it only logs information to binary and this is somehow bad. Except it it can be configured to log to text as well and it uses binary so it can forward secure sign records to prevent tampering as well as offering database style query operations.
    • it's insecure because the repo has millions of lines of code. Except that they compile into hundreds of small binaries running with least privilege, and often replacing the task of far more dangerous processes (e.g. there is an NTP client in systemd which sets the time and nothing else).
    • various rants about the primary author

    What is more bizarre is the nostalgia and hearkening back to sysvinit scripts when systemd didn't replace sysvinit! Systemd replaced upstart which replaced sysvinit. Because writing 100s of lines of script to stop/start/restart a process sucked - insecure, slow, didn't scale, didn't capture dependencies and everyone knew it. Upstart was the first attempt to solve the issue and was used in Debian / Ubuntu, Fedora / Red Hat, openSUSE and others until systemd came along.

    load more comments (3 replies)
    [–] [email protected] 23 points 8 months ago (1 children)

    Poettering works for MS now? That's the best news I've heard in a long time.

    [–] [email protected] 23 points 8 months ago

    You know, it's funny. I don't actually have much of a strong opinion on The Unix Way or Lennart Poettering, and I'm not super fond of Red Hat, but it's not like I'm going to avoid everything they're involved in the maintenance of and still use Linux.

    I do like alternatives though, so I've been trying out OpenRC recently, and I gotta say I really like it. Of course there's a little bit of a learning curve, but honestly it's just simple and fast and stays out of the way, and it's nice to just open logs in any text editor I like. Systemd can do all kinds of crazy things, and if you need any of them then there's no reason not to use it, but I don't, and it's just kinda pleasant to have something nice and straightforward that I actually kinda understand instead.

    [–] [email protected] 20 points 8 months ago (3 children)

    Who the fuck spells developed with two ‘p’s???

    [–] [email protected] 24 points 8 months ago

    It's a mistake indeed. And there's a very logical explanation as to why I made that mistake. The reason's simple, really. Obvious even. So much so that I won't bother explaining.

    load more comments (2 replies)
    [–] [email protected] 17 points 8 months ago (7 children)

    Hi am noob why systemd bad? I use Debian, is fucked?

    Honestly I've been hearing about this for a while now but never bothered to check, I'm too lazy for that.

    [–] [email protected] 53 points 8 months ago (4 children)

    It's not inherently bad, it "fails" the Unix Philosophy of "Do one thing and do it well" but since Linux's kernel is:

    • Unix-like, not Unix
    • Fails this philosophy, as it does more than one thing but does all of it pretty well
    • systemd is just a bundle of tools that do one thing and do it well under one package, like Linux's kernel

    It used to be a mess, but that's solved. The biggest reason to avoid systemd is mainly user preference, not anything malicious. 90% of current distros use systemd as its easier for the maintainers and package programmers to build for the general than each package and each distro having their own methods of how to do an init system and other tasks.

    How Debian and Arch and Gentoo and Slackware and other big distros worked was different, and the maintainers of those packages had to know "Debian's way" and not a general way that most places accept. Systemd actually solved the Too Many Standards! issue.

    I've never really seen a big argument against systemd, but maybe I've just not heard it.

    [–] [email protected] 15 points 8 months ago (2 children)

    It also didn't help that Poettering isn't particularly popular on a personal level. I think there would have been a lot less drama if he had better people skills.

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

    Yeah, but to be honest, I would have terrible "people skills" too if people sent me death threats over writing a free software.

    [–] [email protected] 10 points 8 months ago

    Doesn't take much to get death threats on the Internet, unfortunately. He probably would have received less of them with a better attitude, though. He wasn't full-on Ulrich Drepper, but still pretty divisive.

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

    back when you had an init system and you got it just the way you wanted it, you would be pissed that you had to move to systemd

    now its there when you install and it is stable so it isn't a big deal. But old beards hate change.

    load more comments (1 replies)
    load more comments (2 replies)
    [–] [email protected] 23 points 8 months ago

    No one knows to this day

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

    I highly recommend you check out this video

    SystemD is not really bad. Like 90% distros use it, and for good reasons. Some people just pointlessly hate it on it, same way some people like to hate on Wayland too.

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

    I believe partly because it takes over so many responsibilities that it becomes a requirement for things that don't need to require it. Plus it diverged from the Linux principle of do only one thing.

    Also, afair, it was buggy for a while.

    [–] [email protected] 10 points 8 months ago* (last edited 8 months ago) (2 children)
    load more comments (2 replies)
    load more comments (3 replies)
    [–] [email protected] 15 points 8 months ago (4 children)

    I am fine with systemd. It works. It is more complicated than init.d

    Before you copied some random file you edited and put it in init.d and it worked. Now you copy some systemd services file into systemd and run enable and start and it doesn't work because you don't know what you are doing.

    I didn't know what I was doing in init.d too but now I have to learn systemd services. Once you know a bit it will work then (probably)

    [–] [email protected] 24 points 8 months ago

    I disagree. Before I had to copy and edit a huge-ass script (100+ lines) in init.d where 80% of it was concerned with PID files. I just want to start a process on boot, why is it so hard?

    Now I can look at the documentation and write a simple unit file myself. It's like 4 lines.

    [–] [email protected] 13 points 8 months ago* (last edited 8 months ago)

    init.d wasn't really what you'd call an "init" "system." It was shell + conventions about how to write shell scripts to manage each service. It effectively offloaded most of the work people wanted an init system/service supervisor to do onto developers that just needed to ship a system service. To be honest, it was insane. Templates/patterns/best practices emerged, but at the end of the day, init.d was just shell, and it caused tons of problems.

    The extra complexity of systemd is in exchange for dependency management, service supervision, tons of things that are important/desirable for sysadmins/developers today, but are all far outside the scope of init. I'd much rather cope with the extra complexity of systemd in exchange for being able to write an actual service definition file.

    [–] [email protected] 10 points 8 months ago (2 children)

    Before you copied some random file you edited and put it in init.d and it worked.

    Before you copied some random file you edited and put it in init.d and it appeared to be working but then failed in random ways the first time you restarted, the first time you rebooted, the first time you restarted it via sudo instead of directly as root since some environment variable differed,...

    So really it only appeared to be working in my experience because you had no real way to check.

    load more comments (2 replies)
    load more comments (1 replies)
    [–] [email protected] 12 points 8 months ago (1 children)

    Me who doesn't know what it is and just uses it because it came with my distro

    load more comments (1 replies)
    [–] [email protected] 10 points 8 months ago* (last edited 8 months ago) (2 children)

    I mean I've briefly tried some of the modern distros that go without systemd recently, and honestly they just felt like I went back in time except they weren't even the same as then so I had no idea what I was doing without reading documentation that is imo much worse than the arch wiki.

    And as a bonus fuck man pages as I can't in a pleasant way put them into my 1000s of categorized browser tabs for research and topic switching while being able to return without starting over.

    [–] [email protected] 14 points 8 months ago (3 children)

    OpenRC seems quite straightforward

    load more comments (3 replies)
    load more comments
    view more: next ›