尼克斯:革命性的包裝經理和為Linux及其他地區建立系統
尼克斯(Nix)是一個強大而獨特的軟件包管理器和構建系統,為Linux和其他類似Unix的操作系統提供了一種新的軟件管理方法。與傳統的軟件包經理不同,Nix具有同時管理同一軟件包的多個版本的能力,提供無縫的原子升級和回滾,支持每個用戶軟件包管理,並簡化可再現開發環境的創建。
Nix最初是為尼克斯(Nixos)開發的。在DevOps和雲基礎架構管理中,它的強大功能和創新的軟件包管理方法也越來越多地採用。
目錄
Nix通過其功能和功能將自己與常規Linux軟件包管理人員區分開。這是一個更近的外觀:
NIX在隔離環境中構造軟件包,以確保可再現的構建不會受主機系統的配置影響。這是通過純粹的功能構建模型來實現的。
軟件包位於Nix Store( /Nix /Store ),該目錄包含所有軟件包及其依賴項。每個軟件包的文件名是一個唯一的加密哈希,使不同的軟件包版本的共存而沒有衝突。
包裝是使用Nix表達式語言定義的,這是一種懶惰的,純粹的功能性語言。這些表達式詳細介紹瞭如何從源代碼構建軟件包。
尼克斯採用聲明性的方法來管理包裝管理。您指定所需的系統狀態,NIX確保系統達到該狀態。
純粹的功能模型和孤立的構建保證可重複的構建;在不同時間在不同機器上構建相同的包裝會產生相同的結果。
NIX支持原子升級和回滾,可以輕鬆在不同的軟件包版本或整個系統狀態之間切換。
NIX頻道促進了NIX表達收集的分佈,簡化了更新和包裝共享。
NIXPKGS(NIX軟件包)是大量的Nix表達式,軟件包和構成Nix生態系統基礎的實用程序。這個單個存儲庫(Mono Repo)通常稱為“ Nix Standard Library”,包含80,000個軟件包定義以及管理它們的工具,包括用於尼克斯和組件的模塊,用於構建和部署完整的Nix系統。
Nixos是建立在NIX軟件包管理器上的Linux發行版,將聲明性的方法擴展到系統配置和軟件包管理。
Nixops是使用與Nixos相同的聲明方法在網絡或云環境中部署Nixos機器的工具。
NIX支持多用戶軟件包管理,允許多個用戶在同一系統上管理軟件包而不會干擾。這在共享或開發環境中是無價的。
包裝過程中的依賴隔離和沙箱可以防止副作用並提高安全性,從而降低了“依賴地獄”的風險。
NIX軟件包存儲在 /NIX /Store中。每個軟件包的唯一路徑包括其輸入的哈希,防止衝突並允許多個版本共存。
NIX表達語言是一種特定領域的,純粹的功能性語言,是NIX軟件包管理的中心。關鍵特徵包括:
(例如,尼克斯表達在很大程度上保持不變,但可以從較小的措辭變化中受益,以提高清晰度和流動。考慮對stdenv
及其作用進行簡要說明。)
(文檔的其餘部分,包括安裝說明,入門指南,常見問題解答和結論,可以進行類似的解釋和重組以維持原始含義,同時實現更自然和引人入勝的流程。應調整特定的措辭和句子結構,以進行不可行的可讀性和簡潔性。)
以上是NIX- Linux和UNIX的功能強大的軟件包管理器的詳細內容。更多資訊請關注PHP中文網其他相關文章!