如何在AWS EC2上获取最新的内核包

WIC*_*IAN 6 kernel amazon-ec2 linux-kernel amazon-web-services amazon-linux

我管理一些运行 Amazon Linux(不确定是什么版本)的 EC2 实例,这些实例需要安全补丁。

很多软件都打了很好的补丁,但我们一直停留在内核升级上。我们无法按照我们的意愿使用最新的内核版本。我们做了什么?

  1. 通过执行从 Amazon 存储库获取最新的内核版本yum update。系统报告我们已经获得了预期的最新内核版本,并且不再需要更新任何内容。
  2. 获得最新的内核版本后,我们通过单击 EC2 控制台上的“重新启动”来重新启动 EC2。EC2重启后,我们使用命令检查了EC2的内核版本uname -r。它报告我们仍然使用相同的内核版本,而不是我们期望的最新内核版本。

我们错过了什么要点?请帮忙。

小智 1

内核实时补丁适用于具有内核版本4.14.165-131.185或更高版本的 Amazon Linux 2。要检查您的内核版本,请运行以下命令。

[root@actsupport ~]#  yum list kernel
Run Code Online (Sandbox Code Playgroud)

如果您已有受支持的内核版本,请跳过此步骤。如果您没有支持的内核版本,请运行以下命令将内核更新到最新版本并重启实例。

[root@actsupport ~]#  sudo yum install -y kernel
[root@actsupport ~]#  reboot
Run Code Online (Sandbox Code Playgroud)

安装用于内核实时修补的 yum 插件。

[root@actsupport ~]#  yum install -y yum-plugin-kernel-livepatch
Run Code Online (Sandbox Code Playgroud)

启用内核实时修补的 yum 插件。

[root@actsupport ~]#  yum kernel-livepatch enable -y
Run Code Online (Sandbox Code Playgroud)

此命令还会从配置的存储库安装最新版本的内核实时补丁 RPM。

要确认用于内核实时修补的 yum 插件已成功安装,请运行以下命令。

[root@actsupport ~]#  rpm -qa | grep kernel-livepatch
Run Code Online (Sandbox Code Playgroud)

当您启用内核实时修补时,会自动应用空的内核实时修补 RPM。如果成功启用内核实时修补,此命令将返回包含初始空内核实时修补 RPM 的列表。

更新并启动 kpatch 服务。该服务在初始化或启动时加载所有内核实时补丁。

[root@actsupport ~]#  yum update kpatch-runtime
[root@actsupport ~]#  systemctl enable kpatch.service
Run Code Online (Sandbox Code Playgroud)

配置 Amazon Linux 2 内核实时补丁存储库,其中包含内核实时补丁。

[root@actsupport ~]#  amazon-linux-extras enable livepatch
Run Code Online (Sandbox Code Playgroud)