NixOS 是独立开发的 GNU/Linux 发行版,旨在提高系统配置管理的最新水平。在 NixOS 中,整个操作系统,包括内核、应用程序、系统包和配置文件,都是由 Nix 包管理器构建的。该项目的最新版本是 NixOS 21.11,代号“豪猪”(Porcupine)其中包括以下亮点:
软件大升级
- 默认的 Nix 版本仍为 2.3.16。由于非实验行为的回归,Nix 包管理器尚未更新到 2.4 版。
iptables现在使用 nf_tables 后端
- PHP 默认为 PHP 8.0,从 7.4 更新
- kops 默认为 1.21.1,它使用 containerd 作为默认运行时
- Python3 默认为 Python 3.9,从 Python 3.8 更新
- PostgreSQL 现在默认为主要版本 13
- spark 默认为 spark 3,从 2 更新
- bash 现在默认为主要版本 5。
- Systemd 已更新到版本 249
- Pantheon 桌面已更新至第 6 版
kubernetes-helm 现在默认为 3.7.0
- GNOME 已升级到 41
- OpenSSH 已更新至 8.8p1 版本
- ORY Kratos 更新至 0.8.0-alpha.3 版本
其他变更
- 从
all-packages.nix 移除 Linux 内核包基础设施,将 .Linux 相关的函数和属性放在 pkgs.linuxKernel 属性集下面。
- 在 NixOS 虚拟机 (QEMU) 中,该
virtualisation模块已更新为新选项:
forwardPorts 配置 IPv4 端口转发
sharedDirectories 设置共享主机目录
resolution 设置屏幕分辨率
useNixStoreImage 为 Nix 存储使用磁盘映像,而不是 9P
- 此外,
msize 9P 文件系统(包括 /nix/store 和所有共享目录)中的默认参数已增加到 16K ,以提高性能。
- 启动时无线接口的自动搜寻变得可靠(issues #101963 , #23196)。
- WPA3 和快速 BSS 转换 (802.11r) 现在默认为所有网络启用。
- 现在可以安全地处理像预共享密钥和密码之类的机密问题,无需将它们包含在可读的文件中( /nix/store 下 的
wpa_supplicant.conf)。
- 声明多个接口,将启动独立的 wpa_supplicant 守护进程,每个接口都有一个守护进程(这些服务被命名为wpa_supplicant-wlan0、wpa_supplicant-wlan1等)。
- 生成的
wpa_supplicant.conf 文件已被格式化以便于阅读。
- 添加了新的 scanOnLowSignal 选项,以促进接入点之间的快速漫游(默认启用)。
- 添加了新的 networks.<name>.authProtocols 选项,以更改连接到网络时使用的身份验证协议。
- ipfs 现在默认不监听本地网络。
systemd.network 模块已获得对 FooOverUDP 链接类型的支持
networking 模块有一个新 networking.fooOverUDP 选项来配置 Foo-over-UDP 封装。
22.11 是一个大版本更新,除了上述更新项外还包含大量新的工具和服务,详尽信息可在官方公告中查阅。