Devuan 的维基百科页面说这包括
...仅在需要时进行本地修改,以允许其他 init 系统而不是 systemd。修改后的软件包包括policykit和udiks。 Devuan 的工作方式应该与相应的 Debian 版本非常相似。
因此,每个 Devuan 版本都是经过修改的 Debian 版本。我的问题是 - 从广义上讲,这些差异是什么?更具体地说:
- 需要执行哪些主要的非 systemd 软件组件来代替 systemd 运行?
- Debian 需要在 Debian 存储库中提供哪些软件包的基础上添加哪些软件包,以及它只需要启用/运行哪些软件包?
- Devuan 引入的代码/新代码中有多少更改理论上在 Debian 上可用/有用,即使使用 systemd,而不是与 systemd 无关的代码更改?
如果 Devuan Jessie 和 ASCII 之间的这些答案存在显着差异,请回答有关 ASCII 的问题。
答案1
Devuan 同步除 systemd 之外的所有 Debian 软件包(并且由于一个奇怪的原因,ASCII 格式的 file-rc)。它修复了由于这两个包丢失而导致的任何问题,并添加了一些品牌并更改了一些默认值。
据我所知,devuan 启动的编码项目都已经死了:LoginKit 本来应该是 logind 的替代品(他们现在使用 elogind),但从未落地。 Vdev 本来应该取代 udev,但并没有看到年龄的变化,devuan 现在使用 eudev 代替。有一些小的网络管理东西,但没有准备好生产。 devuan 的大部分工作都投入到基础设施中,但其中大部分对于 Debian 来说没有什么意义。不过,Debian 下游的其他发行版可能会发现一些有用的部分。
不要屏住呼吸。 “依赖混乱”:对于 ASCII,Devuan 已经放弃从 Debian 软件包中删除 libsystemd0 依赖(他们开始为 Jessie 删除该依赖,现在正在回滚)。他们最近还添加了一个 logind-clone,现在可以发布依赖于 systemd-logind 的 Debian 软件包而无需更改。
似乎也很少愿意与 Debian 开发者合作开发软件包。
有关 Devuan 中打包活动的概述,请参阅以下构建服务器日志:https://ci.devuan.org/view/All/builds与所有的包装活动。您可以在这些日志中找到所有特定于 devuan 的打包工作。活动量并不大,因此这是了解最新动态的好方法。
答案2
非常粗略地,没有查找细节:
Devuan 必须做出的主要改变是在包依赖项中,因为 systemd 已经变成了一个巨大的非模块化的块,它将它的卷须(依赖项)扩展到许多其他包(例如桌面)中,在这些包中你会摸不着头脑并问自己为什么这是必要的。这使得它真的没有 systemd 很难运行 Debian(我尝试了足够长的时间)。你升级了一个无辜的包,然后砰的一声,通过一百个间接,你又得到了 systemd。
1) 只是传统的 sysv init 系统,一直存在于 Debian 中。 Devuan 并不是那么需要新的软件包,它是关于使用 Debian,就像在 systemd 混乱之前使用它一样。
2) 参见上文 - 就可用软件包而言,没有太大变化。有一些“幽灵”软件包或多或少是空的,但在 Debian 中用于 systemd,以满足依赖关系。
3)我认为实际代码没有变化。理清依赖关系的混乱本来就是真的对 Debian 很有用(那么就不需要 Devuan),但显然 Debian 维护者不愿意这样做。