# rpm-diff-tools **Repository Path**: yixiangzhike/rpm-diff-tools ## Basic Information - **Project Name**: rpm-diff-tools - **Description**: 用于检测不同版本rpm发布件包含的文件差异,主要包括:配置差异、服务参数差异、库API差异、命令差异、依赖符号差异、提供符号差异、安全编译选项检测等 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-01-28 - **Last Updated**: 2024-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rpm-diff-tools #### 介绍 用于检测不同版本rpm发布件包含的文件差异,主要包括:配置差异、服务参数差异、库API/ABI差异、命令差异、依赖符号差异、提供符号差异、安全编译选项检测等 #### 软件架构 适用系统: Linux ARM/X86 #### 安装教程 1. 下载源码: https://gitee.com/yixiangzhike/rpm-diff-tools ``` git clone https://gitee.com/yixiangzhike/rpm-diff-tools.git ``` 2. 安装rpm-diff-tools源码文件到python库文件目录site-packages ``` python3 setup.py build install ``` 或者 ``` python3 setup.py build install --single-version-externally-managed --root=/ ``` 3. 命令程序rpm-diff将安装到二进制PATH目录下 #### 使用说明 ``` $ rpm-diff -h usage: rpm-diff [-h] [-c] [-s] [-a] [-i {less,more}] [-e {less,more}] [-r] [-p] [-f] OLD_RPM_FILEPATH NEW_RPM_FILEPATH 检测不同版本rpm发布件包含的文件差异,主要包括:配置差异、服务参数差异、库API/ABI差异、命令差异、依赖符号差异、提供符号差异等 positional arguments: OLD_RPM_FILEPATH 旧版本rpm包目录或路径 NEW_RPM_FILEPATH 新版本rpm包目录或路径 optional arguments: -h, --help show this help message and exit -c, --config-diff 检测配置文件配置差异 -s, --service-diff 检测服务文件Systemd参数差异 -a, --abi-diff 检测库文件ABI差异 -i {less,more}, --include-diff {less,more} 检测头文件列表差异,如果指定more,输出头文件中API详细差异 -e {less,more}, --exe-diff {less,more} 检测命令文件差异,如果指定more,输出命令help信息差异 -r, --requires-diff 检测依赖符号差异 (requires/recommends/suggests/supplements/enhances) -p, --provides-diff 检测提供符号差异 -f, --full-check 检测全量差异,其它选项全执行 $ sec-check -h usage: sec-check [-h] [-s] [-f] FILEPATH 安全编译选项检测 positional arguments: FILEPATH rpm包目录或路径, 或者ELF文件路径 optional arguments: -h, --help show this help message and exit -s, --check-sec-options 检测rpm中二进制文件安全编译选项 -f, --check-elf-sec-options 检测单个二进制文件安全编译选项 ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 依赖的工具或软件 依赖以下linux工具命令实现: ``` /usr/bin/rpm /usr/bin/rpm2cpio /usr/bin/cpio /usr/bin/file /usr/bin/diff /usr/bin/find /usr/bin/grep /usr/bin/awk /usr/bin/readelf /usr/bin/abipkgdiff ``` 依赖的软件包如下: ``` rpm file cpio grep gawk diffutils findutils binutils libabigail ```