python-apt包,获取时间pkg安装和构建时间?

时间:2013-01-02 08:12:07

标签: python debian apt

是否可以获得安装软件包的时间以及该特定软件包的构建时间?

例如:

import apt

def get_pkg_details():
    apt_cache = apt.Cache()
    selected_pkg = apt_cache["git"] #Example package

    time_installed = selected_pkg.installedTime() #?????

我知道这可以通过RPM实现,但我没有在APT上找到任何与此类似的文档。

在RPM中,可以使用以下枚举器访问包的安装时间和构建时间:

RPMTAG_INSTALLTIME 
RPMTAG_BUILDTIME

python-apt文件: http://stuff.mit.edu/afs/athena/system/i386_deb50/os/usr/share/doc/python-apt/html/apt/package.html#examples

RPM Tag API: http://rpm.org/api/4.6.0/group__rpmtag.html

2 个答案:

答案 0 :(得分:1)

我维护了通过apt-server分发的代码的一部分,所以我不得不处理这个问题,对于构建包的时间的基本概念我得到了mtime {{3}包... /var/lib/dpkg/info/PACKAGE

我的代码行也将其转换为日期时间对象。

datetime.datetime.fromtimestamp(os.path.getmtime("PATH"))

答案 1 :(得分:1)

您可以使用以下命令找到安装日期。

ls /var/lib/dpkg/info/*.list -lah | grep packagename

-rw-r--r-- 1 root root 1.4K Dec 29 18:50 /var/lib/dpkg/info/libasound2-dev:i386.list
-rw-r--r-- 1 root root 4.5K Dec 29 16:09 /var/lib/dpkg/info/libasound2:i386.list
-rw-r--r-- 1 root root 2.3K Dec 29 16:10 /var/lib/dpkg/info/libasound2-plugins:i386.list

至于编译日期,您可以在/ var / cache / apt / archives /

中查找软件包的mtime