• 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: July 26th, 2023

help-circle
  • One of the main draw of NixOs is the reproducibility of builds, meaning that redoing the build will provide the exact same output each time, so Nix encourages you to make configuration changes through the package manager. I’ve mostly overcome my theming woes with home-manager now, but this comment was speaking to a little wrinkle I had when I was trying to learn and take advantage of the OS’s features as best I could.



  • I understand what you mean. If you are on the fence and not super interested in init systems, you can pretty easily get by with systemd without thinking about it. Most desktop environments have tools to manage user services in easy GUI’s, and you can find guides for anything more advanced you want to accomplish with them usually.

    If you want to dive in though, systemd is a great init system to learn. Nowadays learning systemd is a lot less of a moving target, and it’s in use virtually everywhere so the knowledge is valuable. It’s also fairly well documented at this point, which is great for learning how it works.

    My personal advice if you want to go that path is to just open up some service files. There are lots of interesting examples in /lib/systemd/system Systemd service files are just plain text, and pretty straightforward to read. Its divided into nice sections, and naming is pretty straightforward (Or the systemd brainworms are really in deep). Look for names you recognize or programs you use. Especially ones you are familiar with on the command line. I don’t recommend changing them to start, especially in the system directory, just open a couple and you should quickly start seeing the connections between what they are trying to accomplish and whats in each file. Then if you see anything you don’t understand or peaks your curiousity check the documentation. Once you’re ready try writing one of your own for something in the usr service directory. No pressure though, its not necessarily essential knowledge


  • 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.


  • You can look up Lennart Poettering yourself, but he was also involved in PulseAudio which if you learned Linux in the 00’s might give you pause, and has had some minor beef with Linus Torvalds before. His Wikipedia page has something like 5 paragraphs for controversies and 2 for his actual career.

    I think focusing on him is a mistake, but I also understand people who were still mad about PulseAudio latching on to him if they also had issues with Systemd. This article goes into some of it, but I can’t vouch fully for its accuracy. I will say that the dates of 2008 for PulseAudio’s release and 2012ish for when it became actually fairly functional lines up pretty roughly with my own memory, and systemd was released in 2010 and adopted by Arch and Debian in early 2012, so PulseAudio was barely fixed before the same developer started pushing Systemd, and succeeded in getting the normally very conservative Debian developers on board.

    https://linuxreviews.org/Lennart_Poettering#So_Much_Drama



  • I see way more posts that are pro-systemd than anti these days, so I think you might be tilting at windmills a bit.

    I would love to think about systemd less, but I’ve worked with it professionally since a year or so before Debian switched while I was an intern working in embedded. I got to see the flame wars and shaped my opinion of systemd by wrestling with its growing pains. Writing your own service files and working with DBus was ass back then, and while it has gotten better, my patience with it has diminished. In the end the frustration was enough that after I ditched windows, systemd was the next to go.

    That would be the end of it, but other programs keep growing annoying systemd dependencies or their projects get swallowed up by the systemd ecosystem entirely. I was so excited at the start to work with the parallel execution and dependency management, but the number of times systemd broke something, swallowed up the output, and then corrupted its own journal and lost the logs really turned me against it.