| We can argue about which has better docs, but, to me, systems offers a uniformity of practices and a consistency of service offerings that was never the case before. Ever company used to have to make its own decisions about what logging solution to use. Each one had its own configuration paradigms! Every single daemon had some kind of bespoke /etc/init.d/ script that had its own rules and practices, having either forked off some other skeleton or having been made on it's own at some point. And then companies wanted to do the right thing and apply some capabilities restrictions to processes. They wanted a little more than out of box security. That results in every company forming and modifying init scripts, changing the configuration paradigms, encoding config directly in or inventing their own new parameterization. The fact is I don't have to look at docs any more, because everything has a (pleasant) uniformity. The fact is we are worlds better at securing and locking down our processes, because systemd has incredible built in options for capability, sandboxing, and other fantastic security processes. > There's just SO MUCH to grok in comparison. There always was before too. Most people skated along the surface, but when some daemon tried to actually have better practices, do some security tightening, operators were in for that exciting rabbit hole of trying to catch up and learn. Or just hand wave it away. I think this statement really iconifies the systemd resistance really. Yes there is so much (imo: enjoy it, isn't that so great?) It's many many many latent possibilities (for you to over time learn): it's so often what the kernel is offering you, it's well exposed, and you have a pleasant uniform system for harnessing that, that you only have to learn once and which can pay dividends again and again and again once you learn it. Learn once, use many. Or just ask your LLM. It knows. It will just tell you. It won't have to read docs or source. It knows systemd very well. Because it is something shared, something known. Imo it ought be something treasured. I'm fine if some day we get rid of systemd. Nothing sacred here. But to attack it, it must be attacked from above. It must be replaced by something with more principled and more capabilities. Same as Kube. Neither is going away, neither will ever be displaced by smaller offerings. The only way out is through, the only way out is up. Godspeed, good luck, have fun. |
| |
| ▲ | jauntywundrkind 2 days ago | parent [-] | | > IMHO, any competent sysadmin, when is installing the system, would edit all those templates into the exact shape the system and the user needs That, IMHO, is the other 90% of the problem (to riff on the ninety-ninety rule). Every competent sysadmin has their own particular style & preferences & opinions about what the exact shape should be. And will go rewrite the world, according to some particular set of tastes, that they usually won't write down or document or socialize. So not only do you have to figure out all the special sauce in how the service you just walked in to is managed, you have to wade through a complete re-architecting that some sysop made on their own judgement 5 years ago that people have patched and hacked since. You can keep adapting to these scenarios. But to me, the normativity, the incredibly great toolkit of options it comes with: yes it's sizable, but it's one thing that I have to learn, that is usually a direct representation of something the kernel gives me, that will then be familiar and portable and useful wherever I go. This feels so much more civilized than what came before. | | |
| ▲ | M95D a day ago | parent [-] | | I'm no sysadmin, except for my own systems, but I think that the vast majority of systems are fixed-config for their entire lifetime. Deployed once on VM and stays the same until it's no longer needed. So every sysadmin can just set them up in whatever way he wants with no obligation to make it understandable to the next guy. The VM will be deleted anyway when no longer serves it's purpose. That being said, I do understand the need for some standardization. But you missed this part: > doesn't mean that this systemd that is fit for them is also fit for everybody else. They practically forced everybody to use it, and not just the service manager, everything else too: init, logger, network, login, dbus, etc. | | |
| ▲ | jauntywundrkind 15 hours ago | parent [-] | | systemd is a mono-repo with many interesting great useful projects that all make use of common libraries of functions so that no matter what tool you are using, they all work alike, they have predictable config interfaces, they have predictable operational patterns that work everywhere. thats a huge win for people who would rather have some overlap on the diagram of tools, than those people who (in their depraved madness, in my humble opinion) prefer zero overlap zero commonality zero familiarity as they snap together the different services daemons and handlers of their system. this is exactly the uniformity debate again and it's brilliant beautiful and blissful that there are scalable patterns that you can learn once and use again and again, as a developer, as an operator. you either already knew and concealed, or you really don't have any clue at all, that those various tools you list are, in many cases pretty optional! the etc list is long there, so it's a little less clearly stacked towards optional (systemd-run/run0, systemd-home, systemd-nspawn, and so many other excellent robust great solutions that are optional). let's walk through your list: the logger getting thrown in has indeed be a considerable point of contention. there's reasons not to be happy. i'm surprised no one juggles a fork that tracks main and does better, given how much vitriol and tears and bile have been shed over this, but yes it's still deeply integrated and it's kind of mediocre. to it's credit, part of what makes kubernetes such a compelling powerful force is that it is controller driven, and it does ok (not great) at a core requirement there: to find & track health status, events, so it can loop / autonomic itself. it's a scalable pattern that all software operations need. i don't know how you do systemd without having some kind of logging. i get that people don't like binary logs, don't like needing it, but a PID1 that doesn't have a consistent logging pattern is going to suck, and something had to be done there. maybe a more modular path could be explored. it would take so little effort to FAFO, to drop something else in, but no one did bother, and even in the LLM age, they still don't bother. the tears over this just feel so hollow today. dbus is weird to put there, because dbus predates systemd and was already in most places well before systemd. it has been a core part of FreeDesktop for a long long time. there are some interesting desktop spaces not under that umbrella, but none that seem to try to make something similar or better. they just do without. they just don't let programs talk. they are alone. now, i'm down for a KDE DCOP revival to see about replacing dbus; that would be fun, it was great machine-to-machine user experience, imminently automateable applications were amazing, unlike dbus, which is all under the hood (xopc excepting, still a gem in my heart for that, you crazy diamond). i would not characterize dbus as some you were forced to use it system. it's everywhere because it's damned useful and no one has any better ideas worth considering. agin, especially in the age of LLMs, the haters have every chance in the world to show off possible better futures, and dbus is still the desktop bus and no one is trying to disrupt that. network and login and boot are all very optional and you can very much work without them. there's good alternatives for login that are drop in implementations of the very simple login services, so you can just do the core seats/sessions stuff however you want. lots of people do. login is an anti-example: it turns out replacing systemd components that are fairly integral with your own was actually quite easy. there's plenty of alternative boots, and always have been. i'll remind folks that systemd-boot wasn't even a systemd project: they just folded gummiboot in because it was so good, it still is nearly fully independent of systemd to this day but well maintained alongside systemd. there's plenty of network config systems/options, but, lo, people keep choosing systemd-boot. because its straightforward, well thought out, and once again does a far better job exposing the universe of different link and network types than anything else has and has a "you can just [do that]" superpower to it, because the text files are easy to work & drop-in config files rock the casbah. because it's ridiculously straightforwards and direct and such a breath of fresh air, such a simple easy to use text-file based joy compared to the demon nightmare zalgo geiger world of Grub, curse it so. i do really really believe in a diversity of ideas, that we get better by finding lots of diverse interesting options, by resisting stagnation and getting stuck. i've posted some other posts to this, within the past week, over many years too, but, i really think we need a coalittion of people who are willing though, and not so much anti-willingness. people who want bigger better more bold, and who have constructive hopeful forward upward directions they want to go. open source as social glue is incredible impressive and helpful, has been such a net win, and we really are in such a better spot from kubernetes, from wayland, from systemd, from linux, from shells, that we all speak and know and that expose broad beautiful capabilities to the system up above it. and all of these processes have been somewhat difficult, are not decisions to take likely, and our outcomes are not 100%, that we could do better. but we still need to keep exploring frontiers and trying new things, nothing is sacred. i just really wish we saw a higher valence of concern & critique, that, when it came in, instead of coming in hot, could relish and enjoy what is, and suggest where to now, what above? it feels like all these magnets for hate have only eroders, only people angry that the world didn't stand still for them, angry that we don't all get to whiddle our own little beautiful weird quirky partly working never anywhere nearly as well tested or legible, never as communal system to their own content. i want room for those beautiful twiddlings, but it needs to matter, and it needs to compete with and exceed the mainline, as the mainline improves, advances, expands, for the greater common good. if you think you can provide greater common good, i need to see you explain how, and i highly suggest you have an answer that scales out, that improves conditions widely, that builds a better state of the art, that looks forwards. | | |
| ▲ | M95D 9 hours ago | parent [-] | | Too long to comment on all items, but here's a few. - You're right. I don't know much about systemd. It's incompatible with my view of how a system should behave so I refuse to use it. In fact, I'm more likely to use Windows 10 than a Linux with systemd. I can airgap a Windows and it's still functional. I can bring in games, programs, updates with a USB stick. On Linux this is borderline impossible. - It is very difficult to replace systemd components on system that come with it preinstalled. Too many packages are built to depend on it's ecosystem. That's why most haters describe it as a cancer. I know this because of all the shit I have to go through to avoid them being pulled in on my systems. - I see dbus+udev+ATK as infrastructure for spyware and systemd hard-depends on it. Everything that happens in a system, including user inputs, pass through that, and the default configuration doesn't follow zero-trust / least-privilege principles. It follows "it-just-works" principles, which are the exact opposite. The way any spyware would spy on Linux system would be through these 3 components. One compromised program connects to that and everything gets leaked. Also, the default configuration is set by the package manager. Do you remember that Ubuntu had an unremovable system package called "popularity-contest"? A distro that goes enshittified may add tracking, telemetry, etc. with no user knowledge. Unfortunately, everything already wants dbus. Even Firefox wants to manage my wireless connections. Enormous breach of privileges and everybody just accepts it. - "greater common good" - No, browsers managing wireless isn't greater common good. Auto-starting services or a network connection because some app depends on it isn't greater common good. Players that publish currently playing song on dbus isn't greater common good. It's greater Google good (replace with your workplace or your favorite trillion$ corp). There's a difference. I'm sorry you can't see it. Greater common good would be a system where the user is always root and programs are always in their own namespace/container/VM with no possibility to talk to each other unless the user manually (not automated, not by default, not even by a confirmation) sets up a communication channel. A greater common good is a system where the user can't get an "access denied" changing a system setting, not because it has permissions, but because permissions don't apply to users as they interact with system settings, admin-utils, system files. Unfortunately, Android is closer to this principle than GNU Linux. - Can't fork systemd. 1) Because Gentoo with all their resources, paid programmers, knowledge, etc. couldn't even keep eudev alive. You expect some guy in his weekends to maintain a systemd fork?? 2) Because it's pointless. The only useful fork would be a collection of stubs that fake it's presence to allow cancer-infiltrated programs to compile, but do absolutely nothing they ask (or fake it). Firefox wants to connect to bluetooth? No bluetooth nearby. Wireless? We're on an airplane. Location? North Pole. |
|
|
|
|