跳转到内容

Guix

本页使用了标题或全文手工转换
维基百科,自由的百科全书
GNU Guix
当前版本
  • 1.4.0(2022年12月19日;穩定版本)[1]
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言Guile Scheme, C++Nix核心)
许可协议GPLv3+
网站guix.gnu.org

GNU Guix/ɡks/[2])是一个跨平台的包管理器,也是一个用于实例化和管理类Unix操作系统的工具。其基于Nix包管理器与Guile Scheme API,只提供自由的软件包[3] GNU Guix是GNU Guix System的默认包管理器。[4][5][6]

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

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

GNU Guix的开发与GNU Guix System交织在一起。[4]Guix System是一个使用GNU HurdGNU Linux-libre内核,GNU Shepherd init的完整GNU操作系统。[5][6]

该项目由志愿者团队在互联网上协调,并由法国非营利组织Guix Europe负责财务管理等。[11]

历史

[编辑]

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

参考资料

[编辑]
  1. ^ GNU Guix 1.4.0 released. 2022年12月19日 [2022年12月21日]. 
  2. ^ GNU Guix Reference Manual. www.gnu.org. [2018-04-23]. (原始内容存档于2018-12-23). 
  3. ^ Ludovic Courtès. Functional Package Management with Guix. Madrid, Spain: European Lisp Symposium. 2013 [2021-01-27]. (原始内容存档于2015-02-05). 
  4. ^ 4.0 4.1 What to call Guix? (邮件列表). gnu-system-discuss. 2015-01-15 [2021-01-27]. (原始内容存档于2020-08-07). 
  5. ^ 5.0 5.1 Programming Interface (GNU Guix Reference Manual). [2021-01-27]. (原始内容存档于2019-06-02). 
  6. ^ 6.0 6.1 Guix: A New Package Manager & GNU Distribution - Phoronix. [2021-01-27]. (原始内容存档于2015-02-02). 
  7. ^ Prins, P., Suresh, J. and Dolstra, E., "Nix fixes dependency hell on all Linux distributions,"页面存档备份,存于互联网档案馆linux.com, December 22, 2008
  8. ^ Dolstra, E., de Jonge, M. and Visser, E. "Nix: A Safe and Policy-Free System for Software Deployment."页面存档备份,存于互联网档案馆) In Damon, L. (Ed.), 18th Large Installation System Administration Conference (LISA '04)页面存档备份,存于互联网档案馆, pages 79–92, Atlanta, Georgia, USA. USENIX, November 2004.
  9. ^ Dolstra, E. The Purely Functional Software Deployment Model.页面存档备份,存于互联网档案馆) PhD thesis, Faculty of Science, Utrecht, The Netherlands. January 2006. ISBN 90-393-4130-3.
  10. ^ 10.0 10.1 GNU's advanced distro and transactional package manager — GNU Guix. guix.gnu.org. [2021-01-29]. (原始内容存档于2021-01-27). 
  11. ^ guix-europe. git.savannah.gnu.org. [2019-05-16]. (原始内容存档于2021-01-24).