LWN: Comments on "Poettering: The Biggest Myths" https://lwn.net/Articles/534210/ This is a special feed containing comments posted to the individual LWN article titled "Poettering: The Biggest Myths". en-us Sat, 01 Nov 2025 09:27:41 +0000 Sat, 01 Nov 2025 09:27:41 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Trolling? https://lwn.net/Articles/537152/ https://lwn.net/Articles/537152/ cas <div class="FormattedComment"> it's the new and greatly improved way of spelling Lennart and if he doesn't like it, he's free to fork and go his own way.<br> <p> </div> Sat, 09 Feb 2013 22:50:17 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536813/ https://lwn.net/Articles/536813/ paulj <div class="FormattedComment"> Interesting, thanks. :)<br> <p> Bit of a dance, to have the IPC nexus hand-off this activation. It feels like really these should be part of one thing...<br> </div> Thu, 07 Feb 2013 17:02:46 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536785/ https://lwn.net/Articles/536785/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt; Then why is it that when people talk about doing exactly this, they get jumped by systemd people saying things like "why didn't you submit a bug report to get that capibility added to systemd" or "that's a stupid way to do things, you need to re-write your software to use systemd to do it"</font><br> These advices are not mutually exclusive, you know.<br> <p> If you have a compelling use-case of some exotic activation system for which it makes sense to add core support then doing a bugreport might be a good idea.<br> <p> And in other cases it might be a good idea to simply rewrite the offending code.<br> </div> Thu, 07 Feb 2013 16:03:22 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536779/ https://lwn.net/Articles/536779/ dlang <div class="FormattedComment"> <font class="QuotedText">&gt; Don't use socket-based activation and do your dependencies manually, just as in the SysV world. Simple.</font><br> <p> Then why is it that when people talk about doing exactly this, they get jumped by systemd people saying things like "why didn't you submit a bug report to get that capibility added to systemd" or "that's a stupid way to do things, you need to re-write your software to use systemd to do it"<br> <p> This subthread started by the simple statement that socket-based activation was not always appropriate, with the acknowledgement that systemd could support this.<br> </div> Thu, 07 Feb 2013 15:59:17 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536726/ https://lwn.net/Articles/536726/ khim <blockquote><font class="QuotedText">So, go on, how do you expose that dependency in a way systemd can handle it. Tell me.</font></blockquote> <p>Well, as you've suggested: DBus activation looks like a natural fit for such a use case - and since systemd handles it just fine... I don't see what's your problem.</p> <blockquote><font class="QuotedText">I'm just a tad sceptical of the wonder claims being made for socket activation based dependency resolution.</font></blockquote> <p>Socket activation covers 90% of usecases, but there are other ways to activate service. And the important thing of systemd is that they all can be used simultaneously. You can start some daemon at specific time (using time-based activation) <b>and</b> when your a leaving specific area (D-Bus based activation) <b>and</b> when some other service needs this particular daemon (socket-based activation). They don't conflict and handled correctly in all cases.</p> <p>Socket activation is there to track dependencies between services on your own system: it's the simplest one to use and most robust one. But there are other to handle "smoke signals", too.</p> Thu, 07 Feb 2013 12:41:57 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536724/ https://lwn.net/Articles/536724/ khim <blockquote><font class="QuotedText">There'll be no bug report on systemd because the applications involved are likely already using some other system. E.g. DBus IPC.</font></blockquote> <p>If it used DBus IPC then it can be <a href="http://fedoraproject.org/wiki/Packaging:Systemd#DBus_activation">easily be used with systemd</a> thus error report will be entirely unnecessary. I've said "convert it to signals systemd understands" and not "convert it to socket activation" exactly for this reason: because systemd handles <b>many</b> different activation requests and makes sure they don't conflict. Socket activation is just one of them (even if one of the most important ones).</p> Thu, 07 Feb 2013 12:33:05 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536722/ https://lwn.net/Articles/536722/ Cyberax <div class="FormattedComment"> Don't use socket-based activation and do your dependencies manually, just as in the SysV world. Simple.<br> <p> Additionally, designer of such a crazy interface should be shot immediately to stop propagating bogosity.<br> </div> Thu, 07 Feb 2013 12:19:39 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536675/ https://lwn.net/Articles/536675/ cortana <div class="FormattedComment"> Perhaps you could create target units for each location of interest; other units could then be wanted by/conflict with each target in order to be started/stopped when the location is changed. You would need a glue daemon to look at the GPS data and decide when to start/stop the location targets.<br> </div> Thu, 07 Feb 2013 08:59:48 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536673/ https://lwn.net/Articles/536673/ paulj <div class="FormattedComment"> There'll be no bug report on systemd because the applications involved are likely already using some other system. E.g. DBus IPC. DBus-daemon also can do "socket activation", and did before systemd existed I think.<br> </div> Thu, 07 Feb 2013 08:39:00 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536672/ https://lwn.net/Articles/536672/ paulj <div class="FormattedComment"> So, go on, how do you expose that dependency in a way systemd can handle it. Tell me.<br> <p> (FWIW, I have no opinion generally on systemd - I don't know enough about it. I'm just a tad sceptical of the wonder claims being made for socket activation based dependency resolution).<br> </div> Thu, 07 Feb 2013 08:35:22 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536671/ https://lwn.net/Articles/536671/ anselm <p> The GPS daemon provides the current location on a socket. It is probably unreasonable to expect systemd to be able to deal with that sort of information directly (systemd detractors would immediately jump on features such as these and call them out as »bloat«, with some justification). </p> <p> Hence, a reasonable way of handling this would be to write a (not very complicated) subsidiary daemon that listened to the GPS daemon's output and triggered various systemd actions based on them. This might be a good idea in any case in order to provide »smoothing« of the location data or additional rules (»tell me about bars in the vicinity but only during happy hour«). This daemon itself would of course be managed by systemd. </p> <p> This approach should also please the Unix traditionalists who insist that programs should »do one job and do it well«. </p> Thu, 07 Feb 2013 08:25:35 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536668/ https://lwn.net/Articles/536668/ rahulsundaram <div class="FormattedComment"> If systemd cannot handle something, is there a bug report? If not, why not?<br> </div> Thu, 07 Feb 2013 08:00:17 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536655/ https://lwn.net/Articles/536655/ dlang <div class="FormattedComment"> the GPS daemon does have a socket that systemd understands, what are you suggesting? making a different socket for every possible location so that systemd can set dependencies on if that socket responds???<br> <p> Just because systemd doesn't handle something doesn't mean that the something is worthless or stupid.<br> </div> Thu, 07 Feb 2013 05:50:06 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536652/ https://lwn.net/Articles/536652/ khim <blockquote><font class="QuotedText">Hardly smoke signals.</font></blockquote> <p>It <b>is</b> a smoke signal - from GPS stateliness. It can easily be converted to something systemd understands if you'll create a specialized daemon (in a "true UNIX fashion" people like to preach here so much) which will convert it to signals systemd understands.</p> <p>And you need such daemon anyway because you need to decide how often you poll, if you use just GPS or if you want to use WiFi, too, etc. It's not as if GPS satellites can pull some trigger on your PC or smartphone which means you'll need some complex logic anyway.</p> Thu, 07 Feb 2013 05:38:33 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536647/ https://lwn.net/Articles/536647/ paulj <div class="FormattedComment"> How would you add a dependency on, say, a location? Assume there is some daemon running on the system that can make the current location available over a socket (e.g. GPS co-ordinates, or a more abstract specification). The dependency is not just on the socket, but also on the /content/ of the information sent over that socket.<br> <p> Hardly smoke signals.<br> </div> Thu, 07 Feb 2013 04:34:43 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536551/ https://lwn.net/Articles/536551/ mathstuf <div class="FormattedComment"> <font class="QuotedText">&gt; …with PulseAudio (which, I'll note, still doesn't work properly with Wine on 64-bit systems, at least not on Debian, and still provides no benefits I actually care about).</font><br> <p> It Works For Me™ on Fedora. Rawhide no less (in December; not sure about this month yet). As for features, I keep an instance of MPlayer streaming some internet radio at work. It's nice to be able to mute it and still play some video with sound and then go back and unmute the stream seamlessly.<br> </div> Wed, 06 Feb 2013 19:00:38 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536510/ https://lwn.net/Articles/536510/ Cyberax <div class="FormattedComment"> If you have some very exotic services that use smoke signals to communicate - go on and add explicit dependencies.<br> </div> Wed, 06 Feb 2013 16:52:37 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536470/ https://lwn.net/Articles/536470/ nye <div class="FormattedComment"> To begin with, personally I'm actually not one of those people who doesn't have those problems. I do on occasion want to be able to do things that systemd makes easier, and am in principle very much in favour of systemd, though in practice I'm not actually willing to try it for myself yet until it's had at least another couple of years to mature - let's say jessie (Debian 8.0).<br> <p> However, I have a great sympathy for those who are in that position, because that's where I was (and actually still am) with PulseAudio (which, I'll note, still doesn't work properly with Wine on 64-bit systems, at least not on Debian, and still provides no benefits I actually care about).<br> <p> This is roughly how the exchange sounds from that perspective:<br> <p> Person A: Try this new snibulator; it's great!<br> Person B: I'm happy with my old snibulator, thanks.<br> A: But this one allows you to snibulate even when you're under water!<br> B: Huh, that sounds cool, but I've never needed to do that.<br> A: Well you're just too stupid to realise that you need this after all.<br> B: Please stop telling me what to do.<br> A: Stop being so hostile! You're clearly too lazy to spend the time to work out that you really need waterproof snibulation. If I had any employees like you, I'd fire them on the spot! I'm so important!<br> <p> The last line is the one that really grates on me, because it's so arrogant and so aggressively obnoxious. And I haven't hardly even had to exaggerate in my paraphrasing; many of the responses really are that hyperbolic.<br> </div> Wed, 06 Feb 2013 12:29:43 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536469/ https://lwn.net/Articles/536469/ HelloWorld <div class="FormattedComment"> <font class="QuotedText">&gt; The one downfall to this is that not all dependencies are socket-based.</font><br> Systemd offers a lot more than socket-based activation (which btw even supports inetd compatibility). There's also dbus-, device-, timer- and path-based activation and autofs support (which is arguably a service activation scheme as it can be used with FUSE file systems).<br> </div> Wed, 06 Feb 2013 12:21:52 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536472/ https://lwn.net/Articles/536472/ smurf <div class="FormattedComment"> You misunderstand.<br> <p> What I mean is that if Apache needs Mysql, you no longer need to entomb that dependency in your startup scripts.<br> </div> Wed, 06 Feb 2013 12:15:26 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536468/ https://lwn.net/Articles/536468/ nye <div class="FormattedComment"> <font class="QuotedText">&gt;Don't create straw men out of my arguments.</font><br> <p> I didn't. That's why I said "I'm sure you're not" before paraphrasing the argument that the other guy made, specifically to point out that what you're arguing for is *not* what I'm arguing against.<br> <p> I'm trying to say that you can support the idea that people might want to educate themselves without jumping right to "and anyone who doesn't always want to do that is incompetent".<br> </div> Wed, 06 Feb 2013 12:08:10 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536467/ https://lwn.net/Articles/536467/ HelloWorld <div class="FormattedComment"> <font class="QuotedText">&gt; Not leaning in on the pro/contra discussion, but this is an exaggeration by far.</font><br> No, it's not. udev does the interface naming stuff and systemd has nothing at all to do with it. <br> </div> Wed, 06 Feb 2013 12:05:15 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536437/ https://lwn.net/Articles/536437/ anselm <p> So? Systemd can deal with that, too – at least as well as System V init does. For example, systemd lets you express explicit forward and backward dependencies between services and will automatically construct a starting order based on that. With System V init, you either get to work out any dependencies yourself to set the magic numbers correctly by hand, or you use something like SUSE's insserv based on LSB metadata in the init scripts, where reverse dependencies are not an official feature. </p> Wed, 06 Feb 2013 09:18:09 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536434/ https://lwn.net/Articles/536434/ paulj <div class="FormattedComment"> The one downfall to this is that not all dependencies are socket-based. Some dependencies are more complex, and need a more abstract protocol than "open a socket" to express.<br> </div> Wed, 06 Feb 2013 08:14:15 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536421/ https://lwn.net/Articles/536421/ dlang <div class="FormattedComment"> nobody is trying to force you to stop using the tools you like.<br> </div> Wed, 06 Feb 2013 05:53:19 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536420/ https://lwn.net/Articles/536420/ vonbrand <p>But as the knots SysVinit would tie the system into (by willy-nilly starting stuff "in order" when some precondition was delayed for whatever reason, something didn't start because of a mistake and the whole line of dominoes came down leaving no clue) are next to impossible with systemd, this point is moot...</p> Wed, 06 Feb 2013 05:45:14 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536419/ https://lwn.net/Articles/536419/ spaetz <div class="FormattedComment"> <font class="QuotedText">&gt; This is not a systemd issue in any way, shape, or form. It is a udev issue. Systemd and udev share maintainers but this is as far as it goes. </font><br> <p> Not leaning in on the pro/contra discussion, but this is an exaggeration by far. The announcement (<a href="http://lwn.net/Articles/490413/">http://lwn.net/Articles/490413/</a>) makes it clear that they "merge the udev sources into the systemd source tree."<br> <p> To me that indicates strongly that systemd and udev are more than two independent tarballs that can be version mix-and-matched and just happen to have the same maintainers.<br> </div> Wed, 06 Feb 2013 05:35:46 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536411/ https://lwn.net/Articles/536411/ vonbrand <p>My "server" machine running Fedora (18 now) is working fine with systemd and NetworkManager, thank you very much. I'd <em>hate</em> to need to go back fighting stupid, unreadable shell scripts.</p> Wed, 06 Feb 2013 03:35:40 +0000 evolution https://lwn.net/Articles/536408/ https://lwn.net/Articles/536408/ vonbrand <p>Sorry, but my extensive experience with assorted shell scripts handling system-y stuff is that they are about as easy to debug as your running kernel, irrespective of tools available (and when things <em>really</em> go south, the requisites for any tools higher up than a well-placed echo just aren't available at all).</p> Wed, 06 Feb 2013 03:17:31 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536397/ https://lwn.net/Articles/536397/ HelloWorld <div class="FormattedComment"> So you're saying that having multiple NICs is a rare thing when you're managing large numbers of systems in data centers?<br> <p> And if that weren't enough, you readily admit that you're too incompetent to figure out that the mapping from MAC addresses to interface names is stored in /etc/udev/rules.d/70-persistent-net.rules and can be modified there?<br> <p> You're a crazy person. Get help. Or don't, I don't care. <br> </div> Wed, 06 Feb 2013 01:51:23 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536396/ https://lwn.net/Articles/536396/ HelloWorld <div class="FormattedComment"> <font class="QuotedText">&gt; I fear that this will lead to distros enabling each and every service under the sun</font><br> You mean like Debian has been doing for ages? <br> </div> Wed, 06 Feb 2013 01:37:53 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536348/ https://lwn.net/Articles/536348/ raven667 <div class="FormattedComment"> That's not a problem that can happen with systemd though, since it keeps the services on a tight leash and knows what state (running or not) the service is in. Since that part must be self-contained in PID 1 it would seem there is little room for race conditions or errors to exist. <br> <p> If we had the time we could skim through <a href="http://cgit.freedesktop.org/systemd/systemd/tree/src/core/">http://cgit.freedesktop.org/systemd/systemd/tree/src/core/</a> and see if we can identify where it keeps that state and how it is updated to see if there are any bugs.<br> </div> Tue, 05 Feb 2013 22:43:08 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536351/ https://lwn.net/Articles/536351/ Cyberax <div class="FormattedComment"> I thought it's obvious - socket-based activation enforces the ordering of services and explicit startup might be required because service might need to do some background stuff. <br> <p> Also, it might decrease the response time time for the first client.<br> <p> SystemD nicely allows to do both.<br> </div> Tue, 05 Feb 2013 22:24:57 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536349/ https://lwn.net/Articles/536349/ dlang <div class="FormattedComment"> If nothing can go wrong, then why would you want to have a service that you configure to start one way also configured for socket based startup?<br> <p> One of the things you learn after several years of running large numbers of production systems is to not trust claims that a process will always work, whatever that process is.<br> <p> Failures are generally not that common, but they do happen.<br> </div> Tue, 05 Feb 2013 22:16:32 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536347/ https://lwn.net/Articles/536347/ Cyberax <div class="FormattedComment"> Uhm, systemd gurantees that a service will be started only once.<br> <p> On the other hands, I did have problems when ejabberd started in parallel with the PostgreSQL database - there was no dependency in LSB headers because I was using an optional psql auth module.<br> <p> This worked just fine until the day it suddenly stopped working because the ordering of services has changed and Postgres moved a little bit later into the boot process.<br> </div> Tue, 05 Feb 2013 22:12:29 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536340/ https://lwn.net/Articles/536340/ dlang <div class="FormattedComment"> having a service started multiple times is not always a safe thing to do. In theory the service properly checks and makes sure there's only one copy of it running, in practice you just don't do that, or it _will_ bite you down the road.<br> </div> Tue, 05 Feb 2013 21:55:10 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536306/ https://lwn.net/Articles/536306/ khim <blockquote><font class="QuotedText">I was just saying that there are times when socket activation is not the best thing to be doing.</font></blockquote> <p>It's never a good idea to disable a socket activation. Socket activation is your safety net. It guarantees that services will be started when they are needed. Everything else is optional.</p> <p>This is yet another thing which systemd is doing correctly and which was traditionally managed in an an-hoc-kinda-works-in-you-quint-just-right way.</p> Tue, 05 Feb 2013 19:58:29 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536298/ https://lwn.net/Articles/536298/ dlang <div class="FormattedComment"> sigh, that 's why I added the bit about how I wasn't saying that systemd couldn't do this.<br> <p> I wasn't missing the point, I wasn't saying that systemd can't do this.<br> <p> I was just saying that there are times when socket activation is not the best thing to be doing.<br> </div> Tue, 05 Feb 2013 19:24:00 +0000 systemd/upstart adoption https://lwn.net/Articles/536290/ https://lwn.net/Articles/536290/ khim Fast boot is one of the important goals of ChromeOS. Systemd was not investigated because it will needs fine-tuning to work faster then the existing optimized boot and nobody have done the required work. Tue, 05 Feb 2013 19:00:59 +0000 Poettering: The Biggest Myths https://lwn.net/Articles/536289/ https://lwn.net/Articles/536289/ khim <blockquote><font class="QuotedText">True. On a server, you probably don't want to use socket activation.</font></blockquote> <p>Yes, you absolutely <b>do</b> want to use socket activation on server. It guarantees that service will be brought up if needed. You may want to use other forms of activation, too - but these are optional, if your forgot to explicitly start some service which is needed by other service - socket activation is there to bail you out.</p> <p>Even if you bring up all the services on server startup you <b>still</b> want socket activation. Without socket activation you need to order them somehow and need to think about dependencies between them, etc but with socket activation you just start them all - and that's it: socket activation will guarantee that nothing will be lost.</p> Tue, 05 Feb 2013 18:58:38 +0000