我有这个 .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 中的任何信息是否会在某个地方结束,以便我可以使用 、 或其他工具查询apt
它dpkg
?基本上我想查询,例如,“当前安装的构建日期是多少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
。