Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
6.8. 禁用内核实时补丁
如果系统管理员遇到与 Red Hat Enterprise Linux 内核实时修补解决方案相关联的一些无法预期的负面影响,他们可以选择禁用该机制。以下小节描述了如何禁用实时补丁解决方案。
目前,红帽不支持在不重启系统的情况下还原实时补丁。如有任何问题,请联系我们的支持团队。
6.8.1. 删除 live patching 软件包
下面的步骤描述了如何通过删除 live patching 软件包禁用Red Hat Enterprise Linux 内核实时修补解决方案。
先决条件
- 根权限
- 已安装 live patching 软件包。
流程
选择 live patching 软件包:
# yum list installed | grep kpatch-patch kpatch-patch-3_10_0-1062.x86_64 1-1.el7 @@commandline …
上面的输出示例列出了您安装的实时补丁软件包。
删除 live patching 软件包:
# yum remove kpatch-patch-3_10_0-1062.x86_64
删除实时补丁软件包后,内核将保持补丁,直到下次重启为止,但内核补丁模块会从磁盘中删除。下一次重启后,对应的内核将不再修补。
- 重启您的系统。
验证 live patching 软件包是否已删除:
# yum list installed | grep kpatch-patch
如果软件包已被成功删除,命令不会显示任何输出。
(可选)验证内核实时补丁解决方案是否已禁用:
# kpatch list Loaded patch modules:
示例输出显示内核没有补丁,实时补丁解决方案没有激活,因为目前没有加载补丁模块。
其它资源
-
有关
kpatch
命令行工具的详情请参考kpatch(1)
手册页。 - 有关使用软件包的更多信息,请参阅《 系统管理员指南》的 相关章节。
6.8.2. 卸载内核补丁模块
下面的步骤描述了如何防止 Red Hat Enterprise Linux 内核实时修补解决方案,使其在以后的引导中应用内核补丁模块。
先决条件
- 根权限
- 已安装实时补丁软件包。
- 已安装并载入内核补丁模块。
流程
选择内核补丁模块:
# 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 uninstall kpatch_3_10_0_1062_1_1 uninstalling kpatch_3_10_0_1062_1_1 (3.10.0-1062.el7.x86_64)
请注意,卸载的内核补丁模块仍然被加载:
# kpatch list Loaded patch modules: kpatch_3_10_0_1062_1_1 [enabled] Installed patch modules: <NO_RESULT>
卸载所选模块后,内核将保持补丁,直到下次重启为止,但已从磁盘中删除内核补丁模块。
- 重启您的系统。
(可选)验证内核补丁模块是否已卸载:
# kpatch list Loaded patch modules:
以上输出示例显示没有加载或已安装的内核补丁模块,因此没有修补内核,且内核实时补丁解决方案未激活。
其它资源
-
有关
kpatch
命令行工具的详情请参考kpatch(1)
手册页。
6.8.3. 禁用 kpatch.service
下面的步骤描述了如何防止 Red Hat Enterprise Linux 内核实时修补解决方案在以后的引导中全局应用所有内核补丁模块。
先决条件
- 根权限
- 已安装实时补丁软件包。
- 已安装并载入内核补丁模块。
流程
验证
kpatch.service
是否已启用:# systemctl is-enabled kpatch.service enabled
禁用
kpatch.service
:# systemctl disable kpatch.service Removed /etc/systemd/system/multi-user.target.wants/kpatch.service.
请注意,应用的内核补丁模块仍然被载入:
# 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.service
的状态:# systemctl status kpatch.service ● kpatch.service - "Apply kpatch kernel patches" Loaded: loaded (/usr/lib/systemd/system/kpatch.service; disabled; vendor preset: disabled) Active: inactive (dead)
示例输出测试
kpatch.service
已被禁用且没有在运行。因此,内核实时修补解决方案不活跃。确认内核补丁模块已被卸载:
# kpatch list Loaded patch modules: Installed patch modules: kpatch_3_10_0_1062_1_1 (3.10.0-1062.el7.x86_64)
上面的示例输出显示内核补丁模块仍处于安装状态,但没有修补内核。
其它资源
-
有关
kpatch
命令行工具的详情请参考kpatch(1)
手册页。 -
有关
systemd
系统和服务管理器、单元配置文件、位置以及完整的systemd
单元类型列表的更多信息,请参阅 系统管理员指南中 的相关部分。