openEuler 21.03 特性解读 | pkgship 是什么?

wiltech
发布于 2022-8-16 11:37
浏览
0收藏

pkgship 是一个包管理工具,能查询操作系统 RPM 包信息和包之间的依赖关系。


当你想在现有版本库里引入新的软件包时,最让人挠头的就是需要将软件包的层层安装依赖、编译依赖梳理出来一起引入。而现有的包管理工具是无法直接获取到完整的引入包列表的。

 

pkgship 的自依赖查询能力可以快速识别软件包复杂的依赖关系,以关系图谱形式直观展示,并提供依赖关系文件下载,方便对包依赖关系进行分析和处理,实乃“居家”引包必备神器。


pkgship 能做什么?

 

图谱


使用 pkgship 查询软件包依赖关系时, 可以直观地看到依赖关系的图谱。例如,当查询 Judy 源码包的编译依赖时,通过点击列表中的包名可以看到这个软件包上下两层的详细依赖关系,如下图所示:openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区移动到某个圆点,可以看到下图所示的图谱,通过箭头的指向可了解这个软件包的上下一层依赖关系:openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区你也可以下载软件包依赖关系文件到本地。pkgship 提供了所有包信息、安装、编译、自依赖和被依赖关系的文件下载,你可以将所有查询到的信息下载到本地后查看openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区查询自依赖


当你需要引入软件包时,可以使用 pkgship 查询自依赖关系,包括查询软件包的编译依赖和安装依赖,了解引入该软件包的整体依赖范围。下图展示了引入软件包 A 的过程,pkgship 会查询出软件包 A 的所有依赖关系并区分出已在当前版本库中的软件包和需要引入的软件包,辅助你完成软件包 A 引入的过程。从图中可以看出,因为 D、F、G、H、K 不在现有的版本库中,需要将其引入。openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区查询被依赖


当你需要更新或删除软件包时,可以使用 pkgship 查询被依赖能力查看该软件包的影响范围。下图展示了删除软件包 A 的过程,pkgship 会查询出软件包 A 的所有被依赖关系以辅助你完成软件包 A 在某个版本库中删除的过程。从图中可以看出,因为 B、C、D、E、F、G、H、I、J 依赖软件包 A,因此在删除软件包 A 时需要将其一同删除。openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区查询安装依赖


当你需要安装二进制包 A 时,需要安装 A 的安装依赖,以及 A 的安装依赖的安装依赖,直至所有的安装依赖全部安装到系统才能成功安装 A 二进制包。可以使用 pkgship 查询二进制包 A 的所有安装依赖。pkgship 允许用户根据平台默认的优先级在多个数据库之间查询安装依赖,同时也支持用户自定义的数据库优先级查询安装依赖。openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区查询编译依赖


当你需要要编译源码包 A 时,需要安装源码包 A 的编译依赖 B, 要成功安装编译依赖 B 需要获取 B 的所有安装依赖。可以使用 pkgship 查询源码包的编译依赖以及这些编译依赖的所有安装依赖。pkgship 允许用户根据平台默认的优先级在多个数据库之间查询编译依赖,同时也支持用户自定义数据库优先级查询编译依赖。openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区
查询所有包信息


当你需要查看某个发行版本库中源码包和二进制包的信息时,可以使用 pkgship 查看其所有源码包或二进制包的基本信息。例如,查看 openEuler 20.09 版本的所有源码包时,会列出包的基本信息如下图所示。

 

查看 openEuler 20.09 版本的所有二进制包信息时,会列出包的基本信息如下图所示。openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区查询单个包详细信息


使用 pkgship 可以查询指定版本库源码包的基本信息、编译依赖以及该包的二进制包;也可以查看某个具体的二进制包的安装依赖、被依赖包以及该包中包含了哪些文件。例如,查询 Judy 源码包时,可查看源码包的基本信息和它提供的所有二进制包 subpack 和编译依赖 required,如下图所示:openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区对每一个二进制包,pkgship 列出了其提供的组件名被哪些二进制包安装依赖和被哪些源码包编译依赖,依赖的组件名被哪些二进制包提供,如下图所示:openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区也包括了 Judy 二进制包中包含的文件列表,如下图所示:openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区如何使用 pkgship

 

源码仓库:https://gitee.com/openeuler/pkgship
网页版本:https://pkgmanage.openeuler.org/
openEuler 21.03 特性解读 | pkgship 是什么?-鸿蒙开发者社区

 

文章转载自公众号:openEuler

分类
已于2022-8-16 11:37:33修改
收藏
回复
举报
回复
    相关推荐