Live data from Hacker News

Why I dislike systemd

steven-mcdonald.id.au

161–170 of 254 posts

Re: Why I dislike systemd

#161
post #50

Earlier quoted context omitted.

I've occasionally used {Net|Free|Open}BSD over the past few years (in fact, I think my Jornada in the back of the closet still runs NetBSD). I kept sticking to Linux partly because I was using it at $work, partly because it was simple enough and I'm kindda lazy. But yeah: > I find BSD to be far simpler than linux distributions out there. The way OpenBSD handles WiFi configuration is a good example of this. Want to co…

This has long been my experience with BSD (back before jumping to OSX for some years, and now back to OpenBSD). There is a willingness to update core pieces of functionality where needed to reduce inessential redundancy. Another example: console / keyboard config. In OpenBSD, I set this up through wscons. If set here, my keyboard settings get propagated in a robust, non duplicative way to X11. Contrast this with Linu…

This is indeed annoying; fortunately David Herrmann is working on a new user-space terminal emulator for Linux called KMSCON which uses the same keyboard input code as XOrg (libxkbcommon) so there is hope for improvement.

https://dvdhrm.wordpress.com/2012/12/10/kmscon-introduction/

Re: Why I dislike systemd

#162
post #50

Earlier quoted context omitted.

I've occasionally used {Net|Free|Open}BSD over the past few years (in fact, I think my Jornada in the back of the closet still runs NetBSD). I kept sticking to Linux partly because I was using it at $work, partly because it was simple enough and I'm kindda lazy. But yeah: > I find BSD to be far simpler than linux distributions out there. The way OpenBSD handles WiFi configuration is a good example of this. Want to co…

> The way OpenBSD handles WiFi configuration is a good example of this. Want to connect to a wifi network? ifconfig . If you need some other fancy flags for those 0.1% of hotspots in the world, you can do those, too (also through ifconfig) but it's that simple. Hmm, I'm surprised OpenBSD supports this, since it will cause the passphrase to get stored in your shell history in plaintext.

I generally run it from a script that then prompts for the passphrase. I'm working on a little tool of my own to work as kind of a minimalist OpenBSD-specific network manager that'll store a list of encrypted passphrases and let me connect to a network without having to enter the passphrase and SSID each time.

Re: Why I dislike systemd

#163
post #88
post #50

Earlier quoted context omitted.

I've occasionally used {Net|Free|Open}BSD over the past few years (in fact, I think my Jornada in the back of the closet still runs NetBSD). I kept sticking to Linux partly because I was using it at $work, partly because it was simple enough and I'm kindda lazy. But yeah: > I find BSD to be far simpler than linux distributions out there. The way OpenBSD handles WiFi configuration is a good example of this. Want to co…

actually, wpa_supplicant isn't that hard to configure as long as you only use the GUI. just scan for APs, double-click on the network, and type in the PSK. no documentation-reading required.

I use wpa_supplicant directly on my desktop (running Slackware64 14.1) and have no problem doing so via the command-line and conf file editing alone, though in my case it required adding a snippet to /etc/rc.d/rc.local to get it to connect to my wireless network on boot.

Re: Why I dislike systemd

#164
post #20

Earlier quoted context omitted.

The naysayers are taken seriously, but they're in the decision-making minority. Linux distro maintainers wanted to move on from SysV Init, and systemd looked promising. Just because the naysayers didn't get their way (and on some distros, they did) doesn't mean that their criticisms aren't noted.

Which distros? Slackware is the only near-mainstream Linux distro I know of that is even possibly not moving immediately to systemd, and even then, the Slackware folks have said that once it becomes too difficult to maintain upstream packages, they'll switch too. They're just being pragmatic about it.

http://without-systemd.org/wiki/index.php/Main_Page#GNU.2FLi...

Re: Why I dislike systemd

#165
post #19

It got the job done by making the 99% majority of use cases more difficult in order to make the 1% minority simpler. This is a design pattern I think is being repeated in systemd. I kinda had the opposite impression. I first encountered systemd when I started messing around with arch for a couple little vps projects. At the time I was doing sysadmin that involved both Ubuntu and CentOS, and I definitely found day-to-…

The nice thing about initscripts, though, is that you can get the best of both worlds by sourcing in common functions, as is the default and recommended practice on OpenBSD. For example, here's the initscript for dovecot on my (OpenBSD-running) mail server (with some comments and newlines omitted for brevity):

    daemon="/usr/local/sbin/dovecot"
    . /etc/rc.d/rc.subr
    rc_cmd $1
Pretty straightforward: you set $daemon to the path of your daemon's executable (in this case, dovecot), source in rc.subr, and call rc.subr's rc_cmd command with $1 (which represents a command, like 'start', 'stop', 'restart', etc.).

rc.subr, meanwhile, holds all the complexity one will ever likely need in an initscript, in the form of various shell functions encapsulating things like starting, stopping, etc. And if that's not enough for whatever reason, it's easy to add more functionality either to the individual initscript or to rc.subr, since it's shell scripts all the way down. In my experience, reasoning about this sucks a lot less than writing a systemd unit file, let alone an initscript on a system without such niceties.

Re: Why I dislike systemd

#166
post #123

Earlier quoted context omitted.

I wouldn't say the init scripts on OpenBSD are complex: # cat smtpd #!/bin/sh # # $OpenBSD: smtpd,v 1.4 2012/10/26 06:51:59 ajacoutot Exp $ daemon="/usr/sbin/smtpd" . /etc/rc.d/rc.subr pexp="smtpd: \[priv\]" rc_reload=NO rc_cmd $1

Indeed. But at that point you have a DSL which is no longer obvious when one only knows about shell scripting (eg. I have no idea what `pexp="smtpd: \[priv\]"` does), so using a completely declarative language with a trivial syntax doesn't seem a huge issue either. One may think about systemd's unit files as a set of shell variables that gets sourced by the real script.

> But at that point you have a DSL which is no longer obvious when one only knows about shell scripting

At which point you can run `man rc.subr` and be enlightened :)

Re: Why I dislike systemd

#167

Earlier quoted context omitted.

> Writing init scripts used to be a real pain, now I can set up a unit file in two minutes and it works... I've always found init scripts straightforward to read and write, even though I don't develop them often. I don't care for the upstart/systemd/OSX approaches. I don't want to digest another manual to do what I can do in bash easily.

If your needs are simple, the resulting unit file is trivial and you can basically copy and paste from any example without looking at any documentation. If your needs are complex, you have better chance by mixing different options in the completely declarative syntax of systemd than mixing shell snippets from different scripts using different styles. In any case systemd happily launches LSB-compatible init scripts, y…

Complex needs are better solved with source code rather than special blobs of $system.

> In any case syst emd happily launches LSB-compatible init scripts, you literally don't lose anything.

Yes, I do. I literally have piles of unwanted systemd on my system.

Re: Why I dislike systemd

#168
post #77
post #12

Earlier quoted context omitted.

$0.02: journalctl isn't even tab-completable until you've nearly finished typing it. :)

depends on what you have in your path.

I feel like systemd's tools and Emacs are on a race to achieve the title of "only program(s) necessary in one's path to have a fully-featured operating system". :)

Re: Why I dislike systemd

#169
post #132
post #128

Earlier quoted context omitted.

But I think you could find a vocal minority (or several) to oppose ANY particular implementation. One of the reason the anti-systemd crowd has such a hard time gaining traction is because the only thing that unites all of them is opposition to systemd. They don't agree on what should be in its place instead -- some want to hold onto sysvinit, some want Upstart (although that's a dead end now), some want OpenRC, some…

It's very easy to agree that nuclear pulse propulsion is a bad idea for a vehicle, even among people who otherwise have very different preferences on what kind of engine they like on their vehicle. Unfortunately, yeah, the whole debate there is unproductive. Instead of focusing on real problems, it gets stuck into an endless debate on Unix philosophy, carried among a bunch of people who aren't really sure why it's a…

> It's very easy to agree that nuclear pulse propulsion is a bad idea for a vehicle

Speak for yourself. Who cares if my rocket is blanketing Earth in nuclear fallout if I get to ride it to Jupiter? :)

Re: Why I dislike systemd

#170
post #117
post #107

Earlier quoted context omitted.

In practice, even bug reports end up unacknowledged and labeled as features after a few philosophical debates. Where is the evidence?

All over their bugtracker, but the most famous one is here: https://bugs.freedesktop.org/show_bug.cgi?id=76935

An excellent example of a failure to communicate.

Linus said that the fact that systemd parses the "debug" parameter is not a bug:

http://lwn.net/Articles/593677/

But sadly that didn't stop various Linux developers from bullying the systemd developers in that bug report instead of trying to find some common ground.

The actual bugs (assertion failure creating debug output in systemd, and inadequate buffering in Linux's /dev/kmsg) could have been fixed much faster without the pointless flame fest.

Post reply on HN