Guix

GNU Guix()是一个跨平台的包管理器,也是一个用于实例化和管理类Unix操作系统的工具。其余大部分组件使用GNU Guile进行编写。默认情况下只提供自由的软件包。 GNU Guix是GNU Guix System的默认包管理器。

与传统的包管理器不同,Guix(如Nix一样)采用了纯函数式的部署模型,软件被安装到通过密码散列函数生成的唯一的目录中。每个软件的所有依赖都作为每个密码散列函数的输入,解决了依赖地狱的问题。 这种包管理方法更有可能产生更可靠、可复制和可移植的包。

原理
Guix中的软件包使用Guile Scheme API进行定义。包依赖通过被称为“deriviation”()的特殊值在Guile中被跟踪,这些值将被Guix进程进行推导;Guix会跟踪这些值,以便在没有其他软件包依赖它们时,让其可以被删除。以更大的存储需求为代价,Guix保证其所有操作是原子操作,因此可被回滚。

GNU Guix System (操作系统)
GNU Guix System或简称Guix System,(前称Guix System Distribution(GuixSD)),是一款基于 Guix 构建的滚动更新、完全自由的GNU发行版,其关系类似于NixOS基于Nix构建。Guix System 支持声明式操作系统配置,并允许用户在系统升级后执行回滚操作。该系统采用 GNU Shepherd 作为init系统,用户可以选择使用Linux-libre内核或者GNU Hurd(GNU mach)内核。2015年2月3日,自由软件基金会将 Guix System 收录至其认可的自由 Linux 发行版列表。2026年3月,Guix System 1.5.0发布。amd64架构的Hurd作为高度实验性的内核选项,正式出现在该操作系统的TUI安装器界面中。

历史
这个项目由一个GNU Guile黑客Ludovic Courtès于2012年发起。

据Guix开发者在2022年十周年纪念博客里的解释,取“Guix”这个名称是为了致敬Nix与Guile,因为Guix项目最开始就是把两者混合在一起的。

发布
该项目没有固定的发布周期,迄今为止大约每 6 个月发布一个新版本。

2025年5月,该项目从 GNU Savannah 迁移至 Codeberg。

版本历史
参考资料

评论 (0)

  • 还没有评论,来抢沙发吧。