有没有办法按原始安装日期列出 Arch Linux 软件包?

有没有办法按原始安装日期列出 Arch Linux 软件包?

我正在寻找一种方法来按顺序列出我在 Arch Linux 上安装的软件包原始安装日期(不是安装当前版本的软件包的日期;而是第一次安装任何版本的软件包的日期)。我正在寻找的是我的系统上安装的所有软件包的列表,按照它们首次安装的顺序排列。有什么办法可以实现这一点吗?到目前为止,我发现的按日期列出软件包的所有方法都是按最近升级的日期,而不是原始安装的日期。

答案1

按安装日期列出所有软件包的一种简单方法是使用日志:

awk '/\[ALPM\] installed/ { print $(NF-1) }' /var/log/pacman.log

如果您认为“软件包安装日期”与软件包版本无关,则日志是获取此信息的唯一方法。

这是另一种方式考虑将软件包与软件包版本相关联——如果软件包升级,则确定的安装日期将发生变化。

export LC_ALL=C
while IFS= read -r pkg; do
    printf '%s %s\n' \
    "$(date -d "$(pacman -Qi "$pkg" | sed -n '/^Install Date/s/.* : //p')" +%s)" \
    "$pkg"
done < <(pacman -Qq) | sort -nk1

libalpm(直接使用或通过执行单个包pacman -Qi并使用 迭代每个包可以使速度更快awk,但代码会更复杂。)

相关内容