有什麼方法可以檢索 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
. 所以,我的問題是 - 當我通過 .buildinfo 安裝這樣的“建構”包時dpkg -i ...
,是否有任何來自 .buildinfo 的資訊最終出現在某個地方,以便我可以使用 、 或其他工具查詢apt
它dpkg
?基本上我想查詢,例如,“目前安裝的建構日期是libmypackage1_0.10.7-1
什麼?” - 或任何其他有助於我區分這兩個版本的資訊。如果我們需要遠離
libmypackage
範例 - 假設我想檢索有關bash
包裹的相同資訊;我知道我可以做到這一點,例如:$ apt-show-versions bash bash:armhf/stretch 4.4-5 uptodate
我可以發出一些命令,例如告訴我這個包的建構日期嗎?
buildinfo
資訊目前不與deb
包裹一起保存。還有許多其他方法可以確定您需要的資訊。
deb
包保留時間戳,因此假設您可以信任它們(這裡似乎就是這種情況),查看包安裝的文件的時間戳將為您提供其建構時間戳的良好近似值:ls -ldtR $(dpkg -L libmypackage) | grep -v ^d | head
如果您仍然有
deb
s,您可以根據它們的校驗和檢查已安裝的文件以確定安裝了哪個文件:debsums libmypackage1_0.10.7-1_armhf.deb
要將
deb
文件連結到其建構資訊,您可以使用相應changes
文件中的校驗和。