Nix – 适用于 Linux 和 Unix 的强大包管理器

前段时间,我们写过关于 Linuxbrew,Linux 和 Mac OS X 的通用包管理器。Linuxbrew 的显着特点是您可以安装包 没有根或 sudo 特权。 今天,在本指南中,我们将讨论另一个类似的包管理器。 见面 尼克斯,一个纯功能且可靠的包管理器,适用于 Linux 和其他 Unix 变体。 与其他包管理器不同,它提供同一包的多个版本的并行安装、原子和回滚支持、每用户包管理、包开发环境的轻松设置等等。 Nix 包管理器最初是为 尼克斯操作系统,一个 GNU/Linux 发行版,具有独特的包和配置管理方法。 NixOS 最初是作为一个研究项目由 埃尔科多斯特拉 2003 年。

特征

Nix 包管理器在功能和特性方面与其他 Linux 包管理器有点不同。 关于功能,我们可以列出以下内容:

  • 多用户包管理系统。 这意味着,系统中的每个用户都可以拥有一组不同的已安装软件包。
  • 用户可以在没有 root 的情况下安装软件包或 sudo 用户权限。
  • Nix 包管理器将包存储在 Nix 商店中,通常是目录 /尼克斯/商店. 每个包都有自己独特的子目录。 比如说,包 压缩包 将存储在唯一的目录下 /nix/store/c5y9w08xkiz6kvnscpjv3205gyr6iybz-gzip-1.8/ 以及所有必需的依赖项和库。
  • 不同的用户可以同时安装同一个包的不同版本。 对于想要测试使用不同版本的包和依赖项构建的应用程序的开发人员来说,这非常有用。
  • 由于所有软件包都安装在唯一的目录中,因此一个用户不能干扰(如删除、更新或升级软件包)另一用户安装的软件包。 此外,升级或更新包不会影响同一包的其他版本或其依赖项。
  • 可以将包回滚到以前的版本。
  • 原子升级支持。 这意味着当您升级软件包时,它不会覆盖现有版本。 每个新版本都将存储在新的唯一目录下。 由于包没有被覆盖,即使升级后旧版本仍然可用。
  • 可以安全地删除未使用的包。
  • DevOps 友好的包管理器。 Nix 帮助用户从源代码构建包,如果它们在存储库中不可用的话。 因此,Nix 对开发人员非常有用,因为它可以轻松地自动设置包的构建环境。
  • Nix 包管理器可用于 GNU/Linux 和 Mac OS X。

现在,我们将了解如何在类 Unix 操作系统中安装 Nix 包管理器。

在 Linux 中安装 Nix 包管理器

安装 Nix 包管理器很简单。

要将其安装在您的 Linux 机器上,请以普通用户身份运行:

$ curl https://nixos.org/nix/install | sh

样本输出:

 % Total % Received % Xferd Average Speed Time Time Time Current  Dload Upload Total Spent Left Speed  100 2354 100 2354 0 0 833 0 0:00:02 0:00:02 --:--:-- 833  downloading Nix 1.11.9 binary tarball for x86_64-linux from 'https://nixos.org/releases/nix/nix-1.11.9/nix-1.11.9-x86_64-linux.tar.bz2' to '/tmp/nix-binary-tarball-unpack.SoCHJhv4Vz'...  % Total % Received % Xferd Average Speed Time Time Time Current  Dload Upload Total Spent Left Speed  100 27.3M 100 27.3M 0 0 525k 0 0:00:53 0:00:53 --:--:-- 248k  performing a single-user installation of Nix...  directory /nix does not exist; creating it by running ‘mkdir -m 0755 /nix && chown sk /nix’ using sudo  [sudo] password for sk:  copying Nix to /nix/store...............................  initialising Nix database...  creating /home/sk/.nix-profile  installing ‘nix-1.11.9’  building path(s) ‘/nix/store/7dv1lghxz40rbvv9ffg7fq2as972a4r7-user-environment’  created 6 symlinks in user environment  downloading Nix expressions from ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’...  downloading ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’... [7625/8656 KiB, 403.0 KiB/s]  unpacking channels...  created 2 symlinks in user environment  modifying /home/sk/.bash_profile...  Installation finished! To ensure that the necessary environment  variables are set, either log in again, or type  . /home/sk/.nix-profile/etc/profile.d/nix.sh  in your shell.

安装 Nix 后,注销并重新登录系统以验证是否正确设置了必要的环境变量。 或者,从终端运行以下命令以确保它。

$ . /home/sk/.nix-profile/etc/profile.d/nix.sh

请注意,开头有一个点 (.)。 如果你没有看到任何输出,那么你就完成了! Nix 包管理器已成功安装在您的系统上。 此外,将上述行添加到您的配置文件 PATH 以避免每次登录系统后都运行上述命令。

为此,请编辑 ~/.profile 或者 ~/.bashrc (或类似的):

$ vi ~/.bashrc

在末尾添加以下行。

. /home/sk/.nix-profile/etc/profile.d/nix.sh

Save 和 close 文件。 重新启动系统。 现在,您不必每次登录系统后都运行上述命令。

以下教程解释了如何使用 Nix 包管理器来执行一般包管理操作,例如安装、删除、更新、升级和构建包。

  • Nix 包管理器入门

资源:

  • 没有网站

感谢您的光临!

帮助我们帮助您:

  • 订阅我们的电子邮件通讯: 立即注册
  • 支持 OSTechNix: 通过贝宝捐款
  • 下载免费的电子书和视频: TradePub 上的 OSTechNix
  • 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅

祝你有美好的一天!!

DevOpsLinuxNixNixOS包管理工具包管理器