当前位置:7303刘伯温开奖6374 > 软件包 >

Nix:纯粹功能型的Linux软件包管理器

  Nix是一款功能强大的纯粹功能型的软件包管理系统,为可靠且可重复的软件包管理而设计,按照GNU LGPLv2.1的条款发布。它是一款不太知名的Linux发行版NixOS中主要的软件包管理系统。

  Nix提供原子升级及回滚、多个版本的软件包安装、多用户软件包管理以及为软件包轻松安装构建环境,无论开发人员使用哪种编程语言和工具。

  在Nix下,软件包是用“Nix表达式”这种功能型软件包语言构建的。这种功能型软件包管理方法确保安装或升级一个软件包不会破坏其他软件包。

  Nix还有多用户支持,这意味着普通(或非特权)系统用户可以安全地安装软件包,每个用户由配置文件(Nix商店中出现在用户Path中的软件包集合)来识别。

  如果一个用户安装了软件包,另一个用户试图安装同一个软件包,不会再次构建或下载该软件包。

  它目前支持Linux(i686、x86_64)和Mac OS X(x86_64)。然而,它的移植性相当强,你可以在支持POSIX线编译器的大多数平台上试用它。

  我们在本文中将介绍如何在Linux中安装(在多用户模式下)和使用Nix软件包管理器。我们将讨论与常用工具有关的一些基本的软件包管理任务。

  我们将在多用户模式下安装最新版本的Nix(v2.1.3)。幸好,有一个现成的安装脚本,你可以在系统上使用下列curl命令,以普通用户的身份从shell运行。

  运行上述命令将下载最新的nix二进制打包文件,你将进入多用户nix安装屏幕,如屏幕截图所示:

  想查看安装过程中发生的详细情况,请键入y并按回车键。如果你对结果满意、准备好继续,请键入y并按回车键。

  脚本将根据需要多次调用sudo命令。你需要回答y并按回车键来允许它使用sudo。

  然后,安装程序会运行几个测试,生成Nix配置报告,在用户ID 30001和30032之间创建构建用户,以及组ID为30000的组。出现提示时输入y以继续。它将为不同的构建用户设置构建组,并创建Nix的基本目录结构。

  安装完成后,你需要打开新的终端窗口,以便开始使用Nix。或者,关闭并重新打开shell,让最近的更改生效。然后获取文件/etc/profile.d/nix.sh(因为它不是shell启动文件,打开新的shell不会获取它)。

  接下来,运行下列命令从官方项目网站下载一些路径,这些路径是Nix运行所必需的。所有路径下载并拷贝到正确的位置后,你将看到系统和Nix安装类型摘要,如屏幕截图所示:

  在Nix下,软件包管理由nix-env实用程序完成。它用于安装、升级和删除/擦除软件包,以及查询已安装或可用于安装的软件包。

  所有软件包都在Nix通道中,该通道是一个URL,指向含有Nix表达式集合和指向二进制缓存的指针的存储库。

  默认通道是Nixpkgs,订阅通道列表存储在~/.nix-channels中,你可以使用下列命令将它们列出来(没有输出表示没有通道)。

  在安装任何软件包之前,先要更新Nix通道;这类似于在APT软件包管理器下运行apt update。

  在这个例子中,我们将使用前一个命令与grep一起安装Apache Tomcat服务器,以查找可供安装的软件包,如图所示:

  想安装软件包,请指定软件包版本,比如apache-tomcat-9.0.2,使用下列命令:

  在本地系统上,Nix将软件包存储在Nix商店中,默认情况下是在/nix/store目录,其中每个软件包都有各自唯一的子目录。比如,apache-tomcat软件包存储在:

  如果你想删除/擦除apache-tomcat,请使用-e标志。这里,软件包并不立即从系统中删除,只是处于未使用状态。这很有用,因为也许你想要执行回滚,或者它可能在其他用户的配置文件中。

  删除软件包后,你可以使用nix-collect-garbage实用程序进行一些垃圾回收。

  在带有systemd的系统上,运行下列命令,停止所有与Nix有关的服务并禁用它们。

  Nix是一种纯粹功能型的软件包管理器,为可靠且可重复的软件包管理而设计。它提供了很有意思的软件包管理概念,与Linux中的YUM和APT等常用工具大不相同。

  本网站依据国家相关规定准备了相应的稿酬,但由于客观原因无法支付。如您是这篇文章或图片的著作权人或其他权利人,请与本网站联系。本网站在确认您的身份后将予以支付。

http://laurenolte.com/ruanjianbao/515.html
点击次数:??更新时间2019-07-03??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】