Live data from Hacker News

Linux distros without systemd

ungleich.ch

321–330 of 449 posts

Re: Linux distros without systemd

#321

Earlier quoted context omitted.

systemd predates Rust by a bit over a year.

The point stands, Go isn't a good option for this type of process.

The only thing that I can think of for that 2019 Go that would be a problem for this use case is binary size. None of the rest of the usual complaints would be stoppers or even that big a deal, and most of them, I'd pay to have a memory-safe language being used at that level. Init systems are a type of code that we don't have a good word for, but that I tend to end up in a lot, the code that isn't CPU intensive, or disk intensive, or RAM intensive, etc., but is all just logic and correctness rather than any of that. So "but Go is GC'ed!" isn't particularly relevant, for instance, because an init system pretty much ought to settle into a steady state and not be executing at all, on average, so who cares about a handful of microsecond GC pauses that may or may not occur at startup time?

Rust might be better now; my primary concern would be community size and whether I was limiting my contributor base, which Go also has as a concern. In both cases though I'd take it over C/C++ being used on such a critical project at this juncture.

In 2010, though... yeah, choices are a lot worse.

Re: Linux distros without systemd

#322

Earlier quoted context omitted.

Come up with something demonstrably better then. Nobody is stopping you.

Why are you acting as if alternatives don't already exist?

Define an alternative. Most systemd alternatives do not concern themselves with post-boot event handling much, for example, which is a rather big part of modern systems. Most alternatives do not use a declarative style for unit definitions, which is a safer model being adopted by many other parts of Linux, including whole distros such as Nix. Things like Kubernetes have become popular for similar reasons.

Notepad.exe is also an alternative to Word, if the subset of functionality you're looking at is strictly text input.

Re: Linux distros without systemd

#323
post #228

Earlier quoted context omitted.

Bash is memory safe until you run 'rm -rf $DIR/' when DIR is unset. Let's just say the language choice went from bad to equally bad.

If you run or write that command into script without checking what DIR variable contains, the problem is in your lack of experience with shell, not the language choice. Also nowadays, rm itself has --preserve-root as default, so this won't delete your root fs.

This is true if you are running the GNU userland. It's not necessarily true with other userlands that are often run on top of Linux. In a discussion touching on systemd, it strikes me as a little surprising that somebody would rely on a quirk of another replaceable component. ;)

Re: Linux distros without systemd

#324
post #62

The biggest complaint I regularly see about systemd from those that don't like it is that it violates the UNIX philosophy by combining too many functionalities into one project. Based upon this I found the following quote from the article in regards to Alpine Linux, a distribution based upon BusyBox which implements the functionality of over 100 usually separate executables into one, quite amusing. > It is small and…

The number of binaries is irrelevant. Systemd has a lot of binaries but is still called a monolith. Unlike systemd with journald, Busybox allows you to use Vim instead of Busybox vi without any trouble. Busybox might also emphasize the “small and simple” aspect much more than GNU tools, which have a reputation for being needlessly bloated (see all of the flags to cat, for example).

Re: Linux distros without systemd

#325
post #201
post #178

Earlier quoted context omitted.

By that standard SystemD proponents' fetishization of ineptly implemented change for change's sake clearly makes their position invalid.

Why on earth do systemd haters insist on capitalizing the D? It's really amazing how people think mistyping the name is some kind of useful or novel criticism of the software.

I think that giving unflattering nicknames to powerful entities is a long-standing tradition, and a valid act of protest and free expression. Of course it won't convince an opponent, and it may backfire as a rhetorical device, but I empathise with people wanting to use it.

Moreover, the term "System D" is somewhat synonymous with the term "black market", which Wikipedia defines as a: "series of transactions that has some aspect of illegality or is characterized by some form of noncompliant behavior with an institutional set of rules."

That is a surprisingly good analogy for how systemd acts on a machine, but there is another analogy to a similarly worded term: "Substance D", from the novel "A Scanner Darkly". In the novel, it is described as an addictive psychoactive drug, also known as "Slow Death". Credit for that comparison goes to this foundational criticism of systemd:

https://lkml.org/lkml/2014/8/12/459

Re: Linux distros without systemd

#326

I have way too many cases of systemd startup items hanging with their timeout for no good reason. Worse, my most complicated high-uptime machine usually does not shut down in a reasonable time. Systemd says "waiting for session user cracauer" (something like it) for whatever reason. It also hung on undoing swapspace, when that swapspace was a custom stack of block layers. I don't need swapspace to be "shut down". It…

systemd errs on the safe side and thus it tries really hard to shut things down safely vs just yanking the plug. The timeouts are easily configurable if that's a problem for you, but I'd argue that if services hang too often for you, there's an underlying problem with your system somewhere, (i.e. your mounts or such, I'd consult journald for dependency cycles).

Re: Linux distros without systemd

#327
post #274

Earlier quoted context omitted.

Given the timeframe, something like OCaml would likely have been a better option.

Ocaml parallelism/concurrency story was not that good - but Haskell has just got its fancy new epoll based I/O manager (100000+ lightweight threads) around that time, with the 7.0.1 release (16 November 2010) They could have even take inspiration, imagine: typed, functional, monadic init files - "systemd: avoid success at all costs" :)

While that would be amusing for sure, systemd's pid 1 is actually single threaded.

Re: Linux distros without systemd

#328

systemd is good, but I think it came too soon. A lot of the comments here are about memory safe languages are spot on. systemd was written with two major assumptions in mind: 1. Linux system complexity has exploded and needs a top-to-bottom rewrite 2. It's safe to do such a rewrite in C Since the systemd project, I'd say #1 has been largely affirmed. I like the result of systemd because it provides uniform tooling ar…

> it probably means the solution is to rewrite systemd in a memory safe language, and that's a huge undertaking.

At least with Rust, the rewrite could be done piecemeal, since Rust can easily interoperate with C (as long as you don't abuse C macros).

Re: Linux distros without systemd

#329
post #283

Earlier quoted context omitted.

you are not listening or being are deliberately obtuse I have stated three times that I accept that these processes are incorrectly specified, and that my problem is not this -- the problem is that I cannot discover these missing dependencies by any reasonable process whoever set them up 20 years ago is long gone, and what was reliable is now not this is a regression (and let's not get started that my brand new insta…

Suppose you run your system on a new, better, and faster computer architecture, newly supported by Linux. Now, let’s assume that this is a new architechure which in many ways is different in style to other processors, but let’s say GCC supports it and can generate 100% correct code from it. Your problem now is that much of all the old software was written and tested only on older architectures, and this new architect…

The harder it is to avoid undefined behavior, the more I blame things other than the software. Especially when you can run the old version under emulation and it still works without bugs.

And a lot of the blame goes to the distro that shipped a bunch of broken binaries.

Re: Linux distros without systemd

#330

Earlier quoted context omitted.

You either fall into a group that hates systemd or one that could care less about the problem systemd is solving.

I didn't care much about the problem systemd was solving, I was content to let the init process go through without touching it. Then one day several years ago I did an apt-get dist-upgrade and my system didn't boot after that. I have personally hit way more issues with unbootable systems or having to drop into single user mode to fix some BS with systemd. That was enough to make me dislike it, or convert into a hater…

Counter-anecdote, I switched to systemd all the way back in 2012 on Arch, even before it was mandatory and way before it was in a state where other distros felt comfortable switching and I remember to this day that after I did the conversion and hit reboot, an absolute panic hit me, I was 110% sure the system won't boot afterward, just because of how drastic the change was to perform on a live system, (because simpler upgres than that broke my system before). Since Arch is rolling is not like a new release came with systemd, no, you just switched your live system over.

I remember being absolutely floored when after that relatively complex procedure, not only did the system boot, but it booted faster. I think I became a fan that day.

Post reply on HN