Live data from Hacker News

How to Crash Systemd in One Command

agwa.name

141–150 of 193 posts

Re: How to Crash Systemd in One Command

#141
post #45

It seems like it is quite fashionable to hate on systemd, and it seems like systemd is kindof a piece of crap - in some ways. However, linux is missing basic functionality other os's offer, and systemd is showing up and trying to fill in those blanks. This is open source, if you don't like systemd, if you think it's crap, if you think there are obviously better ways to do it, well, what are you waiting for then? Syst…

Systemd is winning because they showed up and basically nobody else did. Systemd is "winning" because Red Hat are throwing money at it as a way to control the ecosystem.

Red Hat refused the project initially.

Re: How to Crash Systemd in One Command

#142
post #137

Earlier quoted context omitted.

There is, but it involves using a standardized structured data exchange format instead of formatted text. powershell solves this by using structured data everywhere at the expensive of not working that well with plain text. You should be able to run something like ls -l | sort +date,-size but you can't :-)

Right, but the same people who keep advocating "do one thing and do it well" also keep advocating "Write programs to handle text streams, because that is a universal interface," and there's no way to handle that sort of things with text streams. A "universal interface," whatever that means, cannot carry that metadata.

I know.. It's almost like the people who came up with these ideas 40 years ago didn't think of everything.

There are plenty of ways to do things better with basic text interfaces - a more standardized header format for example.

If most tools just output tabbed separated values with a header, or the same thing vertically.. ie..

    foo bar baz
    1   2   3
    4   5   6
or

    foo 1   4
    bar 2   5
    baz 3   6
It would have been a lot easier to write more "universal" tools that worked with this data.

Or at least more tools like 'ifdata' that is part of moreutils.

  $  ifdata -pa wlan0
  192.168.1.2
Instead of the mess people come up with to parse ifconfig output.

Bryan Cantrill even said in a presentation something like that it should be "Write programs to handle json text streams, because that is a universal interface" these days.

Re: How to Crash Systemd in One Command

#143
post #131

Earlier quoted context omitted.

> Breaking this would basically break compatibility with every existing userland By "Breaking this" you mean "fixing the fact that pid 1 can't crash and restart"? > Because of this, it is better to fail hard It can't be fixed because it would "break compatibility" where that "compatibility" is that the machine should panic? You're not really making a good case for why this can't be changed. Why not * pid 1 exits * ke…

Right. If init opts into it, e.g. by setting some sysctl or something, the kernel changes behavior in the following way: 1. Processes that are reparented to init aren't actually considered children of init for the purposes of the wait() system call. Their ppid still becomes 1, so parent process walks work, but when they exit, the kernel immediately cleans them up. Zombies still exist in this change, as long as their…

Sounds reasonable. Any ideas why no one has ever done this?

Kind of reminds me when the behavior of rm -rf / was changed in solaris.

I can't find the article, but basically someone pointed out that they couldn't change the behavior of rm -rf / because posix defined how it should work. Someone then pointed out that the spec says that trying to remove the parent directory(i think?) should fail, and since rm -rf / includes removing the parent directory, it was within the spec that it should fail.

Re: How to Crash Systemd in One Command

#144
post #18

Earlier quoted context omitted.

The Unix philosophy: Write programs that do one thing and do it well. Systemd doesn't observe the Unix philosophy and that bothers many people.

It's baffling to see people insist that that's the UNIX philosophy when the UNIX philosophy has always been about monolithic kernels over microkernels, so "do one thing" is out the window, and about worse-is-better over do-the-right-thing ( https://www.dreamsongs.com/RiseOfWorseIsBetter.html ), so "do it well" is out the window. And the userspace tools don't follow this either. Quoting http://prog21.dadgum.com/139.ht…

Probably because sorting human-oriented dates is not a trivial task, as it is for recursive listings.

Re: How to Crash Systemd in One Command

#145
post #49

Earlier quoted context omitted.

> I hold no animus towards the systemd project's goals or aspirations, but I have yet to hear a compelling reason for systemd to be shipping in it's current state. I am, in a way, reminded reminded of PulseAudio. I kept PA of my desktop and laptop for years, having heard about PA being a complex nightmare to configure and make work that caused audio to break. Eventually, there was an application I needed to use that…

Best i can tell, Poettering cooked up PA back when ALSAs dmix was something you manually enabled on cheap soundchips. Frankly i think it would have gone nowhere if Canonical didn't decide they needed to copy Windows' "one volume slider pr program" thingy that was introduced in Windows 7 or there about. Note btw that these days Poettering is no longer involved with PA development. BTW, the main goal of systemd seems t…

I find the 'one slider per program' frequently useful. Different programs can be outputting at wildly different levels. I might have my music playing at a comfortable volume, then discover a video on YouTube I want to watch, and it comes in painfully loud, such that I'm immediately reaching for the volume control on the speakers or yanking off my headphones. Then when the video's over, I get to turn my speakers/headphones back up.

With only a single master volume control I'm often fiddling with it to keep things at a reasonable level. With per program volume, I'm fiddling with levels less often and spending more time just listening.

Re: How to Crash Systemd in One Command

#146

Earlier quoted context omitted.

Yes, these are also reasons I dislike systemd. Also, one of the original selling points of systemd was "It will reduce boot times significantly!" ... And then it ends up that systemd is actually slower to boot than any of the other ones out there.

> Also, one of the original selling points of systemd was "It will reduce boot times significantly!" It was not. http://0pointer.de/blog/projects/the-biggest-myths.html Myth: systemd is about speed.

http://0pointer.de/blog/projects/systemd.html The original blog post introducing systemd on 30-APR-2010.

The first points that it details regarding the thesis of systemd is that it is a good init system, and a good init system is fast, and that SysV init is not fast.

The first time it begins talking about things a service management system should be interested in is about half-way through with "Keeping Track of Processes".

It spends roughly the rest of the document on important service management things, but to dismiss the idea that "systemd is about speed" is a myth is too much.

systemd IS about speed of booting -- during the development there were flame graphs showing how doing all this in parallel you could make the system boot really really fast. A lot of time was spent making the boot process with systemd minimal, or speedy.

Personally I'd prefer a less speedy service management system that didn't open listening sockets for my daemons so that it could deal with starting services out-of-order... to make the boot occur in a more parallel fashion... to make the boot faster.

Re: How to Crash Systemd in One Command

#147

Earlier quoted context omitted.

Greg-KH is both one of the original developers on udev and a major force behind systemd. He maintains -stable on the linux kernel. So either the kerbel devs did take over udev development...

I do wonder if the kernel will split between GregKH and T'so once Torvalds steps down. BTW GKH was oddly absent in that thread, and the kernel devs ire was aimed at Sievers...

Well, GKH is One Of Them. He's less likely to attract their ire, and if he does, at the end of the day, they have to answer to him.

But in a fight between GKH and T'so, I'll take T'so. /dev/random's ...interesting design aside, I frankly trust T'so far more than I trust GKH, who backs LP, a person I emphatically do not trust, in a lot of things.

Re: How to Crash Systemd in One Command

#148
post #90

Earlier quoted context omitted.

"piece of crap" really isn't fair. It powered many Ubuntu releases and Red hat 6. I liked upstart.

RHEL 6 only supported using upstart in sysvinit compatibility mode, I believe. They didn't actually use any upstart jobs.

...and that still doesn't make it a POC.

Re: How to Crash Systemd in One Command

#149

This article got me wondering if maybe the NSA or similar has somebody on the inside of the systemd project that is helping the project along. Systemd has replaced a lot of init systems in the linux ecosystem and the general development practices of the project is leaving a huge footprint of code that might be exploited. If they aren't involved, I'm sure they probably know a few different exploits for the system alre…

I've heard this a lot and first just dismissed it as a conspiracy theory. Is there actually any substance to these thoughts, or are they only speculation?

Re: How to Crash Systemd in One Command

#150

Earlier quoted context omitted.

PulseAudio took ages to get to a stable and reliable state. There are still warts (try and make your machine act as a bluetooth audio receiver. It's horribly ugly.) systemd wasn't reliable or fit for purpose for servers when it got shoehorned in to everything. When it comes to production servers you need stable and reliable. Not new and shiny. You're ideally rarely having anything happen on the server other than "run…

Sadly there are two definitions of server floating around these days. There is the classical "box in the corner sending and receiving data over the network". And then there is the new "bunch of software in a container in the cloud somewhere". And with the latter definition, stable and reliable seems to be of lesser importance in the eyes of the faithful. This because they can just fire off a new instance of the conta…

On either case, a fault means that at least one person will get a bad interaction with your service. And usually a few.

On either case, respawning time and scalability are limited by data coherence needs.

Post reply on HN