TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Systemd, ten years later: a historical and technical retrospective

381 点作者 vezzy-fnord大约 5 年前

24 条评论

gorgoiler大约 5 年前
When writing software, it’s comparatively easy to come up with grand new ideas and turn them into lines of code and files filled with modules.<p>What’s much harder is (1) to expand ones code without coupling everything together (2) present it in a persuasive way that naturally builds a user base.<p>SystemD feels like the new grad hire who decided the first thing the would do after joining — the opening power play — is to convince the PHB we should rewrite everything in Haskell.<p>At this point the gentler folk start quietly honing their CVs and sneaking their personal belongings off their desks, one night at a time, in the hope no one notices they are all about to quit.<p>It felt like Unix systems administration was a haven from this sort of politics — I don’t remember tmux, git, or python trying to push behavior changes on upstream components of the OS[1]. I’m sure it’s why Unix attracted a certain type of personality for so many years and I’m sad to see that changing.<p>[1] If you are thinking “but those are command line utilities, whereas the init process is a much more specialized case” then I’d encourage you to revisit the Unix principles of every component being a small and simple program! Even init, cron, and login! It’s not some grand ideal to be zealously adhered to: it’s the principles of small components that mean the same OS can run on a quad core Xeon as runs on a $45 network switch.
评论 #23064847 未加载
评论 #23065894 未加载
评论 #23065234 未加载
评论 #23067075 未加载
评论 #23065524 未加载
评论 #23065172 未加载
nine_k大约 5 年前
My beef with systemd is not its reinventing things. That part may actually be good.<p>One problem is that a number of reinventions were poorly made.<p>E.g. the log format. Yes, unstructured logs have a ton of drawbacks. Can we take some ridiculously well-tested, reliable embedded database or serialization format (like sqlite) and use it as log storage? Alas.<p>Another problem is the &quot;I know better&quot; attitude.<p>Are user processes allowed to run after logout? Which DNS to use during startup? What logging in should look like? In each such case, existing behavior which was <i>widely considered as not broken</i> was replaced by a different behavior, often even without an escape hatch. The new behavior(s) in such cases should be made possible, but the default should be the old behavior.<p>No wonder I don&#x27;t run systemd on my desktops &#x2F; laptops.
评论 #23064905 未加载
评论 #23064730 未加载
评论 #23064534 未加载
评论 #23206747 未加载
评论 #23066348 未加载
评论 #23065895 未加载
评论 #23066116 未加载
ttctciyf大约 5 年前
As a somewhat dilettante and casual home sysadmin (currently) I was messing around with screen on a box downstairs and ran into this:<p><a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;programming&#x2F;comments&#x2F;4ldewx&#x2F;systemd_kills_screen_and_tmux_by_default_on_logout&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;programming&#x2F;comments&#x2F;4ldewx&#x2F;systemd...</a><p>Namely that systemd doesn&#x27;t allow persistent processes started from the shell by default, preferring to terminate them when the user logs out.<p>This would include processes like &quot;screen&quot; whose entire raison d&#x27;etre is to persist after the user logs out. (Well, it has other uses, but this is the main one IMO.)<p>The stated workarounds - fiddling with some options like &quot;KillUserProcesses=no&quot; in logind.conf &amp;co. - have so far failed.<p>I don&#x27;t know whether this situation is a problem with systemd or the distro, but it seems very much a problem with the culture summarised by the top commenter in the above thread, of (paraphrasing) <i>glibly breaking existing workflows then casually brushing away criticism with arguments often boiling down to: &quot;this is the right way, I don&#x27;t care about tradition or protecting &#x27;incorrect&#x27; usage.&quot;</i>
评论 #23063211 未加载
评论 #23064416 未加载
评论 #23064501 未加载
评论 #23065802 未加载
评论 #23063426 未加载
评论 #23065484 未加载
评论 #23062872 未加载
评论 #23063976 未加载
评论 #23062935 未加载
acdha大约 5 年前
I think this really sums this article up:<p>&gt; One thing I’m certain of is that this shift cannot emerge from dilettantes, outsiders and proverbial basement hackers. One does not unseat a platform without already being part of the patriciate that calls the shots on what gets integrated where across the largest nodes in the ecosystem.<p>It’s a long, turgid “why wasn’t I consulted?” complaint which really just comes back to the question of how open-source projects work. An init system is harder than it might seem at first and requires buy-in from an unusually large number of parties since it affects the OS, everyone shipping daemons, and the operators. If you’re not going to invest that level of engineering time, I don’t see how it’s reasonable to expect an equal voting share with those who do.
评论 #23063202 未加载
评论 #23062910 未加载
评论 #23063941 未加载
评论 #23063608 未加载
评论 #23063997 未加载
ratsmack大约 5 年前
&gt;systemd still remains poorly understood and understudied from both a technical and social level despite paradoxically having disproportionate levels of attention focused on it.<p>This statement makes no sense. It is well understood and has been studied and critiqued by many, including me. Also, I don&#x27;t know what &quot;social level&quot; has to do with anything here. It was just created for the commercial aspect of Linux and forced into the relevant distro&#x27;s by commercial interests... it&#x27;s just that simple.
评论 #23063058 未加载
评论 #23062735 未加载
评论 #23065098 未加载
评论 #23062375 未加载
评论 #23065162 未加载
zozbot234大约 5 年前
Systemd is an amazingly clear example of the second-system effect, as described in <i>The Mythical Man Month</i>. I fully expect it to be replaced down the line by something dramatically simpler and more intuitive, but that might take some time. Nonetheless, it does seem to solve some real problems with the earlier, rc-scripts approach.
评论 #23063546 未加载
评论 #23064107 未加载
k_bx大约 5 年前
Can I just say, from a non-sysadmin perspective, how happy am I that these days I don&#x27;t have to install something like Supervisord and just use the systemd + journald toolchain. Setup script is just one cp and few systemctl commands (start&#x2F;stop&#x2F;enable).
评论 #23065765 未加载
dvfjsdhgfv大约 5 年前
A key quote:<p>&gt; As it turns out, there was a little-known Freedesktop-affiliated project called xdg-hostname in 2009 which was a start towards creating such D-Bus “utility daemons” for use in desktop widgets and others, all as a standalone project. Had this been followed through instead of having the utility daemons end up being part of the systemd source tree, a good deal of political acrimony could have been avoided – though at the cost of reducing systemd’s leverage.<p>That is, if they used xdg-hostname instead, SystemD wouldn&#x27;t be tightly coupled with Gnome, so users could choose between SystemD and InitV, and all this mess could have been avoided.
reacharavindh大约 5 年前
God I wish more people used VoidLinux and packaged more and more stuff without needing Systemd. Systemd may be good for some, bad for some. But, it certainly should not be the only way to get things done. We need alternatives.<p>It’s as if web developers were told now that there is IE, that is prevalent, we can write web apps that only work there ;-)
keymone大约 5 年前
One thing I’m surprised about in the init wars of past decade(s?) is that in almost half a century of Unix nobody got up and said “why don’t we, instead of bickering about implementation details, come up with single format to <i>declare</i> desired system startup behavior, and then users can pick whichever implementation they like to read and execute that format”?<p>Can’t be impossible to distill some basics about service startup configuration and dependencies, can it?<p>Then make it extensible and cry about differences in extension support like we do about per-browser css options, but at least converge on some basics.
gjvc大约 5 年前
If you don&#x27;t like something, put your energy into implementing it the way you do. With any luck, the ensuing distraction will be more effective at weakening the original than simply complaining about it.
评论 #23064319 未加载
nyanpasu64大约 5 年前
I don&#x27;t fully understand systemd, but the technical critique looks interesting and seems to indicate systemd is poorly designed (but I don&#x27;t understand it all). Anyone else commenting on that?
评论 #23085737 未加载
bandrami大约 5 年前
10 years ago I never had shutdowns hang with &quot;Stop job waiting for PID 10834: 30 seconds... 90 seconds...&quot;<p>I do now. Regressions are a bad thing.
whereistimbo大约 5 年前
vezzy-fnord! I have always enjoyed your commentary and perspective of operating system, it&#x27;s nice to see you back again!
评论 #23065161 未加载
AndrewStephens大约 5 年前
I do really appreciate this type of long form, researched blog post. I have no strong opinions on systemd, I&#x27;ve made simple service units and it has worked well enough. Having the history behind the design is a great aid to understanding.
评论 #23085791 未加载
noitpmeder大约 5 年前
My worst gripe with systemd is that I cannot find reliable docs for older versions.
评论 #23066603 未加载
评论 #23065655 未加载
Koshkin大约 5 年前
My biggest gripe with it is that its name is not ‘sysd.’
lidHanteyk大约 5 年前
The author sounds distressingly prescient with their prediction that BPF will be the next venue for this sort of farce.
meddlepal大约 5 年前
Oh good, the monthly HN systemd 5 minute hate is upon us once again.
评论 #23063654 未加载
bepvte大约 5 年前
Interesting comparisons of a GNOME volunteer to Stalin. Also found it very interesting that the author put inclusivity in quotes.
评论 #23065455 未加载
Stierlitz大约 5 年前
TLDR: down with sYstemd :]
nn3大约 5 年前
The dependency problems he&#x27;s describing sound like they could be relatively easily fixed with some new systemd keywords?<p>Of course it would take some time to migrate existing unit files.<p>It doesn&#x27;t sound like a fundamental critique. Would be nice to turn this into a constructive proposal to fix systemd.
评论 #23065672 未加载
arh68大约 5 年前
PulseAudio is the <i>only</i> program I&#x27;ve seen really stress my Ryzen. I recommend fixing the default sampling config if you have similar issues.<p>This is a really entertaining writeup, given the subject matter.
aganame大约 5 年前
I wish systemd haters would make a public petition to remove systemd from this world. I would absolutely use such a list to make sure I never accidentally hire any one of them for any system administration positions.
评论 #23064461 未加载