项目简介
SysCare是一个系统级热修复软件,可提供单机级与集群级安全补丁和系统错误热修复功能。主机无需重新启动就能修复系统问题,该工具融合统一内核态/用户态热补丁技术,专注于用户核心业务,将系统修复问题交予其处理。
项目的主要特性和功能
- 动态补丁技术:支持在运行时动态修改正在运行的二进制程序,无需重启即可修复系统问题。
- 内核/用户态热补丁:融合统一内核态/用户态热补丁技术,具备强大的系统修复能力。
- 补丁管理:提供补丁的激活、停用、安装、卸载等操作,同时支持查询补丁信息。
- 多架构支持:支持多种架构(如AARCH64、X86_64等)的补丁处理。
安装使用步骤
依赖安装
bash
$ dnf install -y kernel-source-`uname -r` kernel-debuginfo-`uname -r` kernel-devel-`uname -r`
$ dnf install -y elfutils-libelf-devel openssl-devel dwarves python3-devel rpm-build bison cmake make gcc g++
源代码编译安装
bash
git clone https://gitee.com/openeuler/syscare.git
cd syscare
mkdir tmp
cd tmp
cmake ..
make
make install
补丁制作
bash
$ syscare build \
--patch-name "HP001" \
--patch-description "CVE-2021-32675" \
--source ./redis-6.2.5-1.src.rpm \
--debuginfo ./redis-debuginfo-6.2.5-1.x86_64.rpm \
--output ./output \
./0001-Prevent-unauthenticated-client-from-easily-consuming.patch
补丁管理
- 补丁安装:
bash $ syscare apply redis-6.2.5-1/HP001
- 补丁激活:
bash $ syscare active redis-6.2.5-1/HP001
- 补丁去激活:
bash $ syscare deactive redis-6.2.5-1/HP001
- 补丁卸载/移除:
bash $ syscare remove redis-6.2.5-1/HP001
- 查询补丁状态:
bash $ syscare status redis-6.2.5-1/HP001
- 查询补丁信息:
bash $ syscare info redis-6.2.5-1/HP001
- 查询补丁目标软件信息:
bash $ syscare target redis-6.2.5-1/HP001
- 查询所有补丁:
bash $ syscare list
约束限制
- 当前支持ELF格式的热修复,解释型语言不支持。
- 支持DWARF格式的调试信息,不支持g3等级。
- 暂不支持交叉编译。
参与贡献
- Fork本项目仓库。
- 建立分支,完善特性代码。
- 提交代码至主仓库。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】