Live data from Hacker News

Why I dislike systemd

steven-mcdonald.id.au

71–80 of 254 posts

Re: Why I dislike systemd

#71
post #59

Earlier quoted context omitted.

I'm hearing "we need to build a version control system or a transactional database into our init daemon" here :)

Version control systems and transactional databases are built over atomic operations. Transactions in particular refer to having multiple operations that either succeed or fail all at once, making in essence atomic operations composable (they normally aren't). Editing a file and saving it multiple times is not an atomic operation, but reading a file can be, so having the user issue a reload command only after he's fi…

Reading a file is not even atomic - you can race with concurrent writes.

The only safe way to update a config file of a running service is with POSIX atomic rename, and most editors don't do that by default.

Re: Why I dislike systemd

#72
post #31

Am I missing something? The author states: > Try to find the answer to "which units are going to be started on next boot?". Isn't this just `ls /etc/systemd/{user,system,network}/ /*` (bah HN formatting is messing this up) Also the other states: > Speaking of which, why is systemctl daemon-reload even a thing? Because configuration changes while things are running. Otherwise we wouldn't need apache2 reload, nginx rel…

> Isn't this just `ls /etc/systemd/{user,system,network}//*` (bah HN formatting is messing this up) Nope. There are many virtual units for which there are no files. One example is the on-demand getty units. There are two for "plymouth" boot-splash stuff (I see these attempted-and-failed units on archlinux where plymouth never exists). There's some autofs thing. There's auditd. I'm actually not booted into linux right…

    systemctl list-dependencies

Re: Why I dislike systemd

#73
post #62

> nearly everyone (or at least the most vocal crowd) seems to either love it or hate it "At least the most vocal crowd". Which means that most people DO NOT CARE, and the systemd war is beyond ridiculous. As Linus said, > "I don't actually have any particularly strong opinions on systemd itself."

The systemd war is probably the best thing that could have happened to ensure widespread adoption of systemd. It allowed the supporters to lump anyone with any concerns or objections in with the frothing-at-the-mouth haters, and completely ignore them.

I don't hate systemd. I like what it's trying to do, and I don't hate the big-picture implementation either. But I, and many others, have a bunch of concerns around some specific details of the system, that got ignored and swept under the rug in the tide of vitriol between the two sides of the "war".

If the discussion had been more civil, maybe the more rational objections might have got heard, and we might have been able to pressure Lennart and Kay into not rolling their own, un-reviewed, crypto for journald[0]. We might have been able to avoid some of the feature-creep[1] that seems to have grown out of a NIH-mentality, and a better relationship with the community might have made the core developers more willing to play nicely with others[2][3].

0: http://lwn.net/Articles/512895/ 1: http://www.freedesktop.org/software/systemd/man/systemd-reso... 2: https://bugs.freedesktop.org/show_bug.cgi?id=76935 3: https://bugzilla.redhat.com/show_bug.cgi?id=1116651

Re: Why I dislike systemd

#74
post #71

Earlier quoted context omitted.

Version control systems and transactional databases are built over atomic operations. Transactions in particular refer to having multiple operations that either succeed or fail all at once, making in essence atomic operations composable (they normally aren't). Editing a file and saving it multiple times is not an atomic operation, but reading a file can be, so having the user issue a reload command only after he's fi…

Reading a file is not even atomic - you can race with concurrent writes. The only safe way to update a config file of a running service is with POSIX atomic rename, and most editors don't do that by default.

That's true, that's why I said that it "can be". And if you have a special edit command, like "systemctl edit", then it can take care of the details for you, which is I presume the reason for its existence (much like visudo).

Re: Why I dislike systemd

#75
post #71

Earlier quoted context omitted.

Version control systems and transactional databases are built over atomic operations. Transactions in particular refer to having multiple operations that either succeed or fail all at once, making in essence atomic operations composable (they normally aren't). Editing a file and saving it multiple times is not an atomic operation, but reading a file can be, so having the user issue a reload command only after he's fi…

Reading a file is not even atomic - you can race with concurrent writes. The only safe way to update a config file of a running service is with POSIX atomic rename, and most editors don't do that by default.

If only the operating system maintained a tree-structured key-value configuration store with atomic updates, like the Windows registry.

(Even I'm not sure if this is sarcasm any more)

Re: Why I dislike systemd

#76
post #50
post #33

Earlier quoted context omitted.

> I'm one of the people who jumped ship to OpenBSD in the last year or so. Ha. FreeBSD here. And so long as you get the right hardware, I find BSD to be far simpler than linux distributions out there. Ports? Beautifully elegant and simple. Configurable. Magnitudes easier than configuring rpm/debs. Getting a package approved in debian? Alioth? No offense, the wiki, all these pages on the debian website - they have no…

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…

  $ vim /etc/network/interfaces

  auto wlan0
  iface wlan0 inet dhcp
        wpa-ssid 
        wpa-psk 
You can also have multiple virtual interfaces configured in the same file as above, and then just do "ifup wlan0=virtualif" to switch.

Much ado about nothing.

Re: Why I dislike systemd

#77
post #12

I agree with most of this, especially the fact that complexity has simply been shifted to other places. It's much easier for me to read a systemd unit file than it was for me to read a complex set of init scripts. The problem is that when I have 10 or 20 units with interlocking dependencies, it's an absolute nightmare to try and untangle because I have to jump between so many different files. Having to specify After=…

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

depends on what you have in your path.

Re: Why I dislike systemd

#78
post #56
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…

What are some things on OpenBSD that don't work for you? What sort of hardware are you running? What about Adobe Flash on OpenBSD?

> What are some things on OpenBSD that don't work for you?

The sort of things that you mentioned -- Skype, Dropbox. I also can't use OpenBSD for PCB layout (Eagle doesn't run on it; don't know about Kicad, but I have very little experience with it), but I don't really mind, because I have access to a licensed installation of Altium at work.

> What sort of hardware are you running?

Nothing special. It's a fairly high horsepower i7 box with 16 GB of RAM. The only component that didn't play nice with OpenBSD was the nVidia graphics card. I just bought a reasonable ATI card and it works fine.

> What about Adobe Flash on OpenBSD?

I haven't used the browser plugin ever since youtube-dl came out, not even on systems where it's well-(ish)-supported. But if you need it in the browser, I think you're pretty much out of luck.

Re: Why I dislike systemd

#79
post #75
post #71

Earlier quoted context omitted.

Reading a file is not even atomic - you can race with concurrent writes. The only safe way to update a config file of a running service is with POSIX atomic rename, and most editors don't do that by default.

If only the operating system maintained a tree-structured key-value configuration store with atomic updates, like the Windows registry. (Even I'm not sure if this is sarcasm any more)

The Windows Registry is a dump on disk of some half-assed structures defined in a memory heap, poorly specified, being in essence a file-system as well. Also, only individual operations have been atomic and one update in the Windows Registry does not equal one update of an entire configuration file on Linux. Transactional support has been added, but late and interactions with it are still problematic. The Internet is filled with complaints and pieces of advice on corrupted registries.

And it is being obsoleted, with the elephant in the room being that the Windows Registry needs to be thread-safe because it's a central store of all settings and this was a really bad idea. I'll also have my nginx.conf over a registry entries file any day of the week.

Re: Why I dislike systemd

#80

Earlier quoted context omitted.

Readability's bookmarklets help: https://www.readability.com/bookmarklets/ (But, yeah.)

The newest version of Firefox has a little icon resembling an open book at the right side of address field that does something similar. Quite handy :)

Nice. I'd prefer that was the _default_ browser view, frankly.
Post reply on HN