使用 dpkg-query 命令获取包含安装时间、日期和供应商详细信息的已安装软件包列表

KIS*_*ORE 7 package-management dpkg

我正在尝试使用版本、拆分的包和版本、该包的供应商、安装时间和日期获取包名称:

dpkg-query -W -f='${Package}-${version} ${package} ${version} ${Maintainer} ${installtime}\n'
Run Code Online (Sandbox Code Playgroud)

但是我得到了带有版本的包名称,拆分的包和版本,该包的供应商。我无法检索安装时间和日期。

如何使用上述查询获取软件包安装时间和日期?

hee*_*ayl 6

dpkg-query没有任何字段选项来显示安装日期/时间。另一种说法是dpkg不存储这些信息。在幕后,dpkg-query使用各种文件/var/lib/dpkg/来获取信息。

以下是可用的字段名称:

Architecture
Bugs
Conffiles (internal)
Config-Version (internal)
Conflicts
Breaks
Depends
Description
Enhances
Essential
Filename (internal, front-end related)
Homepage
Installed-Size
MD5sum (internal, front-end related)
MSDOS-Filename (internal, front-end related)
Maintainer
Origin
Package
Pre-Depends
Priority
Provides
Recommends
Replaces
Revision (obsolete)
Section
Size (internal, front-end related)
Source
Status (internal)
Suggests
Tag (usually not in .deb but in repository Packages files)
Triggers-Awaited (internal)
Triggers-Pending (internal)
Version
Run Code Online (Sandbox Code Playgroud)

还有一些虚拟字段:

binary:Package
binary:Summary
db:Status-Abbrev
source:Package
source:Version
Run Code Online (Sandbox Code Playgroud)

检查man dpkg-query以获得更广泛的想法。


请注意,您可以查看/var/log/dpkg.log*软件包的安装日期/时间。另请注意,如果您的软件包是由apt-get(或兄弟)安装的,您也可以查看apt历史文件/var/log/apt/history.log*