News for hackers. Stuff that matters.
Re:Systemd, ten years later: a historical and technical retr... by ArchD on Sunday May 03, 2020 @09:21PM (#23063551)
Yeah, don't get me started on the fragile glass test tube called systemd-resolved that fails in mysterious ways when I use wicd on Ubuntu and the WiFi gets momentarily disconnected. I don't see the sense behind treating name resolution as something so special that it has to be part of an init system.

I like the overall theoretical concept of systemd but it has ugly implementation details like this.

Re:Systemd, ten years later: a historical and technical retr... by Spivak on Sunday May 03, 2020 @09:48PM (#23063745)
But systemd-resolved is such an odd complaint since it’s only connection to systemd is the name and that it’s in the same repo. It’s not connected to the init system at all.
Re:Systemd, ten years later: a historical and technical retr... by hedora on Sunday May 03, 2020 @09:53PM (#23063774)
The entire repo is a big ball of mud. No one knows which parts can be removed without breaking things.

Heck, the author of this article couldn’t even find a design doc or adequate manual for the init part of the train wreck, and it’s been in development for ten years.

Re:Systemd, ten years later: a historical and technical retr... by Spivak on Sunday May 03, 2020 @11:30PM (#23064282)
Just set ENABLE_RESOLVE=0 when compiling and resolved is gone?
Re:Systemd, ten years later: a historical and technical retr... by epistasis on Monday May 04, 2020 @12:13AM (#23064485)
You use the word "just" as if this were a simple thing to understand and know. Is this magic incantation communicates in a way that the usual people who compile this package can understand to use it without being intimately familiar with the code?

I ask not rhetorically, just out of curiosity. It's not a typical type of suggestion for other packages I've encountered with open source, and it feels far more difficult to discover than typical decisions at compile time.

Re:Systemd, ten years later: a historical and technical retr... by oefrha on Monday May 04, 2020 @01:50AM (#23064948)
> this magic incantation communicates in a way that the usual people who compile this package can understand to use it without being intimately familiar with the code?

Define “usual people who compile this package”. In my books those are distro maintainers who indeed should be familiar with options provided by the init system they choose. If you decide to include oddballs who compile everything themselves (Linux from scratch?) then again, yes, they are expected to know a thing or two or dig into options or even code from time to time.

Re:Systemd, ten years later: a historical and technical retr... by Spivak on Monday May 04, 2020 @08:59AM (#23067451)
I mean the parent was talking about the source code being a ball of mud and it being difficult to determine what components can be removed without breaking things.

In this case it should be assumed we’re talking about someone who’s compiling systemd and familiar with the source. And yes, these are flags that anyone who builds systemd from source would be familiar with and know how to set.

It’s the same as when you run a configure script and pass —-disable-feature.

Re:Systemd, ten years later: a historical and technical retr... by JoeAltmaier on Monday May 04, 2020 @09:05AM (#23067509)
So common with open source - flags that once worked are now tangled up with subsequent code/flags and won't even compile if not part of some common configuration. Because its not fun to exhaustively test all combinations, it doesn't get done.
Re:Systemd, ten years later: a historical and technical retr... by pas on Monday May 04, 2020 @07:09AM (#23066598)
It seems exactly as difficult as with any other stuff written in C. Let's say uWSGI. systemd uses meson, and there's a file listing all the options, and the first match for "resolve" seems to be that flat: https://github.com/systemd/systemd/blob/master/meson_options...

Furthermore, even if you compile it, you don't have to use it. Even if you install it, you don't have to use it. (After all it has 2-3 APIs, one of them is the /etc/resolve.conf symlink, if you instead just put 1.1.1.1 in that file, libc will not go through resolved. And similarly for the other entry points.)

It's possible to accidentally compile, install and have systemd-resolved set up on your computer, but it still seems rare that someone can compile and install systemd, yet not know what they're doing.

Re:Systemd, ten years later: a historical and technical retr... by yrro on Monday May 04, 2020 @04:00AM (#23065561)
Yes it is.
Re:Systemd, ten years later: a historical and technical retr... by zeveb on Monday May 04, 2020 @08:52AM (#23067366)
> Just set ENABLE_RESOLVE=0 when compiling and resolved is gone?

From HHGTTG:

"But the plans were on display …"

"On display? I eventually had to go down to the cellar to find them."

"That's the display department."

"With a flashlight."

"Ah, well, the lights had probably gone."

"So had the stairs."

"But look, you found the notice, didn't you?"

"Yes," said Arthur, "yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying 'Beware of the Leopard.'"

Re:Systemd, ten years later: a historical and technical retr... by Spivak on Monday May 04, 2020 @09:11AM (#23067584)
This is a config option that you pass when compiling systemd in the same was as --enable-feature in a ./configure script. If you are familiar with the systemd source you would be aware of these options. They’re not hidden.
Re:Systemd, ten years later: a historical and technical retr... by throw0101a on Monday May 04, 2020 @11:32AM (#23069214)
> [...] and that it’s in the same repo. It’s not connected to the init system at all.

And that's exactly the problem.

For all the complaining I do about systemd, I'd be much less annoyed with it if all it did was PID 1. It's all the other stuff that gets tightly coupled for no discernibly-good reason that poisons the well for me.

Re:Systemd, ten years later: a historical and technical retr... by terrywang on Monday May 04, 2020 @02:59AM (#23065280)
Funny you mentioned systemd-resolved, it generated so many coredumps across the machines I use at home (Arch, Manjaro, Fedora), its stability / reliability improved over time but still not up to standard.

Unfortunately, currently systemd-resolved is the only OS level DNS-Over-TLS solution that works for my use cases: roaming laptops and desktops running Linux. At home it's fine because the core router runs AsusWRT-Merlin which does DNS over TLS for all clients using it as resolver.

I don't have a strong opinion against systemd (initially I disliked it moving from Arch's BSD style rc.d). Trend is that systemd is taking over more and more *ctl, seem like its goal is the entire user-space?. Most distros choose to accept and adopt it, and overall (at some point) it eliminated distro differences and lowered the barrier for new Linux users (desktop) and sysadmins.

Personally I started systemd when it rolled into Arch Linux, after which point, rolling upgrade has never gone broke (workstation use case - Desktop Environment / WM), could be skill levelled up after gaining experience though lol...

BTW: I watched `reinventing home directories` by Lennart Poettering (recording @ All System Go! 2019), interesting one. Personally I like to see reinventing wheels to solve legacy problems (people get used to them, sometimes confused, question but don't know how to solve) others don't even consider problems. These helped open my mind and look at things from a different PoV.

[1]: notes on systemd-homed https://sites.google.com/site/imterry/aboutme/profiles/skill...

Re:Systemd, ten years later: a historical and technical retr... by crazy_hombre on Monday May 04, 2020 @05:40AM (#23066083)
systemd isn't just an init system. It's a suite of tools that provides a system and service manager. It's not handling everything in one monolithic process. This has been said thousands of times before. I don't know why people don't get this.