Amazon Elastic Compute Cloud
Linux 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

更新实例软件

使软件保持最新非常重要。Linux 发布版中的许多程序包会经常更新,以修复错误、添加功能,以及防止安全漏洞。当您首次启动并连接到 Amazon Linux 实例时,您可能会看到出于安全目的要求您更新软件包的消息。本节介绍如何更新整个系统或仅更新单个程序包。

重要

这些过程适用于 Amazon Linux。有关其他发布版本的更多信息,请参阅其具体文档。

更新 Amazon Linux 实例上的所有程序包

  1. (可选) 启动 Shell 窗口中的 screen 会话。有时您可能会遇到网络中断,这样会断开到实例的 SSH 连接。如果在较长的软件更新期间发生这种情况,实例处于混乱、但可恢复的状态。即使连接中断,通过 screen 会话也可继续运行更新,您稍后可重新连接到此会话,不会有问题。

    1. 执行 screen 命令开始会话。

      [ec2-user ~]$ screen
    2. 如果会话中断,请再次登录实例并列出可用屏幕。

      [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.
    3. 使用 screen -r 命令和前一命令的进程 ID 重新连接到 screen。

      [ec2-user ~]$ screen -r 17793
    4. 使用完 screen 后,使用 exit 命令关闭会话。

      [ec2-user ~]$ exit [screen is terminating]
  2. 运行 yum update 命令。您可以选择添加 --security 标记,这样仅应用安全更新。

    [ec2-user ~]$ sudo yum update
  3. 查看所列的程序包,键入 y 并按 Enter 接受更新。更新系统上的所有程序包可能需要几分钟。yum 输出显示更新运行状态。

  4. (可选) 重启实例以确保您使用的是来自更新的最新程序包和库;重启发生前不会加载内核更新。更新任何 glibc 库后也应进行重启。对于用来控制服务的程序包的更新,重新启动服务便足以使更新生效,但系统重启可确保所有之前的程序包和库更新都是完整的。

更新 Amazon Linux 实例上的单个程序包

使用此过程可更新单个程序包 (及其依赖关系),而非整个系统。

  1. 使用要更新的程序包的名称运行 yum update 命令。

    [ec2-user ~]$ sudo yum update openssl
  2. 查看所列的程序包信息,键入 y 并按 Enter 接受更新。如果存在必须解析的程序包依赖关系,有时会列出多个数据包。yum 输出显示更新运行状态。

  3. (可选) 重启实例以确保您使用的是来自更新的最新程序包和库;重启发生前不会加载内核更新。更新任何 glibc 库后也应进行重启。对于用来控制服务的程序包的更新,重新启动服务便足以使更新生效,但系统重启可确保所有之前的程序包和库更新都是完整的。