Can anyone please explain what is meant by the Linux Plumbing Layer in the kernel, as mentioned in the LWN.net article here? https://lwn.net/Articles/495516/

Does it mean to make a more unified kernel?

closed as unclear what you're asking by Gilles, Stephen Harris, RalfFriedl, Fabby, Rui F Ribeiro Dec 9 '18 at 13:34

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    Are you referring to what's written about in lwn.net/Articles/495516 or at some other place? It's easier to explain a term if some amount of context is given. – Kusalananda Dec 8 '18 at 8:24
  • @Kusalananda Yes. What is it exactly? – ng.newbie Dec 8 '18 at 9:09
  • 1
    What is it exactly? systemd – roaima Dec 8 '18 at 9:25
  • @Kusalananda asked is it this OR that (Which one). You responded “Yes”. – ctrl-alt-delor Dec 8 '18 at 11:40
  • That article confuses Linux (the kernel) and Gnu/Linux. It is real hard to know what it is saying. I don't thing it is discussing something in the kernel. – ctrl-alt-delor Dec 8 '18 at 11:43

Please note that the LWN article in question is dated May 2012, so it is six and a half years old at this point.

The "plumbing layer" it talks about is basically the various infrastructure bits other than the kernel, that are needed to make a functional operating system. Historically these have been similar enough even between most Linux distributions that it wasn't too difficult to port an application from one Linux distribution to another.

Back in the 200x, you could take pretty much any Linux distribution and be pretty confident that it had at least SysVinit, inetd and the syslogd/klogd pair of log daemons.

In 2012, there were some signs that there soon might not be such commonalities any more: some distributions were keeping the old SysVinit, while others were using upstart or other solutions with no clear winner in sight yet (although the article mentions systemd, back then it was very new), syslogd+klogd was being replaced by rsyslogd, xinetd pretty universally replaced old inetd and so forth. Also, things like D-Bus and firewalld were being introduced, and each major distribution seemed to have its own ideas on how to handle network configuration and software firewalls.

The article worries that this might lead to reduced interoperability - that you'd no longer have "applications for Linux", but instead "applications for RHEL", "applications for Ubuntu" and so forth, and that moving an application from one distribution to another would require some amount of code changes instead of ideally just re-packaging, since the ancillary system components would be too different to handle otherwise.

Since then, it appears that systemd became the major winner in the init sector, NetworkManager is getting wide acceptance in the network configuration sector, and firewalld has a good chance to become the standard firewall configuration interface - especially as the kernel prepares to transition from iptables to nftables while firewalld promises to offer an unified management interface with familiar iptables-like syntax with nftables too. As a result, these things may provide increased commonality between various Linux distributions.

The article suggested that it was perhaps time to shift some of the development focus from the kernel to these ancillary pieces, and to perhaps attempt to form a more coherent idea of what a "standard Linux system" should look like.

So, in short, the "Linux Plumbing Layer" mentioned in the article is just a collective noun for all those things that are neither the kernel nor actual applications, but are nevertheless necessary for a functioning computer system.


Where is it?

That article confuses Linux (the kernel) and Gnu/Linux, so it is hard to know what it is saying.

However with some effort it can be seen that it is not discussing something in the kernel: it says

in the "plumbing layer" that wraps the kernel.


Such changes should not bother users as long as the kernel and the plumbing layer change at the same time.

So what is it?

The article says this about what it is

This layer is not precisely defined.

  • 1
    So this article means nothing? – ng.newbie Dec 8 '18 at 17:50
  • @ng.newbie you would have to read the article. I only skimmed it, and summarised the relevant bits above. – ctrl-alt-delor Dec 8 '18 at 17:55
  • Couldn't make sense of it. What do you mean by the wrapping the kernel? – ng.newbie Dec 8 '18 at 17:58
  • I mean nothing by it. That is a quote from the article. They mean that it is non kernel code, that it forms an abstraction, that applications will access this abstraction, not the kernel directly. – ctrl-alt-delor Dec 8 '18 at 18:09

Not the answer you're looking for? Browse other questions tagged or ask your own question.