25 ms·
Systemd redux: The end of Linux
- api 12y agoOne thing I've realized about the Linux community through all this systemd flame warring is how unbelievably conservative a large subsection of it is. There's this huge so-called "neckbeard" continent that views anything architecturally beyond the 1980s as a huge affront to Unix. IMHO I kind of shrug at this, since Unix was never really all that great to begin with. Unix won because the only commercially viable and well supported alternative was Windows, an OS that was (and in many ways still is) significantly worse especially for server and embedded applications. Everyone rallied around Unix and especially free/open Unix as an alternative, and so here we are. It's also tough to compete with free, and Unix OSes got a huge boost from both Linux and the various free flavors of BSD. Yet that boost came at the expense of things like BeOS, Plan9, original NeXT, and the OS I still feel is hiding behind the JVM ... which for their day represented fresh ideas that might have gone somewhere. Ultimately I think the existing Unix paradigm is going to be killed by Docker and mobile OSes that containerize in similar ways, and I'm not sure this is a step forward. It escapes much of the ugliness and the poor permission model of Unix, but it does so by handing virtually everything to the app. Docker containers (and mobile apps) can be thought of as something almost akin to giant statically linked binaries. We're getting more monolithic and coarse-grained.
- califield 12y ago> We're getting more monolithic and coarse-grained. At the same time we are pushing more heterogenous software stacks to production and configuring more specific dependencies for our applications. It almost seems like you're using cross-platform as a pejorative. ;)
- baldfat 12y agoYeah we need to go back to when distro A and B had totally different versions of everything since it was so much work to get things working. Now we are close to having a OS where you can seriously just expect anything "Linux" to just run. Bad I guess to some :P
- zanny 12y agoSeriously, once the systemd convergence is over, I can finally start advocating Ubuntu on workstations everywhere because it will finally have commonality with server infrastructure. The last frontier after that is package format convergence, and Lennart has said repeatedly he intends to use the systemd monoculture to push a common package format, which is a really good thing for me. Right now I have most clients running OpenSUSE, just because I cannot be bothered to fuck with Upstart anymore. Once systemd is in place, the fact zypper is much nicer than apt doesn't make up for the incredible market size difference between Suse and Debian and its children.
- kbenson 12y agoAnd why not RHEL/CentOS and/or Fedora? I'm sure you have your reasons, but I find it odd you didn't even bother to mention it, when it's a rather large part of the market.
- zanny 12y agoSoftware availability and versioning in the Red Hat ecosystem sucks. Either you are using Fedora, where software is usually just frozen bleeding edge circa Manjaro, where breakage does happen and that cannot be accepted in production, or you are running upwards of 5 year old versions of software. The Ubuntu LTS cycle is just an optimal compromise in my book. You even get Debian Testing as a good rolling release, Debian Stable as a great server release, Ubuntu Server as an enterprise option, and they all (soon) will be using a common core. For now I advocate the SUSE's, but while it has been stable the general obscurity of it and the dwindling userbase and the fact Novel (I know they have also since sold SUSE) backed out of maintaining OpenSUSE directly, I can't be confident in its future. You cannot underestimate the Ubuntu mindshare, because it means "Linux" software is often Ubuntu first, repackaged by hobbyists for other distros second.
- ginko 12y ago>The last frontier after that is package format convergence, and Lennart has said repeatedly he intends to use the systemd monoculture to push a common package format, which is a really good thing for me. Great, so now instead of adopting a package system system with a solid theoretical foundation like Nix or guix, we're going to dump all dependencies into fat binaries and more or less end up with the solution the NeXT people came up with in the 90s. Such progress. EDIT: Not to mention that Lennart's proposed package system[1] would depend on btrfs-specific features, adding even more code coupling. [1]http://0pointer.net/blog/revisiting-how-we-put-together-linux-systems.html http://0pointer.net/blog/revisiting-how-we-put-together-linu...
- thasmin 12y agoPeople who aren't extremely familiar with how the Linux init system works and whose job doesn't include keeping the servers stable don't see why the neckbeards are up in arms about systemd, but there's good reason. Many peoples' jobs depends on making sure the servers are working, and knowing how the servers work is a big part of their job (and sanity). In its current incarnation, systemd changes the fundamentals of how servers work without much increase in features - large risk and little reward.
- johnny22 12y agoI deal with sysadmin stuff for quite some time(since 2001), and I just won't use distributions without systemd. The benefits far outweigh the risks (imo obviously)
- zobzu 12y agoMeh I don't mind either way. There's nice stuff in systemd but nothing thats so critical i wouldnt use a sysv based system (there's pretty good ones). What generally annoy me are things like supervisor and other things people use to "auto restart" services but these aren't exactly integrating nicely and put stuff all over the filesystem/etc.. I like that systemd includes that and does it mostly properly.
- toolz 12y agoServer admins have so much new technology to learn and play with to stay relevant. If they feel like learning systemd is a chore, they might be in the wrong business.
- dredmorbius 12y agoAll the more reason to be judicious in what new technologies are introduced. One of the huge benefits of the Unix/Linux, CLI, and Free Software traditions is that they tend to be very strongly preserving of established knowledge. Changes are incremental, usually additive, a reliance on scripting means that interfaces are unlikely to change, and new tools are very frequently drop-in replacements for old. As specific examples: I first learned editing under BSD vi in the mid 1980s. In the time since I've learned and used on various PCs (and a few other systems): WordPerfect, WordStar, MacWrite, AmiPro, several iterations of MS Word, the EDT and EVE editors under VAX, the TSO-ISPF editor, and a few others under Unix: emacs, ae, nano, nedit, Abiword, Lyx, and various iterations of what's now LibreOffice. Most of that skill-acquisition is now dead to me -- the tools simply aren't available or aren't useful. I'm no longer using vi, but vim (adopted in the mid 1990s as I switched to Linux), but the basic muscle-memory is the same. And its an editor I can utilize across a huge number of systems (though I do admit to finding traditional vi / nvi painful). Similarly, the bash shell is an iteration on the basic Bourne and Korn shells. ssh is a drop-in replacement for rsh, to the extent that /usr/bin/rsh is typically a symlink to ssh. While the dynamic is slightly different from telnet, it's still pretty similar with a few exceptions. The rare occasions in which a utility changes its commandline options you'll virtually always hear about it. The fact that it's so painful (and tends to break decades-old scripts) means its generally avoided. Authors who make a point of doing this tend to find that people avoid their tools. A bigger point is that forgetting stuff is often much harder (and more important) than learning stuff. And when you're invalidating long-established patterns, that's really painful. There's also the fact that we manage technology by managing complexity, and most of us in the field work at the limits of our ability to manage the complexity we're faced with: the basic OS, shells and interpreters, hardware, vendors, hosting providers, management tools, employers, clients, customers, co-workers, engineering and development teams, services, abuse and security concerns. It's a really complex and dynamic field. Linux has done quite well (with a few notable exceptions) of maintaining a balance between capabilities provided and complexity imposed. One problem is that as systems become more complex, the additional benefits of yet more complexity are lower, and the costs are higher (this is a very general rule, not just specific to Linux, operating systems, or computers). The question of how to introduce radical change is a key one. I've seen a number of failed attempts to drastically revise existing systems in place -- this almost always fails. Linux itself wasn't introduced in this way -- it emerged as an alternative to both "traditional" proprietary Unices, to Big Iron (mainframes, VAX), and Microsoft's then-new WinNT. Linux ended up dominating virtually all of these categories, but it did so by incrementally beating out the competitors through replacement. An interesting space where a lot of this comes to a head specifically is in the graphical user interface field. I've noted several times that Apple, notable for a great deal of success in this area, has been exceptionally conservative in its GUI development. It's effectively had two GUIs, the initial Mac System interface, and Aqua. Each has had a roughly 15 year lifespan, and yes, there was incremental improvement over the span of both, but the essential base remained the same. Since the early 1990s, I've watched Unix/Linux go from twm to fvwm, Motif/mwm, VUE/CUE (a "corporate" standard based on Motif plus a desktop), Enlightenment, GNOME, and KDE, and now alternatives such as xfce4 and ... oh, that funky graphics thing Suse's got, as the "primary" desktops. GNOME and KDE themselves have gone through about three major revisions. And there are a number of other "lesser" more minimal desktops as well -- I use one of these, WindowMaker, which is actually based in a late 1980s ancestor of the Aqua interface now used by Apple. Microsoft's experienced some similar recent tribulations. As has pretty much every online site ever that's done a site redesign. As jwz has observed: changes to GUIs just don't offer that much win. They're highly disruptive, they're possible because the interfaces generally aren't scripted (other than via automated QA testing systems, but that's another story), but more importantly: the productivity benefits granted users really aren't that significant, especially regards the cost. Worse: changing an existing interface leaves users in a no-recourse situation, especially in the case of SAAS. For Linux and systemd, the options are slightly more open in that (for now) it's possible to disable or block systemd from installing in at least some cases. But over the long run, it may be that the only options are voice and exit, as opposed to loyalty (a reference to the book and concept of Voice, Exit, and Loyalty, which I recommend looking up). So yes: those of us with numerous decades of experience in the field often do have an extremely jaundiced view toward radical change. And with very good reason. But your comment is really unwarranted.
- convivialdingo 12y agoWell, here's the basic deal. If we're talking about common servers, common desktop, etc then systemd is an excellent replacement. It covers the base of users quite well. But lets say you are building a highly specialized application. You are going to be making quite a few customizations which are far more manageable through a shell scripting environment than by customizing a bunch of binaries. I assume that Redhat is going to cover a lot of the bases for most users out there. But for those of us in highly customized environments it's going to suck.
- johnny22 12y agothat's just speculation until you clarify. Can you be more specific?
- nitrogen 12y agoThink of anything that isn't a web server, file server, database server, or desktop.
- johnny22 12y agojolla uses systemd on their phones and tablets right now. IIRC it's also part of some soon to be shipping vehicle integrations, for in-car entertainment systems and mapping.
- nitrogen 12y agoThat doesn't make systemd right for the other hundreds/thousands of embedded Linux systems. If you recall my response elsewhere in the thread, "Company X uses it" is unconvincing. Also, it's inevitable that if systemd and software expecting to use it take over more and more aspects of userland and the kernel, vendors will be left with no choice but to use it as well. So "more vendors are switching to systemd" is not a convincing argument either. I like to make my own decisions on the basis of modularity and replaceability (vendor lockin has been a huge burden in other major projects not mentioned in my online persona), not popularity.
- derefr 12y ago> it escapes much of the ugliness and the poor permission model of Unix, but it does so by handing virtually everything to the app. If you want to see the ultimate extent of this, look at the Wii and Wii U. Each game ships with an "IOS": effectively an OS kernel+initrd update package. Every game boots to the newest IOS available, so if one game updates to IOS v6653, then another game that only shipped with IOS v6652 will find the newer version on disk and use it. However, a game's IOS requirement doesn't just have a version; it also has a slot. Each console has space for 256 individual copies of IOS, which are each independently versioned. So if two games both use IOS[58], then the game providing v6653 will overwrite v6652 on disk, and then the game providing v6652 will boot into v6653. But if one game is providing a version of IOS[58], and the other is providing a version of IOS[61], then their effects on one-another are isolated. You can think of it a bit like the IOS codebase having 256 branches, and each piece of software being able to specify which branch of the kernel it was developed on. It gets the newest kernel released on that branch. This allows a sort of "move fast and break things" approach to kernel development, where a kernel can be hacked to support new software in a way that breaks old software: you just stick your modified kernel into an as-yet-unused IOS slot, and old software will have nothing to worry about. This approach has resulted in my own (pretty unused) Wii U having ~73 different IOS slots populated with kernels. Interestingly, if you think about it, this is pretty much a continuation of what Nintendo was allowing developers to do before: shipping random collections of chips in their own cartridges that DMA to the console, effectively creating their own extended console to run upon. Allowing your software to ship its own kernel is basically the software equivalent.
- amaranth 12y agoThis is how the Wii works but the Wii U has a more traditional kernel model. This is required due to the system's multitasking abilities (run "mini" apps like the browser or download manager along side a normal app/game). The only time the Wii U uses the IOS model is when it boot into vWii mode to run Wii apps which also disables the new features of the Wii U software.
- rodgerd 12y ago> Unix won because the only commercially viable and well supported alternative was Windows, Unix didn't beat Windows. Unix beat VMS and LISP machines and AS/400 and various other minicomputer operating systems. In fact, if we're talking about mainline commercial Unixes, NT started beating the shit out of them in the late 90s - if Unix lovers hadn't had the free ixen (Linux, BSDs) to fall back on it would be a sad state of affairs indeed.
- arca_vorago 12y ago>AS/400 Hey now, I'll have you know AS/400 is still alive in going in my workplace! We also have an entire position just for it's programming...
- ratboy666 12y agohttp://thorstenball.com/blog/2014/11/20/unicorn-unix-magic-tricks/ http://thorstenball.com/blog/2014/11/20/unicorn-unix-magic-t... is also a current story on HN. Just an example of how powerful that simple 70's Unix is. Allows features that appear "magical" to thorsten, anyway. Windows? Wasn't really even an option... until 20 years later. And, of course, Unix really isn't that good, either. But, before you ignore it, please come to feature parity, at least.
- zvrba 12y ago> Windows? Wasn't really even an option... until 20 years later. Which 'Windows'? Before Windows 2000, there was Windows and Windows NT, the former being a more-or-less just a shell running on top of DOS.
- teekert 12y agoI completely agree. Having played with Docker on CoreOS for some weeks now I see that it will push a much bigger and different change than systemd, which, on my Arch box was just an update with no real problems, I just had to learn some new commands. Docker though... man how different it is and how clean it makes my system feel. I do feel that Docker will move towards some kind of Docker optimized minimal dockers that are not Debian or Ubuntu or what ever, that is just a stage so you feel some familiarity. CoreOS meanwhile, who will ever touch its init system except to auto-start containers? Which will be done by nice tool which hides systemd in the future I guess. Ok, my posts does focus on the server side of course.
- pjmlp 12y ago> One thing I've realized about the Linux community through all this systemd flame warring is how unbelievably conservative a large subsection of it is. There's this huge so-called "neckbeard" continent that views anything architecturally beyond the 1980s as a huge affront to Unix. Fully agree. It seems some people are quite happy with a few xterms in the X-Windows replicating a twm user experience, stuck in the past. I would also add Oberon, Active Oberon, Singularity, Verve and the current unikernel/library OS research. > OS I still feel is hiding behind the JVM Android kind of got us there. Now with Java being compiled to native code, maybe other C++ layers might be replaced in future versions, given how Android team looks at the NDK. All in all, I want the Xerox PARC and Douglas Engelbart's visions, not the AT&T one.
- keyle 12y agoCan someone put in Layman's terms what the change entails and why it would be the end of Linux?
- hvs 12y agoI think he means, "the end of Linux as we know it", but that doesn't have the hyperbolic ring of the current title.
- fidotron 12y agoIt's not the end of Linux. It's the final death of the idea that Linux should just idly continue to act like a clone of some vague Unix of old because it was better when men were men and their computers had obscure RISC processors with billions of registers. Linux hasn't really been that way for an incredibly long time, but a large proportion of the userbase still cling to this notion, some for ideological reasons, and some out of sentimentality.
- deleted 12y ago[deleted]
- nitrogen 12y agoSystemd is most problematic because of its own-everything monolithic nature, and the changing of kernel interfaces to match. The vast majority of Linux systems are not desktops, and probably not servers either. The kernel and the core utilities around it (like init) should be designed with multiple implementations and all machine types in mind. This means phones, set top boxes, TVs, routers, automation hardware, supercomputers, and more. If the core utilities around the kernel and the interfaces they use are well-documented, designed, and modular, then different machine types can pick and choose the components they need, and easily write their own by opening a well-defined API on something in /dev. If systemd continues to take over and alternatives smothered, very quickly the kernel will become useless to any system where systemd makes no sense, especially non-desktop embedded systems.
- johnny22 12y ago
- noobermin 12y agoIt has been said before, but it deserves mention, there are alternatives to Systemd out there, like OpenRC which has been around for a while, and other, newer projects like Uselessd. Of course, whether those other options will be as well supported and developed as systemd remains to be seen.
- gnufied 12y agoI am no expert on this but apparently when Gentoo developers tried integrating OpenRC they ran into too many bugs. http://blogs.gnome.org/ovitters/2013/09/25/gnome-and-logindsystemd-thoughts/ http://blogs.gnome.org/ovitters/2013/09/25/gnome-and-loginds...
- simoncion 12y ago> ...apparently when Gentoo developers tried integrating OpenRC they ran into too many bugs. You are certainly no expert on this. I've been using Gentoo since 1.4... back in 2003, maybe 2004. I vaguely remember when Stable Gentoo was switched to OpenRC, which happened in mid 2011. Unstable Gentoo (which I ran -and still run- on my laptop) switched to OpenRC much earlier [but that date I cannot remember]. What the first topic in the blog post that you linked to is really saying is: "We Gnome developers still claim that recent Gnomes don't require systemd. We stand by this assertion. Recent Gnomes only require init and system management daemons that behave exactly like systemd in pretty much every aspect; they don't actually require you to have systemd installed. It's a pity that developers don't want to spend time re-working their init and system management software to be systemd clones. If they did, then the world would finally understand why we Gnome developers continue to assert that Gnome doesn't require systemd."
- gnufied 12y agofrom same article: "Apparently GDM 3.8 assumes that an init system will also clean up any processes it started. This is what systemd does, but OpenRC didn’t support that. Which means that GDM under OpenRC would leave lingering processes around, making it impossible to restart/shutdown GDM properly. The Gentoo GNOME packagers had to add this ability to OpenRC themselves. Then there were various other small little bugs, details which I already forgot and cannot be bothered to read the IRC logs. " So apparently there are bugs when using OpenRC with Gnome. That is not to say, Gnome requires systemd (I did not make that claim).
- andyl 12y agoEverything I read about SystemD is negative. Negative on the technology, negative on the people who created it. Nothing positive. How is it that SystemD is about to dominate the market? Who is driving SystemD adoption, and why?
- toolz 12y agoWhy is everything on the news always negative? Is everyone a crime peddling pedophile rapist murderer drug addict? My point is that negative drama sells headlines.
- johnny22 12y agopeople like me. I've been waiting for something like systemd to come to linux since i started using it (back in 2000). Tired of having to write init scripts for every distro, writing forking daemons, and dealing with the too simple syslog.
- kbuck 12y agoIt hinges upon the fact that people are more likely to be vocal when they don't like something than when they do. Consider online reviews: are you more likely to review a product when it's worked fine as you expected or when it died a month after you got it? systemd has both good aspects (e.g. faster boot times and removal of the nasty nest of shell scripts) as well as bad ones (incredibly monolithic). There are arguments on both sides of the fence. It's just that you're more likely to hear from people who dislike something than you are to hear from people that like it. (And at this point most of the systemd proponents have given up talking about it because of the incredibly vocal and relentless opposition.)
- jqm 12y ago"removal of the nasty nest of shell scripts" What one person finds nasty another may find sexy.
- zanny 12y agoThen feel free to use shell based init. Meanwhile, there is a strong concensus in Linux distros that the maintainers thought shell scripts were not sexy, and systemd unit files were, and thus everyone has / is switching.
- deleted 12y ago[deleted]
- davexunit 12y agoI'm quite happy to be a part of the development team for GNU Guix, a distro that is not using systemd. I'm not a systemd hater, but it's definitely not for me and I'm not thrilled with the direction that development is going. It's a shame that sysvinit and friends are so bad that using systemd is the best option we have right now. Maybe GNU dmd will be able to stand up to it someday.
- Shish2k 12y ago> I'm quite happy to be a part of the development team for GNU Guix, a distro that is not using systemd. Thank you for doing this :) I love systemd myself, but I still think it's important to have alternatives available; also it makes me very happy to see somebody creating their own choice instead of tearing down other people's choices :D
- TheLoneWolfling 12y agoThank you for doing this. That being said, it's a little too esoteric for my tastes (among other things: "if you are looking for a stable production system that respects your freedom as a computer user, a good solution at this point is to consider one of more established GNU/Linux distributions."). Do you know of any Linux distros that a) don't use systemd, b) are vaguely active / supported, and c) run on UEFI? (My current laptop, unfortunately, has UEFI. It's a royal pain, but oh well.)
- davexunit 12y ago>it's a little too esoteric for my tastes Yes, we're still in alpha. Not ready for prime time yet. >Do you know of any Linux distros that a) don't use systemd, b) are vaguely active / supported, and c) run on UEFI? Gentoo? I use Debian most of the time, which of course uses systemd now.
- TheLoneWolfling 12y ago> Gentoo doesn't officially support UEFI
- derengel 12y agoAre there any reliable VPS providers that offer FreeBSD?
- stock_toaster 12y agoThere are quite a few. Some decent ones I have heard good things about: * rootbsd.net * arp networks * vultr There are quite a few cheap-ish dedicated server vendors out there that can either be ordered with FreeBSD or provide some means to install it yourself.
- deleted 12y ago[deleted]
- PurplePanda 12y agoI have had good luck with arpnetworks. So far only noticed one outage in three years of use. Have had good network and CPU performance. They don't do tech support for things inside your operating system, but they are always helpful when I ask them to do things on their end.
- snksnk 12y agoI would recommend http://www.ramnode.com/ http://www.ramnode.com/ Reliable and cheap, even more so if you take 5 minutes to google for a discount coupon.
- dijit 12y agotilaa.com for EU servers, I like them a lot- IRC support and a general "no bullshit" feel.
- imanaccount247 12y agoI reccomend vultr. I run OpenBSD not FreeBSD, but it is just a standard KVM VM you can run whatever you want on, and unlike most BSD offering VPS providers, they aren't double the price of DO and friends.
- zobzu 12y agowe've already upgraded to RHEL7 here. ppl didnt know systemd too well but it works (im the only guy who knew systemd. heck ppl didnt even know of journald). Now im not saying that i like systemd in general - for the reasons the author explains I don't really like it. Systemd could have been way better if it wasnt for the political shit and attempts to take control over distros, kernel, etc. That said it has some features I do like. Likewise for kdbus. This is like Chrome vs Firefox. People would like to support Firefox better. But Chrome and Google apps do enough of what they want right now to go with the solution they don't really approve of - I'll say it again: it works.
- sandGorgon 12y ago>single parent hierarchy for namespaces Predictably, all the blame is laid at systemd's feet. The current churn is happening, because all of Linux's core developers (kernel and user space) are wanting that change...to push the envelope. For example, the current change in CGroup's namespaces are because kernel is mandating that the current cgroup access mechanism be deprecated. They want a single writer to Cgroups. Systemd is in the unfortunate position of complying with that request. Guess what? Soon enough, so will Upstart. Again with kdbus, the person who made the push is not "evil" Lennart, but Kay Sievers - a long time maintainer of udev. Systemd is nice. Don't be afraid. Http://www.lambdacurry.com/systemd-nice-dont-afraid/
- jude- 12y agoI'm pretty sure it's Greg KH who's running kdbus these days [0]. At least, he's the one who submitted the patch to lkml [1]. [0] https://github.com/gregkh/kdbus https://github.com/gregkh/kdbus [1] https://lkml.org/lkml/2014/10/29/854 https://lkml.org/lkml/2014/10/29/854
- nisa 12y agoYou mean this Kay Sievers? http://www.theregister.co.uk/2014/04/05/torvalds_sievers_dust_up/ http://www.theregister.co.uk/2014/04/05/torvalds_sievers_dus... - It's basically the buddy of Lennart at Red Hat - at least that is my impression from far away.. systemd may be nice but it's coming from Redhat and cgroups are changed due to because systemd folks wanted it that way as far as I followed that debate...
- sandGorgon 12y agoYes, we are veering dangerously close to Godwin's Law : not only is Lennart and systemd evil, but everyone who agreed or contributed to it.
- nisa 12y agoNo need for personal attacks. I just think the article as some merit and your comment gives the impression that these people are not connected. I just wanted to point that out.
- Andys 12y ago> Freebsd has jails which is a much more baked technology and implementation than LXC Disagree! 1. FreeBSD has nothing like cgroups or namespaces. You can't apply cpu or memory limits to a whole jail, only individual processes in that jail. 2. it is early days for virtual network cards and ethernet bridging and jails: you have to recompile kernel to add VIMAGE.
- Sanddancer 12y agoYou've been able to apply cpu and memory limits to entire jails since 10.0 was released through the rctl mechanism.
- Andys 12y agoThanks. I don't think it changes my point - various attempts were made to implement this feature since Freebsd 6 - almost 9 years ago, for some reason these were incomplete or ignored. FreeBSD 10 was released only this year. For reference, Heroku began in 2007, using resource limits with LXC... a whopping 7 years ago.
- AaronFriel 12y agoPerhaps this is a controversial idea, but is this not just someone finally taking the tried and true Open Source "advice" to heart? That is, every time I've reported something is broken, wonky, doesn't work reliably, et cetera, I've been told, "Submit a patch.", "Write some code.", or worse, "Implement it yourself." Someone finally got fed up with the haphazard state of affairs in Linux-land. Fed up with the fragmented and sometimes many places you have to look for error logs. Fed up with the many files you have to edit to configure the network correctly (different on every major distribution). Fed up with the half dozen ways to configure X, where X is a common function to every modern operating system. It seems Lennart has taken the advice and followed through, and distribution maintainers liked it. They liked the idea that someone was taking all this complicated work - this dirty, boring to write and maintain code - and making their lives easier. Why else would nearly every distribution be on board? Systemd is offering a more compelling solution than anyone else, and if you don't like it, well, you should submit a patch, write some code, or implement it yourself.
- badgersandjam 12y agoI had no opinion on systemd until yesterday. In fact I had a glace or two at the code and it's pretty clean and I liked the rough objectives laid out. I installed CentOS 7 on a machine last night that we're replacing CentOS 6 on and was poked in the face with timedatectl and dbus problems for an entire hour, some of which were intermittent. Debugging these issues is a horrific pain. I lost 4 hours on it. I've never lost that much time on a system function before. This is not what I expected and there is no way I could possibly introduce that to our production environment. I think that might why people are slightly sensitive to it. Yes you're exactly right, but replacing something with something less stable, more complicated and more difficult to debug isn't a rational or good engineering. I'm sure many people will be fed up with systemd much quicker than what was already there. Not impressed with a community which pushes this as stable, quality software. Voting with my feet: FreeBSD is being trialled instead. WhatsApp throwing a million dollars at it draws a lot of valuable attention and puts it in the business's mindset. Choice is as much of a valuable aspect of open source too...
- 12y ago
- frozenport 12y agoI used Gentoo for 10 years, and I can't figure out how to get a Systemd configuration working with XFCE. Indeed, most of the existing documentation has greatly slowed me down.
- not_with_retard 12y agoThat's pretty sad, I was able to get it up-and-running on my first Gentoo installation. I guess time doesn't equate to knowledge, eh?
- frozenport 12y agoHaha, well its running but not quite right, if it saves me any face it worked out of the box in KDE!
- general_failure 12y agoFwiw, my friend runs Ubuntu for 10 years and he cannot understand gentoo for the life of him. He thinks it is absurd people want to keep recompiling stuff.
- nyir 12y agoPeople don't want to recompile stuff, they want to configure the software to their liking. Basically it's very enjoyable if you're a developer. And FWIW with Gentoo/Portage you can create and install binary packages.
- SwellJoe 12y agoThe ignorance in this post runs deep. For example: Speaking of zones and Solaris, if that’s an option for you it’s probably the best of breed stack right now. Does the author have no idea what's going on with Solaris? Hint: Nothing. Nothing is going on with Solaris, because Oracle doesn't care about Solaris. They closed the source, and now push out the occasional minor update from on high for their enterprise customers. Anyone who is suggesting Solaris as an alternative to Linux at this point in history is simply not credible.
- jodrellblank 12y agoCurious logic you have. "It doesn't have a constant stream of fixes. That proves it's no good. Things that need fixing are better than things that don't need fixing".
- SwellJoe 12y agoSoftware maintenance matters. A lot. Particularly for networked systems. Also, it hasn't been Open Source in several years. That makes Solaris utterly irrelevant in my world. This blog post is suggesting Linux users move to Solaris. It's just a bizarre recommendation, made as an off-the-cuff assertion with no reasons given. Also, Oracle. What hacker chooses to be beholden to Oracle?
- agrover 12y agoSolaris is dead but Illumos lives on kinda.
- threeseed 12y ago> What hacker chooses to be beholden to Oracle ? How about almost every single Java, Scale, Clojure etc developer. We are all using Oracle's JVM and they have been unquestionably a fantastic steward of the Java platform. I know the company deserves a lot of criticism but remember it is a big company with many different departments.
- 12y ago
- icecreampain 12y agoI'm on my way out the door right now, but I remember there being a theory that the NSA/CIA/top level org, in bed with Redhat, wants to kill (take over) Linux, so they use Lennart and Kay, the puppets, to get it done.
- matthewmacleod 12y agoReally bored of this nonsense at this point. Take this for example: If you absolutely MUST run Linux, my recommendation is to minimize the interaction with the base distro as much as possible. CoreOS (when it’s finally baked and production ready) can bring you an LXC based ecosystem Systemd is absolutely key to how CoreOS works. It's the basis for the distributed init system it provides — a major selling point. Taking any of this blog's advice would be harmful. I'd suggest a better approach would be to accept that the majority of distributions have settled on systemd and that generally this decision has not been made by idiots. So it would be worth either understanding what their pain points are and how they can be solved with an alternative to Systemd, or to help solve the issues that are apparently in Systemd yourself.
- badgersandjam 12y agoMany large decisions have been made by idiots, badly. Blindly accepting consensus as a rational choice without a counterpoint had caused many years of suffering for the human race from wars to bad science to bad medicine. Whilst I agree that the blog is probably hocum, there's nothing wrong with critical thinking.
- matthewmacleod 12y agoI completely agree – but critical thinking involves something along the lines of "here are the things that I think are wrong, this is why I think they're wrong, this is how I think they could be solved." The answer "let's throw everything out" isn't that useful; likewise, dismissing the considered opinion of lots of people who have been doing this sort of thing for a while needs to be done with some rationality. An empty, bandwagon-jumping appeal like this adds little value and just helps spread more misinformation.
- badgersandjam 12y agoActually the answer is to be slightly more conservative with the approach. No one has to pick up systemd now for example. Leave it a year and see where it is. The technical merits will be obvious and the technical problems will also be. Moving all the chess pieces at once, which is what is happening is not productive, professional or a sign of experience.
- dgdsgdsg 12y agofor me it seems that most people complaining/crying out loud come from a system admin perspective. For example the author of this blog article does not seem to have contribute a lot of code to any project and is more "just" an admin and not a dev. for me it looks like they don't like new stuff love the linux world how they knew it and don't want things to get easier or even change.
- icantthinkofone 12y agoComplaining and crying from a system admin perspective is pretty significant.
- hawleyal 12y agoAgree. However, admins and devs often have competing interests. Admins want stability and ease of maintenance. Devs want features, agility, and speed of development. Admins often disregard or downplay technical debt in light of "has been working in production for X years". Devs often don't care enough about backwards compatibility.
- edwintorok 12y agoI don't think they would complain if things became easier. All I hear about is problems with systemd, and having to solve problems (and learn how systemd and all its components interact so you can debug it) is not easier.
- general_failure 12y agoYeahz they all spend like 20 mins and come out crying without spending at least a week understanding it. Which software stack do you know that you instantly get in 20 mins. I for one cannot understand the sysvinit or upstart in 20 mins (ie) to develop and debug. How do you debug sysvinit anyway? Echo's I place in the code do not appear on the screen. Can i claim 'Oh shit this is so broken...'?
- edwintorok 12y ago
- lazyjones 12y agoI have mixed feelings about systemd: like many others, I've spent a lot of time with traditional Unix systems (25 years) and like the simplicity and stability commonly associated with them and familiar tools/conventions. On the other hand, OS X showed what a modern system built on Unix should feel and look like, while Linux never got anywhere near (not only on the GUI layer). If it takes unreasonable people to make progress (like in the famous G.B. Shaw quote), then let's sit back and see what happens. Perhaps Linux will shed more cruft and become simpler to develop for rather than harder. Of course, I'm in the favourable position of not having to maintain/administer a bunch of Linux boxes for a living. I can fully understand the frustration of people who built and shipped custom solutions on top of SysV init. The end of Linux? No, it's the end of Linux as a traditional Unix with lots of arbitrary optional features on top perhaps. We'll get used to it, or switch to something better.
- e40 12y agoOn the other hand, OS X showed what a modern system built on Unix should feel and look like, while Linux never got anywhere near (not only on the GUI layer). This feels like a non-sequitur. The nice GUI of Mac OS X has nothing to do with launchd (which is the systemd-like portion of Mac OS X).
- scott_karana 12y agoAre you kidding me? Launchd helps coordinate a massive selection of on-demand GUI-related services and their prerequisites. (254 services on my Mavericks install as of writing) SysV init is ill-suited to that sort of complex event-oriented management, which (for example) is exactly why Canonical developed Upstart in the first place.
- chrsw 12y agoProgress is good. But is systemd progress?
- lazyjones 12y ago> is systemd progress? My knee-jerk reaction would be to say "no", but many people who are more involved with this part of Linux seem to think so, I don't feel qualified to challenge that. I am confident that more radical changes are good in general, as long as the bazaar model allows the best solutions to survive and the worst to be undone if needed.
- pdkl95 12y agoWow. The UNIX-haters are out in force. Apparently proven, real-world tested code is no longer a relevant feature to a lot of people. Well, "Those who do not understand Unix are condemned to reinvent it, poorly." But enough about the technical distractions. Why is systemd so important? It's certainly not technical quality or design (even if some of the ideas are useful, the implementation is junk). There is a far more important reason, that some of you have noticed parts of, at least tangentially. From this very thread: "systemd makes a lot of sense for embedded systems". Yes, it does, andor, and it's all because of this: "kdbus: efficient IPC". The thing is, kdbus/dbus isn't really that great for a lot of things - you have to bounce through the kernel at a minimum, and there is and encode/decode steps that add some overhead. It might be useful for some types of IPC, but it is replacing what should be a fast and simple library call in many places. Now, here's where a lot of you are going to start calling me crazy or "obviously wrong", both without actually addressing the key claim, which was is probably better explained by stevel over in the Gentoo forums[1]. I encourage reading that post. The goal with all of this is not technology related at all: the systemd takeover is an attempt to separate Linux and many userspace tools from the GPL, so that software can be used under the LGPL terms instead. What is the big difference between GPL and LGPL? Linkage. Linking to a GPL library requires you to follow certain requirements if you link against it, while the LGPL specifically allows taht usage. (k)dbus provides the workaround, by replacing what would be a normal function call into a library with a "IPC". It's slower, but so what, computers are way faster than needed. In the end, while you can still choose to release your code as GPL, if you have to use an IPC mechanism to do anything useful the license requirements that will actually apply ends up being being more like the LGPL. Well, if I wanted to release under the LGPL, I would. What I'm not going to do is undermine my choice of license just because a bunch of embedded developers (and others) want to use what were traditionally GPL projects without having to be bound by the coopyleft requirements. If this was proprietary software, you would call that kind of behavior "stealing". (seriously, the linked comment below does a much better job of explaining this) [1] http://forums.gentoo.org/viewtopic-p-7645524.html#7645524 http://forums.gentoo.org/viewtopic-p-7645524.html#7645524
- icantthinkofone 12y agoWhere do you get UNIX-haters? I read systemd haters which begets Linux haters but UNIX? No. Besides, Linux is no longer a UNIX-like system. Linux is now only Linux unto itself with UNIX-similarities.
- lwh 12y agoIt seems like most systemd problems boil down to: shit this will take more than half an hour to understand, I'm a lazy admin and don't feel like learning something new.
- icantthinkofone 12y agoI've been saying some of these things since systemd came out and typically get downvoted into oblivion so here this article makes HN's front page. His implication about switching to FreeBSD is a good one and I notice a decent influx of Linux admins switching to FreeBSD showing up on every forum I visit.
- dschiptsov 12y agoGoing against the "divide et impera" principle, "do just one thing, and do it well", "everything is a text file" (configurations and logs) and "pipes" which are very natural idiom, in a UNIX-like system which has been built upon these principles, is just bad engineering, shallow understanding and, perhaps, too high ambitions of knowing better how to fix what isn't broken. The question why do we have this project and why there is such a buzz is more interesting. But the answers doesn't belong to realms of system design or engineering, they are in more obscure notions of "business strategies" and "sales techniques". It is a text-book example how to sell - "show them that they have a problem they didn't realize before, and give them the one and only fix". Fine. Except that the problem doesn't exist outside discussions of "why this product is good - it solves this and that". Another thing is that it is an excellent strategy to "create a niche for oneself". Look, we are the ones who give you a solution (to a problem which doesn't exist). We are "world leader" - look, we have lots of experts, web-presence, lines of code. There are so many examples in "parallel worlds", beginning with eco products or "fair-trade" coffee, you name it. But you see, lots of people don't need an eco or environmental-friendly daemon which does everything "the right way". No, thank you. Another thing, back to system design. If Windows has "registry" and there are millions copies of Windows everywhere, or Mac has that settings daemon (from which GNOME Gsettings has been copied) it doesn't mean that these design decisions are superior to plain old text configs. You could compile them and have an "intermediate storage" to gain a 5% more efficiency for application startup times, but this is, again, not a fundamental problem. Being able to use regular expressions on configuration and logs without any restriction are much more fundamental. And memorizig all the details of all these xxxxctl insted of saying something like $ grep -R ^sysctl /etc or whatever I need, is just an additional unnecessary burden. Most of the problems systemd is trying to "solve" does not exist. At least not BSD, AIX, Solaris, you name it. And, of course, there never been any problem with syslog, init or cron. They were *good-enough".
- e12e 12y agoI don't support a switch to systemd at this time (I use Debian, and I'd be happy to live with pretty much any other init system for at least one more release - the obvious choice would be to just stick to systemV init, and see what systemd looks like in a year or so. Down side is that if the distro were to move (for supporting all those people that want Gnome for some reason ;-) -- then we loose out on a year or two of testing systemd). Anyway: > Most of the problems systemd is trying to "solve" does not exist. At least not BSD, AIX, Solaris, you name it. Don't forget that (open) Solaris revamped the init system, not just the disk/filesystem-system. I think there are arguments to be made for integrated systems like the zones/zfs/SMF. I don't think systemd is a reasonable way to go about it, and I certainly don't think it is a good fit for "Linux in general". My impression is: Systemd is too big -- will fail. Wasn't it Gnome that at one time tried to mimic the windows registry for settings (because binary data on disk: really fast, lol) -- only to go back to ini-style files? (I might be misremembering that one). Different designs are fine (see: eg plan9) -- but moving away from fundamental design principles (everything is a (text) file) effectively means abandoning the old system, making a new system. If systemd was a bit more upfront about "making a new operating system sharing some code with Linux kernel and traditional userland" - rather than trying to sell systemd as "more of the same, just better" -- maybe they'd meet with more positive reception. That a new system is unstable is fine -- just don't expect people to use your new crap in production.
- return0 12y agoAs a rule of thumb, it's good to distrust products when you know that the politics behind have been loud enough to be heard widely. But the sharp razor which will decide if systemd is better is simplicity. Those who have switched, is systemd simpler than sysvInit?
- jerven 12y agoYes, declarative unit files are simpler than Turing complete shell scripts.
- sethrin 12y agoSimplicity is not necessarily a good measure of suitability. See this: http://mjg59.dreamwidth.org/2414.html http://mjg59.dreamwidth.org/2414.html There are some aspects of systemd that are simpler than sysvinit. The mess of double-forking and PID files goes away, and process management is much more reliable. Setting up containers for services is much simpler. Unit files are generally much simpler than a given init script. I think more useful adages ("boned wisdom for weak teeth" - AB) would be, "Everything should be as simple as possible, but no simpler," and "Simple things should be simple, complex things should be possible." There is an enormous amount of complexity inherent in the problem of initializing and monitoring a modern OS. If your solution to this is actually simple, it is probably wrong or incomplete. How you manage that complexity and what your abstraction layers are are the vital questions.
- deleted 12y ago[deleted]
- morganvachon 12y agoI think the article got one thing wrong: That sooner or later every GNU/Linux distro will switch to systemd. I can think of three that most likely will not: Slackware, Crux, and Gentoo. Granted, the more that systemd binds itself to formerly modular userspace utilities and apps, the more pressure on those distros to make the switch, or else either fork every systemd userspace app at the risk of being left behind. But I have a feeling there will be a schism in Debian, resulting in a fork or (less likely) dropping systemd altogether, before too much longer. That might just be the catalyst to move away from it in other major distros. Then again, I could be completely wrong, and systemd will end up in every single surviving distro by default, turning GNU/Linux into systemd/Linux. That's when we'll see a true exodus of those opposed to it to other OSes.
- wtallis 12y agoI'm also interested to see how things play out with OpenWRT. High-end home routers are starting to get a lot more powerful with the transition to ARM SoCs and NAND flash, but they won't be able to run any software that depends on the systemd ecosystem while OpenWRT is still supporting the massive install base of hardware that systemd can't fit on.
- morganvachon 12y agoDitto for small ARM devices like the Raspberry Pi. When the RPi version of Arch Linux went to systemd, the system actually got slower in my experience. On such an already limited device, it was a quantifiable difference; before systemd, Arch was the fastest GNU/Linux distro for the Pi by leaps and bounds. After systemd, even Raspbian feels faster than Arch, and now Slackware is the reigning king of speed for it (again, among Linux distros). Unfortunately Slackware is still a bugaboo when it comes to installing it on the Pi, but once you've got it on there you can image your SD card and have a ready-to-roll distro that's lean and mean.
- mcguire 12y agoGood point. What is the systemd approach to embedded systems in general?
- renovaatio 12y agoTwo distros that don't use systemd: http://www.voidlinux.eu/ http://www.voidlinux.eu/ http://crux.nu/ http://crux.nu/ Void linux is a rolling release, has binary packages, uses a very good package manager (even better than pacman) and the community is small but very friendly. Crux is very minimal, and you have to compile your packages. I use Void Linux, and am very happy with it.
- papaf 12y agoThanks for that information. I am using Arch at the moment but I spent the last 45 minutes trying to fix a network problem which involved fighting with journalctl to see what was actually happening. Void linux looks like a great alternative.
- renovaatio 12y agoI assure you void is a great aternative to Arch. I was with arch until systemd, and it feels like home, only smaller, with Arch.
- phkahler 12y agoThe description of systemd - monolithic, taking on function of other things - sounds like the X server. Look what's happening now with Wayland, and look at how hard it's been to get there (hint Wayland is only possible as a result of all the driver architecture changes over the last 5-8 years). It's hard to undo this kind of thing once it's entrenched, but it can be done.
- e7620 12y agoLook how many platforms X supports, how many paradigm shifts has survived. systemd already has a less flexible architecture by design that an ancient system, so in the future it'll be difficult to untangle.
- SEJeff 12y agoHe rants about systemd, then talks about liking CoreOS, which uses systemd for everything. He is contradicting himself, but I'm genuinely not sure of why.
- angersock 12y agoRead it again: Author is saying that CoreOS is a good solution because you use it with heavily isolated containers. Thus, any use of systemd is unable to screw up hosted applications. For that use case, it makes sense, whereas in more general use, systemd wants to get all up in everything.
- timf 12y agoHe responds to that here as well: http://blog.lusis.org/blog/2014/11/21/a-few-things/ http://blog.lusis.org/blog/2014/11/21/a-few-things/
- saurabhnanda 12y agoNew to this entire brouhaha, but I'm concerned because my entire production stack runs on Linux. At some point devops is not going to be able to do things the old way. Is there a link where one can read about the rationale of why systemd was needed? Perhaps by the person who started off the initial project?
- scourge 12y agois this a joke? - "my entire production..." you're a devops engineer? - "link where one can read about the rational.." with good grammar? - "why systemd was needed... " ok you lost me there - "the person who started off the initial project?" and you've been hidden under a rock for the past 10 years?? http://0pointer.net/blog/ http://0pointer.net/blog/ - is his blog are you seriously trying to tell me that someone is going to have to explain what a "container" is by comparing with chroots? :D how have you been running your production stack all these years if you didn't have an internet connection under your rock :)
- sciurus 12y agohttps://news.ycombinator.com/item?id=8641839 https://news.ycombinator.com/item?id=8641839 is a much needed response to this discussion.
- exabrial 12y agoThe real reason people are pissed about systemd is it's intentionally designed to take over the entire system. Conveniently is also maintained by RedHat. So yes, it is a hostile takeover of Linux.
- timf 12y agoThe author responds to a number of the comments here: http://blog.lusis.org/blog/2014/11/21/a-few-things/ http://blog.lusis.org/blog/2014/11/21/a-few-things/
- deleted 12y ago[deleted]
- willhamina 12y agoDoes systemd increase the security of the OS or reduce it? For example, does it allow currently-separated processes to dip into each others' memory space? I would appreciate a birds-eye view from someone familiar with the security ramifications of systemd. Would not the incorporation of many loosely-coupled but individually secure mechanisms into a single monolithic mechanism be useful to an entity whose purpose was to monitor communications, view/modify systems unbeknownst to sysadmins and users, etc.? Yes, I'm talking about the NSA et al. I reference the following which also brings up Red Hat's control of Linux: "Julian Assange: Debian Is Owned By The NSA" http://igurublog.wordpress.com/2014/04/08/julian-assange-debian-is-owned-by-the-nsa/ http://igurublog.wordpress.com/2014/04/08/julian-assange-deb...
- orionblastar 12y agoI think that SystemD is an attempt to put Linux on par with Mac OSX and Windows 8.X, and attempts to do that haven't worked in the past. Like Canonical changing Ubuntu to use Unity and Mir, so that it was easier to use on tablets and modern PCs. It just doesn't seem to work and it drove me to Lubuntu and use LDXE with an XP like Start Menu UI. Ubuntu doesn't use SystemD yet, but I got a feeling it will. I am downloading Fedora 20 because it has SystemD in it, so I get some idea what it is like. But I think every Linux company wants to become another Apple for some reason. They saw how *BSD Unix went into making Mac OSX, and they want to try and copy that with their Linux distro and right now this SystemD seems like a path to that. It is like a change from free and open source to commercial Linux. We all saw how Lindows/Linspire tried that and failed. I might go to ReactOS, HaikuOS, AROS when one of them gets finished to the right level that it is ready for prime time. All they need to do is port Apache2, PHP, MySQL and other stuff to those operating systems to be used in VPS hosts so they can be used as alternative to Linux with SystemD if it ever breaks things.
- pekk 12y agoWhich Ubuntu release did you find to be using Mir as a default?
- orionblastar 12y agoI think it was on a tablet, not on the desktop by default yet. It is kind of confusing.
- sztanpet 12y agoYou know the blog is just a clickbait when it capitalizes the name of the project wrong. (on the wiki, the big Spelling header could not be more explicit)