About the true purpose of systemd

I've been involved with #GNOME, #KDE, #freedesktop and #postmarketOS, ...

I've met @pid_eins and other prominent figures behind closed doors

I can confirm from first-hand experience that systemd is indeed a conspiracy to make better operating systems with Linux

#systemd #Linux #postmarketOS

@sonny @pid_eins

The purpose of a Systemd is what it does 😉🤷‍♂️

@sonny @pid_eins it's crazy how once we realise we all have the same goal we want to work together more. Kinda suspicious if you ask me 
@sonny @pid_eins I can't believe systemd would do this, I'm in shock.
@sonny @pid_eins
Well, is a single big software to rule many aspects of a Linux distribution a good thing ?
I can't understand how it could be a great idea.
We tend to forget the "do one thing and do it well!"
I have nothing against systemd and its purposes but I would prefer simplicity over too many functionalities.
FQA 0 - Introduction To Plan 9

@cenbe @sonny @pid_eins Thanks for reminding about Plan9.
I was thinking of trying it out but was lost in its history and the fact that neither its forks made it to the market AFAIK (I can be wrong). But in our era, is it worth trying and what are its real use cases actually ?
@apexdynamo @sonny @pid_eins Is it though? Last time I looked, systemd wasn't a monolith, but a set of more specialized tools.

@shine @sonny @pid_eins

I'll explain my concerns.

- At first, I thought that it was just an alternative to sysvinit, runit ... even though existing init systems / process managers were fine.
The freedom of choice like we all want to have.
But no! It's not just a init thing. It's about controlling the system. Note that I felt in love with the name.

- Systemd : 1 package with many functionalities (tools) controling many building block for a Linux system (part of this definition came from its website)

- No code is really bullet-proof, and a single package that has control over many parts of the system can lead to a larger attack surface and a bigger impact IMHO, No ?

- And hey, why the heck do we have to deal with binary log ?
Why not the usual plain text stream. We have to rely on systemd tool to operate on them. As a sysadmin I have to do some "witchery" operations on logs stream and it is not helpful in many cases as I want to use other tools for some direct manipulation on it.

- Speaking about choice, will we always have the choice to go for another init system if the packages in the distribution we used to work on is totally dependent on systemd ? What if this extends to the whole Linux community ?

Doesn't it sound like a kinda systemd-centric ?
Couldn't it be a bit freaky ?
Where is the good old "Free" ?
Adding to that, the "Open Source" starts to fade on some software that used to be Open, actually.

- All of that doesn't help for saying that systemd will make Linux a better OS.

@sonny @pid_eins I still think using makefiles for init script ordering, state changes etc is more elegant 8)

@etchedpixels @sonny @pid_eins OFC if your System is as brutally simple as @OS1337 that may be viable...

Foe everyone else who just needs to "get s**t done" it works...
https://infosec.space/@kkarhan/112073130036144096

Kevin Karhan :verified: (@[email protected])

@[email protected] @[email protected] EXACTLY THAT! #systemd sadly is a "necessary evil" at worst given the #SysVinit sucked and still sucks... https://www.youtube.com/watch?v=o_AIw9bGogo

Infosec.Space
@kkarhan @sonny @pid_eins @OS1337 It's surprising how much you can do with make. We used it for an embedded appliance and all sorts of events and system states were all done with "make state". As GNU Make can also do parallel make including sub rules it actually makes a very powerful replacement for init and any other event driven configuration and response.
@etchedpixels @sonny @pid_eins personally I just avoid the GNUtils as much as I can, but I don't deny that your toolchain will provide good results espechally on embedded distro builds...
@etchedpixels @kkarhan @sonny @OS1337 make isnt even good at what make is supposedly good for... There's a reason why so many projects switched to ninja.
@sonny @pid_eins i dont mind choice. but making software hard depended on systemd is not helpful long term. as long as openrc is fully supported in postmarket os i dont mind systemd support. i do mind gnome and plasma betting everything on horse. and this horse has up and downsides. even though some people prefer to ignore the downsides in a fanatic frenzy
@grillchen @sonny @pid_eins I wouldn't mind it at all if it was *just* an init system. But taking over timesync, network, cronjobs, file management, dns resolving is too much imo. What's wrong with using simple ntp ? I use OpenRC with Debian because a) I want a choice and b) not having my whole system depend on a program that should only manage services. And hard dependencies on systemd seems like "my way is the only way" kinda solution.

@grillchen @sonny @pid_eins How do you feel about gnome hard-depending on gtk and plasma on Qt?

I think systemd as a project is good in part because its doing a lot of work that freedesktop.org did for DEs. For example, getting disparate distros and projects to agree on conventions for how to cleanly separate OS files from per-machine configuration.

@mw @sonny @pid_eins it is fine. those are normal dependencies. i would have an issue with gnome declaring gtk as the standard and trying to replace qt, ntp, and more.

oh and breaking a rift in the free software community by only support linux. with a very specific setup.

a good standard would allow openrc and co to keep up. with the systemd way everyone needs to use the bloat called systemd.

systemd has a unified approach which ins contrary to many open source projects and the unix philosophy. while i dont necessarly mind that, they fail to come up with good reasons for doing so. they just do.
@grillchen @sonny @pid_eins what interfaces are difficult for OpenRC (or other projects) to implement?
@grillchen @sonny @pid_eins (genuinely wondering, not a rhetorical question)
@mw @sonny @pid_eins yeah i am looking at the postmarket os announcement for examples.

superd for example

"superd was invented to be compatible with systemd user service files, and as of writing it is being used in Sxmo. But due to various incompatibilites it does not integrate well enough with gnome-session and cannot be used there. So right now we just don't supervise userspace daemons there and they don't restart if they crash. "

it does provide the functionality but gnome does only want systemd

here is a overview of the current state of systemd alternatives postmarket os is using/missing/wants.

for some just the devpower is missing, for some systemd stuff can be used standalone (eudev for example, which is like perfect. modern code and it is interchangeable if necessary)
@sonny @pid_eins
Define "better".
I would define "better" as more stable, predictable, fast with minimal disk and hardware, easily installed quickly and customized, easy to troubleshoot, secure, compatible with the tools I've been using for decades.
I get all this out of a systemd free OS, so this is a fix for a problem I never had.
Although, now I DO have problems because many packages are now dependent on systemd. Why? Why the desperation to drop support for other init systems?

@Okanogen @sonny @pid_eins Same reason why we’re doing away with Xorg and switching to Wayland.

Because despite the old-school init systems being touted as simple, elegant, stable and just way better than systemd (by some people, anyway), you don’t see a lot of people rushing to maintain and develop them.

OpenRC is pretty much the only viable modern non-systemd init system for general use, but it’s being developed with Gentoo in mind.

@notthebee @sonny @pid_eins
Who is "we"? And if something doesn't work for you, good for you, don't use it. I'm not forcing you to use i3WM, am I?
@Okanogen The lack of people willing to maintain the broken mess that is X.Org speaks for itself. Same goes for the older init systems. It's not that there's a desperation to drop support for them, it's just that none of the people who are very vocally anti-Systemd, are rushing to work on support for those older init systems. In FOSS, that's how it usually works. There's rarely an active decision to axe some feature or product to piss people off or please the shareholders. But there's often a lack of resources and people willing to work on the thing.
@notthebee
Other "broken messes" struggling to find developers include InfluxDB. I recall grep couldn't find anyone willing to maintain it at one point. Perhaps "We" should throw those out, too? Toss on the dustbin of history? Because the Kool Kids don't get a thrill unless they are moving fast and breaking things?
Here's a list of other orphaned toys nobody cares about.
https://www.debian.org/devel/wnpp/work_needing
That said, I've been hearing this tired song for at least ten years, and yet things keep working....
Debian -- Packages in need of a new maintainer

@Okanogen Things rarely get thrown out deliberately in FOSS though. You either have people who are willing to work on a thing, or you don't, and then it becomes abandonware.

It's not like there's a secret cabal that prevents developers from working on other init systems and keeping other pieces of software compatible with them. It's just that the majority of people working on Linux have decided to move on. And democracy often means accepting the majority vote, even if you disagree with it.

@notthebee
So "the majority" is the metric for what is right? What is valid? The majority of..... who? Your buddies?
The vast majority of computer users are on Windows, or if you count mobile devices, Android or iOS. With all those combined, by that metric there's almost no support for systemd at all.
@Okanogen Right, but we're talking about Linux here. And the majority of Linux distros use systemd as their init system.
@Okanogen @notthebee @sonny @pid_eins I would like that “we”, for educational reasons, to be forced to use a tiling WM like i3 or xmonad until proficient. There is more than one way. Wayland & systemd kill this polyculture. Most users are used to remote managed desktop - a problem if your wm or compositor is nested - which one gets my Window switch key sequence? How do I control that? “Better” Architecture looses to Muscle memory,
@mil I for one would like to force (for educational reasons) people who oppose things like Wayland and systemd, to spend some time maintaining the X.Org or init.d/upstart/etc. codebase
@notthebee @mil
Oh! Let me help you, then. Despite some deliberate roadblocks thrown in their way, these folks are on version 5: https://www.devuan.org/
Welcome to devuan.org | Devuan GNU+Linux Free Operating System

Free GNU+Linux base OS. Devuan is a fork of Debian without systemd. Devuan provides a safe upgrade path from Debian, to ensure the right to Init Freedom and avoid entanglement.

Devuan GNU+Linux
@Okanogen @mil I'd like to see *all* people complaining about systemd do that, not just the ones that are already doing it. The devs of Devuan/Artix/Gentoo have already made their mind, but I think that once other people see how much of a PITA that is, a lot might change their mind.
@notthebee @mil
Nobody is giving you an assignment, my dude. So ALL people? Everywhere? All people who are less than pleased by journald and networkd? You want to give all people the assignment to become a developer?
If you're so mad about it, why don't you just buy a Mac? Problem solved.
But regarding PITA, I don't know chief, the hard part was done in 2015.

@Okanogen @mil was the one with assignment, I just turned it around 😁​

As for buying a Mac – way ahead of you on that one! Still managing Linux/FreeBSD infrastructures at work though, and the limitations of oldschool init systems compared to systemd really stand out in comparison, imo.

@notthebee @mil
I would like to see anyone try to use networkd for EVERYTHING. Also, never use cron, only systemd timers. Lol. I mean, nobody wanted to maintain that "horrible mess" of ifupdown, until ifupdown2 came around, and cron? So old. Teh oldness. And who can forget "unique network interface names? Wow! Thanks for enpd194u2992uu4. That's a big improvement!
I spend a lot of my admin day working around systemd limitations on servers, including unhelpful journald msgs.

@Okanogen As far as I understand (correct me if I wrong), the unique NIC names are a good idea for the same reason why using /dev/disk/by-id/ is better than using /dev/sdx. The latter is volatile can change when adding new drives to your system, updating the drivers, reinstalling your OS and even rebooting. The former is linked to the unique hardware and will always stay the same, even across different installations.

You can also easily disable that feature: https://documentation.suse.com/smart/network/html/network-interface-predictable-naming/index.html

Predictable network interface naming

Predictable naming scheme survives system reboots.

@notthebee
I'm well aware of how to work around systemd developer's "brilliant ideas".
Network cards never go bad/need failover on boot on some people's systems, apparently. If I can put a nic address in, why do I need a "unique device name"? It had one already. Solutions in desperate search of a problem. Regarding drives, they are two separate problems, and yes it is (generally) better to load drives by blkid or unique name.
We're still allowed to use fstab, right?
@Okanogen if you like fstab, you’re gonna hate zfs
@notthebee
ZFS....
Wow.
You should definitely run a Fedora software raid on top of that.
#YOLO
@notthebee @mil
Upstart? Lol. There's a reason I use -Ubuntu in searches.
@Okanogen @notthebee I am open to different Init & UI systems. I also understand that Xorg is falling appart due to old age. I have seen Inits come and go. “Better” must be seen from the application/user perspective too. Applications differ. One size cannot fit all. What happens if the only way to do something cannot possibly work for a certain application? I oppose creeping monoculture eg. Systemd’s modularity is an opinionated one-way street.
@sonny @pid_eins and by better you mean "more like windows"?

@sonny @pid_eins EXACTLY THAT!

#systemd sadly is a "necessary evil" at worst given the #SysVinit sucked and still sucks...

https://www.youtube.com/watch?v=o_AIw9bGogo

@sonny @pid_eins You know, we should've just stuck with init=/usr/bin/emacs instead of trying to replicate that setup with #systemd