livepatch

Ubuntu14.04下kpatch源码安装使用

梦想的初衷 提交于 2020-02-29 09:00:53
背景   Kpatch是给Linux内核打热补丁的工具,所谓热补丁,就是指打完补丁后,补丁可立即生效,而不需要像传统打补丁那样必须重启Linux才能生效。 Kpatch简介   最早出现的打热补丁工具不是Kpatch,而是Ksplice。但是Ksplice被Oracle收购后,一些发行版生产商就不得不开发自己的热补丁工具,分别是Redhat的Kpatch和Suse的KGraft。同时,在这两家厂商的推进下,kernel4.0开始,开始集成了livepatch技术,该技术和其他热补丁技术类似。   Kpatch虽然是Redhat研发,但其也支持Ubuntu、Debian、Oracle Linux等的发行版,本文将介绍在 Ubuntu14.04 下安装和使用Kpatch软件。 不足   热补丁不是万能的,尤其是现在技术还不足够成熟的时候。在使用Kpatch热补丁前,我们需要知道Kpatch的不足之处:     1.如果在已经打过patch的环境继续打patch,那么新patch必须是基于上个patch打的补丁。     2.不支持修改数据结构的patch,如果有这样的patch,用户必须改代码。     3. 不支持修改__init函数的补丁。     4.不支持修改静态数据。     5.不支持修改vdso的函数,因为其运行在用户空间。 准备   注意