尼克斯:革命性的包装经理和为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中文网其他相关文章!