- 计算›
- Amazon Linux 2›
- 常见问题
Amazon Linux 2 常见问题
一般性问题
全部打开Amazon Linux 2 是一种 Amazon Linux 操作系统,它为现代应用程序环境提供 Linux 社区的最新增强功能,并提供长期支持。除了亚马逊机器映像(AMI)和容器映像格式外,Amazon Linux 2 还可作为虚拟机映像用于本地开发和测试,使您能够直接在本地开发环境中轻松地开发、测试和认证应用程序。
Amazon Linux 2 的终止支持日期(生命周期终止或 EOL)是 2026-06-30。
客户需要在 AL2 于 2026 年 6 月 30 日结束支持(EOS)[参阅问题 2]之前迁移到 Amazon Linux 2023(AL2023)。AWS 不会在 2025 年或 2026 年发布新的 Amazon Linux 版本。在发布新操作系统版本之前,AWS 将提前一年发出通知,帮助您规划迁移工作。AL2023 是 Amazon Linux 的最新版本,提供增强的安全功能(包括 FIPS 认证)、最新的软件包版本、更好的性能,且支持周期持续到 2029 年 6 月。有关 AL2023 迁移的最佳实践,请参阅此处。
请参阅文档,详细了解这些发行版之间的主要区别。
Amazon Linux 2 支持最新的 Amazon Elastic Compute Cloud(Amazon EC2)实例功能,并包含可轻松与 AWS 集成的软件包。它经过优化,可在 Linux 内核版本为最新且经过调整的 Amazon EC2 中使用。因此,许多客户工作负载在 Amazon Linux 2 上表现更好。Amazon Linux 2 作为本地虚拟机映像提供,允许本地开发和测试。
Amazon Linux 2 适用于各种虚拟化和容器化工作负载,例如生产环境中的数据库、数据分析、业务线应用程序、Web 和桌面应用程序等。它还可作为裸机操作系统和虚拟化主机在 EC2 裸机实例上使用。
-
针对 Amazon EC2 的性能进行了调整的 Linux 内核。
-
一组核心软件包,包括 systemd、GCC 7.3、Glibc 2.26、Binutils 2.29.1,它们可从 AWS 获得长期支持(LTS)。
-
这个额外的渠道可用于快速发展的技术,这些技术可能会经常更新且不属于长期支持(LTS)模型。
Amazon Linux 2 的核心组件是:
-
Amazon Linux 2 与 Amazon Linux AMI 之间的主要区别在于:
-
Amazon Linux 2 可作为虚拟机映像,用于本地开发和测试。
-
Amazon Linux 2 提供系统服务和系统管理器,而不是 Amazon Linux AMI 中的 System V init 系统。
-
Amazon Linux 2 带有更新版的 Linux 内核、C 库、编译器和工具。
-
Amazon Linux 2 提供了通过额外机制安装其他软件包的功能。
AWS 提供了适用于 Amazon Linux 2 的亚马逊机器映像(AMI),您可以使用它从 Amazon EC2 控制台、AWS SDK 和 CLI 启动实例。更多详细信息,请参阅 Amazon Linux 文档。
不会,运行 Amazon Linux 2 不产生任何额外费用。对于运行中的 Amazon EC2 实例及其他服务,适用标准 Amazon EC2 和 AWS 费率。
Amazon Linux 2 支持所有支持 HVM AMI 的 Amazon EC2 实例类型。Amazon Linux 2 不支持需要半虚拟化(PV)功能的旧实例。
是,Amazon Linux 2 支持 32 位应用程序和库。如果您运行的是 2018 年 10 月 4 日之前发布的 Amazon Linux 2 版本,则可以运行“yum upgrade”以获得完整的 32 位支持。
-
是的,Amazon Linux 2 中额外提供了 MATE 桌面环境。Amazon WorkSpaces 提供的基于云 Amazon Linux 2 的云桌面带有 GUI。您可以在此处了解更多信息。
可以。Amazon Linux 2 中的 yumdownloader--source 工具提供许多组件的源代码访问权限。
尽管上游 Python 社区在 2020 年 1 月宣布 Python 2.7 生命周期终止,但我们将继续按照我们对 Amazon Linux 2 核心包的 LTS 承诺为 Python 2 提供关键安全补丁。
我们强烈建议我们的客户在其 Amazon Linux 2 系统上安装 Python 3,并将其代码和应用程序迁移到 Python 3。
没有更改默认 Python 解释器的计划。我们打算在 Amazon Linux 2 的生命周期内保留 Python 2.7 作为默认版本。我们将根据需要将安全修复程序向后移植到我们的 Python 2.7 软件包。
在操作系统的 LTS 版本中,对软件包管理器进行根本性更改、替换或添加其他软件包管理器的风险极高。因此,在规划面向 Amazon Linux 的 Python 3 迁移时,我们决定跨主要版本边界而不是在 Amazon Linux 2 内进行迁移。这是其他基于 RPM 的 Linux 发行版共享的方法,即使是那些没有 LTS 承诺的发行版也是如此。
内核 5.10 推出了众多功能和性能提升,包括针对 Intel Ice Lake 处理器的优化,以及支持最新一代 EC2 实例的 Graviton 2。
从安全的角度来看,客户将受益于 WireGuard VPN,它有助于建立有效的虚拟专用网络,攻击面小,并允许以更少的开销进行加密。内核 5.10 还推出了内核锁定功能,可防止对内核镜像的未经授权修改,并且推出了众多 BPF 改进,包括 CO-RE(一次编写,到处运行)。
输入输出操作密集型客户将受益于更好的写入性能、更安全地在进程之间共享 io_uring 环以加快输入输出操作,以及支持新 exFAT 系统以更好地与存储设备兼容。随着增加了多路径 TCP(MPTCP),使用多种网络接口的客户可以将所有可用网络路径结合,从而增加吞吐量,并减少网络故障。
长期支持
全部打开-
对 Amazon Linux 2 的长期支持仅适用于核心软件包,包括:
1) AWS 将为所有核心软件包提供安全更新和错误修复。
2) AWS 将保持以下核心包的用户-空间应用程序二进制接口(ABI)兼容性:
elfutils-libelf、glibc、glibc-utils、hesiod、krb5-libs、libgcc、libgomp、libstdc++、libtbb.so、libtbbmalloc.so、libtbbmalloc_proxy.so、libusb、libxml2、libxslt、pam、audit-libs、audit-libs-python、bzip2-libs、c-ares、clutter、cups-libs、cyrus-sasl-gssapi、cyrus-sasl-lib、cyrus-sasl-md5、dbus-glib、dbus-libs、elfutils-libs、expat、fuse-libs、glib2、gmp、gnutls、httpd、libICE、libSM、libX11、libXau、libXaw、libXext、libXft、libXi、libXinerama、libXpm、libXrandr、libXrender、libXt、libXtst、libacl、libaio、libatomic、libattr、libblkid、libcap-ng、libdb、libdb-cxx、libgudev1、libhugetlbfs、libnotify、libpfm、libsmbclient、libtalloc、libtdb、libtevent、libusb、libuuid、ncurses-libs、nss、nss-sysinit、numactl、openssl、p11-kit、papi、pcre、perl、perl-Digest-SHA、perl-Time-Piece、perl-libs、popt、python、python-libs、readline、realmd、ruby、scl-utils、sqlite、systemd-libs、systemtap、tcl、tcp_wrappers-libs、xz-libs 和 zlib
3) AWS 将为核心中的所有其他包提供应用程序二进制接口(ABI)兼容性,除非由于 AWS 无法控制的原因而无法提供这种兼容性。
-
否,Amazon Linux 2 不保持内核-空间 ABI 兼容性。如果上游 Linux 内核的更改破坏了 ABI 稳定性,则依赖第三方内核驱动程序的应用程序可能需要进行额外修改。
-
是的。Amazon 通常会从最新版本的上游软件包中移出修复程序,并将其应用于 Amazon Linux 2 中的软件包版本。在此过程中,Amazon 将修复程序与任何其他更改隔离开来,确保修复不会带来不利副作用,然后应用修复程序。
-
额外主题的内容不受关于长期支持和二进制兼容性的 Amazon Linux 政策约束。额外主题提供了对快速发展的技术的精选列表的访问途径,并且可能会经常更新。在额外主题中发布新版本的软件包时,将仅为最新的软件包提供支持。随着时间的推移,这些技术将继续成熟和稳定,最终可能会被添加到适用 Amazon Linux 2 长期支持政策的 Amazon Linux 2“核心”存储库中。
-
是的。新版本将指向相同的存储库,并包括一组累积的安全和功能更新,以防止需要应用未完成的更新。
-
Amazon Linux 2 的更新在每个 AWS 区域都有一个预配置的存储库。在首次启动新实例时,Amazon Linux 会尝试安装任何评级为关键或重要的用户空间安全更新。您还可以启用或禁用在实例启动时自动安装关键和重要安全补丁的功能。
-
AWS Systems Manager 补丁管理器可与 Amazon Linux 2 配合使用,自动执行大规模修补 Amazon Linux 2 实例的进程。补丁管理器可以扫描缺失的补丁,也可以扫描大组实例中缺失的补丁并进行安装。Systems Manager 补丁管理器也可用于安装非安全更新的补丁。
-
通过订阅 AWS Support,可以支持在 Amazon Web Services(AWS)上使用 Amazon Linux 2。
AWS Support 目前不涵盖 Amazon Linux 2 的本地使用。Amazon Linux 2 论坛和 Amazon Linux 2 文档是支持在本地使用 Amazon Linux 2 的主要来源。您可以在 Amazon Linux 2 论坛上发布问题、报告错误和功能请求。
支持 Amazon Linux 2 LTS 候选版和 Amazon Linux AMI
全部打开-
是的,可以从 Amazon Linux 2 LTS 候选版 2 滚动升级到 Amazon Linux 2。但是,最终 LTS 版本中的更改可能会导致应用程序损坏。我们建议您在迁移之前先在新安装的 Amazon Linux 2 上测试您的应用程序。
是的。为了方便向 Amazon Linux 2 迁移,在 2020 年 12 月 31 日之前,AWS 将一直为最新版本的 Amazon Linux 和容器映像提供安全更新。您还可以使用所有现有的支持渠道,例如 AWS Premium Support 和 Amazon Linux 开发论坛,继续提交支持请求。
-
由于 Amazon Linux 2 中包含诸如 systemd 之类的组件,因此在当前版本的 Amazon Linux 上运行的应用程序可能需要进行额外更改才能在 Amazon Linux 2 上运行。
-
不,不支持从现有 Amazon Linux 映像到 Amazon Linux 2 的就地升级。我们建议您在迁移之前先在新安装的 Amazon Linux 2 上测试您的应用程序。
-
不,您的运行 Amazon Linux 的实例不会通过滚动升级机制升级到 Amazon Linux 2。因此,不会中断您的现有应用程序。更多详细信息,请参阅 Amazon Linux 文档和迁移工具。
本地使用
全部打开-
Amazon Linux 2 虚拟机映像目前可用于 KVM、Microsoft Hyper-V、Oracle VM VirtualBox 和 VMware ESXi 虚拟化平台,以供开发和测试之用。我们正在为这些虚拟化平台寻求认证。
-
适用于每个受支持的虚拟机监控程序的虚拟机映像可供下载。下载映像后,按照 Amazon Linux 文档开始操作。
-
不会,在本地运行 Amazon Linux 2 不产生任何额外费用。
-
不需要 AWS 账户即可在本地运行 Amazon Linux 2。
-
Amazon Linux 2 至少需要一个拥有 512 MB 内存、1 个虚拟 CPU 和模拟 BIOS 的 64 位虚拟机。
-
是,AWS 将为所有核心软件包提供安全更新和错误修复。此外,AWS 将保持以下核心包的用户-空间应用程序二进制接口(ABI)兼容性。
-
不,目前 AWS Support 不为在本地运行的 Amazon Linux 2 虚拟机提供付费支持。通过 Amazon Linux 2 论坛提供的社区支持是解答疑问和解决源自本地使用的问题的主要支持来源。Amazon Linux 2 文档提供了使您的 Amazon Linux 2 虚拟机和容器正常运行、配置操作系统和安装应用程序的指南。
Amazon Linux 安全
全部打开-
Amazon Linux 会评测通过其内部流程发现的常见漏洞和暴露(CVE),评估其产品的潜在风险,并采取措施,例如发布安全更新或公告。CVE 获得通用漏洞评分系统(CVSS)评分,这是对漏洞严重性进行评分和排名的标准方法。CVE 数据的主要来源是国家漏洞数据库(NVD)。Amazon Linux 还从其他来源收集安全情报,例如供应商公告以及客户和研究人员的报告。
-
像大多数 Linux 发行版一样,Amazon Linux 通常会将安全补丁向后移植到其存储库中出售的稳定软件包版本。当使用向后移植的补丁更新这些软件包时,针对特定问题的 Amazon Linux 安全公告将列出包含 Amazon Linux 修复问题的特定软件包版本。依赖项目作者版本控制的安全扫描器有时不会发现给定的 CVE 修复程序已应用于旧版本。客户可参阅 Amazon Linux 安全中心(ALAS),了解有关安全问题和修复的最新信息。
-
Amazon Linux 安全在 Amazon Linux 安全中心(ALAS)上发布影响 Amazon Linux 产品的安全公告。安全公告通常包括公告 ID、问题严重性、CVE ID、公告概述、受影响的软件包和问题更正。公告中提及的 CVE 将获得 CVSS 分数(我们使用 CVSSv3 分数,但早于 2018 年的 CVE 可能获得 cvSSv2 分数)和受影响软件包的向量。分数是介于 0-10 之间的十进制值,分数越高表示漏洞越严重。Amazon Linux 与开放框架 CVSSv3 计算器分数保持一致,以确定基本指标。评级是我们与客户沟通安全问题严重性的方式。客户可以将这些评级与其环境的关键特征相结合,以进行更合适的风险评测。
Amazon Linux 提供人机消耗品安全公告,客户可以从中订阅我们的 RSS 源或配置扫描工具来解析 HTML。适用于我们产品的源可从此处找到:
Amazon Linux 1 / Amazon Linux 1 RSS
Amazon Linux 2 / Amazon Linux 2 RSS
Amazon Linux 2023 / Amazon Linux 2023 RSS
AL2 FIPS 常见问题
全部打开-
联邦信息处理标准(FIPS)140-2 规定了对保护敏感信息的加密模块的安全要求。2020 年 9 月,加密模块验证计划(CMVP)迁移到 FIPS 140-3,不再接受 FIPS 140-2 提交的新验证证书。
2026 年 9 月 21 日之前,经验证符合 FIPS 140-2 的模块将继续被两国的联邦机构接受,用于保护敏感信息(美国)或指定信息(加拿大)。此后,CMVP 将把所有经过 FIPS 140-2 验证的模块列入历史清单。
-
有关启用 FIPS 模式的说明,请访问启用 FIPS 模式。
-
Amazon Linux 2 加密模块(OpenSSL、Libgcrypt、NSS、GnuTLS、内核模块)已经过 FIPS 140-2 验证。有关更多详情,请访问 CMVP 网站。
-
AL2 FIPS 认证将从 2024 年 10 月开始逐步取消。在 AL2023 加密模块完成 FIPS 验证之前,经过 AL2 FIPS 验证的模块很可能会处于历史状态。《联邦信息处理标准 140-3 加密模块验证计划管理手册》(第 4.8 节)对“历史”的定义如下:历史 — 各机构可根据自身对模块使用场景及方式的评测,对是否继续使用此模块做出风险判定。有关更多详情,请访问 CMVP 网页。 AWS 建议迁移到 AL2023 或咨询您的合规团队,了解历史状态下 AL2 FIPS 验证模块的使用情况。
-
AL2 OpenSSL、NSS、Libgcrypt、Kernel 和 GnuTLS 在 Intel 和 Graviton 上经过 FIPS 140-2 验证。有关更多详情,请参阅 CMVP 网站。
Amazon Linux Extras
全部打开Extras 是 Amazon Linux 2 中的一种机制,允许在稳定操作系统上使用新版本的应用程序软件。Extras 功能有助于缓解操作系统稳定性和可用软件新鲜度之间的妥协。例如,现在您可以在获得支持五年的稳定操作系统上安装更高版本的 MariaDB。Extras 的示例包括 tomcat9、memcached 1.5、Corretto 1.0.0_242、Postgresql 13、MariaDB 10.5、Go 1.9、Redis 6.0、R 4、Rust 1.38.0。
Extras 提供精选软件包的主题。每个主题都包含在 Amazon Linux 2 上安装和运行软件必需的所有依赖关系。例如,Rust 是 Amazon 提供的精选列表中的一个额外主题。它为系统编程语言 Rust 提供工具链和运行时。本主题包括适用于 Rust 的 cmake 编译系统、cargo(rust 包管理器)和基于 LLVM 的 Rust 编译器工具链。与每个主题相关的软件包在著名的 yum 安装过程中使用。
可以在 Amazon Linux 2 Shell 中使用 amazon-linux-extras 命令列出可用的软件包。可以使用“sudo amazon-linux-extras install”命令安装来自 Extras 的软件包。
示例:$ sudo amazon-linux-extras install rust1
有关 Amazon Linux Extras 入门的更多详细信息,请参阅 Amazon Linux 文档。
随着时间的推移,Extras 中快速发展的技术将继续成熟和稳定,并可能被添加到长期支持政策适用的 Amazon Linux 2“内核”中。
ISV 支持
全部打开Amazon Linux 2 有一个快速发展的独立软件供应商(ISV)社区,包括 Chef、Puppet、Vertica、Trend Micro、Hashicorp、Datadog、Weaveworks、Aqua Security、Tigera、SignalFX 等。
支持的 ISV 应用程序的完整列表可从 Amazon Linux 2 页面获得
为了使您的应用程序通过 Amazon Linux 2 认证,请联系我们。
内核实时修补
全部打开Amazon Linux 2 中的内核实时修补是一项无需重启即可将安全和错误修复应用于正在运行的 Linux 内核的功能。Amazon Linux 内核的实时补丁将交付到 Amazon Linux 2 的现有软件包存储库中,并且可以在该功能激活后使用“yum update —security”之类的常规 yum 命令进行应用。
-
紧急补丁可在不中断服务的情况下解决高严重性安全漏洞和数据损坏错误。
-
应用操作系统更新,无需等待长时间运行的任务完成、用户注销,也无需等待预定的重启时段来应用安全更新。
-
通过消除高可用系统中所需的滚动重启来加快安全补丁的部署
Amazon Linux 2 中的内核实时修补针对的使用案例包括:
AWS 通常会为默认 Amazon Linux 2 内核提供内核实时补丁来修复被 AWS 评为关键和重要的 CVE。Amazon Linux 安全公告的关键和重要评级通常对应于通用漏洞评分系统(CVSS)的 7 分及更高分数。此外,AWS 还将为部分错误修复程序提供内核实时补丁,以解决系统稳定性问题和潜在的数据损坏问题。由于技术限制,可能有少数问题尽管很严重,但仍未收到内核实时补丁。例如,更改汇编代码或修改函数签名的修复程序可能不会收到内核实时补丁。Amazon Linux 2 Extras 中的内核以及任何非由 AWS 构建和服务的第三方软件将不会收到内核实时补丁。
我们免费提供适用于 Amazon Linux 2 的内核实时补丁。
-
“sudo yum install -y yum-plugin-kernel-livepatch”在 Amazon Linux 上安装内核实时修补功能的 yum 插件。
-
“sudo yum kernel-livepatch enable -y”启用该插件。
-
“sudo systemctl enable kpatch.service”启用 kpatch 服务,这是 Amazon Linux 中使用的内核实时修补基础设施。
-
“sudo amazon-linux-extras enable livepatch”可添加内核实时补丁存储库端点。
-
“yum check-update kernel”显示要更新的可用内核列表。
-
“yum updateinfo list”列出可用的安全更新。
-
“sudo yum update --security”安装可用的补丁,其中包括作为安全修复程序提供的内核实时补丁。
-
“kpatch list”列出所有已加载的内核实时补丁。
内核实时补丁由 Amazon 提供,可与 yum 软件包管理器以及 Amazon Linux 2 和 AWS Systems Manager 补丁管理器中的实用程序一起使用。每个内核实时补丁都作为 RPM 包提供。目前,在 Amazon Linux 2 中,内核实时修补默认处于禁用状态。您可以使用可用的 yum 插件来启用和禁用内核实时修补。然后,您可以使用 yum 实用程序中的现有工作流程来应用安全补丁,包括内核实时补丁。此外,kpatch 命令行实用程序可用于枚举、应用和启用/禁用内核实时补丁。
是。当补丁可用作实时补丁时,您可以使用 AWS SSM 补丁管理器自动应用内核实时补丁,无需立即重启。访问 SSM 补丁管理器文档以开始使用。
AWS 发布了用于在 Amazon Linux 安全中心修复安全漏洞的内核实时补丁的详细信息。
在 Amazon Linux 2 中应用内核实时补丁时,您不能同时执行休眠,也不能同时使用高级调试工具,例如 SystemTap、kprobes、基于 eBPF 的工具,也无法访问内核实时修补基础设施使用的 ftrace 输出文件。
如果您遇到内核实时补丁的问题,请禁用该补丁并通过 AWS 论坛帖子通知 AWS Support 或 Amazon Linux 工程部。
Amazon Linux 2 中的内核实时修补并不能完全消除操作系统重启的需要,但可以显著缓解重启的负担,从而修复计划维护时段之外的重要和关键安全问题。Amazon Linux 2 中的每个 Linux 内核将在 Amazon Linux 内核发布后大约 3 个月内收到实时补丁。每 3 个月后,操作系统需要重启到最新的 Amazon Linux 内核,才能继续接收内核实时补丁。
所有支持 Amazon Linux 2 的 x86_64(AMD/Intel 64 位)平台都支持 Amazon Linux 2 中的内核实时修补。这包括所有 HVM EC2 实例、VMware Cloud on AWS、VMware ESXi、VirtualBox、KVM、Hyper-V 和 KVM。目前不支持基于 ARM 的平台。
是的,AWS 将继续为所有操作系统更新提供定期补丁。通常,将同时提供定期补丁和内核实时补丁。
默认情况下,当执行重启时,内核实时补丁会替换为定期“非实时”补丁等效项。您也可以执行重启,而不使用定期补丁替换内核实时补丁。有关详细信息,请参阅 Amazon Linux 2 内核实时修补文档。
Amazon Linux 2 中的内核实时修补不会改变 Amazon Linux 2 的内核 ABI 兼容性。
AWS Support 的商业和企业计划包括对 Amazon Linux 所有功能(包括内核实时修补)的高级支持。AWS 仅支持 AWS 提供的内核实时补丁,建议联系您的供应商以解决第三方内核实时修补解决方案的问题。AWS 还建议您在 Amazon Linux 2 上仅使用一个内核实时修补解决方案。
Amazon Linux 安全中心列表中将显示每个内核实时补丁的专用行。该条目将带有诸如“ALASLIVEPATCH-<datestamp>”之类的标识,并且软件包名称将显示为“kernel-livepatch-<kernel-version>”。
内核版本将获得大约 3 个月的实时补丁。Amazon Linux 将为最近发布的 6 个内核提供内核实时补丁。请注意,只有在 Amazon Linux 2 中发布的默认内核上才支持内核实时修补。Extras 中的下一代内核将不会收到内核实时补丁。
要了解当前的 Linux 内核是否继续接收实时补丁,以及支持窗口何时结束,请使用以下 yum 命令:
“yum kernel-livepatch supported”
内核实时修补 yum 插件支持 yum 包管理实用程序中通常支持的所有工作流程。例如,“yum update”、“yum update kernel”、“yum update —security”、“yum update all”。
内核实时补丁 RPM 通过 GPG 密钥签名。但是,内核模块目前尚未签名。