Ubuntu14.04下kpatch源码安装使用
背景 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的函数,因为其运行在用户空间。 准备 注意