Systemd is a suite of basic building blocks
brand.systemd.io
brand.systemd.io
It's on AA
Administrators Anonymous?
Is that where the alt.sysadmin.recovery crowd go now?
So was linux before systemd.
Choice is good.
https://linuxstans.com/best-linux-distros-without-systemd/
https://www.without-systemd.org/wiki/index_php/Main_Page/
https://without-systemd.org/wiki/index_php/Linux_distributio...
https://bugs.launchpad.net/upstart/+bug/406397/comments/21
https://bugs.launchpad.net/upstart/+bug/447654/comments/6
Secondly, Canonical required copyright assignment for any contribution to Upstart, and Lennart/Kay decided that if they basically have to substantially rewrite it to fix the broken architecture, they better do it in a new project with no copyright assignment barriers.
See the comments in this thread by Upstart author and former Canonical employee Scott James Remnant:
https://web.archive.org/web/20140928104327/https://plus.goog...
Had the CLA not been in place, the result of the LF Collab discussions would have almost certainly been contributions of patches from +Kay Sievers and Lennart (after all, we'd all worked together on things like udev, and got along) that would have fixed all those design issues, etc.
But the CLA prevented them from doing that (I won't sign the CLA myself, which is one reason I don't contribute since leaving Canonical - so I hold no grudges here), so history happened differently. After our April 2010 meeting, Lennart went away and wrote systemd, which was released in July 2010 if memory serves.
And if I don't want a building block like logind or journald, can I not use them? Can I take those blocks elsewhere, like over to FreeBSD and use them there?
SystemD is not "building blocks" — which implies modularity — it is a monolith: components cannot be added or taken away or replaced. The best you can do is maybe run disable --now. (I'm at least thankful I can usually do an apt purge resolved.)
There's posts on using systemd for this or that, which are fine, but it feels like the pro-systemd camp doesn't find or make opportunities to rally, to express ths vision, where-as the anti-vision (as ever) sells itself, is a magnet that makes common party out of all dissent.
It tends to be the anti-systemd people who keep saying its not just an init system.
But if you yank out the "brand" from the URL you'll get the actual site.
But they are also very old, and there's very few efforts I've seen to pitch and promote systemd. It's found and enjoyed by a lot of people (particularly those who had to deal with the tangled haphazard sprawl of cobbled together systems from the before times), it makes nicely visible what is happening on the system, integrates cgroups and good least capabilities practices.
But it feels to me like there ought be more ongoing and vocal celebration of this, enjoyment of this. More rallying points that trumpet the wins, that page people in to how nicely this helps. I want to see more positive tech advocacy, is what I'm saying. This is a fine site, yes, with lots of discussion. I've enjoyed decades of Lennart blog posts too. But I wish there was more. I wish this submission was a blog post of the same title. A fresh take, a fresh spin, on such a worthy-of-treatment topic.
There is NO good overall diagram of all the moving pieces in systemd.
I'm not aware of this sort of parading in open source software. Do you have a past example? I see it as competent people using things that they want to use, with the "better" being preferred, for whatever reasons (including momentum). "Advocating" for an init system seems like something that should be entirely and completely by merit, with maintainability, debugability, and fragility probably being the top metrics for most systems, speed being important for anything with a human sitting in front of it.
Technology should be highly social. Especially open source! It in unique-for-technology ways gives us something real to be social over. We can share and unfold and unpack.
This isn't entirely what you are talking about but Architectures of Open Source is still one of the best "what is this" explorations of the tech world out there. I think good advocacy has a lot of these elements (if not so total) in it. In ways that can show the bigger pictures, which AOSA at it's best does! https://aosabook.org/en/
This is just a descent into more fervor, saying nothing. Let's skip the stupid lawyerly word picking of zero value contestation. Please.
I think the macro subject stands. In neither the old world where everyone was doing their own thing nor the new one where >50% use systemd to run a significant amount of their systems: in neither case was or is there a strong practice of sharing and doing the work of exchange (certainly not without counterexample, yada yada, and I've already provided some in other threads, namely AOSA, but I stand by my assertion here). We can ignore which path is better, and simply say: both paths should do more to create broad discussion, ideally that is constructive, that covers what is working, the big picture outlook, and the negative sides of the world they're living in.
I think of that as rallying not to zealotry, but as rallying to understanding, trying to draw people in, so we can see and perceive what are in fact stable, alluring points of the world. So that we can let people know what an option might be. I think the Din and Darkness is winning against those who want to gather and protect the light. The anti forces are everywhere and persistent, the doers are quiet and busy. Civilization would be healthier with more deliberate work to share the light, to show and exchange specifics (as most systemd touching blog posts do) but also broader pictures, wider stances.
[1] https://www.youtube.com/watch?v=yxhJA2uRr_g
[2] https://opensource.com/downloads/pragmatic-guide-systemd-lin...
[4] https://medium.com/@sebastiancarlos/systemds-nuts-and-bolts-...
They're spending their time build and improving systemd's set of building blocks.
Just stay heads down and keep doing the world, don't share, dont socialize has been the plan so far in a lot of open source. And I think the outcomes would be better if we tried methodologies other than this. Freaking weird that this is just accepted.
If people feel like it's an oppressor, something they don't understand that has rolled in, and now defacto is (is shipped in every distribution of note): it feels like a Military victory. Over them. It sparks no joy.
Appealing to the nerds can be a strong science victory. Preach all your amazingness. I personally can go on and on and on about how awesome it is that systemd offers workload isolation, least privileges, cgroups for juggling priorities. I love that mdns kind of just works for me, and integrates well with my resolver. There's little science-y reasons.
But there lurk Two Cultures problems everywhere. And figuring out how to bridge the technical to the world, how to sing praises, how to get the world to be interested in relating to, engaging in, giving it the ability to share in some of your wonder and awe: that is what turns Science Victory into a Cultural Victory. And it's what good worthy interesting projects deserve. And it should be an act we do, and help build. We should make appeals to the world, try to get them interested in relating to the upsides, and the downsides to, to give them something worth engaging. I feel like the negative creeps have absolutely slammed their way to Two Cultures wins, to appealing to the world with negativity, and I think some more deliberate, caring, thoughtful work and blogging would make a huge difference in building cultural momentum, in sealing in what ought be a Cultural Victory. That those who know systemd reasonably well largley agree with already, but that many people do not see or understand.
(Am I missing other victory types?)
So.... mDNS works out of the box on any glibc system with libnss-mdns and a running avahi-daemon - not "kind of" works, just Works. cgroups are a kernel feature that is quite straightforward to use without systemd. "Workload isolation" and "least privileges" are vague but seem to me to just be describing cgroups again, or just general permissions. I realize that this was an off the cuff remark, not a blog post in defense of systemd, but you must know that every time a systemd skeptic reads a list like this, full of "features" that work fine without it, the impression is only further reinforced that what systemd really provides is marketing.
"cgroups are a kernel feature that is quite straightforward to use without systemd". Oh, you've used cgconfigparser? You run your services via cgexec? You found cgrulesengd to be pleasant and productionally operizationable? Or did you have a bash /etc/init.d/set-my-cgroups with 30 hardcoded lines of things twiddling /sys/fs/cgroups files? C'mon my man. No one did either of these! Or at least very very few! Today Cgroups work incredibly well, out of the box, with no thought, and have a very sensible coherent pattern of use, that benefit all Linux users. And which is incredibly tweakable. Since systemd. Because of systemd. You're not being remotely intellectually honest & your suggestion that this was "straightforward" maybe comes from you being a master sysop with decades of experience for who this came second nature, and if that's so I think you have no idea how most code ran. But I think you are just blowing smoke, making up nonsense.
I too ran years of libnss-mdns and avahi-daemon (another Lennart project btw). It worked for a decade, was fine. I'm glad systemd-networkd (advertising) and systemd-resolved (finding) just integrate these concerns for me, alongside everything else they just integrate amazingly, a drop-in file like everything else if I want. It's easier to scope & keep on top of which networks I do what mdns on. This is the weakest win of these three but it's still to me a sigificant win.
To reframe: I realize that this was an off the cuff take-down, not a blog post in aggression of systemd, but you must know that every time a systemd hater tries to throw salt like this, full of "do we really win" that no one ever did before, the impression is only further reinforced that what the haters really got is nothing.
Systemd composes incredibly well, with the way etc drop in files work. With the consistency of how it has different unit types that work together. With how units can BindsTo= and have After= and other patterns. There's a pretty amazing toolkit here that relates multiple parts together to form a very cohesive explorable and regular system, that many people know and understand. It helps you make really good use of all sorts of kernel capabilities like cgroups, like their namespaces, to help you juggle/constrain annoying system-hogs, to maintain better responsiveness, to lock down access to daemons. This is still just the tip, of a mono-repo of many projects all of which have common operational patterns and nice tooling, almost all (except to much hew & cry & perhaps rightfully so: journald) of which be disabled. "Just marketing" is a statement professing profound disconnect & ignorance.
Why would they? Their leader was always "I know better than you, now f off". This kind of approach doesn't need any rallying or evangelism at all.
> thousands of servers running just fine
Err yeah well you might have noticed these things called "laptops" and "desktops". SysVinit was... fine.. on servers. It worked badly on desktops and not really at all on laptops. I'm pretty sure the post introducing SystemD explained it all in detail if you want to learn something.
The issue with Linux on the desktop, and especially the laptop, in the pre-systemd days wasn’t the init system. It was the lack of quality drivers.
Now I’m not saying that systemd hasn’t brought improvements over sysv. But to say bash worked badly on laptops but fine on servers is just silly. That’s simply not how the technology works at all.
And I don’t need to read some promotional piece from Redhat to know this. I’ve been running Linux on desktops and laptops longer than many adults have been alive. So I’ve lived through these massive ecosystem changes and have a first hand account of life before systemd.
There is difference between mandatory one implementation and set of funcionalities. Systemd is monolit with visible parts that provide somewhat modern funcionalities in 'nix world.
And there is no serious developers in 'distro' space, except RedHat. And, really, there is no such thing RedHat we have in old Linux days - it was devoured and we just have a label doing corporate propaganda.
So when few modern init systems were hatching RH dropped systemd and, as RH is main force in distros development, it gained dominance.
And since then thing are getting worse.
Eg. cgroups ? systemd first used them and so much hype happened. But is it deserved hype ? No! They implemented cgroups v1 when cgroups v2 was available. And cgroups v2 usage was blocked for years. In systemd too.
Do not make mistake of not seeing difference between good and modern functionalities and one codebase with funding that block real development.
Edit: formatting*
However upstart was totally reasonable.
I think we just have different ideas of what the term "building blocks" means.
You cannot add (or remove) part of systemD as you wish: on a Linux system I cannot replace journald with something, and I cannot bring journald over to FreeBSD. SystemD is tightly-coupled (heck, they even borg'd in udevd, which was an independent project at one point).
Building blocks in my mind are like Legos: you can put together the thing you see on the box, but the individual (literal) blocks can be used however you wish.
I guess I just never cared to actually LEGO much with Linux.
Total and utter propaganda, it's underdeveloped steaming garbage
An Army unit crossing rocky and muddy terrain might want tracked vehicles and tanks. I don't need that in a vehicle I drive 10 minutes to the office in the city.
And here's me thinking it would be a lot of fun...
I don’t need it all the time, but that doesn’t stop it from being useful.
You need to go back for remedial logic.
It's unbelievable to me to hear people advocating for not having good broadly usable systems, to advocate that sysadmins really should spent their time and energy building bespoke custom cut weird poorly invested in little things to suit their own fancies. It's not helping the company to do this. And to me it's such a weird antisocial vibe, that is radically vocal, that shows up all the time to proclaim everyone everyone else is doing the wrong thing by working together and making tools that fit together, have cohesion. Theres never any suggestions for how or what that looks like either, just the image of not working with others is the only thing presented to sell itself. This is din. This is havoc. This is hell. Don't do it people. And alas, we have to endure this attitude every single time. The forces against cooperation are doggedly persistent and vocal. The forces for just build your own thing, this unreasonableness, is radically overrepresented.
This is why I was so hopeful this submission was going to be a nice new post kind of re-selling where we are today with systemd. Because the pro-social forces are weirdly not bothering to get the social / cultural victory. And those driving us apart telling us to each do our own thing, figure it all out yourself: they are endemic, dime a dozen on social media.
What use cases of "proper server management" does fucking with my resolv.conf(5) solve?
If I have a laptop I can perhaps see updating values per DHCP or IPv6 RAs, but once I set up a server up why the hell is it a link to /run? (I once had to use chattr +i because of brain dead "cleverness".)
In over thirty years of running Unix-y systems I never needed my resolv.conf "managed", so I have no idea why Ubuntu (for one) defaults to fiddling with it.
For one, it avoids telling all processes and their mothers the IP of the DNS resolvers they should query, but hands them 127.53 instead. If you then update your resolvers using systemd-resolved, for example because the network changes to a failover line, or because puppet pushes an updated catalog, or you want split DNS for a VPN (like, send *.corp.local to the internal DNS server or something), that is all pretty easy. There are more use cases on servers, but of course you most obviously benefit from this on laptops that roam between WIFIs with different upstream DNS server config.
And moust importantly: why they make everything more stupid and windows-like trash ?
And I assure you: what you described as "easy" is not true. I is just few basic usecases they baked in. And when you neeed something a bit more specific in some direction you are not allowed to have that.
Systemd is a trash, atm.
What "all process" are you referring to? What kind of software on Unix-y systems is not using gethostbyname(3) (or similiar)?
(And the context of this sub-thread is "server management", which I'm not sure how often has VPN running on it and doing things like split (horizon) DNS.)
The basic core service supervision in systemd is great. And nearly everything else around it is bad as a result: command-line utilities, filesystem mount handling, virtualization integration, network configuration, etc.
Just look at systemctl's `--help` if you don't believe me. Why does it have `service-log-level` to set the log level for the target, but not a way to actually _view_ the logs? Or why does it have a top-level `--firmware-setup` flag?