58 KVM工具使用指南-应用 LibcarePlus 热补丁

news/2024/7/20 13:12:57 标签: KVM, 云计算, 开源软件, 运维, linux

文章目录

    • 58 KVM工具使用指南-应用 LibcarePlus 热补丁
      • 58.1 前期准备
      • 58.2 加载热补丁
      • 58.3 查询补丁
      • 58.4 卸载热补丁

KVM_LibcarePlus__1">58 KVM工具使用指南-应用 LibcarePlus 热补丁

本节以原文件 foo.c 和补丁文件 bar.c 为例,介绍 LibcarePlus 热补丁的应用指导。

58.1 前期准备

应用 LibcarePlus 热补丁之前,需要提前准备好原可执行程序 foo、以及热补丁文件 foo.kpatch。

58.2 加载热补丁

本节介绍应用 LibcarePlus 热补丁的具体流程。

  1. 首先在第一个 shell 窗口运行需要打补丁的可执行程序,如下所示:

    # ./lpmake/foo
    Hello world!
    Hello world!
    Hello world!
    
  2. 随后在第二个 shell 窗口运行 libcare-ctl 应用热补丁,命令如下所示:

    # libcare-ctl -v patch -p $(pidof foo) ./patchroot/BuildID.kpatch
    

    若此时热补丁应用成功,第二个 shell 窗口会有如下输出:

    1 patch hunk(s) have been successfully applied to PID '10999'
    

    而第一个 shell 窗口内运行的目标进程则会出现如下输出:

    Hello world!
    Hello world!
    Hello world being patched!
    Hello world being patched!
    

58.3 查询补丁

本节介绍查询LibcarePlus热补丁的具体流程。

在第二个shell窗口执行如下命令:

# libcare-ctl info -p $(pidof foo)

此时若进程存在已经加载的热补丁,则第二个shell窗口会有如下输出:

Pid:                      551763
Target:                   foo
Build id:                 df05a25bdadd282812d3ee5f0a460e69038575de
Applied patch number:     1
Patch id:                 0001

58.4 卸载热补丁

本节介绍卸载 LibcarePlus 热补丁的具体流程。

在第二个 shell 窗口执行如下命令:

# libcare-ctl unpatch -p $(pidof foo) -i 0001

此时若热补丁卸载成功,第二个 shell 窗口会有如下输出:

1 patch hunk(s) were successfully cancelled from PID '10999'

第一个 shell 窗口内运行的目标进程则会出现如下输出:

Hello world being patched!
Hello world being patched!
Hello world!
Hello world!

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image-20230409095258344


http://www.niftyadmin.cn/n/466270.html

相关文章

在多台服务器上运行相同命令

文章目录 PSSH安装使用(1)、定义一个文件,写入需要操作的机器,如pssh-hosts(2)、pssh执行命令(3)、参数含义(4)、pscp从96.54拷贝文件到其他机器(5)、pslurp从其它机器下载文件到本地(6)、pnuke 杀死远程主机上的进程 ansible安装使用(1)、安装完后&…

C语言:位操作----将某一位置1或置0

C语言 基础开发----目录 前期准备 想要将将某一位置1或置0&#xff0c;需要进行位操作。 此次需要用到 与(&)&#xff0c;或(|)&#xff0c;左移(<<)和右移(>>) 这四个位操作。 具体位操作说明&#xff1a;C语言&#xff1a;位运算符----与(&)&#xff…

【送书福利-第十三期】计算机核心基础知识需要搞懂哪些?

大家好&#xff0c;我是洲洲&#xff0c;欢迎关注&#xff0c;一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我&#xff01; 本文目录 一、前言二、书籍介绍1、《深入…

用Python带你制作小时候玩的“大富翁”(文末赠书)

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python、C/C 主页链接&#xff1a;阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 首先 接下来需要定义各种类型的物业&#xff0c;包括普通物业、铁路、公用事业等等。 接下来需…

Java版本企业招投标采购管理系统源码 +支持二开+spring cloud

一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点&#xff1a;对草稿进行编辑&#x…

CSDN每日一练:布尔零点计数

CSDN每日一练:布尔零点计数 题目描述思路分析运算组合逻辑优先级运算括号优先级完整代码踩坑实录后记题目描述 题目描述 使一个布尔表达式的值为零的取值组合称为该表达式的一个布尔零点。 比如,布尔表达式A+B+C就只有一个零点,就是(A,B,C)的取值组合(0,0,0)。而布尔表达式A…

【架构师基本功】基础架构设计原则

文章目录 1. 可用性1. 多次合适的部署2. 高可用性3. 备份4. 灾难恢复 2. 可扩展性1. 反射机制2. 面向对象编程(OOP)3. API 和协议4. 设计模式5. 配置管理6. 安全管理 3. 安全性1. 加密技术2. 多重身份验证3. 安全门禁4. 安全日志5. 监视 4. 可维护性1. 将系统设计为模块化2. 将…

Redis的缓存类型分析

HashMap/ConcurrentHashMap HashMap 是一种基于哈希表的集合类&#xff0c;它提供了快速的插入、查找和删除操作。是很多程序员接触的第一种缓存 , 因为现实业务场景里&#xff0c;我们可能需要给缓存添加缓存统计、过期失效、淘汰策略等功能&#xff0c;HashMap 的功能就显得…