6.6. 启用内核实时补丁
内核补丁模块在 RPM 软件包中提供,具体取决于被修补的内核版本。每个 RPM 软件包将随着时间不断累积更新。
以下小节描述了如何确保您将来收到给定内核的所有实时补丁更新。
红帽不支持任何适用于红帽支持系统的第三方实时补丁。
6.6.1. 订阅实时补丁流
这个步骤描述了安装特定的实时补丁软件包。通过这样做,您可以订阅给定内核的实时补丁流,并确保您收到以后为该内核的所有实时补丁更新。
因为实时补丁是累计的,所以您无法选择为一个特定的内核部署哪些单独的补丁。
先决条件
- 根权限
流程
另外,还可检查您的内核版本:
# uname -r 3.10.0-1062.el7.x86_64
搜索与内核版本对应的实时补丁软件包:
# yum search $(uname -r)
安装 live patching 软件包:
# yum install "kpatch-patch = $(uname -r)"
以上命令只为特定内核安装并应用最新的实时补丁。
如果软件包的版本是 1-1 或更高版本,则 live patching 软件包包含一个补丁模块。在这种情况下,内核会在安装 live patching 软件包期间自动修补。
内核补丁模块也安装到
/var/lib/kpatch/
目录中,供systemd
系统和服务管理器以后重启时载入。注意如果给定内核还没有可用的实时补丁,则会安装一个空的 live patching 软件包。空的 live patching 软件包会有一个 0-0 的 kpatch_version-kpatch_release,如
kpatch-patch-3_10_0-1062-0-0.el7.x86_64.rpm
。空 RPM 安装会将系统订阅到以后为给定内核提供的所有实时补丁。另外,用来确认内核已应用了补丁程序:
# kpatch list Loaded patch modules: kpatch_3_10_0_1062_1_1 [enabled] Installed patch modules: kpatch_3_10_0_1062_1_1 (3.10.0-1062.el7.x86_64) …
输出显示内核补丁模块已加载到内核中,现在它提供了来自
kpatch-patch-3_10_0-1062-1-1.el7.x86_64.rpm
软件包的最新修复。
其它资源
-
有关
kpatch
命令行工具的详情请参考kpatch(1)
手册页。 - 有关 RHEL 7 中软件包的更多信息,请参阅系统管理员指南 中的相关章节。