本节列出了每个稳定版本的NIXO和当前不稳定修订版的发行说明。
Python优化再次禁用。启用优化的构建不会再现。现在可以使用选项启用优化。
Linux_latest内核已更新到5.12系列。它目前没有正式支持ZFS文件系统使用。如果使用ZFS,则应使用不同的内核版本(LTS内核,或跟踪特定的内核版本)。
Gnuradio 3.8最终打包,以及重写到NIX表达式,允许用户覆盖Upstream支持选择编译的功能。此外,属性GNURADIO和GNURADIO3_7现在指向默认推导的外部包装,允许您添加“ExtaperApthonPackages”到GNURADIO使用的Python解释器。还添加了运营GUI所需的缺少环境变量(#75478)。
Keycloak,一个开源标识和访问管理服务器,具有支持OpenID Connect,OAuth 2.0和SAML 2.0。
GNOME Desktop Environment已升级到40,请参阅40.0和3.38的发行说明。 Gnome3属性集已重命名为GNOME,因此已成为NIXOS选项。
如果您使用的是Services.udev.Extrarules为网络接口分配自定义名称,则可能由于DHCPCD和SystemD Networkd初始化的变化而停止工作。为避免此操作,请将它们移动到Services.udev.inItrules或查看使用Networkd链接的示例的NIXOS手册的新分配自定义名称部分。
Linuxpackages.ati_drivers_x11内核模块已被删除。驱动程序仅在4.2之前支持内核,因此已过时。
不再添加SystemConfig kernel参数以引导加载程序条目。自2010年9月以来一直未使用,但如果确实有一个从该时代生成的系统,您现在将无法启动它们。
Systemd-Journal2gelf不再解析JSON并期望接收系统处理它。在此GitHub问题中介绍了如何使用Graylog实现此功能。
如果启用了模块,则用户D-Bus会话现在始终激活套接字。因此,已删除相关选项,如果配置配置,则会收到警告。此更改使用户D-Bus会话也可用于非图形登录。
模块现在安装上游提供的80-iWd.Link文件,该文件将所有WLAN设备设置为"保留内核&#34 ;,避免IWD和NETWORKD之间的竞争条件。如果你不想要这个,你可以设置systemd.network.links。" 80-iwd" = lib.mkforce {}。
由于未使用和无法使用而被删除尿疹。默认的Ruby解释器包括JIT支持,这使其引用它' s编译器。由于某些宝石可能需要JIT支持,因此默认情况下决定使用所有CC引用启用此功能,并允许构建Ruby推导,而无需引用CC,通过设置Jitsupport = False;在覆盖层。查看#90151以获取更多信息。
设置services.Openssh.AuthorizedKeySfiles现在也影响哪个键Security.pam.enablesshagentauth将使用。警告:如果使用这些选项,请确保services.openssh.authorizedkeyfiles中存在您使用的任何关键路径!
选项fonts.enablefontdir已重命名为fonts.fontdir.enable。 FONT目录的路径也已更改为/运行/当前系统/ SW / SHARS / X11 /字体,以便与其他X11资源一致。
KICAD接口中已重命名许多选项。 Ocesupport已重命名为occe,已将occt重命名为有用CC,NGSpicesUpport已重命名为CourGspice,并且编写脚本upport已重命名为粘合件。此外,kicad / base.nix不再提供默认参数值,因为这些值由kicad / default.nix提供。
PDNS-Recursor模块的套接字从/ var / lib / pdns-refursor移动到/运行/ pdns-refursor以匹配上游。
文书工作已更新到版本2.磁盘格式略有更改,并且无法从文书工作2降级到文书工作1.3。在升级之前向您的文件备份。有关详细信息,请参阅此主题。
PowerDNS已从4.2.x更新为4.3.x.请务必在升级之前查看上游提供的升级说明。值得注意的是,服务现在现在作为专用的PDNS用户运行,而不是从root和删除权限开始,以及从/ var / lib / powerdns更改为/运行/ pdns的默认套接字定位位置。
Mediatomb Service现在使用默认使用新的和维护的Fork Gerbera包而不是未扫描的Mediatomb包。如果要保留旧行为,则必须使用以下方式声明:
介绍了一个新的选项OpenFireWALL,默认为false。如果您依赖于服务声明以添加防火墙规则本身,您现在应该向以下声明:
XFSPROGS从4.19更新到5.11。它现在默认在文件系统上创建默认情况下启用Refthink支持。对RELLINKS的支持以实验状态添加到内核4.9,并在内核4.16中被视为稳定。如果您希望能够在旧的旧版XFSprogs上创建创建的XFS文件系统,则需要使用MKFS.xfs -m Refthink = 0格式化它们。
UWSGI服务器现在使用POSIX功能构建。因此,皇帝模式中不再需要root,并且服务默认为不平等的UWSGI用户运行。可以通过新选项Services.uwsgi.capabilities添加任何其他功能。可以通过设置恢复以前的行为:
services.uwsgi.user =" root&#34 ;; services.uwsgi.group =" root&#34 ;; services.uwsgi.instance = {UID =" UWSGI&#34 ;; Gid =" UWSGI&#34 ;; };
来自上一个版本的另一个不兼容是在不同的用户或组下运行的附庸,需要立即使用 - {UID,GID}而不是通常的UID GID选项。
Mutt已更新为新的主要版本(2.x),其中包含一些倒退的不兼容更改,这些更改将在Mutt 2.0的发行说明中描述。
networking.wireguard.interfaces。< name> .generyprivateKeyfile默认情况下,它有一个Chmod竞赛条件。除了旁边,父目录' s权限被拓宽,关键文件是所有者可写的。这仅影响新创建的键。但是,如果确切的权限对您的设置很重要,请读取#121294。
boot.zfs.forceImportall先前没有任何作用,但已修复。但是,它的默认值为false以保留现有的默认行为。如果您将此明确设置为True,请注意,现在将强制导入您的非根池。
OpenAfs现在指向OpenAfs_1_8,这是新的稳定版本。 OpenAfs 1.6已被删除。
MariaDB已更新至10.5。在升级之前,最好拍摄数据库并读取10.4和10.5之间的不兼容更改。升级后,您需要运行mysql_upgrade。
Tokudb存储引擎在MariaDB 10.5中掉落并在MariaDB 10.6中删除。建议切换到RockSDB。另请参阅Tokudb和MDev-19780:删除Tokudb存储引擎。
OpenLDAP模块现在支持OLC样式配置,ConfigDir选项的用户可能希望迁移。如果继续使用CONFICDIR,请确保将OLCPIDFILE设置为/run/slapd/slapd.pid。
结果,移除了extraconfig和ExtradatabaseConfig。要帮助迁移,您可以使用以下脚本将Slapd.conf文件转换为OLC配置(通过运行SystemCtl Status OpenLDAP来查找此配置文件的位置,是-F选项。
这将以LDIF格式转储当前配置,这应该是简单的,以转换为NIX设置。这不会显示您的架构配置,因为默认模式的用户是不必要的冗长,并且Slaptest是在Config文件中直接使用架构的错误。
Amazon EC2和OpenStack计算(Nova)图像现在从每个引导的实例元数据服务(IMD)中重新获取实例元数据和用户数据。例如:停止EC2实例,更改其用户数据,然后重新启动实例现在将导致它获取并应用新用户数据。
警告:特别是,在每个引导中重新填充/ etc / ec2-metadata。某些从此目录读取的NIXOS脚本只有在尚未存在的文件尚未存在的情况下,只能运行,因此如果IMDS响应更改,则不会重新应用其更改。示例:root' s ssh键只添加如果/ etc / ssh中不存在的ssh主键,只能从用户数据设置。
RSPAMD服务现在是沙盒。它作为动态用户而不是root运行,因此可以移动秘密和其他文件,或者它们的权限可能必须是固定的。套接字现在位于/运行/ rspamd而不是/运行。
启用TOR客户端不再静默,也可以启用和配置PRIVOXY,并且已删除该选项。要启用PRIVOXY,并配置它以使用TOR' s更快的端口,请使用以下配置:
Services.tor模块具有一个新的令人遗憾的键入服务。rfc 0042之后的ror.settings选项;在可能的别名时,已经保留了与旧选项的向后兼容性。相应的SystemD服务已被硬化,但服务仍然需要更多的权限,因此请在BugTracker上报告任何相关的问题。 Services.Tor.Relay.onionservices现在支持洋葱服务V3。一个新的Services.Tor.OpenFireWALL选项,用于允许配置在配置的所有TCP端口上的连接。
选项services.slurm.dbdserver.storagepass和services.slurm.dbdserver.configfile已被删除。使用services.slurm.dbdserver.storagepassfile,而不是提供数据库密码。可以通过选项services.slurm.dbdserver.extraconfig提供额外的配置选项。实际配置文件是在服务启动时创建的。这避免了密码在NIX商店中暴露。
Wafhook Hook不再包裹Python。根据wafhook的包裹需要将任何Python纳入其本地人。
从版本1.7.0开始,该项目以前命名的Codimd现在被命名为Hedgedoc。新安装将不再使用用户,状态目录等旧名称,在将状态移动到更新的NIXOS安装时,需要考虑这一切。基于System.StateVersion,现有安装将继续工作。
Fish-Outern-eng包已被Fishplugins替换为Fishplugins.foreign-eng,其中鱼函数已被重新安置到要自动加载的Vendor_functions.d目录。
Prometheus Json出口商现在由Prometheus社区管理。介绍了一些倒退不兼容性的附加功能。最重要的是,出口商不再接受一个固定的命令行参数来指定eNEnpoint的URL。它现在预计此URL将作为URL参数传递,刮出出口商' s / probe端点。在Prometheus Scrape配置中,Scrape目标可能如下所示:
需要更新出口商的现有配置,但可以部分重复使用。上游存储库中可用的文档,并且在相应的NixOS测试中提供了NixO的小示例。
这些更改也会影响Services.prometheus.exporters.rspamd.enable,它只是JSON出口商的预先配置实例。
androidenv已更新,删除包含的ocs和lldbversions参数。 Docs仅涵盖了一个版本的Android SDK,LLDB现在与NDK捆绑在一起,两者都不可从Android包存储库下载。此外,由于包列表已更新,因此某些旧版本的Android软件包可能不会捆绑在一起。如果您依赖于旧版本的Android软件包,我们建议推翻仓库。
Android软件包现在由通过解析Android repo XML文件创建的repo.json文件。已添加参数repojson和Repoxml,以允许使用自己的androidenv repo.json覆盖内置的androidenv repo.json。此外,现在编写许可证文件以允许与基于Gradle的工具兼容,如果您的项目需要它,则添加了Extralices参数以接受更多SDK许可证。有关详细信息,请参阅Androidenv文档。
该属性现在一直用于提供默认的系统范围的MPI实现。默认实现是OpenMPI,它以前使用的所有派生都会影响此更改。请注意,在“可选MPI构建”中使用的所有包都已更改为布尔输入参数,以便使用MPI构建。现在可以将所有包装添加而不是默认的包,如下所示:
Searx模块已更新,具有声明和UWSGI集成的能力配置服务。选项Services.Searx.ConfigFile已重命名为Services.Searx.SettingsFile与新服务.Searx.settings的一致性。此外,Searx UID和GID保留已被删除,因为它们不是必需的:服务现在正在使用动态分配的UID运行。
LibInput模块已更新,以便单独配置鼠标和触摸板设置。 services.xserver.libinput中的选项已重命名为services.xserver.libinput.touchpad,同时有一个新的services.xserver.libinput.mouse for mouse相关配置。
由于触摸板选项不再适用于所有设备,因此您可能希望在鼠标部分中复制触摸板配置。
ThinkFan已更新至1.2.x,其中包含了一种基于yaml的配置格式。因此,ThinkFAN模块的几种NixOS选项已更改为非向后兼容类型。此外,还添加了一个新服务。已添加indinkfan.settings选项。
Adobe Flash Player支持已从树上掉下来。特别是,以下软件包不再支持:
security.rngd模块已被删除。它在20.09中默认禁用它,因为Linux内核中的Krngd功能冗余。内核识别为硬件RNG的任何设备都不是必需的,因为它将自动运行KRNGD任务以定期收集设备随机数据,并将其混合到内核' S RNG中。
Gitlab的默认SMTP端口已从先前的默认值为465的情况下更改为25.如果您依赖于此默认值,则您现在应该设置services.gitlab.smtp.port选项。
ImageMagick的默认版本已从6到7中更新。如果您需要旧版本,可以使用ImageMagick6,ImageMagick6_light和ImageMagick6Big。
services.xserver.videodrivers默认情况下不再使用已弃用的Cirrus和VESA设备已依赖的X驱动程序。它还默认支持AMDGPU和NOUVEAU驱动程序。
Kindlegen包已经消失,因为亚马逊不再支持或托管。可悲的是,它的替代品,Kindle Previewer,没有Linux支持。但是,还有其他方法可以生成MOBI文件。查看更多信息的讨论。
ApacheKafka软件包现已使用版本匹配的JRE构建。版本2.6及更高版本,推荐它,使用JDK11,而下面的版本保持在JDK8上。已调整NIXOS服务以使用与包的相同版本启动服务,可与新服务进行调整.Apache-Kafka.jre选项。此外,已删除默认服务列表.Apache-kafka.jvmoptions。您应该根据Kafka版本的上游文档设置自己的。
KODI包已被修改为允许简洁的插件管理。请从以前的nixos版本中考虑以下配置以安装Kodi,包括Kodipackages.InputStream-Adaptive和Kodipackages.vfs-SFTP Addons:
所有kodi配置标志已被删除,因此,现在应该写入上面的配置为:
环境.DefaultPackages现在包括纳米包。如果未添加到列表中的pkgs.nano,请确保已安装另一个编辑器,并将编辑器环境变量设置为它。可以使用Environment.variables设置环境变量。
services.minio.datadir将类型更改为路径列表,用于使用擦除编码的特定多个数据目录所需的路径所需。目前,该服务不会强制执行,也不检查正确数量的路径,以对应于Minio要求。
kbdkeymaps包被删除,因为DVP和NEO现在包含在KBD中。如果要使用程序员Dvorak键盘布局,则必须在Console.keymap中使用Dvorak-Programmer而不是DVP。在services.xserver.xkbvariant它' s静止的dvp。
Babeld服务现在正在作为一个非特权的用户运行。为实现模块配置Skip-kernel-setup true并通过本身以及每次接口都要处理设置转发和RP_Filter Sysctl。
YADM DOTFILE Manager已从2.x到3.x更新,其中一些数据/状态文件具有新的(XDG)默认位置。大多数YADM命令将失败并打印遗留路径警告(介绍如何升级/迁移存储库)。如果您有脚本,守护进程,计划的作业,shell配置文件等,请调用YADM,预计它们会失败或行为失败,直到您执行此迁移并相应准备。
基于System.StateVersion自动自动确定Services.radicale.Package,而是始终使用最新版本,因为旧版本未正式支持。
此外,Radicale' Systemd单元被硬化,这可能会破坏一些部署。特别是,如果使用已弃用的services.radicale.config,则必须将非默认文件系统_Folder添加到SystemD.Services.radicale.serviceConfig.readWritePath。
在Security.acme模块中,已删除使用-reuse-key-yey键参数。它被引入HKPK,但现在已弃用此安全功能。它是一个更好的安全练习来旋转键对而不是始终保持相同。如果需要保留此参数,则可以使用ExtraleGoreNewFlag作为相应证书的选项将其添加回来。
Stdenv.lib已被弃用并将在21.11中删除评估。请改用pkgs.lib。有关详细信息,请参阅#108938。
GNURADIO具有PKGS属性集,并有一个GNURADIO.CALLPACKAGE函数,其与Mkderivation的PKGS扩展,以及像QT5一样的mkderivation。现在,所有GNURADIO.PKG都是用GNURADIO.CALLPACKAGE定义的,以及一些依赖于GNURADIO的包也定义了这一点。
Privoxy已更新至3.0.32版(见公告)。与上一版本相比,Privoxy已支持HTTPS检查(仍然是实验),Brotli解压缩,几个新滤波器和大量错误修复,包括安全性。此外,该包现在采用压缩和外部过滤器支持,以前禁用。
关于NixOS模块,已添加HTTPS检查的新选项,并且Services.privoxy.extraconfig已被新服务替换为新服务.privoxy.settings(参见动机的RFC 0042)。
Services.PackageKit.Backend选项已被删除,因为它只支持一个始终是默认设置的单个设置。相反,符合新的RFC 0042兼容服务.PackageKit.settings和服务。
......