更新 Amazon Linux 实例上的实例软件
使软件保持最新非常重要。Linux 发行版中的许多程序包会经常更新,以修复错误、添加功能,以及防止安全漏洞。当您首次启动并连接到 Amazon Linux 实例时,您可能会看到出于安全目的要求您更新软件包的消息。本节介绍如何更新整个系统或仅更新单个程序包。
有关 Amazon Linux 2 变更和更新的信息,请参阅 Amazon Linux 2 发布说明。
重要
此信息适用于 Amazon Linux。有关其他发布版本的信息,请参阅特定于该版本的文档。
重要
如果您在仅 IPv6 的子网中启动了使用 Amazon Linux 2 AMI 的 EC2 实例,则必须连接到该实例并运行 sudo amazon-linux-https
disable
。这样,您的 AL2 实例才可以使用 http 补丁服务通过 IPv6 连接到 S3 中的 yum 存储库。
更新 Amazon Linux 实例上的所有程序包
-
(可选)在 Shell 窗口中启动 screen 会话。有时您可能会遇到网络中断,这样会断开到实例的 SSH 连接。如果在较长的软件更新期间发生这种情况,实例处于混乱、但可恢复的状态。即使连接中断,通过 screen 会话也可继续运行更新,您稍后可重新连接到此会话,不会有问题。
-
执行 screen 命令以开始会话。
[ec2-user ~]$
screen
-
如果会话中断,请再次登录实例并列出可用屏幕。
[ec2-user ~]$
screen -ls
There 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 -r
17793
-
使用 screen 完成操作后,使用 exit 命令关闭会话。
[ec2-user ~]$
exit
[screen is terminating]
-
-
运行 yum update 命令。您可以选择添加
--security
标记,这样仅应用安全更新。[ec2-user ~]$
sudo yum update
-
查看所列的程序包,输入
y
并按 Enter 接受更新。更新系统上的所有程序包可能需要几分钟。yum 输出显示更新运行状态。 -
(可选) 重启实例以确保您使用的是来自更新的最新程序包和库;重启发生前不会加载内核更新。更新任何
glibc
库后也应进行重启。对于用来控制服务的程序包的更新,重新启动服务可能就足以使更新生效,但系统重启可确保所有之前的程序包和库更新都是完整的。
更新 Amazon Linux 实例上的单个程序包
使用此过程可更新单个程序包 (及其依赖关系),而非整个系统。
-
使用要更新的程序包的名称运行 yum update 命令。
[ec2-user ~]$
sudo yum update
openssl
-
查看所列的程序包信息,输入
y
并按 Enter 接受更新。如果存在必须解析的程序包依赖关系,有时会列出多个数据包。yum 输出显示更新运行状态。 -
(可选) 重启实例以确保您使用的是来自更新的最新程序包和库;重启发生前不会加载内核更新。更新任何
glibc
库后也应进行重启。对于用来控制服务的程序包的更新,重新启动服务可能就足以使更新生效,但系统重启可确保所有之前的程序包和库更新都是完整的。