GNU Guix 1.1 包管理器和基于它的分发可用

发生 包管理器发布 GNU Guix 1.1 以及建立在其基础上的 GNU/Linux 发行版。 用于装载 形成 用于安装在 USB 闪存 (241 MB) 上并在虚拟化系统中使用 (479 MB) 的映像。 支持在 i686、x86_64、armv7 和 aarch64 架构上运行。

该发行版允许安装为 独立操作系统 在虚拟化系统、容器和传统设备中,以及 发射 在已安装的 GNU/Linux 发行版中,充当应用程序部署的平台。 为用户提供考虑依赖性、可重复构建、免root工作、出现问题时回滚到以前版本、配置管理、克隆环境(在其他计算机上创建软件环境的精确副本)等功能。

创新:

  • 添加了新的“guix 部署”命令,旨在一次部署多台计算机的硬件,例如 VPS 中的新环境或可通过 SSH 访问的远程系统。
  • 第三方包存储库(频道)的作者提供了编写新闻消息的工具,用户在执行“guix pull --news”命令时可以阅读这些新闻消息。
  • 添加了“guix系统描述”命令,这使得可以在部署期间评估系统的两个不同实例之间的更改。
  • 在“guix pack”命令中添加了对为 Singularity 和 Docker 生成图像的支持。
  • 添加了“guix time-machine”命令,它允许您回滚到存档中保存的包的任何版本 遗产软件.
  • “guix系统”添加“--target”选项,提供部分交叉编译支持;
  • 确保 Guix 的执行使用 诡计3,这对生产力有积极的影响。
  • 包依赖关系图仅限于一组减少的二进制种子组件,这是朝着实现完全可验证的引导程序迈出的一大步。
  • 图形安装程序的自动测试框架已经实现。 安装程序现在构建在持续集成系统中,并在不同的配置(加密和常规根分区、桌面安装等)中进行测试。
  • 添加了 Node.js、Julia 和 Qt 的构建系统,简化了与这些项目相关的应用程序包的编写。
  • 添加了新的系统服务auditd、fontconfig-file-system、getmail、gnome-keyring、kernel-module-loader、
    结解析器、mumi、nfs、nftables、nix、pagekite、pam-mount、patchwork、
    polkit-wheel、出处、pulseaudio、sane、奇点、usb-modeswitch

  • 更新了3368个软件包中的程序版本,新增了3514个软件包。 包括xfce 4.14.0、gnome 3.32.2、mate 1.24.0、xorg-server 1.20.7、bash 5.0.7、binutils 2.32、cups 2.3.1、emacs 26.3、enlightenment 0.23.1的更新版本,
    gcc 9.3.0、gimp 2.10.18、glibc 2.29、
    gnupg 2.2.20、go 1.13.9、guile 2.2.7、
    Icecat 68.7.0-guix0-preview1、icedtea 3.7.0、
    libreoffice 6.4.2.2、linux-libre 5.4.31、、openjdk 12.33、perl 5.30.0、python 3.7.4、
    铁锈 1.39.0。

让我们提醒您,GNU Guix 包管理器是基于该项目开发的 尼克斯 除了典型的包管理功能之外,它还支持执行事务更新、回滚更新的能力、无需获得超级用户权限即可工作、支持与个人用户绑定的配置文件、同时安装一个程序的多个版本的能力等功能,垃圾收集工具(识别并删除未使用的软件包版本)。 为了定义应用程序构建场景和包形成规则,建议使用专门的高级领域特定语言和Guile Scheme API组件,它们允许您在函数式编程语言Scheme中执行所有包管理操作。

支持使用为 Nix 包管理器准备并放置在存储库中的包的能力
尼克斯包装。 除了对包进行操作之外,还可以创建脚本来管理应用程序配置。 构建包时,会自动下载并构建与其关联的所有依赖项。 可以从存储库下载现成的二进制包,也可以从具有所有依赖项的源文本进行构建。 已经实现了一些工具,通过组织来自外部存储库的更新安装来使已安装程序的版本保持最新。

包的构建环境以容器的形式形成,其中包含应用程序工作所需的所有组件,这允许您创建一组可以工作的包,而无需考虑发行版的基本系统环境的组成,其中Guix被用作附加组件。 可以通过扫描已安装包目录中的标识符哈希值来确定 Guix 包之间的依赖关系,以查找是否存在已安装的依赖关系。 软件包安装在用户目录中的单独目录树或子目录中,使其能够与其他软件包管理器并行共存,并为各种现有发行版提供支持。 例如,软件包安装为 /nix/store/f42a5878f3a0b426064a2b64a0c6f92-firefox-75.0.0/,其中“f42a58...”是用于依赖项监视的唯一软件包标识符。

该发行版仅包含免费组件,并附带 GNU Linux-Libre 内核,清除了二进制固件的非免费元素。 GCC 9.3 用于汇编。 服务管理器用作初始化系统 GNU 牧羊人 (前DMD),作为具有依赖性支持的 SysV-init 的替代品而开发。 Shepherd 控制守护进程和实用程序是用 Guile(Scheme 语言的实现之一)编写的,它也用于定义启动服务的参数。 基础镜像支持控制台模式,但用于安装 准备好了 13162 个现成的软件包,包括基于 X.Org 的图形堆栈组件、dwm 和ratpoison 窗口管理器、Xfce 桌面以及精选的图形应用程序。

来源: opennet.ru

添加评论