硬件概述
Fedora 40 提供了适合各种应用程序的软件。存储、内存和处理要求因使用情况而异。例如,高流量数据库服务器比企业桌面需要更多的内存和存储,而企业桌面又比单一用途虚拟机具有更高的要求。
最低系统配置
下图是默认安装的建议最低值。您的要求可能有所不同,大多数应用程序将受益于超过最低限度的资源。
- 2GHz 双核处理器或更快
- 2GB 系统内存
- 15GB 未分配的驱动器空间
配备最小内存为 2GB 的系统的用户可能需要考虑资源密集型桌面环境的 Fedora Spins
低内存安装Fedora 40 可以安装和使用在某些应用程序资源有限的系统上。对于内存非常低的系统,建议使用文本、VNC 或 kickstart 安装,而不是图形安装。较大的软件包集在安装过程中需要更多的内存,因此系统内存小于 768MB 的用户在执行最小安装并在之后添加它可能会获得更好的结果。为了在内存小于 1GB 的系统上获得最佳效果,请使用 DVD 安装映像。 |
推荐的系统配置
对于具有 Gnome 桌面的默认 x86_64 Workstation 安装,建议使用下图。您的要求可能会有所不同,具体取决于桌面环境和用例。
- 2GHz 四核处理器
- 4GB 系统内存
- 20GB 未分配的驱动器空间
低内存安装
Fedora 40 可以安装和使用在某些应用程序资源有限的系统上。对于内存非常低的系统,建议使用文本、VNC 或 kickstart 安装,而不是图形安装。较大的软件包集在安装过程中需要更多的内存,因此系统内存小于 768MB 的用户在执行最小安装并在之后添加它可能会获得更好的结果。
为了在内存小于 1GB 的系统上获得最佳效果,请使用 DVD 安装映像。
显示分辨率
支持 1024×768 屏幕分辨率的 VGA
图形安装需要 800×600 或更高的分辨率
Fedora 的图形安装要求最低屏幕分辨率为 800×600。分辨率较低的设备(例如某些上网本)的所有者应使用文本或 VNC 安装。
安装后,Fedora 将支持这些低分辨率设备。最低分辨率要求仅适用于图形安装。
图形硬件
加速桌面的最低硬件
Fedora 40 支持大多数显示适配器。像 GNOME3 和 KDE Plasma Workspaces 这样的现代、功能丰富的桌面环境使用视频设备来提供 3D 加速桌面。较旧的图形硬件可能不支持加速:
- GMA9xx 之前的英特尔
- NV30 之前的 NVIDIA(GeForce FX5xxx 系列)
- R300 之前的 Radeon (Radeon 9500)
CPU 加速显卡
具有较旧或没有图形加速设备的系统可以使用 LLVMpipe 技术来加速桌面环境,该技术使用 CPU 渲染图形。LLVMpipe 需要带有扩展的处理器。处理器支持的扩展列在SSE2
flags:
/proc/cpuinfo
为您的硬件选择桌面环境
Fedora 40 的默认桌面环境 GNOME3 在硬件加速方面表现最佳。对于图形硬件较旧的用户或使用 LLVMpipe 时性能不足的用户,建议使用替代桌面。
桌面环境可以添加到现有安装中,并在登录时进行选择。要列出可用的桌面,请使用以下命令:dnf grouplist
# dnf grouplist -v hidden | grep Desktop
安装所需的组:
# dnf groupinstall "KDE Plasma Workspaces"
或者,使用短组名称安装:
# dnf install @mate-desktop-environment
Fedora 40 for System Administrators 的变化
安装程序更改
有关 Fedora 的 Anaconda 安装程序和相关组件(如 Kickstart)的更改列表,请参阅上游发行说明。
Fedora IoT 可启动容器
现在有一个可用于 Fedora IoT 版本的可启动映像。这为用户提供了使用 Fedora 物联网的新方法,这可能更适合他们的环境和生态系统,从而允许更广泛的采用。
您可以在 Fedora IoT 官方页面下载新映像。另请参阅文档。
[[389-目录服务器-3-0-0]] == 389 目录服务器 3.0.0 Fedora 40 提供了 389 Directory Server 的新主要版本,这是对以前版本中提供的 2.4.4 版本的重大升级。
一个主要的变化是,从这个版本开始,新实例默认使用 LMDB 创建,而不是以前默认的 BerkeleyDB。有关详细信息,请参阅此处。
将pam_userdb从 BerkeleyDB 切换到 GDBM
pam_userdb
是在支持 BerkeleyDB 的情况下构建的,但这个项目不再作为开源维护,因此在 Fedora 40 中被 GDBM 取代。请参阅 Fedora 系统管理员指南以获取有关如何转换的信息。
AD 和 IPA 后端已删除对该功能的支持enumeration
该功能提供了列出所有使用 AD 和 FreeIPA 提供商或已删除功能的用户或组的功能的功能。enumeration
getent passwd
getent group' without arguments. Support for the `enumeration
sss_ssh_knownhostsproxy
工具将在将来的版本中替换
sss_ssh_knownhostsproxy
工具已被弃用,将被新的、更多 高效的工具。详见上游工单。
删除 SSSDfiles provider
Fedora 40 中移除了之前弃用的 SSSD “文件提供程序” 功能,该功能允许处理本地用户。这不会影响默认配置,其中本地用户由 glibc 模块 () 处理,在大多数情况下是这样。如果特定配置需要 SSSD 处理本地用户(智能卡身份验证或本地用户的会话录制),请改用 SSSD。如果您属于这些用例之一,请参阅上游文档了解更多详细信息。libnss_files.so.2
proxy provider
Authselect 最小配置文件替换为本地配置文件
Authselect 的配置文件现在替换为 。新的配置文件基于但获得了额外的可选功能,它用于为没有 SSSD 的本地用户和组提供服务。从配置文件到配置文件的迁移是在重新安装或升级到 Fedora 40 时自动执行的,用户不受影响。但是,由于配置文件不再可用,用户应使其脚本适应新的配置文件。minimal
local
local
minimal
minimal
local
local
minimal
bogofilter
使用 SQLite
Bogofilter(包)是一种快速的反垃圾邮件过滤机制,它使用贝叶斯统计分析将电子邮件分类为垃圾邮件或非垃圾邮件。它使用 Berkeley DB(包)作为其数据库引擎,用于存储单词概率和过滤过程中使用的其他相关数据。bogofilter
libdb
在这个版本中,Bogofilter 将其数据库引擎从 Berkeley DB 切换到了 SQLite,因为 Fedora 弃用了该软件包。libdb
Bogofilter 一次只支持一个数据库后端,因此更新后的包将无法处理数据。因此,新包提供了一个迁移脚本。或者,您可以使用此命令手动迁移单词列表。bogofilter
libdb
bogomigrate-berkeley ~/.bogofilter/wordlist.db
podman
5
容器引擎已升级到版本 5,该版本提供了多个错误修复和增强功能。值得注意的变化包括:podman
- 放弃了对版本 1 的支持(环境必须切换到版本 2)
cgroups
cgroups
- 已弃用的容器网络接口 (CNI) 插件(环境必须切换到网络堆栈)
netavark
- 已弃用的 BoltDB
- 设置为默认的无根网络服务,而不是
passt
slirp4netns
- 改进了对文件的处理
containers.conf
- 隔离绑定,确保提高可用性
podman
有关更新的完整范围,请参阅上游发行说明。
ROCm 6
用于图形处理单元 (GPU) 计算的 ROCm 堆栈已更新到版本 6,它提供了多个错误修复和增强功能。值得注意的变化包括:
- 改进了在低精度数学和注意力层等领域的性能
- 全新 hipSPARSELt 库,通过 AMD 稀疏矩阵核心技术加速 AI 工作负载
- 对 PyTorch、TensorFlow 和 JAX 等 AI 框架的最新支持
- 新增对 DeepSpeed、ONNX-RT 和 CuPy 等库的支持
有关更新的完整范围,请参阅上游发行说明。
stratisd 3.6
此升级包括 stratisd 3.6.7 和 stratis-cli 3.6.0 的新版本。
这些版本包括许多改进、错误修复和内务管理 变化。以下是更改的简要摘要。
Stratisd 3.6.7 包括对 Stratisd 3.6.6 中引入的一个错误的修复,该错误 如果池已加密,则导致 stratis-min pool start 命令失败 并在命令行上指定了用于解锁池的密码。它 还包括对 Stratisd 3.6.4 中引入的错误修复,该错误阻止了 挂载 /etc/fstab。
Stratisd 3.6.6 修复了一个错误,该错误可能会误报 尝试启动时已运行的 stratisd 实例的 PID 另一个实例。它还包括对字符串大小的限制 Stratis 池级元数据中的值。
StratisD 3.6.5 包括对其内部锁定机制的修改 它允许与当前持有的锁不冲突的锁 在锁之前。此更改放宽了公平性限制,即 仅根据锁的顺序优先 放置在等待队列中。
stratisd 3.6.4 包括对 Start命令的 stratisd-min 处理的修复 由 Stratis-min 发送到未加密的池。它还捕获和记录错误 thin_check 或 mkfs.xfs 可执行文件发出的消息。
StratisD 3.6.3 在调用时将 nrext64 选项显式设置为 0 mkfs.xfs. 最新版本的 XFS 将 nrext64 的默认值更改为 1。 显式将值设置为 0 可防止 stratisd 创建 XFS 在早期内核上无法挂载的文件系统。
Stratisd 3.6.2 修复了精简设备的分配方式 以避免瘦数据设备的不同部分错位。这样 错位可能会导致性能下降。
Stratisd 3.6.1 包括一个修复程序,用于纠正 Stratisd 会失败的问题 如果池同时使用 Clevis 和内核加密,则解锁池 密钥环方法,但内核密钥环中的密钥不可用。
Stratisd 3.6.0 扩展了其功能,允许用户设置限制 文件系统的大小,并包括许多额外的增强功能。
stratis-cli 3.6.0 命令行界面已扩展为 用于在创建时设置文件系统大小限制的附加选项和两个新选项 文件系统命令 set-size-limit 和 unset-size-limit,用于设置或取消设置 创建文件系统后的文件系统大小限制。
所有版本都包括各种内部改进、便利性和次要功能 Bug修复。
有关更多详细信息,请参阅 stratisd 更新日志和 stratis-cli 更改日志。
下降增量 RPM
增量 RPM (DRPM) 是一项功能,它通过仅下载新旧版本的 RPM 包之间的差异 (delta) 来减少更新包所需的时间和数据。然后,根据您当前的版本和增量,您的系统会在本地使用新版本的软件重新组装完整的 RPM 软件包。
在这个 Fedora 发行版中,DRPM 将不再在编写过程中生成。此外,默认情况下,DRPM 支持将处于禁用状态。此更改的一些最显着原因如下:dnf
dnf5
- 由于在编写过程中生成 DRPM 的方式,不可能为所有包生成 DRPM。因此,这可能导致涉及数百个软件包的升级,但其中只有一小部分(或根本没有)在存储库中具有适当的 DRPM。
- 重新构建新的 RPM 版本可能会失败。这会导致额外下载新版本的完整 RPM。
- 存储库中 DRPM 的存在会增加存储库元数据的大小。所有用户都需要下载该元数据,无论实际升级是否涉及 DRPM。
此更改旨在带来以下好处:
- 简化了“更新”和“更新测试”存储库的编写过程,因为跳过了 DRPM 的生成。
- 减少存储库元数据更新的带宽使用量。
- 由于元数据较小和 DRPM 丢失,减少了 Fedora 基础设施和存储库镜像的存储需求。
- 为用户提供更可靠的升级。
默认情况下停止下载文件列表
文件列表是 XML 文件,它提供重要的元数据和信息,便于 RPM 包的安装、管理和维护。
在这个 Fedora 发行版中,DNF 行为发生了变化,默认情况下将不再下载文件列表。原因是,文件列表提供的元数据在大多数用例中是不必要的,而且它们的大小很大。这导致用户体验显着减慢。
此更改旨在带来以下显着好处:
- 显著减少 RPM 包构建、安装、测试环境创建等的处理时间和资源使用
- 降低 Fedora 镜像服务器操作的成本
- 降低 DNF 进程的 RAM 要求,解决了在低内存机器(如 Raspberry Pi)上运行 Fedora 系统时的现有问题
请注意,在查询位于 或目录中的文件提供时,您仍然可以使用没有文件列表元数据的 DNF。/usr/bin
/usr/sbin
/etc
wget2 作为 wget
Fedora 40 中的命令使用 Wget2。wget
GNU Wget2 是 GNU Wget 的继任者,它提供了由新库支持的 wget 的现代实现:.从 wget 1.x 切换到 wget2 的目的是切换到更积极开发的实现,并为利用 wget 的功能提供更丰富的接口。libwget2
默认情况下,在 NetworkManager 中启用 IPv4 地址冲突检测
现在,NetworkManager 中默认启用 IPv4 地址冲突检测。换句话说,RFC 5527 现在默认启用,间隔为 200 毫秒。
为 Wi-Fi 连接分配单独的稳定 MAC 地址
Fedora 40 采用默认模式,在 NetworkManager 中为 Wi-Fi 连接分配单独的、稳定的 MAC 地址,在不影响网络稳定性的情况下增强用户隐私。stable-ssid
更改涉及添加新文件 .此文件设置为 Fedora Linux 40 的 NetworkManager 中 Wi-Fi 连接中 MAC 地址选择的默认模式。该模式根据网络的SSID和机器ID选择不同的MAC地址,旨在增强用户隐私。这个新的默认值将应用于 Fedora 40 及更高版本中不会覆盖默认值的 Wi-Fi 配置文件。/usr/lib/NetworkManager/conf.d/22-wifi-mac-addr.conf
wifi.cloned-mac-address=”stable-ssid”
stable-ssid
随着 ‘stable-ssid ‘ 在 Fedora 40 中采用默认值,现有用户可能会遇到 Wi-Fi 连接行为的变化,尤其是那些网络设置依赖于固定 MAC 地址的用户。请注意,升级到 Fedora 40 将默认应用这个新的 MAC 地址随机化。需要为特定网络保持一致的 MAC 地址的用户可以通过执行以下步骤之一来解决此问题:
- 手动将特定配置文件的 wifi.cloned-mac-address 设置为永久:nmcli 连接修改 [$PROFILE] wifi.cloned-mac-address 永久
- 在 中创建自定义配置文件,该文件可以为空或包含特定配置。这将阻止加载默认文件。
/etc/NetworkManager/conf.d/22-wifi-mac-addr.conf
/usr/lib
- 创建一个优先级更高的 .conf 文件,例如 ,其中包含以下内容:
/etc/NetworkManager/conf.d/90-wifi-mac-addr.conf
wifi.cloned-mac-address=永久
有关配置文件的加载顺序及其优先级的详细信息,请参阅。man NetworkManager.conf
PostgreSQL 16
Fedora 40 提供了 PostgreSQL 的版本 16。有关更多信息,请参阅上游发行说明。
SPDX 迁移
RPM 软件包使用许可证的 SPDX 标识符作为标准。63%的软件包和几乎所有来自ELN的包装都已迁移到SPDX标识符。其余的软件包估计将迁移到 Fedora 41 中的 SPDX。
Fedora 40 桌面版用户版变更
KDE Plasma 6
Fedora 40 提供了 KDE Plasma 6 桌面环境,这是对之前版本的重大升级。
新版本提供了许多重大更改,包括部分 HDR 支持、新的概览效果、浮动面板等。此外,立方体又回来了。
KDE Plasma 6 是 KDE 社区创建的 KDE Plasma 5 的继任者。它基于 Qt 6 和 KDE Frameworks 6,与以前的版本相比带来了许多变化和改进。对于 Fedora Linux,向 KDE Plasma 6 的过渡还将包括完全放弃对 X11 会话的支持,只留下 Plasma Wayland 作为唯一提供的桌面模式。但是,仍然支持 X11 应用程序。有关详细信息,请参阅“更改”页面上的“反馈”部分。
有关新 KDE 版本的完整信息,请参阅官方公告。
IBus 变更
在 Fedora 中提供多语言输入的 IBus 软件包已更新到 1.5.30 版。增强功能包括:
- 和 命令适用于 Wayland 上的 KDE Plasma。(他们之前曾在 X11 的 Plasma 中工作过。
ibus start
ibus restart
- “首选项”菜单项将显示在 Wayland 上 Plasma 的 IBus 激活菜单中。(在 X11 上的 Plasma 中不需要更改,因为上下文菜单也可用。
此外,更新后的软件包现在为使用日语区域设置的用户更新了 2024 年的日语时代。ibus-anthy
Fedora 40 For Developers 的变化
PyTorch的
Fedora 40 是第一个提供 PyTorch 的 Fedora 版本,PyTorch 是一个基于 Torch 库的机器学习框架,用于计算机视觉和自然语言处理等应用程序,最初由 Meta AI 开发,现在是 Linux 基金会的一部分。它是在修改后的 BSD 许可证下发布的免费开源软件。
将 PyTorch 作为 Fedora 软件包提供意味着用户现在可以使用 DNF 而不是 pip 进行安装。Fedora 40 中提供的初始版本是 2.1.2。要安装,请运行 。dnf install python-torch
要开始使用 PyTorch,请参阅官方文档。那些对 Fedora 中的 PyTorch 特别感兴趣的人——开发人员、打包者、最终用户等等——可以加入 PyTorch Fedora 特别兴趣小组。
PHP 8.3的
PHP 编程语言解释器的堆栈已升级到版本 8.3,它提供了多个错误修复和增强功能。值得注意的变化包括:
- 类常量的显式类型
- 动态类常量 fetch
- 新属性
#[\Override]
- 只读属性的深度克隆
- 新功能
json_validate()
- 新方法
Randomizer::getBytesFromString()
- 命令行 linter 支持多个文件
有关更新的完整范围,请参阅上游发行说明。
Golang 1.22
Fedora 40 提供 Golang 版本 1.22。有关更改的完整列表,请参阅上游发行说明。
停用 Python 3.7
从此版本开始,Python 版本 3.7 被视为自 2023 年 6 月起生命周期结束,因此被视为停用且不替换。
LLVM 18型
所有 LLVM 子项目都已更新到版本 18,其中包括 llvm 库的同名版本更改。添加了兼容包 clang17、llvm17 和 lld17,以确保当前依赖于 clang 和 llvm 版本 17 库的包将继续工作。
其他值得注意的变化包括:
- 默认情况下,clang 将发射 DWARF-5 而不是 DWARF-4。这与上游默认值匹配。由于 https://bugzilla.redhat.com/show_bug.cgi?id=2064052,Fedora 一直使用 DWARF-4 作为最近几个版本的默认版本。
- 兼容包现在将包含与主包相同的内容。在以前的版本中,兼容包仅包含库和标头,二进制文件和其他内容被剥离。这些包将支持用作其他 RPM 包的依赖项,但不支持最终用户使用一般用途。Fedora 用户应该使用 Clang/LLVM 18。
- 为 Fedora 40 添加的兼容软件包将在 Fedora 41 分支之前停用。
- 如果此功能在上游 LLVM 18 版本中及时完成,我们将在 redhat-rpm-config 中启用 Fat LTO。Fat LTO 是一项功能,它允许编译器生成包含 LTO 位码的库以及传统的 ELF 二进制代码,以便可以在 LTO 模式和非 LTO 模式下链接库。gcc 也支持此功能,并在 Fedora 中启用了它。在 Fedora 39 及更早版本中,启用了 LTO 后,clang 只使用 LTO 位码生成二进制文件,因此我们需要在库上运行后处理脚本 (brp-llvm-compile-to-elf) 将它们转换为 ELF 代码,以便其他软件包可以使用它们。启用 Fat LTO 允许 Fedora Project 删除此脚本并简化构建过程。
有关详细信息,请参阅上游发行说明。
GNU 工具链更新
GNU Compiler Collection、GNU Binary Utilities、GNU C Library 和 GNU Debugger 构成了 GNU 工具链的核心部分,对于我们的用户来说,在制作 Fedora 的新版本时,将这些组件作为一个完整的实现进行转换是很有用的。
GNU 工具链的组件(gcc、glibc、binutils、gdb)在 Fedora 40 中已更新到以下版本:
Boost 1.83
Fedora 40 包括 Boost 1.83。有关更多信息,请参阅上游发行说明。
Ruby 3.3
Ruby 语言在 Fedora 40 中已经更新到 3.3 版,高于之前 Fedora 发行版提供的 3.2 版。新版本添加了一个名为 Prism 的新解析器,使用 Lrama 作为解析器生成器,添加了一个名为 RJIT 的新纯 Ruby JIT 编译器,并提供了许多性能改进,尤其是 YJIT。
java-21-openjdk 作为系统 JDK
系统 JDK 已在 Fedora 40 中从版本 17 更新到版本 21。
有关 Java 21 的更多信息,请参阅 JDK 21 发行说明和迁移指南。
另请参阅更改页面,了解有关此更改的快速常见问题解答。