News for hackers. Stuff that matters.
Re:Operating Systems Without Systemd by k__ on Friday May 01, 2020 @09:01PM (#23048122)
I think, that sums up what's wrong with the Linux world right now.

NixOS and GuixSD being the next generation of distributions and people are calling it "neat project with some unique features, but it is more fun as an intellectual curiosity than as something practical" while arguing if a distribution should use Systemd or not...

Re:Operating Systems Without Systemd by threwawasy1228 on Friday May 01, 2020 @09:12PM (#23048179)
I think that NixOS could definitely become a foundational next-gen distribution if they fix the Channel system. One fix I'm particularly fond of is flakes.

[0] https://github.com/NixOS/rfcs/pull/49

Re:Operating Systems Without Systemd by est31 on Friday May 01, 2020 @10:12PM (#23048504)
I too hope that NixOs becomes mainstream because I like the basic approach, but the same time there are some issues with it still.

I'm not sure it will ever become mainstream. It might remain small forever, e.g. like the haskell/fp community.

Re:Operating Systems Without Systemd by sterlind on Saturday May 02, 2020 @05:08AM (#23050464)
I think it could get big if people start making Nix distributions. I've been meaning to make something like NixOS for Grandmas that hides the config and tools behind a shiny installer and settings page and uses Nix as a control plane.

The best part is, there wouldn't be fragmentation of package maintenance between distros.

Re:Operating Systems Without Systemd by justinsaccount on Friday May 01, 2020 @09:17PM (#23048212)
The linux world is busy getting shit done. Ignore the children arguing over init systems.
Re:Operating Systems Without Systemd by wrycoder on Friday May 01, 2020 @10:03PM (#23048455)
The argument is not about the init system. systemd’s is probably fine.

It’s about an ever expanding take-over of userspace by a single module, which is not the Unix way.

And about a high-handed project leader who is paid by Redhat to do it full time.

Re:Operating Systems Without Systemd by dralley on Friday May 01, 2020 @11:13PM (#23048829)
>It’s about an ever expanding take-over of userspace by a single module, which is not the Unix way.

You confuse Systemd the init system with Systemd the project.

The Systemd project can be described as "GNU coreutils but for low-level system components". People hear about all the tools that the Systemd project maintains and think that all that functionality is built into the init system, when the reality it's >50 separate binaries, the majority of which (like systemd-boot or systemd-resolved) are completely optional and aren't even installed by most distributions.

And while I understand that some parts, like journald, are not so independent - it's still not "a single module" in a way that prevents it from being unix-y. The Unix philosophy is about separation of concerns, not having a bunch of interchangable options for low-level system components.

Re:Operating Systems Without Systemd by stouset on Friday May 01, 2020 @11:48PM (#23048976)
You know, I had to integrate with `journald` a bit ago and I was prepared for a nightmare after all the ruckus raised about systemd.

And you know what? It’s fantastic. The API is generally well-designed (if not without a few sharp corners) and the whole thing is incredibly well thought out. Sure, plain text logs let you use standard UNIX tools. But doing so sucks. God help you if there’s a newline in your logs or if you have to ensure that you iterate over all the logs even across restarts or if you need to parse logs back out from text into the underlying attributes.

Re:Operating Systems Without Systemd by pnako on Saturday May 02, 2020 @03:16AM (#23049997)
Next, have all the settings in some sort of central database.

And in 20 years, Red Hat will have finally finished re-inventing Windows NT on top of the Linux kernel.

Re:Operating Systems Without Systemd by zenlot on Saturday May 02, 2020 @05:18AM (#23050497)
Have you ever worked with IBMs AIX? It has ODM and it’s amazing. Systemd is going to the right direction.
Re:Operating Systems Without Systemd by pnako on Saturday May 02, 2020 @06:12PM (#23055312)
I'm not saying it's the wrong direction, it's just funny to observe.
Re:Operating Systems Without Systemd by wrycoder on Saturday May 02, 2020 @12:10AM (#23049105)
I take your point, but it’s way too time consuming to extract the tentacles of the modules I don’t want from the OS and fix problems as new releases come out. So, I use Devuan on my servers. I don’t want to risk a rolling release distro being auto-updated - I like a periodic release that is auto security patched. Void is great for a laptop, where you care about video and music.

Yes, I’ve used OpenBSD. It’s great, but not for me atm.

Re:Operating Systems Without Systemd by nrclark on Friday May 01, 2020 @10:29PM (#23048598)
Agreed 100%. Systemd is a pretty good init system IMO. Service files are good, timers are good, dependency-based init is good. Easy sandboxing is nice.

I absolutely _don't_ think that my init system should also be my bootloader.

It also shouldn't manage my network configuration, or be responsible for controlling the system clock.

And it shouldn't assert control of my home folders.

And it shouldn't be spidering its way into the Gnome login manager, which grew a systemd dependency a couple of years ago.

My problem with systemd isn't pid 1. It's all the rest of the shovelware that comes along for the ride. And it's the "you'll use what we tell you to use" attitude of the project.

Re:Operating Systems Without Systemd by marios on Saturday May 02, 2020 @07:07AM (#23051029)
I have a problem with how service files are good, except when you don't get them right on the first try and it's difficult to debug (unless I've missed something obvious). More generally, I find that systemd is difficult to observe and thus debug. To debug an ancient init.d script, you'd just run it with "sh -x" rather that sh, and you would have a trace of what the script is doing.

If your service file is a tad more complicated, then you quickly discover that there's a scripting language masquerading behind key/value entries.

I have a hard time wrapping my head around dbus being the core component used for coordination among systemd components. dbus wasn't built for this use case, and having PID1 depend on a well behaved dbus for proper system operation sounds insane. systemd adds a lot of features, which means additional complexity. My understanding so far is that the tooling is not there yet to manage this complexity.

Another gripe I have with systemd is that it does parallel service start introduces non determinism at boot. Which means your setup could work very well most of time, but fail miserably 1 time out of 10. Not exactly what you'd want if you are rebooting a remote server for example. s6 [1] init doesn't appear to have this problem.

[1] https://skarnet.org/software/s6/

Re:Operating Systems Without Systemd by dralley on Friday May 01, 2020 @11:17PM (#23048842)
>I absolutely _don't_ think that my init system should also be my bootloader.

Good thing it's not?

systemd-boot is an entirely different binary, it's not even installed by default by any large distro I know of. The only commonality between them is that they are developed under the same broad project umbrella, just like "cp" and "ls" and "cat" are all part of the GNU coreutils umbrella.

This is a theme for an entire class of incorrect complaints about systemd -- the misconception that just because a tool is called systemd-$thing means it's part of the systemd init system, rather than "a tool developed by the systemd project".

Re:Operating Systems Without Systemd by ac29 on Saturday May 02, 2020 @12:41AM (#23049281)
So dont use it all? I dont, and would have to go out of my way to use some of it. It's like saying you don't like GNOME because you don't like it's PDF viewer.

The best thing about Linux is that you are free to pick and choose even low level components of the system as much as you'd like.

Re:Operating Systems Without Systemd by 256 on Friday May 01, 2020 @10:50PM (#23048709)
> My problem with systemd isn't pid 1. It's all the rest of the shovelware that comes along for the ride. And it's the "you'll use what we tell you to use" attitude of the project.

This could not be further from the truth.

Re:Operating Systems Without Systemd by marios on Saturday May 02, 2020 @07:15AM (#23051059)
At some point, systemd introduced a RemainAfterExit= option, which killed all user started programs when the user logged out. IIRC, this is because of some misbehaving gnome application that wouldn't quit properly.

Of course, since this hack solved the gnome bug, it was enabled by default by many, thus breaking applications like screen and tmux.

What should have been done is fix the issue in whatever offending application. Certainly not at systemd level. Because in that case, you need to do some insane things (IMO), like link tmux with libsystemd [1].

[1] https://github.com/tmux/tmux/issues/428nk

Re:Operating Systems Without Systemd by majewsky on Saturday May 02, 2020 @09:51AM (#23051781)
> At some point, systemd introduced a RemainAfterExit= option, which killed all user started programs when the user logged out. IIRC, this is because of some misbehaving gnome application that wouldn't quit properly.

The backstory is actually enlightening to me. To me, RemainAfterExit just seemed like the obvious sane decision and I actually wondered why it ever was different. When a user logs out, I absolutely want everything cleaned up after them unless they explicitly want something like screen or tmux to linger.

> you need to do some insane things (IMO), like link tmux with libsystemd

That would probably be the easiest choice for the tmux devs. If they don't want to link libsystemd, they could have accessed logind's DBus interface directly (either by calling dbus-send(1) or via libdbus). Contrary to wide-spread belief, systemd does, in fact, present well-defined and documented interfaces that other daemons can implement as well (and they do, see elogind). libsystemd is not magical.

Re:Operating Systems Without Systemd by marios on Monday May 04, 2020 @08:36AM (#23067179)
As pointed out by JdeBP, I confused RemainAfterExit= with KillUserProcess=. RemainAfterExit is an option indicating how systemd should process a unit file, while KillUserProcess is for systemd itself.

It's nice to know that libsystemd is not required in all cases, but I still have a problem with software having to be modified because systemd changes how libc's daemon() function behaves.

Re:Operating Systems Without Systemd by JdeBP on Sunday May 03, 2020 @02:48AM (#23057350)
Re:Operating Systems Without Systemd by JdeBP on Sunday May 03, 2020 @02:46AM (#23057334)
You have wildly mis-spelled "KillUserProcesses".

* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221

Re:Operating Systems Without Systemd by marios on Monday May 04, 2020 @08:23AM (#23067088)
yes, indeed. Too late to edit now though :(
Re:Operating Systems Without Systemd by robocat on Saturday May 02, 2020 @06:30AM (#23050838)
> And it shouldn't be spidering its way into the Gnome login manager, which grew a systemd dependency a couple of years ago.

gnome-shell used by the Gnome/Ubuntu login process also depends upon evolution-data-server!! See `apt-cache depends gnome-shell` for other dependencies...

Debian chose systemd instead of upstart because of licensing, not features, according to https://wiki.debian.org/Debate/initsystem/upstart

Re:Operating Systems Without Systemd by JdeBP on Sunday May 03, 2020 @02:39AM (#23057309)
If you have only read the wiki pages, written to summarize arguments by their various proponents, then you do not know why Debian people made this choice. The wiki pages do not relate that. Start by reading Debian bug #727708 in its entirety.
Re:Operating Systems Without Systemd by robocat on Sunday May 03, 2020 @06:53PM (#23062557)
Re:Operating Systems Without Systemd by catblast on Friday May 01, 2020 @10:30PM (#23048601)
> by a single module, which is not the Unix way.

Kind of ironic when one of the oft touted complaints I recall about Linux vs the BSDs or virtually any historical Unix is how the userspace and kernel are not one integrated distribution.

Re:Operating Systems Without Systemd by wmf on Friday May 01, 2020 @11:25PM (#23048882)
We have now reached the "Unix, is that a flavor of Linux?" state that people joked about in the 1990s. If the only Unix you know is Linux, then your "Unix way" is really the Linux way (which is just a different set of historical accidents).
Re:Operating Systems Without Systemd by ac29 on Saturday May 02, 2020 @12:47AM (#23049315)
> the Unix way

This gets pulled out far too often. Systemd is a family of projects thast are largely modular and independent, not a single binary that takes over everything. Each part's goal is to do one thing, and you're free to take or leave each piece.

By this logic, Bell Labs should have never worked on UNIX or C - they were a telephone company!

Re:Operating Systems Without Systemd by xellisx on Friday May 01, 2020 @10:19PM (#23048532)
Well isn't the Unix way still plaguing us with legacy craziness? How many bin directories do we need?
Re:Operating Systems Without Systemd by ori_b on Friday May 01, 2020 @10:56PM (#23048736)
That's cargo culting -- a computer at bell labs once ran out of disk space on the system disk (/), people put binaries in a directory on the user disk (/usr), and everyone started to copy it for all eternity.
Re:Operating Systems Without Systemd by wmf on Friday May 01, 2020 @11:21PM (#23048865)
Right, and systemd is pretty much the only successful attempt to de-cargo-cult Unix.
Re:Operating Systems Without Systemd by ori_b on Friday May 01, 2020 @11:37PM (#23048929)
Wut. What has it de-cargo-culted? Most of the stuff that could use de-cargo-culting is still there under it.
Re:Operating Systems Without Systemd by majewsky on Saturday May 02, 2020 @09:55AM (#23051791)
Init scripts used to be mostly unportable since every distro shipped with their own support library. You could technically have a portable init script, but it would not behave like the rest of the distro's native init scripts in terms of status reporting etc. systemd units behave the same across all distributions.

Another smaller thing: /etc/os-release replacing the various /etc/*-release files.

Re:Operating Systems Without Systemd by ori_b on Saturday May 02, 2020 @10:17AM (#23051918)
Cargo culting is the practice of blindly copying a solution without understanding why it makes sense and when it might not apply. You're describing the opposite.
Re:Operating Systems Without Systemd by majewsky on Saturday May 02, 2020 @10:27AM (#23051972)
Fictional Debian dev A: "Why do we have /etc/debian-release? Can't we have a release declaration file with a neutral name, like maybe /etc/os-release, in a format that all other distros can adopt?"

Fictional Debian dev B: "That's how we've always done it. Plus if we touch it it might break some guy's script."

It may not be exactly cargo culting, but at least an adjacent concept.

Re:Operating Systems Without Systemd by JdeBP on Sunday May 03, 2020 @02:31AM (#23057288)
Re:Operating Systems Without Systemd by ori_b on Saturday May 02, 2020 @03:44PM (#23054350)
And that's why we now have BOTH /etc/debian_version AND /etc/os-release. Systemd didn't lead to debian getting rid of the former. So now, not only do you have people writing code that behaves differently (or, more likely, breaks) on different OS versions, it has two different files that it will look at for this.

I wonder how long it'll be before the contents of that file start resembling a user-agent string, complete with "Ubuntu-16.10/Compatible"

Re:Operating Systems Without Systemd by mappu on Saturday May 02, 2020 @01:30AM (#23049517)
Runlevels, for one.
Re:Operating Systems Without Systemd by ori_b on Saturday May 02, 2020 @09:47AM (#23051758)
Oh. That's a linuxism. BSD has never had them, iirc. I don't think any of the other simpler init systems (eg, runit) did either.
Re:Operating Systems Without Systemd by catblast on Saturday May 02, 2020 @11:31PM (#23056670)
No that’s a SysVism.
Re:Operating Systems Without Systemd by JdeBP on Sunday May 03, 2020 @01:34AM (#23057075)
... that went away in parts of the System 5 world a year before Linux even existed.

* http://jdebp.uk./FGA/run-levels-are-history.html

getty was obsolete in the System 5 world two years earlier than that, in 1988.

* http://jdebp.uk./FGA/inittab-getty-is-history.html

Whilst not peculiar to Linux, it after all having been created for Minix, the van Smoorenburg init+rc system did resurrect some things that were already years gone in the System 5 world. Calling them "sysv" has always been somewhat of a misnomer. They are Linux/Minux clones of old System 5 mechanisms that were out of date at the time.

Re:Operating Systems Without Systemd by JdeBP on Sunday May 03, 2020 @01:21AM (#23057025)
You are conflating Unix with Linux-based operating systems.
Re:Operating Systems Without Systemd by edoceo on Friday May 01, 2020 @10:37PM (#23048645)
4: /bin, /usr/bin, /usr/local/bin and then ~/bin - for per-user commands, first in path if you allow it.
Re:Operating Systems Without Systemd by tssva on Friday May 01, 2020 @10:13PM (#23048511)
If the issue is a single module take over of userspace then I have good news for you. The systemd project is made up of multiple modules handling differing tasks not all of which you have to use.
Re:Operating Systems Without Systemd by JdeBP on Sunday May 03, 2020 @02:53AM (#23057364)
Every time that this argument comes up, people don't get their computer science right. The problem is not whether something has modules. It is the degree of coupling amongst and cohesion within said modules that is the metric.

* https://news.ycombinator.com/item?id=19132437

* https://news.ycombinator.com/item?id=19028053

Re:Operating Systems Without Systemd by tssva on Sunday May 03, 2020 @09:00AM (#23058721)
There is significant variety between distributions regarding which systemd project modules are used by default. Many distributions also allow systemd modules used by default to be easily replaced with non-systemd alternatives. This speaks to the level of coupling and cohesion between systemd modules being low enough that they don't form a monolith.
Re:Operating Systems Without Systemd by JdeBP on Wednesday May 06, 2020 @12:32AM (#23087916)
Waving around the terms without understanding them, as you are doing, demonstrates exactly what I mentioned. Someone who actually knew the computer science would not be talking of low cohesion here, or of modules forming a monolith.
Re:Operating Systems Without Systemd by dogecoinbase on Friday May 01, 2020 @10:20PM (#23048542)
Modules which only work with their own other modules and fail to work with other people's modules aren't modules, they're a monolith.
Re:Operating Systems Without Systemd by the_why_of_y on Saturday May 02, 2020 @04:13AM (#23050250)
Would you say Postfix is a monolith? Or qmail?
Re:Operating Systems Without Systemd by f1refly on Saturday May 02, 2020 @09:36AM (#23051696)
yes and yes. Fairly small ones, but monoliths nonetheless.
Re:Operating Systems Without Systemd by hinkley on Friday May 01, 2020 @11:04PM (#23048782)
with accessories.
Re:Operating Systems Without Systemd by jonny383 on Friday May 01, 2020 @10:34PM (#23048628)
I see a bunch of people in these threads complaining about change in Linux, but this is exactly all they do - _complain_.

I don't see any of these people making better contributions. It's easier to sit there and insult the project leader for being paid by RedHat - but let's face it. Without commercial sponsorship, Linux would be dead.

So quit your whining. If you all ready don't like systemd that much - why don't you implement a better alternative - as you all seem to have the answers.

Re:Operating Systems Without Systemd by giantDinosaur on Friday May 01, 2020 @10:47PM (#23048688)
Ah yes, the attitude of systemd: deal with it, regardless of our shitty decisions, because you have to.
Re:Operating Systems Without Systemd by MuffinFlavored on Saturday May 02, 2020 @12:39AM (#23049270)
what popular distros have not adopted systemd by default?
Re:Operating Systems Without Systemd by ori_b on Friday May 01, 2020 @10:54PM (#23048728)
Edit: not a thread I should have let myself get dragged into. Suffice it to say, market share is not the same as quality.
Re:Operating Systems Without Systemd by gonzo41 on Friday May 01, 2020 @10:56PM (#23048738)
shit, like running 75% of production servers on earth....
Re:Operating Systems Without Systemd by reshie on Friday May 01, 2020 @09:49PM (#23048379)
the problem is how integrated it is with everything. it is hard to have a choice in your init(not that there was much a choice to begin with). it takes away from modularity.
Re:Operating Systems Without Systemd by Brian_K_White on Friday May 01, 2020 @10:23PM (#23048568)
It's rarely the adult in the room who calls other people names like children.
Re:Operating Systems Without Systemd by hinkley on Friday May 01, 2020 @11:06PM (#23048797)
It's rarely the adult in the room who calls other people names, for example, "children"?

Or,

Unlike children, who call other people names, the adult in the room rarely does?

Re:Operating Systems Without Systemd by kdtsh on Friday May 01, 2020 @09:30PM (#23048283)
Right, I definitely wouldn’t say they’re just an intellectual curiosity (although it’s certainly intellectually curious), they’re both very practical daily driver for many use cases. Both are still in active development, but for plenty of applications they are rock solid and ready to go.

In fact Guix System 1.1.0 was released a week or so ago.

Re:Operating Systems Without Systemd by bzb3 on Friday May 01, 2020 @09:21PM (#23048232)
>right now

No, this didn't start now.