我希望能够查看本地.deb文件和远程存储库,并推断依赖关系等,以便可以构建自己的存储库和部分镜像(可能是通过为reprepro
创建配置文件)。在
问题是,许多帮助解决这个问题的命令行工具(apt-rdepends等)都假设您在目标系统上运行并利用本地的apt缓存,而我通常会处理与我当前运行的版本不同的Ubuntu和Debian发行版的内容,所以我想在一定距离的情况下再做一点。在
python apt包功能强大,但文档记录非常差,让我可以检查本地文件系统上的.deb文件并提取依赖关系。我现在想知道是否有类似的工具来解析包装.gz存储库中的文件?(这不是太棘手,但我不想重新发明轮子!)在
总体目标是创建和维护两个存储库:一个包含我们自己的软件包,另一个是Ubuntu发行版的部分镜像,其中包含一些已知的必需软件包以及它们或我们自己的软件包所依赖的任何东西。在
一个非常有效的方法是为所有相关发行版创建本地apt缓存。来自
devscripts
包的工具chdist
允许您创建许多这样的缓存,而不需要使用根权限。然后,您可以使用您常用的工具(例如apt rdepends)来查询这些缓存,方法是将它们包装在chdist
中。甚至可以使用rootdir
关键字参数将python apt指向本地缓存apt.cache.Cache
,然后在那里可以解析依赖关系。在你可能想看看repoman,至少可以从中借鉴一些想法。在
例如,获取deb包信息,如https://github.com/synack/repoman#get-detailed-information-about-a-package-1
]
代码https://github.com/synack/repoman/blob/master/repoman/repository.py#L187
相关问题 更多 >
编程相关推荐