谁能解释一下 LWN.net 文章中提到的内核中的 Linux Plumbing Layer 是什么意思?https://lwn.net/Articles/495516/
是不是意味着要做一个更加统一的内核?
答案1
它在哪里?
那篇文章混淆了 Linux(内核)和 Gnu/Linux,因此很难知道它在说什么。
然而,经过一些努力,可以看出它没有讨论内核中的某些内容:它说
在包裹内核的“管道层”中。
和
只要内核和管道层同时发生变化,这样的变化就不会打扰用户。
那么它是什么?
这篇文章讲述了它是什么
该层没有精确定义。
答案2
请注意,相关 LWN 文章的日期为 2012 年 5 月,因此距今已有六年半的历史。
它所说的“管道层”基本上是除内核之外的各种基础设施位,它们是构建功能性操作系统所需的。从历史上看,即使在大多数 Linux 发行版之间,这些也足够相似,因此将应用程序从一个 Linux 发行版移植到另一个 Linux 发行版并不是太困难。
回到 200 年代,您几乎可以使用任何 Linux 发行版,并且非常有信心它至少有 SysVinitinetd
和syslogd
/klogd
日志守护进程对。
2012 年,有一些迹象表明这样的共性可能很快就会消失:一些发行版保留了旧的 SysVinit,而其他发行版则使用upstart
或其他解决方案,但目前还没有明显的赢家(尽管文章提到systemd
,当时它是非常新),syslogd
+klogd
被替换rsyslogd
,xinetd
相当普遍地替换旧的inetd
等等。此外,诸如 D-Bus 之类的东西也firewalld
被引入,每个主要发行版似乎对如何处理网络配置和软件防火墙都有自己的想法。
本文担心这可能会导致互操作性降低 - 您将不再拥有“Linux 应用程序”,而是“RHEL 应用程序”、“Ubuntu 应用程序”等等,并且将应用程序从一个发行版移动到另一个发行版另一种方法则需要进行一定量的代码更改,而不是理想情况下仅重新打包,因为辅助系统组件差异太大而无法处理。
从那时起,它似乎成为了该领域systemd
的主要赢家,在网络配置领域得到了广泛的接受,并且有很好的机会成为标准的防火墙配置接口 - 特别是当内核准备从 过渡到同时承诺提供统一的管理界面,也具有熟悉的语法。因此,这些东西可能会增加各种 Linux 发行版之间的通用性。init
NetworkManager
firewalld
iptables
nftables
firewalld
iptables
nftables
该文章建议,也许是时候将一些开发重点从内核转移到这些辅助部分,并尝试对“标准 Linux 系统”应该是什么样子形成一个更连贯的想法。
因此,简而言之,本文中提到的“Linux 管道层”只是所有那些既不是内核也不是实际应用程序,但对于计算机系统正常运行所必需的东西的集体名词。