9 ms·
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 f
by justin_vanw 10y ago
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?
Systemd is winning because they showed up and basically nobody else did. It's open source fork it and 'do it right'. Or point out the problems and hope that someone else will step up instead?
I think the world would better place if people spent less time griping and more time fighting to get their patch that fixes the problems merged. I guess coding is harder than writing blog posts though.
EDIT: I'm not saying systemd is perfect or even good. My point is that the people writing the code are going to have the final say, whether it's right or wrong, and it is unlikely that people writing blog posts lampooning it are really going to make a difference. I mean systemd has been despised and highly criticized from the beginning, and look where we are.
- korethr 10y ago> However, linux is missing basic functionality other os's offer, and systemd is showing up and trying to fill in those blanks. I'm curious what functionality other OSes had that Linux did not before systemd came along. It seems to me that it has been subsuming functions of other systems on Linux that were already present, as opposed to offering anything new. Socket activation? inetd/xinetd. Timed start of programs? Cron and At Logging? rsyslog/syslog-ng/etc. DNS? -- dnsmasq, powerdns, bind, etc. Honestly, I think if system had stopped at doing init, and focused solely on that and doing the best damned possible job of it, there'd be less hate. I think what's pissing off a lot of the systemd haters is the scope creep of the project has undergone. I was personally fine with the idea of systemd when all it was promising was init and service management. But then oh, were going to take over /dev, and cron and logging, and logins and DNS and (to be determined). Ahh, thanks, but no thanks.
- bjourne 10y ago> I'm curious what functionality other OSes had that Linux did not before systemd came along. Uniform daemon/service handling. Just look at the scripts in /etc/init.d (or wherever they are located in your particular SysV init setup). It's a total mess. The rest of what systemd offers I can't comment on because I'm not familiar with it. But it is clear to me that systemd's declarative .service files are a billion times better than shell scripts.
- sp332 10y agoDidn't upstart and launchd cover this before systemd?
- justin_vanw 10y agoI don't know launchd, but upstart was a piece of crap that didn't even implement it's own documented functionality.
- deleted 10y ago[deleted]
- djsumdog 10y agoWe don't live in the open source world of the 1990s. People don't make this stuff in their basements. What was a community of devs that made things in their own time has turned into a huge industry supported system of semi-bullshit sharing. The OSS devs of the 90s wanted open source end products: a GIMP that could replace Photoshop. A blender that could replace 3D Studio. Today we mostly have OSS middleware. As the other comments have stated, there have been several systemd drop in attempts, such as this one: http://uselessd.darknedgy.net/ http://uselessd.darknedgy.net/ But maintaining them is terribly difficult when Redhat is pouring money into people to work on it full-time. There are lots of systemd-free forks, including ones for Debian and Arch. But you need a large user base to continue to use these forks so other people will be encouraged to support them. Money, donations and good ole kudos help too. TL;DR we don't live in the open source world you think we do.
- jude- 10y agoUselessd has been abandoned, as your link points out. The rationale [1] is, predictably, that "mangling systemd into something a bit saner turned out to be frustrating" and it was "a fool's errand" to have tried. [1] https://forums.darknedgy.net/viewtopic.php?id=4963 https://forums.darknedgy.net/viewtopic.php?id=4963
- wmf 10y agoIs Red Hat funding over 50% of Linux development? If systemd was so bad it seems like maybe our corporate overlords like IBM, Google, Intel, or Canonical could have spoken up or even banded together to compete with it, but they didn't.
- fapjacks 10y ago> "Systemd is winning because they showed up and basically nobody else did" I can't see how you would qualify this statement, which is utterly false. Specifically, systemd adoption was the result of political pressure by LP (the author), who works at Red Hat. There are plenty of other choices out there. The idea that systemd won because of some kind of meritocracy is wrong. It was mostly political with some technical discussion at the edges. Most people "making the decision" actually just outsourced their critical thinking to the Debian Technical Committee. That's how we ended up with most distros adopting systemd. Systemd is better than sysvinit (for some values of "better"), and that is what the Debian TC voted on, and what caused them to adopt systemd. Not that systemd is better than other, more modern init systems.
- justin_vanw 10y agoWhat are the other choices? Upstart was awful, and init is a hundred years old.
- qwertyuiop924 10y agorunit, openrc, s6, later nosh, bsdinit, take your pick.
- yedpodtrzitko 10y agoOpenRC
- Sanddancer 10y agolaunchd, solaris smf, etc. There were tons of choices that were thrown away for silly reasons.
- qwertyuiop924 10y agolaunchd is almost as bad, as is SMF (XML - Yuck). But at least they're still mostly focusing on process and service management.
- georgyo 10y ago
- zdw 10y agoAlternatives have been implemented before: http://cr.yp.to/daemontools.html http://cr.yp.to/daemontools.html http://smarden.org/runit/ http://smarden.org/runit/ The more you look at any of DJB's software, the more of the future you'll see.
- qwertyuiop924 10y agoyou forgot http://skarnet.org/software/s6/ http://skarnet.org/software/s6/
- zdw 10y agoAh, forgot to list that... he's got this great page too: http://skarnet.org/software/skalibs/djblegacy.html http://skarnet.org/software/skalibs/djblegacy.html
- qwertyuiop924 10y agoHeh. Yeah. I just wrote a comment on your post of that about how I had posted http://skarnet.org/software/execline/ http://skarnet.org/software/execline/. Which is a cool thing in its own right.
- ultramancool 10y agoI've switched everything I write to use runit because runit doesn't require any particular init system, you can easily integrate it with sysvinit, freebsd's RC, ubuntu's upstart, systemd, etc. It just runs on top and doesn't need to be the king and it's incredibly simple to write scripts for it. Completely removes the need to worry about this init mess.
- xaduha 10y agoI did too. At one point. Then I abandoned all that in favor of NixOS. It uses systemd and I don't care.
- lasermike026 10y agoThe Unix philosophy: Write programs that do one thing and do it well. Systemd doesn't observe the Unix philosophy and that bothers many people.
- geofft 10y agoIt'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 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.html http://prog21.dadgum.com/139.html : > The UNIX ls utility seemed like a good idea at the time. It's the poster child for the UNIX way: a small tool that does exactly one thing well. Here that thing is to display a list of filenames. But deciding exactly what filenames to display and in what format led to the addition of over 35 command-line switches. Now the man page for the BSD version of ls bears the shame of this footnote: "To maintain backward compatibility, the relationships between the many options are quite complex." Why, for instance, does ls have its own sorting options if the sort command exists? If ls, the most quintessential UNIX command, can't do one thing and do it well, why should anything else?
- justin_vanw 10y agoAgree 100%. There isn't some magic potion that makes commands compose simply and efficiently.
- justinsaccount 10y agoThere 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 :-)
- 10y ago
- qwertyuiop924 10y agowhat functionality? systemd integrated components, it didn't do a whole not new. I'm not firmly convinced that replacing cron was a good idea, integrating udev and the -kits definitely wasn't, and neither was integrating the hostname, or filesystem mounting. And again, I really can't think of anything truly new that it does.
- namecast 10y agoI strongly disagree. I didn't need anyone to "show up" to replace my init system in production across several thousand servers, and the way systemd "won" that battle wrt Debian was, to be polite, controversial, political and extremely divisive. They sure as heck didn't win because "they showed up and no one else did". They showed up and RedHat's money showed up with them. 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.
- korethr 10y ago> 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 had a hard dependency on PA, so I bit the bullet and installed it. And everything magically Just Worked. My only complaint at the moment is that the pactl command seems more fiddly and verbose than it might need to be. A closer look at the complaints about PA showed that many of them were older. This gives me the impression that PA was in fact a steaming pile that broke audio at one point, but eventually matured into something functional and useful. And I think this is where systemd is at present: perhaps a good idea, but its implementation is not yet production ready, and should not be the default on production systems. And the project's continued scope creep is working against it in that regard.
- kefka 10y agoWith PulseAudio, I have 1 singular feature that makes most people wow: When I plug in any new audio device, whatever I'm playing/recording automatically sinks to the most recent device. Seamlessly. So if I'm on mail.google.com and a GVoice call comes in, I can take the call, and during the call, plug in my USB headset. It just works. Mac can't do that. Windows can't do that. Linux/PulseAudio can. And that kicks ass.
- 10y ago
- rhinoceraptor 10y agoI think Systemd is winning because it works (in the overwhelming majority of cases), and no one cares about init systems except the vocal minority.
- 1_2__3 10y agoCan we please just have one OS we use in data centers and servers whose features and development is guided by professionals, not rubes? I'm so sick of people telling me I'm not the target user or some variant thereof. Linux is not OSX or Windows, and not swayed by arguments of the form "most people don't are about that". I do. They should. And the fact that they don't shouldn't result in crappy operating systems.
- rhinoceraptor 10y agoYou're free to use Linux (or BSD or Illumos for that matter, have fun!) with any init you want. For every person whinging online about systemd, there are hundreds of people using it every day in their laptops and servers without giving it a second thought.
- wott 10y agoWithout having given it a first thought either.
- sparewalking 10y agoSo what features don't work for you?
- brainspider 10y ago> However, linux is missing basic functionality other os's offer Could you please elaborate on what some of those are? > systemd is showing up and trying to fill in those blanks I haven't really kept on top of all systemd releases, but all I can see is them replacing things that already exist, just doing them in a different way. I agree the init system replacement was necessary, but I'm struggling to understand why and how it extended to trying to extinguish and replace every core function of the operating system ecosystem. That's rubbing a lot of people the wrong way, especially as mentioned in the article, those who adhere to the unix philosophy of do one thing and do it right.
- justin_vanw 10y agoI basically agree with everything you're saying, I just think if the people who think systemd is misguided spend their time writing blog posts about it, nothing will change and the people actually writing the code will have the final say, right or wrong.
- ultramancool 10y agoThe thing is though - their code is already written. Systemd is entirely unnecessary for 99% of people, probably everything except some of it's LXC features has clear and popular alternatives. LXC is the only thing making me eye systemd with interest, but I'll come back to it in a few years once all the weird stuff is worked out.
- dijit 10y agoIt's nice to hear that you have the choice of not running systemd. All production ready Linux distros (RedHat (and by extension CentOS), SuSE and Debian) are all running systemd and as a systems administrator for a large company I _must_ adopt it, I don't have a choice.
- ultramancool 10y agoIf those major distros weren't switching though, you wouldn't have to, which is what my point was. The only reason you're adopting it is not for a practical benefit, just because the distros did. I run devops though for a small business and we've avoided the issue entirely using runit for our software.
- gaius 10y agoSystemd 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.
- sparewalking 10y agoRed Hat refused the project initially.
- snorrah 10y agoBut after the Fedora Technical Committee were convinced to accept it, it ballooned from there. Seed blossomed from within.
- thescribe 10y agoI'm not sure forking would be worthwhile, I think the issue people have with systemd is one of goals and structure of the operating system. Any fork that satisfied the other side would not even be in the same category of software.