1

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

例如:

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 标签 API: http ://rpm.org/api/4.6.0/group__rpmtag.html

4

2 回答 2

1

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

我的代码行也把它变成了一个日期时间对象。

datetime.datetime.fromtimestamp(os.path.getmtime("PATH"))
于 2013-01-02T08:17:55.907 回答
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

于 2013-01-02T08:22:40.430 回答