使用 Nix 包管理器发布 NixOS 21.11 发行版

NixOS 21.11 发行版基于 Nix 包管理器发布,并提供了许多自己的开发成果,可简化系统设置和维护。例如,NixOS使用单一系统配置文件(configuration.nix),提供快速回滚更新的能力,支持不同系统状态之间的切换,支持单个用户安装单个包(包放置在主目录下) ),并允许同时安装同一程序的多个版本,确保可重现的程序集。 KDE 的完整安装映像的大小为 1.6 GB,GNOME 为 2 GB,缩短的控制台版本为 765 MB。

主要创新:

  • KDE Plasma 桌面已默认切换为使用 Wayland 协议。更新了 GNOME 41 和 Pantheon 6(来自 Elementary OS 6)桌面。
  • 使用 iptables-nft 集代替 iptables,它提供具有相同命令行语法的实用程序,但将结果规则转换为 nf_tables 字节码。
  • Systemd 249、PHP 8.0、Python 3.9、PostgreSQL 13、bash 5、OpenSSH 8.8p1 的更新版本。
  • 显着改进了对 LXD 容器管理系统的支持。实现了使用 nixpkgs 从配置文件构建 LXD 映像的功能。构建完全支持 nixos-rebuild 的 nixOS 映像,可以单独使用。
  • 添加了 40 多个新服务,包括 Git、btrbk(btrfs 备份)、clipcat(剪贴板管理器)、dex(OAuth 2.0 提供程序)、Jibri(Jitsi Meet 会议录制服务)、Kea(DHCP 服务器)、owncast(流媒体)视频) 、PeerTube、ucarp(CARP 协议的实现)、opensnitch(动态防火墙)、Hockeypuck(OpenPGP 密钥服务器)、MeshCentral(类似于 TeamViewer)、influxdb2(用于存储指标的 DBMS)、fluidd(用于管理 3D 打印机的 Web 界面)、 postfixadmin(用于管理基于 Postfix 的邮件服务器的 Web 界面)、seafile(云数据存储平台)。

使用 Nix 时,软件包安装在单独的目录树 /nix/store 或用户目录中的子目录中。例如,软件包安装为 /nix/store/a2b5...8b163-firefox-94.0.2/,其中“a2b5...”是用于依赖项监视的唯一软件包标识符。包被设计为包含应用程序运行所需组件的容器。基于 Nix 开发的 GNU Guix 包管理器也使用了类似的方法。

可以确定包之间的依赖关系,并搜索已安装的依赖关系是否存在,使用扫描已安装包的目录中的标识符哈希值。可以从存储库下载现成的二进制包(在安装二进制包更新时,仅下载增量更改),也可以从具有所有依赖项的源代码进行构建。软件包集合显示在一个特殊的存储库 Nixpkgs 中。

来源: opennet.ru

添加评论