包管理器发布 以及在其基础上构建的 GuixSD GNU/Linux 发行版(Guix System Distribution)。 版本号的重大变化是由于所有实现的完成 ,交付形成具有里程碑意义的版本。 该版本总结了该项目七年的工作,并宣布可供日常使用。 用于装载 用于安装在 USB 闪存 (243 MB) 上并在虚拟化系统中使用 (474 MB) 的映像。 支持在 i686、x86_64、armv7 和 aarch64 架构上运行。
该发行版允许安装为 在虚拟化系统、容器和传统设备中,以及 在已安装的 GNU/Linux 发行版中,充当应用程序部署的平台。 为用户提供考虑依赖性、可重复构建、免root工作、出现问题时回滚到以前版本、配置管理、克隆环境(在其他计算机上创建软件环境的精确副本)等功能。
主 :
- 添加了新的 ,以文本模式工作;
- 虚拟机的新映像,适合熟悉发行版和创建开发工作环境;
- 添加了新的系统服务cups-pk-helper、imap4d、inputattach、localed、nslcd、zabbix-agent和zabbix-server;
- 更新了2104个软件包中的程序版本,添加了1102个新软件包。 包括clojure 1.10.0、cups 2.2.11、emacs 26.2、gcc 8.3.0、gdb 8.2.1、ghc 8.4.3的更新版本,
gimp 2.10.10、glibc 2.28、gnome 3.28.2、gnupg 2.2.15、go 1.12.1、
guile 2.2.4、icecat 60.6.1-guix1、icedtea 3.7.0、inkscape 0.92.4、
libreoffice 6.1.5.2、linux-libre 5.0.10、伴侣 1.22.0、ocaml 4.07.1、
八度 5.1.0、openjdk 11.28、python 3.7.0、rust 1.34.0、r 3.6.0、
sbcl 1.5.1、牧羊人 0.6.0、xfce 4.12.1 和 xorg-server 1.20.4; - GNU Shepherd 服务管理器更新至版本 ,它实现了一次性服务运行模式,其中服务在成功启动后立即被标记为停止,这可能需要在其他服务之前运行一次性作业,例如执行清理或初始化;
- 对于“guix package”命令,添加了其他包管理器典型的别名“install”、“remove”、“upgrade”和“search”。 要搜索软件包,您可以使用命令“guix search”,安装“guix install”,以及更新“guix pull”和“guix Upgrade”;
- 包管理器中添加了操作进度指示器和诊断消息的颜色突出显示。 默认情况下,大多数命令现在运行时没有详细的屏幕输出,这是通过单独的“-v”(--verbosity)选项启用的;
- 添加了新命令“guix system delete- Generations”和选项“guix pack —save-provenance”、“guix pull —news”、“guixenvironment —preserve”、“guix gc —list-roots”、“guix”到 guix 包管理器 gc -delete- Generations", "guix Weather -coverage";
- 添加了新选项 “--with-git-url”和“-with-branch”;
- 发行版中添加了用于定义键盘布局的配置字段“keyboard-layout”、用于配置 X 服务器的“xorg-configuration”、用于部分标签的“label”和用于定义主要服务的“essential-services”;
- 添加了“guix pack -RR”命令来创建可重定位可执行文件的 tar 存档,这些可执行文件可以相对于用户命名空间中的路径或相对于 PRoot 运行;
- “guix pull”提供了包缓存的形成,以加速按名称的搜索操作,并提供了“glibc-utf8-locales”包的嵌入;
- 确保“guix system”命令生成的 ISO 映像的完全可重复性(逐位);
- 使用GDM代替SLiM作为登录管理器;
- 对使用 Guile 2.0 构建 Guix 的支持已停止。
让我们提醒您,GNU Guix 包管理器是基于该项目开发的 除了典型的包管理功能之外,它还支持执行事务更新、回滚更新的能力、无需获得超级用户权限即可工作、支持与个人用户绑定的配置文件、同时安装一个程序的多个版本的能力等功能,垃圾收集工具(识别并删除未使用的软件包版本)。 为了定义应用程序构建场景和包形成规则,建议使用专门的高级领域特定语言和Guile Scheme API组件,它们允许您在函数式编程语言Scheme中执行所有包管理操作。
支持使用为 Nix 包管理器准备并放置在存储库中的包的能力
。 除了对包进行操作之外,还可以创建脚本来管理应用程序配置。 构建包时,会自动下载并构建与其关联的所有依赖项。 可以从存储库下载现成的二进制包,也可以从具有所有依赖项的源文本进行构建。 已经实现了一些工具,通过组织来自外部存储库的更新安装来使已安装程序的版本保持最新。
包的构建环境以容器的形式形成,其中包含应用程序工作所需的所有组件,这允许您创建一组可以工作的包,而无需考虑发行版的基本系统环境的组成,其中Guix被用作附加组件。 可以通过扫描已安装包目录中的标识符哈希值来确定 Guix 包之间的依赖关系,以查找是否存在已安装的依赖关系。 软件包安装在用户目录中的单独目录树或子目录中,使其能够与其他软件包管理器并行共存,并为各种现有发行版提供支持。 例如,软件包安装为 /nix/store/f42d5878f3a0b426064a2b64a0c6f92-firefox-66.0.0/,其中“f42d58...”是用于依赖项监视的唯一软件包标识符。
该发行版仅包含免费组件,并附带 GNU Linux-Libre 内核,清除了二进制固件的非免费元素。 GCC 8.3 用于汇编。 服务管理器用作初始化系统 (),作为具有依赖性支持的 SysV-init 的替代品而开发。 Shepherd 控制守护进程和实用程序是用 Guile(Scheme 语言的实现之一)编写的,它也用于定义启动服务的参数。 基础镜像支持控制台模式,但用于安装 9714 个现成的软件包,包括基于 X.Org 的图形堆栈组件、dwm 和ratpoison 窗口管理器、Xfce 桌面以及精选的图形应用程序。
来源: opennet.ru
