GUIX 和 NixOS 在架构上有区别吗?

GUIX 和 NixOS 在架构上有区别吗?

(这不是一个“哪种分布更好”的问题!)

GNU图形用户界面尼克斯操作系统是两个基于 NixOS 包管理器的 Linux 发行版。

我意识到 GUIX 似乎使用 Guile 来定义包/依赖项或其他元数据用途;我猜 GUIX 中的所有内容都是 GPL 的,而 NixOS 中也许并非所有内容都是……但这些看起来更像是表面上的差异。

我希望了解的是这两个发行版是否有建筑学任何意义的差异。

答案1

基本上,这两个发行版之间没有任何架构差异,除了处理 init 系统的方式不同:Guix System 使用 GNU Sheperd,而 NixOS 使用 System D。

据我所知,Guix/Guix System 是 Nix/NixOS 中框架的重新实现,利用 GNU 工具。换句话说,它就像 NixOS,但具有不同的用户体验:

  • 与 Nix 和 Bash 相比,其整个代码库都是使用 Guile 和 Lisp 开发的。
  • 它使用 GNU Shepherd 代替 System D。
  • Guix 不打包非自由软件nixpkgs
  • Guix 提供对 GNU Herd 内核的支持。

大约一年前我尝试了 Guix,当时发现了一些限制:

  • 无法在 LVM 上安装根文件系统。
  • 构建包需要重新编译所有 Guix 模块。

值得注意的是nixpkgs 是最大的软件包存储库之一,而 Guix 存储库受到维护者数量有限和“仅限自由软件”的限制。 Nix 项目也更加成熟,拥有十年的领先优势和更大的社区。

此外,由于 Nix 是一个包管理器,因此它可以安装在任何发行版上,包括 Guix 系统。这意味着您可以nixpkgs在 Guix 系统上使用 Nix 安装软件包。

正如 MegaTux 的评论所指出的,Guix 也是一个独立的包管理器(随 Guix System 发行版一起提供)并且可以安装在任何发行版上。

相关内容