Guix

GNU Guix
当前版本
  • 1.4.0 (2022年12月19日;穩定版本)[1]
編輯維基數據鏈接
源代码库
  • git.savannah.gnu.org/cgit/guix.git
編輯維基數據鏈接
编程语言Guile Scheme, C++(Nix核心)
许可协议GPLv3+
网站guix.gnu.org

GNU Guix/ɡ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]

参考资料

  1. ^ GNU Guix 1.4.0 released. 2022年12月19日 [2022年12月21日]. 
  2. ^ Ludovic Courtès. GNU Guix 1.3.0 released. 2021-05-11 [2021-05-11]. (原始内容存档于2021-05-13). 
  3. ^ GNU Guix Reference Manual. www.gnu.org. [2018-04-23]. (原始内容存档于2018-12-23). 
  4. ^ Ludovic Courtès. Functional Package Management with Guix. Madrid, Spain: European Lisp Symposium. 2013 [2021-01-27]. (原始内容存档于2015-02-05). 
  5. ^ 5.0 5.1 What to call Guix? (邮件列表). gnu-system-discuss. 2015-01-15 [2021-01-27]. (原始内容存档于2020-08-07). 
  6. ^ 6.0 6.1 Programming Interface (GNU Guix Reference Manual). [2021-01-27]. (原始内容存档于2019-06-02). 
  7. ^ 7.0 7.1 Guix: A New Package Manager & GNU Distribution - Phoronix. [2021-01-27]. (原始内容存档于2015-02-02). 
  8. ^ Prins, P., Suresh, J. and Dolstra, E., "Nix fixes dependency hell on all Linux distributions," (页面存档备份,存于互联网档案馆) linux.com, December 22, 2008
  9. ^ 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.
  10. ^ Dolstra, E. The Purely Functional Software Deployment Model. (页面存档备份,存于互联网档案馆) PhD thesis, Faculty of Science, Utrecht, The Netherlands. January 2006. ISBN 90-393-4130-3.
  11. ^ 11.0 11.1 GNU's advanced distro and transactional package manager — GNU Guix. guix.gnu.org. [2021-01-29]. (原始内容存档于2021-01-27). 
  12. ^ Hurd 内核接棒:GNU Guix 将终止对 Linux 的支持. 2020-04-05 [2021-02-03]. (原始内容存档于2020-09-25). 
  13. ^ guix-europe. git.savannah.gnu.org. [2019-05-16]. (原始内容存档于2021-01-24). 
历史
GNU's not UNIX
许可证
软件
公众发言人
其它议题
 
编译包(二进制
Linux
格式
Dpkg
RPM
tarball
  • slapt-get英语slapt-get
  • slackpkg英语slackpkg
  • netpkg英语netpkg
  • swaret英语swaret
其他
MacOS
Windows
TrueOS
Solaris
  • IPS英语Image Packaging System
  • Pkgutil英语Pkgutil
嵌入式操作系统
行動作業系統
電子遊戲機
跨平台
  • Dpkg
  • IPS英语Image Packaging System
  • OpenPKG英语OpenPKG
  • pkgsrc英语pkgsrc
  • Zero Install英语Zero Install
  • IBM SmartCloud Enterprise英语IBM cloud computing#IBM SmartCloud
  • Nix
  • wpkg英语wpkg
  • Steam
插件
Google Chrome
Firefox
  • 附加组件
Z/OS
  • SMP/E英语SMP/E
 
非编译包(源代码
Linux
MacOS
混合系统
元包管理器英语Meta package managers
Python
  • PyPI
  • pip
  • easyinstall英语Setuptools#EasyInstall
  • PyPM英语Python Package Manager
  • Anaconda
  • Enthought Canopy英语Enthought
  • 列表级条目 列表英语List of software package management systems
  • 分类 分类
  • 共享资源页面 共享资源
Gentoo
Android
Arch
Red Hat
Fedora
Mandriva
Debian
Ubuntu
Slackware
  • Austrumi Linux英语Austrumi Linux
  • DeLi Linux英语DeLi Linux
  • DNALinux英语DNALinux
  • Kongoni英语Kongoni (operating system)
  • NimbleX英语NimbleX
  • Platypux英语Platypux
  • Porteus英语Porteus (operating system)
  • Salix OS英语Salix OS
  • TopologiLinux英语TopologiLinux
  • VectorLinux英语VectorLinux
  • Zenwalk英语Zenwalk
其他
  • 4MLinux英语4MLinux
  • Alpine Linux
  • CRUX英语CRUX
  • Frugalware Linux英语Frugalware Linux
  • GeckoLinux英语GeckoLinux
  • GoboLinux
  • GuixSD英语Guix System Distribution
  • KaOS
  • Kwort Linux英语Kwort Linux
  • Lunar Linux英语Lunar Linux
  • NixOS英语NixOS
  • SliTaz
  • Source Mage英语Source Mage
  • Solus
  • Tiny Core Linux
  • Void Linux
  • Clear Linux OS