Live data from Hacker News

Systemd Sucks, Long Live Systemd

naftuli.wtf

111–120 of 272 posts

Re: Systemd Sucks, Long Live Systemd

#111
post #83

Earlier quoted context omitted.

The idea of systemd isn't bad. What's annoying is the friction involved in using it. It's just a shade too ornate, a little too magical, in both cases only by a small degree, but it's an important one. Creating a workable systemd init script is actually pleasant. Getting it running is easy. Checking for errors with status is nice, but searching the logs is annoying. pm2 ( https://github.com/Unitech/pm2 ) has a neat f…

I keep forgetting why I hate systemd (and as a FreeBSD user for all things, I have never used it) and then an article like this reminds me ... binary logs. Seriously - just reading it is painful. binary logs That's a lot of things, but it ain't unix.

> That's a lot of things, but it ain't unix.

UNIX has had binary logs since forever. utmp etc. are traditional UNIX and utmpx is standardised by POSIX.

Re: Systemd Sucks, Long Live Systemd

#112

Earlier quoted context omitted.

The repository and build system are set up to allow you to disable almost everything (except core services like evdev, the "systemd" init process, journald, and D-Bus). Distributions have just found it so pointless to strip it down that they've left it largely as one package. You're entirely welcome to use your distribution's packaging scripts to produce a reduced package, if one doesn't exist yet. As far as I'm conc…

> core services like evdev, the "systemd" init process, journald, and D-Bus Oh, so just most of the things that people hate about it. No biggie then. /sarcasm > People get upset because they're too lazy to run the build system themselves. People who are unwilling to run the build system and read the mailinglist are unfit to ship anything short of the whole thing anyway. In my opinion, if these people are complaining,…

> > core services like evdev, the "systemd" init process, journald, and D-Bus

> Oh, so just most of the things that people hate about it. No biggie then. /sarcasm

I don't know of any complete Linux system these days which doesn't ship D-Bus or udev. I think you're just complaining because you feel like it.

Where are these "unreliable processes" (suspiciously vague), "butchered output" (same), "hacky fixes" (for what? your lack of capacity for logic or reason?), and "obscure errors" (but none in particular I guess) coming from?.

I know about the log corruption issue reports, though as I heard it that was an issue external to journald itself (the filesystem failed); and it was ultimately possible to segment the log file, it just wasn't segmented by '\n' like a text file. That is to say, you would get the same corruption with a text file. And of course, most systems compress logs after a while, which means that filesystem-level corruption would destroy the rest of the stream.

Your concerns become legitimate the moment you can point to a specific misbehaviour or confusion which cost you time or effort; short of that I'm just hearing the smack of a beggar's mouth.

Re: Systemd Sucks, Long Live Systemd

#113

Earlier quoted context omitted.

Systemd isn't an init system, it's a service (a.k.a daemon) management daemon. Its primary purpose is to restart and diagnose failing daemons cleanly. Systemd won for one simple reason: it's the only tool that accomplishes this task without bugs. We've been running daemontools for almost a decade in production, and it's a nightmare of bugs. Very glad to be finally switching to systemd.

> Its primary purpose is to restart and diagnose failing daemons cleanly. If this is true, and speaking as a systemd user for close to five years now, it universally sucks at its primary purpose. Specifically, whenever a service fails, I've lost count of the number of times systemd has barked out useless errors with 200 lines that boil down to "service has entered failed state". Whenever a systemd service fails, odds…

Networkd does not handle WLAN authentication. This is the job of wpa_supplicant, which is the defacto standard on linux in every setup until maybe iwd from Intel takes over.

Re: Systemd Sucks, Long Live Systemd

#114

I'd probably respect SystemD a lot more if it measured itself against a modern init system like Gentoo's OpenRC instead of pretending it's invented dependency handling. https://wiki.gentoo.org/wiki/Comparison_of_init_systems > OpenRC provides a number of features touted as innovative by recent init systems like systemd ...

Systemd isn't an init system, it's a service (a.k.a daemon) management daemon. Its primary purpose is to restart and diagnose failing daemons cleanly. Systemd won for one simple reason: it's the only tool that accomplishes this task without bugs. We've been running daemontools for almost a decade in production, and it's a nightmare of bugs. Very glad to be finally switching to systemd.

Systemd is definitely an init system.

Re: Systemd Sucks, Long Live Systemd

#115

Earlier quoted context omitted.

For what it's worth, I don't think Lennart is against non-Linux systems; he just doesn't care. And as an avid OpenBSD user, as well as an avid Linux user, I can't blame him. Linux has great APIs like cgroups, inotify (in my opinion considerably more useful than the equivalent use of kqueue), and others. OpenBSD is the other unixy system which I think offers something valuable and unique, and it has its own APIs to of…

He has in the past advocating ignoring everything unix about Linux when developing for it.

that's not a very charitable view. He simply does not get bogged down in debates about what constitutes the true "unix approach", and prefers to focus on building the best system that can be built using the facilities Linux has to offer.

Re: Systemd Sucks, Long Live Systemd

#116

Systemd ideas I'm all for but it only hints at linux lack of clean abstraction power. sysvinit was full of redundancy; apparently BSD found a way to make a thin abstraction layer to make init files clean. Bash isn't "good" at hinting proper abstractions, I rarely see talks about this, maybe gurus can see through the rain. I keep seeing a place for a tiny lambda friendly intermediate layer .. Just so you can compose p…

> sysvinit was full of redundancy; apparently BSD found a way to make a thin abstraction layer to make init files clean.

They are completely different systems of init scripts. Just for starters, BSD does not have run levels, so the rcn.d directories and the maze of symlinks do not exist.

BSD init scripts themselves are much simpler mostly because there is a good system of helper functions which they all use, rather than every single script inventing its own wheel in sysvinit. Of course, this is just a discipline or convention, and sysvinit could be vastly improved if anybody was similarly industrious.

BSD init scripts also have completely different dependency management (PROVIDE and REQUIRE instead of numerical priorities). And the mechanism for disabling and enabling a script is via dead simple definitions in the single file /etc/rc.

Re: Systemd Sucks, Long Live Systemd

#117
At the risk of sounding heretical, I kind of find myself in the middle ground regarding systemd - I was initially highly skeptical of it, and I still think it's problematic that it is so Linux-centric and will cause problems maintaining software to run both on Linux/systemd and on *BSD. The way it was pushed on distros was problematic, in my opinion.

But having used a couple of Linux systems running systemd - Raspian Jessie and openSUSE - I have to admit it's not that bad. In practice - on laptops and desktop systems (assuming one counts the Pi as a desktop system; for my use case, I do) - I had no problems with it. Enabling and disabling services is a lot easier. I do not think is as great as its proponents claim, but it's not as bad as some people think, either. Personally, I have come to appreciate journald, even though I still agree that binary logs are a bad idea. At least there is still the option of installing a syslog daemon.

Re: Systemd Sucks, Long Live Systemd

#118
Most people I hear having problems with Systems is either on Redhat or Debian - not realising the both are mangling systemd badly. RHEL took in systemd way too early and are missing a lot of needed functionality. Also the have an ungodly amount of patches on top - so much you could argue it should be named redhatd instead. Debian just chooses to take the worst possible middle position due to politics. All of the disadvantages from systemd, but not really any of the great stuff as systemd units often just start shellscripts due to compatibility.... If you want to try systemd in all its glory try Arch or something downstream from it... I for one think that systemd has made my admin-life so much better ..

Re: Systemd Sucks, Long Live Systemd

#119
post #87
post #83

Earlier quoted context omitted.

I keep forgetting why I hate systemd (and as a FreeBSD user for all things, I have never used it) and then an article like this reminds me ... binary logs. Seriously - just reading it is painful. binary logs That's a lot of things, but it ain't unix.

Meh. You get used to journalctl awfully quickly. For someone who never uses it, it's going to have some friction. You need to remember the command and how to spell it, which I'll admit isn't trivial compared to "just dig around in /var/log" style we're all used to. But you get over that hump in an hour. For the straightforward "?!$! something happened just grep for it in the log file" it's no harder or slower. And yo…

journalctl -u is an amazing improvement on dealing with logs. You get the immediate output of exactly what service you're interested in.

Re: Systemd Sucks, Long Live Systemd

#120

Most people I hear having problems with Systems is either on Redhat or Debian - not realising the both are mangling systemd badly. RHEL took in systemd way too early and are missing a lot of needed functionality. Also the have an ungodly amount of patches on top - so much you could argue it should be named redhatd instead. Debian just chooses to take the worst possible middle position due to politics. All of the disa…

I am running systemd on Gentoo. (like Sabayon) While some of the features are nice, it is a royal pain to upgrade due to intertwined deps and forced restarts.

And it doesn't do anything OpenRC couldn't do, in fact its journald is a pain which had to be worked around. OpenRC way of doing socket activations and dbus activations also works slightly better (in case something crashes) It does parallelism just as well, service dependencies too.

Gentoo does not mangle anything related to systemd unlike the mentioned distributions.

Post reply on HN