使用SysCare
本章介绍在openEuler中使用SysCare的方法,包括使用SysCare制作及管理补丁,包括补丁制作、应用、激活、反激活、确认、卸载补丁、补丁状态保存与恢复、补丁冲突检测、补丁覆盖、补丁信息查询。
前提条件
安装openEuler 22.03 LTS SP4版本。
制作热补丁
使用syscare build
命令制作热补丁,该命令为纯CLI工具,提供从RPM包生成热补丁包的功能,热补丁包以RPM包的形式封装维护,支持制作内核热补丁及用户态热补丁。
命令行参数
USAGE:
syscare build [OPTIONS] --patch-name <PATCH_NAME> --source <SOURCE>... --debuginfo <DEBUGINFO>... --patch <PATCH>...
OPTIONS:
-n, --patch-name <PATCH_NAME> Patch name
--patch-arch <PATCH_ARCH> Patch architecture [default: aarch64]
--patch-version <PATCH_VERSION> Patch version [default: 1]
--patch-release <PATCH_RELEASE> Patch release [default: 1]
--patch-description <PATCH_DESCRIPTION> Patch description [default: (none)]
--patch-requires <PATCH_REQUIRES>... Patch requirements
-s, --source <SOURCE>... Source package(s)
-d, --debuginfo <DEBUGINFO>... Debuginfo package(s)
-p, --patch <PATCH>... Patch file(s)
--work-dir <WORK_DIR> Working directory [default: /var/run/syscare]
--build-root <BUILD_ROOT> Build temporary directory [default: .]
-o, --output <OUTPUT> Output directory [default: .]
-j, --jobs <JOBS> Parallel build jobs [default: 64]
--skip-compiler-check Skip compiler version check (not recommended)
--skip-cleanup Skip post-build cleanup
-v, --verbose Provide more detailed info
-h, --help Print help information
-V, --version Print version information
命令行选项
名称 | 描述 | 类型 | 备注 |
---|---|---|---|
-n, --patch-name <PATCH_NAME> | 补丁名称 | 字符串 | 必选参数,需符合RPM命名规范 |
--patch-arch <PATCH_ARCH> | 补丁架构 | 字符串 | 默认为当前架构,需符合RPM命名规范 |
--patch-version <PATCH_VERSION> | 补丁版本号 | 字符串 | 默认值为1,需符合RPM命名规范 |
--patch-release <PATCH_RELEASE> | 补丁release | 数字 | 默认值为1,需符合RPM命名规范 |
--patch-description <PATCH_DESCRIPTION> | 补丁描述 | 字符串 | 默认为(none) |
--patch-requires <PATCH_REQUIRES> | 补丁额外依赖 | 字符串 | 默认为空,需符合RPM规范 |
-s, --source <SOURCE> | 目标软件src.rpm源码包路径 | 字符串 | 必选参数,需为合法路径 |
-d, --debuginfo <DEBUGINFO> | 目标软件debuginfo包路径 | 字符串 | 必选参数,需为合法路径 |
-p, --patch <PATCH> | 补丁文件 | 字符串 | 必选参数,需为合法路径 |
--workdir <WORKDIR> | 临时文件夹路径 | 字符串 | 默认为/var/run/syscare,需为合法路径 |
--build-root <BUILD_ROOT> | 构建临时文件夹路径 | 字符串 | 默认为当前执行目录,需为合法路径 |
-o, --output <OUTPUT> | 补丁输出文件夹 | 字符串 | 默认为当前执行目录,需为合法路径 |
-j, --jobs <N> | 并行编译线程数 | 数字 | 默认为cpu线程数 |
--skip-compiler-check | 跳过编译器检查 | 标识 | - |
--skip-cleanup | 跳过临时文件清理 | 标识 | - |
-v, --verbose | 打印详细信息 | 标识 | - |
-h, --help | 打印帮助信息 | 标识 | - |
-V, --version | 打印版本信息 | 标识 | - |
示例如下:
syscare build \
--patch-name "HP001" \
--patch-description "CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users." \
--source ./redis-6.2.5-1.src.rpm \
--debuginfo ./redis-debuginfo-6.2.5-1.x86_64.rpm \
--output ./output \
--patch ./0001-Prevent-unauthenticated-client-from-easily-consuming.patch
热补丁制作流程
准备补丁目标软件源码包(source rpm)及软件调试信息包(debuginfo rpm)
示例:
yumdownloader kernel --source yumdownloader kernel --debuginfo
确认满足对应软件编译依赖
示例:
dnf install make gcc bison flex openssl-devel dwarves python3-devel elfutils-libelf-devel
执行SysCare build命令
示例:
syscare build \ --patch-name HP001 \ --source kernel-5.10.0-60.66.0.91.oe2203.src.rpm \ --debuginfo kernel-debuginfo-5.10.0-60.66.0.91.oe2203.x86_64.rpm \ --output output \ --patch 001-kernel-patch-test.patch
补丁制作过程将会在由
--workdir
参数所指定的目录中(默认为当前目录)创建以syscare-build开头的临时文件夹,用于存放临时文件及编译日志。示例:
dev@openeuler-dev:[~]$ ls -l syscare-build.111602/ total 100 -rw-r--r--. 1 dev dev 92303 Nov 12 00:00 build.log drwxr-xr-x. 6 dev dev 4096 Nov 12 00:00 package drwxr-xr-x. 4 dev dev 4096 Nov 12 00:00 patch
编译日志将会生成在临时文件夹中,名称为
build.log
dev@openeuler-dev:[~]$ cat syscare-build.111602/build.log | less ...
若补丁制作成功,且未指定
--skip-compiler-check
参数,将不会保留该临时文件夹。检查编译结果
示例:
dev@openeuler-dev:[~]$ ls -l total 189680 -rw-r--r--. 1 dev dev 194218767 Nov 12 00:00 kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm -rw-r--r--. 1 dev dev 10937 Nov 12 00:00 patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm
其中
patch-kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.rpm
为热补丁包kernel-5.10.0-60.91.0.115.oe2203-HP001-1-1.x86_64.src.rpm
为热补丁源码包
补丁包安装
dnf install patch-xxx.rpm
补丁包安装后,相关文件在如下路径:
/usr/lib/syscare/patches/目标软件包名/补丁名
补丁包卸载
dnf remove patch-xxx
若补丁处于
ACTIVED
或ACCEPTED
状态时,补丁将会被自动卸载。
输出件
热补丁制作工具将会生成两个RPM包:
- 热补丁包:包含SysCare热补丁的二进制及元信息,用于热补丁安装。
- 热补丁源码包:包含目标软件源码及新增补丁,用于新版本热补丁制作。
输出RPM包命名规则:
- 热补丁包:patch-目标软件全名-补丁名称-补丁版本-补丁release.架构名.rpm
- 热补丁源码包:目标软件全名-补丁名称-补丁版本-补丁release.架构名.src.rpm
错误处理
如果出现错误,请参考编译日志。
错误示例:
...
Building patch, this may take a while
ERROR: Process '/usr/libexec/syscare/upatch-build' exited unsuccessfully, exit_code=255
管理热补丁
使用syscare
命令可以对任意补丁进行管理操作,SysCare将会通过用户输入的补丁描述符搜索补丁,并根据对应命令进行相应操作。
补丁管理搜索规则为:目标包名/补丁名,其中“目标包名/”在补丁名唯一的情况下可以省略,也可使用UUID来进行管理。
查询热补丁列表
使用syscare list
命令可查询所有已安装在本地的热补丁列表。
示例:
root@dev:[~]$ syscare list
Uuid Name Status
d81bce18-04bd-499f-91e9-8b9d7b94a76b glibc-2.34-112.oe2203/HP001-1-1/libc.so.6 NOT-APPLIED
3e7cb90d-9a4c-4fdf-a389-29d5e863f4b0 kernel-5.10.0-153.12.0.92.oe2203sp2/ACC-1-1/vmlinux NOT-APPLIED
64fa88bd-def5-4994-85de-a7903c526109 kernel-5.10.0-60.91.0.115.oe2203/HP-50801-1-1/vmlinux NOT-APPLIED
78268c3b-39a2-4d5c-ae96-206d8c62977a kernel-5.10.0-60.91.0.115.oe2203/HP-50802-1-1/vmlinux NOT-APPLIED
c568f31d-acfb-4fdb-8d2c-bde3facab5a2 kernel-5.10.0-60.91.0.115.oe2203/HP001-1-1/vmlinux NOT-APPLIED
35b5ece6-8b67-407e-93fe-d576a78ab499 nginx-1.21.5-4/HP001-1-1/nginx NOT-APPLIED
074734fc-034f-4e40-b943-6a76d766939b openssl-libs-1.1.1m-22.oe2203/HP001-1-1/libcrypto.so.1.1.1m NOT-APPLIED
ae124f00-206a-4385-a341-c7b2f7e19482 qemu-7.0.0-2/HP001-1-1/qemu-system-aarch64 NOT-APPLIED
11316483-dc62-4caf-bd5d-c51801dcb032 qemu-7.0.0-2/HP001-1-1/qemu-system-arm NOT-APPLIED
b382ea35-6713-4cfc-bb72-038feefb8173 qemu-7.0.0-2/HP001-1-1/qemu-system-i386 NOT-APPLIED
6aaec566-a220-4b60-8020-8077b6adc6a6 qemu-7.0.0-2/HP001-1-1/qemu-system-mips NOT-APPLIED
2bc0158e-fc42-4ea1-8f5c-e6891d10098b qemu-7.0.0-2/HP001-1-1/qemu-system-mips64 NOT-APPLIED
17e00bf0-b389-46d3-a036-933aeb41e0cb qemu-7.0.0-2/HP001-1-1/qemu-system-mips64el NOT-APPLIED
8481a911-d80b-4099-b9a2-a4d3c63de06d qemu-7.0.0-2/HP001-1-1/qemu-system-mipsel NOT-APPLIED
d8305d00-6f45-4c38-b7a4-844b4a667d89 qemu-7.0.0-2/HP001-1-1/qemu-system-ppc NOT-APPLIED
d10dc5f8-1692-4da4-8908-d2075c47d62b qemu-7.0.0-2/HP001-1-1/qemu-system-ppc64 NOT-APPLIED
77dbfd01-dee4-405b-930f-9711a0ad43c4 qemu-7.0.0-2/HP001-1-1/qemu-system-x86_64 NOT-APPLIED
777f15fe-cfc8-4b7a-96af-808a4518859f redis-6.2.5-1/HP001-1-1/redis-benchmark NOT-APPLIED
0e776e26-58cd-42ce-85e4-046481acad09 redis-6.2.5-1/HP001-1-1/redis-cli NOT-APPLIED
d9432f08-65cf-4849-a9af-ba20e9b6c7dc redis-6.2.5-1/HP001-1-1/redis-server NOT-APPLIED
789f0052-b932-4d9d-961d-7003bece1a3a redis-6.2.5-1/HP002-1-1/redis-benchmark NOT-APPLIED
e4aee980-1596-43d9-be9a-07fc6f668970 redis-6.2.5-1/HP002-1-1/redis-cli NOT-APPLIED
feb13c9a-02b3-4109-a2f3-c3e9fe41e9ad redis-6.2.5-1/HP002-1-1/redis-server NOT-APPLIED
查询热补丁元信息
使用syscare info
命令可以查询一个或多个热补丁的元信息。
补丁元信息中包含以下字段:
字段名称 | 字段描述 |
---|---|
name | 热补丁名称 |
version | 热补丁版本 |
release | 热补丁Release |
arch | 热补丁架构 |
type | 热补丁类型 |
target | 目标软件名 |
license | 目标软件许可证 |
description | 热补丁描述 |
entities | 热补丁目标二进制名称 |
patch | 热补丁文件列表 |
示例:
root@dev:[~]$ syscare info redis-6.2.5-1/HP001-1-1
-------------------------------------------
Patch: redis-6.2.5-1/HP001-1-1
-------------------------------------------
name: HP001
version: 1
release: 1
arch: x86_64
type: UserPatch
target: redis-6.2.5-1
license: BSD and MIT
description: CVE-2021-32675 - When parsing an incoming Redis Standard Protocol (RESP) request, Redis allocates memory according to user-specified values which determine the number of elements (in the multi-bulk header) and size of each element (in the bulk header). An attacker delivering specially crafted requests over multiple connections can cause the server to allocate significant amount of memory. Because the same parsing mechanism is used to handle authentication requests, this vulnerability can also be exploited by unauthenticated users.
entities:
* redis-server
* redis-benchmark
* redis-cli
patches:
* 0001-Prevent-unauthenticated-client-from-easily-consuming.patch
-------------------------------------------
查询热补丁状态
使用syscare status
命令可以查询一个或多个热补丁状态。
示例:
root@dev:[~]$ syscare status status redis-6.2.5-1/HP001-1-1
redis-6.2.5-1/HP001-1-1/redis-server: NOT-APPLIED
redis-6.2.5-1/HP001-1-1/redis-benchmark: NOT-APPLIED
redis-6.2.5-1/HP001-1-1/redis-cli: NOT-APPLIED
加载并激活热补丁
使用syscare apply
命令可以加载并激活一个或多个处于NOT-APPLIED
状态的热补丁。
示例:
root@dev:[~]$ syscare list
Uuid Name Status
777f15fe-cfc8-4b7a-96af-808a4518859f redis-6.2.5-1/HP001-1-1/redis-benchmark NOT-APPLIED
0e776e26-58cd-42ce-85e4-046481acad09 redis-6.2.5-1/HP001-1-1/redis-cli NOT-APPLIED
d9432f08-65cf-4849-a9af-ba20e9b6c7dc redis-6.2.5-1/HP001-1-1/redis-server NOT-APPLIED
root@dev:[~]$ syscare apply redis-6.2.5-1/HP001-1-1
redis-6.2.5-1/HP001-1-1/redis-cli: ACTIVED
redis-6.2.5-1/HP001-1-1/redis-benchmark: ACTIVED
redis-6.2.5-1/HP001-1-1/redis-server: ACTIVED
激活热补丁
使用syscare active
命令可以激活一个或多个处于DEACTIVED
状态的热补丁。
示例:
root@dev:[~]$ syscare list
Uuid Name Status
777f15fe-cfc8-4b7a-96af-808a4518859f redis-6.2.5-1/HP001-1-1/redis-benchmark DEACTIVED
0e776e26-58cd-42ce-85e4-046481acad09 redis-6.2.5-1/HP001-1-1/redis-cli DEACTIVED
d9432f08-65cf-4849-a9af-ba20e9b6c7dc redis-6.2.5-1/HP001-1-1/redis-server DEACTIVED
root@dev:[~]$ syscare active redis-6.2.5-1/HP001-1-1
redis-6.2.5-1/HP001-1-1/redis-cli: ACTIVED
redis-6.2.5-1/HP001-1-1/redis-benchmark: ACTIVED
redis-6.2.5-1/HP001-1-1/redis-server: ACTIVED
去激活热补丁
使用syscare deactive
命令可以去激活一个或多个处于ACTIVED
状态的热补丁。
示例:
root@dev:[~]$ syscare list
Uuid Name Status
777f15fe-cfc8-4b7a-96af-808a4518859f redis-6.2.5-1/HP001-1-1/redis-benchmark ACTIVED
0e776e26-58cd-42ce-85e4-046481acad09 redis-6.2.5-1/HP001-1-1/redis-cli ACTIVED
d9432f08-65cf-4849-a9af-ba20e9b6c7dc redis-6.2.5-1/HP001-1-1/redis-server ACTIVED
root@dev:[~]$ syscare deactive redis-6.2.5-1/HP001-1-1
redis-6.2.5-1/HP001-1-1/redis-cli: DEACTIVED
redis-6.2.5-1/HP001-1-1/redis-benchmark: DEACTIVED
redis-6.2.5-1/HP001-1-1/redis-server: DEACTIVED
确认热补丁
使用syscare accept
命令可以确认一个或多个处于ACTIVED
状态的热补丁。
经过确认后的所有热补丁将会在系统重启后自动应用激活。
示例:
root@dev:[~]$ syscare list
Uuid Name Status
777f15fe-cfc8-4b7a-96af-808a4518859f redis-6.2.5-1/HP001-1-1/redis-benchmark ACTIVED
0e776e26-58cd-42ce-85e4-046481acad09 redis-6.2.5-1/HP001-1-1/redis-cli ACTIVED
d9432f08-65cf-4849-a9af-ba20e9b6c7dc redis-6.2.5-1/HP001-1-1/redis-server ACTIVED
root@dev:[~]$ syscare accept redis-6.2.5-1/HP001-1-1
redis-6.2.5-1/HP001-1-1/redis-cli: ACCEPTED
redis-6.2.5-1/HP001-1-1/redis-benchmark: ACCEPTED
redis-6.2.5-1/HP001-1-1/redis-server: ACCEPTED
卸载/移除热补丁
使用syscare remove
命令可以卸载任意状态的热补丁。
示例:
root@dev:[~]$ syscare list
Uuid Name Status
777f15fe-cfc8-4b7a-96af-808a4518859f redis-6.2.5-1/HP001-1-1/redis-benchmark DEACTIVED
0e776e26-58cd-42ce-85e4-046481acad09 redis-6.2.5-1/HP001-1-1/redis-cli ACTIVED
d9432f08-65cf-4849-a9af-ba20e9b6c7dc redis-6.2.5-1/HP001-1-1/redis-server ACCEPTED
root@dev:[~]$ syscare remove redis-6.2.5-1/HP001-1-1
redis-6.2.5-1/HP001-1-1/redis-cli: NOT-APPLIED
redis-6.2.5-1/HP001-1-1/redis-benchmark: NOT-APPLIED
redis-6.2.5-1/HP001-1-1/redis-server: NOT-APPLIED
多补丁支持
目前SysCare支持对同一个用户态的二进制应用多个热补丁。
示例:
root@dev:[~]$ syscare list
Uuid Name Status
777f15fe-cfc8-4b7a-96af-808a4518859f redis-6.2.5-1/HP001-1-1/redis-benchmark ACTIVED
0e776e26-58cd-42ce-85e4-046481acad09 redis-6.2.5-1/HP001-1-1/redis-cli ACTIVED
d9432f08-65cf-4849-a9af-ba20e9b6c7dc redis-6.2.5-1/HP001-1-1/redis-server ACTIVED
789f0052-b932-4d9d-961d-7003bece1a3a redis-6.2.5-1/HP002-1-1/redis-benchmark ACTIVED
e4aee980-1596-43d9-be9a-07fc6f668970 redis-6.2.5-1/HP002-1-1/redis-cli ACTIVED
feb13c9a-02b3-4109-a2f3-c3e9fe41e9ad redis-6.2.5-1/HP002-1-1/redis-server ACTIVED
热补丁冲突检测
在应用多个热补丁时,若当前应用的补丁与已打补丁存在函数冲突,则会出现补丁冲突的提示。
示例:
root@dev:[~]$ syscare apply redis-6.2.5-1/HP002-1-1
Error: Operation failed
Caused by:
0. Transaction "Apply patch 'redis-6.2.5-1/HP002-1-1'" failed
Caused by:
0: Driver: Patch "redis-6.2.5-1/HP002-1-1/redis-cli" check failed
1: Upatch: Patch is conflicted with "0e776e26-58cd-42ce-85e4-046481acad09"
SysCare提供syscare check
命令,用以判断当前热补丁是否与已打热补丁存在冲突。
示例:
root@dev:[~]$ syscare check redis-6.2.5-1/HP002-1-1
Error: Operation failed
Caused by:
0. Driver: Patch "redis-6.2.5-1/HP002-1-1/redis-server" check failed
Caused by:
Upatch: Patch is conflicted with "d9432f08-65cf-4849-a9af-ba20e9b6c7dc"
热补丁强制覆盖
当出现热补丁冲突错误,可以使用--force
选项使用当前热补丁强制覆盖原先的热补丁。
示例:
root@dev:[~]$ syscare list
Uuid Name Status
777f15fe-cfc8-4b7a-96af-808a4518859f redis-6.2.5-1/HP001-1-1/redis-benchmark ACTIVED
0e776e26-58cd-42ce-85e4-046481acad09 redis-6.2.5-1/HP001-1-1/redis-cli ACTIVED
d9432f08-65cf-4849-a9af-ba20e9b6c7dc redis-6.2.5-1/HP001-1-1/redis-server ACTIVED
789f0052-b932-4d9d-961d-7003bece1a3a redis-6.2.5-1/HP002-1-1/redis-benchmark NOT-APPLIED
e4aee980-1596-43d9-be9a-07fc6f668970 redis-6.2.5-1/HP002-1-1/redis-cli NOT-APPLIED
feb13c9a-02b3-4109-a2f3-c3e9fe41e9ad redis-6.2.5-1/HP002-1-1/redis-server NOT-APPLIED
root@dev:[~]$ syscare apply redis-6.2.5-1/HP002-1-1
Error: Operation failed
Caused by:
0. Transaction "Apply patch 'redis-6.2.5-1/HP002-1-1'" failed
Caused by:
0: Driver: Patch "redis-6.2.5-1/HP002-1-1/redis-cli" check failed
1: Upatch: Patch is conflicted with "0e776e26-58cd-42ce-85e4-046481acad09"
root@dev:[~]$ syscare apply redis-6.2.5-1/HP002-1-1 --force
redis-6.2.5-1/HP002-1-1/redis-cli: ACTIVED
redis-6.2.5-1/HP002-1-1/redis-benchmark: ACTIVED
redis-6.2.5-1/HP002-1-1/redis-server: ACTIVED
热补丁状态保存与恢复
SysCare支持对热补丁当前状态进行保存与恢复。
示例:
[root@2203sp2-85 syscare]# syscare list
Uuid Name Status
eebc3155-9a5b-4a09-9561-6a94080de2ce redis-6.2.5-1/HP001-1-1/redis-benchmark ACTIVED
96666521-4606-4aa0-b663-1b455fe586da redis-6.2.5-1/HP001-1-1/redis-cli ACTIVED
1e98d692-cc51-4f83-9176-c547ed1db20b redis-6.2.5-1/HP001-1-1/redis-server ACTIVED
beffae33-1e1a-4bd5-8758-ab6a5f2f1a7c redis-6.2.5-1/HP002-1-1/redis-benchmark NOT-APPLIED
24b01b18-5132-4cae-a379-71d2b0e6d832 redis-6.2.5-1/HP002-1-1/redis-cli NOT-APPLIED
a84934de-4a89-4e77-b646-125d1e2c98b4 redis-6.2.5-1/HP002-1-1/redis-server ACTIVED
[root@2203sp2-85 syscare]# syscare save
[root@2203sp2-85 syscare]# systemctl restart syscare
[root@2203sp2-85 syscare]# syscare list
Uuid Name Status
eebc3155-9a5b-4a09-9561-6a94080de2ce redis-6.2.5-1/HP001-1-1/redis-benchmark NOT-APPLIED
96666521-4606-4aa0-b663-1b455fe586da redis-6.2.5-1/HP001-1-1/redis-cli NOT-APPLIED
1e98d692-cc51-4f83-9176-c547ed1db20b redis-6.2.5-1/HP001-1-1/redis-server NOT-APPLIED
beffae33-1e1a-4bd5-8758-ab6a5f2f1a7c redis-6.2.5-1/HP002-1-1/redis-benchmark NOT-APPLIED
24b01b18-5132-4cae-a379-71d2b0e6d832 redis-6.2.5-1/HP002-1-1/redis-cli NOT-APPLIED
a84934de-4a89-4e77-b646-125d1e2c98b4 redis-6.2.5-1/HP002-1-1/redis-server NOT-APPLIED
[root@2203sp2-85 syscare]# syscare restore
[root@2203sp2-85 syscare]# syscare list
Uuid Name Status
eebc3155-9a5b-4a09-9561-6a94080de2ce redis-6.2.5-1/HP001-1-1/redis-benchmark ACTIVED
96666521-4606-4aa0-b663-1b455fe586da redis-6.2.5-1/HP001-1-1/redis-cli ACTIVED
1e98d692-cc51-4f83-9176-c547ed1db20b redis-6.2.5-1/HP001-1-1/redis-server ACTIVED
beffae33-1e1a-4bd5-8758-ab6a5f2f1a7c redis-6.2.5-1/HP002-1-1/redis-benchmark NOT-APPLIED
24b01b18-5132-4cae-a379-71d2b0e6d832 redis-6.2.5-1/HP002-1-1/redis-cli NOT-APPLIED
a84934de-4a89-4e77-b646-125d1e2c98b4 redis-6.2.5-1/HP002-1-1/redis-server ACTIVED