11 ms·
Without Systemd
- iDemonix 9y agoI'm fairly skilled up with Linux, but I don't often read about anything the community is doing, saying or thinking. What is it that everyone hates about Systemd?
- dmitrygr 9y agoTFA has a nice link for that: http://without-systemd.org/wiki/index.php/Arguments_against_systemd http://without-systemd.org/wiki/index.php/Arguments_against_...
- rekado 9y agoNote that this is not a list of distributions hating systemd. Some distributions just don't use systemd for technical reasons or because of other design considerations. One example is GuixSD, which uses Guile for everything, including the init (via GNU Shepherd).
- fatbird 9y agoIn its naive form, it seems very monolithic, which seems un-unixlike. And its adoption was largely driven by decisions by large distributions, rather than organic growth. To some, this feels very corporate and centralized, which seems un-linuxlike.
- garfij 9y agoIsn't being somewhat monolithic Linux-like in itself? I've always been under the impression that Linux is a monolith kernel approach to Unix. Unless we're all switching to Hurd, caring about a monolith init system while running the Linux kernel seems philosophically inconsistent.
- JdeBP 9y agoPlease see https://news.ycombinator.com/item?id=13390245 https://news.ycombinator.com/item?id=13390245 . You are, both of you, repeating an erroneous argument that has been repeated many times before.
- fatbird 9y agoPlease note that my comment carefully articulates the perception of systemd, without commitment to it being the reality. I actually like systemd, and don't care whether it's "monolithic" or not.
- wott 9y ago> And its adoption was largely driven by decisions by large distributions, rather than organic growth. Yes, that's not stated enough. According to systemd proponents, systemd was demanded. Truth is I've never witnessed or heard about a rush towards RedHat distributions because they had systemd first. Never. That's what should have happened if systemd was so attractive, shouldn't it? Nor have I ever heard a user demanding systemd in order to solve his problems. It was pushed by distribution maintainers, not users. I remember when Arch decided to switch to systemd. The maintainers made false claims (which were repeated by other distributions later) and false promises. They claimed that systemd would relieve them from the terrible burden of maintaining init scripts. Many times have I asked to give example of this burden, I was never given an answer. Of course, the software packages are mostly all already present, there are very few new ones coming who require an init script, and the existing ones have had their script running for years and years, there is very little fixing or evolution in those. It's difficult to give proofs of a burden that did not exist, but that claim persisted, despite never being backed by anything. Arch maintainers, in order to get allowed to switch to systemd, promised that the previous init system would stay beside systemd and be maintained. That was a swindle: once they got the agreement to proceed with systemd on that condition, it was a matter of only a couple of months for them to ditch that promise. And 6 months after, the maintainer who made this promise in order to butter the opposition up and pass the deal for systemd as Arch init, was hired by RedHat...
- pmoriarty 9y agoOne of the main problems was the speed with which systemd was rolled out on all the major Linux distros, despite it being relatively immature and very controversial at that. The second major issue is it growing way out of the bounds of being just an init replacement, thereby violating the so-called Unix Philosophy of doing one-thing well. For a user app to do that is one thing, but for a core OS component to do that just smells way too much like forcing Linux to be more like Windows, which a lot of hard-core Linux users are ideologically opposed to. The third major issue is that on most major Linux distros, users are not given an easy way to avoid using systemd, no matter how much they hate it or oppose it. The fourth issue is the apparent arrogance of the people responsible for systemd, and their off-hand dismissal of mature and widely respected unix conventions. The fifth problem is that when systemd breaks, troubleshooting and fixing it can be a lot harder than doing the same with an init script. All of this adds up to a storm of controversy that the systemd people mostly brought upon themselves. Had they just been more humble about their creation and waited until it was mature and well-tested and did all the wonderful things they claim it could and should do instead of stuffing what was widely seen as a broken-by-design piece of garbage down everybody's throat, maybe much of the Linux community wouldn't have been nearly so outraged by it.
- DamonHD 9y ago3: Users are not given an easy way to avoid using libc or the kernel calls or ASCII text either, so that a non-issue unless you already decided that it's important not to use those things.
- setr 9y agoBy virtue of being controversial, which is not true of your examples, this does indeed add to its list of issues
- jbverschoor 9y agoI'm sorry. But the "Unix" way is to do one thing well. Why is it that every single app needs to support a "daemon" mode? It is the biggest pain in the but. I love systemd. Finally a sane solution on linux.
- upofadown 9y agoFor those into minimalism, systemd is just the straw that broke the camel's back. Over the years the Linux distributions have been adding more and more cruft on top. Systemd was a relatively large chunk of cruft and forced some to look the complexity of the whole system and not like what they saw.
- jwilk 9y agohttps://lists.debian.org/87bn0aackz.fsf@hope.eyrie.org https://lists.debian.org/87bn0aackz.fsf@hope.eyrie.org (Yes, it's long, but it's absolutely worth reading.)
- totallyunknown 9y agoNice collection of Linux distributions I'd like to avoid now. There might be some issues with systemd, but systemd is by far much better than anything else we had before.
- myusernameisok 9y agoWith the exception of slackware (which aims to be the most Unix-like Linux distro) I don't understand all the hate for systemd and why people continually try to remove it from their system. I've read countless blogs on the pitfalls of systemd, but all the benefits of systemd outweigh the downsides. It seems there are a lot of people who get way too hung up on sticking to the UNIX philosophy as closely as possible without taking other factors into consideration.
- arca_vorago 9y agoThen quite simply you haven't been listening or paying attention. I'm a gnu/gpl proponent, so I come into the systemd debate leaning towards the side that is simply requesting (why should they even have to? They don't!) init diversity. I've heard plenty of reasoned debate between both sides though, and things like "why people continually try to remove" have been layed out time and time again. So after showing you aren't even aware of the current debates which are still ongoing, you try to criticize their points as being "too hung up on sticking to the UNIX philosophy"? That's not a good description of the antisystemd sides arguments, because the positions I have seen taken are more varied than that. Essentially that was just a strawman you took out of your hat because its one that sounds good. Oh and if it's worth anything, as a sysadmin who has to support all the distro's, systemd has not been a panacea as touted by any stretch of the imagination. For example, logging. Why is that now a systemd thing? Just cause systemd is the creepy uncle that likes to touch everything it can? So I'm just gonna pipe that crap into syslog anyway... and don't get me started on LP's shenanigans. I fully support devuan and all others in their pursuit of init freedom, because the user deserves to have choice. I hope fully gplv3'd init wins (systemd being agplv2 I think).
- msla 9y ago
- gaius_baltar 9y agoMaybe I'm stepping into a hornets nest by commenting this but after some initial estrangement, I now absolutely love having systemd in the servers I manage. Thanks for providing me with an easy and sane way to manage processes, pretty simple one to configure control groups and other restricted execution environments, monitoring, etc. That made me see how much time I wasted writing non-trivial init scripts and reworking with the trivial ones. I simply don't want to get back now.
- sekh60 9y agoI have always been a fan of most of systemd. The only complaint I really have is the binary file logging. I feel that should be plain text.
- db48x 9y agoI think it would still have to be some kind of structured format (one json object per "line", for instance), so that it could keep all of the metadata. On the other hand, you can use journalctl --output=json to get exactly that, so...
- kpcyrd 9y agoI have a grief with plain text logs. They are really nice if you want to read them manually with vim or less, but are super painful if you want to parse them automatically. It doesn't help much that a fair number of logging libraries have buggy formatting to an extend that you can't safely parse plain text log files sometimes. For example this bug (mostly fixed by now) https://github.com/sirupsen/logrus/issues/531 https://github.com/sirupsen/logrus/issues/531
- deleted 9y ago[deleted]
- chrissnell 9y agoI used to hate systemd until we adopted CoreOS at our last job, which forced me to learn it. I have evolved and now love it. Once you learn the basics, getting new services up and running with it is easy. I really like the other parts of the systemd ecosystem, too. journald makes it easy to view the logs of any given app/service without having to hunt through directories. I also love systemd-networkd--it's a HUGE improvement over older attempts at managing network connections. I got my start on Linux in the < 1.0 kernel days and distros back then forced you to manually configure your interfaces. This was actually really nice because it was simple and reliable. When more modern distros came along, they introduced "fancy" network management which was complicated, inflexible, and often flaky. systemd-networkd restores sanity to network interface management. Finally, there's a great message bus that allows for API-driven interaction with various systemd components. With a good language binding, it's now pretty straightforward to tie your custom code into some of the systemd components.
- Frondo 9y agoOh, yes. I never really wrote a ton of systemv init scripts, but I wrote enough to always find it kind of a pain. Writing systemd units by comparison? Heavenly. What really sealed the deal for me was when I needed a service to automatically restart itself if it died. Restart=always, RestartSec=10, done. If it dies, it's back up in 10 seconds. I wouldn't even know how to do that with an init script, and though of course I could write something out with enough time and patience, how could that be an improvement over two easily-understood lines?
- kpcyrd 9y agoI don't know why this is getting downvoted. I used to install systemd from backports on wheezy only because I don't have to write sysv-init scripts that way.
- ta33444 9y agoMaking the BSDs more compelling, this Pottering coup. The astroturfing is interesting to see on HN.
- rad_gruchalski 9y agosystemd is great, since I started using it about a year ago, never looked back. I like the fact that with a single service file, I have: well... services, services with dependencies, logging, automatic restarts, timers (no more cron, yay), sane pre-start, post-start and such. Show me a viable, repeatably working alternative, I might consider. Until then I really don't care if it's the "UNIX philosophy". I used upstart, init and runit before. runit was close but there was just so much fiddling with it. Upstart kinda worked. init is init. systemd just works - it does one thing well: allows me to launch my services reliably without having to install, configure and maintain tons of little fiddly bits to make the system work.
- Rjevski 9y agoPersonally as someone who uses Linux to get work done and make money (as opposed to tweaking my machine more than actually using it), systemd has been a blessing - it just works most of the time, and the rare time it doesn't (that did happen - some issues with dbus) I just consider the entire machine hosed and reboot - my software is designed to work around failed nodes so it's no big deal.