有什么方法可以检索 apt/dpkg 安装的软件包的构建信息吗?

有什么方法可以检索 apt/dpkg 安装的软件包的构建信息吗?

我有这个 .deb 包,我认为是checkinstall直接从它的 git 源代码构建的;它有一个像libmypackage1_0.10.7-1_armhf.deb.然后几个月后,我git pull在同一个源中做了一个,并构建了新版本的 .deb,但它再次得到了这个libmypackage1_0.10.7-1_armhf.deb名字。

现在,几个月后,我不再确定安装了哪个 deb - 第一个还是第二个构建 - 因为我构建的提交的 git 哈希没有包含在文件名或版本中。

但是,我保留了两次运行的构建输出,并且我可以看到一个libmypackage1_0.10.7-1_armhf.buildinfo.所以,我的问题是 - 当我通过安装这样一个“构建”包时dpkg -i ...,.buildinfo 中的任何信息是否会在某个地方结束,以便我可以使用 、 或其他工具查询aptdpkg?基本上我想查询,例如,“当前安装的构建日期是多少libmypackage1_0.10.7-1?” - 或任何其他可以帮助我区分这两个版本的信息。

如果我们需要稍微偏离示例libmypackage- 假设我想检索有关bash包的相同信息;我知道我可以做到这一点,例如:

$ apt-show-versions bash
bash:armhf/stretch 4.4-5 uptodate

我可以发出一些命令来告诉我这个包的构建日期吗?

答案1

buildinfo目前信息不与deb包一起保存。

还有许多其他方法可以确定您需要的信息。deb包保留时间戳,因此假设您可以信任它们(这里似乎就是这种情况),查看包安装的文件的时间戳将为您提供其构建时间戳的良好近似值:

ls -ldtR $(dpkg -L libmypackage) | grep -v ^d | head

如果您仍然有 s deb,您可以根据校验和检查已安装的文件,以确定安装了哪一个:

debsums libmypackage1_0.10.7-1_armhf.deb

要将deb文件链接到其构建信息,您可以使用相应文件中的校验和changes

相关内容