我管理一些运行 Amazon Linux(不确定是哪个版本)的 EC2 实例,它们需要安全补丁。
很多软件都打了补丁,但我们却无法升级内核。我们无法像我们想要的那样使用最新的内核版本。我们做了什么?
- 执行 从 Amazon 存储库获取最新内核版本
yum update
。系统报告我们已获得预期的最新内核版本,无需再更新。 - 获取最新内核版本后,我们通过单击 EC2 控制台上的重新启动来重新启动 EC2。重新启动 EC2 后,我们使用命令检查了 EC2 的内核版本
uname -r
。它报告说我们仍然使用相同的内核版本,而不是我们期望的最新内核版本。
我们遗漏了什么要点?请帮忙。
答案1
您可以使用amazon-linux-extras用于升级内核的存储库
首先,运行此命令以获取所有可用的内核版本
sudo amazon-linux-extras |grep kernel
你会看到类似这样的回复
_ kernel-5.4 available [ =stable ]
55 kernel-5.10=latest enabled [ =stable ]
62 kernel-5.15 available [ =stable ]
标记为已启用的内核版本是安装在您机器上的版本
要升级到较新的版本(例如 kernel-5.15),只需运行此命令sudo amazon-linux-extras install kernel-5.15 -y
现在,你需要使用以下命令重启服务器sudo reboot
重启后,运行命令uname -r
以确保新版本已成功安装
欲了解更多信息,请参阅关联
答案2
内核实时修补程序适用于内核版本4.14.165-131.185
或更高版本的 Amazon Linux 2。要检查内核版本,请运行以下命令。
[root@actsupport ~]# yum list kernel
如果您已有支持的内核版本,请跳过此步骤。如果您没有支持的内核版本,请运行以下命令将内核更新为最新版本并重启实例。
[root@actsupport ~]# sudo yum install -y kernel
[root@actsupport ~]# reboot
安装用于内核实时修补的 yum 插件。
[root@actsupport ~]# yum install -y yum-plugin-kernel-livepatch
启用内核实时修补的 yum 插件。
[root@actsupport ~]# yum kernel-livepatch enable -y
此命令还从配置的存储库安装最新版本的内核实时补丁 RPM。
要确认内核实时修补的 yum 插件已成功安装,请运行以下命令。
[root@actsupport ~]# rpm -qa | grep kernel-livepatch
启用内核实时修补后,将自动应用空的内核实时修补 RPM。如果成功启用了内核实时修补,此命令将返回包含初始空内核实时修补 RPM 的列表。
更新并启动 kpatch 服务。此服务在初始化或启动时加载所有内核实时补丁。
[root@actsupport ~]# yum update kpatch-runtime
[root@actsupport ~]# systemctl enable kpatch.service
配置包含内核实时修补程序的 Amazon Linux 2 Kernel Live Patching 存储库。
[root@actsupport ~]# amazon-linux-extras enable livepatch