本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新您的实例上的 AL2 实例软件
使软件保持最新非常重要。Linux 发行版中的程序包会经常更新,以修复错误、添加功能,以及防止安全漏洞。当您首次启动并连接到 Amazon Linux 实例时,您可能会看到出于安全目的要求您更新软件包的消息。本节介绍如何更新整个系统或仅更新单个程序包。
此信息适用于 AL2。有关信息 AL2023,请参阅 Amazon Linux 2023 用户指南 AL2023中的管理软件包和操作系统更新。
有关变更和更新的信息 AL2,请参阅AL2 发行说明。
有关变更和更新的信息 AL2023,请参阅AL2023 发行说明。
重要
如果您在 IPv6仅限子网中启动了使用 Amazon Linux 2 AMI 的 EC2 实例,则必须连接到该实例并运行sudo amazon-linux-https disable。这样,您的 AL2 实例就可以 IPv6使用 http 补丁服务通过连接到 S3 中的yum存储库。
更新 AL2 实例上的所有软件包
-
(可选)在 Shell 窗口中启动 screen 会话。有时您可能会遇到网络中断,这样会断开到实例的 SSH 连接。如果在较长的软件更新期间发生这种情况,实例处于混乱、但可恢复的状态。即使连接中断,通过 screen 会话也可继续运行更新,您稍后可重新连接到此会话,不会有问题。
-
执行 screen 命令以开始会话。
[ec2-user ~]$screen -
如果会话中断,请再次登录实例并列出可用屏幕。
[ec2-user ~]$screen -lsThere is a screen on:17793.pts-0.ip-12-34-56-78 (Detached) 1 Socket in /var/run/screen/S-ec2-user. -
使用 screen -r 命令和前一命令的进程 ID 重新连接到屏幕。
[ec2-user ~]$screen -r17793 -
使用 screen 完成操作后,使用 exit 命令关闭会话。
[ec2-user ~]$exit[screen is terminating]
-
-
运行 yum update 命令。您可以选择添加
--security标记,这样仅应用安全更新。[ec2-user ~]$sudo yum update -
查看所列的程序包,输入
y并按 Enter 接受更新。更新系统上的所有程序包可能需要几分钟。yum 输出显示更新运行状态。 -
(可选)重启您的实例,以确保您使用的是更新中的最新软件包和库;只有在重启后才会加载内核更新。更新任何
glibc库后也应进行重启。对于用来控制服务的程序包的更新,重新启动服务可能就足以使更新生效,但系统重启可确保所有之前的程序包和库更新都是完整的。
更新 AL2 实例上的单个软件包
使用此过程可更新单个程序包 (及其依赖关系),而非整个系统。
-
使用要更新的程序包的名称运行 yum update 命令。
[ec2-user ~]$sudo yum updateopenssl -
查看所列的程序包信息,输入
y并按 Enter 接受更新。如果存在必须解析的程序包依赖关系,有时会列出多个数据包。yum 输出显示更新运行状态。 -
(可选)重启您的实例,以确保您使用的是更新中的最新软件包和库;只有在重启后才会加载内核更新。更新任何
glibc库后也应进行重启。对于用来控制服务的程序包的更新,重新启动服务可能就足以使更新生效,但系统重启可确保所有之前的程序包和库更新都是完整的。