当前位置: 首页 > news >正文

Ubuntu 24.04 LTS 发行说明

原文地址:https://discourse.ubuntu.com/t/ubuntu-24-04-lts-noble-numbat-release-notes/39890

介绍

这些是Ubuntu 24.04 LTS(Noble Numbat)的发行说明,提供了该版本的概述,并记录了Ubuntu及其衍生版本中存在的已知问题。有关自24.04以来应用的更改详情,请参阅24.04.2更改摘要。

支持期限

Ubuntu 24.04 LTS将提供5年的安全维护,直至2029年5月31日。用户可以选择使用Ubuntu Pro 将支持期限延长至10年,或使用Legacy附加组件延长至12年。

升级

自24.04发布后不久,Ubuntu 23.10用户即可选择自动升级至24.04。随着24.04.1 LTS的发布,22.04 LTS用户也将开始收到自动升级通知。

24.04 LTS中的新特性

armhf架构的2038年问题解决方案

Ubuntu 24.04 LTS解决了armhf架构上存在的2038年问题。超过一千个软件包已更新,以使用64位值而非32位值来处理时间,从而能够处理未来长达2920亿年的时间。

更新后的软件包
  • Linux内核::penguin: Ubuntu 24.04 LTS包含了新的6.8版Linux内核,带来了许多新特性。 详细更改请参阅Noble内核发行说明。
  • systemd v255.4: 初始化系统已更新至systemd v255.4。有关单个功能的更多信息,请参阅上游变更日志。
  • Netplan v1.0::globe_with_meridians: 网络堆栈已更新至Netplan 1.0版。支持WPA2和WPA3同时使用、Mellanox VF-LAG用于高性能SR-IOV网络以及VXLAN改进。它还提供了稳定的libnetplan1 API 和一个新的netplan status --diff子命令,用于查找配置与系统状态之间的差异。更多信息请参阅介绍Netplan v1.0 的博客文章。
  • 工具链升级::hammer_and_wrench: GCC :cow:已更新至14版,binutils至2.42版,glibc至2.39版。 Python :snake:默认版本为3.12 OpenJDK :coffee:默认版本为LTS 21 LLVM :dragon:默认版本为18 Rust :crab:工具链默认版本为1.75 Golang :rat:已更新至1.22 .NET 8现为默认版本
OpenJDK

OpenJDK LTS 21是Ubuntu 24.04 LTS的默认版本,同时支持17、11和8版本。OpenJDK 17和21也通过了TCK认证,这意味着它们符合Java标准,并确保与其他Java平台的互操作性。Ubuntu Pro用户还可以使用特殊的FIPS兼容OpenJDK 11软件包。

.NET

随着.NET 8的引入,Ubuntu在支持.NET社区方面迈出了重要一步。.NET 8将在Ubuntu 24.04 LTS和22.04 LTS的整个生命周期内得到完全支持。这使得开发者能够在升级Ubuntu版本之前将其应用程序升级至更新的.NET版本。从24.04 LTS开始,.NET支持还扩展到了IBM System Z平台。

.NET 6和.NET 7软件包通过PPA 提供有限支持。

Apport

Apport增加了与systemd-coredump的集成,以处理崩溃。Ubuntu上的开发者现在可以共同安装systemd-coredump,并使用coredumpctl来分析崩溃数据。Apport将继续收集崩溃信息,并将其提交至Ubuntu错误跟踪器和Launchpad。

安全改进::lock:
  • 非特权用户命名空间限制: 结合apparmor软件包,Ubuntu内核现在限制了非特权用户命名空间的使用。这会影响系统上所有非特权且不受限制的程序。提供了一个默认的AppArmor配置文件,允许非特权且不受限制的应用程序使用用户命名空间,但会拒绝在用户命名空间内使用任何功能。非特权用户命名空间的一个常见用例是应用程序构建自己的沙箱或处理容器工作负载。因此,还为来自Ubuntu存档的常见应用程序和框架以及流行的第三方应用程序(如Google Chrome、Discord等)提供了允许使用非特权用户命名空间的AppArmor配置文件。这是朝着减轻非特权用户命名空间带来的更大攻击面迈出的后续步骤(第一步是在Ubuntu 23.10中引入此功能,但当时未默认启用)。 尽管已付出巨大努力来识别可能需要此类配置文件的所有应用程序,但预计仍可能存在需要额外配置文件的情况。

在这种情况下,如果您遇到问题,有几种选择:

  • 使用AppArmor配置文件限制您的应用程序。由于这可能很繁琐,AppArmor中添加了一个新的非限制配置文件模式/标志。这指定配置文件基本上像AppArmor的非限制模式一样工作,其中应用程序不受限制,并且允许添加额外权限,如userns权限。例如,Google Chrome 的此类配置文件如下所示,它将位于/etc/apparmor.d/chrome文件中:
    abi <abi/4.0>,
    include <tunables/global>
    /opt/google/chrome/chrome flags=(unconfined) {userns,# 站点特定的添加和覆盖。请参阅local/README了解详情。include if exists <local/chrome>
    }
    
    或者,可以为应用程序创建完整的AppArmor配置文件(请参阅AppArmor 文档)。
  • 以不使用非特权用户命名空间的方式启动您的应用程序,例如google-chrome-stable --no-sandbox。但是,由于这禁用了应用程序内部的某个安全特性,因此不建议这样做。相反,请使用上面描述的非限制配置文件模式。
  • 通过执行echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns在单次启动时禁用对整个系统的此限制。此设置在重启后丢失。这与之前的行为类似,但它并不能减轻利用非特权用户命名空间特性的内核漏洞。
  • 通过添加一个新文件(/etc/sysctl.d/60-apparmor-namespace.conf)并包含以下内容来使用持久设置禁用此限制:
    kernel.apparmor_restrict_unprivileged_userns=0
    
    然后重启。这与之前的行为类似,但它并不能减轻利用非特权用户命名空间特性的内核漏洞。
  • TLS 1.0、1.1和DTLS 1.0被强制禁用: 对于使用openssl的软件,自20.04以来一直如此。 对于使用gnutls的软件,现在已强制执行(openconnect是一个显著例外)。
  • openssl和gnutls系统配置的更一致应用: 某些库在无法访问其配置时不会引发错误;这可能发生在apparmor不允许访问配置文件时。由于openssl和gnutls的广泛使用,apparmor规则现在默认授予对其配置文件的访问权限。因此,它们的系统范围配置将得到更好的遵循。
  • 1024位RSA APT存储库签名密钥的弃用和禁用: 24.04中的APT要求存储库使用不小于2048位的RSA密钥、Ed25519或Ed448进行签名。由于为旧Launchpad PPA重新签名更强密钥的工作仍在持续数周,因此最初仅发出警告。 一旦Launchpad PPA重新签名,您将需要手动迁移任何受影响的PPA至新签名密钥,方法是删除并重新添加它们以消除警告。 最终将APT 2.8.0发布为稳定发布更新,将警告转换为错误,这应在重新签名完成后进行。
  • pptpd被移除: pptpd和bcrelay已被移除。
  • OpenSSH依赖减少: 由于XZ-utils后门事件,ubuntu中的openssh不再依赖libsystemd,减少了依赖数量,并降低了未来安全问题的风险。
  • 软件包安全加固改进: 软件包现在构建时带有安全加固特性,可阻止许多未发现的漏洞,使其无法被利用。 gcc编译器和dpkg现在默认使用-D_FORTIFY_SOURCE=3而非-D_FORTIFY_SOURCE=2,这大大增加了缓冲区溢出检测和缓解能力。 dpkg现在默认使用-mbranch-protection=standard,这减轻了arm64上的代码重用攻击。
性能::zap:
  • 性能工程工具: 相关Ubuntu系统上默认安装了一组性能工程工具。此外,还创建了一个performance-tools元软件包,以协助调试性能和可靠性问题。请参阅规范了解更多详情。
默认配置更改:

与往常一样,默认设置有许多更改,主要是由软件包的新版本引起的。但有几个更改值得特别说明,如果您的自动化、配置和调优依赖于这些设置。

  • proposed软件源的Apt优先级: proposed软件源用作软件更新的暂存区。这些更新在发布给更广泛的用户群体之前,会先进入proposed软件源。 但是,在过去,如果有人启用了proposed软件源进行测试,他们经常会因为系统被proposed软件源中的所有内容淹没而遇到问题。 如果其中只有一个软件包异常损坏,您也会受到影响——而这可能与您真正关心的内容无关,并使您的常规测试消耗更多精力,从而变得不那么吸引人。 通过更改默认优先级,用户不太可能无意中安装潜在的稳定更新。因此,proposed软件源的默认apt优先级从500降低到了100。此更改已在Ubuntu Lunar中发生,但Noble是首个采用此更改的Ubuntu LTS版本,因此从proposed软件源消费的时间更长。 通过此更改,用户现在可以从proposed软件源中有选择地安装软件包。这允许对更新进行更有意识的选择和测试。 您始终可以通过apt-cache policy查看软件包的新版本,但它们将不再自动安装。 要从proposed安装软件包,您现在需要选择要从哪个软件源安装,例如apt install /-proposed。 上述内容对于有意识地测试更改非常有帮助。但是,另一方面,让自动化和人员定期测试(几乎)所有新软件包版本可以提供很好的信号。特别是在具有自己工作负载的canary设置中,它可以防止无意中破坏这些特定设置,因为它可能与在其他地方测试的内容不同。 因此,在这种情况下,如果您想回到总是从proposed获取所有内容的旧行为,您需要将apt固定优先级提高回500,以便proposed软件源中的版本与Ubuntu存档中的其余版本竞争。为此,您可以将以下内容放入类似/etc/apt/preferences.d/bump-proposed-prio的文件中:
    # 始终考虑proposed,设置默认优先级500
    Package: *
    Pin: release a=noble-proposed
    Pin-Priority: 500
    
  • deb822源管理: Ubuntu的源配置已从/etc/apt/sources.list移动到/etc/apt/sources.list.d/ubuntu.sources,采用了功能更丰富的deb822格式,与去年已迁移到deb822的PPA保持一致。请参阅规范了解更多详情。
  • 服务在无人值守升级时重启: needrestart软件包已修改,以在受库升级影响时系统地重启服务,包括在无人值守升级等非交互式场景中。进行此更改的原因是,无人值守升级默认仅进行安全更新,而未能重启服务意味着这些运行中的守护进程仍将暴露于更新所修复的安全问题。 您可以通过将特定服务添加到/etc/needrestart/needrestart.conf的override_rc部分来排除它们自动重启。 请参阅此Discourse帖子了解更多详情。
  • irqbalance不再默认安装和启用: irqbalance服务旨在在多处理器系统上跨处理器分配硬件中断,以提高性能。这在服务器配置中特别有用,其中多个设备将竞争CPU的注意力。并且,自14年前基于一次讨论以及内核积极将此任务委托给用户空间以来,它一直是Ubuntu的默认启用服务。 但是,更广泛生态系统的演变在大多数情况下已经超过了irqbalance。除非管理员对其进行配置,否则它提供的策略与内核默认策略相比并没有明显的改进。 同时,已经报告了一些irqbalance导致问题的案例,因此已经进行了很长时间的讨论。它通常对虚拟客户机没有太大意义,它可能与手动调优和其他功耗或延迟目标冲突。此外,自那时以来,内核和特别是许多设备驱动程序已经发展,现在经常完成同等或更好的工作。 此更改只是不再默认安装它,irqbalance仍将可用,并且任何从中受益或甚至只是想尝试它的人都可以像以前一样使用它。 一些特定场景,如特定的云镜像,之前已经默认禁用了irqbalance。类似地,已经(并且可能会更多)识别出一些将保持默认启用的场景,因为有证据表明在该平台上它更有帮助。
  • tzdata软件包拆分: tzdata软件包已拆分为tzdata、tzdata-icu和tzdata-legacy。tzdata软件包仅提供遵循当前地理区域(大陆或海洋)和城市名称规则的时区。所有遗留时区符号链接(上游backward文件中提到的旧或合并时区)已移动到tzdata-legacy。这包括US/*时区。 如果您需要遗留时区或恢复之前的行为,请安装tzdata-legacy。如果系统通过网络提供时区感知数据(例如SQL数据库),则可能需要这样做。

Ubuntu桌面

安装程序和升级

我们已经朝着更通用的“配置”方法迈出了第一步,该方法包括“设备引导”阶段,随后是“首次启动初始化”和“桌面欢迎”步骤。 这意味着ubuntu-desktop-installer现在是更大的ubuntu-desktop-provision项目的一部分,并已重命名为ubuntu-desktop-bootstrap。它带来了改进的UI设计,可通过中央配置文件进行自定义。默认图像资源自动跟随自定义的强调色,或可根据衍生版本或OEM提供商的需求完全替换。 为了使高级用户能够从subiquity/cloud-init的autoinstall功能中受益,我们添加了一个专用页面,允许在安装期间从网络URL侧载autoinstall.yaml。 我们正在重新引入对ZFS引导安装的支持,增强了存储管理需求的灵活性和选择。这是在基于Subiquity的安装程序中实现的新功能,并且默认不加密。加密的ZFS引导选项将在未来的版本中开发。 从Ubuntu 23.10开始,TPM支持的全盘加密(FDE)作为实验性功能引入,基于Ubuntu Core多年的经验。在支持的平台上,您不再需要在启动时手动输入密码。相反,TPM安全地管理解密密钥,提供针对物理攻击的增强安全性。此新功能简化了用户体验,并提供了额外的安全层,特别是在企业环境中。但是,对于喜欢传统密码支持的FDE的用户,它仍然可用。我们邀请用户尝试此新功能,尽管需要谨慎,因为它仍然是实验性的。更多详情请参阅TPM支持的全盘加密即将登陆Ubuntu 的博客文章。不要犹豫,在Launchpad上针对ubuntu-desktop-provision项目报告错误。 已知限制:

  • 需要TPM 2.0。
  • 仅支持有限的硬件集。
  • 不支持外部内核模块。例如,不支持NVIDIA显卡。
  • 目前不支持固件更新和升级到Ubuntu的未来版本。 常见问题: 用户在测试实验性TPM支持的FDE选项时遇到的两个最常见错误是:
  • 安装未能完成,日志中包含引用“DA锁定模式”导致操作无法成功完成的错误消息。在这种情况下,必须使用以下两种机制之一清除TPM。请注意,这将导致此TPM之前保护的所有密钥丢失,例如Windows BitLocker密钥。
    • 重启进入固件设置UI,并选择清除TPM的选项。此体验因供应商而异。
    • 从用户空间请求固件在下一次重启时清除TPM,方法是运行“echo 5 | sudo tee /sys/class/tpm/tpm0/ppi/request > /dev/null”,然后重启设备。
  • 安装完成,但用户在首次启动时被提示输入恢复密钥。许多现代笔记本电脑包含一个名为Absolute的端点管理软件,该软件内置于固件中,并在操作系统加载之前运行。这目前导致我们错误预测PCR值。现有的解决方法是禁用Absolute,这可以使用以下两种机制之一完成。
    • 在Dell设备上,可以从用户空间禁用Absolute,方法是运行“echo DisableAbsolute | sudo tee /sys/devices/virtual/firmware-attributes/dell-wmi-sysman/attributes/Absolute/current_value > /dev/null”,然后重启。
    • 在其他设备上,可能可以从固件UI禁用Absolute。此体验因供应商而异。 未来的安装程序更新将提供额外的工具,以提供更丰富的错误消息和对这些用例的支持。
  • 配置文件/etc/netplan/01-network-manager-all.yaml(指定Network Manager作为Netplan渲染器)已移动到/lib/netplan/00-network-manager-all.yaml,以反映它不应被编辑。此外,它现在由ubuntu-settings软件包拥有。对于升级者,如果文件未更改,则将自动执行移动并删除旧文件。如果文件已更改,则仍将执行移动,但旧文件的副本将保留在/etc/netplan/01-network-manager-all.yaml.dpkg-backup中(LP: #2020110 )。
  • NetworkManager现在使用Netplan作为其默认设置存储后端。在升级时,/etc/NetworkManager/system-connections/中的所有连接配置文件都将透明地迁移到/etc/netplan/90-NM-*.yaml,并成为/run/NetworkManager/system-connections/中的临时Netplan渲染连接配置文件。原始配置文件的备份将自动创建在/var/lib/NetworkManager/backups/中(更多信息请参阅NetworkManager YAML设置后端和LP: #1985994 )。
  • ADSys Active Directory证书自动注册:Windows Server提供了一种使用组策略自动注册证书的解决方案。这与Microsoft的证书注册服务交互,并与Windows客户端无缝协作。 ADSys引入了AD证书自动注册,以简化连接到公司Wi-Fi和VPN网络的过程。自动注册消除了与证书颁发机构的手动交互,例如预先创建证书。这简化了IT管理,并最小化了与管理敏感数据相关的安全风险。
  • 安装程序现在能够自我更新,并在安装非常早期阶段提示用户更新(如果存在更新版本)。
  • 电源配置文件管理器已改进和优化,以支持更好的新硬件特性(特别是AMD),现在可以支持多个优化驱动程序,并且现在是电池感知的,以便在仅运行电池时自动增加优化级别。
  • fprintd已更新,libfprint现在支持许多其他指纹驱动程序和设备。
新商店

有一个全新的Ubuntu应用中心,取代了之前的Snap商店。该应用程序使用Flutter工具包从头开始编写。 自23.10以来,Ubuntu应用中心新增了一个游戏页面。 还有一个新的独立固件更新应用程序,适用于amd64和arm64架构。这提供了无需持续运行完整应用商店即可更新固件的可能性。

GNOME :footprints:

GNOME已更新,包含了来自最新GNOME版本(GNOME 46)的新特性和修复。

默认应用更改

默认的Ubuntu桌面安装现在是精简的。对于那些希望在首次启动时安装LibreOffice和Thunderbird等应用程序的用户,仍然有一个“扩展选择”选项。 在扩展安装中,网络摄像头应用现在由GNOME Snapshot提供,而非Cheese。 游戏不再默认安装。

更新后的Ubuntu字体

现在标准配备了更现代、更纤细的Ubuntu字体家族版本。任何希望恢复至22.04中使用的旧版Ubuntu字体的用户,可以通过安装fonts-ubuntu-classic软件包来实现。

更新后的应用程序

Firefox 124 Firefox 是此 Ubuntu 版本的原生 Wayland 应用程序 。 LibreOffice 24.2 **Thunderbird 115 “Supernova” ** Thunderbird 现在仅以 Snap 包形式提供。

更新后的子系统

BlueZ 5.72 Cairo 1.18 NetworkManager 1.46 Pipewire 1.0.4 Poppler 24.02 xdg-desktop-portal 1.18

Ubuntu WSL

支持 cloud-init cloud-init 是跨平台云实例初始化的行业标准多发行版方法。它得到所有主要公有云提供商、私有云基础设施配置系统以及裸机安装的支持。

借助 WSL 上的 cloud-init,现在可以在首次启动时自动且可重复地配置 WSL 实例。可参考此教程 开始操作。

新文档 Ubuntu on WSL 的专用文档可在 Read the Docs 上查阅。这个不断发展的项目会定期更新有关 Ubuntu 在 WSL 上特性的新内容。

增强功能

减小占用空间 24.04 版本下载和安装速度更快,镜像大小减少了 200MB。

默认启用 systemd 即使直接从终端使用 wsl.exe 命令启动实例,或从导入的根文件系统启动实例,现在也会默认启用 systemd。

Ubuntu 服务器

Apache2 Apache2 包已更新至 2.4.58 版本。以下是自 Ubuntu Jammy 版本以来的主要变更:

  • mod_http2 对连接和流的处理方式进行了部分重写。APR pollset 和管道负责监控,而非断断续续的定时等待。对行为不当的客户端的资源处理得到了改进。还新增了 H2ProxyRequests、H2MaxDataFrameLen、H2WebSockets 和 H2EarlyHint 指令。
  • 为 mod_md 添加了类似 mod_proxy_balancer 格式的自动状态,并支持通过 tailscale 安全网络服务管理证书。
  • mod_md 修复了某些情况下的证书续期问题,新增了 MDCertificateAuthority 指令用于续期故障转移,以及 MDRetryDelay 和 MDRetryFailover 配置指令来控制其行为。
  • mod_md 新增了 MDMatchNames 和 MDChallengeDns01Version 指令,以便对 MDomains 和挑战进行更多配置控制。
  • 支持通过本地 tailscale 守护进程管理 mod_md 配置。
  • 用 pcre2(10.x)库替代已结束生命周期的 pcre(8.x)库进行正则表达式评估。
  • mod_proxy 进行了各种后端改进和修复,包括现在能正确检测 AJP/CPING 支持。
  • MPM 事件修复了重启和空闲维护期间的问题。
  • 为 mod_rewrite 添加了 BCTLS 和 BNE RewriteRule 标志,并修复了安全问题和多个漏洞。 更多关于 Ubuntu 中包含的 Apache2 2.4.53 至 2.4.58 版本变更的信息,可在以下网址查看:https://www.apachelounge.com/changelog-2.4.html

Clamav clamav 反病毒工具包在 Ubuntu 22.04 和现在之间发布了 1.0.0 版本。自 Ubuntu Jammy 版本以来的一些主要变更包括:

  • 支持解密使用默认密码加密的基于只读 OLE2 的 XLS 文件。
  • 全面改进了 all-match 功能的实现。新代码……
  • 新增了 cl_engine_set_clcb_file_inspection() 回调函数,用于在扫描过程中对每个存档解压层检查文件内容。
  • 新增了 cl_cvdunpack() API 函数用于解压 CVD 签名存档。 ClamAV 1.0.0 LTS 版本的完整变更列表可在以下网址查看:https://blog.clamav.net/2022/11/clamav-100-lts-released.html 。有关 1.0 分支中后续错误修复版本(包括 1.0.5)的详细信息,请查看 Clamav 的博客:https://blog.clamav.net/ 。

Chrony Chrony 更新至 4.5 版本,新增了对 systemd 套接字激活、一个 PHC 上的多个参考时钟、来自 PTP 透明时钟的校正、GnuTLS 中的 AES-GCM-SIV 以及 Nettle >= 3.9 中的 AES-GCM-SIV 以缩短 NTScookies 从而避免某些基于长度的 NTP 阻塞的支持。为 IPv6 数据包设置了 DSCP。新选项包括 hwtimestamp 指令的 maxpoll 以改善低数据包速率下的 PHC 跟踪,server/pool/peer 指令的 maxdelayquant 以添加基于长期分位数的过滤,以及 refclock 指令的 local 选项以使用更稳定的自由运行时钟(如 TCXO、OCXO)稳定系统时钟。新增了 hwtstimeout 指令以配置超时时间,用于处理延迟的时间戳,以及 selectopts 命令以修改特定于源的选择选项。

更多关于 4.5 版本和其他版本的信息,可在 Chrony 的新闻页面查看:https://chrony-project.org/news.html 。

cloud-init v.24.1.3 显著特性:

  • Windows Subsystem for Linux(WSL) 数据源支持
  • azure:改进了预配置阶段(PPS)的 DHCP 处理和退役
  • ec2:支持多网卡/IP 实例
  • oracle:增强了早期网络问题的恢复能力
  • 网络:dhcpcd 作为主要 DHCP 客户端支持(替代 isc-dhclient)
  • APT deb822 支持默认源
  • 改进了 cloud-init 状态的可恢复错误(警告)可见性 重大变更:
  • cloud-init 状态在出现警告时返回 2,出现错误时返回 1。
  • SSH 取消了对 DSA 主机密钥的支持
  • 启动优化:移除了对 snapd.seeded 的 systemd 顺序依赖
  • 停止将网络 v2 DNS 添加到全局 DNS
  • 当在 datasource_list 中指定时,强制使用单个数据源 自 Ubuntu Jammy 版本以来的特性:(详细信息见 cloud-init 的 Github 发布页面 )
  • 云服务:新增了 NWCS 和 Akamai(Linode)
  • 配置模块:新增了 ansible 和 wireguard 模块,支持 sodoers doas 和 opendoas
  • 临时网络 IPv4/IPv6 双栈设置支持,支持 ucdhcp 客户端
  • Netplan 模式验证和配置透传
  • NetworkManager 和 networkd 渲染器支持
  • /etc/cloud/cloud.cfg.d 的 jinja 模板支持
  • cloud-init 模式:验证用户数据、供应商数据和网络配置
  • cloud-init clean:/etc/machine-id 对黄金镜像的支持

Containerd containerd 包更新至 1.7.12 版本。它包含了许多错误修复,添加了对新 Golang 版本的支持,更新了依赖项等。以下是自上次 Ubuntu 版本以来的两个新特性:

  • 添加块文件快照器。
  • 添加远程/代理差异器。 一些特性已被标记为弃用,请尽量避免再使用它们。弃用警告:
  • 对 containerd.io/restart.logpath 标签的使用发出弃用警告。
  • 对 AUFS 快照器发出弃用警告。
  • 对 v1 运行时发出弃用警告。
  • 对已弃用的 CRI 配置发出弃用警告。
  • 对 CRI v1alpha1 的使用发出弃用警告。
  • 对 CRI 中的 CRIU 配置发出弃用警告。 更多信息,请查看上游变更日志。

Django Django 更新至 4.2.11 版本,提供了最新的 LTS 错误和安全修复。更多信息,请查看 4.2.5 至 4.2.11 的上游变更日志。

Docker docker.io 包更新至 24.0.7 版本。它包含了许多错误修复和依赖项更新。一些亮点包括修复了 zstd 输出的数据损坏问题,以及对 containerd 存储后端的许多改进。更多信息,请查看上游变更日志。

注意:存在一个与 AppArmor 相关的错误,由于最近为 runc 添加的 AppArmor 配置文件,容器无法及时停止。在尝试接收信号时,由于拒绝操作,容器总是被 SIGKILL 终止。更多关于此错误的详细信息,请查看此处,此处 描述了解决方法。

Dovecot Dovecot 从 Ubuntu Jammy 版本中的 2.3.16 进行了多次小版本更新,更新至新 LTS 版本中的 2.3.21。

  • 新增了 dsync_features=no-header-hashes 设置,该设置启用了一项优化,假设具有相同 IMAP UID 的邮件包含相同内容。这对于不缓存 Date/Message-ID 头的 IMAP 服务器很有用。
  • 新增了事件。
  • 新增了 Lua HTTP 客户端设置和一个新的 doveadm replicator 状态命令。
  • fts:使用通用分词器时,不在 FTS 索引中对内联 base64 编码内容进行索引。这通过移除不太可能被搜索到的输入,减小了 FTS 索引大小。仅在使用 libfts 时适用。
  • stats:如果指标指定了字段,则所有这些字段都将作为计数器导出到 prometheus 展示。
  • lua:HTTP 客户端现在有更多设置。
  • 添加了 mail_user_session_finished 事件,该事件在邮件用户会话结束时触发(如 imap、pop3、lmtp)。它还包括一些进程统计信息字段。
  • auth:在 auth passdb/userdb 完成事件中添加了缓存命中指示器。
  • lib-lua:为 Dovecot 的 HTTP 客户端库添加了 Lua 接口。
  • 事件现在具有“reason_code”字段,该字段可以提供事件发生原因的列表。
  • fts:添加了 fts_header_excludes 和 fts_header_includes 设置,用于指定要索引的哪些头。 更多关于自 Ubuntu Jammy 版本以来变更的详细信息,请查看 Dovecot 的 2.3.17、2.3.18、2.3.19、2.3.20 和 2.3.21 版本发布公告。

Exim4 exim4 邮件传输代理更新至 4.97 版本。这带来了对语法解析的众多修复,包括 run…、run…、{if} 和 ${filter } 构造。现在会检查查询式查找的引号;目前问题仅记录日志,但在未来版本中将视为错误。添加了用于包装长头行的扩展操作符。

其他显著变更包括:

  • 现在可以从一个守护进程启动多个队列的队列运行器。
  • 新的 ACL 条件:seen。记录/测试与一个键对应的时间戳。
  • 对于客户端和服务器操作中失败的 SMTP AUTH,以及与守护进程失败的 TLS 连接,触发事件。
  • 变量 $sender_helo_verified 带有 ACL“verify = helo”的结果。
  • smtp 传输选项“max_rcpt”现在在使用前进行扩展。
  • 扩展测试工具(exim -be)可以设置变量。
  • 已移除“allow_insecure_tainted_data”主配置选项和“taint”log_selector。这些在 4.95 版本中已弃用。 请注意,为新安装生成的默认配置(/etc/default/exim4)与以往做法不同,并且一些设置(QFLAGS、QUEUEINTERVAL、COMMONOPTIONS、QUEUERUNNEROPTIONS 和 SMTPLISTENEROPTIONS)已被替换。此外,update-exim4defaults 脚本不再用于设置 Exim 守护进程的运行参数;鼓励用户直接编辑 /etc/default/exim4 进行自定义。另外,消息使用的内部(但在日志、Received: 头和 Message-ID: 头中暴露)标识符比上一个版本更长。

更多关于 Exim4 4.96 和 4.97 版本中引入的变更信息,请查看 Exim4 项目的变更日志。

GlusterFS GlusterFS 集群文件系统包更新至 11.1 版本。更新后,对 GlusterFS 及其依赖包的打包布局进行了一些变更:

  • GlusterFS 上游不再支持 32 位架构(见 LP: #2052734)。因此,Ubuntu Noble 中没有 GlusterFS 的 armhf 包。作为进一步的结果,其他链接或依赖 GlusterFS 的包也不再支持 armhf 架构。
  • GlusterFS 已被降级至 Universe(LP: #2045063)。
  • 由于 Main 中不能有依赖 Universe 的包,Main 中依赖 GlusterFS 的包已被修改为也在 Universe 中提供该依赖。 以下包已变更:
  • qemu:二进制包 qemu-block-extra 由于包含的 gluster 存储模块而依赖 GlusterFS。现在,该模块被包含在新的 qemu-block-supplemental 二进制包中。
  • samba:二进制包 samba-vfs-modules 由于包含的 VFS 模块而依赖 GlusterFS。所有 GlusterFS VFS 模块已被移至新的 samba-vfs-modules-extra 包中。

注意,由于 GlusterFS 不再支持 32 位架构(见 LP: #2052734),上述两个新包在 armhf 上不存在。

qemu 和 samba 的升级注意事项 如果您的 qemu 或 samba 部署使用了 glusterfs 存储或 VFS 模块,那么需要考虑以下事项。换句话说,如果您:

  • 安装了 qemu-block-extra 并使用了 block-gluster.so 模块
  • 安装了 samba-vfs-modules 并使用了 glusterfs.so 或 glusterfs_fuse.so VFS 模块 那么升级到 Ubuntu Noble 时,这些包将被替换为不包含 glusterfs 模块的新版本。在这种情况下,升级完成后,您需要手动安装新包:
  • sudo apt install qemu-block-supplemental,或
  • sudo apt install samba-vfs-modules-extra 已考虑(ubuntu-devel 邮件列表主题)在 Ubuntu 升级工具中包含此逻辑,但决定暂时不增加升级器的复杂性。如果您的部署受到此问题的重大影响,请在 LP: #2045063 错误报告中发表评论。

HAProxy HAProxy 包更新至 2.8.5 版本。此新版本包含多项改进和错误修复。更多信息,请查看上游变更日志。

Kea Kea 包更新至 2.4.1 版本。现在,它是 Ubuntu 中受支持的 DHCP 服务器,替代了已被 ISC 停止维护的 ISC DHCP。

  • noble 中还提供了新的二进制包 keama,用于帮助将 ISC DHCP 配置文件迁移到 Kea。

以下是自 Ubuntu Jammy 版本以来 Kea 的主要变更:

  • 原生 TLS 支持。
  • PostgreSQL 配置后端。
  • 支持密码文件存储 HTTP API 凭据。
  • 默认启用多线程。
  • 租约释放亲和力。Kea 现在在租约释放后将其保留一段可配置的时间。这对于重启时发送 RELEASE 的设备很有用,这样它们在重启过程完成后有更多机会获得相同的租约。 更多详细信息,请查看 2.4 版本 和 2.2 版本 的上游发布说明。

libvirt libvirt 包更新至 10.0.0 版本。以下是自 Ubuntu Jammy 版本以来的变更:

  • 支持 dirtyrate 计算的 mode 选项。
  • 改进域保存/恢复吞吐量
  • 引入手动磁盘快照模式以与 libvirt 外部协调。
  • 引入内存分配线程(对于大量内存的客户机很有用)。
  • 引入对 virtio-iommu 的支持。
  • PPC64 Power10 处理器支持。
  • 引入绝对时钟偏移。
  • 添加对后拷贝迁移恢复的支持。
  • qemu:添加对零拷贝迁移的支持
  • qemu:添加指定 vCPU 物理地址大小(以位为单位)的支持
  • qemu:添加在 virDomainUndefineFlags 中保留或删除 TPM 状态的标志
  • QEMU:核心调度支持(默认未启用)。
  • 外部快照删除。
  • swtpm 的外部后端。
  • 为 传递文件描述符而非打开文件。
  • 允许首选策略的多个节点。
  • 在 domcapabilities 中报告 Hyper-V 增强功能。
  • 支持 SGX EPC(安全加密页缓存)。
  • 支持在共享存储上迁移 QEMU VM 的 vTPM 状态。
  • 引入对 igb 网络接口模型的支持。
  • 支持并行迁移压缩。
  • apparmor:所有配置文件和抽象现在支持本地覆盖
  • 添加 Sapphire Rapids CPU 模型。
  • 支持 SCSI 磁盘的可移动属性。
  • qemu:将 ARM 和 RISC-V 的默认机器类型更改为‘virt’
  • QEMU:启用后拷贝抢占迁移能力。
  • QEMU:添加将 iothreads 映射到 virtio-blk 设备 virtqueues 的支持。
  • QEMU:允许自动调整基于块设备支持的磁盘大小到设备全尺寸。
  • QEMU:自动选择/绑定 VFIO 变体驱动程序。
  • qemu:添加对 vDPA 块设备的支持
  • QEMU:添加 nbdkit 的运行时配置选项。
  • QEMU:添加 virtiofsd 的 ID 映射支持。
  • QEMU:在持久化 VM 到目标时改进迁移 XML 使用。
  • QEMU:简化到原始块设备的非共享存储迁移。
  • QEMU:允许 virtiofsd 以非特权方式运行。
  • RBD/Ceph 存储驱动程序(libvirt-daemon-driver-storage-rbd)现在仅在 64 位架构上可用。 更多详细信息,请查看上游变更日志。

LXD

为进一步简化 Ubuntu,延续这一主题,从本次发布版本开始,Ubuntu 服务器将不再默认预装 LXD snap。相反,我们将采用与 ubuntu-minimal 镜像相同的逻辑,使用一个小型脚本(lxd-installer)在首次使用时安装 LXD。

LXD 5.21.0 LTS 已发布,其中包含许多实用功能以及一些其他操作变更。如需了解更多信息,请阅读完整的发布公告。

监控插件

在本次 Ubuntu LTS 版本中,monitor-plugins 经过四次小版本更新,升级到了 2.3.5 版本,提供了许多修复和增强功能。其中一些值得注意的点如下:

  • check_dhcp:添加了 DHCP 非法检测功能。
  • check_icmp:添加了对抖动、MOS 和分数的支持。
  • check_smtp:添加了对 SMTP over TLS 的支持。
  • check_smtp:添加了对 SNI 的支持。
  • check_http:实现了分块编码解码。
  • check_curl:检测 IPv6。
  • check_by_ssh:让 ssh 自行决定主机是否有效,支持使用 ssh .config 文件。
  • check_curl:为 check_curl 添加了一个选项,用于使用系统 CA 验证对等证书和主机。
  • check_fping:实现了“host-alive”模式。
  • check_http:支持 HTTP 重定向。
  • check_ping:理解 ping6。
  • check_smtp:添加了 -L 标志以支持 LMTP(使用 LHLO 而非 HELO/EHLO)。
  • check_snmp:添加了空零长度字符串退出代码的选项。

如需了解更多详细信息,请参阅 2.3.2、2.3.3、2.3.4 和 2.3.5 的发布公告。

Net SNMP

Net SNMP 软件包已更新至 5.9.4 版本。

除了修复一些安全性和稳定性问题外,现在还支持识别 Docker 的覆盖文件系统,例如在对 Docker 容器运行 snmpwalk 时。

如需了解更多详细信息,请参阅上游变更日志。

Nginx

在 Ubuntu 24.04 中,Nginx Web 服务器已更新至 1.24 版本,相较于上一个 LTS 版本的 1.18 版本有了重大提升。此次更新带来了 OpenSSL 3.0 兼容性、对 PCRE2 库的支持、默认启用 TLSv1.3 协议、为流模块添加了应用层协议协商(ALPN)支持、对客户端 SSL 证书的在线证书状态协议(OCSP)验证以及改进的 HTTP/2 支持等功能。

如需了解完整的变更列表,请参阅 Nginx 1.20、1.22 和 1.24 的发布说明。

OpenLDAP

OpenLDAP 软件包已更新至 2.6.7 版本,修复了多个错误。如需了解更多详细信息,请参阅上游变更日志。

OpenVmTools

在 Ubuntu 24.04 中,open-vm-tools 升级到了 12.3.5 版本。中间版本解决了一些关键问题、漏洞和 Coverity 问题。此外,它还添加了对管理 Salt Minion 的支持,以及对收集和发布 Linux 客户机内运行的容器列表的支持。还提供了一个 tools.conf 配置设置,用于临时将 Linux 静态快照定向到恢复 open-vm-tools 12.2.0 之前的行为,即忽略已冻结的文件系统。

12.3.5 版本及其他自 11.3.5 版本以来的发布公告可在 open-vm-tools 的 GitHub 发布页面 上查看。

PAM

pam_lastlog.so 已被移除,因为它不符合 2038 年要求。

Percona Xtrabackup

Percona Xtrabackup 已作为新软件包添加,与 MySQL 8.0.x 协同工作。它是一款用于创建和恢复 MySQL 数据库备份的工具,同时保持数据库可用性。如需了解更多信息,请参阅 Percona Xtrabackup 的上游文档。

PHP

PHP 软件包已更新至 8.3.6 版本。以下是自 Ubuntu Jammy 版本以来的主要变更:

  • 更新时,PHP 将重新启动 apache2,以确保 PHP 驱动的 Web 服务器中的任何错误在升级后能立即得到解决。
  • 只读类
  • 析取范式(DNF)类型,允许组合联合和交集类型
  • 现在允许将 null、false 和 true 作为独立类型使用
  • 引入了新的“random”扩展,为随机数生成提供了面向对象的 API。
  • 常量现在可以在特性中声明,然后可以被使用该特性的类访问。
  • 创建动态属性现已被弃用,以避免错误和拼写错误。
  • 类型化类常量
  • 类常量现在可以动态获取
  • 引入了新的 #[\Override] 属性,确保父类或实现的接口中存在同名方法。
  • 现在允许对只读属性进行深度克隆。
  • 引入了新的 json_validate() 函数,用于检查字符串在语法上是否为有效的 JSON。
  • 命令行校验器现在支持一次解析多个文件。

此外,apache2 的变更确保在 PHP 软件包升级后 apache2 服务将重新启动。这是软件包行为的变更。之前,needrestart 会通知用户需要重新启动服务,但服务不会自动重新启动。请参阅 LP: #2038912 以了解此变更的更多背景信息。

如需了解更多详细信息,请参阅上游变更日志。

PostgreSQL

PostgreSQL 软件包已更新至 16.2 版本。新版本包含多项性能改进。以下是自 Ubuntu Jammy 版本以来包含的一些主要变更:

  • SQL 标准 MERGE 命令现已可用,允许您编写包含 INSERT、DELETE 和 UPDATE 操作的单一条件 SQL 语句。
  • 新的正则表达式相关函数。
  • 新的 jsonlog 格式,用于使用定义的 JSON 结构输出日志。
  • 用户现在可以从备用实例执行逻辑复制。
  • 添加了更多 SQL/JSON 语法,如 JSON_ARRAY()、JSON_ARRAYAGG() 和 IS JSON。
  • 用户现在可以使用 _ 作为千位分隔符来表示数字(例如,5_100_042)。
  • 添加了对非十进制整数文字的支持,如 0x1234A、0o777 和 0b0101011。
  • 添加了多个面向安全的客户端连接参数,包括 require_auth 以指定接受的认证参数,以及 sslrootcert="system" 以使用客户端操作系统提供的受信任证书颁发机构(CA)存储。

如需了解上述变更的详细信息或获取 PostgreSQL 16 中引入的完整变更列表,请参阅上游发布说明。

QEMU

QEMU 软件包已更新至 8.2.1 版本。以下是自 Ubuntu Jammy 版本以来的变更:

  • 用户模式模拟(linux-user、bsd-user)将强制执行来宾对齐约束,并在适当情况下向来宾程序引发 SIGBUS 信号。
  • qemu-nbd 程序新增了 --tls-hostname 参数,允许对不同的主机名进行 TLS 验证,例如在通过 TCP 隧道设置 TLS 时,现在支持通过 UNIX 套接字进行 TLS 连接。
  • ARM
    • 模拟 ARM Cortex-A76、Cortex-A35、Cortex-A710、Neoverse-N1、Neoverse-N2 CPU。
    • virt 板现在支持模拟 GICv4.0。
    • 还模拟了多个新的 PCPU 架构特性。
    • 支持 MTE(内存标记扩展)的主机上的 KVM 虚拟机现在可以在来宾中使用 MTE。
  • RISC-V
    • 添加对特权规范版本 1.12.0 的支持。
    • 添加对 Zbkb、Zbkc、Zbkx、Zknd/Zkne、Zknh、Zksed/Zksh 和 Zkr 扩展的支持。
    • 添加对 Zmmul 扩展的支持。
    • 为 virt 板添加 TPM 支持。
    • 改进 virt 机器设备树。
    • 支持更多 RISC-V 扩展,其中超管理器扩展不再标记为实验性,现在默认启用。
    • 添加对 RISC-V 向量密码指令集的支持。
    • 将 RISC-V 向量密码更新为批准的 v1.0.0 版本。
  • s390x
    • 使用 TCG 模拟 s390x 向量增强设施 2。
    • 修复了 s390-ccw bios,使其也能从具有非 512 扇区大小且几何形状与典型 DASD 驱动器不同的驱动器启动。
    • 修复了 LZRF、VISTR、SACF 指令的模拟。
    • 增强了对 KVM 来宾的 zPCI 解释支持。
    • 实现消息安全辅助扩展 5(通过 PRNO 指令生成随机数)。
    • 使用 KVM 支持 s390x CPU 拓扑(books 和 drawers、STSI 15.1.x 指令、PTF 指令)。
  • 其他
    • 支持 Linux 上的零拷贝发送,减少源主机上的 CPU 使用率。注意,需要锁定内存来支持此功能。
    • 添加对 Intel AMX 的支持。
    • 在全系统模拟中提高 TCG 性能。
    • TCG 支持 AVX、AVX2、F16C、FMA3 和 VAES 指令。
    • 支持 Sapphire Rapids 和 Granite Rapids CPU 模型。
    • 已弃用对 32 位 x86 主机的系统模拟支持。QEMU 项目不再认为对 32 位 x86 主机的系统模拟支持是其有限资源的有效利用,因此打算停止支持。32 位主机上的用户模式模拟仍将继续支持。
    • 支持 igb 设备模拟。
    • 支持最多 1024 个 vCPU 的虚拟机(更多详细信息,请参阅此处)。
    • 由于 GlusterFS 降级(请参阅 LP: #2045063),GlusterFS 块存储模块已从 qemu-block-extra 软件包移至新的 qemu-block-supplemental 软件包。如果您在使用带有 GlusterFS 块存储模块的 qemu,请参阅这些发布说明中的 GlusterFS 部分以了解升级注意事项。
    • 由于 GlusterFS 不再支持 32 位架构(请参阅 LP: #2052734),block-gluster 存储模块(现在包含在 qemu-block-supplemental 中)不再适用于 armhf。

如需了解更多详细信息,请参阅相关的上游变更日志:

  • 8.2
  • 8.1
  • 8.0 [Mantic]
  • 7.2
  • 7.1
  • 7.0
  • 6.2 [Jammy]

Ruby 3.2

默认的 Ruby 解释器已更新至 3.2.3 版本。此版本包含许多新功能和错误修复,其中一些亮点包括:

  • YJIT 现已可用于生产环境(Ruby 的 JIT 编译器)。
  • 使用 Data.define 创建不可变对象(新的 Data 类)。
  • WebAssembly 支持。
  • bundle gem 现在支持 --ext=rust,允许使用 rust 扩展构建 gem。
  • 一些已被弃用的常量和方法现已被移除,在迁移到此 Ruby 版本时,请注意以下内容:
    • Fixnum 和 Bignum
    • Random::DEFAULT
    • Struct::Group
    • Struct::Passwd
    • Dir.exists?
    • File.exists?
    • Kernel#=~
    • Kernel#taint、Kernel#untaint、Kernel#tainted?
    • Kernel#trust、Kernel#untrust、Kernel#untrusted?

以上所有内容均已从 Ruby 3.2 中移除,无法再使用。如需了解更多信息,请参阅上游发布公告。

Runc

runc 软件包已更新至 1.1.12 版本。此版本包含专门与 cgroup v2 支持相关的错误修复,最重要的是,添加了对 riscv64 的支持。如需了解更多信息,请参阅上游变更日志。

对于希望自定义 runc 软件包的用户/开发者,源软件包现已拆分为 runc(库软件包)和 runc-app(应用程序软件包)。这样做是为了遵循 containerd 和 docker.io 中的做法,从而简化未来的维护工作,包括向稳定版本进行回溯。

Samba

Samba 软件包已更新至 4.19.x 系列。以下是 4.19.0 的上游发布说明:https://www.samba.org/samba/history/samba-4.19.0.html

由于 GlusterFS 降级(请参阅 LP: #2045063 以及这些发布说明中的 GlusterFS 部分),Samba 打包方式需要进行一些调整以适应此变更。

之前包含在二进制 samba-vfs-modules 软件包中的 GlusterFS VFS 模块,现在包含在新的二进制软件包 samba-vfs-modules-extra 中。具体来说,以下模块(及其相应的手册页)已移至 samba-vfs-modules-extra:

  • glusterfs.so
  • glusterfs_fuse.so

fuse 模块不依赖于 gluster 库,但为保持一致性,与 glusterfs.so 一起移动。

如果您是从使用上述两个 VFS 模块之一的 Ubuntu 版本升级而来,则应在升级后安装 samba-vfs-modules-extra:

sudo apt install samba-vfs-modules-extra

如果您是全新安装 Ubuntu Noble,并且希望将 glusterfs VFS 模块与 samba 一起使用,则也应安装 samba-vfs-modules-extra。

Spamassassin

Apache SpamAssassin 4.0.0 包含了对过去版本的众多调整和错误修复。特别是,它包含了重大变更,显著改进了对国际语言文本的处理。

与任何主要版本一样,升级到 4.0.0 包含了许多功能补丁和改进。Apache SpamAssassin 4.0.0 包含了几年来显著改进分类和性能的修复。

新插件包括 ExtractText、DMARC 和 DecodeShortURLs。之前已弃用的 HashCash 模块现已完全移除。Mail::SPF::Query 的使用已弃用,同时弃用的设置还有 do_not_use_mail_spf、do_not_use_mail_spf_query。Mail::SPF 现在是 SPF 插件唯一支持的模块。

其他值得注意的变更包括:

  • Bayes 插件已改进,可跳过非英语语言中的常见词(即噪声词)。
  • 您现在可以使用捕获的标签在一个规则中使用在另一个规则中“捕获”的标签。
  • sa-update 已改进,新增了三个选项:forcemirror、score-multiplier 和 score-limit。
  • DKIM 插件现在可以检测 ARC 签名。
  • normalize_charset 选项现已默认启用。
  • SPF 查找不再异步进行。
  • 默认的 sa-update 规则集不再进行 ASN 查找或添加头部信息。

SpamAssassin 4.0.0 发布公告 提供了有关这些变更的更多详细信息。

Squid

Squid 软件包已更新至 6.6 版本。以下是自 Ubuntu Jammy 版本以来的一些主要变更:

  • Squid 现在对 tls-cert= 配置错误更具容忍性。它将尝试对 CA 链进行排序,并按所需顺序发送证书。
  • Squid 现在会记录它接受或建立的 TLS 连接的通信详情。
  • 引入了新的 to_linklocal ACL,用于预定义匹配来自 169.254.0.0/16 和 fe80::/10 的请求。
  • X-Cache 和 X-Cache-Lookup HTTP 头部信息已替换为新的 Cache-Status HTTP 头部信息,遵循 RFC 9211。依赖 X- 头部信息的工具和系统应升级为使用新的头部信息。
  • 已移除对 Gopher 协议的支持。

如需了解更多详细信息,请参阅上游发布说明。

SSSD

SSSD 软件包已更新至 2.9.4 版本。以下是自 Ubuntu Jammy 版本以来的变更:

  • 所有 SSSD 客户端库(nss、pam 等)默认不再序列化请求,即来自多个线程的请求可以并行执行。可以通过设置环境变量 SSS_LOCKFREE 为 NO 来启用旧行为(序列化)。
  • 添加了新的 krb5 插件 idp 和新的二进制文件 oidc_child,用于对 FreeIPA 执行 OAuth2 认证。但是,由于 FreeIPA 服务器端此功能仍在开发中,因此尚无法进行测试。
  • sss_simpleifp 库已弃用,并可能在未来的版本中移除。
  • “文件提供程序”(即 id_provider = files)已弃用,并可能在未来的版本中移除。请考虑使用“代理提供程序”并设置 proxy_lib_name = files。
  • 添加对 ldapi:// URL 的支持,以允许连接到本地 LDAP 服务器。
  • 代理提供程序现在能够处理证书映射和匹配规则,并且由代理提供程序处理的用户可以配置为进行本地智能卡认证。除了映射规则外,还应使用后端中的 local_auth_policy 选项和 PAM 响应程序中的 pam_cert_auth 来启用本地智能卡认证。

英特尔® 快速辅助技术(英特尔® QAT)

英特尔® QAT 是第四代及更新英特尔® 至强® 可扩展处理器上的内置加速器,可卸载关键的数据压缩和解压缩、加密和解密以及公钥数据加密任务,从而减轻 CPU 内核的负担并加速这些操作,有助于提高性能并节省宝贵的计算资源。

Ubuntu 24.04 中启用的组件包括:

  • qatlib 24.02.0 此软件包提供了用户空间库,允许访问英特尔® QAT 设备并公开英特尔® QAT API 和示例代码。 如需了解更多信息,请访问项目仓库。
  • qatengine 1.5.0 此软件包提供了英特尔® QAT OpenSSL 引擎插件,作为位于 OpenSSL 和 QAT 库之间的共享库。该引擎可以配置为使用英特尔优化的库(ipp-crypto 和 intel-ipsec-mb)和/或将这些操作卸载到 QAT 设备。 如需了解更多信息,请访问项目仓库。
  • qatzip 1.2.0 此软件包提供了用户空间库,通过将工作卸载到英特尔 QAT 设备来提供加速的压缩和解压缩服务,该设备使用 deflate* 和 lz4* 算法。 如需了解更多信息,请访问项目仓库。
  • ipp-crypto 2021.10.0 英特尔® 集成性能原语密码学(英特尔® IPP 密码学)是一个安全、快速且轻量级的密码学构建块库,针对各种英特尔® CPU 进行了高度优化。 如需了解更多信息,请访问项目仓库。
  • intel-ipsec-mb 1.5-1 英特尔® 多缓冲区 IPsec 密码学库提供了主要针对对称密码学应用的软件密码学加速。 如需了解更多信息,请访问项目仓库。

Subiquity

已发布新版本的 Subiquity 服务器安装程序。请在 GitHub 上阅读 24.04.1 的完整发布说明。

OpenSSH

自 Ubuntu 22.10 起,openssh-server 默认配置为使用 systemd 套接字激活。在 Ubuntu 24.04 LTS 中,实现方式已更改,以便从 /etc/ssh/sshd_config(以及来自 /etc/ssh/sshd_config.d/ 的片段)读取的设置将由 systemd 生成器读取,以相应地配置 ssh.socket 单元。如需了解更多详细信息,请参阅原始讨论帖子。

Ubuntu 高可用性/集群

Pacemaker

Pacemaker 软件包已更新至 2.1.6 版本。自 jammy 版本以来,已进行了多项修复、API 更改并引入了新功能。更多详细信息,请参阅上游更新日志。

资源代理(Resource Agents)

资源代理软件包已更新至 4.13.0 版本。

一个显著的变化是上游对 PostgreSQL 功能的改进。pgsql 代理已被移至 resource-agents-base 软件包,现在是我们精选的资源代理集的一部分。

此外,过渡性的 resource-agents 软件包已被移除。现在,您应通过 resource-agents-base 软件包或 resource-agents-extra 软件包来安装资源代理。每个软件包中可用的代理列在软件包描述中。

更多信息,请参阅上游更新日志。

OpenStack

OpenStack 已更新至 2024.1(Caracal)版本。该版本包含 Aodh、Barbican、Ceilometer、Designate、Glance、Heat、Horizon、Ironic、Keystone、Magnum、Manila、Masakari、Mistral、Neutron、Nova、Octavia、Swift、Watcher 和 Zaqar 的软件包。

Murano、Senlin、Sahara、Freezer 和 Solum 在 2024.1 周期中被声明为不活跃,并已从 Ubuntu 中移除。

此版本也通过 Ubuntu Cloud Archive 提供给 Ubuntu 22.04 LTS。

Ceph

Ceph 已更新为一个快照,为即将通过稳定版本更新提供的 19.2.0(Squid)版本做准备。

此版本也通过 Ubuntu Cloud Archive 提供给 Ubuntu 22.04 LTS。

Open vSwitch(OVS)和 Open Virtual Network(OVN)

Open vSwitch 已更新至 3.3.0 版本。

Open Virtual Network 已更新至 24.03 版本。

这些版本也通过 Ubuntu Cloud Archive 提供给 Ubuntu 22.04 LTS。

平台

公共云/云镜像
所有

23.10 云镜像出现意外的 UDP 监听……”:云镜像错误 cloud-init 在预置 snap 时不再默认阻塞 有关如何修复依赖 snap 的用户脚本的详细信息,请参阅 cloud-init 文档 云镜像不再默认预置任何 snap 随着上述 LXD 的更改,非最小公共云镜像中不再预置或安装 LXD snap。因此,非最小镜像中将不再预置或安装 snap。 移除 LXD snap 预置的决定是在 Bug #2051346“不再预置 LXD snap 以允许 LXD 5.20 ...”中做出的:ubuntu-meta 软件包:Ubuntu,而停止预置任何 snap 的决定是在 Bug #2051572“始终在服务器种子中预置 core 和 snapd snap”中做出的:ubuntu-meta 软件包:Ubuntu 例外情况是 AWS 和 GCE,它们预置了特定于云的 snap。

从先前版本升级

使用 do-release-upgrade 升级到 Ubuntu 24.04 时,会出现一个或多个交互式提示。一个是关于 grub-pc 的,它会要求您选择引导设备;如果安装了 chrony,您还会被提示选择“磁盘配置”或“软件包配置”。这些都是预期的,不会影响升级能力。

最小镜像的占用空间已减少

在 23.10 周期中引入的最小云镜像现在比 Ubuntu 22.04 最小镜像更小。软件包数量从 426 个减少到 288 个(差异:138 个),导致镜像大小大幅减小。例如,下载的 qcow2 镜像从 337.19MiB 减少到 226.75MiB(差异:110.44MiB)。 这是通过减少安装的软件包数量(仅安装我们认为功能齐全的 Ubuntu 云实例所需的软件包)并移除“推荐”软件包的安装来实现的。

Vagrant

从 Ubuntu 24.04 开始,Ubuntu 不再生成 Vagrant 镜像。有关从头开始创建 Ubuntu 基础镜像的文档,请参阅 https://documentation.ubuntu.com/public-images/en/latest/public-images-how-to/build-vagrant-with-bartender/。

公共镜像(cloud-images.ubuntu.com)镜像
发布说明/镜像差异

自 2024 年 4 月 19 日起,我们为发布的镜像引入了 .image_changelog.json 文件,这些文件可在 https://cloud-images.ubuntu.com/ 上找到。这是一个 JSON 文档,列出了所有软件包的添加、移除和更改,以及软件包更改的更新日志条目。它还突出了在这些软件包更新中解决的任何 CVE。用于生成这些差异的工具是 ubuntu-cloud-image-changelog,可在 github.com/canonical/ubuntu-cloud-image-changelog 上找到。 差异是在发布的镜像与上一个每日镜像之间生成的,也是在发布的镜像与上一个发布镜像之间生成的。 这些镜像差异已回溯到先前发布的 Ubuntu 版本。

OVA 镜像和某些版本的 Cloud Director 存在潜在问题

与附加的串行端口相关,在某些情况下,这可能导致 OVA 镜像部署失败。如果部署失败,直接在部署中编辑 OVF 并移除串行端口部分应允许成功部署。VMware 有一篇相关的知识库文章 介绍了这些故障。Cloud Director 版本约为 10.4.2.22463311 的版本可能受到影响。目前正在对此进行调查:LP:2062552。

AWS EC2
Noble 实例现在默认使用 IMDSv2 作为实例元数据服务。
通过 cloud-init 支持多 NIC 实例的源路由自动配置。
awscli debian 软件包已从存档中移除。应使用 aws-cli snap 代替。该 snap 由 AWS 维护。
Microsoft Azure
Canonical 正在为 Ubuntu 24.04 LTS 引入一种在 Azure 上发布的新方式。所有 Ubuntu 24.04 LTS 镜像将可在同一优惠下获得:ubuntu-24_04-lts。派生镜像,如最小化的 Ubuntu 服务器版本或 Ubuntu Pro,将作为该主要优惠下的计划提供。
我们已在 ubuntu-24_04-lts 优惠的 cvm 计划下提供的机密 VM 镜像上发现了 apparmor 配置文件的问题。例如,从该计划启动的 VM 上 rsyslog 服务将无法启动。目前正在对此进行调查,并将很快发布带有修复程序的新镜像。
用户在具有多 NIC 设置的实例上可能会遇到 DNS 解析延迟,这是由于 systemd-resolved 配置错误导致的。我们目前正在 cloud-init 中实施解决方案(fix(azure): 避免非主 NIC 具有到 DNS 的路由 CPC-4224 由 CalvoM · 拉取请求 #5180 · canonical/cloud-init · GitHub)。在解决方案落地到 cloud-init 之前,用户可以通过创建 /etc/netplan/91-secondary-nics-azure.yaml 文件并添加以下内容来修复配置错误:
network:version: 2ethernets:ephemeral:dhcp4: truedhcp4-overrides:use-dns: falsematch:driver: hv_netvscname: '!eth0'optional: truehotpluggedeth0:dhcp4: truematch:driver: hv_netvscname: 'eth0'

用户应随后重启实例以使 netplan 配置生效。

Google
GCE:通过 cloud-init 用户数据设置主机名需要添加 create_hostname_file 键;更多详细信息请参见此处。
启动速度改进:I/O 调度器已更改为 none(从 noop 更改),以改善最常见磁盘类型的 I/O 性能(LP: #2045708)
发现 GCP 暂停功能与 linux-gcp 6.8 内核存在回归问题,目前正在 LP: #2063315 中进行调查。
Ubuntu 24.04 引入了 needrestart 软件包行为的更改 - 请参阅“服务在无人值守升级时重启”的说明以获取更多信息。这会导致在软件包升级或重新安装时再次运行任何 google-guest-agent 启动脚本。目前正在对此进行调查,但只有在重新安装 google-guest-agent 软件包时才会触发此行为。可以通过在重新安装之前设置 NEEDRESTART_SUSPEND=1 来解决此问题,如 needrestart 手册页 所述,或者通过向 needrestart 配置中添加以下内容来禁用此行为:echo "\$nrconf{override_rc}{qr(^google-(shutdown|startup)-scripts\.service$)} = 0;" >> /etc/needrestart/conf.d/google-guest-agent.conf,这将禁用未来 google-guest-agent 升级或重新安装时的此行为。新的 GCE 镜像将在发布后不久构建并发布,以默认禁用 google-guest-agent 的此行为。
Oracle
Ubuntu 24.04+ 的 Oracle 云镜像中不再安装简单的防火墙软件包 ufw。从 Ubuntu 的早期版本升级到 24.04 将卸载 ufw。如 Oracle 文档、此博客 和已知问题 中所述,ufw 工具与通过 iptables-persistent 和 netfilter-persistent 的系统配置冲突。如果选择在 Ubuntu 24.04+ 上安装 ufw,它将卸载 iptables-persistent 和 netfilter-persistent,从而禁用支持 iSCSI 启动和块设备所需的默认功能。

如何报告这些更改导致的任何问题

如果您在最小镜像中发现任何意外的更改或错误,请在云镜像中创建新错误。

Raspberry Pi :strawberry:

Pi 5 LTS

24.04(noble)将是首个支持 Raspberry Pi 5 的 LTS 版本,同时提供 arm64 服务器和桌面镜像。

浏览器加速

Firefox 浏览器现在支持 3D 加速,这是在将 mesa 23.2 反向移植到 22.04(jammy)之后实现的,这使得必要的内容 snap 能够重新生成。可以使用经典的 aquarium 示例来测试新图形堆栈的性能,该堆栈可以在 Pi 5 上以 1080p 分辨率实现流畅的 40+fps 全屏显示。

电源监控

在 Pi 5 上,pemmican软件包现在将提供电源监控功能。

在服务器镜像上,登录时的 MOTD 将指示电源是否未能协商到预期的 5A 以实现无限操作,或者上次重置是否由电压下降导致。内核消息将警告电压不足或过流情况。

在桌面镜像上,将显示桌面通知以提示这些问题,并提供进一步信息或抑制未来此类警告的选项。

无 32 位(armhf)镜像

从 24.04(noble)开始,我们将不再为 Raspberry Pi 生成 32 位(armhf)镜像。将仅生成 64 位(arm64)镜像。为避免混淆,这并不意味着 armhf 不再作为 Raspberry Pi 上的架构受到支持;它将在 noble 中继续作为外围架构受到支持(见下文)。

要将 armhf 作为外围架构添加到 arm64 镜像,请使用以下命令:

$ sudo dpkg --add-architecture armhf
$ sudo apt update

之后,要安装 armhf 软件包:

$ sudo apt install SOME-PACKAGE:armhf

请注意,将不会有 armhf 内核(主要是因为 Pi 5 不支持 32 位内核),并且当前使用 armhf 镜像的用户将无法直接升级到 noble。

服务器上更简单的蓝牙配置

在服务器镜像上,不再需要安装 pi-bluetooth 软件包来启用蓝牙功能。只需安装常规的 bluez 软件包,蓝牙将由内核配置。

arm64

新的 arm64+largemem ISO 包含一个具有 64k 页大小的内核。更大的页大小可以提高吞吐量,但会增加内存使用量,因此此选项更适合内存充足的服务器。此 ISO 的典型用例包括:机器学习、具有许多大条目的数据库、高性能计算。

IBM Z 和 LinuxONE 镜像
“s390-tools”软件包已逐步升级到最新的 v2.31.0 版本(LP: #2049612),其中包括大量更新、新工具和功能,特别是用于绑定和关联 APQNs 加密域的安全来宾工具(LP: #2003672)。
与所有其他架构一样,s390x 上也禁用了 COMPAT_32BIT_TIME(LP: #2038583),从而移除了 31/32 位遗留支持(LP: #2051683)。
随着 GDB 升级到 15 版本,引入了对 IBM z16 的支持(LP: #1982336)。
Glasgow Haskell 编译器已升级到 9.4.7 版本,该版本足够新,可以启用 LLVM 后端以提高性能(LP: #1913302)。
IBM Z 特有的改进也落实在了 KVM 虚拟化堆栈中,引入了虚拟 CPU 拓扑(LP: #1983223)并增强了 KVM 来宾的动态 CPU 拓扑(LP: #2049703),以及实现了嵌套来宾影子事件计数器(LP: #2027926)。更多详细信息请参阅上面的 qemu 和 libvirt 部分。
s390x 改进的另一个大领域是加密,随着 opencryptoki 升级到 v2.23(LP: #2050023),现在在 PKCS #11 3.0 中支持 AES_XTS(LP: #2025924)和 EP11 令牌对 FIPS 2021 会话绑定 EP11 密钥的支持(LP: #2050014)。
此外,libica 已更新到 v4.3.0(LP: #2050024),openssl-ibmca 软件包已更新到 v2.4.1,并且提供了 openssl-pkcs11-sign-provider 软件包 v1.0.1(LP: 2003668),包括 fork 支持(LP: #2050015)。
最后,几个 s390x 特有的库已升级到最新版本,如 qclib 升级到 2.4.1(LP: #2050028),libzpc 升级到 v1.2.0(LP: #2050031)。
IBM POWER (ppc64el)
Ubuntu Server 24.04 现在具有在 IBM PowerVM LPAR 中运行 KVM 所需的技术支持和启用功能。
此技术为 Ubuntu Server 在 IBM Power 平台上的开源创新和解决方案提供了扩展。
以下是固件和硬件要求:
  • 固件:FW1060.10
  • 硬件:IBM Power10
  • 注意:KVM 虚拟化继续在 POWER9 裸机/OPAL 基于系统的上得到支持。
RISC-V
Ubuntu 24.04 是 StarFive VisionFive 2 板的首个 LTS 版本。
有关支持的板的概述,请参阅下载 Ubuntu for RISC-V 平台 | Ubuntu。
RISC-V Ubuntu 用户空间与所有 RVA20 硬件兼容。

已知问题

与任何版本的 Ubuntu 发布一样,此版本的 Ubuntu 存在一些用户可能会遇到的重大已知错误。我们在此处记录了我们目前已知的问题(以及一些解决方法),因此您无需花费时间再次报告这些错误:

常规
  • 在 24.04.2 中,由于缺少内核模块,Nezha D1 和 LicheeRV 的 HDMI 输出已损坏。
  • sysstat 启用状态与意图不匹配
    • 在 24.04 中,我们作为更广泛性能工程工作的一部分,默认安装了 sysstat。其想法是,当用户发现自己需要解决性能工程问题时,相关的性能工程工具已经存在并可用。
    • 在某些情况下,sysstat 服务实际上并未启用。这将在未来的更新中得到修复。当更新到达时,如果之前未启用,sysstat 将变为启用状态,以与我们的预期默认值保持一致。如果您不希望 sysstat 服务运行,可以提前删除 sysstat 软件包。
    • 有关详细信息,请参阅 LP: #2073285 和 LP: #2073284 。
Linux 内核
  • 无重要说明。
Ubuntu 桌面
  • 新桌面安装程序提供了屏幕阅读器支持,但不完整(LP: #2061015、LP: #2061018、LP: #2036962、LP: #2061021)
  • 尚不支持 OEM 安装(LP: #2048473)
  • 启用高对比度主题时,应用程序图标未使用正确的高对比度主题(LP: #2013107)
  • GTK4 应用程序(包括桌面壁纸)在 VirtualBox 或 VMWare 中使用 3D 加速时显示不正确(LP: #2061118)。
  • Xorg 会话(即使用 Nvidia 驱动程序)中的全屏图形性能暂时下降(LP: #2052913)。
  • 通过网络引导新桌面安装程序会导致安装程序在启动时崩溃。此问题将在 24.04.1 版本(或更早)中得到解决,届时该修复程序将通过手动刷新 snap 在 24.04 ISO 上的实时环境中可用(LP: #2062988)。
  • TPM 备份全盘加密与 Absolute 不兼容:引入了 TPM 备份全盘加密(FDE)以增强数据安全性。但重要的是要注意,此功能与 Absolute(前身为 Computrace)安全软件不兼容。如果您的系统上启用了 Absolute,则在同时启用 TPM 备份 FDE 的情况下,机器将无法在安装后启动。因此,建议从 BIOS 中禁用 Absolute 以避免启动问题。
  • TPM 备份全盘加密的硬件特定内核模块要求:TPM 备份全盘加密(FDE)需要特定的内核 snap,该 snap 可能不包含某些硬件功能所需的特定内核模块。一个明显的例子是 NVMe RAID 配置所需的 vmd 模块。在需要此类特定内核模块的情况下,可能需要在 BIOS 中禁用硬件功能(如 RAID)以确保在安装后受影响的硬件仍然可用。如果无法在 BIOS 中禁用,则启用 TPM 备份 FDE 后,相关硬件在安装后将不可用。
  • FDE 特定错误报告。
Ubuntu 服务器
freeradius

从 Ubuntu 22.04 升级到 Ubuntu 24.04 时,freeradius 软件包可能会被意外删除。升级摘要中会报告此删除操作,但可能会被忽略。 此问题正在 LP: #2114224 中跟踪。

安装程序
  • 在某些情况下,当镜像无法访问时,进行离线安装是可行的。在此场景下,建议使用:
apt:fallback: offline-install
samba apparmor 配置文件

由于 Bug LP: #2063079,samba smbd.service 单元文件不再调用辅助脚本根据现有共享动态创建 apparmor 配置文件片段。 默认情况下,来自 samba 的 smbd 服务不受限制。要受到此错误的影响,用户必须:

  • 安装可选的 apparmor-profiles 软件包
  • 将 smbd 配置文件限制从“抱怨”切换为“强制” 因此,只有采取这些步骤并升级到 Noble 的用户才会受到此错误的影响。将在发布后不久进行 SRU 修复。
armhf 上的 rrdtool

rrdtool 是一个非常流行的软件包,被 cacti、munin、mrtg 等监控和图形工具使用。 由于 Ubuntu 24.04 LTS 在 armhf 架构中将 time_t 从 32 位更改为 64 位以解决其他地方提到的 2038 年问题,Ubuntu 发布之前在 armhf 上由 rrdtool 生成的 rrd 数据库与 Ubuntu 24.04 LTS 及更高版本中的 rrdtool 不具有二进制兼容性。 如果尝试从 Ubuntu 24.04 LTS 或更高版本中的 rrdtool 读取此类 rrd 文件,将会失败,并出现类似以下的错误:

ERROR: 'database-file.rrd' is too small (should be 1032 bytes)

这实际上阻止了数据库的打开、读取或写入。 要正确升级此类系统,需要使用升级前系统上的工具将每个 rrd 数据库转储为 xml,并在升级后的系统上从该 xml 恢复 rrd。这是一个手动过程,目前没有可用的自动化工具。 要将 rrd 文件转储为 xml:

$ rrdtool dump file.rrd > file.xml

稍后在新升级的系统上恢复它:

$ rrdtool restore file.xml file.rrd

有关更多详细信息,请参阅 rrddump 和 rrdrestore 手册页。

Raspberry Pi
  • 在 Pi 3A+、3B+、4B 和 5 上,当 wifi 重新连接到宣传监管域的 AP 时,会报告各种内核错误,这些错误可能会中断控制台输出(特别是在服务器上)。虽然令人烦恼,但这实际上并不影响 wifi 连接,但可能会减慢重新认证的速度(LP: #2063365)
  • 启动声音不会在初始设置过程之前播放,因此用户目前无法依靠听到此声音来确定系统是否已启动(LP: #2060693)
  • 预置的 totem 视频播放器在尝试播放需要缺失编解码器的视频时不会提示用户安装(LP: #2060730)
  • 在某些显示器连接到 Raspberry Pi 时,显示器可能会在一段时间不活动后关闭,然后重新打开并显示黑屏。正在对受影响的显示器类型进行调查,请参阅 LP: #1998716。
  • 随着 22.04 中 crda 软件包的移除,设置 wifi 监管域的方法(编辑 /etc/default/crda)不再起作用。在服务器镜像上,使用 Netplan 配置中的 regulatory-domain 选项。在桌面镜像上,将 cfg80211.ieee80211_regdom=GB(将 GB 替换为相关的国家/地区代码)追加到引导分区上 cmdline.txt 文件中的内核命令行(LP: #1951586)。
  • Raspberry Pi 2B、3B、3A+、3B+ 和 Zero 2W 上的电源 LED 目前在 Ubuntu 内核开始启动后熄灭并保持熄灭状态(LP: #2060942)
  • libcamera 支持当前已损坏;这将是下一个周期的重点,并且一旦可用,将通过 SRU 修复 noble 中的问题(LP: #2038669)
  • Ubuntu 软件商店中的红色和蓝色已反转(LP: #2076919)
Google Compute Platform

Ubuntu 24.04 引入了 needrestart 软件包行为的更改 - 请参阅“服务在无人值守升级时重启”的说明以获取更多信息。这会导致在软件包升级或重新安装时再次运行任何 google-guest-agent 启动脚本。目前正在对此进行调查,但只有在重新安装 google-guest-agent 软件包时才会触发此行为。可以通过在重新安装之前设置 NEEDRESTART_SUSPEND=1 来解决此问题,如 needrestart 手册页所述,或者通过向 needrestart 配置中添加以下内容来禁用此行为:echo "\$nrconf{override_rc}{qr(^google-(shutdown|startup)-scripts\.service$)} = 0;" >> /etc/needrestart/conf.d/google-guest-agent.conf,这将禁用未来 google-guest-agent 升级或重新安装时的此行为。 新的 GCE 镜像将在发布后不久构建并发布,以默认禁用 google-guest-agent 的此行为。

Microsoft Azure

我们已在 ubuntu-24_04-lts 优惠的 cvm 计划下提供的机密 VM 镜像上发现了 apparmor 配置文件的问题。例如,从该计划启动的 VM 上 rsyslog 服务将无法启动。目前正在对此进行调查,并将很快发布带有修复程序的新镜像。

http://www.dtcms.com/a/442857.html

相关文章:

  • 做网站需要网站负责人网站企业模板
  • 《构建可靠 Python 项目:测试金字塔的实践指南与工具解析》
  • 做医药商城网站的公司网站开发角色分配权限
  • 旅游网站建设的建议信阳网站设计
  • 技术驱动增长:赋能您的电竞体育平台快速启航与商业成功
  • 网站页面设计价格网站做网站
  • Unity游戏基础-5(一些细节)
  • 浙江建设厅网站做门户网站难吗
  • 【MySQL|第二篇】基础篇下
  • 电子商务网站规划的原则视差设计网站
  • 打卡hot100
  • wordpress怎么弄网站做淘宝网站需要多大空间
  • 在springboot项目中使用redis实现锁
  • Spring IoC 超清晰讲解:Bean、容器、依赖注入全流程
  • 政务公开网站建设方案小说网站建设详细流程
  • Next.js create-next-app命令介绍
  • 如何做一个自己的网站公司建设网站需求分析报告
  • 《API网关在智能制造MES联动中的实战应用》
  • 番禺网站建设知乎qq中心官方网站
  • 阿里云 网站部署网站更换程序
  • JavaScript 输出
  • AngularJS Bootstrap:深入浅出指南
  • vs2015做的网站广东广州重大新闻
  • 机器学习决策树与大模型的思维树
  • 宁波建站wordpress网站安装插件
  • 无锡网站建设团队南通 外贸建站
  • 河源市网站建设东莞交易中心
  • [Linux基础——Lesson10.Linux环境下普通用户 sudo 提权]
  • 兰州网站建设兼职山东兴润建设集团网站
  • 内存总线(Memory Bus)是什么?