

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 通过版本控制的存储库进行确定性升级 AL2023
<a name="deterministic-upgrades"></a>

**注意**  
默认情况下，您的 AL2023 实例在启动时不会自动收到其他关键和重要的安全更新。您的实例最初包含的版本 AL2023 和所选 AMI 中可用的更新。

## 控制从主要版本和次要版本收到的更新
<a name="controlling-release-updates"></a>

使用 AL2023，您可以确保整个环境中的软件包版本和更新之间的一致性。您还可以确保同一个 Amazon 机器映像 (AMI) 的多个实例的一致性。利用通过版本控制的存储库的确定性升级功能（默认开启），您可以根据满足您特定需求的时间表来应用更新。

每当我们发布新的软件包更新时，都会有一个新版本需要锁定，而新 AMIs 版本则锁定到该版本。

AL2023 锁定到存储库的特定版本。主要版本和次要版本都支持此功能。通过我们的 SSM 参数公开的 AL2023 AMI 始终是最新版本。它包含最多的 up-to-date软件包和更新，包括关键和重要的安全更新。

如果您从一个现有 AMI 启动实例，则不会自动应用更新。作为配置的一部分安装的任何其他软件包映射到现有 AMI 的存储库版本。

借助此功能，您负责确保环境中程序包版本和更新的一致性。当您从同一个 AMI 启动多个实例时，则功能尤其有用。您可以根据满足您需求的时间表应用更新。您还可以在启动时应用一组特定的更新，因为这些更新也可以锁定到特定的存储库版本。

## 主要版本升级和次要版本升级之间的区别
<a name="differences-updates-upgrades"></a>

的主要版本 AL2023 包括大规模更新，可能会添加、删除或更新软件包。在将实例升级到某个新的主要版本时，为确保兼容性，应先在该版本上测试了您的应用程序后再升级。

的次要版本 AL2023 包括功能和安全更新，但不包括软件包更改。这确保了 Linux 功能和系统库 API 在新版本中保持可用。在更新前测试您的应用程序并非必需。

## 了解更新何时可用
<a name="knowing-when-to-update"></a>

 为了应用更新，您需要知道有更新可用，然后了解如何部署该更新。

 对于在新 AL2023 AMIs 版本发布 AMIs 时派生的构建，[EC2 Image Builder](https://docs.amazonaws.cn/imagebuilder/latest/userguide/) 可以自动构建、修补和测试 AMIs。要触发自己的 AMI 构建管道或使用基础 AMIs，您可以[有新的更新时收到通知](receive-update-notification.md)。

 对于原地修补，您可以使用诸如 [Amazon Systems Manager Patch Manager](https://docs.amazonaws.cn/systems-manager/latest/userguide/patch-manager.html) 之类的工具来协调跨实例集的应用更新。

 对于其他 AMIs 基于的公众 AL2023，其提供者 AMIs 可能有自己的发布时间表和通知方式。使用派生镜像 AMIs 或容器镜像时，请查看发行商提供的文档，了解何时发布更新。

 每个版本的更改都记录在[AL2023 发行说明](https://docs.amazonaws.cn/linux/al2023/release-notes/relnotes.html)中。安全更新发布在 [Amazon Linux 安全中心（ALAS）](https://alas.aws.amazon.com)。

## 控制 AL2023 存储库中可用的软件包更新
<a name="control-package-updates"></a>

当我们发布新版本的 AL2023 存储库时，所有以前的版本仍然可用。默认情况下，用于管理存储库版本的插件锁定到用于构建 AMI 的相同版本。如果要控制软件包更新，请按照下列步骤操作。

1. 通过运行以下命令发现可用的存储库版本。

   ```
   $ sudo dnf check-release-update
   ```

1. 您可以通过运行以下命令选择一个版本。

   ```
   $ sudo dnf upgrade --releasever=version
   ```

该命令使用 `dnf` 启动一个更新，从您当前的 Amazon Linux 发行版本更新为命令行中指定的发行版本。`dnf` 将显示一个软件包更新列表。在处理更新之前，您必须先确认更新。更新完成后，新的发行版本变成 `dnf` 用于所有未来活动的默认发行版本。

有关更多信息，请参阅 [在中管理软件包和操作系统更新 AL2023](managing-repos-os-updates.md)。