当前版本 |
|
---|---|
源代码库 | |
编程语言 | Guile Scheme, C++(Nix核心) |
许可协议 | GPLv3+ |
网站 | guix |
GNU Guix(/ɡiːks/[3])是一个跨平台的包管理器,也是一个用于实例化和管理类Unix操作系统的工具。其基于Nix包管理器与Guile Scheme API,只提供自由软件。[4] GNU Guix是GNU Guix SystemGNU/Linux发行版的默认包管理器。[5][6][7]
与传统的包管理器不同,Guix(如Nix一样)采用了纯函数式的部署模型,软件被安装到通过密码散列生成的唯一的目录中。每个软件的依赖都包含在哈希当中,解决了依赖地狱的问题。[8] 这种包管理方法更有可能产生更可靠、可复制和可移植的包。[9][10]
Guix 中的包使用一种专用的,名为Guile Scheme API的语言来进行定义。[11]依赖通过被称为“派生”的特殊值在这种语言中被跟踪,这些值将被Guix进程评估。Guix 会跟踪这些值,以便在没有其他软件包依赖它们时,可以被删除。以更大的存储需求为代价,Guix保证其所有操作是原子操作并可被回滚。[11]
GNU Guix的开发与GNU Guix System交织在一起(直到Guix 1.0:Guix系统发行版[GuixSD])。[5]GNU Guix System是一个使用Hurd内核和GNU Shepherd init系统的完整的GNU系统。[12][6][7]
该项目由志愿者团队在互联网上协调,并由法国非营利组织Guix Europe负责。[13]
|
|