# pkg-analyzer **Repository Path**: shiloong/pkg-analyzer ## Basic Information - **Project Name**: pkg-analyzer - **Description**: A tool help to analyze the package similarity among given Linux distro, by checking the NVR of package. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-17 - **Last Updated**: 2022-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pkg-analyzer #### 介绍 pkg-analyzer是一个简单的软件包相似性分析小工具,用于分析两个或多个基于rpm包管 理格式的Linux发行版本之间的相似性。 #### 软件架构 略 #### 安装依赖 1. 工具为Python3脚本,因此需要有Python3运行环境; 2. 工具会调用rpm软件包管理通用的命令`repoquery',可以通过安装`yum-utils'软件包获得; 3. 对比ISO形式的发行版时,工具需要先挂载它,因此需要有root权限。 #### 使用说明 可通过运行命令`./pkg-analzer -h'查看帮助信息,或示例来了解如何使用。 ``` $./pkg_analyzer -h usage: pkg_analyzer [-h] -a DISTROA -b DISTROB [DISTROB ...] Package Similarity Analyzer optional arguments: -h, --help show this help message and exit -a DISTROA, --distroA DISTROA distro A source repo, ISO or URL -b DISTROB [DISTROB ...], --distroB DISTROB [DISTROB ...] distro B source repo, ISO or URL ``` #### 示例 ##### 1. Check the package similarity between distro by ISO: `./pkg_analyzer -a Fedora-Server-dvd-x86_64-33-1.2.iso -b Fedora-Server-dvd-x86_64-29-1.2.iso` The results: ```bash =============================================================== PACKAGES : TOTAL SAME_NAME SAME_NAME_&_VERSION ----------------------:---------------------------------------- distro A : 1770 -- -- distro B : 2980 1550 504 [SIMILARITY: A vs B ] : -- 87.57% 28.47% =============================================================== ``` ##### 2. Check the package similarity between distro by remote yum repo: `./pkg_analyzer -a https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/30/Server/source/tree/ -b https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/29/Server/source/tree/` The results: ```bash =============================================================== PACKAGES : TOTAL SAME_NAME SAME_NAME_&_VERSION ----------------------:---------------------------------------- distro A : 1690 -- -- distro B : 1666 1602 1149 [SIMILARITY: A vs B ] : -- 94.79% 67.99% =============================================================== ``` ##### 3. Check the package similarity among multiple distroes: `./pkg_analyzer -a https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/29/Everything/source/tree/ -b https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/30/Everything/source/tree/ https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/31/Everything/source/tree/https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/32/Everything/source/tree/ https://dl.fedoraproject.org/pub/archive/fedora/linux/releases/33/Everything/source/tree/` ```bash =============================================================== PACKAGES : TOTAL SAME_NAME SAME_NAME_&_VERSION ----------------------:---------------------------------------- distro A : 21847 -- -- distro B0 : 21292 20619 16279 [SIMILARITY: A vs B0] : -- 94.38% 74.51% ----------------------:---------------------------------------- distro B1 : 21192 10 6 distro B2 : 20934 10 1 distro B3 : 20965 6 0 [SIMILARITY: A vs B*] : -- 94.50% 74.55% =============================================================== ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)