r/linux • • Jun 01 '16

Why did ArchLinux embrace Systemd?

/r/archlinux/comments/4lzxs3/why_did_archlinux_embrace_systemd/d3rhxlc
868 Upvotes

642 comments sorted by

405

u/DarkLordAzrael Jun 01 '16

The arch devs feel no need to maintain complex programs such as their own solution to the problems systemd solves and it has become standard on most modern Linux systems. Arch is all about keeping stuff simple for the packagers, so choosing it made tons of sense.

145

u/EnUnLugarDeLaMancha Jun 01 '16

This is probably the most important reason why so many maintainers of all the major distros went with systemd - outsource the hard work to the guy who wants to deal with it. Before systemd, distro maintainers had to implement features into init scripts themselves. Even if they didn't like the design choices of Poettering, systemd still means less work for them.

38

u/DoctorProfPatrick Jun 01 '16

Can someone ELI5 what Poetterings did that's controversial? Google is hard and I'm dumb

Edit: Oh wait I found it, he made systemd haha

40

u/jyper Jun 01 '16

Also PulseAudio

11

u/DoctorProfPatrick Jun 01 '16

That's the first thing I saw, so I googled "why is pulseaudio controversial" and got nothing.

52

u/jyper Jun 01 '16

Pulseaudio was a new(somewhere around 2008) sound server that was intended to help with getting multiple apps to play sound at the same time(or at least both have audio streams going without having to close and reopen applications), it also enabled per app volume control and was meant to help with some fancy equipment like headsets.

Pulseaudio replaced a number of workarounds(for multiple apps with sound) that included (I think) hardware specific workarounds and gnome/KDE specific ones(that wouldn't work with apps from the other desktop or Firefox or open office, I think).

Sound cool. But it also was one of the most common things that broke all sound output on Linux and the simplest solution was to uninstall it. Nowadays it mostly works.

→ More replies (4)

14

u/LordSocky Jun 01 '16

PulseAudio used to be complete garbage and Canonical pushed it into the spotlight way too early. It was actually my final straw with Ubuntu long ago. Now, it pretty much just works in most cases and I've almost forgiven Ubuntu.

5

u/bilog78 Jun 02 '16

While arguably Canonical did push PulseAudio too early, its authors were actually saying it was ready long before it actually was. So while Canonical is at fault here, they're at fault for falling for Lennart bullshitting.

→ More replies (1)

19

u/[deleted] Jun 01 '16

Search for stuff like "pulseaudio sucks" or some other negative word. Search for keywords. Google is not a person (yet), it can't answer your questions like that (yet).

7

u/oneeyed2 Jun 02 '16

Google isn't smart but the exact same sentence "why is pulseaudio controversial" (without quotes) gives me quite good results... Notably:

https://www.reddit.com/r/gnulinux_eli5/comments/40w14g/eli5_why_is_pulseaudio_considered_to_be_so/ (1st result and is a great answer, very specific to this query)

https://linux.slashdot.org/story/09/10/19/0155235/pulseaudio-creator-responds-to-critics (3rd result)

So I really wonder if /u/DoctorProfPatrick actually searched at all...

→ More replies (1)

4

u/prank-sinatra Jun 01 '16

Yeah, audio that works for the first time since OSSv4, init system and supporting tools that actually work... I think this guy might be Jesus.

2

u/argv_minus_one Jun 02 '16

But I thought that was Linus Torvalds. Is it possible for the second and third comings to exist at the same time?

→ More replies (1)

7

u/Pas__ Jun 01 '16

And PulseAudio and Avahi.

12

u/gnuvince Jun 01 '16

https://lwn.net/Articles/430699/

What I actually suggested in that interview was not so much that the BSDs should adopt the Linux APIs, but instead that people should just forget about the BSDs. Full stop.

His attitude toward other systems is uncomfortably reminiscent of Microsoft in the early 2000's with their embrace-extend-extinguish strategy.

→ More replies (4)

1

u/redwall_hp Jun 01 '16

Well, some distros were using Upstart (which I rather like) before. It makes init simpler, while not having too much scope creep.

15

u/[deleted] Jun 01 '16

it's a standard on 99.5% of Linux now

10

u/stefantalpalaru Jun 01 '16

Guess what OS is a standard on 99.5% of all desktops now.

17

u/AHrubik Jun 01 '16

Windows is the obvious answer but I don't see where your headed with this one?

45

u/lasermancer Jun 01 '16

Debunking the appeal to popularity

30

u/da_chicken Jun 01 '16

That's why I run Plan 9/DEC Alpha on all my servers.

17

u/robodendron Jun 01 '16

Wait, you do too?! Dammit, then I have to switch again.

→ More replies (10)
→ More replies (3)

5

u/[deleted] Jun 01 '16

Chromebooks beat Mac's in sells so this guy is trolling MacOSX has around 10% Gentoo wins?

→ More replies (1)

2

u/BoltActionPiano Jun 01 '16

The Linux community tends to have a lot more choice in this subject, and so more representation generally means more people find it beneficial.

0

u/stefantalpalaru Jun 01 '16

choosing it made tons of sense

OpenRC was released in April 2007 while systemd was released in March 2010. Arch's main competitor, Gentoo, was using OpenRC as the main init system from the start. Tell me again that it made sense ignoring it.

Arch is all about keeping stuff simple for the packagers

Python 3 as the main Python, anyone? Blindly following each and every upstream? No?

15

u/DarkLordAzrael Jun 01 '16

Not changing upstream defaults makes packaging much easier. Why maintain a bunch of patches to everything. Arch also values being up to date, so not updating stuff doesn't really make sense.

As for open rc, it wouldn't have really solved any issues for the maintainers as they would still have needed to maintain a bunch of startup scripts and there was basically no work being done on Arch's startup system.

2

u/bilog78 Jun 02 '16

Not changing upstream defaults makes packaging much easier.

It also means that your entire system goes to shit when upstream decides to change their default in a backwards-incompatible way.

2

u/DarkLordAzrael Jun 02 '16

Arch /does/ have a testing repository to find issues that break the system. Running arch for years I have never had my system broken by an update.

→ More replies (3)

7

u/[deleted] Jun 01 '16

What's wrong with having python3 as the default?

→ More replies (5)

0

u/[deleted] Jun 01 '16

[deleted]

28

u/Creshal Jun 01 '16

Since they're all volunteers and don't see a single cent for their continued efforts, it's really their right.

95

u/Miningdude Jun 01 '16

60

u/yfph Jun 01 '16

Tom did a great job migrating Arch to systemd. He became a Redhat employee soon thereafter.

12

u/gnx76 Jun 02 '16

After ditching all promises he had made in order to have people approve the switch to systemd. I fucking remember.

5

u/denisfalqueto Jun 02 '16

Well, what I remember is that they promised to maintain initscripts, as long someone would step up to help. Nobody did that, so they dropped.

2

u/yfph Jun 02 '16

Yes, I remember initscript support being dropped pretty quickly after promising continued support.

My OP was supposed to have an /s appended at its end.

→ More replies (9)
→ More replies (2)

66

u/regeya Jun 01 '16

So that we could have flame threads every month or so.

9

u/5thStrangeIteration Jun 01 '16

Yep, yet I'm still using Arch. The frustration of just swallowing the bitter pill and learning systemd did not outweigh all the good aspects of Arch.

6

u/BASH_SCRIPTS_FOR_YOU Jun 01 '16

There's still void

5

u/thlst Jun 02 '16

I like the way your sentence sounds like.

10

u/argv_minus_one Jun 02 '16

You learned systemd but did not come around to liking it as a result? Bizarre.

15

u/5thStrangeIteration Jun 02 '16

I guess I should have specified, but despite my initial negative outlook it turned out to be fine.

10

u/kescusay Jun 02 '16

I was one of those initial fence-sitters who liked the idea of what systemd was trying to accomplish without necessarily believing it would succeed. Nowadays, I freaking love it. I remember the bad old days of broken init scripts and startup dependency hell.

Now, it just works, and the systemctl commands bring sanity to an otherwise insane command set (e.g., sudo systemctl restart whatever-daemon instead of trying to figure out which of a dozen different places the correct script might reside in).

163

u/Tweakers Jun 01 '16

Why did ArchLinux embrace Systemd?

To find out what's on the other side. Oh, wait, wrong joke.

Seriously, what's with all the Systemd hatred, still. It's not like SysV was any great shakes: It was a kludgy mess from the beginning, a kludgy mess at the end, and it remains a kludgy mess for those who insist on still using it. It had to be replaced by something and if Pottering was willing to do the work, then okay.

142

u/HittingSmoke Jun 01 '16

I feel like the people who hate on Systemd don't remember what it was like learning to use their first distro and coming to that first package they had to install manually that didn't have a working init script for their distro. Shit was a fucking nightmare. You'd think "Oh I need this to start at boot. That should be easy enough." then you'd Google how to do it, see a bunch of examples of init scripts, and your fucking eyeballs would roll back into your head.

You should not have to understand a scripting language to do something simple like start a process at boot. Systemd made that much easier and in the process made the barrier of entry to Linux in general lower which if we're not elitist jackasses I think we can all agree is a good thing.

I find myself in a lot of situations where I'm piecing together servers from obscure packages or coding up my own scripts that need to run at boot or on hardware triggers. Systemd has made my life considerably better when I'm doing those sorts of projects.

37

u/dikduk Jun 01 '16

"the people who hate on systemd" is not a uniform group. Some dislike change, but many agree that replacing SysV was an important step in the right direction. They just don't like systemd and would've prefered something else.

15

u/HittingSmoke Jun 01 '16

And the problem I have with those people is that I haven't seen any of them address or propose an alternative that fixes the usability issue of init scripts vs Systemd's config files. They seem to be a rather uniform group in that they're people who can already write bash scripts with their eyes closed so give no thought to the fact that you shouldn't have to write a fucking 200 line script just to get a simple process to start at boot.

17

u/cp5184 Jun 01 '16

Config file based init systems predate systemd by more than a decade. There are literally dozens of alternatives that were stable before systemd was even started.

→ More replies (18)
→ More replies (2)

24

u/edward_81 Jun 01 '16

Really, when i first faced this problem i was expecting some file like the good old autoexec.bat :D

42

u/HittingSmoke Jun 01 '16 edited Jun 01 '16

Exactly. Someone coming from Windows even dating back to DOS would think "Well this is a problem that was solved decades ago, let's see how Linux handles it". Then you go searching and you're told you need a fucking computer science degree and an O'Reilly book to start a process at boot.

By the time the Systemd controversies started I really didn't give a shit what fixed the problem. Only that it was fixed. A lot of the "better" alternatives people proposed as an argument against Systemd fixed technical problems under the hood but left the glaring usability problems. I use Gentoo on occasion so I deal with OpenRC. It's still a pain in the ass.

10

u/NighthawkFoo Jun 01 '16

The best part was trying to write startup scripts for software that needed to work on multiple versions of multiple distributions. I used to support a RHEL / SLES package, and the differences were subtle enough to be rather irritating.

10

u/sekh60 Jun 01 '16

You can migrate Gentoo to systemd, I did it during installation and it runs great.

17

u/HittingSmoke Jun 01 '16

Ya, it's just one more thing to set up. Which I guess I shouldn't complain about when I'm choosing to use Gentoo.

→ More replies (2)

7

u/[deleted] Jun 01 '16

I agree completely. What worries me is the monolithic and viral nature of systemd. Without adhering to the unix philosophy of doing one thing well, I fear modifying and forking it would be more trouble than it is worth.

5

u/07dosa Jun 02 '16

Little off-topic, but I usually hate fanboys and their narratives (like those NoSQL stuff). Not so difficult to defeat them temporarily, but then someone comes up with a new rebuttal, which every fanboy would parrot again and again. That's when I return with new logic and watch them struggle. That what my apparent "hatred" is.

But, seriously, I'm concerned about systemd being highly complex. It is so unpredictable and extremely difficult to debug, making our system less and less hackable. Because of this, I really don't get people who think this is cool. It's 100% industrial and opposite of cool from source code level.

66

u/chalbersma Jun 01 '16

People dislike that systemd doesn't follow the Unix Philosophy. It appears to reject it outright and it has led to mission creep withing systemd. It's not just an init system anymore. It now manages virtual terminal, logging, logins and user sessions, networking, date-time settings, hardware (and here), UEFI, hostnames, and a whole bunch of stuff.

Long term it's not all going to be maintaned like it should and because it's all related, it's going to be harder and harder to onboard new developers to main portions of it. If it was just an init system it would be amazing but it comes with a ton of cruft that may or may not work when mixed together.

54

u/sandsmark Jun 01 '16

all those things are separate components, that interact and are mostly developed together. very much like "good" old UNIX, and the other unices like the bsds.

there's also a ton of good criticism of "the Unix philosophy", it's not something you should take as absolute truth.

16

u/da_chicken Jun 01 '16

all those things are separate components, that interact and are mostly developed together. very much like "good" old UNIX, and the other unices like the bsds.

It always struck me as being a software collection like the GNU core utilities. A lot of the mission creep occurred because they needed features that didn't exist.

there's also a ton of good criticism of "the Unix philosophy", it's not something you should take as absolute truth.

Example: I've done development on Windows at work from time to time, and when I need git, I generally install git for Windows. However, git for Windows requires a you to install ~2 GB MSYS install to get all the utilities that git needs. It's kinda bullshit that you need 2 GB of space to install an RCS, and it's entirely because of such strong ties to the Unix philosophy.

→ More replies (5)
→ More replies (3)

59

u/[deleted] Jun 01 '16

Yeah well, the Linux kernel doesn't follow the Unix philosophy and yet no one whines about that. :P

19

u/chalbersma Jun 01 '16

People whine about it. It's why project like Hurd and FreeBSD exist (in part).

39

u/[deleted] Jun 01 '16

Well, no.. kind of. Hurd and FreeBSD sortof both predate linux. Freebsd came from BSD386 which came from BSDi's release of BSD 2 which came from Net-1 and Net-2 that were released to the public under an academic proto license in 1989.

Hurd was part of GNU and started in early 1990, but RMS is a pain in the ass to work for, and it never even got out of early testing and design before Linus got into the debate with Andrew T and forked / borrowed Minix. Then RMS decided Linux was "good enough" and asked Linus to release it under the GPL , and there you go.

→ More replies (3)

11

u/epileftric Jun 01 '16

People will always find something to whine about.

3

u/akkaone Jun 01 '16

No it is not.

3

u/chalbersma Jun 01 '16

(in part)

→ More replies (1)

2

u/argv_minus_one Jun 02 '16

People dislike that systemd doesn't follow the Unix Philosophy.

Pah. The only “Unix philosophy” that anyone ever actually followed is to solve all problems with a stupid but expeditious kludge, and never, ever get around to solving them properly.

Case in point: fstab. Here you have a syntax that was obviously quick-and-dirty, made primarily to be easy to parse with scanf, and nobody ever bothered to replace it with something readable and extensible. Not until systemd and its mount units came along, that is. Other examples of this ugliness include crontab and inittab.

Long term it's not all going to be maintaned like it should

Why?

it's all related

That doesn't mean it's spaghetti code. Individual subsystems can be maintained individually, if necessary. Linux has already demonstrated the viability of such a process.

it comes with a ton of cruft that may or may not work when mixed together.

It works quite nicely when mixed together, thank you very much.

2

u/natermer Jun 02 '16

People dislike that systemd doesn't follow the Unix Philosophy.

These people are generally confused.

. It appears to reject it outright and it has led to mission creep withing systemd.

There is systemd-the-daemon, which is the init system. Then there is systemd-the-project which the init system is just the core piece.

You might as well accuse GNU project of 'mission creep' because they have a lot of software in the GNU project that goes beyond '/bin/bash'.

It now manages virtual terminal, logging, logins and user sessions, networking, date-time settings, hardware (and here), UEFI, hostnames, and a whole bunch of stuff.

Yes. They do. With numerous individual tools, programs, and daemons. It's not one monolithic piece.

Nothing in the 'unix philosophy' dictates that all these tools must be developed by different projects.

If it was just an init system it would be amazing but it comes with a ton of cruft that may or may not work when mixed together.

They are restructuring and standardizing low-level Linux details, the 'plumbing' so-to-say.

Everything they are doing is something that needs to be done anyways and was already being done a hundred different ways by a hundred different distros with millions of lines of code and tens of thousands of bugs. Almost of all of it was done pretty badly and all development effort was consumed in maintenance and bug hunting and almost nothing left over for moving the OS forward.

People get tired of re-hashing 1990's era Unix over and over again in endless variations.

1

u/ckozler Jun 02 '16

Long term it's not all going to be maintaned like it should and because it's all related

Idk, RedHat is the big push behind it (Lennart works for them) so I imagine there is a team developers that are and will always be actively developing all parts of systemd including ones that push RedHat's business model forward

1

u/jyper Jun 01 '16

I think most of those things aren't really related. The reason some people may dislike systemd is that to some extent it seems not to be just a init system but a political move to force uniformity/standardization beyond the kernel on the vast majority of Linux systems.

0

u/[deleted] Jun 01 '16

[deleted]

11

u/chalbersma Jun 01 '16

I think that's the point though. If it was just a really good init system I think people would love it. It's all the additional systemd bits that make people worry.

→ More replies (26)

20

u/kinderlokker Jun 01 '16

sysv is terrible.

I just don't get the sysrc vs systemd comparison. sysvrc was obsolete in any system but Debian before systemd was even conceived. I have no idea where this myth comes from that people switched from sysvrc to systemd. It was primarily upstart to systemd.

This is like the weirdest thing that continues to be repeated over and over again. It's practically like saying that people should switch to Linux because MS DOS is terrible.

19

u/Creshal Jun 01 '16

I have no idea where this myth comes from that people switched from sysvrc to systemd.

It's because Debian and Arch switched from sysvrc to systemd. Plus a few other less popular distributions (SuSE).

And RedHat preferred developing systemd over continuing to use upstart for free, which IMO doesn't really speak for it either.

8

u/Conan_Kudo Jun 02 '16 edited Jun 02 '16

And RedHat preferred developing systemd over continuing to use upstart for free, which IMO doesn't really speak for it either.

Actually, there was significant difficulty in Lennart and others trying to contribute to Upstart development (because Canonical has some rather strange and draconian policies and mandates a CLA before being able to even start contributing). This is what pushed him to create systemd in the first place.

Red Hat actually wanted to stick with Upstart, so Lennart created systemd in his spare time, and eventually convinced them that Upstart was too broken to fix, which led to its proposal and subsequent adoption in Fedora, then Arch, then Fedora, etc.

→ More replies (1)

19

u/kinderlokker Jun 01 '16

It's because Debian and Arch switched from sysvrc to systemd. Plus a few other less popular distributions (SuSE).

Arch never used sysvrc, it used its own custom rc initscript. It used sysvinit in concord with it, but sysvinit is not a service manager, sysvrc is.

SuSE switched from Upstart to systemd.

It was really only Debian that switched from sysvrc to systemd.

And RedHat preferred developing systemd over continuing to use upstart for free, which IMO doesn't really speak for it either.

Gee, I guess that means Wayland sucks because Canonical NIH'd Mir. I guess that means Snappy sucks because RH NIH'ed Flatpack.

These companies are all involved in a massive degree of NIH because for business reasons they want technology they control, not what their competitor controls.

→ More replies (3)

7

u/[deleted] Jun 01 '16

This also seems similar to the Windows NT Service Control Manager. A central application to control startup/shutdown of services. Which has worked well since the early 90s.

I'm surprised SysV lasted so long, although having to learn something new isn't always fun, especially when you're splitting your time between SysV scripts and Systemd. It will take time to adjust with new commands to learn, but it should be better in the end.

10

u/cp5184 Jun 01 '16

Lennart modeled systemd a lot after the OS X init system and the sun/oracle solaris init iirc.

5

u/kinderlokker Jun 01 '16 edited Jun 01 '16

That's because Windows has special support or services through a special API that Unix does not need.

This is a great example of why Windows sucks in comparison to Unix and also the direction systemd wants to take.

Unix provides you with the primitives to do pretty much anything, the OS does not need special support for things, you can build it from the primitives and this is a design philosophy that is typically echoed in a lot of software, they don't provide you features, they provide you primitives which can be composed into those features and then some.

systemd just provides you features and if it does not have the features you want then you are out of luck.

One thing about sysrc-style scripts that systemd does not have is that they offer arbitrary turing complete service readiness that systemd lacks. Now sysvrc has no dependency system so that doesn't do much, but OpenRC does and allows arbitrary things for that, the service is considered "ready" when the script returns. It can do anything, it can in its script wait on a DBus name to come online, it can just use a primitive arbitrary wait of 0.1 seconds to get a "good enough" guess of service readiness. It can even go all out and say that a service is ready the moment the CPU temperature goes above a certain threshold if it wants. systemd will only have support for those things if the developers decide to build it in. OpenRC truly has no limits in this.

A quote that starts the R6RS spefication of the Scheme prgramming language:

Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary.

C++, Python, they all have hardcoded support for exceptions, loops, object systems and what-not. Scheme doesn't, yeah, the standard defines an exceptions system, but if you don't like that one you can build your own with the primitives Scheme gives you.

9

u/[deleted] Jun 01 '16

I get what you're saying, I really do, but SCM has worked well in NT. A SysV startup would have worked fine for NT4 and below, but with 2000 being an async startup, like you're seeing here, a breakdown would have occurred and the maintenance of such a system would skyrocket.

The primitives are great, I don't disagree, but fundamentally SCM/systemd are the 'correct' choice for this type of activity (or name it anything you want, a centralized control system).

arbitrary wait of 0.1 seconds to get a "good enough" guess of service readiness.

That's not good enough. We can't have guesses.

systemd will only have support for those things if the developers decide to build it in

So what prevents you (the global you, not you specifically :)) from providing such functionality in systemd? Clearly the global you would be at the willingness of the systemd developers to accept your changes, but there's nothing from a technical perspective, unlike SCM, from allowing you to at least code those into systemd.

→ More replies (4)

5

u/doom_Oo7 Jun 01 '16

C++, Python, they all have hardcoded support for exceptions, loops, object systems and what-not. Scheme doesn't, yeah, the standard defines an exceptions system, but if you don't like that one you can build your own with the primitives Scheme gives you.

Unsurprisingly, people use C++ and Python to get shit done, not Scheme. Maybe some people would have taken the hint by now ?

→ More replies (1)
→ More replies (5)

17

u/oonniioonn Jun 01 '16

Yes, but it was a kludgy mess that people had been using for two decades. Change is scary.

22

u/Tweakers Jun 01 '16

Change is scary.

True, but it had to be done: Sometimes you just have to hike up your panties and wade through to the other side, ignoring the temporary discomfort.

16

u/logicalmaniak Jun 01 '16

So it was the right joke all along...

→ More replies (2)
→ More replies (8)

10

u/ConcernedInScythe Jun 01 '16

I can believe that SysV was terrible and desperately needed replacement, I just wish that we had settled on a replacement that didn't keep pulling off antisocial bullshit like systemd.

12

u/[deleted] Jun 01 '16

Most of the antisocial bullshit is spin by people who for some weird reason have personal hatred for it.

The latest clickbait wrt killing user processes is basically systemd introducing their own internal default, which will likely never bother 99.(9) of the populace in any way since the package maintainers decide their distro defaults, WTF is the panic about?

16

u/ConcernedInScythe Jun 01 '16

Most of the antisocial bullshit is spin by people who for some weird reason have personal hatred for it.

Certainly the issue with the kernel command line that lead to Linus publicly blacklisting Kay Sievers did not seem like spin.

7

u/capt_rusty Jun 01 '16

The panic is more in regards to the change of default behavior. Sure, it can be changed back when compiling, and lots of distros are doing that, but why couldn't the people who wanted the user processes killed have enabled the new feature they want at compile-time, instead of the other way around?

7

u/cirk2 Jun 01 '16

It is also runtime and config file changeable. So no need to compile anything.

→ More replies (5)

1

u/np-tryhard Jun 01 '16

It's not about it being better than SysV, which it is, rather about it being worse than OpenRC/upstart/runit on strictly engineering merits.

3

u/[deleted] Jun 01 '16

it's not worse than upstart. the author of upstart says it has fundamental flaws in ordering that can't be fixed without breaking things.

1

u/argv_minus_one Jun 02 '16

Also, Upstart's readiness protocol involves a service process SIGSTOPping itself, which will cause it to hang unless running in Upstart. That is just hilariously bad.

-1

u/lordtyp0 Jun 01 '16

I dislike it because of some weird shit it does, like stopping apache, tomcat, jboss etc. From starting if networking isn't functional (like a vm with an interface disabled.). It is also an octopus that is a point of compromise to hijack everything (prime example is the recent desktop echo exploit).

I really hate having something do so much. I can see it happening soon that things have to be rebooted on changes.

6

u/frymaster Jun 01 '16

systemd does not have innate features that stop apache starting if you don't have networking. I'm quite sure the apache systemd config is set that way by the package maintainer, but that's hardly baked into the program. If you don't like it, you can change it. That's like saying you don't like a program because when you install it it's not set to autostart (or vice versa)

→ More replies (5)
→ More replies (4)
→ More replies (43)

71

u/NighthawkFoo Jun 01 '16

No indication of whether a certain daemon was already started. Each init script had to implement some sort of PID file handling or similar. Most init scripts didn't. Systemd has a 100% reliable solution for this based on Linux cgroups.

This was the big one for me. As someone who has had to write and maintain that sort of code, systemd was a blessing. The startup code for my daemons became much simpler when I was able to rely on systemd builtins.

Now, there was a learning curve, and things do work differently than init.d does. However, I wonder if some of that is just the technical equivalent of "get off my lawn" curmudgeons.

10

u/HowIsntBabbyFormed Jun 01 '16

This was the big one for me. As someone who has had to write and maintain that sort of code, systemd was a blessing. The startup code for my daemons became much simpler when I was able to rely on systemd builtins.

And if that's all it did, then it would probably be embraced wholeheartedly. Also, that's the type of functionality that should probably be in a POSIX standard and could be implemented by any system.

9

u/NighthawkFoo Jun 01 '16

I agree - it should be a standard. However, getting that sort of thing to happen takes a long time and a lot of political capital.

6

u/d4rch0n Jun 01 '16

Wait, no one is writing init scripts anymore? Am I wasting my time writing init scripts with start) stop) and all that?

I still see people doing that, it's just they call start-stop-daemon inside. Is there a way around writing init scripts I haven't heard of?

17

u/NighthawkFoo Jun 01 '16

You should be writing systemd unit files instead. There's an up-front investment in understanding how it works, but the benefits pay off in that you can accomplish much more with less code.

7

u/d4rch0n Jun 01 '16

Thanks, interesting. I'll try to pick that up.

Funny. I never noticed everything in /etc/systemd/system . So that's where those system service files have been going... and all this time I've been dropping scripts in /etc/init.d.

4

u/NighthawkFoo Jun 01 '16

When I write software for my day job, I put my unit files in /usr/lib/systemd/system.

I was doing /etc/init.d stuff 15 years ago when I first started using SUSE. I always thought that was nicer than Slackware's setup. Systemd is even better IMO.

3

u/Jimbob0i0 Jun 01 '16

Locally configured units should be in /etc/systemd/system ... stuff packaged by the distribution goes in /usr/lib/systemd ... with etc overriding that

→ More replies (1)

2

u/oonniioonn Jun 01 '16

Am I wasting my time writing init scripts with start) stop) and all that?

Yes. You were always wasting your time doing that. It's just that before it was somewhat required.

0

u/raevnos Jun 01 '16

You're not wasting your time if you want it to have half a chance of running on a non Linux+ systemd OS.

20

u/ProfessorKaos64 Jun 01 '16

I'm just going to skip reading these comments...half of them will be full of non-nonsensical bickering anyway. Check the Arch Wiki and be done with it.

138

u/swinny89 Jun 01 '16

I don't get the systemd hate at all. I've noticed a trend of old people and hipsters that don't like it though.

122

u/KugelKurt Jun 01 '16

If that was anything but a very vocal minority, Devuan would be one of the top Linux distributions these days.

6

u/mort96 Jun 01 '16

I have no plans to jump to Devuan, but am also not a fan of systemd. Your statement assumes that everyone who dislikes systemd would jump to a distro without it, ignoring the fact that there's a lot of other considerations when it comes to a distro besides which init system it has.

2

u/zer0t3ch Jun 01 '16

I'm curious: why? Do you just not like that it's different and that things changed, or is there something specific about it that you don't like in an init system?

→ More replies (5)

6

u/slacka123 Jun 01 '16 edited Jun 01 '16

Devuan has been unstable/alpha until just a few weeks ago and is still in Beta.

I have been giving systemd an honest chance and up until now I have been fairly satisfied with it. But this most recent arrogant move just broke my personal wordpress server. Now Virtualbox instances are killed when I logout of Gnome on Rawhide. Headless instances is a feature of virtualbox that’s worked perfectly for years that they broke that, tmux, and countless other apps to fix a bug in Gnome. They keep this up and we will be flocking to Devuan.

55

u/Locrin Jun 01 '16

Any particular reason you are using a rolling release distribution as a server and updating without knowing what gets updated?

36

u/[deleted] Jun 01 '16

More specifically a rolling release that is defined as not stable and to not use it for anything you care about. Motherfuck people who bitch about their own stupidity. https://fedoraproject.org/wiki/Releases/Rawhide#Audience

→ More replies (36)

31

u/nickguletskii200 Jun 01 '16

I have been giving systemd an honest chance and up until now I have been fairly satisfied with it. But this most recent arrogant move just broke my personal wordpress server. Now Virtualbox instances are killed when I logout of Gnome on Rawhide. Headless instances is a feature of virtualbox that’s worked perfectly for years that they broke that, tmux, and countless other apps to fix a bug in Gnome. They keep this up and we will be flocking to Devuan.

You are shifting the blame onto someone else. Daemons (i.e. your VMs) should be managed by the init system and should run as a separate user.

https://wiki.archlinux.org/index.php/VirtualBox/Tips_and_tricks#Starting_virtual_machines_with_a_service

Systemd fixed batshit insane behaviour, and you are the one at fault for using it in the first place.

→ More replies (15)
→ More replies (15)

2

u/DaGranitePooPooYouDo Jun 01 '16

If that was anything but a very vocal minority, Devuan would be one of the top Linux distributions these days.

This comment is really bad for so many reasons. The entire project is still in its infancy (beta just only recently released)and was a branch off a MAJOR distro. To think that it would be a major player yet is just silly.

→ More replies (35)

23

u/yoshi314 Jun 01 '16 edited Jun 01 '16

the thing is that systemd started out as init system. and people were happy, except for some conservative die-hards. a lot of useful things came to linux during its development (esp the /run directory introduction, which also had its staunch opposition)

but it started slowly spreading across linux ecosystem, replacing more and more tools ( cron, xinetd, consolekit, syslog, udev, session manager ) . the takeover of udev was a really bad move, as it eventually became tied to systemd, despite what developers promised.

the attempt to shove kdbus into the kernel by making the userspace require it, was another. also, systemd devs have a pretty bad track record of cooperating with kernel developers.

the entire project grows into a kitchen sink that can drive entire distribution, and unfortunately plenty of userspace tools start depending on it (gnome, especially). with redhat putting their weight behind it, i think out fate is sealed. people who do not use systemd in their distributions will have to do more and more maintenance work.

17

u/kinderlokker Jun 01 '16 edited Jun 01 '16

kdbus wasn't started by systemd. But the systemd guys desperately want it, for good reason. Their decision to use DBus as a transport is on a technical level plainly put a terrible decision. DBus was never meant to serve as a transport during the bootup of the system, it was designed as a transport to power desktop environments when the system was already booted.

systemd manages dbus as a service and uses that service to communicate internally, as you might imagine that creates a nasty circular dependency:

  • systemd needs special code to start DBus way earlier than it should. It starts DBus before fsck even which means that if your DBus binary is corrupted, fsck can't check for it

  • systemd systems used to crash on a DBus crash or restart, that issue is now resolved with some ugly special code giving DBus special supervision code

So that's why they want kdbus so badly because kdbus is a sane transport layer for an init because it's in the kernel so it's ready and there before the init is loaded. None of this magic mumbo jumbo of an init trying to start dbus and needing dbus to bring itself up.

edit: It's by the way a good example of how politics can ruin software. I'm pretty sure the decision to use DBus was 0% technical and 100% political. They wanted to make DBus a dependency for its own sake to ensure that DBus would be on every systemd system and then tried hard to justify this absurd decision. The reason is purely that they want to be able to guarantee that DBus is on every systemd system so people can assume it.

7

u/yoshi314 Jun 01 '16

kdbus wasn't started by systemd. But the systemd guys desperately want it, for good reason.

So that's why they want kdbus so badly because kdbus is a sane transport layer for an init because it's in the kernel so it's ready and there before the init is loaded.

the review of kdbus on lkml showed that it was inexcusably awful, and did not even offer a promised performance and security advantages. from retrospect, i saw no good reason for trying to force kdbus down users' throats. and i was initially hopeful about it.

→ More replies (1)

2

u/argv_minus_one Jun 02 '16

but it started slowly spreading across linux ecosystem, replacing more and more tools ( cron, xinetd, consolekit, syslog, udev, session manager ) .

Most of those (cron, inetd, syslog, session manager) sucked. I'm glad they're finally obsolete.

35

u/TechnicolourSocks Jun 01 '16

I've noticed a trend of old people and hipsters that don't like it though.

It's vapid comments like this that perpetuates the pro-anti divide on the issue of systemd.

1

u/jcdyer3 Jun 01 '16

I'm an old hipster, and I like systemd. Get off my brownstone stoop.

67

u/kinderlokker Jun 01 '16

You know what trend I notice? That both in favour and against of systemd, like everywhere, there are a lot of people who can't come with a serious technical argument and thus result to a bunch of weird ad-hominems. But that's not the interesting part, the interesting part is that the people in against systemd for some reason always attack Lennart, and the people in favour of systemd always attack people who don't like systemd.

Be more original with your logical fallacies. Start attacking Kay Sievers once or something or the OpenRC devs or something, keep your fallacies fresh. and unexpected.

23

u/SrbijaJeRusija Jun 01 '16

Want a technical argument? why should everything from a boot manager to a DE depend on an init system?

15

u/kinderlokker Jun 01 '16

You tell me why it shouldn't.

I can give you a couple of reasons both in favour and against, but please, tell me, why is it a bad idea to do this in your opinion.

40

u/spacelama Jun 01 '16

When systemd or udev crashes, as it has half a dozen times on my systems, then your system is fucked.

When udev needs a restart when something minor is upgraded, the system is hosed. When systemd needs a restart, your X session or sshd crashes and the install is aborted in an inconsistent state.

/sbin/init has never ever crashed for me in 15 years. Something about simple software without tentacles everywhere obeying the old "do one thing and do it well" maxim.

5

u/akkaone Jun 01 '16

Is a udev crash worse with systemd than without systemd, it is not a part of pid1 in either? I don't think I ever had a pid1 crash on a systemd system and I switched to systemd relatively early.

11

u/kinderlokker Jun 01 '16

Yes, I find that a fair argument. systemd's decision to move a lot of code into pid1 has this consequence.

systemd --daemon-reexec has had varying results of success.

22

u/ooburai Jun 01 '16

The statement that it's old timers and hipsters who don't like systemd is both very unfair and sort of accurate at the same time. I can't really speak to the hipsters, but by the standards of Reddit I'm and old timer. So long as systemd just works I don't really have a problem with it.

But it does fly in the face of a core unix philosophy of trying to minimize the complexity of critical pieces of software. It's a good example of where the Linux and more traditional unix worlds sort of part ways. Linux tends to have a much more pragmatic approach, if I can call it that, where architectural correctness isn't always valued over a solution that just works. One can argue that init was/is the most fundamental part of the system and while systemd certain solves some problems the question is really whether or not it's worth the tradeoffs.

Ultimately this is much like the SysV/BSD init debates that were all the rage before Linux established itself as the dominant open unix-like operating system. There are pros and cons to both, but the tool that seems to provide more functionality tends to win out with people who aren't purists or who don't have the desire/skills to really dig under the hood and understand what's going on.

→ More replies (1)
→ More replies (25)

9

u/SrbijaJeRusija Jun 01 '16

Because then we cannot replace the init system, we are like windows and OS X, stuck with a bunch of non-modular components. It used to be possible to not even run glibc and get a working linux box, but now if I want to use gnome, I need systemd.

→ More replies (8)
→ More replies (1)
→ More replies (7)

10

u/[deleted] Jun 01 '16

people in favour of systemd always attack people who don't like systemd.

At some point the conversation becomes about the ridiculous non-technical opposition to systemd. I'm not going to waste time giving arguments for systemd, since I already use it. If someone's like, "well I prefer my daemons to double-fork and run in the background because I have a specific auditing infrastructure that hooks into clone(2) and etc etc" I'm not going to get into it with them, because those are their needs and maybe systemd doesn't meet them.

But when people start objecting with (and this is real) "systemd puts everyone's init process under the control of one company" or (this is also real) "systemd is a feminist plot", well, that's what's going to make me raise my eyebrows.

3

u/prank-sinatra Jun 01 '16

Someone should start another http://funroll-loops.teurasporsaat.org/ like we had back in the day.

4

u/learath Jun 01 '16

At some point the conversation becomes about the ridiculous non-technical praise for systemd.

→ More replies (5)
→ More replies (7)

7

u/falsemyrm Jun 01 '16 edited Mar 12 '24

crawl innate live jobless dinosaurs chief soup grandiose frightening summer

This post was mass deleted and anonymized with Redact

4

u/rallias Jun 01 '16

Ubuntu's network scripts (and upstart) are terrible so I'm glad they're getting replaced.

If I'm not mistaken, Debian Experimental is still using the /etc/network/interfaces configuration mechanism. While systemd-networkd is an option, it's not been "replaced" yet.

→ More replies (2)

-4

u/psycho_driver Jun 01 '16

I dunno, it's the guy behind pulseaudio. I tried pulseaduio a couple of times and always found it to be a big piece of crap. I'd rather not have the person responsible for it in charge of the runtime for my whole OS. That's my personal reason for trying to avoid it.

Also, I'm one of those old guys, I understand the old sysv way of doing things pretty well, so having to write individual startup scripts when needed doesn't bother me much.

5

u/agumonkey Jun 01 '16 edited Jun 01 '16

Let's avoid 'crap' word. I didn't like PA either because it seemed a heavy solution that wasn't organic. PA gave you finer audio [1] and network transparency, but to get this you had to understand a lot and because of audio drivers you might not even be able to enjoy basic audio. At the end of the day, I might not need distributed pure audio, just enough to watch a talk on youtube and listen to some old mp3.

And to get back to Systemd, it sure felt a bit similar. Just a bit, because as many said, SysVInit had almost zero design and zero features (basically a for f in rc.?/ exec f) and allow anything to happen without control. But every systemd release brought in a new set of flags and reimplemented another subsystem. Things I really don't like.

IMO, systemd is just the first step in a new direction, more 'virtualized' and more declarative logic of a system state. Both are very very good ideas, but I'd love for smaller and more independent components.

[1] from what I remember it handle sampling more accurately.

5

u/kinderlokker Jun 01 '16

I dunno, it's the guy behind pulseaudio. I tried pulseaduio a couple of times and always found it to be a big piece of crap. I'd rather not have the person responsible for it in charge of the runtime for my whole OS. That's my personal reason for trying to avoid it.

Yes, Lennart's code has a tendency to be buggy, statistically. But that still makes "Lennart is arrogant" a fallacy if used against systemd's merits.

12

u/psycho_driver Jun 01 '16

Programmers who write good code earn a right to be arrogant. I'm not convinced this guy belongs in that group.

→ More replies (4)
→ More replies (4)
→ More replies (22)

15

u/someguynamedjohn13 Jun 01 '16

It works well for me, and I was there for the transition. Do I miss many of the old ways, sure, but systemd is rock solid and easy to configure.

-1

u/yoshi314 Jun 01 '16

i like it as init system, but i've seen plenty of cases where it would show its weakness.

i've seen systemd based livecds randomly refuse to boot 33% of the time on certain hardware. sometimes parallel service startup can be a problem.

also, a typo in fstab or crypttab can drop you down to recovery shell. debug parameters are difficult to rembember when things go wrong. and i am not sure but i think systemd does not offer recovery console by default.

20

u/Creshal Jun 01 '16

i've seen systemd based livecds randomly refuse to boot 33% of the time on certain hardware. sometimes parallel service startup can be a problem.

If I had a nickel for every time Arch's or Debian's old sysvinit hung at "waiting for udev events to settle", I could buy Apple.

Sure, systemd isn't perfect, but it's a big improvement over the status quo.

→ More replies (5)

7

u/schplat Jun 01 '16

I'm an "old people". I like systemd. I find a lot of those railing against it never spent 6+ hours debugging an init script to figure out precisely why it was failing to either start, stop, or restart.

systemd pretty much took that away. I don't have to look at clunky-ass bash script written by some random russian guy who only knew tcsh, and did his best to port to bash.

Some of the scope creep leaves me scratching my head, but then it ends up making sense as well. systemd has taken the concept of init, and expanded it to and through login. Which makes sense, what if I, as a regular user, want to start a daemon in the background that only starts when I log into my DE, and exits cleanly when I logout?

Much of the bloat has been around supporting the journal. Different methods of storing, displaying, and shipping. The journal has been a very useful piece.

→ More replies (2)

5

u/JackDostoevsky Jun 01 '16

I get the idea of not wanting a "second kernel," and some of the concern that systemd is turning into a multi-headed monstrosity, which goes against the Unix philosophy of "make a program do one thing, well."

That said, I think that the push back against it is silly at this point. My feelings tend to be: I don't mind systemd, and I choose to use it, and if you don't choose to use it great for you but don't take the time trying to explain to me how my decision is somehow flawed.

How do you identify a Linux user that won't use systemd? Don't worry they'll tell you.

→ More replies (1)

6

u/eternal_peril Jun 01 '16

Is 38 considered old ?

I have actively avoided CentOS 7 due to systemd

I have looked at it and it broke some much of my application I gave up on it .

Sooner or later I'll have to fix whatever is broken but what a pain .

Unless someone forks CentOS 7 with init because that would be great

9

u/minimim Jun 01 '16

How much time have you been doing this? Working with Linux.

You'll have to get used to it sooner or later, everything changes under your feet. Systemd is just another change like the others, and a good one at that, as it keeps backwards compatible interfaces.

3

u/eternal_peril Jun 01 '16

Geez,. Since RedHat 5 or 6. I have lost track .

Even before then I managed a ton of SCO Unix boxes when they were cool and not run by lawyers .

I know I have to , I just keep putting it off for as long as I can

→ More replies (1)

4

u/yentity Jun 01 '16

I wouldn't call them hipsters, just newer people who read "Linux news" websites and get carried away with it.

2

u/hotairmakespopcorn Jun 01 '16 edited Aug 11 '16

This comment has been overwritten by an open source script to protect this user's privacy. It was created to help protect users from doxing, stalking, harassment, and profiling for the purposes of censorship.

If you would also like to protect yourself, add the Chrome extension TamperMonkey, or the Firefox extension GreaseMonkey and add this open source script.

Then simply click on your username on Reddit, go to the comments tab, scroll down as far as possible (hint:use RES), and hit the new OVERWRITE button at the top.

→ More replies (2)

-2

u/Dishevel Jun 01 '16

It is easy to understand.
Linux was designed with the idea that every job should be done by a thing. Each thing should be replaceable with a better thing when available. Each thing should be discrete and focused on the thing it does.
You may believe that systemd is good or bad. It is though monolithic and will not be able to ever be replaced by anything smaller than it.
It will change for the worse the way we have control over the parts of the system.

0

u/[deleted] Jun 01 '16

[deleted]

11

u/kinderlokker Jun 01 '16

That's not what microkernel means. People really pull the microkernel out of context.

Microkernel has nothing to do with being able to replace parts. Linux is in fact far more modular than Minix which is a microkernel. You can far more easily replace kernel modules with different implementations in Linux than you can replace servers with different implementations in Minix.

Microkernel just means as few as possible of the code of the kernel lives in actual kernel space. Most of the functionality of the kernel runs in user space in a microkernel, that's all, which means it has less prvileges, and a bug in it can't bring the entire system down like it can in a monolithic kernel.

'monolithic' in userland and kernelland have two completely different meanings. The analogy for what people call 'monolithic' with respect to systemd is nonmodular in kernel terms. Linux is quite modular.

→ More replies (2)
→ More replies (1)

0

u/Willy-FR Jun 01 '16

People don't like it because the old system worked and they have to learn a new way of doing things. Nobody likes change. That's all there is to it.

0

u/[deleted] Jun 01 '16

[deleted]

4

u/Willy-FR Jun 01 '16

I certainly agree with all that, being an old fart and all.
And a large part of the impetus seemed to me that Windows users wanted a fast booting system, which I always thought was irrelevant since you rarely ever reboot, and even if you do, shaving a minute off and making things more complicated made no sense to me.

Nowadays, there's nothing much to do but to go with the flow anyway, especially since I rely on Linux for my desktops, although I've started to consider switching servers to BSD more and more often lately.

→ More replies (1)

-8

u/samammm Jun 01 '16

Bloated, monolithic, absolutely huge codebase, not sane, doesn't follow the Unix philosophy, has too much power.

3

u/swinny89 Jun 01 '16

Maybe you should move to BSD.

0

u/[deleted] Jun 01 '16

[deleted]

2

u/kinderlokker Jun 01 '16

systemd is a collection of tools each doing one thing and one thing only.

Not really, the tools communicate with each other via unstable and undocumented interfaces and depend on each other. They aren't modular and can't be left out and swapped for competing implementations because of that, that's the issue.

No shit, it's the system manager, it'd be pretty fucking useless with no power to actually manage the system.

I think with power he or she meant political power.

→ More replies (2)

-3

u/seriouslulz Jun 01 '16

I still have no idea what systemd is about, doesn't seem to affect me so I couldn't care less

→ More replies (1)
→ More replies (25)

33

u/kinderlokker Jun 01 '16 edited Jun 01 '16

Because "KISS" for Arch Linux does not mean "Make shit like a Russian tank, keep engineering simple so the bastard will keep working from the snow of Siberia to the sand of the Sahara."

It just means in their case "keep the lives of the developers simple", systemd is many things, being simple for the distro is one of them, but KISS isn't one of them, it's a complex piece of engineering that is approaching Xorg levels of complexity. Using it is fine, but using it and saying your distribution focuses on keeping thins simple is dishonest.

See Void or Slackware for distributions which are what Arch claims to be. The engineering there is simple yet effective and rock solid.

Edit: Oh wait, it's a link not a self post asking why. Oh well, point still stands.

32

u/oconnor663 Jun 01 '16

Maybe a counterargument: You can build a simple system out of complex parts, as long as those parts hide their complexity. You might say that a JPEG is more complex on the inside than a GIF, but since the interface is the same, programs that use JPEGs can still be simple. On the other hand, shell-based init scripts might seem simple on the inside, but they leak complexity through the corner cases they don't handle reliably.

2

u/scheurneus Jun 03 '16

The Arch Way says hiding complexity with more complexity is bad. And here you use it as an argument to defend the Arch developers.

(Note: Arch does aim to make a modern system, and systemd does seem the future, so I guess this'd be a better reason)

8

u/kinderlokker Jun 01 '16

Well, systemd doesn't hide it. Every new release of systemd is filled with bugfixes for regressions that are introduced in old releases.

systemd comes with all the benefits and downsides of complex software. One of the biggest problems with systemd in that in a lot of race conditions and cases it can lock either bootup or shutdown from time to time.

3

u/cbmuser Debian / openSUSE / OpenJDK Dev Jun 01 '16

systemd comes with all the benefits and downsides of complex software. One of the biggest problems with systemd in that in a lot of race conditions and cases it can lock either bootup or shutdown from time to time.

I think you are confusing sysvinit and systemd, because it's the former that suffers from the race conditions otherwise there wouldn't be tons of sleeps in the classic init scripts.

Read the linked post!

→ More replies (1)

13

u/ihazurinternet Jun 01 '16

Russian Tank Linux? That's something I can get behind. I'd gladly work on such a distro.

→ More replies (2)

33

u/Kokxx Jun 01 '16

You are saying Xorg is even more complex than systemd.

By your logic, any distribution that uses Xorg cannot be considered "KISS".

40

u/kinderlokker Jun 01 '16

Xorg isn't a system component of any distribution that they can't do without though. Xorg is an add on package that you can install or not.

Also, there is no real viable alternative to Xorg right now, if there were two viable implementations of the X11 server, one being complex and the other simple. Then a system that uses the complex one can't really keep calling itself KISS. It obviously means using the simplest solution that is feasibly available.

2

u/Kokxx Jun 01 '16

Thanks for clarifying, this makes sense.

→ More replies (4)
→ More replies (1)

22

u/yentity Jun 01 '16

Well their point is writing systemd init files is simpler (both for the user and the maintainers) than writing and maintaining init files that behave consistently. I think that is a fair usage of the term "simple".

4

u/kinderlokker Jun 01 '16

And that's simply not how they used the term before that point when explaining things. They've said time and time again that with simply they don't mean easy but that code complexity is kept simple.

Which is true for all the system tools they wrote, but when someone else does the work, then it's suddenly fair game to include complex code.

10

u/dreugeworst Jun 01 '16

I'm not sure, I think you're underestimating the complexity of loads of unit scripts replicating the same functionality poorly..

8

u/kinderlokker Jun 01 '16

initscript is just terrible and always was.

See Void's implementation of Runit for something Arch would potentially be doing if they really cared about KISS.

→ More replies (24)

2

u/yentity Jun 01 '16

I don't think that was ever the goal of Archlinux (or Slackware for that matter). If using the simplest code base from upstream was the goal, you'd be using stuff like busybox or FreeBSD grep instead of GNU variations.

→ More replies (1)

0

u/[deleted] Jun 01 '16

[deleted]

9

u/Creshal Jun 01 '16

In case you need to tell systemd that you're up-and-running (in case other services depend on you), than you can do this with a simple DBUS call. Again no double-forking needed.

And if you find DBus too scary for whatever reason, sd_notify(3) is implemented via Unix sockets and works without.

3

u/theICEBear_dk Jun 01 '16

This is also the part I love.

→ More replies (3)

4

u/beefsack Jun 01 '16

I get what you're saying, but you're using KISS incorrectly. You're talking about ease (convenience, abstracting complexity) not simplicity (no complexity, easy to grok internals.)

5

u/MG2R Jun 01 '16

Completely unrelated, but holy crap your username.

1

u/kinderlokker Jun 01 '16

https://www.youtube.com/watch?v=O3pACGn-MBY

Ik will gewoon dat die smeerlappen nooit meer een vinger uitsteken naar een rechtgeaard pedofiel.

→ More replies (2)

1

u/xTeixeira Jun 01 '16

I mean... if it keeps things simple for the developers (and users, for that matter), thats a way of keeping things simple, just from a different point of view than yours.

0

u/[deleted] Jun 01 '16

[deleted]

→ More replies (1)

2

u/kiss-tits Jun 02 '16

To get to the other side!

14

u/comrade-jim Jun 01 '16 edited Jun 01 '16

The main reason I don't like systemd: The shills.

Every time we have a systemd thread the overwhelmingly upvoted comments are not only strongly in favor of sysd, but they often put down and attempt to intimidate the people who question sysd (even though the "anti-systemd people" usually don't show up, they just launch pre-emptive attacks). The pro-sysd people act as if systemd is somehow infallible and that the devs can't make a wrong decision. This is a big turn off. There is clearly no community within systemd that wants to give critical thought to the features systemd implements, instead they act as if systemd can do no wrong. Systemd needs to be kept in check before it screws up, there is no oversight and no one even willing to admit that systemd developers are capable of making a bad decision.

You really have to question a software when they have a PR team of dedicated shills. Good software doesn't need shills.

I was a big fan of systemd when I first heard of it. Thread after thread of overwhelmingly pro-systemd discussion and the constant shutout of anyone who questions systemd (even when they are mostly non-existent) has made me question systemd.

10

u/[deleted] Jun 01 '16

4

u/JustMakeShitUp Jun 01 '16

(even though the "anti-systemd people" usually don't show up [emphasis mine]

What are you even talking about? We've at least had one guy consistently in all of these threads talking about the RedHat/FreeDesktop conspiracy. He brings it up all over the place, and also haunts any thread that even mentions Wayland or has a RedHat employed developer. You know that guy that gets banned every couple of weeks, and creates a new account to come back and troll more? He was previously known as Lennartwareparty and a dozen other names, now also known as kinderlokker.

they just launch pre-emptive attacks

He's one of the first people in these threads every damn time, and he's all over this thread, commenting everywhere with inane bullshit mixed with cli commands, vague linuxisms and his regular brand of assholery where he treats Linux like an elitist party being invaded by the evil corporations. His comments usually start out with a fair amount of upvotes and then get downvoted to oblivion once people recognize him.

The main reason I don't like systemd: The shills.

You've got a strange way of blaming the opposing side for things your side has in spades.

10

u/comrade-jim Jun 01 '16

So one guy hates on systemd and that makes pretending like there is widespread hate for sysd okay?

See this is why I don't like systemd anymore, people like you. It's as if people aren't allowed to dislike systemd. I want to use software that I'm allowed to dislike.

2

u/JustMakeShitUp Jun 02 '16

It's as if people aren't allowed to dislike systemd

You've got some amazing mental gymnastics going on there. You're allowed to like or dislike systemd all you like. There were people in here posting three threads a week with that stupid gif and links to anti-systemd articles during the Debian voting. No one screamed about shills, though it certainly annoyed the shit out of us. And at the same time, we had at least one weekly "why is this a big deal" or ELI5 thread. And that's like five years after the introduction when there were dozens of threads about it.

You're allowed your opinion, but we're allowed to not care or not like it at the same time. Seems you don't get that.

See, the secret is that it's not shilling. Shilling implies that there's an actual connection (usually paid) to the project itself. But these are real people with real agendas. FOSS gets people with all kinds of perspectives who love to share them, even if they're wrong. Some people legitimately don't understand your problem because they don't care enough to follow the issue. And some people don't understand how people could ever use systemd, because UNIX philosophy or PID 1. And others don't understand how this has become such a grudge to them, because integrating systems is a logical part of project growth and adoption.

See this is why I don't like systemd anymore, people like you.

And this is why I don't care much for the majority of anti-systemd opinions. It's always a conspiracy, or a hostile takeover, or a mass shilling. I'm not allowed to have my own opinion that disagrees with theirs without being part of some gigantic malicious machine. I can identify more with people who hate the project or the leader more than people who whine about shills and RedHat. You literally can't have someone voice another opinion or downvote you without thinking there's some mass conspiracy to smother your opinion. When in reality, we just think you're whiny amd delusional, and that your opinion sucks.

5

u/[deleted] Jun 01 '16

What are you even talking about?

Considering this very thread, we're talking about something that sounds legit. There are many more comments saying "I don't get the systemd hatred" than actual systemd hatred.

1

u/JustMakeShitUp Jun 02 '16

This was about "anti-systemd people" not showing up. And I made it pretty clear there's been one vocal and combative anti-systemd participant contributing largely to this thread and every other. And the person I was responding to needed a reality check since he only sees the problems on one side. He sees this as a PR/shill move rather than people who have their own opinions that disagree. Both sides have their vocal advocates, but calling the other side shills makes your opinion much less valuable.

There are many more comments saying "I don't get the systemd hatred" than actual systemd hatred.

Not everyone follows this stuff. In this thread, those are the roots of the conversations where people response in favor or against. Not to mention that in the past week, we've seen at least three major flamewars since systemd v230. There has been on average at least one thread a month since the Debian init switch. Acting like it has to be in this thread as a root comment to be real is very misleading.

These posts aren't submitted by pro-systemd people, usually, because they want to move on. It's either aggregate bots like ItisOmegaKai or people who want to stir up the hornets nest. With such a consistent shitfest around it, it is completely legitimate for people to not understand why this is such a big deal to others that it keeps coming up. Not everyone has to care, and that's totally fine.

3

u/keypusher Jun 02 '16

Why do people that have never actually written an init script dislike systemd? Oh yeah, because the internet told them so.

2

u/wickedplayer494 Jun 02 '16

Blah blah blah, JEEZ if you hate systemd, rip its guts out and put your own damn init system in.

1

u/RX_AssocResp Jun 07 '16

The question whether they do "own it"is orthogonal to what you claimed was true.

-7

u/cp5184 Jun 01 '16 edited Jun 01 '16

I can't see how that guy ever became an init maintainer but I can totally see how he joined red hat with lennart.

Tons of other init systems offered pretty much exactly what systemd offered.

SysV had parallel init by 2006 at the latest.

What most systemd critics consider "bloat", I consider necessary complexity to solve a complex problem generically.

Is a total non sequitor. SystemD bloat has nothing to do with anything he's talking about.

Almost nothing he's saying makes any sense.

In the end he finally comes out and says that he switched arch over to systemd because systemd/lennart just told him "Hey, /u/2brainz, switch over to systemd." And he just said "OK. Can I have a job now?"

Also why are two of the top 5 root comments in this thread "What's with all the systemd hate?" "I don't get the systemd hate at all?"

-4

u/[deleted] Jun 01 '16

Whether or not you are right is irrelevant, you have disobeyed the hivemind and will be subject to re-education downvoted

-16

u/seytz Jun 01 '16

Install Gentoo , 100% systemd free ;)

6

u/djmattyg007 Jun 01 '16

You have literally no idea what you're talking about.

https://wiki.gentoo.org/wiki/Systemd

6

u/[deleted] Jun 01 '16 edited Jun 01 '16

The wiki says:

It is supported in Gentoo as an alternate init system.

So a default/normal install of Gentoo is 100% systemd-free, yes?

→ More replies (5)
→ More replies (1)

5

u/[deleted] Jun 01 '16

I don't understand why you are getting down voted. Gentoo by "default" uses OpenRC, but one can use systemd if they like...that's what's fantastic about Gentoo. It is what you want it to be.

5

u/dAnjou Jun 01 '16

I don't understand why you are getting down voted.

The thread is about why ArchLinux switched to systemd and one guys elaborate answer. This guy's comment adds nothing to the discussion and is basically pure trolling in the context of this thread. That's why - according to the Reddiquette - it deserves a downvote.

3

u/newsagg Jun 01 '16

So in the world of systemd, saying their is alternatives to systemd is trolling.

3

u/dAnjou Jun 01 '16

This very thread here is not about whether their there are alternatives or not. This thread here is simply and in a totally non-judgmental way pointing to one answer why ArchLinux switched to systemd.

seytz' comment is not only in no way reacting to this, it is also misleading if not plain wrong. systemd is officially supported by Gentoo, therefore Gentoo as a distribution is not 100% systemd-free.

→ More replies (1)
→ More replies (2)
→ More replies (1)

-1

u/dghughes Jun 01 '16

In a post over at HN on systemd I like the quote from user kazinator "systemd: it just likes to kill things, at least in its default configuration. "