AL2 中弃用、AL2023 中移除的功能 - Amazon Linux 2023

AL2 中弃用、AL2023 中移除的功能

这部分描述在 AL2 中可用、但在 AL2023 中不再可用的功能。

32 位 x86(i686)程序包

作为 AL1 2014.09 发布版的一部分,我们宣布这将是最后一个生成 32 位 AMI 的版本。因此,从 AL1 2015.03 发布版开始,Amazon Linux 不再支持在 32 位模式下运行系统。AL2 在 x86-64 主机上为 32 位二进制文件提供有限的运行时支持,且不提供用于构建新 32 位二进制文件的开发程序包。AL2023 不再包含任何 32 位用户空间程序包。我们建议客户完成向 64 位代码的过渡。

如果需要在 AL2023 上运行 32 位二进制文件,可以在 AL2023 之上运行的 AL2 容器中使用 AL2 的 32 位用户空间。

aws-apitools-* 已被 AWS CLI 取代

在 2013 年 9 月发布 AWS CLI 之前,AWS 提供了一组用 Java 实现的命令行实用程序,允许客户进行 Amazon EC2 API 调用。这些工具于 2015 年弃用,AWS CLI 成为从命令行与 Amazon EC2 API 交互的首选方式。这包括以下 aws-apitools-* 程序包。

  • aws-apitools-as

  • aws-apitools-cfn

  • aws-apitools-common

  • aws-apitools-ec2

  • aws-apitools-elb

  • aws-apitools-mon

aws-apitools-* 程序包的上游支持已于 2017 年 3 月结束。尽管缺乏上游支持,Amazon Linux 仍继续提供其中一些命令行实用程序(例如 aws-apitools-ec2),以便为客户提供向后兼容性。AWS CLI 是一个比 aws-apitools-* 程序包更稳定可靠、更完整的工具,因为它被积极维护,并提供了使用所有 AWS API 的方法。

aws-apitools-* 程序包已于 2017 年 3 月弃用,将不会收到进一步更新。所有这些程序包的所有用户都应尽快迁移到 AWS CLI。这些程序包在 AL2023 中不存在。

awslogs 已弃用,建议使用统一的 Amazon CloudWatch Logs 代理

awslogs 程序包在 AL2 中已弃用,并且在 AL2023 中不再存在。它已被 amazon-cloudwatch-agent 程序包中提供的统一 CloudWatch Logs 代理取代。有关更多信息,请参阅 Amazon CloudWatch Logs 用户指南

bzr 版本控制系统

GNU Bazaar (bzr) 版本控制系统在 AL2 中已停用,并且在 AL2023 中不再存在。

建议 bzr 用户将其存储库迁移到 git

cgroup v1

AL2023 迁移到统一控制组层级结构(cgroup v2),而 AL2 使用 cgroup v1。由于 AL2 不支持 cgroup v2,此迁移需要作为升级到 AL2023 的一部分来完成。

log4j 热补丁 (log4j-cve-2021-44228-hotpatch)

注意

log4j-cve-2021-44228-hotpatch 程序包在 AL2 中已弃用,并在 AL2023 中移除。

为了解决 CVE-2021-44228,Amazon Linux 发布了适用于 AL1 和 AL2 的 Apache Log4j 热补丁的 RPM 打包版本。在宣布向 Amazon Linux 添加热补丁时,我们指出:“安装热补丁并不能取代更新到可缓解 CVE-2021-44228 或 CVE-2021-45046 的 log4j 版本。”

热补丁是一种缓解措施,可以留出时间来修补 log4j。AL2023 的首个通用可用版本发布在 CVE-2021-44228 的 15 个月之后,因此 AL2023 不附带该热补丁(无论启用与否)。

建议在 Amazon Linux 上运行自己的 log4j 版本的客户务必更新到未受 CVE-2021-44228CVE-2021-45046 影响的版本。

lsb_releasesystem-lsb-core 软件包

过去,一些软件会调用 lsb_release 命令(由 system-lsb-core 软件包在 AL2 中提供)来获取有关其正在运行的 Linux 发行版的信息。Linux Standards Base (LSB) 引入了此命令,Linux 发行版采用了此命令。Linux 发行版已经演变为使用更简单的标准,将这些信息保存在 /etc/os-release 和其他相关文件中。

os-release 标准来自 systemd。有关更多信息,请参阅 systemd os-release 文档

AL2023 不附带 lsb_release 命令,也不包括 system-lsb-core 软件包。软件应完成向 os-release 标准的过渡,以保持与 Amazon Linux 和其他主要 Linux 发行版的兼容性。

mcrypt

mcrypt 库及相关的 PHP 扩展在 AL2 中已弃用,并且在 AL2023 中不再存在。

上游 PHP 在 PHP 7.1 中弃用了 mcrypt 扩展,该版本最初于 2016 年 12 月发布,最终版本于 2019 年 10 月发布。

上游 mcrypt最后一次发布是在 2007 年,并且未能完成从 cvs 版本控制系统的迁移,而 SourceForge 在 2017 年要求新提交必须进行此迁移,其最近的提交(也是此前三年内的唯一提交)是在 2011 年,移除了关于该项目有维护者的说明。

建议 mcrypt 的任何剩余用户将其代码移植到 OpenSSL,因为 mcrypt 将不会被添加到 AL2023。

OpenJDK 7 (java-1.7.0-openjdk)

注意

AL2023 提供多个版本的 Amazon Corretto 以支持基于 Java 的工作负载。OpenJDK 7 程序包在 AL2 中已弃用,并且在 AL2023 中不再存在。AL2023 中可用的最旧 JDK 由 Corretto 8 提供。

有关 Amazon Linux 上 Java 的更多信息,请参阅 AL2023 中的 Java

Python 2.7

注意

AL2023 删除了 Python 2.7,因此任何需要 Python 的操作系统组件都是为了与 Python 3 配合使用而编写的。要继续使用 Amazon Linux 提供并支持的 Python 版本,请将 Python 2 代码转换为 Python 3。

有关 Amazon Linux 上 Python 的更多信息,请参阅 AL2023 中的 Python

rsyslog-openssl 替换 rsyslog-gnutls

rsyslog-gnutls 程序包在 AL2 中已弃用,并且在 AL2023 中不再存在。rsyslog-openssl 程序包应能直接替代 rsyslog-gnutls 程序包的所有用途。

网络信息服务(NIS)/yp

网络信息服务(NIS),最初称为黄页或 YP,已在 AL2 中弃用,并且在 AL2023 中不再存在。这包括以下程序包:ypbindypservyp-tools。其他与 NIS 集成的程序包在 AL2023 中已移除此功能。

Amazon VPC 中的多个域名 create-dhcp-options

在 Amazon Linux 2 中,可以在 domain-name 参数中向 create-dhcp-options 传递多个域名,这将导致 /etc/resolv.conf 包含类似 search foo.example.com bar.example.com 的内容。Amazon VPC DHCP 服务器使用 DHCP 选项 15 发送提供的域名列表,该选项仅支持单个域名(参阅 RFC 2132 第 3.17 节)。由于 AL2023 使用 systemd-networkd 进行网络配置,且遵循 RFC,因此 AL2 中的这一意外特性在 AL2023 上不存在。

AWS CLIAmazon VPC 文档对此说明如下:“某些 Linux 操作系统接受以空格分隔的多个域名。但是,Windows 以及其他 Linux 操作系统将该值视为单个域,因而会导致意外行为。如果您的 DHCP 选项集与其中实例所运行操作系统将该值视为单个域的 Amazon VPC 关联,请仅指定一个域名。”

在这些系统(例如 AL2023)上,使用 DHCP 选项 15(仅允许一个)指定两个域,并且由于空格字符在域名中无效,这将导致空格字符被编码为 032,从而使 /etc/resolv.conf 包含 search foo.exmple.com032bar.example.com

为支持多个域名,DHCP 服务器应使用 DHCP 选项 119(参阅 RFC 3397 第 2 节)。有关 Amazon VPC DHCP 服务器何时支持此功能的信息,请参阅《Amazon VPC 用户指南》

Sun RPC(在 glibc

glibc 中的 Sun RPC 实现在 AL2 中已弃用,并在 AL2023 中移除。若需要 Sun RPC 功能,建议客户转用 libtirpc 库(在 AL2 和 AL2023 中可用)。采用 libtirpc 还能使应用程序支持 IPv6。

此变更反映了更广泛社区对上游 glibc 移除此功能的采纳,例如 Fedora 从 glibc 中移除 Sun RPC 接口以及 Gentoo 中的类似变更

audit 日志中的 OpenSSH 密钥指纹

在 AL2 生命周期的后期,向 OpenSSH 程序包添加了一个补丁,用于输出用于身份验证的密钥指纹。此功能在 AL2023 中不存在。

ld.gold 链接器

ld.gold 链接器在 AL2 中可用,并在 AL2023 中移除。构建明确引用 gold 链接器的软件的客户应迁移至常规 (ld.bfd) 链接器。

上游 GNU Binutils2.44 版(2025 年 2 月发布)发布说明记录了 ld.gold 的移除:“与我们以往做法不同,在此版本中,binutils-2.44.tar 压缩包不包含 gold 链接器的源代码。这是因为 gold 链接器现已弃用,除非有志愿者站出来愿意继续开发和维护,否则最终将被移除。”

ping6

在 AL2023 中,常规 ping 实用程序原生支持 IPv6,不再需要单独的 /bin/ping6。在 AL2023 中,/usr/sbin/ping6 是指向 /usr/bin/ping 可执行文件的符号链接。

此变更遵循了更广泛社区对提供此功能的较新 iputils 版本的采纳,例如 Fedora 中的 Ping IPv6 变更