如何在不重启的情况下更新正在运行的内核?我知道Oracle ksplice,但它不是免费的,它仅支持我不使用的发行版。有ksplice的替代方案吗?
如何在不重启的情况下更新正在运行的内核?我知道Oracle ksplice,但它不是免费的,它仅支持我不使用的发行版。有ksplice的替代方案吗?
Answers:
基础技术是免费的,并且是主线内核的一部分;Oracle仅提供预构建的映像。您可以构建自己的ksplice补丁程序以动态加载到自己的内核中。
一种替代方法ksplice
是kexec()
。该命令不是在运行时修补Linux内核,而是在不重新启动系统的情况下用新内核替换当前内核。
为了使此功能可用,需要将其作为发行版内核中的编译器选项打开-也就是说,您可以在没有此功能的情况下编译内核,因此您需要检查它是否可用和/或自己启用它。