Guix

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
GNU Guix
當前版本
  • 1.4.0 (2022年12月19日;穩定版本)[1]
編輯維基數據鏈接
源代碼庫 編輯維基數據鏈接
編程語言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).